From fcdf693707cb0bd3ff36d97cfde7b85d81c9e593 Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Wed, 22 Jul 2026 22:42:09 +0800 Subject: [PATCH] =?UTF-8?q?fix(web):=20=E4=BF=AE=E5=A4=8D=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=97=B6=E5=BA=8Fbug=20-=20token=E5=85=88=E5=AD=98loc?= =?UTF-8?q?alStorage=E5=86=8D=E5=8F=96=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=20(#734)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web/src/hooks/useAuth.ts | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) mode change 100644 => 100755 apps/web/src/hooks/useAuth.ts diff --git a/apps/web/src/hooks/useAuth.ts b/apps/web/src/hooks/useAuth.ts old mode 100644 new mode 100755 index ae1a958cf..5e620e3b0 --- a/apps/web/src/hooks/useAuth.ts +++ b/apps/web/src/hooks/useAuth.ts @@ -20,7 +20,14 @@ export const useLogin = () => { const data = await mutation.mutateAsync(credentials) const refreshToken = data.refresh_token ?? null - // 获取用户信息 + // 先存 token 到 localStorage,确保后续请求拦截器能取到 + // (apiClient 拦截器从 localStorage 读 access_token) + localStorage.setItem("access_token", data.access_token) + if (refreshToken) { + localStorage.setItem("refresh_token", refreshToken) + } + + // 再获取用户信息(这时候请求带 Authorization header) const user = await authApi.getCurrentUser() setAuth(user, data.access_token, refreshToken) @@ -54,6 +61,15 @@ export const useWechatCallback = () => { localStorage.removeItem("wechat_state") const result = await mutation.mutateAsync({ code, state }) + + // 先存 token 到 localStorage,确保后续请求拦截器能取到 + // (apiClient 拦截器从 localStorage 读 access_token) + localStorage.setItem("access_token", result.access_token) + if (result.refresh_token) { + localStorage.setItem("refresh_token", result.refresh_token) + } + + // 再获取用户信息(这时候请求带 Authorization header) const user = await authApi.getCurrentUser() setAuth(user, result.access_token, result.refresh_token)