fix(auth): 业务 code 401 一律引导重新登录——修复 token 过期(24h)后每天首次打开后台菜单区显示未授权需手动退出的问题

This commit is contained in:
zou 2026-09-03 10:49:45 +08:00
parent b35beae5df
commit 5103eb269f

View File

@ -44,7 +44,10 @@ http.interceptors.response.use(
// 业务级 code:401 // 业务级 code:401
// 未登录(无 token)访问受保护接口(如 /sys/menu/nav)→ 跳登录页 // 未登录(无 token)访问受保护接口(如 /sys/menu/nav)→ 跳登录页
// 已登录但权限不足(如 /openapi/** 带 token 被 Spring Security 拒)→ 保持 reject 给调用方 // 已登录但权限不足(如 /openapi/** 带 token 被 Spring Security 拒)→ 保持 reject 给调用方
if (body.code === 401 && !localStorage.getItem(STORAGE_KEY)) { if (body.code === 401) {
// token 未登录/已失效(如 /sys/menu/nav 返回 {"code":401,"msg":"未授权"})
// 无论本地是否存有 token 都引导重新登录——token 过期(24h)时若只 reject 不跳转,
// 用户每天首次打开后台会看到菜单区"未授权"且无法恢复,只能手动退出重登
handleAuthExpired() handleAuthExpired()
return Promise.reject(body) return Promise.reject(body)
} }