fix: 回退request.ts
This commit is contained in:
+8
-22
@@ -6,9 +6,6 @@ const DEFAULT_TIMEOUT = 10000;
|
|||||||
|
|
||||||
const activeControllers = new Set<AbortController>();
|
const activeControllers = new Set<AbortController>();
|
||||||
|
|
||||||
const getResponseErrorMsg = (data: any, fallback = '请求失败') =>
|
|
||||||
data?.data?.msg || data?.msg || data?.message || fallback;
|
|
||||||
|
|
||||||
/** 统一处理 401 未授权逻辑 */
|
/** 统一处理 401 未授权逻辑 */
|
||||||
const handleUnauthorized = (msg?: string) => {
|
const handleUnauthorized = (msg?: string) => {
|
||||||
auth.logout();
|
auth.logout();
|
||||||
@@ -77,24 +74,20 @@ const request = (
|
|||||||
activeControllers.delete(controller);
|
activeControllers.delete(controller);
|
||||||
|
|
||||||
if (res.status === 401) {
|
if (res.status === 401) {
|
||||||
const errorData = await res.json().catch(() => ({}));
|
handleUnauthorized();
|
||||||
const errorMsg = getResponseErrorMsg(errorData, '登录状态已过期,请重新登录');
|
return Promise.reject(new Error('Unauthorized'));
|
||||||
handleUnauthorized(errorMsg);
|
|
||||||
return Promise.reject(new Error(errorMsg));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (res.status === 500) {
|
if (res.status === 500) {
|
||||||
|
message.error('服务器开小差了,请稍后再试');
|
||||||
const errorData = await res.json().catch(() => ({}));
|
const errorData = await res.json().catch(() => ({}));
|
||||||
const errorMsg = getResponseErrorMsg(errorData, '服务器开小差了,请稍后再试');
|
return Promise.reject(new Error(errorData.message || '服务器内部错误'));
|
||||||
message.error(errorMsg);
|
|
||||||
return Promise.reject(new Error(errorMsg));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!res.ok) {
|
if (!res.ok) {
|
||||||
const errorData = await res.json().catch(() => ({}));
|
const errorData = await res.json().catch(() => ({}));
|
||||||
const errorMsg = getResponseErrorMsg(errorData);
|
message.error(errorData.message || '请求失败');
|
||||||
message.error(errorMsg);
|
return Promise.reject(new Error(errorData.message || '请求失败'));
|
||||||
return Promise.reject(new Error(errorMsg));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (options.responseType === 'blob') {
|
if (options.responseType === 'blob') {
|
||||||
@@ -104,15 +97,8 @@ const request = (
|
|||||||
const data = await res.json();
|
const data = await res.json();
|
||||||
|
|
||||||
if (data.code == 401) {
|
if (data.code == 401) {
|
||||||
const errorMsg = getResponseErrorMsg(data, '登录状态已过期,请重新登录');
|
handleUnauthorized(data.msg);
|
||||||
handleUnauthorized(errorMsg);
|
return Promise.reject(new Error(data.msg || 'Unauthorized'));
|
||||||
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));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
|
|||||||
Reference in New Issue
Block a user