完善平台角色菜单树与授权登录导航

This commit is contained in:
czl231
2026-08-17 21:56:22 +08:00
parent c7449cb38d
commit d6bb3bd43e
22 changed files with 739 additions and 17 deletions

View File

@@ -0,0 +1,51 @@
# 平台账户登录后误入 404 修复操作日志
操作时间2026-08-17
操作类型:修改、扩展
影响模块:平台总后台 / 认证 / 角色菜单 / 前端路由
## 操作前状态
- 所有账号登录成功后均固定进入 `dashboard-overview`
- 非 root 角色未分配数据概览时,路由守卫正确拒绝访问,但页面错误显示英文 404。
- 完全没有菜单的账号没有可恢复引导。
## 具体操作
1. 登录成功后先加载个人资料与当前角色菜单。
2. 只恢复有权且可直接落地的历史叶子路由。
3. 历史地址不可用时,进入已授权菜单树中的首个可见叶子页。
4. 新增“尚未分配菜单权限”页,支持重新加载和退出。
5. 增加可执行的登录落点回归脚本。
## 操作后状态
- root 仍按菜单顺序进入数据概览。
- 非 root 账号进入自身首个授权业务页。
- 无权历史地址不会绕过鉴权,也不再导致登录后 404。
- 零菜单账号获得明确中文说明和恢复入口。
## 代码变更
- `frontend/platform_admin/src/router/authorized-landing.ts`
- `frontend/platform_admin/src/router/routes/base.ts`
- `frontend/platform_admin/src/router/index.ts`
- `frontend/platform_admin/src/router/constants.ts`
- `frontend/platform_admin/src/views/login/components/login-form.vue`
- `frontend/platform_admin/src/views/no-permission/index.vue`
- `frontend/platform_admin/scripts/check-authorized-login-landing.mjs`
- `frontend/platform_admin/package.json`
## 验证结果
- `pnpm auth-landing:check`:通过,覆盖有权历史页、无权历史页、父级分组和零菜单四条路径。
- `pnpm contract:check`通过48 个资源契约正常。
- `pnpm resource-display-contracts:check`:通过。
- `pnpm type:check`:通过。
- `pnpm build`:通过,新增权限引导页已生成独立产物。
- Biome 定向检查退出码为 0Vue 模板引用仍有工具级未使用警告,本次新页面组件名已显式声明。
## 风险评估
- 不修改登录接口、令牌格式、角色菜单表或后端鉴权,公共接口保持兼容。
- 登录阶段增加一次已有资料请求,用于在跳转前取得真实菜单权限。