# 优化后台管理 401 状态提醒 ## 1. 需求分析 ### 1.1 原始需求 用户反馈目前后台管理系统中,当 API 返回 401 (Unauthorized) 状态码时,系统没有提醒用户去重新登录,而是直接跳转或静默失败。用户希望增加明确的提醒。 ### 1.2 现状分析 通过代码分析发现: 1. `web/admin/src/utils/http/index.ts` 中存在 Token 无感刷新机制。 2. 当 401 发生时,系统尝试刷新 Token。 3. 如果刷新失败(catch block 或 token 为空),系统目前调用 `handleUnauthorizedErrorSilently()`。 4. `handleUnauthorizedErrorSilently` 方法明确注释为“静默处理,不显示错误消息,直接跳转”。 5. 同文件存在 `handleUnauthorizedError` 方法,该方法会调用 `showError` 并显示提示。 6. `web/admin/src/utils/http/error.ts` 中的 `showError` 方法已经针对 401 状态码配置了友好的 `ElMessage.warning` 提示:"登录状态已过期,请重新登录"。 ### 1.3 解决方案 将 Token 刷新失败后的处理逻辑从“静默处理”改为“显式提示处理”。 ## 2. 实施计划 1. 修改 `web/admin/src/utils/http/index.ts`。 2. 在响应拦截器中,当 Token 刷新失败时,将 `handleUnauthorizedErrorSilently()` 替换为 `handleUnauthorizedError()`。 3. 确认 `handleUnauthorizedError` 会触发 `showError`,从而展示“登录状态已过期”的提示。 ## 3. 验收标准 - [ ] 当用户 Token 过期且刷新失败时,界面应弹出“登录状态已过期,请重新登录”的提示。 - [ ] 系统随后自动跳转至登录页。