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