rxtutils 1.1.2-beta.4 → 1.1.2-beta.6
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/dist/cjs/request/index.cjs +91 -70
- package/dist/es/request/index.mjs +92 -71
- package/dist/types/request/index.d.ts +10 -7
- package/package.json +1 -1
|
@@ -30,16 +30,17 @@ function createBaseRequest(baseOptions) {
|
|
|
30
30
|
*/
|
|
31
31
|
return function createRequest(requestOptions, createOptions) {
|
|
32
32
|
var _a = tslib.__assign({}, requestOptions), method = _a.method, url = _a.url;
|
|
33
|
-
var _b = tslib.__assign(tslib.__assign({}, baseOptions), createOptions), baseURL = _b.baseURL, _c = _b.cacheDataKey, cacheDataKey = _c === void 0 ? "".concat(method, ":").concat(baseURL).concat(url) : _c, cacheDataInStorage = _b.cacheDataInStorage, _d = _b.cacheKeyEquals, cacheKeyEquals = _d === void 0 ? defaultEquals : _d, cacheTime = _b.cacheTime, _e = _b.indexDBName, indexDBName = _e === void 0 ?
|
|
33
|
+
var _b = tslib.__assign(tslib.__assign({}, baseOptions), createOptions), baseURL = _b.baseURL, _c = _b.cacheDataKey, cacheDataKey = _c === void 0 ? "".concat(method, ":").concat(baseURL).concat(url) : _c, cacheDataInStorage = _b.cacheDataInStorage, _d = _b.cacheKeyEquals, cacheKeyEquals = _d === void 0 ? defaultEquals : _d, cacheTime = _b.cacheTime, _e = _b.indexDBName, indexDBName = _e === void 0 ? "__apiCacheDatabase__" : _e;
|
|
34
34
|
var cache = new index.default(cacheDataInStorage, cacheDataKey, cacheTime, indexDBName, cacheKeyEquals);
|
|
35
35
|
function request(requestParam, options) {
|
|
36
|
+
var _this = this;
|
|
36
37
|
var _a = tslib.__assign(tslib.__assign({}, requestOptions), requestParam), method = _a.method, url = _a.url, _b = _a.data, data = _b === void 0 ? {} : _b, _c = _a.params, params = _c === void 0 ? {} : _c;
|
|
37
38
|
var requestDataOrParams = params;
|
|
38
|
-
if (method.toLowerCase() ===
|
|
39
|
+
if (method.toLowerCase() === "post") {
|
|
39
40
|
requestDataOrParams = data;
|
|
40
41
|
}
|
|
41
42
|
var _d = tslib.__assign(tslib.__assign(tslib.__assign({}, baseOptions), createOptions), options).defaultMessageShower, defaultMessageShower = _d === void 0 ? console.error : _d;
|
|
42
|
-
var _e = tslib.__assign(tslib.__assign(tslib.__assign({}, baseOptions), createOptions), options), _f = _e.enableCache, enableCache = _f === void 0 ? false : _f, _g = _e.cacheData, cacheData = _g === void 0 ? false : _g, _h = _e.defaultErrorCodeHandler, defaultErrorCodeHandler = _h === void 0 ? defaultHandlers._defaultErrorCodeHandler.bind(null, defaultMessageShower) : _h, _j = _e.defaultHttpErrorCodeHandler, defaultHttpErrorCodeHandler = _j === void 0 ? defaultHandlers._defaultHttpErrorCodeHandler.bind(null, defaultMessageShower) : _j, _k = _e.otherErrorHandler, otherErrorHandler = _k === void 0 ? defaultHandlers._defaultOtherErrorCodeHandler.bind(null, defaultMessageShower) : _k, _l = _e.errorCodePath, errorCodePath = _l === void 0 ?
|
|
43
|
+
var _e = tslib.__assign(tslib.__assign(tslib.__assign({}, baseOptions), createOptions), options), _f = _e.enableCache, enableCache = _f === void 0 ? false : _f, _g = _e.cacheData, cacheData = _g === void 0 ? false : _g, _h = _e.defaultErrorCodeHandler, defaultErrorCodeHandler = _h === void 0 ? defaultHandlers._defaultErrorCodeHandler.bind(null, defaultMessageShower) : _h, _j = _e.defaultHttpErrorCodeHandler, defaultHttpErrorCodeHandler = _j === void 0 ? defaultHandlers._defaultHttpErrorCodeHandler.bind(null, defaultMessageShower) : _j, _k = _e.otherErrorHandler, otherErrorHandler = _k === void 0 ? defaultHandlers._defaultOtherErrorCodeHandler.bind(null, defaultMessageShower) : _k, _l = _e.errorCodePath, errorCodePath = _l === void 0 ? "code" : _l, _m = _e.cacheTime, cacheTime = _m === void 0 ? 60 : _m, _o = _e.errorCodeMap, errorCodeMap = _o === void 0 ? {} : _o, _p = _e.successCodes, successCodes = _p === void 0 ? ["0", "200"] : _p, _q = _e.httpErrorCodeMap, httpErrorCodeMap = _q === void 0 ? {} : _q, _r = _e.axiosOptions, axiosOptions = _r === void 0 ? {} : _r, _s = _e.throwError, throwError = _s === void 0 ? true : _s;
|
|
43
44
|
if (enableCache) {
|
|
44
45
|
var cacheItem = cache.getCache(requestDataOrParams);
|
|
45
46
|
if (cacheItem) {
|
|
@@ -48,76 +49,96 @@ function createBaseRequest(baseOptions) {
|
|
|
48
49
|
}
|
|
49
50
|
return instance
|
|
50
51
|
.request(tslib.__assign({ method: method, url: url, data: data, params: params }, axiosOptions))
|
|
51
|
-
.then(function (res) {
|
|
52
|
-
var errorCode
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
case
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
var err = new error('服务端错误', 'http', error$1);
|
|
84
|
-
if (typeof customHandler === 'string') {
|
|
85
|
-
defaultMessageShower(customHandler);
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
var _d = (Object(customHandler(error$1.response.status, error$1, tslib.__assign(tslib.__assign({}, requestOptions), requestParam)))), _e = _d.replaceResData, replaceResData = _e === void 0 ? error$1 : _e, _f = _d.throwError, handlerThrowError = _f === void 0 ? 'default' : _f;
|
|
89
|
-
resData = replaceResData;
|
|
90
|
-
switch (handlerThrowError) {
|
|
91
|
-
case true:
|
|
52
|
+
.then(function (res) { return tslib.__awaiter(_this, void 0, void 0, function () {
|
|
53
|
+
var errorCode, _a, _b, _c, customHandler, err, _d, _e, replaceResData, _f, handlerThrowError, _g;
|
|
54
|
+
return tslib.__generator(this, function (_h) {
|
|
55
|
+
switch (_h.label) {
|
|
56
|
+
case 0:
|
|
57
|
+
errorCode = String(lodash.at(res.data, errorCodePath));
|
|
58
|
+
if (successCodes.includes(errorCode)) {
|
|
59
|
+
if (cacheData) {
|
|
60
|
+
cache.setCache(requestDataOrParams, res.data, { cacheTime: cacheTime });
|
|
61
|
+
}
|
|
62
|
+
return [2 /*return*/, res.data];
|
|
63
|
+
}
|
|
64
|
+
_a = errorCodeMap, _b = errorCode, _c = _a[_b], customHandler = _c === void 0 ? defaultErrorCodeHandler : _c;
|
|
65
|
+
err = new error("服务端错误", "server", res);
|
|
66
|
+
if (!(typeof customHandler === "string")) return [3 /*break*/, 1];
|
|
67
|
+
defaultMessageShower(customHandler);
|
|
68
|
+
return [3 /*break*/, 3];
|
|
69
|
+
case 1:
|
|
70
|
+
_g = Object;
|
|
71
|
+
return [4 /*yield*/, customHandler(errorCode, res.data, res, tslib.__assign(tslib.__assign({}, requestOptions), requestParam))];
|
|
72
|
+
case 2:
|
|
73
|
+
_d = _g.apply(void 0, [(_h.sent())]), _e = _d.replaceResData, replaceResData = _e === void 0 ? res.data : _e, _f = _d.throwError, handlerThrowError = _f === void 0 ? "default" : _f;
|
|
74
|
+
res.data = replaceResData;
|
|
75
|
+
switch (handlerThrowError) {
|
|
76
|
+
case true:
|
|
77
|
+
throw err;
|
|
78
|
+
case false:
|
|
79
|
+
return [2 /*return*/, res.data];
|
|
80
|
+
}
|
|
81
|
+
_h.label = 3;
|
|
82
|
+
case 3:
|
|
83
|
+
if (throwError) {
|
|
92
84
|
throw err;
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
85
|
+
}
|
|
86
|
+
return [2 /*return*/, res.data];
|
|
96
87
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
case
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
88
|
+
});
|
|
89
|
+
}); }, function (error$1) { return tslib.__awaiter(_this, void 0, void 0, function () {
|
|
90
|
+
var resData, _a, _b, _c, customHandler, err, _d, _e, replaceResData, _f, handlerThrowError, _g, resData, err, _h, _j, replaceResData, _k, handlerThrowError, _l;
|
|
91
|
+
return tslib.__generator(this, function (_m) {
|
|
92
|
+
switch (_m.label) {
|
|
93
|
+
case 0:
|
|
94
|
+
if (!error$1.response) return [3 /*break*/, 4];
|
|
95
|
+
resData = error$1;
|
|
96
|
+
_a = httpErrorCodeMap, _b = error$1.response.status, _c = _a[_b], customHandler = _c === void 0 ? defaultHttpErrorCodeHandler : _c;
|
|
97
|
+
err = new error("服务端错误", "http", error$1);
|
|
98
|
+
if (!(typeof customHandler === "string")) return [3 /*break*/, 1];
|
|
99
|
+
defaultMessageShower(customHandler);
|
|
100
|
+
return [3 /*break*/, 3];
|
|
101
|
+
case 1:
|
|
102
|
+
_g = Object;
|
|
103
|
+
return [4 /*yield*/, customHandler(error$1.response.status, error$1, tslib.__assign(tslib.__assign({}, requestOptions), requestParam))];
|
|
104
|
+
case 2:
|
|
105
|
+
_d = _g.apply(void 0, [(_m.sent())]), _e = _d.replaceResData, replaceResData = _e === void 0 ? error$1 : _e, _f = _d.throwError, handlerThrowError = _f === void 0 ? "default" : _f;
|
|
106
|
+
resData = replaceResData;
|
|
107
|
+
switch (handlerThrowError) {
|
|
108
|
+
case true:
|
|
109
|
+
throw err;
|
|
110
|
+
case false:
|
|
111
|
+
return [2 /*return*/, resData];
|
|
112
|
+
}
|
|
113
|
+
_m.label = 3;
|
|
114
|
+
case 3:
|
|
115
|
+
if (throwError) {
|
|
116
|
+
throw err;
|
|
117
|
+
}
|
|
118
|
+
return [2 /*return*/, resData];
|
|
119
|
+
case 4:
|
|
120
|
+
resData = error$1;
|
|
121
|
+
err = new error("服务端错误", "http", error$1);
|
|
122
|
+
err.type = "http";
|
|
123
|
+
err.data = error$1;
|
|
124
|
+
_l = Object;
|
|
125
|
+
return [4 /*yield*/, otherErrorHandler(error$1)];
|
|
126
|
+
case 5:
|
|
127
|
+
_h = (_l.apply(void 0, [(_m.sent())])), _j = _h.replaceResData, replaceResData = _j === void 0 ? error$1 : _j, _k = _h.throwError, handlerThrowError = _k === void 0 ? "default" : _k;
|
|
128
|
+
resData = replaceResData;
|
|
129
|
+
switch (handlerThrowError) {
|
|
130
|
+
case true:
|
|
131
|
+
throw err;
|
|
132
|
+
case false:
|
|
133
|
+
return [2 /*return*/, resData];
|
|
134
|
+
}
|
|
135
|
+
if (throwError) {
|
|
136
|
+
throw err;
|
|
137
|
+
}
|
|
138
|
+
return [2 /*return*/, resData];
|
|
117
139
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
});
|
|
140
|
+
});
|
|
141
|
+
}); });
|
|
121
142
|
}
|
|
122
143
|
request.clearCache = function () {
|
|
123
144
|
cache.clear();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __assign } from 'tslib';
|
|
1
|
+
import { __assign, __awaiter, __generator } from 'tslib';
|
|
2
2
|
import axios from 'axios';
|
|
3
3
|
import { at } from 'lodash';
|
|
4
4
|
import { _defaultErrorCodeHandler, _defaultHttpErrorCodeHandler, _defaultOtherErrorCodeHandler } from './defaultHandlers.mjs';
|
|
@@ -28,16 +28,17 @@ function createBaseRequest(baseOptions) {
|
|
|
28
28
|
*/
|
|
29
29
|
return function createRequest(requestOptions, createOptions) {
|
|
30
30
|
var _a = __assign({}, requestOptions), method = _a.method, url = _a.url;
|
|
31
|
-
var _b = __assign(__assign({}, baseOptions), createOptions), baseURL = _b.baseURL, _c = _b.cacheDataKey, cacheDataKey = _c === void 0 ? "".concat(method, ":").concat(baseURL).concat(url) : _c, cacheDataInStorage = _b.cacheDataInStorage, _d = _b.cacheKeyEquals, cacheKeyEquals = _d === void 0 ? defaultEquals : _d, cacheTime = _b.cacheTime, _e = _b.indexDBName, indexDBName = _e === void 0 ?
|
|
31
|
+
var _b = __assign(__assign({}, baseOptions), createOptions), baseURL = _b.baseURL, _c = _b.cacheDataKey, cacheDataKey = _c === void 0 ? "".concat(method, ":").concat(baseURL).concat(url) : _c, cacheDataInStorage = _b.cacheDataInStorage, _d = _b.cacheKeyEquals, cacheKeyEquals = _d === void 0 ? defaultEquals : _d, cacheTime = _b.cacheTime, _e = _b.indexDBName, indexDBName = _e === void 0 ? "__apiCacheDatabase__" : _e;
|
|
32
32
|
var cache = new Cache(cacheDataInStorage, cacheDataKey, cacheTime, indexDBName, cacheKeyEquals);
|
|
33
33
|
function request(requestParam, options) {
|
|
34
|
+
var _this = this;
|
|
34
35
|
var _a = __assign(__assign({}, requestOptions), requestParam), method = _a.method, url = _a.url, _b = _a.data, data = _b === void 0 ? {} : _b, _c = _a.params, params = _c === void 0 ? {} : _c;
|
|
35
36
|
var requestDataOrParams = params;
|
|
36
|
-
if (method.toLowerCase() ===
|
|
37
|
+
if (method.toLowerCase() === "post") {
|
|
37
38
|
requestDataOrParams = data;
|
|
38
39
|
}
|
|
39
40
|
var _d = __assign(__assign(__assign({}, baseOptions), createOptions), options).defaultMessageShower, defaultMessageShower = _d === void 0 ? console.error : _d;
|
|
40
|
-
var _e = __assign(__assign(__assign({}, baseOptions), createOptions), options), _f = _e.enableCache, enableCache = _f === void 0 ? false : _f, _g = _e.cacheData, cacheData = _g === void 0 ? false : _g, _h = _e.defaultErrorCodeHandler, defaultErrorCodeHandler = _h === void 0 ? _defaultErrorCodeHandler.bind(null, defaultMessageShower) : _h, _j = _e.defaultHttpErrorCodeHandler, defaultHttpErrorCodeHandler = _j === void 0 ? _defaultHttpErrorCodeHandler.bind(null, defaultMessageShower) : _j, _k = _e.otherErrorHandler, otherErrorHandler = _k === void 0 ? _defaultOtherErrorCodeHandler.bind(null, defaultMessageShower) : _k, _l = _e.errorCodePath, errorCodePath = _l === void 0 ?
|
|
41
|
+
var _e = __assign(__assign(__assign({}, baseOptions), createOptions), options), _f = _e.enableCache, enableCache = _f === void 0 ? false : _f, _g = _e.cacheData, cacheData = _g === void 0 ? false : _g, _h = _e.defaultErrorCodeHandler, defaultErrorCodeHandler = _h === void 0 ? _defaultErrorCodeHandler.bind(null, defaultMessageShower) : _h, _j = _e.defaultHttpErrorCodeHandler, defaultHttpErrorCodeHandler = _j === void 0 ? _defaultHttpErrorCodeHandler.bind(null, defaultMessageShower) : _j, _k = _e.otherErrorHandler, otherErrorHandler = _k === void 0 ? _defaultOtherErrorCodeHandler.bind(null, defaultMessageShower) : _k, _l = _e.errorCodePath, errorCodePath = _l === void 0 ? "code" : _l, _m = _e.cacheTime, cacheTime = _m === void 0 ? 60 : _m, _o = _e.errorCodeMap, errorCodeMap = _o === void 0 ? {} : _o, _p = _e.successCodes, successCodes = _p === void 0 ? ["0", "200"] : _p, _q = _e.httpErrorCodeMap, httpErrorCodeMap = _q === void 0 ? {} : _q, _r = _e.axiosOptions, axiosOptions = _r === void 0 ? {} : _r, _s = _e.throwError, throwError = _s === void 0 ? true : _s;
|
|
41
42
|
if (enableCache) {
|
|
42
43
|
var cacheItem = cache.getCache(requestDataOrParams);
|
|
43
44
|
if (cacheItem) {
|
|
@@ -46,76 +47,96 @@ function createBaseRequest(baseOptions) {
|
|
|
46
47
|
}
|
|
47
48
|
return instance
|
|
48
49
|
.request(__assign({ method: method, url: url, data: data, params: params }, axiosOptions))
|
|
49
|
-
.then(function (res) {
|
|
50
|
-
var errorCode
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
case
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
var err = new RequestError('服务端错误', 'http', error);
|
|
82
|
-
if (typeof customHandler === 'string') {
|
|
83
|
-
defaultMessageShower(customHandler);
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
var _d = (Object(customHandler(error.response.status, error, __assign(__assign({}, requestOptions), requestParam)))), _e = _d.replaceResData, replaceResData = _e === void 0 ? error : _e, _f = _d.throwError, handlerThrowError = _f === void 0 ? 'default' : _f;
|
|
87
|
-
resData = replaceResData;
|
|
88
|
-
switch (handlerThrowError) {
|
|
89
|
-
case true:
|
|
50
|
+
.then(function (res) { return __awaiter(_this, void 0, void 0, function () {
|
|
51
|
+
var errorCode, _a, _b, _c, customHandler, err, _d, _e, replaceResData, _f, handlerThrowError, _g;
|
|
52
|
+
return __generator(this, function (_h) {
|
|
53
|
+
switch (_h.label) {
|
|
54
|
+
case 0:
|
|
55
|
+
errorCode = String(at(res.data, errorCodePath));
|
|
56
|
+
if (successCodes.includes(errorCode)) {
|
|
57
|
+
if (cacheData) {
|
|
58
|
+
cache.setCache(requestDataOrParams, res.data, { cacheTime: cacheTime });
|
|
59
|
+
}
|
|
60
|
+
return [2 /*return*/, res.data];
|
|
61
|
+
}
|
|
62
|
+
_a = errorCodeMap, _b = errorCode, _c = _a[_b], customHandler = _c === void 0 ? defaultErrorCodeHandler : _c;
|
|
63
|
+
err = new RequestError("服务端错误", "server", res);
|
|
64
|
+
if (!(typeof customHandler === "string")) return [3 /*break*/, 1];
|
|
65
|
+
defaultMessageShower(customHandler);
|
|
66
|
+
return [3 /*break*/, 3];
|
|
67
|
+
case 1:
|
|
68
|
+
_g = Object;
|
|
69
|
+
return [4 /*yield*/, customHandler(errorCode, res.data, res, __assign(__assign({}, requestOptions), requestParam))];
|
|
70
|
+
case 2:
|
|
71
|
+
_d = _g.apply(void 0, [(_h.sent())]), _e = _d.replaceResData, replaceResData = _e === void 0 ? res.data : _e, _f = _d.throwError, handlerThrowError = _f === void 0 ? "default" : _f;
|
|
72
|
+
res.data = replaceResData;
|
|
73
|
+
switch (handlerThrowError) {
|
|
74
|
+
case true:
|
|
75
|
+
throw err;
|
|
76
|
+
case false:
|
|
77
|
+
return [2 /*return*/, res.data];
|
|
78
|
+
}
|
|
79
|
+
_h.label = 3;
|
|
80
|
+
case 3:
|
|
81
|
+
if (throwError) {
|
|
90
82
|
throw err;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
83
|
+
}
|
|
84
|
+
return [2 /*return*/, res.data];
|
|
94
85
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
case
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
86
|
+
});
|
|
87
|
+
}); }, function (error) { return __awaiter(_this, void 0, void 0, function () {
|
|
88
|
+
var resData, _a, _b, _c, customHandler, err, _d, _e, replaceResData, _f, handlerThrowError, _g, resData, err, _h, _j, replaceResData, _k, handlerThrowError, _l;
|
|
89
|
+
return __generator(this, function (_m) {
|
|
90
|
+
switch (_m.label) {
|
|
91
|
+
case 0:
|
|
92
|
+
if (!error.response) return [3 /*break*/, 4];
|
|
93
|
+
resData = error;
|
|
94
|
+
_a = httpErrorCodeMap, _b = error.response.status, _c = _a[_b], customHandler = _c === void 0 ? defaultHttpErrorCodeHandler : _c;
|
|
95
|
+
err = new RequestError("服务端错误", "http", error);
|
|
96
|
+
if (!(typeof customHandler === "string")) return [3 /*break*/, 1];
|
|
97
|
+
defaultMessageShower(customHandler);
|
|
98
|
+
return [3 /*break*/, 3];
|
|
99
|
+
case 1:
|
|
100
|
+
_g = Object;
|
|
101
|
+
return [4 /*yield*/, customHandler(error.response.status, error, __assign(__assign({}, requestOptions), requestParam))];
|
|
102
|
+
case 2:
|
|
103
|
+
_d = _g.apply(void 0, [(_m.sent())]), _e = _d.replaceResData, replaceResData = _e === void 0 ? error : _e, _f = _d.throwError, handlerThrowError = _f === void 0 ? "default" : _f;
|
|
104
|
+
resData = replaceResData;
|
|
105
|
+
switch (handlerThrowError) {
|
|
106
|
+
case true:
|
|
107
|
+
throw err;
|
|
108
|
+
case false:
|
|
109
|
+
return [2 /*return*/, resData];
|
|
110
|
+
}
|
|
111
|
+
_m.label = 3;
|
|
112
|
+
case 3:
|
|
113
|
+
if (throwError) {
|
|
114
|
+
throw err;
|
|
115
|
+
}
|
|
116
|
+
return [2 /*return*/, resData];
|
|
117
|
+
case 4:
|
|
118
|
+
resData = error;
|
|
119
|
+
err = new RequestError("服务端错误", "http", error);
|
|
120
|
+
err.type = "http";
|
|
121
|
+
err.data = error;
|
|
122
|
+
_l = Object;
|
|
123
|
+
return [4 /*yield*/, otherErrorHandler(error)];
|
|
124
|
+
case 5:
|
|
125
|
+
_h = (_l.apply(void 0, [(_m.sent())])), _j = _h.replaceResData, replaceResData = _j === void 0 ? error : _j, _k = _h.throwError, handlerThrowError = _k === void 0 ? "default" : _k;
|
|
126
|
+
resData = replaceResData;
|
|
127
|
+
switch (handlerThrowError) {
|
|
128
|
+
case true:
|
|
129
|
+
throw err;
|
|
130
|
+
case false:
|
|
131
|
+
return [2 /*return*/, resData];
|
|
132
|
+
}
|
|
133
|
+
if (throwError) {
|
|
134
|
+
throw err;
|
|
135
|
+
}
|
|
136
|
+
return [2 /*return*/, resData];
|
|
115
137
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
});
|
|
138
|
+
});
|
|
139
|
+
}); });
|
|
119
140
|
}
|
|
120
141
|
request.clearCache = function () {
|
|
121
142
|
cache.clear();
|
|
@@ -14,7 +14,7 @@ type ErrorHandlerReturnType<D> = {
|
|
|
14
14
|
* - false: 不抛出错误
|
|
15
15
|
* - 'default': 使用默认错误处理逻辑
|
|
16
16
|
*/
|
|
17
|
-
throwError?: boolean |
|
|
17
|
+
throwError?: boolean | "default";
|
|
18
18
|
};
|
|
19
19
|
/**
|
|
20
20
|
* 请求配置选项接口
|
|
@@ -53,7 +53,8 @@ interface Options<Params = any, Data = any> {
|
|
|
53
53
|
* 缓存时间(秒)
|
|
54
54
|
* @default 60
|
|
55
55
|
*/
|
|
56
|
-
cacheTime?: number;
|
|
56
|
+
cacheTime?: number;
|
|
57
|
+
/**
|
|
57
58
|
* 缓存数据的存储类型
|
|
58
59
|
* - localStorage: 使用浏览器本地存储,数据永久保存
|
|
59
60
|
* - sessionStorage: 使用会话存储,关闭浏览器后清除
|
|
@@ -75,7 +76,8 @@ interface Options<Params = any, Data = any> {
|
|
|
75
76
|
* 错误码在响应数据中的路径
|
|
76
77
|
* @default 'code'
|
|
77
78
|
*/
|
|
78
|
-
errorCodePath?: string;
|
|
79
|
+
errorCodePath?: string;
|
|
80
|
+
/**
|
|
79
81
|
* 错误码映射表
|
|
80
82
|
* 可以配置错误码对应的错误信息或处理函数
|
|
81
83
|
* @default {} 空对象,使用默认处理函数
|
|
@@ -85,7 +87,8 @@ interface Options<Params = any, Data = any> {
|
|
|
85
87
|
* 默认错误码处理函数
|
|
86
88
|
* 当错误码不在 errorCodeMap 中时调用
|
|
87
89
|
*/
|
|
88
|
-
defaultErrorCodeHandler?: (code: string, data: Data, res: AxiosResponse<Data>) => ErrorHandlerReturnType<Data> | void
|
|
90
|
+
defaultErrorCodeHandler?: (code: string, data: Data, res: AxiosResponse<Data>) => Promise<ErrorHandlerReturnType<Data> | void>;
|
|
91
|
+
/**
|
|
89
92
|
* 成功状态的错误码列表
|
|
90
93
|
* @default ['0', '200']
|
|
91
94
|
*/
|
|
@@ -100,13 +103,13 @@ interface Options<Params = any, Data = any> {
|
|
|
100
103
|
* 默认 HTTP 错误码处理函数
|
|
101
104
|
* 当 HTTP 状态码不在 httpErrorCodeMap 中时调用
|
|
102
105
|
*/
|
|
103
|
-
defaultHttpErrorCodeHandler?: (code: number, error: any) => ErrorHandlerReturnType<Data> | void
|
|
106
|
+
defaultHttpErrorCodeHandler?: (code: number, error: any) => Promise<ErrorHandlerReturnType<Data> | void>;
|
|
104
107
|
/**
|
|
105
108
|
* 其他错误处理函数
|
|
106
109
|
* 处理非 HTTP 错误和非业务错误码的错误
|
|
107
110
|
*/
|
|
108
|
-
otherErrorHandler?: (error: any) => ErrorHandlerReturnType<Data> | void
|
|
109
|
-
axiosOptions?: Omit<AxiosRequestConfig<Params>,
|
|
111
|
+
otherErrorHandler?: (error: any) => Promise<ErrorHandlerReturnType<Data> | void>;
|
|
112
|
+
axiosOptions?: Omit<AxiosRequestConfig<Params>, "method" | "url" | "params" | "data">;
|
|
110
113
|
}
|
|
111
114
|
/**
|
|
112
115
|
* 请求参数接口
|