52 lines
2.2 KiB
Markdown
52 lines
2.2 KiB
Markdown
# 平台账户登录后误入 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 定向检查退出码为 0;Vue 模板引用仍有工具级未使用警告,本次新页面组件名已显式声明。
|
||
|
||
## 风险评估
|
||
|
||
- 不修改登录接口、令牌格式、角色菜单表或后端鉴权,公共接口保持兼容。
|
||
- 登录阶段增加一次已有资料请求,用于在跳转前取得真实菜单权限。
|