菜单模型
菜单模型定义用户可见的导航结构。它负责把页面入口组织成菜单树,不负责页面内 容、接口处理或最终权限判断。
作用
- 维护菜单标题、图标、路径和展示位置。
- 将页面入口组织成顶级菜单、子菜单和分组。
- 与模块模型协作形成应用信息架构。
- 与权限模型协作,让不同角色看到不同导航入口。
核心属性
| 属性 | 作用 | 说明 |
|---|---|---|
fullName | 菜单标识 | 菜单项的稳定全名。 |
title | 菜单标题 | 用户在导航中看到的名称。 |
url | 跳转地址 | 通常指向 UI 模型 的页面路径。 |
icon | 菜单图标 | 用于导航视觉识别。 |
placement | 放置位置 | 控制菜单位于侧栏、顶栏或其他导航区域。 |
showMode | 展示模式 | 控制菜单项的呈现方式。 |
order | 同级排序 | 决定同级菜单的显示顺序。 |
与其他模型的关系
- 模块模型 负责功能归属和组织,菜单模型负责用户导航。
- UI 模型 提供页面入口,菜单的
url通常指向 UI 模型路径。 - 权限模型 控制菜单可见性,但菜单隐藏不能替代 API 权限。
- 业务模型 可以投射标准业务菜单,也可以由应用独立配置菜单。
- 开发平台使用独立的
dev-menu资源,不能和运行态应用菜单混用。
菜单与页面的边界
菜单是入口,不是页面实现。新增 UI Schema 或微前端页面后,还需要通过 UI 模型和菜单模型提供入口;调整菜单顺序不应修改页面路由或业务接口。
使用入口与契约
- 操作入口:开发菜单速查 · 模块编排
- Schema:
menu.schema.json;开发平台入口使用dev-menu.schema.json,完整索引见 JSON Schema 参考。