diff --git a/src/utils/request.ts b/src/utils/request.ts index d89714e..42d4cae 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -44,7 +44,10 @@ http.interceptors.response.use( // 业务级 code:401 // 未登录(无 token)访问受保护接口(如 /sys/menu/nav)→ 跳登录页 // 已登录但权限不足(如 /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() return Promise.reject(body) }