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

 

相关文章
|
9月前
|
JSON 前端开发 数据可视化
AMIS【部署 01】amis前端低代码框架可视化编辑器amis-editor本地部署流程
AMIS【部署 01】amis前端低代码框架可视化编辑器amis-editor本地部署流程
1266 0
|
6月前
|
前端开发 JavaScript Serverless
中后台前端开发问题之通过低代码实现前后端交互如何解决
中后台前端开发问题之通过低代码实现前后端交互如何解决
62 0
|
9月前
|
存储 运维 关系型数据库
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
|
9月前
|
前端开发 数据可视化 JavaScript
探索前端可视化开发:低代码平台原理与实践
【4月更文挑战第7天】本文探讨了低代码平台在前端开发中的应用,介绍了其模型驱动、组件化和自动化部署的原理,强调了提升效率、降低技术门槛、灵活适应变更和保证一致性等优势。建议开发者明确适用场景,选择合适平台,并培养团队低代码技能,同时规划与现有技术栈的融合,实施持续优化治理。低代码平台正改变开发格局,为业务创新和数字化转型提供新途径。
366 0
|
6月前
|
前端开发 安全 Serverless
中后台前端开发问题之云服务商在Serverless与低代码融合如何解决
中后台前端开发问题之云服务商在Serverless与低代码融合如何解决
54 0
|
9月前
|
人工智能 前端开发 搜索推荐
人工智能与低代码:前端技术的双重变革
随着科技的飞速发展,人工智能(AI)和低代码开发平台已经成为当下热门的话题。在前端技术领域,这两大技术的崛起正在悄然改变开发模式,提高开发效率,降低技术门槛。本文将从以下几个方面,详细探讨人工智能和低代码开发平台对前端技术的影响,以及它们如何携手推动前端技术的发展。
156 2
|
6月前
|
人工智能 前端开发 JavaScript
低代码到底是前端的 “ 福 ” 还是 “ 孽 ”???
低代码到底是前端的 “ 福 ” 还是 “ 孽 ”???
|
6月前
|
存储 开发框架 前端开发
EAV模型(实体-属性-值)的设计和低代码的处理方案(3)-- 实体属性定义及前端列表展示和数据录入处理
EAV模型(实体-属性-值)的设计和低代码的处理方案(3)-- 实体属性定义及前端列表展示和数据录入处理
|
7月前
|
JSON 前端开发 JavaScript
【amis低代码前端框架】vue2集成百度低代码前端框架amis
【amis低代码前端框架】vue2集成百度低代码前端框架amis
665 0
|
9月前
|
Cloud Native 安全 Serverless
【阿里云云原生专栏】低代码开发在云原生平台的应用:阿里云低代码服务探索
【5月更文挑战第27天】在云原生时代,低代码开发凭借其图形化界面和预构建模块,简化了应用开发,提升了效率。阿里云积极探索低代码领域,推出函数计算FC和应用配置中心ACM等服务。FC让开发者无需关注基础设施,仅需少量代码即可实现应用部署,而ACM则提供动态配置管理,增强应用灵活性。阿里云的这些服务为企业数字化转型提供了高效、安全的解决方案,预示着低代码开发在云原生平台上的重要地位。
287 1

热门文章

最新文章

  • 1
    以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
    29
  • 2
    大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
    51
  • 3
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    26
  • 4
    巧用通义灵码,提升前端研发效率
    93
  • 5
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    141
  • 6
    详解智能编码在前端研发的创新应用
    96
  • 7
    智能编码在前端研发的创新应用
    83
  • 8
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    37
  • 9
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    121
  • 10
    【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
    75