@panpanzhao/component-ui 1.24.1224 → 1.24.1226
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.
|
@@ -3209,6 +3209,10 @@ function checkFile(data, _ref3) {
|
|
|
3209
3209
|
// EXTERNAL MODULE: external "js-md5"
|
|
3210
3210
|
var external_js_md5_ = __webpack_require__(41);
|
|
3211
3211
|
|
|
3212
|
+
// CONCATENATED MODULE: ./src/components/form/src/item/upload-process/large-upload/hash.worker.js
|
|
3213
|
+
function Worker_fn() {
|
|
3214
|
+
return new Worker(__webpack_require__.p + "component-ui.common.worker.js");
|
|
3215
|
+
}
|
|
3212
3216
|
// CONCATENATED MODULE: ./src/components/form/src/item/upload-process/large-upload/index.js
|
|
3213
3217
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
3214
3218
|
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -3222,6 +3226,7 @@ var large_upload_id = 0;
|
|
|
3222
3226
|
function _classPrivateFieldLooseKey(name) { return "__private_" + large_upload_id++ + "_" + name; }
|
|
3223
3227
|
|
|
3224
3228
|
|
|
3229
|
+
|
|
3225
3230
|
var _useWorker = /*#__PURE__*/_classPrivateFieldLooseKey("useWorker");
|
|
3226
3231
|
var _finishTask = /*#__PURE__*/_classPrivateFieldLooseKey("finishTask");
|
|
3227
3232
|
var _handleMerge = /*#__PURE__*/_classPrivateFieldLooseKey("handleMerge");
|
|
@@ -3490,9 +3495,7 @@ function _useWorker2(file) {
|
|
|
3490
3495
|
// const worker = new Worker(new URL("./hash-worker.js", import.meta.url), {
|
|
3491
3496
|
// type: "module",
|
|
3492
3497
|
// });
|
|
3493
|
-
var worker = new
|
|
3494
|
-
type: "module"
|
|
3495
|
-
});
|
|
3498
|
+
var worker = new Worker_fn();
|
|
3496
3499
|
worker.postMessage({
|
|
3497
3500
|
file: file,
|
|
3498
3501
|
chunkSize: _this2.chunkSize
|
|
@@ -0,0 +1,659 @@
|
|
|
1
|
+
/******/ (function(modules) { // webpackBootstrap
|
|
2
|
+
/******/ // The module cache
|
|
3
|
+
/******/ var installedModules = {};
|
|
4
|
+
/******/
|
|
5
|
+
/******/ // The require function
|
|
6
|
+
/******/ function __webpack_require__(moduleId) {
|
|
7
|
+
/******/
|
|
8
|
+
/******/ // Check if module is in cache
|
|
9
|
+
/******/ if(installedModules[moduleId]) {
|
|
10
|
+
/******/ return installedModules[moduleId].exports;
|
|
11
|
+
/******/ }
|
|
12
|
+
/******/ // Create a new module (and put it into the cache)
|
|
13
|
+
/******/ var module = installedModules[moduleId] = {
|
|
14
|
+
/******/ i: moduleId,
|
|
15
|
+
/******/ l: false,
|
|
16
|
+
/******/ exports: {}
|
|
17
|
+
/******/ };
|
|
18
|
+
/******/
|
|
19
|
+
/******/ // Execute the module function
|
|
20
|
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
|
21
|
+
/******/
|
|
22
|
+
/******/ // Flag the module as loaded
|
|
23
|
+
/******/ module.l = true;
|
|
24
|
+
/******/
|
|
25
|
+
/******/ // Return the exports of the module
|
|
26
|
+
/******/ return module.exports;
|
|
27
|
+
/******/ }
|
|
28
|
+
/******/
|
|
29
|
+
/******/
|
|
30
|
+
/******/ // expose the modules object (__webpack_modules__)
|
|
31
|
+
/******/ __webpack_require__.m = modules;
|
|
32
|
+
/******/
|
|
33
|
+
/******/ // expose the module cache
|
|
34
|
+
/******/ __webpack_require__.c = installedModules;
|
|
35
|
+
/******/
|
|
36
|
+
/******/ // define getter function for harmony exports
|
|
37
|
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
|
38
|
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
|
39
|
+
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
|
40
|
+
/******/ }
|
|
41
|
+
/******/ };
|
|
42
|
+
/******/
|
|
43
|
+
/******/ // define __esModule on exports
|
|
44
|
+
/******/ __webpack_require__.r = function(exports) {
|
|
45
|
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
46
|
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
47
|
+
/******/ }
|
|
48
|
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
49
|
+
/******/ };
|
|
50
|
+
/******/
|
|
51
|
+
/******/ // create a fake namespace object
|
|
52
|
+
/******/ // mode & 1: value is a module id, require it
|
|
53
|
+
/******/ // mode & 2: merge all properties of value into the ns
|
|
54
|
+
/******/ // mode & 4: return value when already ns object
|
|
55
|
+
/******/ // mode & 8|1: behave like require
|
|
56
|
+
/******/ __webpack_require__.t = function(value, mode) {
|
|
57
|
+
/******/ if(mode & 1) value = __webpack_require__(value);
|
|
58
|
+
/******/ if(mode & 8) return value;
|
|
59
|
+
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
|
60
|
+
/******/ var ns = Object.create(null);
|
|
61
|
+
/******/ __webpack_require__.r(ns);
|
|
62
|
+
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
|
63
|
+
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
|
64
|
+
/******/ return ns;
|
|
65
|
+
/******/ };
|
|
66
|
+
/******/
|
|
67
|
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
68
|
+
/******/ __webpack_require__.n = function(module) {
|
|
69
|
+
/******/ var getter = module && module.__esModule ?
|
|
70
|
+
/******/ function getDefault() { return module['default']; } :
|
|
71
|
+
/******/ function getModuleExports() { return module; };
|
|
72
|
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
|
73
|
+
/******/ return getter;
|
|
74
|
+
/******/ };
|
|
75
|
+
/******/
|
|
76
|
+
/******/ // Object.prototype.hasOwnProperty.call
|
|
77
|
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
|
78
|
+
/******/
|
|
79
|
+
/******/ // __webpack_public_path__
|
|
80
|
+
/******/ __webpack_require__.p = "/dist/";
|
|
81
|
+
/******/
|
|
82
|
+
/******/
|
|
83
|
+
/******/ // Load entry module and return exports
|
|
84
|
+
/******/ return __webpack_require__(__webpack_require__.s = 1);
|
|
85
|
+
/******/ })
|
|
86
|
+
/************************************************************************/
|
|
87
|
+
/******/ ([
|
|
88
|
+
/* 0 */
|
|
89
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
90
|
+
|
|
91
|
+
(function (factory) {
|
|
92
|
+
if (true) {
|
|
93
|
+
module.exports = factory();
|
|
94
|
+
} else { var glob; }
|
|
95
|
+
})(function (undefined) {
|
|
96
|
+
"use strict";
|
|
97
|
+
|
|
98
|
+
var add32 = function add32(a, b) {
|
|
99
|
+
return a + b & 4294967295;
|
|
100
|
+
},
|
|
101
|
+
hex_chr = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
|
|
102
|
+
function cmn(q, a, b, x, s, t) {
|
|
103
|
+
a = add32(add32(a, q), add32(x, t));
|
|
104
|
+
return add32(a << s | a >>> 32 - s, b);
|
|
105
|
+
}
|
|
106
|
+
function md5cycle(x, k) {
|
|
107
|
+
var a = x[0],
|
|
108
|
+
b = x[1],
|
|
109
|
+
c = x[2],
|
|
110
|
+
d = x[3];
|
|
111
|
+
a += (b & c | ~b & d) + k[0] - 680876936 | 0;
|
|
112
|
+
a = (a << 7 | a >>> 25) + b | 0;
|
|
113
|
+
d += (a & b | ~a & c) + k[1] - 389564586 | 0;
|
|
114
|
+
d = (d << 12 | d >>> 20) + a | 0;
|
|
115
|
+
c += (d & a | ~d & b) + k[2] + 606105819 | 0;
|
|
116
|
+
c = (c << 17 | c >>> 15) + d | 0;
|
|
117
|
+
b += (c & d | ~c & a) + k[3] - 1044525330 | 0;
|
|
118
|
+
b = (b << 22 | b >>> 10) + c | 0;
|
|
119
|
+
a += (b & c | ~b & d) + k[4] - 176418897 | 0;
|
|
120
|
+
a = (a << 7 | a >>> 25) + b | 0;
|
|
121
|
+
d += (a & b | ~a & c) + k[5] + 1200080426 | 0;
|
|
122
|
+
d = (d << 12 | d >>> 20) + a | 0;
|
|
123
|
+
c += (d & a | ~d & b) + k[6] - 1473231341 | 0;
|
|
124
|
+
c = (c << 17 | c >>> 15) + d | 0;
|
|
125
|
+
b += (c & d | ~c & a) + k[7] - 45705983 | 0;
|
|
126
|
+
b = (b << 22 | b >>> 10) + c | 0;
|
|
127
|
+
a += (b & c | ~b & d) + k[8] + 1770035416 | 0;
|
|
128
|
+
a = (a << 7 | a >>> 25) + b | 0;
|
|
129
|
+
d += (a & b | ~a & c) + k[9] - 1958414417 | 0;
|
|
130
|
+
d = (d << 12 | d >>> 20) + a | 0;
|
|
131
|
+
c += (d & a | ~d & b) + k[10] - 42063 | 0;
|
|
132
|
+
c = (c << 17 | c >>> 15) + d | 0;
|
|
133
|
+
b += (c & d | ~c & a) + k[11] - 1990404162 | 0;
|
|
134
|
+
b = (b << 22 | b >>> 10) + c | 0;
|
|
135
|
+
a += (b & c | ~b & d) + k[12] + 1804603682 | 0;
|
|
136
|
+
a = (a << 7 | a >>> 25) + b | 0;
|
|
137
|
+
d += (a & b | ~a & c) + k[13] - 40341101 | 0;
|
|
138
|
+
d = (d << 12 | d >>> 20) + a | 0;
|
|
139
|
+
c += (d & a | ~d & b) + k[14] - 1502002290 | 0;
|
|
140
|
+
c = (c << 17 | c >>> 15) + d | 0;
|
|
141
|
+
b += (c & d | ~c & a) + k[15] + 1236535329 | 0;
|
|
142
|
+
b = (b << 22 | b >>> 10) + c | 0;
|
|
143
|
+
a += (b & d | c & ~d) + k[1] - 165796510 | 0;
|
|
144
|
+
a = (a << 5 | a >>> 27) + b | 0;
|
|
145
|
+
d += (a & c | b & ~c) + k[6] - 1069501632 | 0;
|
|
146
|
+
d = (d << 9 | d >>> 23) + a | 0;
|
|
147
|
+
c += (d & b | a & ~b) + k[11] + 643717713 | 0;
|
|
148
|
+
c = (c << 14 | c >>> 18) + d | 0;
|
|
149
|
+
b += (c & a | d & ~a) + k[0] - 373897302 | 0;
|
|
150
|
+
b = (b << 20 | b >>> 12) + c | 0;
|
|
151
|
+
a += (b & d | c & ~d) + k[5] - 701558691 | 0;
|
|
152
|
+
a = (a << 5 | a >>> 27) + b | 0;
|
|
153
|
+
d += (a & c | b & ~c) + k[10] + 38016083 | 0;
|
|
154
|
+
d = (d << 9 | d >>> 23) + a | 0;
|
|
155
|
+
c += (d & b | a & ~b) + k[15] - 660478335 | 0;
|
|
156
|
+
c = (c << 14 | c >>> 18) + d | 0;
|
|
157
|
+
b += (c & a | d & ~a) + k[4] - 405537848 | 0;
|
|
158
|
+
b = (b << 20 | b >>> 12) + c | 0;
|
|
159
|
+
a += (b & d | c & ~d) + k[9] + 568446438 | 0;
|
|
160
|
+
a = (a << 5 | a >>> 27) + b | 0;
|
|
161
|
+
d += (a & c | b & ~c) + k[14] - 1019803690 | 0;
|
|
162
|
+
d = (d << 9 | d >>> 23) + a | 0;
|
|
163
|
+
c += (d & b | a & ~b) + k[3] - 187363961 | 0;
|
|
164
|
+
c = (c << 14 | c >>> 18) + d | 0;
|
|
165
|
+
b += (c & a | d & ~a) + k[8] + 1163531501 | 0;
|
|
166
|
+
b = (b << 20 | b >>> 12) + c | 0;
|
|
167
|
+
a += (b & d | c & ~d) + k[13] - 1444681467 | 0;
|
|
168
|
+
a = (a << 5 | a >>> 27) + b | 0;
|
|
169
|
+
d += (a & c | b & ~c) + k[2] - 51403784 | 0;
|
|
170
|
+
d = (d << 9 | d >>> 23) + a | 0;
|
|
171
|
+
c += (d & b | a & ~b) + k[7] + 1735328473 | 0;
|
|
172
|
+
c = (c << 14 | c >>> 18) + d | 0;
|
|
173
|
+
b += (c & a | d & ~a) + k[12] - 1926607734 | 0;
|
|
174
|
+
b = (b << 20 | b >>> 12) + c | 0;
|
|
175
|
+
a += (b ^ c ^ d) + k[5] - 378558 | 0;
|
|
176
|
+
a = (a << 4 | a >>> 28) + b | 0;
|
|
177
|
+
d += (a ^ b ^ c) + k[8] - 2022574463 | 0;
|
|
178
|
+
d = (d << 11 | d >>> 21) + a | 0;
|
|
179
|
+
c += (d ^ a ^ b) + k[11] + 1839030562 | 0;
|
|
180
|
+
c = (c << 16 | c >>> 16) + d | 0;
|
|
181
|
+
b += (c ^ d ^ a) + k[14] - 35309556 | 0;
|
|
182
|
+
b = (b << 23 | b >>> 9) + c | 0;
|
|
183
|
+
a += (b ^ c ^ d) + k[1] - 1530992060 | 0;
|
|
184
|
+
a = (a << 4 | a >>> 28) + b | 0;
|
|
185
|
+
d += (a ^ b ^ c) + k[4] + 1272893353 | 0;
|
|
186
|
+
d = (d << 11 | d >>> 21) + a | 0;
|
|
187
|
+
c += (d ^ a ^ b) + k[7] - 155497632 | 0;
|
|
188
|
+
c = (c << 16 | c >>> 16) + d | 0;
|
|
189
|
+
b += (c ^ d ^ a) + k[10] - 1094730640 | 0;
|
|
190
|
+
b = (b << 23 | b >>> 9) + c | 0;
|
|
191
|
+
a += (b ^ c ^ d) + k[13] + 681279174 | 0;
|
|
192
|
+
a = (a << 4 | a >>> 28) + b | 0;
|
|
193
|
+
d += (a ^ b ^ c) + k[0] - 358537222 | 0;
|
|
194
|
+
d = (d << 11 | d >>> 21) + a | 0;
|
|
195
|
+
c += (d ^ a ^ b) + k[3] - 722521979 | 0;
|
|
196
|
+
c = (c << 16 | c >>> 16) + d | 0;
|
|
197
|
+
b += (c ^ d ^ a) + k[6] + 76029189 | 0;
|
|
198
|
+
b = (b << 23 | b >>> 9) + c | 0;
|
|
199
|
+
a += (b ^ c ^ d) + k[9] - 640364487 | 0;
|
|
200
|
+
a = (a << 4 | a >>> 28) + b | 0;
|
|
201
|
+
d += (a ^ b ^ c) + k[12] - 421815835 | 0;
|
|
202
|
+
d = (d << 11 | d >>> 21) + a | 0;
|
|
203
|
+
c += (d ^ a ^ b) + k[15] + 530742520 | 0;
|
|
204
|
+
c = (c << 16 | c >>> 16) + d | 0;
|
|
205
|
+
b += (c ^ d ^ a) + k[2] - 995338651 | 0;
|
|
206
|
+
b = (b << 23 | b >>> 9) + c | 0;
|
|
207
|
+
a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;
|
|
208
|
+
a = (a << 6 | a >>> 26) + b | 0;
|
|
209
|
+
d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;
|
|
210
|
+
d = (d << 10 | d >>> 22) + a | 0;
|
|
211
|
+
c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;
|
|
212
|
+
c = (c << 15 | c >>> 17) + d | 0;
|
|
213
|
+
b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;
|
|
214
|
+
b = (b << 21 | b >>> 11) + c | 0;
|
|
215
|
+
a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;
|
|
216
|
+
a = (a << 6 | a >>> 26) + b | 0;
|
|
217
|
+
d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;
|
|
218
|
+
d = (d << 10 | d >>> 22) + a | 0;
|
|
219
|
+
c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;
|
|
220
|
+
c = (c << 15 | c >>> 17) + d | 0;
|
|
221
|
+
b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;
|
|
222
|
+
b = (b << 21 | b >>> 11) + c | 0;
|
|
223
|
+
a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;
|
|
224
|
+
a = (a << 6 | a >>> 26) + b | 0;
|
|
225
|
+
d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;
|
|
226
|
+
d = (d << 10 | d >>> 22) + a | 0;
|
|
227
|
+
c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;
|
|
228
|
+
c = (c << 15 | c >>> 17) + d | 0;
|
|
229
|
+
b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;
|
|
230
|
+
b = (b << 21 | b >>> 11) + c | 0;
|
|
231
|
+
a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;
|
|
232
|
+
a = (a << 6 | a >>> 26) + b | 0;
|
|
233
|
+
d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;
|
|
234
|
+
d = (d << 10 | d >>> 22) + a | 0;
|
|
235
|
+
c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;
|
|
236
|
+
c = (c << 15 | c >>> 17) + d | 0;
|
|
237
|
+
b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;
|
|
238
|
+
b = (b << 21 | b >>> 11) + c | 0;
|
|
239
|
+
x[0] = a + x[0] | 0;
|
|
240
|
+
x[1] = b + x[1] | 0;
|
|
241
|
+
x[2] = c + x[2] | 0;
|
|
242
|
+
x[3] = d + x[3] | 0;
|
|
243
|
+
}
|
|
244
|
+
function md5blk(s) {
|
|
245
|
+
var md5blks = [],
|
|
246
|
+
i;
|
|
247
|
+
for (i = 0; i < 64; i += 4) {
|
|
248
|
+
md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);
|
|
249
|
+
}
|
|
250
|
+
return md5blks;
|
|
251
|
+
}
|
|
252
|
+
function md5blk_array(a) {
|
|
253
|
+
var md5blks = [],
|
|
254
|
+
i;
|
|
255
|
+
for (i = 0; i < 64; i += 4) {
|
|
256
|
+
md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);
|
|
257
|
+
}
|
|
258
|
+
return md5blks;
|
|
259
|
+
}
|
|
260
|
+
function md51(s) {
|
|
261
|
+
var n = s.length,
|
|
262
|
+
state = [1732584193, -271733879, -1732584194, 271733878],
|
|
263
|
+
i,
|
|
264
|
+
length,
|
|
265
|
+
tail,
|
|
266
|
+
tmp,
|
|
267
|
+
lo,
|
|
268
|
+
hi;
|
|
269
|
+
for (i = 64; i <= n; i += 64) {
|
|
270
|
+
md5cycle(state, md5blk(s.substring(i - 64, i)));
|
|
271
|
+
}
|
|
272
|
+
s = s.substring(i - 64);
|
|
273
|
+
length = s.length;
|
|
274
|
+
tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
|
|
275
|
+
for (i = 0; i < length; i += 1) {
|
|
276
|
+
tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);
|
|
277
|
+
}
|
|
278
|
+
tail[i >> 2] |= 128 << (i % 4 << 3);
|
|
279
|
+
if (i > 55) {
|
|
280
|
+
md5cycle(state, tail);
|
|
281
|
+
for (i = 0; i < 16; i += 1) {
|
|
282
|
+
tail[i] = 0;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
tmp = n * 8;
|
|
286
|
+
tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);
|
|
287
|
+
lo = parseInt(tmp[2], 16);
|
|
288
|
+
hi = parseInt(tmp[1], 16) || 0;
|
|
289
|
+
tail[14] = lo;
|
|
290
|
+
tail[15] = hi;
|
|
291
|
+
md5cycle(state, tail);
|
|
292
|
+
return state;
|
|
293
|
+
}
|
|
294
|
+
function md51_array(a) {
|
|
295
|
+
var n = a.length,
|
|
296
|
+
state = [1732584193, -271733879, -1732584194, 271733878],
|
|
297
|
+
i,
|
|
298
|
+
length,
|
|
299
|
+
tail,
|
|
300
|
+
tmp,
|
|
301
|
+
lo,
|
|
302
|
+
hi;
|
|
303
|
+
for (i = 64; i <= n; i += 64) {
|
|
304
|
+
md5cycle(state, md5blk_array(a.subarray(i - 64, i)));
|
|
305
|
+
}
|
|
306
|
+
a = i - 64 < n ? a.subarray(i - 64) : new Uint8Array(0);
|
|
307
|
+
length = a.length;
|
|
308
|
+
tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
|
|
309
|
+
for (i = 0; i < length; i += 1) {
|
|
310
|
+
tail[i >> 2] |= a[i] << (i % 4 << 3);
|
|
311
|
+
}
|
|
312
|
+
tail[i >> 2] |= 128 << (i % 4 << 3);
|
|
313
|
+
if (i > 55) {
|
|
314
|
+
md5cycle(state, tail);
|
|
315
|
+
for (i = 0; i < 16; i += 1) {
|
|
316
|
+
tail[i] = 0;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
tmp = n * 8;
|
|
320
|
+
tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);
|
|
321
|
+
lo = parseInt(tmp[2], 16);
|
|
322
|
+
hi = parseInt(tmp[1], 16) || 0;
|
|
323
|
+
tail[14] = lo;
|
|
324
|
+
tail[15] = hi;
|
|
325
|
+
md5cycle(state, tail);
|
|
326
|
+
return state;
|
|
327
|
+
}
|
|
328
|
+
function rhex(n) {
|
|
329
|
+
var s = "",
|
|
330
|
+
j;
|
|
331
|
+
for (j = 0; j < 4; j += 1) {
|
|
332
|
+
s += hex_chr[n >> j * 8 + 4 & 15] + hex_chr[n >> j * 8 & 15];
|
|
333
|
+
}
|
|
334
|
+
return s;
|
|
335
|
+
}
|
|
336
|
+
function hex(x) {
|
|
337
|
+
var i;
|
|
338
|
+
for (i = 0; i < x.length; i += 1) {
|
|
339
|
+
x[i] = rhex(x[i]);
|
|
340
|
+
}
|
|
341
|
+
return x.join("");
|
|
342
|
+
}
|
|
343
|
+
if (hex(md51("hello")) !== "5d41402abc4b2a76b9719d911017c592") {
|
|
344
|
+
add32 = function add32(x, y) {
|
|
345
|
+
var lsw = (x & 65535) + (y & 65535),
|
|
346
|
+
msw = (x >> 16) + (y >> 16) + (lsw >> 16);
|
|
347
|
+
return msw << 16 | lsw & 65535;
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
if (typeof ArrayBuffer !== "undefined" && !ArrayBuffer.prototype.slice) {
|
|
351
|
+
(function () {
|
|
352
|
+
function clamp(val, length) {
|
|
353
|
+
val = val | 0 || 0;
|
|
354
|
+
if (val < 0) {
|
|
355
|
+
return Math.max(val + length, 0);
|
|
356
|
+
}
|
|
357
|
+
return Math.min(val, length);
|
|
358
|
+
}
|
|
359
|
+
ArrayBuffer.prototype.slice = function (from, to) {
|
|
360
|
+
var length = this.byteLength,
|
|
361
|
+
begin = clamp(from, length),
|
|
362
|
+
end = length,
|
|
363
|
+
num,
|
|
364
|
+
target,
|
|
365
|
+
targetArray,
|
|
366
|
+
sourceArray;
|
|
367
|
+
if (to !== undefined) {
|
|
368
|
+
end = clamp(to, length);
|
|
369
|
+
}
|
|
370
|
+
if (begin > end) {
|
|
371
|
+
return new ArrayBuffer(0);
|
|
372
|
+
}
|
|
373
|
+
num = end - begin;
|
|
374
|
+
target = new ArrayBuffer(num);
|
|
375
|
+
targetArray = new Uint8Array(target);
|
|
376
|
+
sourceArray = new Uint8Array(this, begin, num);
|
|
377
|
+
targetArray.set(sourceArray);
|
|
378
|
+
return target;
|
|
379
|
+
};
|
|
380
|
+
})();
|
|
381
|
+
}
|
|
382
|
+
function toUtf8(str) {
|
|
383
|
+
if (/[\u0080-\uFFFF]/.test(str)) {
|
|
384
|
+
str = unescape(encodeURIComponent(str));
|
|
385
|
+
}
|
|
386
|
+
return str;
|
|
387
|
+
}
|
|
388
|
+
function utf8Str2ArrayBuffer(str, returnUInt8Array) {
|
|
389
|
+
var length = str.length,
|
|
390
|
+
buff = new ArrayBuffer(length),
|
|
391
|
+
arr = new Uint8Array(buff),
|
|
392
|
+
i;
|
|
393
|
+
for (i = 0; i < length; i += 1) {
|
|
394
|
+
arr[i] = str.charCodeAt(i);
|
|
395
|
+
}
|
|
396
|
+
return returnUInt8Array ? arr : buff;
|
|
397
|
+
}
|
|
398
|
+
function arrayBuffer2Utf8Str(buff) {
|
|
399
|
+
return String.fromCharCode.apply(null, new Uint8Array(buff));
|
|
400
|
+
}
|
|
401
|
+
function concatenateArrayBuffers(first, second, returnUInt8Array) {
|
|
402
|
+
var result = new Uint8Array(first.byteLength + second.byteLength);
|
|
403
|
+
result.set(new Uint8Array(first));
|
|
404
|
+
result.set(new Uint8Array(second), first.byteLength);
|
|
405
|
+
return returnUInt8Array ? result : result.buffer;
|
|
406
|
+
}
|
|
407
|
+
function hexToBinaryString(hex) {
|
|
408
|
+
var bytes = [],
|
|
409
|
+
length = hex.length,
|
|
410
|
+
x;
|
|
411
|
+
for (x = 0; x < length - 1; x += 2) {
|
|
412
|
+
bytes.push(parseInt(hex.substr(x, 2), 16));
|
|
413
|
+
}
|
|
414
|
+
return String.fromCharCode.apply(String, bytes);
|
|
415
|
+
}
|
|
416
|
+
function SparkMD5() {
|
|
417
|
+
this.reset();
|
|
418
|
+
}
|
|
419
|
+
SparkMD5.prototype.append = function (str) {
|
|
420
|
+
this.appendBinary(toUtf8(str));
|
|
421
|
+
return this;
|
|
422
|
+
};
|
|
423
|
+
SparkMD5.prototype.appendBinary = function (contents) {
|
|
424
|
+
this._buff += contents;
|
|
425
|
+
this._length += contents.length;
|
|
426
|
+
var length = this._buff.length,
|
|
427
|
+
i;
|
|
428
|
+
for (i = 64; i <= length; i += 64) {
|
|
429
|
+
md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));
|
|
430
|
+
}
|
|
431
|
+
this._buff = this._buff.substring(i - 64);
|
|
432
|
+
return this;
|
|
433
|
+
};
|
|
434
|
+
SparkMD5.prototype.end = function (raw) {
|
|
435
|
+
var buff = this._buff,
|
|
436
|
+
length = buff.length,
|
|
437
|
+
i,
|
|
438
|
+
tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
|
439
|
+
ret;
|
|
440
|
+
for (i = 0; i < length; i += 1) {
|
|
441
|
+
tail[i >> 2] |= buff.charCodeAt(i) << (i % 4 << 3);
|
|
442
|
+
}
|
|
443
|
+
this._finish(tail, length);
|
|
444
|
+
ret = hex(this._hash);
|
|
445
|
+
if (raw) {
|
|
446
|
+
ret = hexToBinaryString(ret);
|
|
447
|
+
}
|
|
448
|
+
this.reset();
|
|
449
|
+
return ret;
|
|
450
|
+
};
|
|
451
|
+
SparkMD5.prototype.reset = function () {
|
|
452
|
+
this._buff = "";
|
|
453
|
+
this._length = 0;
|
|
454
|
+
this._hash = [1732584193, -271733879, -1732584194, 271733878];
|
|
455
|
+
return this;
|
|
456
|
+
};
|
|
457
|
+
SparkMD5.prototype.getState = function () {
|
|
458
|
+
return {
|
|
459
|
+
buff: this._buff,
|
|
460
|
+
length: this._length,
|
|
461
|
+
hash: this._hash.slice()
|
|
462
|
+
};
|
|
463
|
+
};
|
|
464
|
+
SparkMD5.prototype.setState = function (state) {
|
|
465
|
+
this._buff = state.buff;
|
|
466
|
+
this._length = state.length;
|
|
467
|
+
this._hash = state.hash;
|
|
468
|
+
return this;
|
|
469
|
+
};
|
|
470
|
+
SparkMD5.prototype.destroy = function () {
|
|
471
|
+
delete this._hash;
|
|
472
|
+
delete this._buff;
|
|
473
|
+
delete this._length;
|
|
474
|
+
};
|
|
475
|
+
SparkMD5.prototype._finish = function (tail, length) {
|
|
476
|
+
var i = length,
|
|
477
|
+
tmp,
|
|
478
|
+
lo,
|
|
479
|
+
hi;
|
|
480
|
+
tail[i >> 2] |= 128 << (i % 4 << 3);
|
|
481
|
+
if (i > 55) {
|
|
482
|
+
md5cycle(this._hash, tail);
|
|
483
|
+
for (i = 0; i < 16; i += 1) {
|
|
484
|
+
tail[i] = 0;
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
tmp = this._length * 8;
|
|
488
|
+
tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);
|
|
489
|
+
lo = parseInt(tmp[2], 16);
|
|
490
|
+
hi = parseInt(tmp[1], 16) || 0;
|
|
491
|
+
tail[14] = lo;
|
|
492
|
+
tail[15] = hi;
|
|
493
|
+
md5cycle(this._hash, tail);
|
|
494
|
+
};
|
|
495
|
+
SparkMD5.hash = function (str, raw) {
|
|
496
|
+
return SparkMD5.hashBinary(toUtf8(str), raw);
|
|
497
|
+
};
|
|
498
|
+
SparkMD5.hashBinary = function (content, raw) {
|
|
499
|
+
var hash = md51(content),
|
|
500
|
+
ret = hex(hash);
|
|
501
|
+
return raw ? hexToBinaryString(ret) : ret;
|
|
502
|
+
};
|
|
503
|
+
SparkMD5.ArrayBuffer = function () {
|
|
504
|
+
this.reset();
|
|
505
|
+
};
|
|
506
|
+
SparkMD5.ArrayBuffer.prototype.append = function (arr) {
|
|
507
|
+
var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),
|
|
508
|
+
length = buff.length,
|
|
509
|
+
i;
|
|
510
|
+
this._length += arr.byteLength;
|
|
511
|
+
for (i = 64; i <= length; i += 64) {
|
|
512
|
+
md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));
|
|
513
|
+
}
|
|
514
|
+
this._buff = i - 64 < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);
|
|
515
|
+
return this;
|
|
516
|
+
};
|
|
517
|
+
SparkMD5.ArrayBuffer.prototype.end = function (raw) {
|
|
518
|
+
var buff = this._buff,
|
|
519
|
+
length = buff.length,
|
|
520
|
+
tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
|
521
|
+
i,
|
|
522
|
+
ret;
|
|
523
|
+
for (i = 0; i < length; i += 1) {
|
|
524
|
+
tail[i >> 2] |= buff[i] << (i % 4 << 3);
|
|
525
|
+
}
|
|
526
|
+
this._finish(tail, length);
|
|
527
|
+
ret = hex(this._hash);
|
|
528
|
+
if (raw) {
|
|
529
|
+
ret = hexToBinaryString(ret);
|
|
530
|
+
}
|
|
531
|
+
this.reset();
|
|
532
|
+
return ret;
|
|
533
|
+
};
|
|
534
|
+
SparkMD5.ArrayBuffer.prototype.reset = function () {
|
|
535
|
+
this._buff = new Uint8Array(0);
|
|
536
|
+
this._length = 0;
|
|
537
|
+
this._hash = [1732584193, -271733879, -1732584194, 271733878];
|
|
538
|
+
return this;
|
|
539
|
+
};
|
|
540
|
+
SparkMD5.ArrayBuffer.prototype.getState = function () {
|
|
541
|
+
var state = SparkMD5.prototype.getState.call(this);
|
|
542
|
+
state.buff = arrayBuffer2Utf8Str(state.buff);
|
|
543
|
+
return state;
|
|
544
|
+
};
|
|
545
|
+
SparkMD5.ArrayBuffer.prototype.setState = function (state) {
|
|
546
|
+
state.buff = utf8Str2ArrayBuffer(state.buff, true);
|
|
547
|
+
return SparkMD5.prototype.setState.call(this, state);
|
|
548
|
+
};
|
|
549
|
+
SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;
|
|
550
|
+
SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;
|
|
551
|
+
SparkMD5.ArrayBuffer.hash = function (arr, raw) {
|
|
552
|
+
var hash = md51_array(new Uint8Array(arr)),
|
|
553
|
+
ret = hex(hash);
|
|
554
|
+
return raw ? hexToBinaryString(ret) : ret;
|
|
555
|
+
};
|
|
556
|
+
return SparkMD5;
|
|
557
|
+
});
|
|
558
|
+
|
|
559
|
+
/***/ }),
|
|
560
|
+
/* 1 */
|
|
561
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
562
|
+
|
|
563
|
+
"use strict";
|
|
564
|
+
__webpack_require__.r(__webpack_exports__);
|
|
565
|
+
/* harmony import */ var _spark_md5_min_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
|
|
566
|
+
/* harmony import */ var _spark_md5_min_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_spark_md5_min_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
567
|
+
|
|
568
|
+
// self.importScripts("spark-md5.min.js");
|
|
569
|
+
|
|
570
|
+
// 创建文件切片
|
|
571
|
+
function createFileChunk(file, chunkSize) {
|
|
572
|
+
return new Promise((resolve, reject) => {
|
|
573
|
+
let fileChunkList = [];
|
|
574
|
+
let cur = 0;
|
|
575
|
+
while (cur < file.size) {
|
|
576
|
+
// Blob 接口的 slice() 方法创建并返回一个新的 Blob 对象,该对象包含调用它的 blob 的子集中的数据。
|
|
577
|
+
fileChunkList.push({ chunkFile: file.slice(cur, cur + chunkSize) });
|
|
578
|
+
cur += chunkSize;
|
|
579
|
+
}
|
|
580
|
+
// 返回全部文件切片
|
|
581
|
+
resolve(fileChunkList);
|
|
582
|
+
});
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
// 加载并计算文件切片的MD5
|
|
586
|
+
async function calculateChunksHash(fileChunkList) {
|
|
587
|
+
// 初始化脚本
|
|
588
|
+
const spark = new _spark_md5_min_js__WEBPACK_IMPORTED_MODULE_0___default.a.ArrayBuffer();
|
|
589
|
+
// const spark = new self.SparkMD5.ArrayBuffer();
|
|
590
|
+
|
|
591
|
+
// 计算切片进度(拓展功能,可自行添加)
|
|
592
|
+
let percentage = 0;
|
|
593
|
+
// 计算切片次数
|
|
594
|
+
let count = 0;
|
|
595
|
+
|
|
596
|
+
// 递归函数,用于处理文件切片
|
|
597
|
+
async function loadNext(index) {
|
|
598
|
+
if (index >= fileChunkList.length) {
|
|
599
|
+
// 所有切片都已处理完毕
|
|
600
|
+
const md5 = spark.end();
|
|
601
|
+
return md5; // 返回最终的MD5值
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
return new Promise((resolve, reject) => {
|
|
605
|
+
const reader = new FileReader();
|
|
606
|
+
reader.readAsArrayBuffer(fileChunkList[index].chunkFile);
|
|
607
|
+
reader.onload = (e) => {
|
|
608
|
+
count++;
|
|
609
|
+
spark.append(e.target.result);
|
|
610
|
+
|
|
611
|
+
// 更新进度并处理下一个切片
|
|
612
|
+
percentage += 100 / fileChunkList.length;
|
|
613
|
+
self.postMessage({ percentage }); // 发送进度到主线程
|
|
614
|
+
|
|
615
|
+
resolve(loadNext(index + 1)); // 递归调用,处理下一个切片
|
|
616
|
+
};
|
|
617
|
+
reader.onerror = (err) => {
|
|
618
|
+
reject(err); // 如果读取错误,则拒绝Promise
|
|
619
|
+
};
|
|
620
|
+
});
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
try {
|
|
624
|
+
// 开始计算切片
|
|
625
|
+
const fileHash = await loadNext(0); // 等待所有切片处理完毕
|
|
626
|
+
self.postMessage({ percentage: 100, fileHash, fileChunkList }); // 发送最终结果到主线程
|
|
627
|
+
self.close(); // 关闭Worker
|
|
628
|
+
} catch (err) {
|
|
629
|
+
self.postMessage({ name: "error", data: err }); // 发送错误到主线程
|
|
630
|
+
self.close(); // 关闭Worker
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
// 监听消息
|
|
635
|
+
self.addEventListener(
|
|
636
|
+
"message",
|
|
637
|
+
async (e) => {
|
|
638
|
+
try {
|
|
639
|
+
const { file, chunkSize } = e.data;
|
|
640
|
+
const fileChunkList = await createFileChunk(file, chunkSize); // 创建文件切片
|
|
641
|
+
await calculateChunksHash(fileChunkList); // 等待计算完成
|
|
642
|
+
} catch (err) {
|
|
643
|
+
// 这里实际上不会捕获到calculateChunksHash中的错误,因为错误已经在Worker内部处理了
|
|
644
|
+
// 但如果未来有其他的异步操作,这里可以捕获到它们
|
|
645
|
+
console.error("worker监听发生错误:", err);
|
|
646
|
+
}
|
|
647
|
+
},
|
|
648
|
+
false
|
|
649
|
+
);
|
|
650
|
+
|
|
651
|
+
// 主线程可以监听 Worker 是否发生错误。如果发生错误,Worker 会触发主线程的error事件。
|
|
652
|
+
self.addEventListener("error", function (event) {
|
|
653
|
+
console.log("Worker触发主线程的error事件:", event);
|
|
654
|
+
self.close(); // 关闭Worker
|
|
655
|
+
});
|
|
656
|
+
|
|
657
|
+
|
|
658
|
+
/***/ })
|
|
659
|
+
/******/ ]);
|