From 26d0b7070d348741d947e4b44e2c63a87907e465 Mon Sep 17 00:00:00 2001 From: selfrelease Date: Sun, 16 Aug 2026 11:11:43 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=91=98=E5=B7=A5=E7=AB=AF=20portalAxio?= =?UTF-8?q?s=20=E7=BC=BA=E5=B0=91=20response=20interceptor=20=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E7=99=BB=E5=BD=95=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题:portalAxios 没有 response interceptor,axios 返回完整的 response 对象,unwrap 取 res.data 得到的是 { success, data: {...} } 而非 { token, employee },导致前端 data.token 为 undefined, 自动登录/密码登录/验证码登录全部失败。 修复:给 portalAxios 添加与管理端 api 实例一致的 response interceptor:(response) => response.data,使 unwrap 能正确 解包到 { token, employee }。 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- frontend/src/lib/api-services.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frontend/src/lib/api-services.ts b/frontend/src/lib/api-services.ts index a6dee1c..7a8d6b1 100644 --- a/frontend/src/lib/api-services.ts +++ b/frontend/src/lib/api-services.ts @@ -1005,6 +1005,11 @@ portalAxios.interceptors.request.use((config: any) => { if (token) config.headers.Authorization = `Bearer ${token}` return config }) +// 与管理端 api 实例一致:response interceptor 返回 response.data(后端 JSON body) +portalAxios.interceptors.response.use( + (response) => response.data, + (error) => Promise.reject(error), +) const portalGet = ((url: string, config?: any) => portalAxios.get(url, config)) as any const portalPost = ((url: string, data?: any, config?: any) => portalAxios.post(url, data, config)) as any