xydata-tools 1.1.19 → 1.1.20
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/types/utils/request.d.ts +1 -5
- package/dist/utils/request.js +97 -104
- package/package.json +1 -1
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
export default doRequest;
|
|
2
|
-
/**
|
|
3
|
-
* 配置request请求时的默认参数
|
|
4
|
-
*/
|
|
5
|
-
export const xyRequest: import("umi-request").RequestMethod<false>;
|
|
6
2
|
/**
|
|
7
3
|
* 封装后的 doRequest 函数,保持与原有项目的参数兼容性
|
|
8
4
|
* @param {string} url - 请求地址
|
|
@@ -10,4 +6,4 @@ export const xyRequest: import("umi-request").RequestMethod<false>;
|
|
|
10
6
|
* @param {Object} data - 请求体数据
|
|
11
7
|
* @param {Object} options - 额外配置
|
|
12
8
|
*/
|
|
13
|
-
|
|
9
|
+
declare function doRequest(url: string, method: string, data?: any, options?: any): Promise<any>;
|
package/dist/utils/request.js
CHANGED
|
@@ -9,9 +9,7 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try
|
|
|
9
9
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
10
10
|
/**
|
|
11
11
|
* request 网络请求工具
|
|
12
|
-
* api 文档: https://github.com/umijs/umi-request/blob/master/README_zh-CN.md
|
|
13
12
|
*/
|
|
14
|
-
import { extend } from 'umi-request';
|
|
15
13
|
import { notification, message } from 'antd';
|
|
16
14
|
import { getSessionStorage } from "./token.js";
|
|
17
15
|
import { handleUnauthorized } from "../components";
|
|
@@ -51,139 +49,72 @@ var CODE_MESSAGE = {
|
|
|
51
49
|
|
|
52
50
|
// 请求异常处理程序。进入错误回调的,只会返回false。
|
|
53
51
|
var errorHandler = /*#__PURE__*/function () {
|
|
54
|
-
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(
|
|
55
|
-
var
|
|
52
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(response) {
|
|
53
|
+
var errorText, status, url, errorData, rspMsg;
|
|
56
54
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
57
55
|
while (1) switch (_context.prev = _context.next) {
|
|
58
56
|
case 0:
|
|
59
|
-
response = error.response;
|
|
60
57
|
if (!(response && response.status)) {
|
|
61
|
-
_context.next =
|
|
58
|
+
_context.next = 22;
|
|
62
59
|
break;
|
|
63
60
|
}
|
|
64
61
|
errorText = CODE_MESSAGE[response.status] || response.statusText;
|
|
65
62
|
status = response.status, url = response.url;
|
|
66
|
-
_context.prev =
|
|
67
|
-
_context.next =
|
|
63
|
+
_context.prev = 3;
|
|
64
|
+
_context.next = 6;
|
|
68
65
|
return response.json();
|
|
69
|
-
case
|
|
66
|
+
case 6:
|
|
70
67
|
errorData = _context.sent;
|
|
71
68
|
rspMsg = errorData.rspMsg;
|
|
72
69
|
if (rspMsg) {
|
|
73
70
|
message.error(rspMsg);
|
|
74
71
|
}
|
|
75
72
|
if (!(status == 401)) {
|
|
76
|
-
_context.next =
|
|
73
|
+
_context.next = 13;
|
|
77
74
|
break;
|
|
78
75
|
}
|
|
79
76
|
handleUnauthorized(ENV_DATA);
|
|
80
|
-
_context.next =
|
|
77
|
+
_context.next = 15;
|
|
81
78
|
break;
|
|
82
|
-
case
|
|
79
|
+
case 13:
|
|
83
80
|
if (!(status !== 200)) {
|
|
84
|
-
_context.next =
|
|
81
|
+
_context.next = 15;
|
|
85
82
|
break;
|
|
86
83
|
}
|
|
87
84
|
throw new Error();
|
|
88
|
-
case
|
|
89
|
-
_context.next =
|
|
85
|
+
case 15:
|
|
86
|
+
_context.next = 20;
|
|
90
87
|
break;
|
|
91
|
-
case
|
|
92
|
-
_context.prev =
|
|
93
|
-
_context.t0 = _context["catch"](
|
|
88
|
+
case 17:
|
|
89
|
+
_context.prev = 17;
|
|
90
|
+
_context.t0 = _context["catch"](3);
|
|
94
91
|
notification.error({
|
|
95
92
|
message: "\u8BF7\u6C42\u9519\u8BEF ".concat(status, ": ").concat(url),
|
|
96
93
|
description: errorText
|
|
97
94
|
});
|
|
98
|
-
case
|
|
99
|
-
_context.next =
|
|
95
|
+
case 20:
|
|
96
|
+
_context.next = 23;
|
|
100
97
|
break;
|
|
101
|
-
case
|
|
98
|
+
case 22:
|
|
102
99
|
if (!response) {
|
|
103
|
-
console.error(error);
|
|
104
100
|
notification.error({
|
|
105
101
|
message: '网络异常',
|
|
106
102
|
description: '您的网络发生异常,无法连接服务器'
|
|
107
103
|
});
|
|
108
104
|
}
|
|
109
|
-
case
|
|
105
|
+
case 23:
|
|
110
106
|
return _context.abrupt("return", false);
|
|
111
|
-
case
|
|
107
|
+
case 24:
|
|
112
108
|
case "end":
|
|
113
109
|
return _context.stop();
|
|
114
110
|
}
|
|
115
|
-
}, _callee, null, [[
|
|
111
|
+
}, _callee, null, [[3, 17]]);
|
|
116
112
|
}));
|
|
117
113
|
return function errorHandler(_x) {
|
|
118
114
|
return _ref.apply(this, arguments);
|
|
119
115
|
};
|
|
120
116
|
}();
|
|
121
117
|
|
|
122
|
-
/**
|
|
123
|
-
* 配置request请求时的默认参数
|
|
124
|
-
*/
|
|
125
|
-
var xyRequest = extend({
|
|
126
|
-
errorHandler: errorHandler
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
// request拦截器
|
|
130
|
-
xyRequest.interceptors.request.use(function (url, options) {
|
|
131
|
-
options.headers = {
|
|
132
|
-
'Content-Type': 'application/json; charset=utf-8',
|
|
133
|
-
Accept: 'application/json',
|
|
134
|
-
UserId: getSessionStorage('userId'),
|
|
135
|
-
OrgId: getSessionStorage('orgId'),
|
|
136
|
-
service: getSessionStorage('service') || 'unknown',
|
|
137
|
-
SID: SID
|
|
138
|
-
};
|
|
139
|
-
// 过滤不需要TOKEN的请求,统一加上Authorization
|
|
140
|
-
if (!NO_TOKEN_URLS.includes(url)) {
|
|
141
|
-
// TOKEN在每次调用的时候获取最新值
|
|
142
|
-
var token = getSessionStorage('Token');
|
|
143
|
-
options.headers.Authorization = token ? "Bearer ".concat(token) : '';
|
|
144
|
-
}
|
|
145
|
-
return {
|
|
146
|
-
url: url,
|
|
147
|
-
options: options
|
|
148
|
-
};
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
// response拦截器
|
|
152
|
-
xyRequest.interceptors.response.use( /*#__PURE__*/function () {
|
|
153
|
-
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(response, options) {
|
|
154
|
-
var data, rspCode;
|
|
155
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
156
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
157
|
-
case 0:
|
|
158
|
-
if (!response.ok) {
|
|
159
|
-
_context2.next = 7;
|
|
160
|
-
break;
|
|
161
|
-
}
|
|
162
|
-
_context2.next = 3;
|
|
163
|
-
return response.clone().json();
|
|
164
|
-
case 3:
|
|
165
|
-
data = _context2.sent;
|
|
166
|
-
rspCode = data.rspCode; // 状态编码只有在已定义的,需要处理的编码里才会返回响应,否则会进入错误回调
|
|
167
|
-
if (!(rspCode && PROCESS_RESPONSE_CODES.includes(rspCode))) {
|
|
168
|
-
_context2.next = 7;
|
|
169
|
-
break;
|
|
170
|
-
}
|
|
171
|
-
return _context2.abrupt("return", data);
|
|
172
|
-
case 7:
|
|
173
|
-
throw {
|
|
174
|
-
response: response
|
|
175
|
-
};
|
|
176
|
-
case 8:
|
|
177
|
-
case "end":
|
|
178
|
-
return _context2.stop();
|
|
179
|
-
}
|
|
180
|
-
}, _callee2);
|
|
181
|
-
}));
|
|
182
|
-
return function (_x2, _x3) {
|
|
183
|
-
return _ref2.apply(this, arguments);
|
|
184
|
-
};
|
|
185
|
-
}());
|
|
186
|
-
|
|
187
118
|
/**
|
|
188
119
|
* 封装后的 doRequest 函数,保持与原有项目的参数兼容性
|
|
189
120
|
* @param {string} url - 请求地址
|
|
@@ -191,30 +122,92 @@ xyRequest.interceptors.response.use( /*#__PURE__*/function () {
|
|
|
191
122
|
* @param {Object} data - 请求体数据
|
|
192
123
|
* @param {Object} options - 额外配置
|
|
193
124
|
*/
|
|
194
|
-
function doRequest(
|
|
125
|
+
function doRequest(_x2, _x3) {
|
|
195
126
|
return _doRequest.apply(this, arguments);
|
|
196
127
|
}
|
|
197
128
|
function _doRequest() {
|
|
198
|
-
_doRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
129
|
+
_doRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(url, method) {
|
|
199
130
|
var data,
|
|
200
131
|
options,
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
132
|
+
headers,
|
|
133
|
+
token,
|
|
134
|
+
response,
|
|
135
|
+
fetchOptions,
|
|
136
|
+
result,
|
|
137
|
+
rspCode,
|
|
138
|
+
_args2 = arguments;
|
|
139
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
140
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
204
141
|
case 0:
|
|
205
|
-
data =
|
|
206
|
-
options =
|
|
207
|
-
|
|
142
|
+
data = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : {};
|
|
143
|
+
options = _args2.length > 3 && _args2[3] !== undefined ? _args2[3] : {};
|
|
144
|
+
// 构建请求头(原 request 拦截器逻辑)
|
|
145
|
+
headers = {
|
|
146
|
+
'Content-Type': 'application/json; charset=utf-8',
|
|
147
|
+
Accept: 'application/json',
|
|
148
|
+
UserId: getSessionStorage('userId'),
|
|
149
|
+
OrgId: getSessionStorage('orgId'),
|
|
150
|
+
service: getSessionStorage('service') || 'unknown',
|
|
151
|
+
SID: SID
|
|
152
|
+
}; // 过滤不需要TOKEN的请求,统一加上Authorization
|
|
153
|
+
if (!NO_TOKEN_URLS.includes(url)) {
|
|
154
|
+
// TOKEN在每次调用的时候获取最新值
|
|
155
|
+
token = getSessionStorage('Token');
|
|
156
|
+
headers.Authorization = token ? "Bearer ".concat(token) : '';
|
|
157
|
+
}
|
|
158
|
+
_context2.prev = 4;
|
|
159
|
+
fetchOptions = {
|
|
208
160
|
method: method,
|
|
209
|
-
|
|
210
|
-
}
|
|
211
|
-
|
|
161
|
+
headers: _objectSpread(_objectSpread({}, headers), options.headers)
|
|
162
|
+
}; // GET 请求不携带 body
|
|
163
|
+
if (method.toUpperCase() !== 'GET') {
|
|
164
|
+
fetchOptions.body = JSON.stringify(data);
|
|
165
|
+
}
|
|
166
|
+
_context2.next = 9;
|
|
167
|
+
return fetch(url, fetchOptions);
|
|
168
|
+
case 9:
|
|
169
|
+
response = _context2.sent;
|
|
170
|
+
_context2.next = 16;
|
|
171
|
+
break;
|
|
172
|
+
case 12:
|
|
173
|
+
_context2.prev = 12;
|
|
174
|
+
_context2.t0 = _context2["catch"](4);
|
|
175
|
+
// 网络异常,无法连接服务器
|
|
176
|
+
console.error(_context2.t0);
|
|
177
|
+
return _context2.abrupt("return", errorHandler(null));
|
|
178
|
+
case 16:
|
|
179
|
+
if (!response.ok) {
|
|
180
|
+
_context2.next = 30;
|
|
181
|
+
break;
|
|
182
|
+
}
|
|
183
|
+
_context2.prev = 17;
|
|
184
|
+
_context2.next = 20;
|
|
185
|
+
return response.clone().json();
|
|
186
|
+
case 20:
|
|
187
|
+
result = _context2.sent;
|
|
188
|
+
rspCode = result.rspCode; // 状态编码只有在已定义的,需要处理的编码里才会返回响应,否则会进入错误回调
|
|
189
|
+
if (!(rspCode && PROCESS_RESPONSE_CODES.includes(rspCode))) {
|
|
190
|
+
_context2.next = 24;
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
return _context2.abrupt("return", result);
|
|
194
|
+
case 24:
|
|
195
|
+
_context2.next = 30;
|
|
196
|
+
break;
|
|
197
|
+
case 26:
|
|
198
|
+
_context2.prev = 26;
|
|
199
|
+
_context2.t1 = _context2["catch"](17);
|
|
200
|
+
// JSON 解析失败,按网络异常处理
|
|
201
|
+
console.error(_context2.t1);
|
|
202
|
+
return _context2.abrupt("return", errorHandler(null));
|
|
203
|
+
case 30:
|
|
204
|
+
return _context2.abrupt("return", errorHandler(response));
|
|
205
|
+
case 31:
|
|
212
206
|
case "end":
|
|
213
|
-
return
|
|
207
|
+
return _context2.stop();
|
|
214
208
|
}
|
|
215
|
-
},
|
|
209
|
+
}, _callee2, null, [[4, 12], [17, 26]]);
|
|
216
210
|
}));
|
|
217
211
|
return _doRequest.apply(this, arguments);
|
|
218
212
|
}
|
|
219
|
-
export { xyRequest, doRequest };
|
|
220
213
|
export default doRequest;
|