diff --git a/src/utils/request.ts b/src/utils/request.ts index 8dbd50f..c7aedee 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -12,14 +12,21 @@ const axiosInstance = axios.create({ const handleError = (error: any) => { - // 401 未授权:token 过期或未登录,直接跳转登录页 + // 401 未授权(HTTP 层):token 过期或未登录 if (error?.response?.status === 401) { localStorage.removeItem("isLoggedIn"); router.push("/login"); return Promise.reject(error); } - // 业务异常由 validateResponse 负责提示,这里透传,避免被网络错误文案覆盖。 + // 401 未授权(业务层):后端 GlobalExceptionHandler 返回 code=401 + if (error && typeof error === "object" && error.code === 401) { + localStorage.removeItem("isLoggedIn"); + router.push("/login"); + return Promise.reject(error); + } + + // 其他业务异常(如 code !== 200)透传,由调用方自行提示 if (error && typeof error === "object" && "code" in error && !error.response) { return Promise.reject(error); }