tools-min-ns 1.5.2 → 1.7.0

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.
@@ -4,7 +4,7 @@
4
4
  * @author nanshen
5
5
  * @creat 2021-09-15 14:40:07
6
6
  */
7
- import BaseUtil from "../base/BaseUtil";
7
+ import BaseUtil from '../base/BaseUtil';
8
8
  var TransferUtil;
9
9
  (function (TransferUtil) {
10
10
  /**
@@ -42,7 +42,7 @@ var TransferUtil;
42
42
  if (BaseUtil.isEmpty(file)) return undefined;
43
43
  return new Promise(function (resolve, reject) {
44
44
  var reader = new FileReader();
45
- var imgResult = "";
45
+ var imgResult = '';
46
46
  reader.readAsDataURL(file);
47
47
  reader.onload = function () {
48
48
  imgResult = reader.result;
@@ -65,7 +65,7 @@ var TransferUtil;
65
65
  function getFileByBase64(base64, filename) {
66
66
  var _a, _b;
67
67
  if (BaseUtil.isEmpty(base64)) return undefined;
68
- var arr = base64.split(","),
68
+ var arr = base64.split(','),
69
69
  mime = (_b = (_a = arr === null || arr === void 0 ? void 0 : arr[0]) === null || _a === void 0 ? void 0 : _a.match(/:(.*?);/)) === null || _b === void 0 ? void 0 : _b[1],
70
70
  bstr = window.atob(arr[1]),
71
71
  n = bstr.length,
@@ -88,12 +88,12 @@ var TransferUtil;
88
88
  var _a, _b, _c;
89
89
  if (BaseUtil.isEmpty(base64)) return undefined;
90
90
  var byteString;
91
- if (((_b = (_a = base64 === null || base64 === void 0 ? void 0 : base64.split(",")) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.indexOf("base64")) >= 0) byteString = atob(base64.split(",")[1]);
91
+ if (((_b = (_a = base64 === null || base64 === void 0 ? void 0 : base64.split(',')) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.indexOf('base64')) >= 0) byteString = atob(base64.split(',')[1]);
92
92
  //base64 解码
93
93
  else {
94
- byteString = unescape((_c = base64.split(",")) === null || _c === void 0 ? void 0 : _c[1]);
94
+ byteString = unescape((_c = base64.split(',')) === null || _c === void 0 ? void 0 : _c[1]);
95
95
  }
96
- var mimeString = base64.split(",")[0].split(":")[1].split(";")[0]; //mime类型 -- image/png
96
+ var mimeString = base64.split(',')[0].split(':')[1].split(';')[0]; //mime类型 -- image/png
97
97
  var ia = new Uint8Array(byteString.length); //创建视图
98
98
  for (var i = 0; i < byteString.length; i++) {
99
99
  ia[i] = byteString.charCodeAt(i);
@@ -120,7 +120,7 @@ var TransferUtil;
120
120
  return new Promise(function (resolve, reject) {
121
121
  var reader = new FileReader();
122
122
  reader.readAsDataURL(blob);
123
- var imgResult = "";
123
+ var imgResult = '';
124
124
  reader.onload = function (e) {
125
125
  var _a;
126
126
  imgResult = (_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.result;
@@ -145,20 +145,20 @@ var TransferUtil;
145
145
  if (useDom === void 0) {
146
146
  useDom = false;
147
147
  }
148
- if (BaseUtil.isEmpty(text)) return "";
149
- var output = "";
148
+ if (BaseUtil.isEmpty(text)) return '';
149
+ var output = '';
150
150
  if (useDom) {
151
- var el = document.createElement("div");
151
+ var el = document.createElement('div');
152
152
  el.textContent !== undefined ? el.textContent = text : el.innerText = text;
153
153
  output = el.innerHTML;
154
154
  el = null;
155
155
  } else {
156
- output = text.replace(/&/g, "&amp;");
157
- output = output.replace(/</g, "&lt;");
158
- output = output.replace(/>/g, "&gt;");
159
- output = output.replace(/\s/g, "&nbsp;");
160
- output = output.replace(/\\'/g, "&#39;");
161
- output = output.replace(/\\"/g, "&quot;");
156
+ output = text.replace(/&/g, '&amp;');
157
+ output = output.replace(/</g, '&lt;');
158
+ output = output.replace(/>/g, '&gt;');
159
+ output = output.replace(/\s/g, '&nbsp;');
160
+ output = output.replace(/\\'/g, '&#39;');
161
+ output = output.replace(/\\"/g, '&quot;');
162
162
  }
163
163
  return output;
164
164
  }
@@ -174,18 +174,18 @@ var TransferUtil;
174
174
  if (useDom === void 0) {
175
175
  useDom = false;
176
176
  }
177
- if (BaseUtil.isEmpty(text)) return "";
178
- var output = "";
177
+ if (BaseUtil.isEmpty(text)) return '';
178
+ var output = '';
179
179
  if (useDom) {
180
- var el = document.createElement("div");
180
+ var el = document.createElement('div');
181
181
  el.innerHTML = text;
182
- output = (el === null || el === void 0 ? void 0 : el.innerText) || (el === null || el === void 0 ? void 0 : el.textContent) || "";
182
+ output = (el === null || el === void 0 ? void 0 : el.innerText) || (el === null || el === void 0 ? void 0 : el.textContent) || '';
183
183
  el = null;
184
184
  } else {
185
- output = text.replace(/&amp;/g, "&");
186
- output = output.replace(/&lt;/g, "<");
187
- output = output.replace(/&gt;/g, ">");
188
- output = output.replace(/&nbsp;/g, " ");
185
+ output = text.replace(/&amp;/g, '&');
186
+ output = output.replace(/&lt;/g, '<');
187
+ output = output.replace(/&gt;/g, '>');
188
+ output = output.replace(/&nbsp;/g, ' ');
189
189
  output = output.replace(/&#39;/g, "'");
190
190
  output = output.replace(/&quot;/g, '"');
191
191
  }
@@ -199,26 +199,26 @@ var TransferUtil;
199
199
  * digitUppercase(1) => 壹元整
200
200
  */
201
201
  function digitUppercase(n) {
202
- var fraction = ["", ""];
203
- var digit = ["", "", "", "", "", "", "", "", "", ""];
204
- var unit = [["", "", "亿"], ["", "", "", ""]];
205
- var head = n < 0 ? "" : "";
202
+ var fraction = ['', ''];
203
+ var digit = ['', '', '', '', '', '', '', '', '', ''];
204
+ var unit = [['', '', '亿'], ['', '', '', '']];
205
+ var head = n < 0 ? '' : '';
206
206
  n = Math.abs(n);
207
- var s = "";
207
+ var s = '';
208
208
  for (var i = 0; i < fraction.length; i++) {
209
- s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, "");
209
+ s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
210
210
  }
211
- s = s || "";
211
+ s = s || '';
212
212
  n = Math.floor(n);
213
213
  for (var i = 0; i < unit[0].length && n > 0; i++) {
214
- var p = "";
214
+ var p = '';
215
215
  for (var j = 0; j < unit[1].length && n > 0; j++) {
216
216
  p = digit[n % 10] + unit[1][j] + p;
217
217
  n = Math.floor(n / 10);
218
218
  }
219
- s = p.replace(/(零.)*零$/, "").replace(/^$/, "") + unit[0][i] + s;
219
+ s = p.replace(/(零.)*零$/, '').replace(/^$/, '') + unit[0][i] + s;
220
220
  }
221
- return head + s.replace(/(零.)*零元/, "").replace(/(零.)+/g, "").replace(/^整$/, "零元整");
221
+ return head + s.replace(/(零.)*零元/, '').replace(/(零.)+/g, '').replace(/^整$/, '零元整');
222
222
  }
223
223
  TransferUtil.digitUppercase = digitUppercase;
224
224
  /**
@@ -228,22 +228,22 @@ var TransferUtil;
228
228
  * digitUppercase(1) => 一
229
229
  */
230
230
  function toChinesNum(num) {
231
- var changeNum = ["", "", "", "", "", "", "", "", "", ""]; //changeNum[0] = "零"
232
- var unit = ["", "", "", "", ""];
231
+ var changeNum = ['', '', '', '', '', '', '', '', '', '']; //changeNum[0] = "零"
232
+ var unit = ['', '', '', '', ''];
233
233
  num = parseInt("".concat(num));
234
234
  var getWan = function getWan(temp) {
235
235
  var _a, _b;
236
- var strArr = (_b = (_a = "".concat(temp)) === null || _a === void 0 ? void 0 : _a.split("")) === null || _b === void 0 ? void 0 : _b.reverse();
237
- var newNum = "";
236
+ var strArr = (_b = (_a = "".concat(temp)) === null || _a === void 0 ? void 0 : _a.split('')) === null || _b === void 0 ? void 0 : _b.reverse();
237
+ var newNum = '';
238
238
  for (var i = 0; i < strArr.length; i++) {
239
- newNum = (i == 0 && (strArr === null || strArr === void 0 ? void 0 : strArr[i]) === 0 ? "" : i > 0 && (strArr === null || strArr === void 0 ? void 0 : strArr[i]) === 0 && (strArr === null || strArr === void 0 ? void 0 : strArr[i - 1]) === 0 ? "" : changeNum[strArr[i]] + ((strArr === null || strArr === void 0 ? void 0 : strArr[i]) == 0 ? unit[0] : unit[i])) + newNum;
239
+ newNum = (i == 0 && (strArr === null || strArr === void 0 ? void 0 : strArr[i]) === 0 ? '' : i > 0 && (strArr === null || strArr === void 0 ? void 0 : strArr[i]) === 0 && (strArr === null || strArr === void 0 ? void 0 : strArr[i - 1]) === 0 ? '' : changeNum[strArr[i]] + ((strArr === null || strArr === void 0 ? void 0 : strArr[i]) == 0 ? unit[0] : unit[i])) + newNum;
240
240
  }
241
241
  return newNum;
242
242
  };
243
243
  var overWan = Math.floor(num / 10000);
244
244
  var noWan = num % 10000;
245
- if (noWan.toString().length < 4) noWan = "0" + noWan;
246
- return overWan ? getWan(overWan) + "" + getWan(noWan) : getWan(num);
245
+ if (noWan.toString().length < 4) noWan = '0' + noWan;
246
+ return overWan ? getWan(overWan) + '' + getWan(noWan) : getWan(num);
247
247
  }
248
248
  TransferUtil.toChinesNum = toChinesNum;
249
249
  /**
@@ -258,9 +258,9 @@ var TransferUtil;
258
258
  index = 2;
259
259
  }
260
260
  if (!/^(0|[1-9]\d*)(\.\d+)?$/.test("".concat(value))) {
261
- return "暂无数据"; //暂无数据
261
+ return ''; //暂无数据
262
262
  }
263
- var newValue = ["", "", ""];
263
+ var newValue = ['', '', ''];
264
264
  var fr = 1000;
265
265
  var num = 3;
266
266
  while (value / fr >= 1) {
@@ -269,39 +269,39 @@ var TransferUtil;
269
269
  }
270
270
  if (num <= 4) {
271
271
  // 千
272
- newValue[1] = "";
272
+ newValue[1] = '';
273
273
  newValue[0] = (value / 1000).toFixed(index);
274
274
  } else if (num <= 8) {
275
275
  // 万
276
- var text1 = parseInt("".concat(num - 4)) / 3 > 1 ? "千万" : "";
276
+ var text1 = parseInt("".concat(num - 4)) / 3 > 1 ? '千万' : '';
277
277
  // tslint:disable-next-line:no-shadowed-variable
278
- var fm = "" === text1 ? 10000 : 10000000;
278
+ var fm = '' === text1 ? 10000 : 10000000;
279
279
  newValue[1] = text1;
280
280
  newValue[0] = (value / fm).toFixed(index);
281
281
  } else if (num <= 16) {
282
282
  // 亿
283
- var text1 = (num - 8) / 3 > 1 ? "千亿" : "亿";
284
- text1 = (num - 8) / 4 > 1 ? "万亿" : text1;
285
- text1 = (num - 8) / 7 > 1 ? "千万亿" : text1;
283
+ var text1 = (num - 8) / 3 > 1 ? '千亿' : '亿';
284
+ text1 = (num - 8) / 4 > 1 ? '万亿' : text1;
285
+ text1 = (num - 8) / 7 > 1 ? '千万亿' : text1;
286
286
  // tslint:disable-next-line:no-shadowed-variable
287
287
  var fm = 1;
288
- if ("亿" === text1) {
288
+ if ('亿' === text1) {
289
289
  fm = 100000000;
290
- } else if ("千亿" === text1) {
290
+ } else if ('千亿' === text1) {
291
291
  fm = 100000000000;
292
- } else if ("万亿" === text1) {
292
+ } else if ('万亿' === text1) {
293
293
  fm = 1000000000000;
294
- } else if ("千万亿" === text1) {
294
+ } else if ('千万亿' === text1) {
295
295
  fm = 1000000000000000;
296
296
  }
297
297
  newValue[1] = text1;
298
298
  newValue[0] = (value / fm).toFixed(index);
299
299
  }
300
300
  if (value < 1000) {
301
- newValue[1] = "";
301
+ newValue[1] = '';
302
302
  newValue[0] = "".concat(value);
303
303
  }
304
- return newValue.join("");
304
+ return newValue.join('');
305
305
  }
306
306
  TransferUtil.numPlusUnit = numPlusUnit;
307
307
  /**
@@ -309,9 +309,9 @@ var TransferUtil;
309
309
  * @param bytes - 字节
310
310
  */
311
311
  TransferUtil.getFileSizeByBytes = function (bytes) {
312
- var sizes = ["B", "KB", "MB", "GB", "TB"];
312
+ var sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
313
313
  if (bytes === 0) {
314
- return "0B";
314
+ return '0B';
315
315
  }
316
316
  var i = Math.floor(Math.log(bytes) / Math.log(1024));
317
317
  if (i === 0) {
@@ -11,6 +11,7 @@ declare namespace BrowserUtil {
11
11
  * 获取浏览器id
12
12
  */
13
13
  const getId: () => Promise<any>;
14
+ function getIdSync(): string;
14
15
  /**
15
16
  * 获取浏览器类型
16
17
  * @returns Opera | IE | Edge | Firefox | Safari | Chrome | OverIE10 | ""
@@ -152,6 +152,27 @@ var BrowserUtil;
152
152
  });
153
153
  });
154
154
  };
155
+ function getIdSync() {
156
+ var fingerprint;
157
+ var canvas = document.createElement('canvas');
158
+ var ctx = canvas.getContext('2d');
159
+ var txt = window.location.host;
160
+ ctx.textBaseline = 'top';
161
+ ctx.font = "14px 'Arial'";
162
+ ctx.textBaseline = 'tencent';
163
+ ctx.fillStyle = '#f60';
164
+ ctx.fillRect(125, 1, 62, 20);
165
+ ctx.fillStyle = '#069';
166
+ ctx.fillText(txt, 2, 15);
167
+ ctx.fillStyle = 'rgba(102, 204, 0, 0.7)';
168
+ ctx.fillText(txt, 4, 17);
169
+ var b64 = canvas.toDataURL().replace('data:image/png;base64,', '');
170
+ var bin = atob(b64);
171
+ var crc = bin2hex(bin.slice(-16, -12));
172
+ fingerprint = crc;
173
+ return fingerprint;
174
+ }
175
+ BrowserUtil.getIdSync = getIdSync;
155
176
  /**
156
177
  * 获取浏览器类型
157
178
  * @returns Opera | IE | Edge | Firefox | Safari | Chrome | OverIE10 | ""
@@ -344,4 +365,16 @@ var BrowserUtil;
344
365
  }
345
366
  BrowserUtil.removeMark = removeMark;
346
367
  })(BrowserUtil || (BrowserUtil = {}));
347
- exports.default = BrowserUtil;
368
+ exports.default = BrowserUtil;
369
+ function bin2hex(s) {
370
+ var i,
371
+ l,
372
+ n,
373
+ o = '';
374
+ s += '';
375
+ for (i = 0, l = s.length; i < l; i++) {
376
+ n = s.charCodeAt(i).toString(16);
377
+ o += n.length < 2 ? '0' + n : n;
378
+ }
379
+ return o;
380
+ }
@@ -418,6 +418,22 @@ var CheckUtil;
418
418
  return /^(\d{4})\-(\d{2})\-(\d{2}) (\d{2})(?:\:\d{2}|:(\d{2}):(\d{2}))$/;
419
419
  case 'NUMBER':
420
420
  return /^[0-9]*$/;
421
+ case 'ZYLS_NUMBER':
422
+ return /^(\+)?(([1-9]\d*(\.\d+)?)|(\d*\.[1-9]\d*))$/;
423
+ case 'FYLS_NUMBER':
424
+ return /^-(0|[1-9]\d*)(\.\d+)?$/;
425
+ case 'Z0YLS_NUMBER':
426
+ return /^(\+)?(0|[1-9]\d*)(\.\d+)?$/;
427
+ case 'F0YLS_NUMBER':
428
+ return /^-(0|[1-9]\d*)(\.\d+)?|0$/;
429
+ case 'ZZS_NUMBER':
430
+ return /^(\+)?[1-9]\d*$/;
431
+ case 'FZS_NUMBER':
432
+ return /^-([1-9]\d*)$/;
433
+ case 'Z0ZS_NUMBER':
434
+ return /^(\+)?(0|[1-9]\d*)$/;
435
+ case 'F0ZS_NUMBER':
436
+ return /^-(0|[1-9]\d*)|0$/;
421
437
  case 'ENGLISH':
422
438
  return /^[a-zA-Z]+$/;
423
439
  case 'CHINESE':
package/lib/common.d.ts CHANGED
@@ -13,6 +13,14 @@ export declare const STR_TYPE: {
13
13
  IP: string;
14
14
  DATE: string;
15
15
  NUMBER: string;
16
+ ZYLS_NUMBER: string;
17
+ FYLS_NUMBER: string;
18
+ Z0YLS_NUMBER: string;
19
+ F0YLS_NUMBER: string;
20
+ ZZS_NUMBER: string;
21
+ FZS_NUMBER: string;
22
+ Z0ZS_NUMBER: string;
23
+ F0ZS_NUMBER: string;
16
24
  ENGLISH: string;
17
25
  CHINESE: string;
18
26
  LOWER: string;
package/lib/common.js CHANGED
@@ -19,6 +19,14 @@ exports.STR_TYPE = {
19
19
  IP: "IP",
20
20
  DATE: "日期时间",
21
21
  NUMBER: "数字",
22
+ ZYLS_NUMBER: "大于0的有理数:这个类别包括正小数和正整数,但不包括0。",
23
+ FYLS_NUMBER: "小于0的有理数:这个类别包括负小数和负整数。",
24
+ Z0YLS_NUMBER: "大于等于0的有理数:这个类别包括所有非负有理数,即正有理数和0。",
25
+ F0YLS_NUMBER: "小于等于0的有理数:这个类别包括所有非正有理数,即负有理数和0。",
26
+ ZZS_NUMBER: "大于0的整数:这个类别包括所有正整数。",
27
+ FZS_NUMBER: "小于0的整数:这个类别包括所有负整数。",
28
+ Z0ZS_NUMBER: "大于等于0的整数:这个类别包括所有非负整数,即正整数和0。",
29
+ F0ZS_NUMBER: "小于等于0的整数:这个类别包括所有非正整数,即负整数和0。",
22
30
  ENGLISH: "英文",
23
31
  CHINESE: "中文",
24
32
  LOWER: "小写",
@@ -0,0 +1,10 @@
1
+ declare namespace FileUtil {
2
+ /**
3
+ * 多个文件压缩成zip
4
+ * @param fileList
5
+ * @param onProgress
6
+ * @returns
7
+ */
8
+ function getZipByFiles(fileList: File[], onProgress?: (file: string, percent: number) => void): Promise<File>;
9
+ }
10
+ export default FileUtil;
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+
3
+ var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) {
5
+ return value instanceof P ? value : new P(function (resolve) {
6
+ resolve(value);
7
+ });
8
+ }
9
+ return new (P || (P = Promise))(function (resolve, reject) {
10
+ function fulfilled(value) {
11
+ try {
12
+ step(generator.next(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ }
17
+ function rejected(value) {
18
+ try {
19
+ step(generator["throw"](value));
20
+ } catch (e) {
21
+ reject(e);
22
+ }
23
+ }
24
+ function step(result) {
25
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
26
+ }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ var __generator = this && this.__generator || function (thisArg, body) {
31
+ var _ = {
32
+ label: 0,
33
+ sent: function sent() {
34
+ if (t[0] & 1) throw t[1];
35
+ return t[1];
36
+ },
37
+ trys: [],
38
+ ops: []
39
+ },
40
+ f,
41
+ y,
42
+ t,
43
+ g;
44
+ return g = {
45
+ next: verb(0),
46
+ "throw": verb(1),
47
+ "return": verb(2)
48
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
49
+ return this;
50
+ }), g;
51
+ function verb(n) {
52
+ return function (v) {
53
+ return step([n, v]);
54
+ };
55
+ }
56
+ function step(op) {
57
+ if (f) throw new TypeError("Generator is already executing.");
58
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
59
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
60
+ if (y = 0, t) op = [op[0] & 2, t.value];
61
+ switch (op[0]) {
62
+ case 0:
63
+ case 1:
64
+ t = op;
65
+ break;
66
+ case 4:
67
+ _.label++;
68
+ return {
69
+ value: op[1],
70
+ done: false
71
+ };
72
+ case 5:
73
+ _.label++;
74
+ y = op[1];
75
+ op = [0];
76
+ continue;
77
+ case 7:
78
+ op = _.ops.pop();
79
+ _.trys.pop();
80
+ continue;
81
+ default:
82
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
83
+ _ = 0;
84
+ continue;
85
+ }
86
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
87
+ _.label = op[1];
88
+ break;
89
+ }
90
+ if (op[0] === 6 && _.label < t[1]) {
91
+ _.label = t[1];
92
+ t = op;
93
+ break;
94
+ }
95
+ if (t && _.label < t[2]) {
96
+ _.label = t[2];
97
+ _.ops.push(op);
98
+ break;
99
+ }
100
+ if (t[2]) _.ops.pop();
101
+ _.trys.pop();
102
+ continue;
103
+ }
104
+ op = body.call(thisArg, _);
105
+ } catch (e) {
106
+ op = [6, e];
107
+ y = 0;
108
+ } finally {
109
+ f = t = 0;
110
+ }
111
+ if (op[0] & 5) throw op[1];
112
+ return {
113
+ value: op[0] ? op[1] : void 0,
114
+ done: true
115
+ };
116
+ }
117
+ };
118
+ var __values = this && this.__values || function (o) {
119
+ var s = typeof Symbol === "function" && Symbol.iterator,
120
+ m = s && o[s],
121
+ i = 0;
122
+ if (m) return m.call(o);
123
+ if (o && typeof o.length === "number") return {
124
+ next: function next() {
125
+ if (o && i >= o.length) o = void 0;
126
+ return {
127
+ value: o && o[i++],
128
+ done: !o
129
+ };
130
+ }
131
+ };
132
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
133
+ };
134
+ var __importDefault = this && this.__importDefault || function (mod) {
135
+ return mod && mod.__esModule ? mod : {
136
+ "default": mod
137
+ };
138
+ };
139
+ Object.defineProperty(exports, "__esModule", {
140
+ value: true
141
+ });
142
+ var jszip_1 = __importDefault(require("jszip"));
143
+ var FileUtil;
144
+ (function (FileUtil) {
145
+ /**
146
+ * 多个文件压缩成zip
147
+ * @param fileList
148
+ * @param onProgress
149
+ * @returns
150
+ */
151
+ function getZipByFiles(fileList, onProgress) {
152
+ return __awaiter(this, void 0, void 0, function () {
153
+ var zip, fileList_1, fileList_1_1, file_1, blob, file;
154
+ var e_1, _a;
155
+ return __generator(this, function (_b) {
156
+ switch (_b.label) {
157
+ case 0:
158
+ zip = new jszip_1.default();
159
+ try {
160
+ for (fileList_1 = __values(fileList), fileList_1_1 = fileList_1.next(); !fileList_1_1.done; fileList_1_1 = fileList_1.next()) {
161
+ file_1 = fileList_1_1.value;
162
+ zip.file(file_1.name, file_1);
163
+ }
164
+ } catch (e_1_1) {
165
+ e_1 = {
166
+ error: e_1_1
167
+ };
168
+ } finally {
169
+ try {
170
+ if (fileList_1_1 && !fileList_1_1.done && (_a = fileList_1.return)) _a.call(fileList_1);
171
+ } finally {
172
+ if (e_1) throw e_1.error;
173
+ }
174
+ }
175
+ return [4 /*yield*/, zip.generateAsync({
176
+ type: 'blob'
177
+ }, function (item) {
178
+ onProgress === null || onProgress === void 0 ? void 0 : onProgress(item.currentFile, item.percent);
179
+ })];
180
+ case 1:
181
+ blob = _b.sent();
182
+ file = new File([blob], "\u201C".concat(fileList[0].name, "\u201D\u7B49").concat(fileList.length, "\u4E2A\u6587\u4EF6.zip"), {
183
+ type: blob.type
184
+ });
185
+ return [2 /*return*/, file];
186
+ }
187
+ });
188
+ });
189
+ }
190
+ FileUtil.getZipByFiles = getZipByFiles;
191
+ })(FileUtil || (FileUtil = {}));
192
+ exports.default = FileUtil;
@@ -37,5 +37,10 @@ declare namespace ObjectUtil {
37
37
  * @returns
38
38
  */
39
39
  function mergeParams<A, B>(paramsA: A, paramsB: B): A & Required<B>;
40
+ /**
41
+ * 获取对象的唯一hash
42
+ * @param obj
43
+ */
44
+ function getHash(obj: any): number;
40
45
  }
41
46
  export default ObjectUtil;
@@ -36,9 +36,8 @@ Object.defineProperty(exports, "__esModule", {
36
36
  * @author nanshen
37
37
  * @creat 2021-09-15 14:23:23
38
38
  */
39
+ var StringUtil_1 = __importDefault(require("../string/StringUtil"));
39
40
  var BaseUtil_1 = __importDefault(require("../base/BaseUtil"));
40
- var isObject = BaseUtil_1.default.isObject,
41
- isArray = BaseUtil_1.default.isArray;
42
41
  var ObjectUtil;
43
42
  (function (ObjectUtil) {
44
43
  /**
@@ -50,12 +49,12 @@ var ObjectUtil;
50
49
  */
51
50
  function deepClone(source) {
52
51
  var target;
53
- if (isObject(source)) {
52
+ if (BaseUtil_1.default.isObject(source)) {
54
53
  target = {};
55
54
  for (var key in source) {
56
55
  target[key] = deepClone(source[key]);
57
56
  }
58
- } else if (isArray(source)) {
57
+ } else if (BaseUtil_1.default.isArray(source)) {
59
58
  target = [];
60
59
  for (var i = 0, len = source.length; i < len; i++) {
61
60
  target.push(deepClone(source[i]));
@@ -76,7 +75,7 @@ var ObjectUtil;
76
75
  // 判断 object 是否是数组或者对象,否则直接返回默认值 defaultValue
77
76
  if (!BaseUtil_1.default.isObject(object)) return defaultValue;
78
77
  // 沿着路径寻找到对应的值,未找到则返回默认值 defaultValue
79
- return path.split(".").reduce(function (o, k) {
78
+ return path.split('.').reduce(function (o, k) {
80
79
  return (o || {})[k];
81
80
  }, object) || defaultValue;
82
81
  }
@@ -91,7 +90,7 @@ var ObjectUtil;
91
90
  function setObjValue(object, path, value, isChangeOriginObj) {
92
91
  if (!BaseUtil_1.default.isObject(object)) return object;
93
92
  var newObj = isChangeOriginObj ? object : deepClone(object);
94
- path.split(".").reduce(function (o, k, i, _) {
93
+ path.split('.').reduce(function (o, k, i, _) {
95
94
  if (i === _.length - 1) {
96
95
  // 若遍历结束直接赋值
97
96
  o[k] = value;
@@ -164,5 +163,14 @@ var ObjectUtil;
164
163
  return newData;
165
164
  }
166
165
  ObjectUtil.mergeParams = mergeParams;
166
+ /**
167
+ * 获取对象的唯一hash
168
+ * @param obj
169
+ */
170
+ function getHash(obj) {
171
+ var str = JSON.stringify(obj);
172
+ return StringUtil_1.default.getHash(str);
173
+ }
174
+ ObjectUtil.getHash = getHash;
167
175
  })(ObjectUtil || (ObjectUtil = {}));
168
176
  exports.default = ObjectUtil;
@@ -48,5 +48,19 @@ declare namespace RequestUtil {
48
48
  }).then(response => {}).catch(error => {});
49
49
  */
50
50
  const jsonpRquest: typeof jsonpRquestFn;
51
+ /**
52
+ * 异步请求并发处理
53
+ * @param requests 请求列表
54
+ * @param options limit同时处理几个请求默认6个,onUploadProgress进度条
55
+ * @returns
56
+ */
57
+ function handleRequests<T = any>(requests: (() => Promise<any>)[], options?: {
58
+ limit?: number;
59
+ onUploadProgress?: (opt: {
60
+ total: number;
61
+ loaded: number;
62
+ progress: number;
63
+ }) => void;
64
+ }): Promise<T[]>;
51
65
  }
52
66
  export default RequestUtil;