From 2f290eeedd0ea1f2c8bfec5f86053e048908126e Mon Sep 17 00:00:00 2001 From: imeepos Date: Tue, 13 Jan 2026 16:19:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=8C=BA=E5=88=86=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E5=92=8C=20Token=20=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E7=9A=84=20401=20=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 登录/注册接口的 401 不触发全局拦截器 - 让认证错误正常传递到表单组件显示 i18n 翻译 - 只有其他接口的 401 才认为是 Token 过期 - 移除调试日志 Co-Authored-By: Claude --- lib/fetch-logger.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/fetch-logger.ts b/lib/fetch-logger.ts index 3c38f2f..77021b2 100644 --- a/lib/fetch-logger.ts +++ b/lib/fetch-logger.ts @@ -77,6 +77,16 @@ export const createFetchWithLogger = (options: FetchLoggerOptions = {}) => { // 401 未授权处理 if (response.status === 401 && !isRedirecting) { + // 检查是否是登录/注册接口的 401 错误(用户名密码错误) + const isAuthEndpoint = url.includes('/sign-in/') || url.includes('/sign-up/') + + // 如果是认证接口的 401,不处理,让错误传递到组件 + if (isAuthEndpoint) { + console.log('🔐 认证接口返回 401,不处理') + return response + } + + // 其他接口的 401 才认为是 Token 过期 console.warn('🔐 401 未授权,跳转到登录页') isRedirecting = true