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