From 5e5aa48cf99a32f26ca0a1241bf3495105b89b5c Mon Sep 17 00:00:00 2001 From: QiuSW <105186638@qq.com> Date: Thu, 13 Aug 2026 09:32:37 +0800 Subject: [PATCH] docs: complete task 44 acceptance archive (#44) --- ...-Sense管理员侧栏模块为空修复.md | 51 +++++++++++++------ 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/docs/task/44-Sense管理员侧栏模块为空修复.md b/docs/task/44-Sense管理员侧栏模块为空修复.md index e529560..448b4e4 100644 --- a/docs/task/44-Sense管理员侧栏模块为空修复.md +++ b/docs/task/44-Sense管理员侧栏模块为空修复.md @@ -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 # 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)