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)