anl 26.514.1 → 26.601.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/ajax-config/dio.ts +60 -40
- package/lib/package.cjs +1 -1
- package/package.json +1 -1
package/lib/ajax-config/dio.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AxiosInstance } from 'axios'; // 默认 axios 可以替换成 fetch
|
|
1
|
+
import type { AxiosError, AxiosInstance } from 'axios'; // 默认 axios 可以替换成 fetch
|
|
2
2
|
|
|
3
3
|
import axios from 'axios'; // 默认 axios 可以替换成 fetch
|
|
4
4
|
|
|
@@ -16,38 +16,8 @@ export const dio: AxiosInstance = axios.create({
|
|
|
16
16
|
headers: {
|
|
17
17
|
'Content-Type': 'application/json',
|
|
18
18
|
},
|
|
19
|
-
//
|
|
20
|
-
timeout:
|
|
21
|
-
// http 状态码判断
|
|
22
|
-
validateStatus(status: number) {
|
|
23
|
-
switch (status) {
|
|
24
|
-
case 200:
|
|
25
|
-
return true;
|
|
26
|
-
case 400:
|
|
27
|
-
message.error({ type: 'error', content: '请求无效或格式错误!' });
|
|
28
|
-
break;
|
|
29
|
-
case 401:
|
|
30
|
-
message.error({ type: 'error', content: '登录过期,请重新登陆!' });
|
|
31
|
-
break;
|
|
32
|
-
case 403:
|
|
33
|
-
message.error({ type: 'error', content: '服务器拒绝请求!' });
|
|
34
|
-
break;
|
|
35
|
-
case 404:
|
|
36
|
-
message.error({ type: 'error', content: '资源未找到' });
|
|
37
|
-
break;
|
|
38
|
-
case 500:
|
|
39
|
-
message.error({ type: 'error', content: '服务器内部错误' });
|
|
40
|
-
break;
|
|
41
|
-
case 502:
|
|
42
|
-
message.error({ type: 'error', content: '网关或代理服务器收到无效响应' });
|
|
43
|
-
break;
|
|
44
|
-
case 503:
|
|
45
|
-
message.error({ type: 'error', content: '服务器暂时无法处理请求' });
|
|
46
|
-
break;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return true;
|
|
50
|
-
},
|
|
19
|
+
// 1 分钟等于 60000 毫秒,超时设置为10分钟
|
|
20
|
+
timeout: 600000,
|
|
51
21
|
});
|
|
52
22
|
|
|
53
23
|
/**
|
|
@@ -70,14 +40,64 @@ dio.interceptors.request.use(
|
|
|
70
40
|
* @param response 响应数据
|
|
71
41
|
* @returns 响应数据
|
|
72
42
|
*/
|
|
43
|
+
// 响应拦截 —— 成功(2xx)
|
|
73
44
|
dio.interceptors.response.use(
|
|
74
|
-
(response) =>
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
45
|
+
(response) => response,
|
|
46
|
+
(error: AxiosError<{ message?: string; data?: unknown }>) => {
|
|
47
|
+
// 网络错误或请求取消等,无 response
|
|
48
|
+
if (!error.response) {
|
|
49
|
+
message.error('网络异常,请检查网络连接');
|
|
50
|
+
return Promise.reject(error);
|
|
79
51
|
}
|
|
80
|
-
|
|
52
|
+
|
|
53
|
+
const { status, data } = error.response;
|
|
54
|
+
|
|
55
|
+
switch (status) {
|
|
56
|
+
case 400: {
|
|
57
|
+
const respData = data ?? {};
|
|
58
|
+
const payload = (respData as { data?: unknown }).data;
|
|
59
|
+
let errorMsg = (respData as { message?: string }).message ?? '请求参数错误';
|
|
60
|
+
|
|
61
|
+
if (typeof payload === 'string') {
|
|
62
|
+
errorMsg = payload;
|
|
63
|
+
} else if (payload && typeof payload === 'object' && 'errors' in payload) {
|
|
64
|
+
const errors = (payload as { errors?: { message?: string }[] }).errors;
|
|
65
|
+
if (Array.isArray(errors)) {
|
|
66
|
+
const collected = errors.map((item) => item?.message).filter((msg): msg is string => Boolean(msg));
|
|
67
|
+
if (collected.length) {
|
|
68
|
+
errorMsg = collected.join(';');
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
message.error(errorMsg);
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
case 401:
|
|
77
|
+
message.error('登录过期,请重新登录');
|
|
78
|
+
if (window.location.pathname !== '/login') {
|
|
79
|
+
window.location.href = '/login';
|
|
80
|
+
}
|
|
81
|
+
break;
|
|
82
|
+
case 403:
|
|
83
|
+
message.error('服务器拒绝请求');
|
|
84
|
+
break;
|
|
85
|
+
case 404:
|
|
86
|
+
message.error('资源未找到');
|
|
87
|
+
break;
|
|
88
|
+
case 500:
|
|
89
|
+
message.error('服务器内部错误');
|
|
90
|
+
break;
|
|
91
|
+
case 502:
|
|
92
|
+
message.error('网关或代理服务器收到无效响应');
|
|
93
|
+
break;
|
|
94
|
+
case 503:
|
|
95
|
+
message.error('服务器暂时无法处理请求');
|
|
96
|
+
break;
|
|
97
|
+
default:
|
|
98
|
+
message.error(data?.message ?? '请求失败,请稍后重试');
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return Promise.reject(error);
|
|
81
102
|
},
|
|
82
|
-
(error) => Promise.reject(error),
|
|
83
103
|
);
|
package/lib/package.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=`26.
|
|
1
|
+
var e=`26.601.0`;Object.defineProperty(exports,`version`,{enumerable:!0,get:function(){return e}});
|