Files
platforms/docs/操作日志_平台账户登录后误入404修复_20260817.md

52 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 平台账户登录后误入 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 模板引用仍有工具级未使用警告,本次新页面组件名已显式声明。
## 风险评估
- 不修改登录接口、令牌格式、角色菜单表或后端鉴权,公共接口保持兼容。
- 登录阶段增加一次已有资料请求,用于在跳转前取得真实菜单权限。