refactor(utils): 修复密码哈希比较逻辑错误 feat(user): 新增按状态筛选优惠券接口 docs: 添加虚拟发货与任务中心相关文档 fix(wechat): 修正Code2Session上下文传递问题 test: 补充订单折扣与积分转换测试用例 build: 更新配置文件与构建脚本 style: 清理多余的空行与注释
1.6 KiB
1.6 KiB
优化后台管理 401 状态提醒
1. 需求分析
1.1 原始需求
用户反馈目前后台管理系统中,当 API 返回 401 (Unauthorized) 状态码时,系统没有提醒用户去重新登录,而是直接跳转或静默失败。用户希望增加明确的提醒。
1.2 现状分析
通过代码分析发现:
web/admin/src/utils/http/index.ts中存在 Token 无感刷新机制。- 当 401 发生时,系统尝试刷新 Token。
- 如果刷新失败(catch block 或 token 为空),系统目前调用
handleUnauthorizedErrorSilently()。 handleUnauthorizedErrorSilently方法明确注释为“静默处理,不显示错误消息,直接跳转”。- 同文件存在
handleUnauthorizedError方法,该方法会调用showError并显示提示。 web/admin/src/utils/http/error.ts中的showError方法已经针对 401 状态码配置了友好的ElMessage.warning提示:"登录状态已过期,请重新登录"。
1.3 解决方案
将 Token 刷新失败后的处理逻辑从“静默处理”改为“显式提示处理”。
2. 实施计划
- 修改
web/admin/src/utils/http/index.ts。 - 在响应拦截器中,当 Token 刷新失败时,将
handleUnauthorizedErrorSilently()替换为handleUnauthorizedError()。 - 确认
handleUnauthorizedError会触发showError,从而展示“登录状态已过期”的提示。
3. 验收标准
- 当用户 Token 过期且刷新失败时,界面应弹出“登录状态已过期,请重新登录”的提示。
- 系统随后自动跳转至登录页。