docs: complete task 44 acceptance archive
@@ -1,9 +1,9 @@
|
||||
# 44 Sense管理员侧栏模块为空修复
|
||||
|
||||
- 类型:需求 / 缺陷 / 重构
|
||||
- 所属 Epic:#
|
||||
- 所属 MVP / 版本:#
|
||||
- 状态:待验收 / 已完成
|
||||
- 类型:缺陷
|
||||
- 所属 Epic:#7
|
||||
- 所属 MVP / 版本:#8
|
||||
- 状态:待验收
|
||||
- 日期:2026-08-13
|
||||
- Gitea 工单:https://git.ilapage.cn/ila/yovision/issues/44
|
||||
- Wiki 页面:Task-44-Sense管理员侧栏模块为空修复
|
||||
@@ -11,32 +11,51 @@
|
||||
|
||||
## 背景与目标
|
||||
|
||||
<!-- 原来有什么问题,这次达到什么结果。 -->
|
||||
最新 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)
|
||||
Reference in New Issue
Block a user