docs: complete task 44 acceptance archive (#44)

This commit is contained in:
QiuSW
2026-08-13 09:32:37 +08:00
parent 21624f6c55
commit 5e5aa48cf9
@@ -2,16 +2,16 @@
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件)
wiki_page: Task-44-Sense管理员侧栏模块为空修复
wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Task-44-Sense%E7%AE%A1%E7%90%86%E5%91%98%E4%BE%A7%E6%A0%8F%E6%A8%A1%E5%9D%97%E4%B8%BA%E7%A9%BA%E4%BF%AE%E5%A4%8D.-
wiki_revision: 2c3f4ed49cccd02f47e5c58128698be2b9482895
synchronized_at: 2026-08-13T01:30:00Z
wiki_revision: 9647fffe7d8b0ede13c53746e8966fffb3555820
synchronized_at: 2026-08-13T01:31:35Z
<!-- gitea-wiki-mirror:end -->
# 44 Sense管理员侧栏模块为空修复
- 类型:需求 / 缺陷 / 重构
- 所属 Epic:#
- 所属 MVP / 版本:#
- 状态:待验收 / 已完成
- 类型:缺陷
- 所属 Epic:#7
- 所属 MVP / 版本:#8
- 状态:待验收
- 日期:2026-08-13
- Gitea 工单:https://git.ilapage.cn/ila/yovision/issues/44
- Wiki 页面:Task-44-Sense管理员侧栏模块为空修复
@@ -19,32 +19,51 @@ synchronized_at: 2026-08-13T01:30:00Z
## 背景与目标
<!-- 原来有什么问题,这次达到什么结果。 -->
最新 Windows 包中管理员可登录,但侧栏不显示任何模块。目标是在不放宽 RBAC 的前提下恢复 Sense MVP 导航,并防止 Vue Router 规范化记录顺序再次导致空菜单。
## 最终方案
## 根因与最终方案
<!-- 说明实际实现。与建单方案不同之处必须写清原因。 -->
后端管理员会话正确返回 9 项权限。Vue Router `getRoutes()` 会同时返回父布局 `/` 和路径也为 `/` 的工作台子记录;原代码用首个 `path === '/'` 记录派生菜单,误选无 children 的工作台记录。
修复后只选择路径为 `/` 且具有 children 的布局记录,并在多个候选中优先 children 最完整者。权限过滤、隐藏入口过滤和排序逻辑保持不变,并提取为独立可测试函数。
## 修改文件
- `<文件>`:<改动说明>
- `Sense/ui/src/layout/AppLayout.vue`:调用稳定的菜单派生函数。
- `Sense/ui/src/layout/navigation.js`:定位布局、按权限过滤并排序。
- `Sense/ui/tests/navigation.test.cjs`:重复根路径、权限/隐藏过滤和管理员八项导航测试。
- `Sense/ui/package.json`:增加 `test:navigation`。
- `docs/06-troubleshooting.md`:Wiki-first 排错说明。
- `wiki-docs.json`、`docs/task/44-Sense管理员侧栏模块为空修复.md`:任务归档。
## 验收结果
| 验收标准 | 结果 |
|---|---|
| | 通过 / 未通过 |
| 管理员显示八项 Sense MVP 导航 | 自动回归通过 |
| 不依赖重复 `/` 记录顺序 | 通过 |
| 权限不足和隐藏入口仍被过滤 | 通过 |
| 前端 test/lint/build | 通过;lint 0 error,存在既有 warning |
| Windows ZIP 重建并以管理员登录 | 通过;角色 administrator,9 项权限,新前端资源已加载 |
## 测试
- 执行命令:`<命令>`
- 结果:
- **未验证部分**:<!-- 必填;没有就写“无”。 -->
- `corepack pnpm@9.15.1 test:navigation`:3 项通过。
- Vue Router 实际规范化记录探针:正确派生工作台和设备管理。
- `corepack pnpm@9.15.1 lint`:0 error,既有 warning。
- Windows 打包:通过;前端仅有既有 vendor bundle 体积警告。
- 包内运行:登录角色 administrator、权限数 9,首页引用新脚本 `js/index.25411ed5.js`。
- Harness:31 项、strict 与 Wiki 镜像检查通过。
- ZIP:7,280,825 bytes;SHA-256 `0703B397D20EAAE54BCB6B5A83170EFF6816246A8C163276495CD93EEEB72B4F`。
- **未验证部分**:未通过自动化真实浏览器截图断言侧栏 DOM;已要求用户 Ctrl+F5 后人工查看。
## 遗留问题
<!-- 没有就删除本节。 -->
- 浏览器可能缓存旧前端资源,更新包后需要强制刷新。
## 相关提交
- `<提交哈希>` <提交说明>
- `048a6ec` fix: restore Sense permission navigation (#44)
- `62ed5cc` docs: add Sense empty navigation troubleshooting (#44)
- `c4a799c` test: cover Sense administrator navigation (#44)
- `21624f6` docs: create task 44 acceptance archive (#44)