@allahjs/utils 0.0.1
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/LICENSE +21 -0
- package/README.md +244 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/browser/cookieUtils/index.cjs +100 -0
- package/dist/browser/cookieUtils/index.cjs.map +1 -0
- package/dist/browser/cookieUtils/index.d.ts +55 -0
- package/dist/browser/domUtils/index.cjs +237 -0
- package/dist/browser/domUtils/index.cjs.map +1 -0
- package/dist/browser/domUtils/index.d.ts +116 -0
- package/dist/browser/index.cjs +12 -0
- package/dist/browser/index.cjs.map +1 -0
- package/dist/browser/index.d.ts +3 -0
- package/dist/browser/urlUtils/index.cjs +262 -0
- package/dist/browser/urlUtils/index.cjs.map +1 -0
- package/dist/browser/urlUtils/index.d.ts +72 -0
- package/dist/core/arrayUtils/index.cjs +109 -0
- package/dist/core/arrayUtils/index.cjs.map +1 -0
- package/dist/core/arrayUtils/index.d.ts +67 -0
- package/dist/core/asyncUtils/index.cjs +180 -0
- package/dist/core/asyncUtils/index.cjs.map +1 -0
- package/dist/core/asyncUtils/index.d.ts +80 -0
- package/dist/core/colorUtils/index.cjs +38 -0
- package/dist/core/colorUtils/index.cjs.map +1 -0
- package/dist/core/colorUtils/index.d.ts +10 -0
- package/dist/core/cryptoUtils/index.cjs +428 -0
- package/dist/core/cryptoUtils/index.cjs.map +1 -0
- package/dist/core/cryptoUtils/index.d.ts +132 -0
- package/dist/core/dateUtils/index.cjs +245 -0
- package/dist/core/dateUtils/index.cjs.map +1 -0
- package/dist/core/dateUtils/index.d.ts +117 -0
- package/dist/core/index.cjs +34 -0
- package/dist/core/index.cjs.map +1 -0
- package/dist/core/index.d.ts +118 -0
- package/dist/core/numberUtils/index.cjs +126 -0
- package/dist/core/numberUtils/index.cjs.map +1 -0
- package/dist/core/numberUtils/index.d.ts +91 -0
- package/dist/core/objectUtils/index.cjs +249 -0
- package/dist/core/objectUtils/index.cjs.map +1 -0
- package/dist/core/objectUtils/index.d.ts +91 -0
- package/dist/core/pageUtils/index.cjs +74 -0
- package/dist/core/pageUtils/index.cjs.map +1 -0
- package/dist/core/pageUtils/index.d.ts +52 -0
- package/dist/core/stringUtils/index.cjs +163 -0
- package/dist/core/stringUtils/index.cjs.map +1 -0
- package/dist/core/stringUtils/index.d.ts +69 -0
- package/dist/core/validationUtils/index.cjs +154 -0
- package/dist/core/validationUtils/index.cjs.map +1 -0
- package/dist/core/validationUtils/index.d.ts +87 -0
- package/dist/esm/browser/cookieUtils/index.d.ts +55 -0
- package/dist/esm/browser/cookieUtils/index.js +96 -0
- package/dist/esm/browser/cookieUtils/index.js.map +1 -0
- package/dist/esm/browser/domUtils/index.d.ts +116 -0
- package/dist/esm/browser/domUtils/index.js +233 -0
- package/dist/esm/browser/domUtils/index.js.map +1 -0
- package/dist/esm/browser/index.d.ts +3 -0
- package/dist/esm/browser/index.js +4 -0
- package/dist/esm/browser/index.js.map +1 -0
- package/dist/esm/browser/urlUtils/index.d.ts +72 -0
- package/dist/esm/browser/urlUtils/index.js +248 -0
- package/dist/esm/browser/urlUtils/index.js.map +1 -0
- package/dist/esm/core/arrayUtils/index.d.ts +67 -0
- package/dist/esm/core/arrayUtils/index.js +105 -0
- package/dist/esm/core/arrayUtils/index.js.map +1 -0
- package/dist/esm/core/asyncUtils/index.d.ts +80 -0
- package/dist/esm/core/asyncUtils/index.js +175 -0
- package/dist/esm/core/asyncUtils/index.js.map +1 -0
- package/dist/esm/core/colorUtils/index.d.ts +10 -0
- package/dist/esm/core/colorUtils/index.js +34 -0
- package/dist/esm/core/colorUtils/index.js.map +1 -0
- package/dist/esm/core/cryptoUtils/index.d.ts +132 -0
- package/dist/esm/core/cryptoUtils/index.js +424 -0
- package/dist/esm/core/cryptoUtils/index.js.map +1 -0
- package/dist/esm/core/dateUtils/index.d.ts +117 -0
- package/dist/esm/core/dateUtils/index.js +241 -0
- package/dist/esm/core/dateUtils/index.js.map +1 -0
- package/dist/esm/core/index.d.ts +118 -0
- package/dist/esm/core/index.js +30 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/core/numberUtils/index.d.ts +91 -0
- package/dist/esm/core/numberUtils/index.js +122 -0
- package/dist/esm/core/numberUtils/index.js.map +1 -0
- package/dist/esm/core/objectUtils/index.d.ts +91 -0
- package/dist/esm/core/objectUtils/index.js +245 -0
- package/dist/esm/core/objectUtils/index.js.map +1 -0
- package/dist/esm/core/pageUtils/index.d.ts +52 -0
- package/dist/esm/core/pageUtils/index.js +66 -0
- package/dist/esm/core/pageUtils/index.js.map +1 -0
- package/dist/esm/core/stringUtils/index.d.ts +69 -0
- package/dist/esm/core/stringUtils/index.js +159 -0
- package/dist/esm/core/stringUtils/index.js.map +1 -0
- package/dist/esm/core/validationUtils/index.d.ts +87 -0
- package/dist/esm/core/validationUtils/index.js +150 -0
- package/dist/esm/core/validationUtils/index.js.map +1 -0
- package/dist/esm/index.d.ts +22 -0
- package/dist/esm/index.js +26 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/request/ReqQueue/index.js +59 -0
- package/dist/esm/request/ReqQueue/index.js.map +1 -0
- package/dist/esm/request/httpCode/index.js +49 -0
- package/dist/esm/request/httpCode/index.js.map +1 -0
- package/dist/esm/request/httpUtils/index.js +359 -0
- package/dist/esm/request/httpUtils/index.js.map +1 -0
- package/dist/esm/request/index.d.ts +15 -0
- package/dist/esm/request/index.js +166 -0
- package/dist/esm/request/index.js.map +1 -0
- package/dist/esm/request/typings/index.d.ts +184 -0
- package/dist/esm/request/uniRequest/index.js +62 -0
- package/dist/esm/request/uniRequest/index.js.map +1 -0
- package/dist/esm/types/data/index.d.ts +188 -0
- package/dist/esm/types/data/index.js +13 -0
- package/dist/esm/types/data/index.js.map +1 -0
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/index.js +2 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/uniapp/Tips/index.d.ts +295 -0
- package/dist/esm/uniapp/Tips/index.js +498 -0
- package/dist/esm/uniapp/Tips/index.js.map +1 -0
- package/dist/esm/uniapp/cloudUtils/index.d.ts +56 -0
- package/dist/esm/uniapp/cloudUtils/index.js +90 -0
- package/dist/esm/uniapp/cloudUtils/index.js.map +1 -0
- package/dist/esm/uniapp/index.d.ts +3 -0
- package/dist/esm/uniapp/index.js +4 -0
- package/dist/esm/uniapp/index.js.map +1 -0
- package/dist/esm/uniapp/uniUtils/index.d.ts +113 -0
- package/dist/esm/uniapp/uniUtils/index.js +199 -0
- package/dist/esm/uniapp/uniUtils/index.js.map +1 -0
- package/dist/index.cjs +88 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/request/ReqQueue/index.cjs +63 -0
- package/dist/request/ReqQueue/index.cjs.map +1 -0
- package/dist/request/httpCode/index.cjs +52 -0
- package/dist/request/httpCode/index.cjs.map +1 -0
- package/dist/request/httpUtils/index.cjs +365 -0
- package/dist/request/httpUtils/index.cjs.map +1 -0
- package/dist/request/index.cjs +170 -0
- package/dist/request/index.cjs.map +1 -0
- package/dist/request/index.d.ts +15 -0
- package/dist/request/typings/index.d.ts +184 -0
- package/dist/request/uniRequest/index.cjs +66 -0
- package/dist/request/uniRequest/index.cjs.map +1 -0
- package/dist/types/data/index.cjs +15 -0
- package/dist/types/data/index.cjs.map +1 -0
- package/dist/types/data/index.d.ts +188 -0
- package/dist/types/index.cjs +8 -0
- package/dist/types/index.cjs.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/uniapp/Tips/index.cjs +521 -0
- package/dist/uniapp/Tips/index.cjs.map +1 -0
- package/dist/uniapp/Tips/index.d.ts +295 -0
- package/dist/uniapp/cloudUtils/index.cjs +92 -0
- package/dist/uniapp/cloudUtils/index.cjs.map +1 -0
- package/dist/uniapp/cloudUtils/index.d.ts +56 -0
- package/dist/uniapp/index.cjs +53 -0
- package/dist/uniapp/index.cjs.map +1 -0
- package/dist/uniapp/index.d.ts +3 -0
- package/dist/uniapp/uniUtils/index.cjs +213 -0
- package/dist/uniapp/uniUtils/index.cjs.map +1 -0
- package/dist/uniapp/uniUtils/index.d.ts +113 -0
- package/package.json +129 -0
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('../httpCode/index.cjs');
|
|
4
|
+
var index$3 = require('../ReqQueue/index.cjs');
|
|
5
|
+
var index$1 = require('../../browser/cookieUtils/index.cjs');
|
|
6
|
+
var index$5 = require('../uniRequest/index.cjs');
|
|
7
|
+
var axios = require('axios');
|
|
8
|
+
var index$2 = require('../../browser/urlUtils/index.cjs');
|
|
9
|
+
var index$4 = require('../../core/stringUtils/index.cjs');
|
|
10
|
+
|
|
11
|
+
const isExit = (str) => {
|
|
12
|
+
if (str === '') {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
if (str === 0) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
return str;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* 参数去空
|
|
22
|
+
* @param params 参数
|
|
23
|
+
* @param deleteField 需要删除的字段
|
|
24
|
+
* @param deleteTimeField 是否删除时间字段
|
|
25
|
+
*/
|
|
26
|
+
const buildParamsNull = (params, deleteField, deleteTimeField) => {
|
|
27
|
+
const defKeys = [];
|
|
28
|
+
if (deleteTimeField) {
|
|
29
|
+
defKeys.push('createTime', 'creTime', 'updateTime', 'createDate', 'updateDate');
|
|
30
|
+
}
|
|
31
|
+
if (Array.isArray(deleteField)) {
|
|
32
|
+
defKeys.push(...deleteField);
|
|
33
|
+
}
|
|
34
|
+
const newParams = {};
|
|
35
|
+
if (params) {
|
|
36
|
+
Object.keys(params).forEach(key => {
|
|
37
|
+
// 如果字段在defKeys里面,那就直接跳过,不赋值了
|
|
38
|
+
if (defKeys.length > 0 && defKeys.includes(key)) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (isExit(params[key])) {
|
|
42
|
+
newParams[key] = params[key];
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return newParams;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* 请求拦截
|
|
50
|
+
* @param url 请求地址
|
|
51
|
+
* @param options 请求配置
|
|
52
|
+
* @return {{options: *, url: *}}
|
|
53
|
+
*/
|
|
54
|
+
const requestErrorIntercept = (url, options) => {
|
|
55
|
+
// 覆盖默认值
|
|
56
|
+
const newOptions = { ...index.defOption, ...options };
|
|
57
|
+
const { isFile } = newOptions;
|
|
58
|
+
// 如果是文件,那就是说明要下载文件
|
|
59
|
+
if (isFile) {
|
|
60
|
+
// 设置响应类型
|
|
61
|
+
newOptions.responseType = 'blob';
|
|
62
|
+
}
|
|
63
|
+
// 如果不是上传文件
|
|
64
|
+
if (newOptions.manner !== 'file') {
|
|
65
|
+
const noFilterField = {};
|
|
66
|
+
if (Array.isArray(newOptions.noFilterField)) {
|
|
67
|
+
newOptions.noFilterField.forEach((item) => {
|
|
68
|
+
noFilterField[item] = newOptions.params[item];
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
if (newOptions.isFilter) {
|
|
72
|
+
// 去除无效的参数
|
|
73
|
+
newOptions.params = buildParamsNull(newOptions.params, newOptions.deleteField, newOptions.deleteTimeField);
|
|
74
|
+
}
|
|
75
|
+
// 合并下
|
|
76
|
+
newOptions.params = { ...noFilterField, ...newOptions.params };
|
|
77
|
+
}
|
|
78
|
+
// 处理cookie相关逻辑
|
|
79
|
+
if (typeof document !== 'undefined') {
|
|
80
|
+
// 根据cookieMode决定withCredentials的设置
|
|
81
|
+
const cookieMode = newOptions.cookieMode || 'header';
|
|
82
|
+
if (cookieMode === 'credentials' || cookieMode === 'both') {
|
|
83
|
+
// 使用withCredentials方式(需要服务器CORS支持)
|
|
84
|
+
newOptions.withCredentials = true;
|
|
85
|
+
}
|
|
86
|
+
else if (newOptions.withCredentials === true) {
|
|
87
|
+
// 用户明确设置了withCredentials为true
|
|
88
|
+
newOptions.withCredentials = true;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
// 默认不使用withCredentials,避免CORS问题
|
|
92
|
+
newOptions.withCredentials = false;
|
|
93
|
+
}
|
|
94
|
+
// 处理自定义cookie
|
|
95
|
+
if (newOptions.cookies && Object.keys(newOptions.cookies).length > 0) {
|
|
96
|
+
if (cookieMode === 'credentials' || cookieMode === 'both') {
|
|
97
|
+
// 方式1:设置到浏览器cookie(受同源策略限制)
|
|
98
|
+
Object.entries(newOptions.cookies).forEach(([name, value]) => {
|
|
99
|
+
index$1.default.set(name, value);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
if (cookieMode === 'header' || cookieMode === 'both') {
|
|
103
|
+
// 方式2:通过请求头传递cookie值(推荐,避免CORS限制)
|
|
104
|
+
if (!newOptions.headers) {
|
|
105
|
+
newOptions.headers = {};
|
|
106
|
+
}
|
|
107
|
+
const cookieString = Object.entries(newOptions.cookies)
|
|
108
|
+
.map(([name, value]) => `${name}=${value}`)
|
|
109
|
+
.join('; ');
|
|
110
|
+
const headerName = newOptions.cookieHeaderName || 'X-Custom-Cookie';
|
|
111
|
+
newOptions.headers[headerName] = cookieString;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
// 处理CSRF token
|
|
115
|
+
if (newOptions.autoCSRF) {
|
|
116
|
+
const csrfToken = index$1.default.read(newOptions.csrfCookieName || 'csrftoken');
|
|
117
|
+
if (csrfToken) {
|
|
118
|
+
if (!newOptions.headers) {
|
|
119
|
+
newOptions.headers = {};
|
|
120
|
+
}
|
|
121
|
+
newOptions.headers[newOptions.csrfHeaderName || 'X-CSRFToken'] = csrfToken;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
if (typeof sessionStorage !== 'undefined') {
|
|
126
|
+
// 获取要添加token的url
|
|
127
|
+
const tokenUrl = sessionStorage.getItem('tokenUrl') || '';
|
|
128
|
+
// 请求的地址判断
|
|
129
|
+
if (url.search(tokenUrl) !== -1) {
|
|
130
|
+
// 如果没有配置请求头,就给一个默认的对象
|
|
131
|
+
if (!newOptions.headers) {
|
|
132
|
+
newOptions.headers = {};
|
|
133
|
+
}
|
|
134
|
+
if (!newOptions.headers.Authorization) {
|
|
135
|
+
const authorization = sessionStorage.getItem('jwtToken') || localStorage.getItem('jwtToken');
|
|
136
|
+
if (authorization) {
|
|
137
|
+
newOptions.headers.Authorization = authorization;
|
|
138
|
+
}
|
|
139
|
+
delete newOptions.headers.authorization;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
delete newOptions.headers.usertoken;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
newOptions.method = newOptions.method?.toLowerCase();
|
|
147
|
+
if (newOptions.method === 'get') {
|
|
148
|
+
if (typeof newOptions.params === 'object') {
|
|
149
|
+
// 如果是get请求,那就把参数拼接到url上
|
|
150
|
+
url = `${url}?${index$2.buildQueryParams(newOptions.params)}`;
|
|
151
|
+
delete newOptions.params;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
else if (newOptions.manner === 'json') {
|
|
155
|
+
newOptions.requestType = 'json';
|
|
156
|
+
// json格式
|
|
157
|
+
newOptions.headers = {
|
|
158
|
+
...newOptions.headers,
|
|
159
|
+
...{ 'Content-Type': 'application/json;charset=utf-8' }
|
|
160
|
+
};
|
|
161
|
+
if (!newOptions.params) {
|
|
162
|
+
newOptions.params = {};
|
|
163
|
+
}
|
|
164
|
+
if (options.reqEnv === 'rn') {
|
|
165
|
+
newOptions.body = JSON.stringify(newOptions.params);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
newOptions.data = newOptions.params;
|
|
169
|
+
}
|
|
170
|
+
delete newOptions.params;
|
|
171
|
+
}
|
|
172
|
+
else if (newOptions.manner === 'form') {
|
|
173
|
+
newOptions.requestType = 'form';
|
|
174
|
+
if (typeof newOptions.params === 'object' && Object.keys(newOptions.params).length > 0) {
|
|
175
|
+
// json格式
|
|
176
|
+
newOptions.headers = {
|
|
177
|
+
...newOptions.headers,
|
|
178
|
+
...{ 'Content-Type': 'application/x-www-form-urlencoded' }
|
|
179
|
+
};
|
|
180
|
+
if (newOptions.reqEnv === 'rn') {
|
|
181
|
+
newOptions.body = index$2.buildQueryParams(newOptions.params);
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
newOptions.data = index$2.buildQueryParams(newOptions.params);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
delete newOptions.params;
|
|
188
|
+
}
|
|
189
|
+
// 如果是上传的文件
|
|
190
|
+
if (newOptions.manner === 'file') {
|
|
191
|
+
// 完整表单
|
|
192
|
+
const formData = new FormData();
|
|
193
|
+
if (Array.isArray(newOptions.params)) {
|
|
194
|
+
newOptions.params.forEach((item) => {
|
|
195
|
+
if (newOptions.reqEnv === 'rn') {
|
|
196
|
+
formData.append('file', {
|
|
197
|
+
uri: item.uri,
|
|
198
|
+
type: 'application/octet-stream',
|
|
199
|
+
name: item.name
|
|
200
|
+
});
|
|
201
|
+
formData.append('fileId', item.fileId);
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
formData.append('file', item);
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
else if (newOptions.reqEnv === 'rn') {
|
|
209
|
+
formData.append('file', {
|
|
210
|
+
uri: newOptions.params.uri,
|
|
211
|
+
type: 'application/octet-stream',
|
|
212
|
+
name: newOptions.params.name
|
|
213
|
+
});
|
|
214
|
+
formData.append('fileId', newOptions.params.fileId);
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
formData.append('file', newOptions.params);
|
|
218
|
+
formData.append('fileId', newOptions.params.fileId);
|
|
219
|
+
}
|
|
220
|
+
newOptions.params = formData;
|
|
221
|
+
newOptions.data = formData;
|
|
222
|
+
newOptions.body = formData;
|
|
223
|
+
// 设置请求头为:multipart/form-data;charset=utf-8
|
|
224
|
+
newOptions.headers = {
|
|
225
|
+
...newOptions.headers,
|
|
226
|
+
...{ 'Content-Type': 'multipart/form-data;charset=utf-8' }
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
delete newOptions.setToken;
|
|
230
|
+
newOptions.url = url;
|
|
231
|
+
return newOptions;
|
|
232
|
+
};
|
|
233
|
+
const colorList = [
|
|
234
|
+
'#2db7f5',
|
|
235
|
+
'#87d068',
|
|
236
|
+
'#108ee9',
|
|
237
|
+
'#f50',
|
|
238
|
+
'#e6f7ff',
|
|
239
|
+
'#d4387e',
|
|
240
|
+
'#ffc1a5',
|
|
241
|
+
'#781db3',
|
|
242
|
+
'#096de0',
|
|
243
|
+
'#e79908'
|
|
244
|
+
];
|
|
245
|
+
/**
|
|
246
|
+
* 请求错误拦截——后台返回错误数据的拦截,到这里的话,相当于http状态码的校验已经通过了
|
|
247
|
+
* @param data 后台传递的结果数据
|
|
248
|
+
* @param url 请求的地址
|
|
249
|
+
* @param newOptions 请求的配置项
|
|
250
|
+
* @param callback 回调函数
|
|
251
|
+
*/
|
|
252
|
+
const responseErrorIntercept = (data, newOptions, url, callback) => {
|
|
253
|
+
if (newOptions.cacheLog && !newOptions.isFile) {
|
|
254
|
+
// 存储下日志
|
|
255
|
+
index$3.default.addReqQueue(data, newOptions.reqUuid);
|
|
256
|
+
}
|
|
257
|
+
// 判断是否是开发环境
|
|
258
|
+
if (newOptions.showLog && !newOptions.isFile) {
|
|
259
|
+
// 获取0到5之间的随机数
|
|
260
|
+
const random = Math.floor(Math.random() * colorList.length);
|
|
261
|
+
console.log(`%c ${new Date().toLocaleString()}本次请求信息:`, `color:${colorList[random]}`, {
|
|
262
|
+
url,
|
|
263
|
+
req: newOptions.params,
|
|
264
|
+
res: data,
|
|
265
|
+
opt: newOptions
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
// 如果有自定义回调,使用自定义回调即可
|
|
269
|
+
if (callback) {
|
|
270
|
+
return callback(data);
|
|
271
|
+
}
|
|
272
|
+
let jsonData = null;
|
|
273
|
+
if (typeof data === 'undefined' || data === null) {
|
|
274
|
+
// 没有返回数据
|
|
275
|
+
data = { code: 504, msg: index.codeMessage[504] };
|
|
276
|
+
}
|
|
277
|
+
// 判断是否文件下载
|
|
278
|
+
if (newOptions.isFile) {
|
|
279
|
+
jsonData = data;
|
|
280
|
+
}
|
|
281
|
+
else if (Number(data.code) === 0) {
|
|
282
|
+
// 缓存操作
|
|
283
|
+
if (newOptions.cacheData && newOptions.cacheKey && typeof sessionStorage !== 'undefined') {
|
|
284
|
+
newOptions.cacheControl = newOptions.cacheControl || 30000;
|
|
285
|
+
const cacheData = {
|
|
286
|
+
// 30秒内不会有新请求出去
|
|
287
|
+
expires: new Date().getTime() + newOptions.cacheControl,
|
|
288
|
+
data: data.result
|
|
289
|
+
};
|
|
290
|
+
sessionStorage.setItem(newOptions.cacheKey, JSON.stringify(cacheData));
|
|
291
|
+
}
|
|
292
|
+
jsonData = data.result;
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
const status = data.code || data.status;
|
|
296
|
+
const errorData = {
|
|
297
|
+
msg: data.msg || data.errmsg || index.codeMessage[status],
|
|
298
|
+
url,
|
|
299
|
+
status,
|
|
300
|
+
code: status,
|
|
301
|
+
statusText: data.msg
|
|
302
|
+
};
|
|
303
|
+
return Promise.reject({ ...data, ...errorData });
|
|
304
|
+
}
|
|
305
|
+
if (newOptions.resNullReplace) {
|
|
306
|
+
index$4.default.replaceEmpty(jsonData, newOptions.resNullReplace);
|
|
307
|
+
}
|
|
308
|
+
if (newOptions.resReplaceField) {
|
|
309
|
+
index$4.default.replaceFieldsEmpty(jsonData, newOptions.resReplaceField, newOptions.resNullReplace);
|
|
310
|
+
}
|
|
311
|
+
// 返回数据
|
|
312
|
+
return jsonData;
|
|
313
|
+
};
|
|
314
|
+
// 生成fetch请求
|
|
315
|
+
const generateFetchRequest = () => {
|
|
316
|
+
let originalFetch = undefined;
|
|
317
|
+
if (typeof window !== 'undefined' && window?.fetch) {
|
|
318
|
+
originalFetch = window.fetch;
|
|
319
|
+
}
|
|
320
|
+
else if (typeof fetch !== 'undefined') {
|
|
321
|
+
originalFetch = fetch;
|
|
322
|
+
}
|
|
323
|
+
return originalFetch;
|
|
324
|
+
};
|
|
325
|
+
const getRequestUtils = (option) => {
|
|
326
|
+
let requestUtil = axios;
|
|
327
|
+
if (option.reqEnv === 'browser') {
|
|
328
|
+
requestUtil = axios;
|
|
329
|
+
}
|
|
330
|
+
else if (option.reqEnv === 'rn') {
|
|
331
|
+
requestUtil = generateFetchRequest();
|
|
332
|
+
}
|
|
333
|
+
else if (option.reqEnv === 'fetch') {
|
|
334
|
+
requestUtil = generateFetchRequest();
|
|
335
|
+
}
|
|
336
|
+
else if (option.reqEnv === 'uni') {
|
|
337
|
+
// 使用uniRequest
|
|
338
|
+
requestUtil = index$5.default;
|
|
339
|
+
}
|
|
340
|
+
else {
|
|
341
|
+
// 对环境进行判断
|
|
342
|
+
// eslint-disable-next-line no-lonely-if
|
|
343
|
+
if (typeof window !== 'undefined') {
|
|
344
|
+
requestUtil = axios;
|
|
345
|
+
}
|
|
346
|
+
else if (typeof fetch !== 'undefined') {
|
|
347
|
+
requestUtil = generateFetchRequest();
|
|
348
|
+
// @ts-ignore
|
|
349
|
+
}
|
|
350
|
+
else if (typeof uni !== 'undefined' && typeof uni.request !== 'undefined') {
|
|
351
|
+
requestUtil = index$5.default;
|
|
352
|
+
}
|
|
353
|
+
else {
|
|
354
|
+
requestUtil = axios;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
return requestUtil;
|
|
358
|
+
};
|
|
359
|
+
|
|
360
|
+
exports.colorList = colorList;
|
|
361
|
+
exports.generateFetchRequest = generateFetchRequest;
|
|
362
|
+
exports.getRequestUtils = getRequestUtils;
|
|
363
|
+
exports.requestErrorIntercept = requestErrorIntercept;
|
|
364
|
+
exports.responseErrorIntercept = responseErrorIntercept;
|
|
365
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/request/httpUtils/index.ts"],"sourcesContent":[null],"names":["defOption","cookieUtils","buildQueryParams","ReqQueue","codeMessage","stringUtils","uniRequest"],"mappings":"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"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var index$3 = require('./httpCode/index.cjs');
|
|
6
|
+
var index$2 = require('./httpUtils/index.cjs');
|
|
7
|
+
var index$1 = require('./ReqQueue/index.cjs');
|
|
8
|
+
var index = require('../core/cryptoUtils/index.cjs');
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* 状态码检测
|
|
12
|
+
* @param response 返回值
|
|
13
|
+
* @param opt 请求配置
|
|
14
|
+
* @return {*}
|
|
15
|
+
*/
|
|
16
|
+
const checkStatus = async (response, opt) => {
|
|
17
|
+
if (opt.cacheLog && !opt.isFile) {
|
|
18
|
+
// 存储下日志
|
|
19
|
+
await index$1.default.addReqQueue(response, opt.reqUuid);
|
|
20
|
+
}
|
|
21
|
+
if (response.status >= 200 && response.status < 300) {
|
|
22
|
+
// 如果是浏览器,并且没有指定fetch,就返回data
|
|
23
|
+
if (opt.reqEnv === 'fetch') {
|
|
24
|
+
return response.json();
|
|
25
|
+
}
|
|
26
|
+
if (opt.reqEnv !== 'rn') {
|
|
27
|
+
return response.data;
|
|
28
|
+
}
|
|
29
|
+
return response.json();
|
|
30
|
+
}
|
|
31
|
+
// 请求异常
|
|
32
|
+
const msg = response.data?.msg || index$3.codeMessage[response.status];
|
|
33
|
+
const errorData = {
|
|
34
|
+
msg: msg,
|
|
35
|
+
message: msg,
|
|
36
|
+
url: response.url,
|
|
37
|
+
status: response.status,
|
|
38
|
+
code: response.status,
|
|
39
|
+
statusText: index$3.codeMessage[response.status],
|
|
40
|
+
response
|
|
41
|
+
};
|
|
42
|
+
return Promise.reject(errorData);
|
|
43
|
+
};
|
|
44
|
+
const binRequest = async (url, option = {}, errorHandler, callback) => {
|
|
45
|
+
// 判断是否开启了日志
|
|
46
|
+
if (option.cacheLog) {
|
|
47
|
+
option.reqUuid = await index.default.uuid();
|
|
48
|
+
index$1.default.init({
|
|
49
|
+
cacheMethod: option.cacheMethod,
|
|
50
|
+
maxQueueLength: option.maxCacheLog
|
|
51
|
+
});
|
|
52
|
+
await index$1.default.addReqQueue(url, option.reqUuid);
|
|
53
|
+
// 存储下日志
|
|
54
|
+
await index$1.default.addReqQueue(option, option.reqUuid);
|
|
55
|
+
}
|
|
56
|
+
// 地址拦截
|
|
57
|
+
if (url.length === 0) {
|
|
58
|
+
return Promise.reject(new Error('无效的请求地址'));
|
|
59
|
+
}
|
|
60
|
+
// 如果开启了缓存
|
|
61
|
+
if (option.cacheData && typeof sessionStorage !== 'undefined') {
|
|
62
|
+
const cacheKey = url + JSON.stringify(option.params);
|
|
63
|
+
option.cacheKey = cacheKey;
|
|
64
|
+
// 拿到缓存的数据
|
|
65
|
+
const cacheData = JSON.parse(sessionStorage.getItem(cacheKey) || '{}');
|
|
66
|
+
// 判断是否有效
|
|
67
|
+
if (new Date().getTime() < cacheData.expires) {
|
|
68
|
+
// 有效
|
|
69
|
+
return new Promise(resolve => resolve(cacheData.data));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const requestUtil = index$2.getRequestUtils(option);
|
|
73
|
+
// 判断是否外部接口
|
|
74
|
+
if (option.isExternal) {
|
|
75
|
+
return requestUtil(url, option).then((resJson) => {
|
|
76
|
+
if (callback) {
|
|
77
|
+
return callback(resJson);
|
|
78
|
+
}
|
|
79
|
+
return resJson;
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
// 检查参数
|
|
83
|
+
const newOptions = index$2.requestErrorIntercept(url, option);
|
|
84
|
+
if (typeof AbortController !== 'undefined') {
|
|
85
|
+
const controller = new AbortController();
|
|
86
|
+
newOptions.signal = controller.signal;
|
|
87
|
+
if (option.reqEnv !== 'rn') {
|
|
88
|
+
setTimeout(() => {
|
|
89
|
+
controller.abort();
|
|
90
|
+
}, newOptions.timeout);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (option.reqType === 'sse') {
|
|
94
|
+
try {
|
|
95
|
+
const fetchObj = {
|
|
96
|
+
method: newOptions.method,
|
|
97
|
+
headers: newOptions.headers,
|
|
98
|
+
body: JSON.stringify(newOptions.data)
|
|
99
|
+
};
|
|
100
|
+
const originalFetch = index$2.generateFetchRequest();
|
|
101
|
+
const response = await originalFetch(newOptions.url, fetchObj);
|
|
102
|
+
const decoder = new TextDecoder('utf-8');
|
|
103
|
+
const encoder = new TextEncoder();
|
|
104
|
+
const reader = response.body?.getReader();
|
|
105
|
+
if (reader) {
|
|
106
|
+
const readableStream = new ReadableStream({
|
|
107
|
+
async start(controller) {
|
|
108
|
+
function push() {
|
|
109
|
+
reader.read().then(({ done, value }) => {
|
|
110
|
+
if (done) {
|
|
111
|
+
controller.close();
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const chunk = decoder.decode(value, { stream: true });
|
|
115
|
+
controller.enqueue(encoder.encode(chunk));
|
|
116
|
+
push();
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
push();
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
return new Response(readableStream);
|
|
123
|
+
}
|
|
124
|
+
return Error('无效的reader');
|
|
125
|
+
}
|
|
126
|
+
catch (e) {
|
|
127
|
+
console.log('e', e);
|
|
128
|
+
// 抛出异常
|
|
129
|
+
return Promise.reject(e);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return (requestUtil(newOptions.url, newOptions)
|
|
133
|
+
// 先对请求状态码进行检查
|
|
134
|
+
.then(async (res) => await checkStatus(res, newOptions))
|
|
135
|
+
// 检查响应数据
|
|
136
|
+
.then((resJson) => index$2.responseErrorIntercept(resJson, newOptions, url, callback))
|
|
137
|
+
.catch((e) => {
|
|
138
|
+
if (e.code === 'ECONNABORTED' || e.code === 20) {
|
|
139
|
+
e = {
|
|
140
|
+
...e,
|
|
141
|
+
code: 20,
|
|
142
|
+
meg: index$3.codeMessage[20],
|
|
143
|
+
message: index$3.codeMessage[20]
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
if (e.code === 'transitional' || e.message === 'Failed to fetch') {
|
|
147
|
+
e = {
|
|
148
|
+
...e,
|
|
149
|
+
code: 'transitional',
|
|
150
|
+
meg: index$3.codeMessage['transitional'],
|
|
151
|
+
message: index$3.codeMessage['transitional']
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
if (option.cacheLog) {
|
|
155
|
+
// 存储下日志
|
|
156
|
+
index$1.default.addReqQueue(e, option.reqUuid);
|
|
157
|
+
}
|
|
158
|
+
if (errorHandler) {
|
|
159
|
+
errorHandler(e, newOptions);
|
|
160
|
+
if (!newOptions.errorContinue) {
|
|
161
|
+
return Promise.reject(e);
|
|
162
|
+
}
|
|
163
|
+
return { code: 0 };
|
|
164
|
+
}
|
|
165
|
+
return Promise.reject(e);
|
|
166
|
+
}));
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
exports.default = binRequest;
|
|
170
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/request/index.ts"],"sourcesContent":[null],"names":["ReqQueue","codeMessage","cryptoUtils","getRequestUtils","requestErrorIntercept","generateFetchRequest","responseErrorIntercept"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IRequestOption, ICallBack } from './typings/index.js';
|
|
2
|
+
|
|
3
|
+
type IZlResponse = {
|
|
4
|
+
code: number;
|
|
5
|
+
msg: string;
|
|
6
|
+
message: string;
|
|
7
|
+
result: any;
|
|
8
|
+
url: string;
|
|
9
|
+
status: number;
|
|
10
|
+
statusText: string;
|
|
11
|
+
};
|
|
12
|
+
declare const binRequest: (url: string, option?: IRequestOption, errorHandler?: (error: IZlResponse, opt: IRequestOption) => void, callback?: ICallBack) => Promise<any>;
|
|
13
|
+
|
|
14
|
+
export { binRequest as default };
|
|
15
|
+
export type { IZlResponse };
|