出自抖音哲玄大前端开发课程
一、架构流程图解
领域模型 (A/B/C) → 项目配置 (JD/PDD) → Service层 → Dashboard模板引擎 → DSL解析 → 站点输出
-
核心分层
- 模型层:封装业务领域核心逻辑
- 项目层:继承模型实现定制配置(仅需20%工作量)
- 引擎层:通过
dashboard模板
解析DSL生成页面
二、DSL结构设计图
DSL
├─ dashboard配置
└─ menu (头部菜单)
├─ key: "menuRoot"
├─ menuType: "group" → 递归子菜单
└─ children:
├─ menuType: "module"
│ ├─ modelType: "sider" → 侧边栏配置(递归)
│ ├─ modelType: "iframe" → iframe配置
│ ├─ modelType: "custom" → 自定义页面
│ └─ modelType: "schema" → 表格/表单配置
└─ ...其他菜单项
三、视图渲染机制
- 头部菜单结构
[组件层级图]
Header-View
├─ HeaderContainer
├─ SubMenu (递归渲染菜单)
├─ SettingContent (右侧设置区)
└─ MainContent (主内容区)
- 动态路由视图
[Sider-View 工作流]
侧边栏点击 → RouterView 渲染
├─ Schema-View (80%标准页面)
├─ Iframe-View (第三方链接)
└─ Custom-View (完全自定义页面)
四、Schema-View 动态生成原理
配置映射关系表:
模型配置项 | 对应组件 | 功能描述 |
---|---|---|
tableOption | 表格渲染引擎 | 定义列/按钮/事件 |
searchOption | 表单渲染引擎 | 动态生成搜索表单组件 |
字段控制示例:
模型字段 → 配置属性 → 渲染组件
例:status字段
├─ 在searchOption中:生成下拉框(comType="select")
│ └─ 数据源: enumList=[{label:"启用",value:1}...]
└─ 在tableOption中:生成带操作按钮的表格列
├─ 编辑按钮 → 触发edit事件
└─ 删除按钮 → 触发delete事件
五、设计核心优势
- 分层复用架构
[金字塔图]
定制化需求 (20%)
↑
项目配置层 (JD/PDD)
↑
领域模型层 (A/B/C) - 复用80%代码
-
动态扩展机制
- 新增
modelType
即可扩展页面类型 - 修改DSL配置实时更新站点结构
- 表单/表格组件通过
comType
自由替换
- 新增
-
配置驱动开发
[闭环流程图]
业务需求 → 配置DSL → 引擎解析 → 页面生成 → 需求验证
该架构通过领域模型沉淀核心业务逻辑,利用可视化配置实现高效开发,为多项目中台系统提供标准化解决方案。下一阶段将重点讲解跨模块事件总线和权限控制机制。