From 3330c380920e1ee708806ab1d58a37f1e1056fcf Mon Sep 17 00:00:00 2001 From: ZhuRui Date: Tue, 4 Aug 2026 10:36:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=9B=9E=E9=80=80request.ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/request.ts | 30 ++++++++---------------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/src/utils/request.ts b/src/utils/request.ts index 0931349..e386511 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -6,9 +6,6 @@ const DEFAULT_TIMEOUT = 10000; const activeControllers = new Set(); -const getResponseErrorMsg = (data: any, fallback = '请求失败') => - data?.data?.msg || data?.msg || data?.message || fallback; - /** 统一处理 401 未授权逻辑 */ const handleUnauthorized = (msg?: string) => { auth.logout(); @@ -77,24 +74,20 @@ const request = ( activeControllers.delete(controller); if (res.status === 401) { - const errorData = await res.json().catch(() => ({})); - const errorMsg = getResponseErrorMsg(errorData, '登录状态已过期,请重新登录'); - handleUnauthorized(errorMsg); - return Promise.reject(new Error(errorMsg)); + handleUnauthorized(); + return Promise.reject(new Error('Unauthorized')); } if (res.status === 500) { + message.error('服务器开小差了,请稍后再试'); const errorData = await res.json().catch(() => ({})); - const errorMsg = getResponseErrorMsg(errorData, '服务器开小差了,请稍后再试'); - message.error(errorMsg); - return Promise.reject(new Error(errorMsg)); + return Promise.reject(new Error(errorData.message || '服务器内部错误')); } if (!res.ok) { const errorData = await res.json().catch(() => ({})); - const errorMsg = getResponseErrorMsg(errorData); - message.error(errorMsg); - return Promise.reject(new Error(errorMsg)); + message.error(errorData.message || '请求失败'); + return Promise.reject(new Error(errorData.message || '请求失败')); } if (options.responseType === 'blob') { @@ -104,15 +97,8 @@ const request = ( const data = await res.json(); if (data.code == 401) { - const errorMsg = getResponseErrorMsg(data, '登录状态已过期,请重新登录'); - handleUnauthorized(errorMsg); - return Promise.reject(new Error(errorMsg)); - } - - if (data.code && data.code != '200') { - const errorMsg = getResponseErrorMsg(data); - message.error(errorMsg); - return Promise.reject(new Error(errorMsg)); + handleUnauthorized(data.msg); + return Promise.reject(new Error(data.msg || 'Unauthorized')); } return data;