模块模型
模块模型定义应用的功能组织结构。它负责把业务能力、菜单和权限组织成可理解的 模块树,不直接承载业务字段、页面内容或接口处理逻辑。
作用
- 给业务模型、菜单和权限提供稳定的归属层级。
- 把大量能力组织成主数据、采购、销售、库存等业务模块。
- 支持开发态模块重组,并把重组结果带入版本和运行时装配。
- 让导航、权限和业务能力共享一致的信息架构。
核心属性
| 属性 | 作用 | 说明 |
|---|---|---|
fullName | 模块标识 | 模块树中的稳定全名。 |
title / description | 模块说明 | 面向用户和维护者显示的名称与说明。 |
icon | 模块图标 | 用于模块入口或导航展示。 |
order | 排序 | 决定同级模块的展示顺序。 |
menu | 主菜单关联 | 指向模块代表性的菜单入口。 |
subMenus | 子菜单集合 | 组织模块下可见的菜单项。 |
authorities | 权限集合 | 描述模块关联的权限项。 |
diffType / parent | 重组差异 | 在 Diff 资源中表示新增、删除、修改及目标父节点。 |
与其他模型的关系
- 应用模型 是模块树的容器。
- 业务模型 通常归属于模块,但模块不拥有业务字段或业务操作。
- 菜单模型 和 权限模型 可以投射或关联到模块树。
modules-diff是开发态重组补丁,最终仍由模块集成器生成模块结构。
模块树与菜单树的区别
模块树是应用的信息架构,菜单树是用户导航。一个模块可以组织多个菜单,也可以存在不直接展示为菜单的业务归属;不要用修改菜单标题来代替模块边界设计。
使用入口与契约
- 操作入口:模块编排 · 模块树菜单
- Schema:
app-module.schema.json;开发态 Diff 使用modules-diff.schema.json,完整索引见 JSON Schema 参考。