From e33bfe71bf71bed575b8e7d5f259bd9f2ac8c77f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B5=E5=BA=94?= Date: Tue, 7 Jul 2026 07:30:13 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=80=80=E5=87=BA=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E5=90=8E=E8=B7=B3=E8=BD=AC=E9=A6=96=E9=A1=B5(/)=E8=80=8C?= =?UTF-8?q?=E9=9D=9E=E7=99=BB=E5=BD=95=E9=A1=B5(/login)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - useLogout hook: navigate('/login') → navigate('/') - client.ts 无refresh_token自动登出: href='/login' → href='/' - client.ts 刷新失败自动登出: href='/login' → href='/' - 已排查所有退出入口:仅Header头像菜单有手动退出按钮,行为一致 - ProtectedRoute未登录拦截仍跳/login(正确行为,非退出场景) --- apps/web/src/api/client.ts | 4 ++-- apps/web/src/hooks/useAuth.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/web/src/api/client.ts b/apps/web/src/api/client.ts index 3b06edd82..97521537b 100644 --- a/apps/web/src/api/client.ts +++ b/apps/web/src/api/client.ts @@ -69,7 +69,7 @@ apiClient.interceptors.response.use( // 无 refresh_token → 直接登出 if (!refreshToken) { useAuthStore.getState().clearAuth(); - window.location.href = "/login"; + window.location.href = "/"; return Promise.reject(error); } @@ -114,7 +114,7 @@ apiClient.interceptors.response.use( // 刷新失败 → 登出 processQueue(refreshError, null); useAuthStore.getState().clearAuth(); - window.location.href = "/login"; + window.location.href = "/"; return Promise.reject(refreshError); } finally { isRefreshing = false; diff --git a/apps/web/src/hooks/useAuth.ts b/apps/web/src/hooks/useAuth.ts index 2ad569c6c..224e10c2d 100644 --- a/apps/web/src/hooks/useAuth.ts +++ b/apps/web/src/hooks/useAuth.ts @@ -75,7 +75,7 @@ export const useLogout = () => { } finally { clearAuth(); queryClient.clear(); - navigate("/login"); + navigate("/"); } };