From 6243b9b62a148ff7735d6eb0be9466d0828229fd Mon Sep 17 00:00:00 2001 From: shiyu Date: Mon, 2 Jun 2025 12:16:47 +0800 Subject: [PATCH] feat(fetchClient): handle 403 status with error message and redirect --- Web/src/api/fetchClient.ts | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/Web/src/api/fetchClient.ts b/Web/src/api/fetchClient.ts index 2c4aebf..29f4621 100644 --- a/Web/src/api/fetchClient.ts +++ b/Web/src/api/fetchClient.ts @@ -20,14 +20,25 @@ export async function fetchApi( headers, }); - if (response.status === 401) { + if (response.status === 401 && !url.includes('/login')) { clearAuthData(); - const message = encodeURIComponent('授权过期重新登录'); - window.location.href = `/login?message=${message}`; + const { message } = await import('antd'); + message.error('授权过期重新登录'); + window.location.href = `/login`; return { - success: false, - message: '授权过期重新登录', - code: 401, + success: false, + message: '授权过期重新登录', + code: 401, + } as BaseResult; + } + + if (response.status === 403) { + const { message } = await import('antd'); + message.error('没有权限'); + return { + success: false, + message: '没有权限', + code: 403, } as BaseResult; }