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

 

相关文章
|
6月前
|
运维 Dubbo Cloud Native
Dubbo 云原生重构出击:更快部署、更强控制台、更智能运维
Apache Dubbo 最新升级支持云原生,提供一键部署微服务集群与全新可视化控制台,提升全生命周期管理体验,助力企业高效构建云原生应用。
521 25
|
6月前
|
运维 Kubernetes Cloud Native
云原生运维也能很稳:Kubernetes 运维避坑指南
云原生运维也能很稳:Kubernetes 运维避坑指南
215 1
|
7月前
|
运维 监控 Cloud Native
从“守机器”到“写策略”——云原生架构把运维逼成了架构师
从“守机器”到“写策略”——云原生架构把运维逼成了架构师
178 1
|
9月前
|
存储 消息中间件 前端开发
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
校园圈子系统校园论坛小程序采用uni-app前端框架,支持多端运行,结合PHP后端(如ThinkPHP/Laravel),实现用户认证、社交关系管理、动态发布与实时聊天功能。前端通过组件化开发和uni.request与后端交互,后端提供RESTful API处理业务逻辑并存储数据于MySQL。同时引入Redis缓存热点数据,RabbitMQ处理异步任务,优化系统性能。核心功能包括JWT身份验证、好友系统、WebSocket实时聊天及活动管理,确保高效稳定的用户体验。
520 4
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
|
10月前
|
人工智能 运维 监控
阿里云携手神州灵云打造云内网络性能监测标杆 斩获中国信通院高质量数字化转型十大案例——金保信“云内网络可观测”方案树立云原生运维新范式
2025年,金保信社保卡有限公司联合阿里云与神州灵云申报的《云内网络性能可观测解决方案》入选高质量数字化转型典型案例。该方案基于阿里云飞天企业版,融合云原生引流技术和流量“染色”专利,解决云内运维难题,实现主动预警和精准观测,将故障排查时间从数小时缩短至15分钟,助力企业降本增效,形成可跨行业复制的数字化转型方法论。
531 6
|
12月前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
711 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
运维 Cloud Native 开发工具
智能运维:云原生大规模集群GitOps实践
智能运维:云原生大规模集群GitOps实践,由阿里云运维专家钟炯恩分享。内容涵盖云原生运维挑战、管理实践、GitOps实践及智能运维体系。通过OAM模型和GitOps优化方案,解决大规模集群的发布效率与稳定性问题,推动智能运维工程演进。适用于云原生环境下的高效运维管理。
512 8
|
编解码 前端开发 开发者
探索无界:前端开发中的响应式设计深度实践与思考###
本文将带你领略响应式设计的精髓,一种超越传统页面布局限制的设计策略,它要求开发者以灵活多变的思维,打造能够无缝适应各种设备与屏幕尺寸的Web体验。通过深入浅出的讲解、实际案例分析以及技术实现细节的探讨,本文目的是激发读者对于响应式设计深层次的理解与兴趣,鼓励在实际应用中不断创新与优化。 ###
437 10
|
编解码 前端开发 开发者
前端开发中的响应式设计实践
前端开发中的响应式设计实践

热门文章

最新文章