SREWorks云原生数智运维工程实践-SREWorks 介绍篇-SREWorks前端低代码工程设计(中)

简介: SREWorks云原生数智运维工程实践-SREWorks 介绍篇-SREWorks前端低代码工程设计

四、 菜单树与路由

 

sw-frontend以用户创建的各个应用为一级路由构建起整个前端工程的菜单体系,所有的页面都是依托“应用”为节点进行挂载的。下图为应用运维桌面,用户可以点击应用快捷方式进入运维应用。

 

image.png

 

运维桌面同时也是我们应用维度的其中一员即在sw-frontend的总体设计概念上:一切皆是应用。

 

image.png

 

1. 菜单节点树

 

我们将运维应用前端页面中的菜单以树形节点(nodeTree)的形式组织起来,根结点映射为应用ID。从根节点创建的子节点,则作为一级菜单,以此类推孙子节点为二级菜单。如下图数据运维平台(appID:dataops)应用所示,一级菜单为“主页、资产目录、数据资产、数据管理、数据服务、数据质量”。该页面是dataops应用前端的渲染态。

 

image.png

 

进入到dataops应用的开发态,在前端开发编辑器中,我们可以从左侧菜单节点树看到与上面菜单一一对应的内容,每个节点上挂载了该页面的具体配置,每个页面配置包含一个主页面和多个页面区块配置,维护管理在页面设计器中。

 

image.png

 

2. 动态路由生成

 

每个应用的页面菜单都抽象为一个页面节点树nodeTree,并在Node节点上可以对节点类型和菜单页布局以及权限等信息进行配置菜单/Link作为嵌套路由使用。我们将挂在在该节点的主页面和页面区块的相关配置:属性、数据源、编排等进行配置,我们称之为节点配置(nodeConfig)。

 

image.png

 

在一级路由页运行渲染时,根据应用idappId拉取对应nodeConfig,如下以“运营中心”为例,对应的应用配置如下:其中children所代表的为二级路由;config代表的是该级节点的属性配置;nodeTypePath字段作为描述节点树的上下级关联关系key每一级子路由进行渲染挂载都会依据nodeTypePath先去索引其下一级子路由nodeModel,用于装载子级的动态路由。

 

image.png

 

nodeTypePath也是作为子节点获取对应节点页面配置的索引key,用以拼接组装该节点的动态子路由。

 

image.png

 

五、 前端设计器

 

swadmin作为内置应用的一员,同时也是其他应用的母应用,一生万物,所有应用的都是通过前端设计器设计配置而来;在此可以对组件/页面进行业务字段、UI和数据源的配置,对当前应用的节点树进行编辑,以及对每级节点对应页面的组件进行属性配置、数据源绑定和布局编排工作。

 

swadmin提供了两种交互编辑方式

 

1. 可视化交互编辑

 

如下图就是在对staticPage这一应用下的一级子路由“pageScreen”页面进行开发编辑,下方弹窗区为对页面内大屏组件的属性进行可视化配置。

 

image.png

 

2. 源码编辑(JSON编辑)

 

除了可视化设计界面外,同时也提供了源码编辑,直接修改映射配置,以提供更大的灵活性;且可以在源码编辑和可视化编辑之间进行灵活切换,并保持同步的编辑态。

 

image.png

 

六、 页面布局

 

sw-frontend内置两种页面布局类型:自定义布局和流式布局自定义布局当前只在内置应用使用,暂未对外部应用开源使用。对于流式布局我们将页面抽象成一行行的容器,在新增行容器时可以自定义分割成若干区块并确定分割占比,每个区块对应一个组件容器位。

 

image.png

 

对于自定义布局,可以根据业务需要对添加进入的区块组件任意拖拉改变宽高以及布局位置:

 

image.png

 

七、 组件体系

 

sw-frontend采取声明式组件注册机制,每个内置组件由meta元数据文件和主文件两份文件构成,其中meta以json格式用来描述该组件的一些可配置属性及组件的属性默认值和组件名称、组件ID等信息用于组件的注册和loader加载;主文件则用来承接用户对组件的配置信息和数据源数据及一些外部嵌入的逻辑代码。


image.png


同时页面提供自定义组件入口,供用户自行设计一些简单的组件以JSXRender方式进行渲染,且用户可以对自定义组件进行添加删除和编辑管理。

 

image.png

 

相关文章
|
10天前
|
Cloud Native 前端开发 JavaScript
前端开发者必看:不懂云原生你就OUT了!揭秘如何用云原生技术提升项目部署与全栈能力
【10月更文挑战第23天】随着云计算的发展,云原生逐渐成为技术热点。前端开发者了解云原生有助于提升部署与运维效率、实现微服务化、掌握全栈开发能力和利用丰富技术生态。本文通过示例代码介绍云原生在前端项目中的应用,帮助开发者更好地理解其重要性。
39 0
|
4天前
|
人工智能 运维 监控
构建高效运维体系:理论与实践的深度融合####
本文旨在探讨高效IT运维体系的构建策略,通过理论框架与实际案例并重的方式,深入剖析了现代企业面临的运维挑战。文章开篇概述了当前运维领域的新趋势,包括自动化、智能化及DevOps文化的兴起,随后详细阐述了如何将这些先进理念融入日常运维管理中,形成一套既灵活又稳定的运维机制。特别地,文中强调了数据驱动决策的重要性,以及在快速迭代的技术环境中保持持续学习与适应的必要性。最终,通过对比分析几个典型企业的运维转型实例,提炼出可复制的成功模式,为读者提供具有实操性的指导建议。 ####
|
5天前
|
机器学习/深度学习 人工智能 运维
智能运维:AIOps在大型系统运维中的实践与挑战
【10月更文挑战第28天】随着云计算、大数据和人工智能的发展,AIOps(人工智能运维)应运而生,旨在通过算法和机器学习提高运维效率和质量。本文探讨了AIOps在大型系统运维中的实践与挑战,包括数据质量、模型选择和团队协作等方面,并通过一个异常检测案例展示了其应用。尽管面临挑战,AIOps仍有望成为未来运维的重要方向。
31 5
|
2天前
|
运维 负载均衡 Ubuntu
自动化运维的利器:Ansible入门与实践
【10月更文挑战第31天】在当今快速发展的信息技术时代,高效的运维管理成为企业稳定运行的关键。本文将引导读者了解自动化运维工具Ansible的基础概念、安装步骤、基本使用,以及如何通过实际案例掌握其核心功能,从而提升工作效率和系统稳定性。
|
4天前
|
运维 资源调度 监控
提升运维效率的关键技术与实践
在当今快速发展的信息技术时代,运维工作面临着前所未有的挑战和机遇。本文旨在探讨如何通过采用先进的技术和实施最佳实践来提高IT运维的效率和效果。我们将深入分析自动化工具、监控策略、灾难恢复计划以及持续集成/持续部署(CI/CD)等关键领域,展示它们如何协同工作以优化运维流程。此外,文章还将提供一些实际案例研究,帮助读者更好地理解这些概念的应用。无论是对于初创公司还是大型企业,掌握这些技术都将是提升竞争力的关键。
|
13天前
|
运维 应用服务中间件 持续交付
自动化运维的利器:Ansible入门与实践
【10月更文挑战第21天】在现代IT基础设施的管理中,自动化运维已成为提升效率、降低错误率的关键。Ansible,作为一种简单而强大的自动化工具,正被广泛应用于配置管理、应用部署和任务自动化等领域。本文将引导你了解Ansible的基本概念,通过实际案例展示如何利用Ansible简化日常运维工作,并探讨其在现代IT运维中的应用价值。无论你是新手还是有经验的系统管理员,这篇文章都将为你开启Ansible的高效之旅提供指导。
|
15天前
|
缓存 前端开发 JavaScript
前端的全栈之路Meteor篇(二):容器化开发环境下的meteor工程架构解析
本文详细介绍了使用Docker创建Meteor项目的准备工作与步骤,解析了容器化Meteor项目的目录结构,包括工程准备、环境配置、容器启动及项目架构分析。提供了最佳实践建议,适合初学者参考学习。项目代码已托管至GitCode,方便读者实践与交流。
|
15天前
|
运维 监控 jenkins
运维自动化实践:利用Jenkins实现高效CI/CD流程
【10月更文挑战第18天】运维自动化实践:利用Jenkins实现高效CI/CD流程
|
6天前
|
弹性计算 Kubernetes Cloud Native
云原生架构下的微服务设计原则与实践####
本文深入探讨了在云原生环境中,微服务架构的设计原则、关键技术及实践案例。通过剖析传统单体架构面临的挑战,引出微服务作为解决方案的优势,并详细阐述了微服务设计的几大核心原则:单一职责、独立部署、弹性伸缩和服务自治。文章还介绍了容器化技术、Kubernetes等云原生工具如何助力微服务的高效实施,并通过一个实际项目案例,展示了从服务拆分到持续集成/持续部署(CI/CD)流程的完整实现路径,为读者提供了宝贵的实践经验和启发。 ####
|
13天前
|
Kubernetes Cloud Native 持续交付
云端新纪元:云原生技术重塑IT架构####
【10月更文挑战第20天】 本文深入探讨了云原生技术的兴起背景、核心理念、关键技术组件以及它如何引领现代IT架构迈向更高效、灵活与可扩展的新阶段。通过剖析Kubernetes、微服务、Docker等核心技术,本文揭示了云原生架构如何优化资源利用、加速应用开发与部署流程,并促进企业数字化转型的深度实践。 ####