tools-min-ns 1.18.13 → 1.18.15

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/README.md CHANGED
@@ -5,8 +5,13 @@ pnpm i tools-min-ns --save
5
5
  ```
6
6
 
7
7
  # updates
8
+ ## v1.18.15
9
+ fix: SystemUtil 优化下载功能
10
+ ## v1.18.14
11
+ fix: TransferUtil.getFileSizeByBytes
12
+
8
13
  ## v1.18.13
9
- fix: 修改RequestUtil.getAuthorization 对应后端1.8.8
14
+ fix: 修改RequestUtil.getAuthorization 对应后端1.8.9+
10
15
  ## v1.18.12
11
16
  fix: 修改RequestUtil.getAuthorization array参数处理
12
17
  ## v1.18.11
@@ -20,7 +20,7 @@ declare namespace SystemUtil {
20
20
  * @example
21
21
  * downloadFile('http://XXX.txt','text.txt')
22
22
  */
23
- function downloadFile(url: string, name?: string): void;
23
+ function downloadFile(url: string, name?: string): Promise<void>;
24
24
  /**
25
25
  * 通过base64下载文件
26
26
  * @param base64 base64字符串
@@ -28,13 +28,13 @@ declare namespace SystemUtil {
28
28
  * @example
29
29
  * downloadFileByBase64('data:text/plain;base64,dGV4dDF0ZXh0Mg==','text.txt')
30
30
  */
31
- function downloadFileByBase64(base64: string, name?: string): void;
31
+ function downloadFileByBase64(base64: string, name: string): void;
32
32
  /**
33
33
  * 通过Blob下载文件
34
- * @param response BlobPart
34
+ * @param response Blob
35
35
  * @param name 文件名
36
36
  */
37
- const downloadFileByBlob: (response: any, name: string) => void;
37
+ const downloadFileByBlob: (response: Blob, name: string) => void;
38
38
  /**
39
39
  * 拷贝文本至剪切板
40
40
  * @param text 文本
@@ -1,3 +1,118 @@
1
+ var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) {
3
+ return value instanceof P ? value : new P(function (resolve) {
4
+ resolve(value);
5
+ });
6
+ }
7
+ return new (P || (P = Promise))(function (resolve, reject) {
8
+ function fulfilled(value) {
9
+ try {
10
+ step(generator.next(value));
11
+ } catch (e) {
12
+ reject(e);
13
+ }
14
+ }
15
+ function rejected(value) {
16
+ try {
17
+ step(generator["throw"](value));
18
+ } catch (e) {
19
+ reject(e);
20
+ }
21
+ }
22
+ function step(result) {
23
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
24
+ }
25
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
26
+ });
27
+ };
28
+ var __generator = this && this.__generator || function (thisArg, body) {
29
+ var _ = {
30
+ label: 0,
31
+ sent: function sent() {
32
+ if (t[0] & 1) throw t[1];
33
+ return t[1];
34
+ },
35
+ trys: [],
36
+ ops: []
37
+ },
38
+ f,
39
+ y,
40
+ t,
41
+ g;
42
+ return g = {
43
+ next: verb(0),
44
+ "throw": verb(1),
45
+ "return": verb(2)
46
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
47
+ return this;
48
+ }), g;
49
+ function verb(n) {
50
+ return function (v) {
51
+ return step([n, v]);
52
+ };
53
+ }
54
+ function step(op) {
55
+ if (f) throw new TypeError("Generator is already executing.");
56
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
57
+ 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;
58
+ if (y = 0, t) op = [op[0] & 2, t.value];
59
+ switch (op[0]) {
60
+ case 0:
61
+ case 1:
62
+ t = op;
63
+ break;
64
+ case 4:
65
+ _.label++;
66
+ return {
67
+ value: op[1],
68
+ done: false
69
+ };
70
+ case 5:
71
+ _.label++;
72
+ y = op[1];
73
+ op = [0];
74
+ continue;
75
+ case 7:
76
+ op = _.ops.pop();
77
+ _.trys.pop();
78
+ continue;
79
+ default:
80
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
81
+ _ = 0;
82
+ continue;
83
+ }
84
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
85
+ _.label = op[1];
86
+ break;
87
+ }
88
+ if (op[0] === 6 && _.label < t[1]) {
89
+ _.label = t[1];
90
+ t = op;
91
+ break;
92
+ }
93
+ if (t && _.label < t[2]) {
94
+ _.label = t[2];
95
+ _.ops.push(op);
96
+ break;
97
+ }
98
+ if (t[2]) _.ops.pop();
99
+ _.trys.pop();
100
+ continue;
101
+ }
102
+ op = body.call(thisArg, _);
103
+ } catch (e) {
104
+ op = [6, e];
105
+ y = 0;
106
+ } finally {
107
+ f = t = 0;
108
+ }
109
+ if (op[0] & 5) throw op[1];
110
+ return {
111
+ value: op[0] ? op[1] : void 0,
112
+ done: true
113
+ };
114
+ }
115
+ };
1
116
  /**
2
117
  * 系统工具
3
118
  * @description
@@ -32,13 +147,44 @@ var SystemUtil;
32
147
  * downloadFile('http://XXX.txt','text.txt')
33
148
  */
34
149
  function downloadFile(url, name) {
35
- var a = document.createElement('a');
36
- a.setAttribute('href', url);
37
- if (name) a.setAttribute('download', name);
38
- a.setAttribute('target', '_blank');
39
- var clickEvent = document.createEvent('MouseEvents');
40
- clickEvent.initEvent('click', true, true);
41
- a.dispatchEvent(clickEvent);
150
+ return __awaiter(this, void 0, void 0, function () {
151
+ var response, blob, error_1, a, clickEvent;
152
+ return __generator(this, function (_a) {
153
+ switch (_a.label) {
154
+ case 0:
155
+ _a.trys.push([0, 3,, 4]);
156
+ return [4 /*yield*/, fetch(url, {
157
+ method: 'GET',
158
+ headers: {
159
+ 'Cache-Control': 'no-cache'
160
+ }
161
+ })];
162
+ case 1:
163
+ response = _a.sent();
164
+ if (!response.ok) {
165
+ throw new Error("HTTP error! status: ".concat(response.status));
166
+ }
167
+ return [4 /*yield*/, response.blob()];
168
+ case 2:
169
+ blob = _a.sent();
170
+ SystemUtil.downloadFileByBlob(blob, name || url.split('/').pop());
171
+ return [3 /*break*/, 4];
172
+ case 3:
173
+ error_1 = _a.sent();
174
+ console.error('下载失败:', error_1);
175
+ a = document.createElement('a');
176
+ a.setAttribute('href', url);
177
+ if (name) a.setAttribute('download', name);
178
+ a.setAttribute('target', '_blank');
179
+ clickEvent = document.createEvent('MouseEvents');
180
+ clickEvent.initEvent('click', true, true);
181
+ a.dispatchEvent(clickEvent);
182
+ return [3 /*break*/, 4];
183
+ case 4:
184
+ return [2 /*return*/];
185
+ }
186
+ });
187
+ });
42
188
  }
43
189
  SystemUtil.downloadFile = downloadFile;
44
190
  /**
@@ -49,24 +195,32 @@ var SystemUtil;
49
195
  * downloadFileByBase64('data:text/plain;base64,dGV4dDF0ZXh0Mg==','text.txt')
50
196
  */
51
197
  function downloadFileByBase64(base64, name) {
52
- var myBlob = TransferUtil.getBlobByBase64(base64);
198
+ var myBlob = TransferUtil.getBlobByBase64(base64, 'application/octet-stream');
53
199
  if (!myBlob) return;
54
- var myUrl = URL.createObjectURL(myBlob);
55
- downloadFile(myUrl, name);
200
+ SystemUtil.downloadFileByBlob(myBlob, name);
56
201
  }
57
202
  SystemUtil.downloadFileByBase64 = downloadFileByBase64;
58
203
  /**
59
204
  * 通过Blob下载文件
60
- * @param response BlobPart
205
+ * @param response Blob
61
206
  * @param name 文件名
62
207
  */
63
208
  SystemUtil.downloadFileByBlob = function (response, name) {
64
- var myBlob = new Blob([response], {
65
- type: 'application/vnd.ms-excel,charset=utf-8'
209
+ var blob = new Blob([response], {
210
+ type: 'application/octet-stream'
66
211
  });
67
- if (!myBlob) return;
68
- var myUrl = URL.createObjectURL(myBlob);
69
- downloadFile(myUrl, name);
212
+ var objectUrl = window.URL.createObjectURL(blob);
213
+ var link = document.createElement('a');
214
+ link.style.display = 'none';
215
+ link.href = objectUrl;
216
+ link.download = name;
217
+ document.body.appendChild(link);
218
+ link.click();
219
+ document.body.removeChild(link);
220
+ // 延迟释放URL,确保下载完成
221
+ setTimeout(function () {
222
+ return window.URL.revokeObjectURL(objectUrl);
223
+ }, 100);
70
224
  };
71
225
  /**
72
226
  * 拷贝文本至剪切板
@@ -35,10 +35,11 @@ declare namespace TransferUtil {
35
35
  /**
36
36
  * base64转blob流
37
37
  * @param base64 base64字符串
38
+ * @param mimeString mime类型
38
39
  * @example
39
40
  * getBlobByBase64('data:text/plain;base64,dGV4dDF0ZXh0Mg==') => new Blob(['text1', 'text2'], {type : 'text/plain'})
40
41
  */
41
- function getBlobByBase64(base64: string): Blob | undefined;
42
+ function getBlobByBase64(base64: string, mimeString?: string): Blob | undefined;
42
43
  /**
43
44
  * blob流转换为base64
44
45
  * @param blob blob流
@@ -94,6 +95,6 @@ declare namespace TransferUtil {
94
95
  * @param bytes - 字节
95
96
  * @param n - 保留小数默认2
96
97
  */
97
- const getFileSizeByBytes: (bytes: number, n?: number) => string;
98
+ const getFileSizeByBytes: (bytes: number, n?: number, render?: ((num: number, unit: string) => any) | undefined) => any;
98
99
  }
99
100
  export default TransferUtil;
@@ -82,19 +82,21 @@ var TransferUtil;
82
82
  /**
83
83
  * base64转blob流
84
84
  * @param base64 base64字符串
85
+ * @param mimeString mime类型
85
86
  * @example
86
87
  * getBlobByBase64('data:text/plain;base64,dGV4dDF0ZXh0Mg==') => new Blob(['text1', 'text2'], {type : 'text/plain'})
87
88
  */
88
- function getBlobByBase64(base64) {
89
+ function getBlobByBase64(base64, mimeString) {
89
90
  var _a, _b, _c;
90
91
  if (BaseUtil.isEmpty(base64)) return undefined;
91
92
  var byteString;
92
- 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]);
93
- //base64 解码
94
- else {
93
+ 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) {
94
+ byteString = atob(base64.split(',')[1]);
95
+ } else {
96
+ //base64 解码
95
97
  byteString = unescape((_c = base64.split(',')) === null || _c === void 0 ? void 0 : _c[1]);
96
98
  }
97
- var mimeString = base64.split(',')[0].split(':')[1].split(';')[0]; //mime类型 -- image/png
99
+ mimeString = mimeString || base64.split(',')[0].split(':')[1].split(';')[0]; //mime类型 -- image/png
98
100
  var ia = new Uint8Array(byteString.length); //创建视图
99
101
  for (var i = 0; i < byteString.length; i++) {
100
102
  ia[i] = byteString.charCodeAt(i);
@@ -310,7 +312,8 @@ var TransferUtil;
310
312
  * @param bytes - 字节
311
313
  * @param n - 保留小数默认2
312
314
  */
313
- TransferUtil.getFileSizeByBytes = function (bytes, n) {
315
+ TransferUtil.getFileSizeByBytes = function (bytes, n, render) {
316
+ var _a;
314
317
  var sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
315
318
  if (bytes === 0) {
316
319
  return '0B';
@@ -319,7 +322,9 @@ var TransferUtil;
319
322
  if (i === 0) {
320
323
  return bytes + sizes[i];
321
324
  }
322
- return NumberUtil.correctNumberInput(bytes / Math.pow(1024, i), n) + sizes[i];
325
+ var num = NumberUtil.correctNumberInput(bytes / Math.pow(1024, i), n);
326
+ var unit = sizes[i];
327
+ return (_a = render === null || render === void 0 ? void 0 : render(num, unit)) !== null && _a !== void 0 ? _a : num + unit;
323
328
  };
324
329
  })(TransferUtil || (TransferUtil = {}));
325
330
  export default TransferUtil;
@@ -20,7 +20,7 @@ declare namespace SystemUtil {
20
20
  * @example
21
21
  * downloadFile('http://XXX.txt','text.txt')
22
22
  */
23
- function downloadFile(url: string, name?: string): void;
23
+ function downloadFile(url: string, name?: string): Promise<void>;
24
24
  /**
25
25
  * 通过base64下载文件
26
26
  * @param base64 base64字符串
@@ -28,13 +28,13 @@ declare namespace SystemUtil {
28
28
  * @example
29
29
  * downloadFileByBase64('data:text/plain;base64,dGV4dDF0ZXh0Mg==','text.txt')
30
30
  */
31
- function downloadFileByBase64(base64: string, name?: string): void;
31
+ function downloadFileByBase64(base64: string, name: string): void;
32
32
  /**
33
33
  * 通过Blob下载文件
34
- * @param response BlobPart
34
+ * @param response Blob
35
35
  * @param name 文件名
36
36
  */
37
- const downloadFileByBlob: (response: any, name: string) => void;
37
+ const downloadFileByBlob: (response: Blob, name: string) => void;
38
38
  /**
39
39
  * 拷贝文本至剪切板
40
40
  * @param text 文本
@@ -1,5 +1,120 @@
1
1
  "use strict";
2
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
+ };
3
118
  var __importDefault = this && this.__importDefault || function (mod) {
4
119
  return mod && mod.__esModule ? mod : {
5
120
  "default": mod
@@ -42,13 +157,44 @@ var SystemUtil;
42
157
  * downloadFile('http://XXX.txt','text.txt')
43
158
  */
44
159
  function downloadFile(url, name) {
45
- var a = document.createElement('a');
46
- a.setAttribute('href', url);
47
- if (name) a.setAttribute('download', name);
48
- a.setAttribute('target', '_blank');
49
- var clickEvent = document.createEvent('MouseEvents');
50
- clickEvent.initEvent('click', true, true);
51
- a.dispatchEvent(clickEvent);
160
+ return __awaiter(this, void 0, void 0, function () {
161
+ var response, blob, error_1, a, clickEvent;
162
+ return __generator(this, function (_a) {
163
+ switch (_a.label) {
164
+ case 0:
165
+ _a.trys.push([0, 3,, 4]);
166
+ return [4 /*yield*/, fetch(url, {
167
+ method: 'GET',
168
+ headers: {
169
+ 'Cache-Control': 'no-cache'
170
+ }
171
+ })];
172
+ case 1:
173
+ response = _a.sent();
174
+ if (!response.ok) {
175
+ throw new Error("HTTP error! status: ".concat(response.status));
176
+ }
177
+ return [4 /*yield*/, response.blob()];
178
+ case 2:
179
+ blob = _a.sent();
180
+ SystemUtil.downloadFileByBlob(blob, name || url.split('/').pop());
181
+ return [3 /*break*/, 4];
182
+ case 3:
183
+ error_1 = _a.sent();
184
+ console.error('下载失败:', error_1);
185
+ a = document.createElement('a');
186
+ a.setAttribute('href', url);
187
+ if (name) a.setAttribute('download', name);
188
+ a.setAttribute('target', '_blank');
189
+ clickEvent = document.createEvent('MouseEvents');
190
+ clickEvent.initEvent('click', true, true);
191
+ a.dispatchEvent(clickEvent);
192
+ return [3 /*break*/, 4];
193
+ case 4:
194
+ return [2 /*return*/];
195
+ }
196
+ });
197
+ });
52
198
  }
53
199
  SystemUtil.downloadFile = downloadFile;
54
200
  /**
@@ -59,24 +205,32 @@ var SystemUtil;
59
205
  * downloadFileByBase64('data:text/plain;base64,dGV4dDF0ZXh0Mg==','text.txt')
60
206
  */
61
207
  function downloadFileByBase64(base64, name) {
62
- var myBlob = TransferUtil_1.default.getBlobByBase64(base64);
208
+ var myBlob = TransferUtil_1.default.getBlobByBase64(base64, 'application/octet-stream');
63
209
  if (!myBlob) return;
64
- var myUrl = URL.createObjectURL(myBlob);
65
- downloadFile(myUrl, name);
210
+ SystemUtil.downloadFileByBlob(myBlob, name);
66
211
  }
67
212
  SystemUtil.downloadFileByBase64 = downloadFileByBase64;
68
213
  /**
69
214
  * 通过Blob下载文件
70
- * @param response BlobPart
215
+ * @param response Blob
71
216
  * @param name 文件名
72
217
  */
73
218
  SystemUtil.downloadFileByBlob = function (response, name) {
74
- var myBlob = new Blob([response], {
75
- type: 'application/vnd.ms-excel,charset=utf-8'
219
+ var blob = new Blob([response], {
220
+ type: 'application/octet-stream'
76
221
  });
77
- if (!myBlob) return;
78
- var myUrl = URL.createObjectURL(myBlob);
79
- downloadFile(myUrl, name);
222
+ var objectUrl = window.URL.createObjectURL(blob);
223
+ var link = document.createElement('a');
224
+ link.style.display = 'none';
225
+ link.href = objectUrl;
226
+ link.download = name;
227
+ document.body.appendChild(link);
228
+ link.click();
229
+ document.body.removeChild(link);
230
+ // 延迟释放URL,确保下载完成
231
+ setTimeout(function () {
232
+ return window.URL.revokeObjectURL(objectUrl);
233
+ }, 100);
80
234
  };
81
235
  /**
82
236
  * 拷贝文本至剪切板
@@ -35,10 +35,11 @@ declare namespace TransferUtil {
35
35
  /**
36
36
  * base64转blob流
37
37
  * @param base64 base64字符串
38
+ * @param mimeString mime类型
38
39
  * @example
39
40
  * getBlobByBase64('data:text/plain;base64,dGV4dDF0ZXh0Mg==') => new Blob(['text1', 'text2'], {type : 'text/plain'})
40
41
  */
41
- function getBlobByBase64(base64: string): Blob | undefined;
42
+ function getBlobByBase64(base64: string, mimeString?: string): Blob | undefined;
42
43
  /**
43
44
  * blob流转换为base64
44
45
  * @param blob blob流
@@ -94,6 +95,6 @@ declare namespace TransferUtil {
94
95
  * @param bytes - 字节
95
96
  * @param n - 保留小数默认2
96
97
  */
97
- const getFileSizeByBytes: (bytes: number, n?: number) => string;
98
+ const getFileSizeByBytes: (bytes: number, n?: number, render?: ((num: number, unit: string) => any) | undefined) => any;
98
99
  }
99
100
  export default TransferUtil;
@@ -92,19 +92,21 @@ var TransferUtil;
92
92
  /**
93
93
  * base64转blob流
94
94
  * @param base64 base64字符串
95
+ * @param mimeString mime类型
95
96
  * @example
96
97
  * getBlobByBase64('data:text/plain;base64,dGV4dDF0ZXh0Mg==') => new Blob(['text1', 'text2'], {type : 'text/plain'})
97
98
  */
98
- function getBlobByBase64(base64) {
99
+ function getBlobByBase64(base64, mimeString) {
99
100
  var _a, _b, _c;
100
101
  if (BaseUtil_1.default.isEmpty(base64)) return undefined;
101
102
  var byteString;
102
- 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]);
103
- //base64 解码
104
- else {
103
+ 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) {
104
+ byteString = atob(base64.split(',')[1]);
105
+ } else {
106
+ //base64 解码
105
107
  byteString = unescape((_c = base64.split(',')) === null || _c === void 0 ? void 0 : _c[1]);
106
108
  }
107
- var mimeString = base64.split(',')[0].split(':')[1].split(';')[0]; //mime类型 -- image/png
109
+ mimeString = mimeString || base64.split(',')[0].split(':')[1].split(';')[0]; //mime类型 -- image/png
108
110
  var ia = new Uint8Array(byteString.length); //创建视图
109
111
  for (var i = 0; i < byteString.length; i++) {
110
112
  ia[i] = byteString.charCodeAt(i);
@@ -320,7 +322,8 @@ var TransferUtil;
320
322
  * @param bytes - 字节
321
323
  * @param n - 保留小数默认2
322
324
  */
323
- TransferUtil.getFileSizeByBytes = function (bytes, n) {
325
+ TransferUtil.getFileSizeByBytes = function (bytes, n, render) {
326
+ var _a;
324
327
  var sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
325
328
  if (bytes === 0) {
326
329
  return '0B';
@@ -329,7 +332,9 @@ var TransferUtil;
329
332
  if (i === 0) {
330
333
  return bytes + sizes[i];
331
334
  }
332
- return NumberUtil_1.default.correctNumberInput(bytes / Math.pow(1024, i), n) + sizes[i];
335
+ var num = NumberUtil_1.default.correctNumberInput(bytes / Math.pow(1024, i), n);
336
+ var unit = sizes[i];
337
+ return (_a = render === null || render === void 0 ? void 0 : render(num, unit)) !== null && _a !== void 0 ? _a : num + unit;
333
338
  };
334
339
  })(TransferUtil || (TransferUtil = {}));
335
340
  exports.default = TransferUtil;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tools-min-ns",
3
3
  "description": "工具包适用于前端以及node",
4
- "version": "1.18.13",
4
+ "version": "1.18.15",
5
5
  "main": "lib/index.js",
6
6
  "license": "MIT",
7
7
  "author": "nanshen",