@hzab/data-model 1.7.2 → 1.7.4
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/CHANGELOG.md +8 -0
- package/package.json +1 -1
- package/src/axios.js +35 -11
- package/src/data-model.js +9 -1
package/CHANGELOG.md
CHANGED
package/package.json
CHANGED
package/src/axios.js
CHANGED
|
@@ -50,10 +50,12 @@ export function setAxios(axiosList) {
|
|
|
50
50
|
* axios 守卫
|
|
51
51
|
* @param {Function} cb
|
|
52
52
|
* @param {Function} errCb
|
|
53
|
+
* @param {Object} opt
|
|
54
|
+
* @param {Object} opt.replaceErrCb 直接替换回调函数
|
|
53
55
|
*/
|
|
54
|
-
export function setAxRequest(cb, errCb) {
|
|
56
|
+
export function setAxRequest(cb, errCb, opt = {}) {
|
|
55
57
|
temp.axiosList?.forEach((_ax) => {
|
|
56
|
-
_ax.interceptors.request.use(cb, errCb);
|
|
58
|
+
_ax.interceptors.request.use(cb, handleErrCb(errCb, { logPrefix: "Error axios response: ", ...opt }));
|
|
57
59
|
});
|
|
58
60
|
}
|
|
59
61
|
|
|
@@ -61,20 +63,40 @@ export function setAxRequest(cb, errCb) {
|
|
|
61
63
|
* 请求到结果的拦截处理
|
|
62
64
|
* @param {Function} cb
|
|
63
65
|
* @param {Function} errCb
|
|
66
|
+
* @param {Object} opt
|
|
67
|
+
* @param {Object} opt.replaceErrCb 直接替换回调函数
|
|
64
68
|
*/
|
|
65
|
-
export function setAxResponse(cb, errCb) {
|
|
69
|
+
export function setAxResponse(cb, errCb, opt = {}) {
|
|
66
70
|
temp.axiosList?.forEach((_ax) => {
|
|
67
|
-
_ax.interceptors.response.use(
|
|
68
|
-
cb,
|
|
69
|
-
errCb ||
|
|
70
|
-
((error) => {
|
|
71
|
-
console.error("Error axios response: ", error);
|
|
72
|
-
return Promise.reject(error);
|
|
73
|
-
}),
|
|
74
|
-
);
|
|
71
|
+
_ax.interceptors.response.use(cb, handleErrCb(errCb, { logPrefix: "Error axios response: ", ...opt }));
|
|
75
72
|
});
|
|
76
73
|
}
|
|
77
74
|
|
|
75
|
+
/**
|
|
76
|
+
* 处理错误回调函数
|
|
77
|
+
* @param {Function} errCb
|
|
78
|
+
* @param {Object} opt
|
|
79
|
+
* @param {Object} opt.replaceErrCb 直接替换回调函数
|
|
80
|
+
* @returns
|
|
81
|
+
*/
|
|
82
|
+
export function handleErrCb(errCb, opt) {
|
|
83
|
+
const { replaceErrCb, logPrefix } = opt || {};
|
|
84
|
+
const isFn = typeof errCb === "function";
|
|
85
|
+
|
|
86
|
+
if (replaceErrCb && isFn) {
|
|
87
|
+
return errCb;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return (error) => {
|
|
91
|
+
if (axios.isCancel(error)) {
|
|
92
|
+
console.info("axios 请求已取消:", error);
|
|
93
|
+
return Promise.reject(error);
|
|
94
|
+
}
|
|
95
|
+
console.error(logPrefix, error);
|
|
96
|
+
return isFn ? errCb() : Promise.reject(error);
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
|
|
78
100
|
/**
|
|
79
101
|
* 设置 axios.defaults
|
|
80
102
|
* @param {string} key
|
|
@@ -129,4 +151,6 @@ export function getCancelTokenSource() {
|
|
|
129
151
|
return axios.CancelToken.source();
|
|
130
152
|
}
|
|
131
153
|
|
|
154
|
+
export { axios };
|
|
155
|
+
|
|
132
156
|
export default axios;
|
package/src/data-model.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _ from "lodash";
|
|
2
|
-
import axios from "axios";
|
|
2
|
+
import axios from "./axios";
|
|
3
3
|
|
|
4
4
|
import { objToFormData, formDataToObj, _$Temp, setDefaultAxios, setDefaultErrMsg, setNetworkErrMsg } from "./utils";
|
|
5
5
|
|
|
@@ -458,6 +458,10 @@ class DataModel {
|
|
|
458
458
|
}
|
|
459
459
|
|
|
460
460
|
handleRes(response, resolve, reject) {
|
|
461
|
+
if (axios.isCancel(response)) {
|
|
462
|
+
console.info("errorHandler axios.isCancel", response);
|
|
463
|
+
return;
|
|
464
|
+
}
|
|
461
465
|
if (this.isResponse) {
|
|
462
466
|
resolve(response);
|
|
463
467
|
return;
|
|
@@ -500,6 +504,10 @@ class DataModel {
|
|
|
500
504
|
}
|
|
501
505
|
|
|
502
506
|
errorHandler(err, reject) {
|
|
507
|
+
if (axios.isCancel(err)) {
|
|
508
|
+
console.info("errorHandler axios.isCancel", err);
|
|
509
|
+
return;
|
|
510
|
+
}
|
|
503
511
|
if (this.isResponse) {
|
|
504
512
|
reject(err);
|
|
505
513
|
return;
|