--- description: Ai-DOP 新功能菜单须登记 FUNC-Sn-nnn 编号并按方案 A 展示(侧栏短标+映射表,不改 Title) alwaysApply: true --- # Ai-DOP 功能菜单编号(FUNC)与导航展示 凡新增或调整 **Ai-DOP 业务叶子菜单**(`sys_menu` 种子、前端隐藏路由、智慧运营看板子项等),须同步登记 **FUNC 编号**,展示遵循 **方案 A**(已实现,勿另起一套)。 ## 编号格式 | 类型 | 格式 | 示例 | |------|------|------| | 功能设计 | `FUNC-Sn-nnn` | `FUNC-S1-003` | | 模块 | `n` = 0–9 | S0 运营建模 … S9 运营指标 | | 序号 | `nnn` = 三位递增 | 同模块内不重用、不重排已有号 | 业务需求 `REQ-Sn-nnn`、测试 `TC-Sn-nnn` 与三联对照表对齐,见 [`doc/requirements/README.md`](doc/requirements/README.md)。 ## 新菜单必须做的登记(缺一不可) 1. **`Web/src/constants/aidopFuncCodes.ts`** 在 `FUNC_DEFS` 增加一条:`code`、`name`(与功能设计/菜单语义一致)、`paths`(绝对 path)、`names`(`route.name`,有则填)。 2. **有需求文档的模块(S0–S4 等)** 同步更新对应 `doc/requirements/Sn-*/` 三联对照表 / 功能设计说明(**先查已有编号,禁止擅自改号**)。 3. **尚无三联文档的模块(S5–S9 等)** 在该模块已用最大序号 **+1** 扩展(当前实现见 `aidopFuncCodes.ts`);后续补文档时**沿用已分配 FUNC**,不整体重排。 4. **`sys_menu` 种子**(`Admin.NET.Plugin.AiDOP/SeedData/SysMenuSeedData.cs`) `Title` **只写业务短名**;`Remark` 可写业务说明,**不要把** `FUNC-Sn-nnn` 写入 `Title`。 登录后 `patchAidopMenuTitles` → `patchAidopFuncCodes` 会自动注入 `meta.funcCode/funcName/funcSeq`,侧栏/搜索/面包屑/`AidopDemoShell` 无需再改展示逻辑。 ## 方案 A 展示(禁止加长 Title) | 位置 | 做法 | |------|------| | 侧栏叶子 | 业务名 + 短标 `[nnn]`;悬停显示 `FUNC-Sn-nnn 功能名` | | 目录节点 | **不加**编号 | | 面包屑末级 / 页头 | 完整 `FUNC-Sn-nnn`(`AidopDemoShell` 副标题) | | 禁止 | `Title = "FUNC-S1-003 订单评审"` 或把编号拼进侧栏主文案 | ## 特殊项 - **同一页面多入口**(如看板在模块目录与智慧运营看板各一条):同一 `FUNC` 可挂多个 `paths`/`names`。 - **隐藏路由**(表单页、详情页、`isHide`):仍须登记,供标签页与面包屑追溯。 - **动态 path**(如 `/aidop/s8/exceptions/:id`):登记 path 模板 + `route.name`。 - **跨模块平台项**(智慧诊断、数据中台):暂归入 **S9 扩展段**(`060+` / `010+`),新增时延续该段序号。 ## 自检清单(交付前) - [ ] `aidopFuncCodes.ts` 已含新 path/name - [ ] 未修改已有 FUNC 编号 - [ ] `sys_menu.Title` 仍为短业务名 - [ ] 有文档模块已更新三联/功能设计(若本次属正式功能交付) - [ ] 未在 `aidopMenuDisplay.ts` 用 `meta.title` 拼接 FUNC 全文(映射表为唯一数据源)