ecinc-cloud-mappaio 9.7.13 → 9.7.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/lib/ecmappaio.common.js +1243 -78
- package/lib/ecmappaio.umd.js +1243 -78
- package/lib/ecmappaio.umd.min.js +1 -1
- package/package.json +1 -1
package/lib/ecmappaio.common.js
CHANGED
|
@@ -8750,7 +8750,7 @@ src.install = function (Vue) {
|
|
|
8750
8750
|
|
|
8751
8751
|
/***/ }),
|
|
8752
8752
|
|
|
8753
|
-
/***/
|
|
8753
|
+
/***/ 8388:
|
|
8754
8754
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8755
8755
|
|
|
8756
8756
|
"use strict";
|
|
@@ -8770,7 +8770,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
8770
8770
|
WriteToReadIdea: function() { return /* binding */ Wflowform_WriteToReadIdea; }
|
|
8771
8771
|
});
|
|
8772
8772
|
|
|
8773
|
-
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/Attachment.vue?vue&type=template&id=
|
|
8773
|
+
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/Attachment.vue?vue&type=template&id=d820d2a0&scoped=true
|
|
8774
8774
|
var render = function render() {
|
|
8775
8775
|
var _vm = this,
|
|
8776
8776
|
_c = _vm._self._c;
|
|
@@ -8781,9 +8781,9 @@ var render = function render() {
|
|
|
8781
8781
|
}) : _vm._e(), _vm.attachModeType === 'default' ? _c('van-cell-group', {
|
|
8782
8782
|
staticClass: "van-attachment-field",
|
|
8783
8783
|
class: {
|
|
8784
|
-
'wflow-attach': _vm.
|
|
8784
|
+
'wflow-attach': _vm.localShowAttach || _vm.canUpload
|
|
8785
8785
|
}
|
|
8786
|
-
}, [
|
|
8786
|
+
}, [_c('van-cell', {
|
|
8787
8787
|
staticStyle: {
|
|
8788
8788
|
"height": "44px"
|
|
8789
8789
|
},
|
|
@@ -8793,21 +8793,20 @@ var render = function render() {
|
|
|
8793
8793
|
},
|
|
8794
8794
|
on: {
|
|
8795
8795
|
"click": function click($event) {
|
|
8796
|
-
_vm.
|
|
8796
|
+
_vm.localShowAttach = !_vm.localShowAttach;
|
|
8797
8797
|
}
|
|
8798
8798
|
}
|
|
8799
|
-
}, [
|
|
8800
|
-
class: _vm.showAttachments ? 'icon-play-up' : 'icon-play-down',
|
|
8801
|
-
attrs: {
|
|
8802
|
-
"name": "play"
|
|
8803
|
-
}
|
|
8804
|
-
})] : [_vm._v(_vm._s(_vm.$tx('ecmapp.common.nothing', '无')))]], 2) : _c('van-cell', {
|
|
8799
|
+
}, [_c('span', {
|
|
8805
8800
|
staticStyle: {
|
|
8806
|
-
"
|
|
8807
|
-
|
|
8808
|
-
|
|
8809
|
-
|
|
8810
|
-
|
|
8801
|
+
"display": "inline-flex",
|
|
8802
|
+
"align-items": "center",
|
|
8803
|
+
"gap": "8px"
|
|
8804
|
+
}
|
|
8805
|
+
}, [_vm.canUpload ? _c('span', {
|
|
8806
|
+
on: {
|
|
8807
|
+
"click": function click($event) {
|
|
8808
|
+
$event.stopPropagation();
|
|
8809
|
+
}
|
|
8811
8810
|
}
|
|
8812
8811
|
}, [_c('van-uploader', {
|
|
8813
8812
|
attrs: {
|
|
@@ -8827,7 +8826,7 @@ var render = function render() {
|
|
|
8827
8826
|
},
|
|
8828
8827
|
expression: "uploadAttach"
|
|
8829
8828
|
}
|
|
8830
|
-
}, [
|
|
8829
|
+
}, [_c('van-icon', {
|
|
8831
8830
|
staticStyle: {
|
|
8832
8831
|
"margin-top": "2px"
|
|
8833
8832
|
},
|
|
@@ -8835,12 +8834,17 @@ var render = function render() {
|
|
|
8835
8834
|
"name": "add-o",
|
|
8836
8835
|
"size": "20px"
|
|
8837
8836
|
}
|
|
8838
|
-
})
|
|
8837
|
+
})], 1)], 1) : _vm._e(), _vm.attachList.length > 0 ? _c('span', [_vm._v(" " + _vm._s(_vm.localShowAttach ? _vm.$tx('ecmapp.pageBtns.fold', '折叠') : _vm.$tx('ecmapp.pageBtns.open', '展开')) + " "), _c('van-icon', {
|
|
8838
|
+
class: _vm.localShowAttach ? 'icon-play-up' : 'icon-play-down',
|
|
8839
|
+
attrs: {
|
|
8840
|
+
"name": "play"
|
|
8841
|
+
}
|
|
8842
|
+
})], 1) : _vm._e(), _vm.attachList.length === 0 && !_vm.canUpload ? _c('span', [_vm._v(" " + _vm._s(_vm.$tx('ecmapp.common.nothing', '无')) + " ")]) : _vm._e()])])], 1) : _vm._e(), _vm.attachModeType === 'default' ? _c('van-cell-group', {
|
|
8839
8843
|
directives: [{
|
|
8840
8844
|
name: "show",
|
|
8841
8845
|
rawName: "v-show",
|
|
8842
|
-
value: _vm.
|
|
8843
|
-
expression: "
|
|
8846
|
+
value: _vm.localShowAttach || _vm.componentType === 'Wflow' && _vm.vo.status < 1,
|
|
8847
|
+
expression: "localShowAttach || (componentType === 'Wflow' && vo.status < 1)"
|
|
8844
8848
|
}],
|
|
8845
8849
|
staticClass: "wfattach-container"
|
|
8846
8850
|
}, [_vm._l(_vm.attachList, function (attach, index) {
|
|
@@ -8867,7 +8871,7 @@ var render = function render() {
|
|
|
8867
8871
|
domProps: {
|
|
8868
8872
|
"innerHTML": _vm._s(attach.fileSize)
|
|
8869
8873
|
}
|
|
8870
|
-
}), _vm.
|
|
8874
|
+
}), _vm.localShowMoreMenu && attach.id !== undefined ? [_c('van-icon', {
|
|
8871
8875
|
attrs: {
|
|
8872
8876
|
"name": "ellipsis"
|
|
8873
8877
|
},
|
|
@@ -8888,7 +8892,13 @@ var render = function render() {
|
|
|
8888
8892
|
return _vm.handleOpenEditor(attach);
|
|
8889
8893
|
}
|
|
8890
8894
|
}
|
|
8891
|
-
}) : _vm._e(), _vm.
|
|
8895
|
+
}) : _vm._e(), _vm.deletingAttachId === attach.id ? [_c('van-icon', {
|
|
8896
|
+
staticClass: "attach-deleting-icon",
|
|
8897
|
+
attrs: {
|
|
8898
|
+
"name": "replay",
|
|
8899
|
+
"color": "#ee0a24"
|
|
8900
|
+
}
|
|
8901
|
+
})] : _vm.canUpload && _vm.canDelete ? _c('van-icon', {
|
|
8892
8902
|
attrs: {
|
|
8893
8903
|
"color": "#ee0a24",
|
|
8894
8904
|
"name": "cross"
|
|
@@ -8900,9 +8910,6 @@ var render = function render() {
|
|
|
8900
8910
|
}
|
|
8901
8911
|
}
|
|
8902
8912
|
}) : _vm._e(), _vm.attachShowDownload && attach.id !== undefined ? _c('van-icon', {
|
|
8903
|
-
staticStyle: {
|
|
8904
|
-
"margin-left": "4px"
|
|
8905
|
-
},
|
|
8906
8913
|
attrs: {
|
|
8907
8914
|
"name": "down"
|
|
8908
8915
|
},
|
|
@@ -8982,7 +8989,13 @@ var render = function render() {
|
|
|
8982
8989
|
"top": "11px",
|
|
8983
8990
|
"padding": "0 5px"
|
|
8984
8991
|
}
|
|
8985
|
-
}, [_vm.
|
|
8992
|
+
}, [_vm.deletingAttachId === attach.id ? [_c('van-icon', {
|
|
8993
|
+
staticClass: "attach-deleting-icon",
|
|
8994
|
+
attrs: {
|
|
8995
|
+
"name": "replay",
|
|
8996
|
+
"color": "#ee0a24"
|
|
8997
|
+
}
|
|
8998
|
+
})] : _vm.canUpload && _vm.canDelete ? _c('van-icon', {
|
|
8986
8999
|
attrs: {
|
|
8987
9000
|
"name": "cross"
|
|
8988
9001
|
},
|
|
@@ -9002,7 +9015,7 @@ var render = function render() {
|
|
|
9002
9015
|
return _vm.handleUploadPreview(attach);
|
|
9003
9016
|
}
|
|
9004
9017
|
}
|
|
9005
|
-
})],
|
|
9018
|
+
})], 2)]), !attach.id && attach.file.progress > 0 ? _c('template', {
|
|
9006
9019
|
slot: "label"
|
|
9007
9020
|
}, [_c('div', {
|
|
9008
9021
|
staticClass: "upload-progress"
|
|
@@ -9198,7 +9211,12 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
9198
9211
|
onZipAttachPreviewClick: {
|
|
9199
9212
|
type: Function,
|
|
9200
9213
|
default: null
|
|
9201
|
-
}
|
|
9214
|
+
},
|
|
9215
|
+
// 自定义压缩附件处理方式
|
|
9216
|
+
autoUpload: {
|
|
9217
|
+
type: Boolean,
|
|
9218
|
+
default: true
|
|
9219
|
+
} // 是否开启自动上传,属性值为true时选择文件后自动上传
|
|
9202
9220
|
},
|
|
9203
9221
|
data: function data() {
|
|
9204
9222
|
return {
|
|
@@ -9210,6 +9228,9 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
9210
9228
|
renameAttach: {
|
|
9211
9229
|
rename: ''
|
|
9212
9230
|
},
|
|
9231
|
+
localShowAttach: this.showAttachments,
|
|
9232
|
+
localShowMoreMenu: this.showMoreMenu,
|
|
9233
|
+
deletingAttachId: null,
|
|
9213
9234
|
licExpiredAlert: null,
|
|
9214
9235
|
loginUser: this.$store.getters.loginUser,
|
|
9215
9236
|
topdfFile: '.doc,.docx,.xls,.xlsx,.ppt,.pptx,.txt',
|
|
@@ -9217,7 +9238,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
9217
9238
|
imgFile: '.pdf,.pdfx,.jpg,.png,.jpeg,.gif,.bmp' //图片文件格式
|
|
9218
9239
|
};
|
|
9219
9240
|
},
|
|
9220
|
-
computed: _objectSpread({}, (0,vuex_esm/* mapGetters */.L8)(['loginUser'])),
|
|
9241
|
+
computed: _objectSpread({}, (0,vuex_esm/* mapGetters */.L8)(['loginUser', 'maxFileSize'])),
|
|
9221
9242
|
watch: {
|
|
9222
9243
|
attachments: {
|
|
9223
9244
|
handler: function handler(val) {
|
|
@@ -9265,6 +9286,12 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
9265
9286
|
},
|
|
9266
9287
|
deep: true,
|
|
9267
9288
|
immediate: true
|
|
9289
|
+
},
|
|
9290
|
+
showAttachments: function showAttachments(val) {
|
|
9291
|
+
this.localShowAttach = val;
|
|
9292
|
+
},
|
|
9293
|
+
showMoreMenu: function showMoreMenu(val) {
|
|
9294
|
+
this.localShowMoreMenu = val;
|
|
9268
9295
|
}
|
|
9269
9296
|
},
|
|
9270
9297
|
created: function created() {
|
|
@@ -9278,7 +9305,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
9278
9305
|
this.curTN.tnCanEdit = $scope.canEdit;
|
|
9279
9306
|
if (this.canEdit == null) this.canEdit = this.curTN.tnCanEdit;
|
|
9280
9307
|
this.canUpload = this.attachEdit !== null ? this.attachEdit.canUpload : this.canEdit === 1;
|
|
9281
|
-
} else if (this.
|
|
9308
|
+
} else if (this.curTN.tnCanEdit === 1 || this.attachsType === 'DONEXT') {
|
|
9282
9309
|
// 流程表单
|
|
9283
9310
|
this.canUpload = true;
|
|
9284
9311
|
}
|
|
@@ -9292,8 +9319,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
9292
9319
|
setTimeout(function () {
|
|
9293
9320
|
_this3.setWfAttachUrl();
|
|
9294
9321
|
if (window.mappType !== 'ecinc') {
|
|
9295
|
-
_this3
|
|
9296
|
-
_this3.$forceUpdate();
|
|
9322
|
+
_this3.localShowMoreMenu = false;
|
|
9297
9323
|
}
|
|
9298
9324
|
}, 500);
|
|
9299
9325
|
|
|
@@ -9760,6 +9786,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
9760
9786
|
deleteUrl = _this8.wfAttachUrl + '/delete';
|
|
9761
9787
|
if (_this.$vnode.context.wfInstance === undefined || _this.$vnode.context.wfInstance === null || _this.$vnode.context.wfInstance.id === undefined) deleteUrl = _this8.wfAttachUrl + '/deleteAttach'; // 非流程表单
|
|
9762
9788
|
|
|
9789
|
+
_this8.deletingAttachId = file.id;
|
|
9763
9790
|
_this8.$http({
|
|
9764
9791
|
method: 'DELETE',
|
|
9765
9792
|
contentType: 'application/x-www-form-urlencoded',
|
|
@@ -9783,8 +9810,10 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
9783
9810
|
message: res.message
|
|
9784
9811
|
});
|
|
9785
9812
|
}
|
|
9813
|
+
}).finally(function () {
|
|
9814
|
+
_this8.deletingAttachId = null;
|
|
9786
9815
|
});
|
|
9787
|
-
case
|
|
9816
|
+
case 4:
|
|
9788
9817
|
case "end":
|
|
9789
9818
|
return _context2.stop();
|
|
9790
9819
|
}
|
|
@@ -9888,6 +9917,33 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
9888
9917
|
return attach.fileType === _this9.attachsType;
|
|
9889
9918
|
});
|
|
9890
9919
|
this.$forceUpdate();
|
|
9920
|
+
|
|
9921
|
+
// 选择文件后自动展开附件列表
|
|
9922
|
+
this.localShowAttach = true;
|
|
9923
|
+
setTimeout(function () {
|
|
9924
|
+
// 自动上传
|
|
9925
|
+
if (_this9.autoUpload) {
|
|
9926
|
+
var scope = null;
|
|
9927
|
+
if (_this9.$vnode.context.wfInstance) {
|
|
9928
|
+
scope = _this9.$vnode.context;
|
|
9929
|
+
} else if (_this9.$vnode.context.$parent.moduleInfo) {
|
|
9930
|
+
scope = _this9.$vnode.context.$parent;
|
|
9931
|
+
scope.wfInstance = {
|
|
9932
|
+
module: scope.moduleCode,
|
|
9933
|
+
bodyDocId: ''
|
|
9934
|
+
};
|
|
9935
|
+
} else if (_this9.$vnode.context.$parent.$vnode.context.moduleInfo) {
|
|
9936
|
+
scope = _this9.$vnode.context.$parent.$vnode.context;
|
|
9937
|
+
scope.wfInstance = {
|
|
9938
|
+
module: scope.moduleCode,
|
|
9939
|
+
bodyDocId: ''
|
|
9940
|
+
};
|
|
9941
|
+
}
|
|
9942
|
+
if (scope) {
|
|
9943
|
+
_this9.uploadWflowAttach(scope);
|
|
9944
|
+
}
|
|
9945
|
+
}
|
|
9946
|
+
}, 100);
|
|
9891
9947
|
},
|
|
9892
9948
|
// 初始化文件头像
|
|
9893
9949
|
initPotourl: function initPotourl(attach) {
|
|
@@ -9927,11 +9983,27 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
9927
9983
|
case 0:
|
|
9928
9984
|
_uploadAttachFile = function _uploadAttachFile3() {
|
|
9929
9985
|
_uploadAttachFile = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(attach, index) {
|
|
9930
|
-
var file, config, module, reqData, uploadRst;
|
|
9986
|
+
var file, maxFileSizeStr, message, config, module, reqData, uploadRst;
|
|
9931
9987
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
9932
9988
|
while (1) switch (_context4.prev = _context4.next) {
|
|
9933
9989
|
case 0:
|
|
9934
|
-
file = attach.file;
|
|
9990
|
+
file = attach.file; // maxFileSize 校验:超过单文件大小限制时拒绝上传
|
|
9991
|
+
if (!(_this.maxFileSize && _this.maxFileSize !== -1)) {
|
|
9992
|
+
_context4.next = 6;
|
|
9993
|
+
break;
|
|
9994
|
+
}
|
|
9995
|
+
if (!(file.file && file.file.size > _this.maxFileSize)) {
|
|
9996
|
+
_context4.next = 6;
|
|
9997
|
+
break;
|
|
9998
|
+
}
|
|
9999
|
+
maxFileSizeStr = (0,utils/* formatFileSize */.v7)(_this.maxFileSize);
|
|
10000
|
+
message = '上传单个文件大小不允许超过' + maxFileSizeStr;
|
|
10001
|
+
return _context4.abrupt("return", {
|
|
10002
|
+
code: 'failure',
|
|
10003
|
+
message: message,
|
|
10004
|
+
body: {}
|
|
10005
|
+
});
|
|
10006
|
+
case 6:
|
|
9935
10007
|
config = {
|
|
9936
10008
|
onUploadProgress: function onUploadProgress(progressEvent) {
|
|
9937
10009
|
var complete = progressEvent.loaded / progressEvent.total * 100 | 0;
|
|
@@ -9962,12 +10034,12 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
9962
10034
|
// 代办佐证材料
|
|
9963
10035
|
reqData.uploadBy = attach.uploadBy;
|
|
9964
10036
|
}
|
|
9965
|
-
_context4.next =
|
|
10037
|
+
_context4.next = 14;
|
|
9966
10038
|
return _this.$wfEngine.upload(_this, _this.wfAttachUrl + '/upload', file.file, reqData, config);
|
|
9967
|
-
case
|
|
10039
|
+
case 14:
|
|
9968
10040
|
uploadRst = _context4.sent;
|
|
9969
10041
|
return _context4.abrupt("return", uploadRst);
|
|
9970
|
-
case
|
|
10042
|
+
case 16:
|
|
9971
10043
|
case "end":
|
|
9972
10044
|
return _context4.stop();
|
|
9973
10045
|
}
|
|
@@ -10173,7 +10245,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
10173
10245
|
if (!attachment.id) return;
|
|
10174
10246
|
var downloadUrl = '';
|
|
10175
10247
|
downloadUrl = "/apigw" + '/' + this.wfAttachUrl + '/downloadById?inline=false&attachIds=' + attachment.id + '&httpPort=' + location.port + '&csrfToken=' + window.$auth.getCsrfToken();
|
|
10176
|
-
if (window.
|
|
10248
|
+
if (window.mappType === 'ecinc') {
|
|
10177
10249
|
window.$wv.downloadFile(downloadUrl, null, attachment.fileName, null);
|
|
10178
10250
|
} else {
|
|
10179
10251
|
this.$mappUtils.downLoadAndOpenFile(this, downloadUrl, attachment.fileName, attachment.fileSize);
|
|
@@ -10183,9 +10255,9 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
10183
10255
|
});
|
|
10184
10256
|
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/Attachment.vue?vue&type=script&lang=js
|
|
10185
10257
|
/* harmony default export */ var src_Attachmentvue_type_script_lang_js = (Attachmentvue_type_script_lang_js);
|
|
10186
|
-
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/Attachment.vue?vue&type=style&index=0&id=
|
|
10187
|
-
var
|
|
10188
|
-
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/Attachment.vue?vue&type=style&index=0&id=
|
|
10258
|
+
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/Attachment.vue?vue&type=style&index=0&id=d820d2a0&prod&scoped=true&lang=scss
|
|
10259
|
+
var Attachmentvue_type_style_index_0_id_d820d2a0_prod_scoped_true_lang_scss = __webpack_require__(9302);
|
|
10260
|
+
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/Attachment.vue?vue&type=style&index=0&id=d820d2a0&prod&scoped=true&lang=scss
|
|
10189
10261
|
|
|
10190
10262
|
// EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
|
|
10191
10263
|
var componentNormalizer = __webpack_require__(1656);
|
|
@@ -10204,7 +10276,7 @@ var component = (0,componentNormalizer/* default */.A)(
|
|
|
10204
10276
|
staticRenderFns,
|
|
10205
10277
|
false,
|
|
10206
10278
|
null,
|
|
10207
|
-
"
|
|
10279
|
+
"d820d2a0",
|
|
10208
10280
|
null
|
|
10209
10281
|
|
|
10210
10282
|
)
|
|
@@ -18536,7 +18608,8 @@ module.exports = {
|
|
|
18536
18608
|
writReviewComments: 'Please fill in review comments',
|
|
18537
18609
|
noWritReview: 'Your reading record does not exist; you cannot fill in review comments.',
|
|
18538
18610
|
success: 'Processed successfully',
|
|
18539
|
-
failed: 'Processing failed'
|
|
18611
|
+
failed: 'Processing failed',
|
|
18612
|
+
notSupportMobile: 'This file does not support processing on mobile devices.'
|
|
18540
18613
|
}
|
|
18541
18614
|
}
|
|
18542
18615
|
};
|
|
@@ -18773,22 +18846,355 @@ module.exports = {
|
|
|
18773
18846
|
noWritReview: '您的阅文记录不存在,不能填写批阅意见',
|
|
18774
18847
|
submitToNet: '您是否确认提交下一环节?',
|
|
18775
18848
|
success: '处理成功',
|
|
18776
|
-
failed: '处理失败'
|
|
18849
|
+
failed: '处理失败',
|
|
18850
|
+
notSupportMobile: '此文件不支持在手机端办理。'
|
|
18777
18851
|
}
|
|
18778
18852
|
}
|
|
18779
18853
|
};
|
|
18780
18854
|
|
|
18781
18855
|
/***/ }),
|
|
18782
18856
|
|
|
18783
|
-
/***/
|
|
18857
|
+
/***/ 8838:
|
|
18784
18858
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
18785
18859
|
|
|
18786
18860
|
"use strict";
|
|
18861
|
+
// ESM COMPAT FLAG
|
|
18787
18862
|
__webpack_require__.r(__webpack_exports__);
|
|
18788
|
-
|
|
18789
|
-
|
|
18790
|
-
|
|
18791
|
-
|
|
18863
|
+
|
|
18864
|
+
// EXPORTS
|
|
18865
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
18866
|
+
"default": function() { return /* binding */ wfengine; }
|
|
18867
|
+
});
|
|
18868
|
+
|
|
18869
|
+
// EXTERNAL MODULE: ./node_modules/qs/lib/index.js
|
|
18870
|
+
var lib = __webpack_require__(5373);
|
|
18871
|
+
var lib_default = /*#__PURE__*/__webpack_require__.n(lib);
|
|
18872
|
+
// EXTERNAL MODULE: ./node_modules/js-cookie/src/js.cookie.js
|
|
18873
|
+
var js_cookie = __webpack_require__(2215);
|
|
18874
|
+
var js_cookie_default = /*#__PURE__*/__webpack_require__.n(js_cookie);
|
|
18875
|
+
// EXTERNAL MODULE: ./node_modules/spark-md5/spark-md5.js
|
|
18876
|
+
var spark_md5 = __webpack_require__(5735);
|
|
18877
|
+
var spark_md5_default = /*#__PURE__*/__webpack_require__.n(spark_md5);
|
|
18878
|
+
;// CONCATENATED MODULE: ./packages/ecwflow/wfengine/chunkUpload.js
|
|
18879
|
+
/**
|
|
18880
|
+
* 分片上传核心模块
|
|
18881
|
+
* 封装大文件分片上传、断点续传全流程逻辑
|
|
18882
|
+
*/
|
|
18883
|
+
|
|
18884
|
+
|
|
18885
|
+
// ========== 配置 ==========
|
|
18886
|
+
var DEFAULT_CHUNK_SIZE = 3; // 默认分片大小(MB)
|
|
18887
|
+
var MAX_RETRY = 3; // 单分片最大重试次数
|
|
18888
|
+
var RETRY_DELAYS = [1000, 2000, 4000]; // 指数退避延迟(ms)
|
|
18889
|
+
var STORAGE_PREFIX = 'chunk_upload_'; // localStorage key 前缀
|
|
18890
|
+
|
|
18891
|
+
/**
|
|
18892
|
+
* 获取分片大小(字节)
|
|
18893
|
+
*/
|
|
18894
|
+
function getChunkSize() {
|
|
18895
|
+
return (window.chunkUploadSize || DEFAULT_CHUNK_SIZE) * 1024 * 1024;
|
|
18896
|
+
}
|
|
18897
|
+
|
|
18898
|
+
// ========== MD5 计算 ==========
|
|
18899
|
+
|
|
18900
|
+
/**
|
|
18901
|
+
* 使用 spark-md5 增量计算文件 MD5(避免大文件一次性读入内存)
|
|
18902
|
+
* @param {File} file 文件对象
|
|
18903
|
+
* @param {number} chunkSize 切片大小(字节)
|
|
18904
|
+
* @returns {Promise<string>} 文件 MD5 值(32位小写)
|
|
18905
|
+
*/
|
|
18906
|
+
function computeFileMD5(file, chunkSize) {
|
|
18907
|
+
return new Promise(function (resolve, reject) {
|
|
18908
|
+
var blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;
|
|
18909
|
+
var chunks = Math.ceil(file.size / chunkSize);
|
|
18910
|
+
var currentChunk = 0;
|
|
18911
|
+
var spark = new (spark_md5_default()).ArrayBuffer();
|
|
18912
|
+
var reader = new FileReader();
|
|
18913
|
+
reader.onload = function (e) {
|
|
18914
|
+
spark.append(e.target.result);
|
|
18915
|
+
currentChunk++;
|
|
18916
|
+
if (currentChunk < chunks) {
|
|
18917
|
+
loadNext();
|
|
18918
|
+
} else {
|
|
18919
|
+
resolve(spark.end());
|
|
18920
|
+
}
|
|
18921
|
+
};
|
|
18922
|
+
reader.onerror = function () {
|
|
18923
|
+
reject(new Error('文件读取失败'));
|
|
18924
|
+
};
|
|
18925
|
+
function loadNext() {
|
|
18926
|
+
var start = currentChunk * chunkSize;
|
|
18927
|
+
var end = Math.min(start + chunkSize, file.size);
|
|
18928
|
+
var chunk = blobSlice.call(file, start, end);
|
|
18929
|
+
reader.readAsArrayBuffer(chunk);
|
|
18930
|
+
}
|
|
18931
|
+
loadNext();
|
|
18932
|
+
});
|
|
18933
|
+
}
|
|
18934
|
+
|
|
18935
|
+
// ========== localStorage 断点进度管理 ==========
|
|
18936
|
+
|
|
18937
|
+
/**
|
|
18938
|
+
* 保存上传进度
|
|
18939
|
+
*/
|
|
18940
|
+
function saveUploadProgress(fileMd5, data) {
|
|
18941
|
+
try {
|
|
18942
|
+
localStorage.setItem(STORAGE_PREFIX + fileMd5, JSON.stringify(data));
|
|
18943
|
+
} catch (e) {
|
|
18944
|
+
// localStorage 满或不可用,静默忽略
|
|
18945
|
+
}
|
|
18946
|
+
}
|
|
18947
|
+
|
|
18948
|
+
/**
|
|
18949
|
+
* 获取上传进度
|
|
18950
|
+
*/
|
|
18951
|
+
function getUploadProgress(fileMd5) {
|
|
18952
|
+
try {
|
|
18953
|
+
var raw = localStorage.getItem(STORAGE_PREFIX + fileMd5);
|
|
18954
|
+
return raw ? JSON.parse(raw) : null;
|
|
18955
|
+
} catch (e) {
|
|
18956
|
+
return null;
|
|
18957
|
+
}
|
|
18958
|
+
}
|
|
18959
|
+
|
|
18960
|
+
/**
|
|
18961
|
+
* 清除上传进度
|
|
18962
|
+
*/
|
|
18963
|
+
function clearUploadProgress(fileMd5) {
|
|
18964
|
+
try {
|
|
18965
|
+
localStorage.removeItem(STORAGE_PREFIX + fileMd5);
|
|
18966
|
+
} catch (e) {
|
|
18967
|
+
// 静默忽略
|
|
18968
|
+
}
|
|
18969
|
+
}
|
|
18970
|
+
|
|
18971
|
+
// ========== 后端接口调用 ==========
|
|
18972
|
+
|
|
18973
|
+
/**
|
|
18974
|
+
* 检查已上传分片
|
|
18975
|
+
* @param {Vue} $scope Vue 实例
|
|
18976
|
+
* @param {string} baseUrl 基础 URL(如 workflow/wfBusiAttach)
|
|
18977
|
+
* @param {string} fileMd5 文件 MD5
|
|
18978
|
+
* @param {number} totalChunks 总分片数
|
|
18979
|
+
* @returns {Promise<number[]>} 已上传分片索引列表
|
|
18980
|
+
*/
|
|
18981
|
+
function checkChunkStatus($scope, baseUrl, fileMd5, totalChunks) {
|
|
18982
|
+
var formData = new FormData();
|
|
18983
|
+
formData.append('fileMd5', fileMd5);
|
|
18984
|
+
formData.append('totalChunks', totalChunks);
|
|
18985
|
+
return $scope.$http({
|
|
18986
|
+
url: baseUrl + '/uploadChunkCheck',
|
|
18987
|
+
method: 'post',
|
|
18988
|
+
data: formData
|
|
18989
|
+
}).then(function (res) {
|
|
18990
|
+
if (res.code === 'success' && res.body) {
|
|
18991
|
+
return res.body.uploadedChunks || [];
|
|
18992
|
+
}
|
|
18993
|
+
return [];
|
|
18994
|
+
}).catch(function () {
|
|
18995
|
+
return [];
|
|
18996
|
+
});
|
|
18997
|
+
}
|
|
18998
|
+
|
|
18999
|
+
/**
|
|
19000
|
+
* 上传单个分片(含重试)
|
|
19001
|
+
* @param {Vue} $scope Vue 实例
|
|
19002
|
+
* @param {string} baseUrl 基础 URL
|
|
19003
|
+
* @param {File} file 完整文件对象
|
|
19004
|
+
* @param {number} chunkIndex 分片索引
|
|
19005
|
+
* @param {string} fileMd5 文件 MD5
|
|
19006
|
+
* @param {number} totalChunks 总分片数
|
|
19007
|
+
* @param {string} fileName 文件名
|
|
19008
|
+
* @param {number} fileSize 文件大小
|
|
19009
|
+
* @returns {Promise}
|
|
19010
|
+
*/
|
|
19011
|
+
function uploadSingleChunk($scope, baseUrl, file, chunkIndex, fileMd5, totalChunks, fileName, fileSize) {
|
|
19012
|
+
var chunkSize = getChunkSize();
|
|
19013
|
+
var start = chunkIndex * chunkSize;
|
|
19014
|
+
var end = Math.min(start + chunkSize, file.size);
|
|
19015
|
+
var chunk = file.slice(start, end);
|
|
19016
|
+
var formData = new FormData();
|
|
19017
|
+
formData.append('chunkFile', chunk, 'chunk_' + chunkIndex);
|
|
19018
|
+
formData.append('fileMd5', fileMd5);
|
|
19019
|
+
formData.append('chunkIndex', chunkIndex);
|
|
19020
|
+
formData.append('totalChunks', totalChunks);
|
|
19021
|
+
formData.append('fileName', fileName);
|
|
19022
|
+
formData.append('fileSize', fileSize);
|
|
19023
|
+
return doUploadWithRetry($scope, baseUrl + '/uploadChunk', formData, 0, chunkIndex);
|
|
19024
|
+
}
|
|
19025
|
+
|
|
19026
|
+
/**
|
|
19027
|
+
* 带重试的上传请求
|
|
19028
|
+
*/
|
|
19029
|
+
function doUploadWithRetry($scope, url, formData, retryCount, chunkIdx) {
|
|
19030
|
+
return $scope.$http({
|
|
19031
|
+
url: url,
|
|
19032
|
+
method: 'post',
|
|
19033
|
+
data: formData
|
|
19034
|
+
}).then(function (res) {
|
|
19035
|
+
if (res.code !== 'success') {
|
|
19036
|
+
console.error('[chunkUpload] chunk_' + chunkIdx + ' failed:', res.message);
|
|
19037
|
+
throw new Error(res.message || 'chunk upload failed');
|
|
19038
|
+
}
|
|
19039
|
+
console.log('[chunkUpload] chunk_' + chunkIdx + ' success');
|
|
19040
|
+
return res;
|
|
19041
|
+
}).catch(function (err) {
|
|
19042
|
+
if (retryCount < MAX_RETRY) {
|
|
19043
|
+
console.warn('[chunkUpload] chunk_' + chunkIdx + ' retry ' + (retryCount + 1) + ':', err.message || err);
|
|
19044
|
+
var delay = RETRY_DELAYS[retryCount] || RETRY_DELAYS[RETRY_DELAYS.length - 1];
|
|
19045
|
+
return new Promise(function (resolve) {
|
|
19046
|
+
setTimeout(resolve, delay);
|
|
19047
|
+
}).then(function () {
|
|
19048
|
+
return doUploadWithRetry($scope, url, formData, retryCount + 1, chunkIdx);
|
|
19049
|
+
});
|
|
19050
|
+
}
|
|
19051
|
+
throw err;
|
|
19052
|
+
});
|
|
19053
|
+
}
|
|
19054
|
+
|
|
19055
|
+
/**
|
|
19056
|
+
* 合并分片
|
|
19057
|
+
* @param {Vue} $scope Vue 实例
|
|
19058
|
+
* @param {string} baseUrl 基础 URL
|
|
19059
|
+
* @param {string} fileMd5 文件 MD5
|
|
19060
|
+
* @param {string} fileName 文件名
|
|
19061
|
+
* @param {number} fileSize 文件大小
|
|
19062
|
+
* @param {number} totalChunks 总分片数
|
|
19063
|
+
* @param {Object} reqData 业务参数(module, busiDataId 等)
|
|
19064
|
+
* @returns {Promise}
|
|
19065
|
+
*/
|
|
19066
|
+
function mergeChunks($scope, baseUrl, fileMd5, fileName, fileSize, totalChunks, reqData) {
|
|
19067
|
+
var formData = new FormData();
|
|
19068
|
+
formData.append('fileMd5', fileMd5);
|
|
19069
|
+
formData.append('fileName', fileName);
|
|
19070
|
+
formData.append('fileSize', fileSize);
|
|
19071
|
+
formData.append('totalChunks', totalChunks);
|
|
19072
|
+
if (reqData) {
|
|
19073
|
+
for (var key in reqData) {
|
|
19074
|
+
if (reqData.hasOwnProperty(key) && reqData[key] !== undefined && reqData[key] !== null) {
|
|
19075
|
+
formData.append(key, reqData[key]);
|
|
19076
|
+
}
|
|
19077
|
+
}
|
|
19078
|
+
}
|
|
19079
|
+
return $scope.$http({
|
|
19080
|
+
url: baseUrl + '/uploadChunkMerge',
|
|
19081
|
+
method: 'post',
|
|
19082
|
+
data: formData
|
|
19083
|
+
});
|
|
19084
|
+
}
|
|
19085
|
+
|
|
19086
|
+
// ========== 主编排函数 ==========
|
|
19087
|
+
|
|
19088
|
+
/**
|
|
19089
|
+
* 分片上传主流程
|
|
19090
|
+
* @param {Vue} $scope Vue 实例
|
|
19091
|
+
* @param {string} uploadUrl 上传 URL(如 workflow/wfBusiAttach/upload)
|
|
19092
|
+
* @param {File} file 文件对象
|
|
19093
|
+
* @param {Object} reqData 业务参数
|
|
19094
|
+
* @param {Object} config 配置(含 onUploadProgress 回调)
|
|
19095
|
+
* @returns {Promise} 合并后的响应,与原 upload 接口返回格式一致
|
|
19096
|
+
*/
|
|
19097
|
+
function chunkedUpload($scope, uploadUrl, file, reqData, config) {
|
|
19098
|
+
var chunkSize = getChunkSize();
|
|
19099
|
+
var totalChunks = Math.ceil(file.size / chunkSize);
|
|
19100
|
+
var fileName = file.name || 'unknown';
|
|
19101
|
+
var fileSize = file.size;
|
|
19102
|
+
|
|
19103
|
+
// 从 uploadUrl 中提取 baseUrl(去掉末尾的 /upload)
|
|
19104
|
+
var baseUrl = uploadUrl.replace(/\/upload\/?$/, '');
|
|
19105
|
+
var onProgress = config && config.onUploadProgress || null;
|
|
19106
|
+
return new Promise(function (resolve, reject) {
|
|
19107
|
+
// Step 1: 计算文件 MD5
|
|
19108
|
+
computeFileMD5(file, chunkSize).then(function (fileMd5) {
|
|
19109
|
+
// Step 2: 检查断点续传进度
|
|
19110
|
+
var savedProgress = getUploadProgress(fileMd5);
|
|
19111
|
+
var uploadedBytes = savedProgress ? savedProgress.uploadedBytes || 0 : 0;
|
|
19112
|
+
return checkChunkStatus($scope, baseUrl, fileMd5, totalChunks).then(function (uploadedChunks) {
|
|
19113
|
+
// Step 3: 逐片上传未完成的分片
|
|
19114
|
+
var completedChunks = uploadedChunks.length;
|
|
19115
|
+
var uploadedBytesFromServer = 0;
|
|
19116
|
+
for (var i = 0; i < uploadedChunks.length; i++) {
|
|
19117
|
+
var idx = uploadedChunks[i];
|
|
19118
|
+
var cStart = idx * chunkSize;
|
|
19119
|
+
var cEnd = Math.min(cStart + chunkSize, fileSize);
|
|
19120
|
+
uploadedBytesFromServer += cEnd - cStart;
|
|
19121
|
+
}
|
|
19122
|
+
uploadedBytes = uploadedBytesFromServer;
|
|
19123
|
+
|
|
19124
|
+
// 模拟初始进度回调
|
|
19125
|
+
if (onProgress) {
|
|
19126
|
+
onProgress({
|
|
19127
|
+
loaded: uploadedBytes,
|
|
19128
|
+
total: fileSize
|
|
19129
|
+
});
|
|
19130
|
+
}
|
|
19131
|
+
return uploadChunksSequentially($scope, baseUrl, file, fileMd5, totalChunks, uploadedChunks, fileName, fileSize, chunkSize, function (chunkBytes) {
|
|
19132
|
+
completedChunks++;
|
|
19133
|
+
uploadedBytes += chunkBytes;
|
|
19134
|
+
if (onProgress) {
|
|
19135
|
+
onProgress({
|
|
19136
|
+
loaded: uploadedBytes,
|
|
19137
|
+
total: fileSize
|
|
19138
|
+
});
|
|
19139
|
+
}
|
|
19140
|
+
// 保存进度到 localStorage
|
|
19141
|
+
saveUploadProgress(fileMd5, {
|
|
19142
|
+
completedChunks: completedChunks,
|
|
19143
|
+
uploadedBytes: uploadedBytes,
|
|
19144
|
+
totalChunks: totalChunks,
|
|
19145
|
+
fileName: fileName,
|
|
19146
|
+
fileSize: fileSize,
|
|
19147
|
+
timestamp: Date.now()
|
|
19148
|
+
});
|
|
19149
|
+
}).then(function () {
|
|
19150
|
+
// Step 4: 合并分片
|
|
19151
|
+
return mergeChunks($scope, baseUrl, fileMd5, fileName, fileSize, totalChunks, reqData);
|
|
19152
|
+
}).then(function (mergeResult) {
|
|
19153
|
+
// Step 5: 合并成功,清除进度记录
|
|
19154
|
+
clearUploadProgress(fileMd5);
|
|
19155
|
+
resolve(mergeResult);
|
|
19156
|
+
});
|
|
19157
|
+
});
|
|
19158
|
+
}).catch(function (err) {
|
|
19159
|
+
reject(err);
|
|
19160
|
+
});
|
|
19161
|
+
});
|
|
19162
|
+
}
|
|
19163
|
+
|
|
19164
|
+
/**
|
|
19165
|
+
* 逐片串行上传
|
|
19166
|
+
* 使用 Array.reduce 链式调用,reduce 回调参数 cIdx 天然为每次迭代创建独立闭包,
|
|
19167
|
+
* 避免 for + var 共享变量导致所有分片使用同一个 chunkIndex 的问题。
|
|
19168
|
+
*/
|
|
19169
|
+
function uploadChunksSequentially($scope, baseUrl, file, fileMd5, totalChunks, uploadedChunks, fileName, fileSize, chunkSize, onChunkDone) {
|
|
19170
|
+
var uploadedSet = {};
|
|
19171
|
+
for (var i = 0; i < uploadedChunks.length; i++) {
|
|
19172
|
+
uploadedSet[uploadedChunks[i]] = true;
|
|
19173
|
+
}
|
|
19174
|
+
|
|
19175
|
+
// 构建待上传分片索引数组
|
|
19176
|
+
var chunkIndices = [];
|
|
19177
|
+
for (var chunkIndex = 0; chunkIndex < totalChunks; chunkIndex++) {
|
|
19178
|
+
if (!uploadedSet[chunkIndex]) {
|
|
19179
|
+
chunkIndices.push(chunkIndex);
|
|
19180
|
+
}
|
|
19181
|
+
}
|
|
19182
|
+
|
|
19183
|
+
// reduce 的 cIdx 参数每次迭代都是独立的值,无闭包共享问题
|
|
19184
|
+
return chunkIndices.reduce(function (chain, cIdx) {
|
|
19185
|
+
return chain.then(function () {
|
|
19186
|
+
return uploadSingleChunk($scope, baseUrl, file, cIdx, fileMd5, totalChunks, fileName, fileSize).then(function () {
|
|
19187
|
+
var cStart = cIdx * chunkSize;
|
|
19188
|
+
var cEnd = Math.min(cStart + chunkSize, fileSize);
|
|
19189
|
+
var cBytes = cEnd - cStart;
|
|
19190
|
+
if (onChunkDone) {
|
|
19191
|
+
onChunkDone(cBytes);
|
|
19192
|
+
}
|
|
19193
|
+
});
|
|
19194
|
+
});
|
|
19195
|
+
}, Promise.resolve());
|
|
19196
|
+
}
|
|
19197
|
+
;// CONCATENATED MODULE: ./packages/ecwflow/wfengine/index.js
|
|
18792
19198
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
18793
19199
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
18794
19200
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -18803,6 +19209,7 @@ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(
|
|
|
18803
19209
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
18804
19210
|
|
|
18805
19211
|
|
|
19212
|
+
|
|
18806
19213
|
var install = function install(Vue) {
|
|
18807
19214
|
var WfEngine = new Vue({
|
|
18808
19215
|
methods: {
|
|
@@ -19020,7 +19427,7 @@ var install = function install(Vue) {
|
|
|
19020
19427
|
}
|
|
19021
19428
|
}
|
|
19022
19429
|
if ($scope.wfJsonData && $scope.wfJsonData.routes) {
|
|
19023
|
-
var rindex =
|
|
19430
|
+
var rindex = js_cookie_default().get('route-index-' + $scope.wfInstance.id);
|
|
19024
19431
|
if (rindex !== undefined && rindex !== null) {
|
|
19025
19432
|
rindex = parseInt(rindex);
|
|
19026
19433
|
if ($scope.wfJsonData.routes.length > rindex) $scope.submitHandle.route.index = rindex;
|
|
@@ -19050,6 +19457,15 @@ var install = function install(Vue) {
|
|
|
19050
19457
|
}
|
|
19051
19458
|
});
|
|
19052
19459
|
}
|
|
19460
|
+
if (window.vType === 'mapp' && $scope.curTN.h5TodoDisabled === 1) {
|
|
19461
|
+
$scope.$notify({
|
|
19462
|
+
title: '提示',
|
|
19463
|
+
message: $scope.$tx('ecmapp.wflowform.notSupportMobile'),
|
|
19464
|
+
offset: 60,
|
|
19465
|
+
duration: 10 * 1000,
|
|
19466
|
+
type: 'warning'
|
|
19467
|
+
});
|
|
19468
|
+
}
|
|
19053
19469
|
|
|
19054
19470
|
// 更新vo.flContent中<img>元素的src
|
|
19055
19471
|
if ($scope.vo.flContent !== undefined && $scope.vo.flContent != null && $scope.vo.flContent.indexOf('/workflow/wfBusiAttach/downloadById') !== -1) {
|
|
@@ -19468,7 +19884,7 @@ var install = function install(Vue) {
|
|
|
19468
19884
|
$scope.$http({
|
|
19469
19885
|
method: 'POST',
|
|
19470
19886
|
contentType: 'application/x-www-form-urlencoded',
|
|
19471
|
-
data:
|
|
19887
|
+
data: lib_default().stringify(saveData),
|
|
19472
19888
|
params: params,
|
|
19473
19889
|
url: wfEngineUrl
|
|
19474
19890
|
}).then(function (res) {
|
|
@@ -19514,7 +19930,7 @@ var install = function install(Vue) {
|
|
|
19514
19930
|
});
|
|
19515
19931
|
}
|
|
19516
19932
|
if ($scope.wfJsonData && $scope.wfJsonData.routes) {
|
|
19517
|
-
var rindex =
|
|
19933
|
+
var rindex = js_cookie_default().get('route-index-' + $scope.wfInstance.id);
|
|
19518
19934
|
if (rindex !== undefined && rindex !== null) {
|
|
19519
19935
|
rindex = parseInt(rindex);
|
|
19520
19936
|
if ($scope.wfJsonData.routes.length > rindex) $scope.submitHandle.route.index = rindex;
|
|
@@ -19589,7 +20005,7 @@ var install = function install(Vue) {
|
|
|
19589
20005
|
}
|
|
19590
20006
|
var submitHandle = JSON.parse(JSON.stringify($scope.submitHandle));
|
|
19591
20007
|
if (submitType.indexOf('Save') !== -1) {
|
|
19592
|
-
|
|
20008
|
+
js_cookie_default().set('route-index-' + $scope.wfInstance.id, submitHandle.route.index);
|
|
19593
20009
|
var route = $scope.wfJsonData == null || $scope.wfJsonData.routes == null || $scope.wfJsonData.routes.length === 0 ? {
|
|
19594
20010
|
taskNodes: []
|
|
19595
20011
|
} : $scope.wfJsonData.routes[submitHandle.route.index];
|
|
@@ -19600,14 +20016,14 @@ var install = function install(Vue) {
|
|
|
19600
20016
|
if (nextUsers !== '') nextUsers += ';';
|
|
19601
20017
|
nextUsers += user.id;
|
|
19602
20018
|
});
|
|
19603
|
-
|
|
20019
|
+
js_cookie_default().set('route-wfuser-' + $scope.curTN.tnID + '-' + wfNode.id, nextUsers);
|
|
19604
20020
|
}
|
|
19605
20021
|
});
|
|
19606
20022
|
delete submitHandle.submitRoute;
|
|
19607
20023
|
delete submitHandle.nextTNProp;
|
|
19608
20024
|
delete submitHandle.nextTNUser;
|
|
19609
20025
|
} else {
|
|
19610
|
-
|
|
20026
|
+
js_cookie_default().set('route-index-' + $scope.wfInstance.id, '', {
|
|
19611
20027
|
expires: 0
|
|
19612
20028
|
});
|
|
19613
20029
|
var selRoute = $scope.wfJsonData == null || $scope.wfJsonData.routes == null || $scope.wfJsonData.routes.length === 0 ? {
|
|
@@ -19650,7 +20066,7 @@ var install = function install(Vue) {
|
|
|
19650
20066
|
delete wfNode.users;
|
|
19651
20067
|
submitHandle.nextTNProp.push(wfNode);
|
|
19652
20068
|
submitHandle.nextTNUser.push(nextUsers);
|
|
19653
|
-
|
|
20069
|
+
js_cookie_default().set('route-wfuser-' + $scope.curTN.tnID + '-' + wfNode.id, '', {
|
|
19654
20070
|
expires: 0
|
|
19655
20071
|
});
|
|
19656
20072
|
}
|
|
@@ -19683,7 +20099,7 @@ var install = function install(Vue) {
|
|
|
19683
20099
|
headers: {
|
|
19684
20100
|
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
|
|
19685
20101
|
},
|
|
19686
|
-
data:
|
|
20102
|
+
data: lib_default().stringify(saveData),
|
|
19687
20103
|
url: (params.wfEngineUrl || $scope.wfEngineUrl || 'workflow/wfInstance') + '/saveWfInstance'
|
|
19688
20104
|
}).then(function (res) {
|
|
19689
20105
|
if (res.code === 'success') {
|
|
@@ -19956,7 +20372,7 @@ var install = function install(Vue) {
|
|
|
19956
20372
|
_this4.$http({
|
|
19957
20373
|
method: 'POST',
|
|
19958
20374
|
contentType: 'application/x-www-form-urlencoded',
|
|
19959
|
-
data:
|
|
20375
|
+
data: lib_default().stringify(saveData),
|
|
19960
20376
|
params: $scope.$vnode.context.wfParams,
|
|
19961
20377
|
url: 'workflow/wfInstance/getUdmNodeUsers'
|
|
19962
20378
|
}).then(function (res) {
|
|
@@ -20006,7 +20422,7 @@ var install = function install(Vue) {
|
|
|
20006
20422
|
headers: {
|
|
20007
20423
|
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
|
|
20008
20424
|
},
|
|
20009
|
-
data:
|
|
20425
|
+
data: lib_default().stringify({
|
|
20010
20426
|
wfInstance: JSON.stringify($scope.wfInstance),
|
|
20011
20427
|
nextTNUsers: JSON.stringify(nextTNUsers)
|
|
20012
20428
|
}),
|
|
@@ -20164,6 +20580,11 @@ var install = function install(Vue) {
|
|
|
20164
20580
|
}
|
|
20165
20581
|
},
|
|
20166
20582
|
upload: function upload($scope, uploadUrl, file, params, config) {
|
|
20583
|
+
// 分片上传分流判断:chunkFileSizeThreshold > 0 且文件大小超过阈值
|
|
20584
|
+
var chunkThreshold = window.chunkFileSizeThreshold;
|
|
20585
|
+
if (chunkThreshold > 0 && file && file.size > chunkThreshold * 1024 * 1024) {
|
|
20586
|
+
return chunkedUpload($scope, uploadUrl, file, params, config);
|
|
20587
|
+
}
|
|
20167
20588
|
var formData = new FormData();
|
|
20168
20589
|
if (params != null) {
|
|
20169
20590
|
for (var key in params) {
|
|
@@ -20262,7 +20683,7 @@ var install = function install(Vue) {
|
|
|
20262
20683
|
});
|
|
20263
20684
|
Vue.prototype.$wfEngine = WfEngine;
|
|
20264
20685
|
};
|
|
20265
|
-
/* harmony default export */
|
|
20686
|
+
/* harmony default export */ var wfengine = (install);
|
|
20266
20687
|
|
|
20267
20688
|
/***/ }),
|
|
20268
20689
|
|
|
@@ -21588,7 +22009,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, "[data-v-d6f101a0] .van-nav-bar__title{
|
|
|
21588
22009
|
|
|
21589
22010
|
/***/ }),
|
|
21590
22011
|
|
|
21591
|
-
/***/
|
|
22012
|
+
/***/ 5596:
|
|
21592
22013
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
21593
22014
|
|
|
21594
22015
|
"use strict";
|
|
@@ -21602,7 +22023,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
21602
22023
|
|
|
21603
22024
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
|
|
21604
22025
|
// Module
|
|
21605
|
-
___CSS_LOADER_EXPORT___.push([module.id, ".wfattach-container .van-cell__value[data-v-
|
|
22026
|
+
___CSS_LOADER_EXPORT___.push([module.id, ".wfattach-container .van-cell__value[data-v-d820d2a0],.wfattach-container[data-v-d820d2a0] .van-cell__title{-webkit-box-flex:0;-ms-flex:none;flex:none}.wfattach-container[data-v-d820d2a0] .van-cell__title{width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}.wfattach-container[data-v-d820d2a0] .van-cell__value{width:45%;height:24px}.wfattach-container[data-v-d820d2a0] .van-cell__value .van-icon-add-o{line-height:24px}.wfattach-container[data-v-d820d2a0] .van-cell__value .van-circle{margin-top:2px}.wfattach-container[data-v-d820d2a0] .van-cell__value .attach-icon{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wfattach-container[data-v-d820d2a0] .van-cell__value .attach-icon>span{white-space:nowrap;-ms-flex-negative:0;flex-shrink:0}.wfattach-container[data-v-d820d2a0] .van-cell__value .attach-icon .van-icon{line-height:24px;margin-left:10px;font-size:16px;-ms-flex-negative:0;flex-shrink:0}.wfattach-container[data-v-d820d2a0]:after{border-top-width:0}.attachmants_preview .attachmants .van-cell-group .van-cell[data-v-d820d2a0]{padding-left:70px;padding-right:36px}.attachmants_preview .attachmants .van-cell-group .van-cell[data-v-d820d2a0]:after{right:0}.attachmants_preview .attachmants .van-cell-group .van-cell[data-v-d820d2a0]:first-child:before{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;content:\" \";pointer-events:none;right:0;top:0;left:16px;border-bottom:1px solid #ebedf0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.attachmants_preview .attachmants .van-cell-group .van-cell .van-cell__title[data-v-d820d2a0]{position:relative}.attachmants_preview .attachmants .van-cell-group .van-cell .van-cell__title .attach_photo[data-v-d820d2a0]{position:absolute;left:-54px;height:44px;width:44px}.attachmants_preview .attachmants .van-cell-group .van-cell .van-cell__title .attach_name[data-v-d820d2a0]{width:calc(100vw - 107px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-attachment-field[data-v-d820d2a0]{position:relative}.van-attachment-field[data-v-d820d2a0]:after{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;content:\" \";pointer-events:none;top:unset;border-width:0;right:0;bottom:0;left:16px;border-bottom:1px solid #ebedf0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.attach-deleting-icon[data-v-d820d2a0]{display:inline-block;-webkit-animation:attach-spin-d820d2a0 .8s linear infinite;animation:attach-spin-d820d2a0 .8s linear infinite}@-webkit-keyframes attach-spin-d820d2a0{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes attach-spin-d820d2a0{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}", ""]);
|
|
21606
22027
|
// Exports
|
|
21607
22028
|
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
|
21608
22029
|
|
|
@@ -48016,6 +48437,750 @@ module.exports = function getSideChannel() {
|
|
|
48016
48437
|
};
|
|
48017
48438
|
|
|
48018
48439
|
|
|
48440
|
+
/***/ }),
|
|
48441
|
+
|
|
48442
|
+
/***/ 5735:
|
|
48443
|
+
/***/ (function(module) {
|
|
48444
|
+
|
|
48445
|
+
(function (factory) {
|
|
48446
|
+
if (true) {
|
|
48447
|
+
// Node/CommonJS
|
|
48448
|
+
module.exports = factory();
|
|
48449
|
+
} else { var glob; }
|
|
48450
|
+
}(function (undefined) {
|
|
48451
|
+
|
|
48452
|
+
'use strict';
|
|
48453
|
+
|
|
48454
|
+
/*
|
|
48455
|
+
* Fastest md5 implementation around (JKM md5).
|
|
48456
|
+
* Credits: Joseph Myers
|
|
48457
|
+
*
|
|
48458
|
+
* @see http://www.myersdaily.org/joseph/javascript/md5-text.html
|
|
48459
|
+
* @see http://jsperf.com/md5-shootout/7
|
|
48460
|
+
*/
|
|
48461
|
+
|
|
48462
|
+
/* this function is much faster,
|
|
48463
|
+
so if possible we use it. Some IEs
|
|
48464
|
+
are the only ones I know of that
|
|
48465
|
+
need the idiotic second function,
|
|
48466
|
+
generated by an if clause. */
|
|
48467
|
+
var add32 = function (a, b) {
|
|
48468
|
+
return (a + b) & 0xFFFFFFFF;
|
|
48469
|
+
},
|
|
48470
|
+
hex_chr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];
|
|
48471
|
+
|
|
48472
|
+
|
|
48473
|
+
function cmn(q, a, b, x, s, t) {
|
|
48474
|
+
a = add32(add32(a, q), add32(x, t));
|
|
48475
|
+
return add32((a << s) | (a >>> (32 - s)), b);
|
|
48476
|
+
}
|
|
48477
|
+
|
|
48478
|
+
function md5cycle(x, k) {
|
|
48479
|
+
var a = x[0],
|
|
48480
|
+
b = x[1],
|
|
48481
|
+
c = x[2],
|
|
48482
|
+
d = x[3];
|
|
48483
|
+
|
|
48484
|
+
a += (b & c | ~b & d) + k[0] - 680876936 | 0;
|
|
48485
|
+
a = (a << 7 | a >>> 25) + b | 0;
|
|
48486
|
+
d += (a & b | ~a & c) + k[1] - 389564586 | 0;
|
|
48487
|
+
d = (d << 12 | d >>> 20) + a | 0;
|
|
48488
|
+
c += (d & a | ~d & b) + k[2] + 606105819 | 0;
|
|
48489
|
+
c = (c << 17 | c >>> 15) + d | 0;
|
|
48490
|
+
b += (c & d | ~c & a) + k[3] - 1044525330 | 0;
|
|
48491
|
+
b = (b << 22 | b >>> 10) + c | 0;
|
|
48492
|
+
a += (b & c | ~b & d) + k[4] - 176418897 | 0;
|
|
48493
|
+
a = (a << 7 | a >>> 25) + b | 0;
|
|
48494
|
+
d += (a & b | ~a & c) + k[5] + 1200080426 | 0;
|
|
48495
|
+
d = (d << 12 | d >>> 20) + a | 0;
|
|
48496
|
+
c += (d & a | ~d & b) + k[6] - 1473231341 | 0;
|
|
48497
|
+
c = (c << 17 | c >>> 15) + d | 0;
|
|
48498
|
+
b += (c & d | ~c & a) + k[7] - 45705983 | 0;
|
|
48499
|
+
b = (b << 22 | b >>> 10) + c | 0;
|
|
48500
|
+
a += (b & c | ~b & d) + k[8] + 1770035416 | 0;
|
|
48501
|
+
a = (a << 7 | a >>> 25) + b | 0;
|
|
48502
|
+
d += (a & b | ~a & c) + k[9] - 1958414417 | 0;
|
|
48503
|
+
d = (d << 12 | d >>> 20) + a | 0;
|
|
48504
|
+
c += (d & a | ~d & b) + k[10] - 42063 | 0;
|
|
48505
|
+
c = (c << 17 | c >>> 15) + d | 0;
|
|
48506
|
+
b += (c & d | ~c & a) + k[11] - 1990404162 | 0;
|
|
48507
|
+
b = (b << 22 | b >>> 10) + c | 0;
|
|
48508
|
+
a += (b & c | ~b & d) + k[12] + 1804603682 | 0;
|
|
48509
|
+
a = (a << 7 | a >>> 25) + b | 0;
|
|
48510
|
+
d += (a & b | ~a & c) + k[13] - 40341101 | 0;
|
|
48511
|
+
d = (d << 12 | d >>> 20) + a | 0;
|
|
48512
|
+
c += (d & a | ~d & b) + k[14] - 1502002290 | 0;
|
|
48513
|
+
c = (c << 17 | c >>> 15) + d | 0;
|
|
48514
|
+
b += (c & d | ~c & a) + k[15] + 1236535329 | 0;
|
|
48515
|
+
b = (b << 22 | b >>> 10) + c | 0;
|
|
48516
|
+
|
|
48517
|
+
a += (b & d | c & ~d) + k[1] - 165796510 | 0;
|
|
48518
|
+
a = (a << 5 | a >>> 27) + b | 0;
|
|
48519
|
+
d += (a & c | b & ~c) + k[6] - 1069501632 | 0;
|
|
48520
|
+
d = (d << 9 | d >>> 23) + a | 0;
|
|
48521
|
+
c += (d & b | a & ~b) + k[11] + 643717713 | 0;
|
|
48522
|
+
c = (c << 14 | c >>> 18) + d | 0;
|
|
48523
|
+
b += (c & a | d & ~a) + k[0] - 373897302 | 0;
|
|
48524
|
+
b = (b << 20 | b >>> 12) + c | 0;
|
|
48525
|
+
a += (b & d | c & ~d) + k[5] - 701558691 | 0;
|
|
48526
|
+
a = (a << 5 | a >>> 27) + b | 0;
|
|
48527
|
+
d += (a & c | b & ~c) + k[10] + 38016083 | 0;
|
|
48528
|
+
d = (d << 9 | d >>> 23) + a | 0;
|
|
48529
|
+
c += (d & b | a & ~b) + k[15] - 660478335 | 0;
|
|
48530
|
+
c = (c << 14 | c >>> 18) + d | 0;
|
|
48531
|
+
b += (c & a | d & ~a) + k[4] - 405537848 | 0;
|
|
48532
|
+
b = (b << 20 | b >>> 12) + c | 0;
|
|
48533
|
+
a += (b & d | c & ~d) + k[9] + 568446438 | 0;
|
|
48534
|
+
a = (a << 5 | a >>> 27) + b | 0;
|
|
48535
|
+
d += (a & c | b & ~c) + k[14] - 1019803690 | 0;
|
|
48536
|
+
d = (d << 9 | d >>> 23) + a | 0;
|
|
48537
|
+
c += (d & b | a & ~b) + k[3] - 187363961 | 0;
|
|
48538
|
+
c = (c << 14 | c >>> 18) + d | 0;
|
|
48539
|
+
b += (c & a | d & ~a) + k[8] + 1163531501 | 0;
|
|
48540
|
+
b = (b << 20 | b >>> 12) + c | 0;
|
|
48541
|
+
a += (b & d | c & ~d) + k[13] - 1444681467 | 0;
|
|
48542
|
+
a = (a << 5 | a >>> 27) + b | 0;
|
|
48543
|
+
d += (a & c | b & ~c) + k[2] - 51403784 | 0;
|
|
48544
|
+
d = (d << 9 | d >>> 23) + a | 0;
|
|
48545
|
+
c += (d & b | a & ~b) + k[7] + 1735328473 | 0;
|
|
48546
|
+
c = (c << 14 | c >>> 18) + d | 0;
|
|
48547
|
+
b += (c & a | d & ~a) + k[12] - 1926607734 | 0;
|
|
48548
|
+
b = (b << 20 | b >>> 12) + c | 0;
|
|
48549
|
+
|
|
48550
|
+
a += (b ^ c ^ d) + k[5] - 378558 | 0;
|
|
48551
|
+
a = (a << 4 | a >>> 28) + b | 0;
|
|
48552
|
+
d += (a ^ b ^ c) + k[8] - 2022574463 | 0;
|
|
48553
|
+
d = (d << 11 | d >>> 21) + a | 0;
|
|
48554
|
+
c += (d ^ a ^ b) + k[11] + 1839030562 | 0;
|
|
48555
|
+
c = (c << 16 | c >>> 16) + d | 0;
|
|
48556
|
+
b += (c ^ d ^ a) + k[14] - 35309556 | 0;
|
|
48557
|
+
b = (b << 23 | b >>> 9) + c | 0;
|
|
48558
|
+
a += (b ^ c ^ d) + k[1] - 1530992060 | 0;
|
|
48559
|
+
a = (a << 4 | a >>> 28) + b | 0;
|
|
48560
|
+
d += (a ^ b ^ c) + k[4] + 1272893353 | 0;
|
|
48561
|
+
d = (d << 11 | d >>> 21) + a | 0;
|
|
48562
|
+
c += (d ^ a ^ b) + k[7] - 155497632 | 0;
|
|
48563
|
+
c = (c << 16 | c >>> 16) + d | 0;
|
|
48564
|
+
b += (c ^ d ^ a) + k[10] - 1094730640 | 0;
|
|
48565
|
+
b = (b << 23 | b >>> 9) + c | 0;
|
|
48566
|
+
a += (b ^ c ^ d) + k[13] + 681279174 | 0;
|
|
48567
|
+
a = (a << 4 | a >>> 28) + b | 0;
|
|
48568
|
+
d += (a ^ b ^ c) + k[0] - 358537222 | 0;
|
|
48569
|
+
d = (d << 11 | d >>> 21) + a | 0;
|
|
48570
|
+
c += (d ^ a ^ b) + k[3] - 722521979 | 0;
|
|
48571
|
+
c = (c << 16 | c >>> 16) + d | 0;
|
|
48572
|
+
b += (c ^ d ^ a) + k[6] + 76029189 | 0;
|
|
48573
|
+
b = (b << 23 | b >>> 9) + c | 0;
|
|
48574
|
+
a += (b ^ c ^ d) + k[9] - 640364487 | 0;
|
|
48575
|
+
a = (a << 4 | a >>> 28) + b | 0;
|
|
48576
|
+
d += (a ^ b ^ c) + k[12] - 421815835 | 0;
|
|
48577
|
+
d = (d << 11 | d >>> 21) + a | 0;
|
|
48578
|
+
c += (d ^ a ^ b) + k[15] + 530742520 | 0;
|
|
48579
|
+
c = (c << 16 | c >>> 16) + d | 0;
|
|
48580
|
+
b += (c ^ d ^ a) + k[2] - 995338651 | 0;
|
|
48581
|
+
b = (b << 23 | b >>> 9) + c | 0;
|
|
48582
|
+
|
|
48583
|
+
a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;
|
|
48584
|
+
a = (a << 6 | a >>> 26) + b | 0;
|
|
48585
|
+
d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;
|
|
48586
|
+
d = (d << 10 | d >>> 22) + a | 0;
|
|
48587
|
+
c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;
|
|
48588
|
+
c = (c << 15 | c >>> 17) + d | 0;
|
|
48589
|
+
b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;
|
|
48590
|
+
b = (b << 21 |b >>> 11) + c | 0;
|
|
48591
|
+
a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;
|
|
48592
|
+
a = (a << 6 | a >>> 26) + b | 0;
|
|
48593
|
+
d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;
|
|
48594
|
+
d = (d << 10 | d >>> 22) + a | 0;
|
|
48595
|
+
c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;
|
|
48596
|
+
c = (c << 15 | c >>> 17) + d | 0;
|
|
48597
|
+
b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;
|
|
48598
|
+
b = (b << 21 |b >>> 11) + c | 0;
|
|
48599
|
+
a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;
|
|
48600
|
+
a = (a << 6 | a >>> 26) + b | 0;
|
|
48601
|
+
d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;
|
|
48602
|
+
d = (d << 10 | d >>> 22) + a | 0;
|
|
48603
|
+
c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;
|
|
48604
|
+
c = (c << 15 | c >>> 17) + d | 0;
|
|
48605
|
+
b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;
|
|
48606
|
+
b = (b << 21 |b >>> 11) + c | 0;
|
|
48607
|
+
a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;
|
|
48608
|
+
a = (a << 6 | a >>> 26) + b | 0;
|
|
48609
|
+
d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;
|
|
48610
|
+
d = (d << 10 | d >>> 22) + a | 0;
|
|
48611
|
+
c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;
|
|
48612
|
+
c = (c << 15 | c >>> 17) + d | 0;
|
|
48613
|
+
b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;
|
|
48614
|
+
b = (b << 21 | b >>> 11) + c | 0;
|
|
48615
|
+
|
|
48616
|
+
x[0] = a + x[0] | 0;
|
|
48617
|
+
x[1] = b + x[1] | 0;
|
|
48618
|
+
x[2] = c + x[2] | 0;
|
|
48619
|
+
x[3] = d + x[3] | 0;
|
|
48620
|
+
}
|
|
48621
|
+
|
|
48622
|
+
function md5blk(s) {
|
|
48623
|
+
var md5blks = [],
|
|
48624
|
+
i; /* Andy King said do it this way. */
|
|
48625
|
+
|
|
48626
|
+
for (i = 0; i < 64; i += 4) {
|
|
48627
|
+
md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);
|
|
48628
|
+
}
|
|
48629
|
+
return md5blks;
|
|
48630
|
+
}
|
|
48631
|
+
|
|
48632
|
+
function md5blk_array(a) {
|
|
48633
|
+
var md5blks = [],
|
|
48634
|
+
i; /* Andy King said do it this way. */
|
|
48635
|
+
|
|
48636
|
+
for (i = 0; i < 64; i += 4) {
|
|
48637
|
+
md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);
|
|
48638
|
+
}
|
|
48639
|
+
return md5blks;
|
|
48640
|
+
}
|
|
48641
|
+
|
|
48642
|
+
function md51(s) {
|
|
48643
|
+
var n = s.length,
|
|
48644
|
+
state = [1732584193, -271733879, -1732584194, 271733878],
|
|
48645
|
+
i,
|
|
48646
|
+
length,
|
|
48647
|
+
tail,
|
|
48648
|
+
tmp,
|
|
48649
|
+
lo,
|
|
48650
|
+
hi;
|
|
48651
|
+
|
|
48652
|
+
for (i = 64; i <= n; i += 64) {
|
|
48653
|
+
md5cycle(state, md5blk(s.substring(i - 64, i)));
|
|
48654
|
+
}
|
|
48655
|
+
s = s.substring(i - 64);
|
|
48656
|
+
length = s.length;
|
|
48657
|
+
tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
|
|
48658
|
+
for (i = 0; i < length; i += 1) {
|
|
48659
|
+
tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);
|
|
48660
|
+
}
|
|
48661
|
+
tail[i >> 2] |= 0x80 << ((i % 4) << 3);
|
|
48662
|
+
if (i > 55) {
|
|
48663
|
+
md5cycle(state, tail);
|
|
48664
|
+
for (i = 0; i < 16; i += 1) {
|
|
48665
|
+
tail[i] = 0;
|
|
48666
|
+
}
|
|
48667
|
+
}
|
|
48668
|
+
|
|
48669
|
+
// Beware that the final length might not fit in 32 bits so we take care of that
|
|
48670
|
+
tmp = n * 8;
|
|
48671
|
+
tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);
|
|
48672
|
+
lo = parseInt(tmp[2], 16);
|
|
48673
|
+
hi = parseInt(tmp[1], 16) || 0;
|
|
48674
|
+
|
|
48675
|
+
tail[14] = lo;
|
|
48676
|
+
tail[15] = hi;
|
|
48677
|
+
|
|
48678
|
+
md5cycle(state, tail);
|
|
48679
|
+
return state;
|
|
48680
|
+
}
|
|
48681
|
+
|
|
48682
|
+
function md51_array(a) {
|
|
48683
|
+
var n = a.length,
|
|
48684
|
+
state = [1732584193, -271733879, -1732584194, 271733878],
|
|
48685
|
+
i,
|
|
48686
|
+
length,
|
|
48687
|
+
tail,
|
|
48688
|
+
tmp,
|
|
48689
|
+
lo,
|
|
48690
|
+
hi;
|
|
48691
|
+
|
|
48692
|
+
for (i = 64; i <= n; i += 64) {
|
|
48693
|
+
md5cycle(state, md5blk_array(a.subarray(i - 64, i)));
|
|
48694
|
+
}
|
|
48695
|
+
|
|
48696
|
+
// Not sure if it is a bug, however IE10 will always produce a sub array of length 1
|
|
48697
|
+
// containing the last element of the parent array if the sub array specified starts
|
|
48698
|
+
// beyond the length of the parent array - weird.
|
|
48699
|
+
// https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue
|
|
48700
|
+
a = (i - 64) < n ? a.subarray(i - 64) : new Uint8Array(0);
|
|
48701
|
+
|
|
48702
|
+
length = a.length;
|
|
48703
|
+
tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
|
|
48704
|
+
for (i = 0; i < length; i += 1) {
|
|
48705
|
+
tail[i >> 2] |= a[i] << ((i % 4) << 3);
|
|
48706
|
+
}
|
|
48707
|
+
|
|
48708
|
+
tail[i >> 2] |= 0x80 << ((i % 4) << 3);
|
|
48709
|
+
if (i > 55) {
|
|
48710
|
+
md5cycle(state, tail);
|
|
48711
|
+
for (i = 0; i < 16; i += 1) {
|
|
48712
|
+
tail[i] = 0;
|
|
48713
|
+
}
|
|
48714
|
+
}
|
|
48715
|
+
|
|
48716
|
+
// Beware that the final length might not fit in 32 bits so we take care of that
|
|
48717
|
+
tmp = n * 8;
|
|
48718
|
+
tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);
|
|
48719
|
+
lo = parseInt(tmp[2], 16);
|
|
48720
|
+
hi = parseInt(tmp[1], 16) || 0;
|
|
48721
|
+
|
|
48722
|
+
tail[14] = lo;
|
|
48723
|
+
tail[15] = hi;
|
|
48724
|
+
|
|
48725
|
+
md5cycle(state, tail);
|
|
48726
|
+
|
|
48727
|
+
return state;
|
|
48728
|
+
}
|
|
48729
|
+
|
|
48730
|
+
function rhex(n) {
|
|
48731
|
+
var s = '',
|
|
48732
|
+
j;
|
|
48733
|
+
for (j = 0; j < 4; j += 1) {
|
|
48734
|
+
s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F];
|
|
48735
|
+
}
|
|
48736
|
+
return s;
|
|
48737
|
+
}
|
|
48738
|
+
|
|
48739
|
+
function hex(x) {
|
|
48740
|
+
var i;
|
|
48741
|
+
for (i = 0; i < x.length; i += 1) {
|
|
48742
|
+
x[i] = rhex(x[i]);
|
|
48743
|
+
}
|
|
48744
|
+
return x.join('');
|
|
48745
|
+
}
|
|
48746
|
+
|
|
48747
|
+
// In some cases the fast add32 function cannot be used..
|
|
48748
|
+
if (hex(md51('hello')) !== '5d41402abc4b2a76b9719d911017c592') {
|
|
48749
|
+
add32 = function (x, y) {
|
|
48750
|
+
var lsw = (x & 0xFFFF) + (y & 0xFFFF),
|
|
48751
|
+
msw = (x >> 16) + (y >> 16) + (lsw >> 16);
|
|
48752
|
+
return (msw << 16) | (lsw & 0xFFFF);
|
|
48753
|
+
};
|
|
48754
|
+
}
|
|
48755
|
+
|
|
48756
|
+
// ---------------------------------------------------
|
|
48757
|
+
|
|
48758
|
+
/**
|
|
48759
|
+
* ArrayBuffer slice polyfill.
|
|
48760
|
+
*
|
|
48761
|
+
* @see https://github.com/ttaubert/node-arraybuffer-slice
|
|
48762
|
+
*/
|
|
48763
|
+
|
|
48764
|
+
if (typeof ArrayBuffer !== 'undefined' && !ArrayBuffer.prototype.slice) {
|
|
48765
|
+
(function () {
|
|
48766
|
+
function clamp(val, length) {
|
|
48767
|
+
val = (val | 0) || 0;
|
|
48768
|
+
|
|
48769
|
+
if (val < 0) {
|
|
48770
|
+
return Math.max(val + length, 0);
|
|
48771
|
+
}
|
|
48772
|
+
|
|
48773
|
+
return Math.min(val, length);
|
|
48774
|
+
}
|
|
48775
|
+
|
|
48776
|
+
ArrayBuffer.prototype.slice = function (from, to) {
|
|
48777
|
+
var length = this.byteLength,
|
|
48778
|
+
begin = clamp(from, length),
|
|
48779
|
+
end = length,
|
|
48780
|
+
num,
|
|
48781
|
+
target,
|
|
48782
|
+
targetArray,
|
|
48783
|
+
sourceArray;
|
|
48784
|
+
|
|
48785
|
+
if (to !== undefined) {
|
|
48786
|
+
end = clamp(to, length);
|
|
48787
|
+
}
|
|
48788
|
+
|
|
48789
|
+
if (begin > end) {
|
|
48790
|
+
return new ArrayBuffer(0);
|
|
48791
|
+
}
|
|
48792
|
+
|
|
48793
|
+
num = end - begin;
|
|
48794
|
+
target = new ArrayBuffer(num);
|
|
48795
|
+
targetArray = new Uint8Array(target);
|
|
48796
|
+
|
|
48797
|
+
sourceArray = new Uint8Array(this, begin, num);
|
|
48798
|
+
targetArray.set(sourceArray);
|
|
48799
|
+
|
|
48800
|
+
return target;
|
|
48801
|
+
};
|
|
48802
|
+
})();
|
|
48803
|
+
}
|
|
48804
|
+
|
|
48805
|
+
// ---------------------------------------------------
|
|
48806
|
+
|
|
48807
|
+
/**
|
|
48808
|
+
* Helpers.
|
|
48809
|
+
*/
|
|
48810
|
+
|
|
48811
|
+
function toUtf8(str) {
|
|
48812
|
+
if (/[\u0080-\uFFFF]/.test(str)) {
|
|
48813
|
+
str = unescape(encodeURIComponent(str));
|
|
48814
|
+
}
|
|
48815
|
+
|
|
48816
|
+
return str;
|
|
48817
|
+
}
|
|
48818
|
+
|
|
48819
|
+
function utf8Str2ArrayBuffer(str, returnUInt8Array) {
|
|
48820
|
+
var length = str.length,
|
|
48821
|
+
buff = new ArrayBuffer(length),
|
|
48822
|
+
arr = new Uint8Array(buff),
|
|
48823
|
+
i;
|
|
48824
|
+
|
|
48825
|
+
for (i = 0; i < length; i += 1) {
|
|
48826
|
+
arr[i] = str.charCodeAt(i);
|
|
48827
|
+
}
|
|
48828
|
+
|
|
48829
|
+
return returnUInt8Array ? arr : buff;
|
|
48830
|
+
}
|
|
48831
|
+
|
|
48832
|
+
function arrayBuffer2Utf8Str(buff) {
|
|
48833
|
+
return String.fromCharCode.apply(null, new Uint8Array(buff));
|
|
48834
|
+
}
|
|
48835
|
+
|
|
48836
|
+
function concatenateArrayBuffers(first, second, returnUInt8Array) {
|
|
48837
|
+
var result = new Uint8Array(first.byteLength + second.byteLength);
|
|
48838
|
+
|
|
48839
|
+
result.set(new Uint8Array(first));
|
|
48840
|
+
result.set(new Uint8Array(second), first.byteLength);
|
|
48841
|
+
|
|
48842
|
+
return returnUInt8Array ? result : result.buffer;
|
|
48843
|
+
}
|
|
48844
|
+
|
|
48845
|
+
function hexToBinaryString(hex) {
|
|
48846
|
+
var bytes = [],
|
|
48847
|
+
length = hex.length,
|
|
48848
|
+
x;
|
|
48849
|
+
|
|
48850
|
+
for (x = 0; x < length - 1; x += 2) {
|
|
48851
|
+
bytes.push(parseInt(hex.substr(x, 2), 16));
|
|
48852
|
+
}
|
|
48853
|
+
|
|
48854
|
+
return String.fromCharCode.apply(String, bytes);
|
|
48855
|
+
}
|
|
48856
|
+
|
|
48857
|
+
// ---------------------------------------------------
|
|
48858
|
+
|
|
48859
|
+
/**
|
|
48860
|
+
* SparkMD5 OOP implementation.
|
|
48861
|
+
*
|
|
48862
|
+
* Use this class to perform an incremental md5, otherwise use the
|
|
48863
|
+
* static methods instead.
|
|
48864
|
+
*/
|
|
48865
|
+
|
|
48866
|
+
function SparkMD5() {
|
|
48867
|
+
// call reset to init the instance
|
|
48868
|
+
this.reset();
|
|
48869
|
+
}
|
|
48870
|
+
|
|
48871
|
+
/**
|
|
48872
|
+
* Appends a string.
|
|
48873
|
+
* A conversion will be applied if an utf8 string is detected.
|
|
48874
|
+
*
|
|
48875
|
+
* @param {String} str The string to be appended
|
|
48876
|
+
*
|
|
48877
|
+
* @return {SparkMD5} The instance itself
|
|
48878
|
+
*/
|
|
48879
|
+
SparkMD5.prototype.append = function (str) {
|
|
48880
|
+
// Converts the string to utf8 bytes if necessary
|
|
48881
|
+
// Then append as binary
|
|
48882
|
+
this.appendBinary(toUtf8(str));
|
|
48883
|
+
|
|
48884
|
+
return this;
|
|
48885
|
+
};
|
|
48886
|
+
|
|
48887
|
+
/**
|
|
48888
|
+
* Appends a binary string.
|
|
48889
|
+
*
|
|
48890
|
+
* @param {String} contents The binary string to be appended
|
|
48891
|
+
*
|
|
48892
|
+
* @return {SparkMD5} The instance itself
|
|
48893
|
+
*/
|
|
48894
|
+
SparkMD5.prototype.appendBinary = function (contents) {
|
|
48895
|
+
this._buff += contents;
|
|
48896
|
+
this._length += contents.length;
|
|
48897
|
+
|
|
48898
|
+
var length = this._buff.length,
|
|
48899
|
+
i;
|
|
48900
|
+
|
|
48901
|
+
for (i = 64; i <= length; i += 64) {
|
|
48902
|
+
md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));
|
|
48903
|
+
}
|
|
48904
|
+
|
|
48905
|
+
this._buff = this._buff.substring(i - 64);
|
|
48906
|
+
|
|
48907
|
+
return this;
|
|
48908
|
+
};
|
|
48909
|
+
|
|
48910
|
+
/**
|
|
48911
|
+
* Finishes the incremental computation, reseting the internal state and
|
|
48912
|
+
* returning the result.
|
|
48913
|
+
*
|
|
48914
|
+
* @param {Boolean} raw True to get the raw string, false to get the hex string
|
|
48915
|
+
*
|
|
48916
|
+
* @return {String} The result
|
|
48917
|
+
*/
|
|
48918
|
+
SparkMD5.prototype.end = function (raw) {
|
|
48919
|
+
var buff = this._buff,
|
|
48920
|
+
length = buff.length,
|
|
48921
|
+
i,
|
|
48922
|
+
tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
|
48923
|
+
ret;
|
|
48924
|
+
|
|
48925
|
+
for (i = 0; i < length; i += 1) {
|
|
48926
|
+
tail[i >> 2] |= buff.charCodeAt(i) << ((i % 4) << 3);
|
|
48927
|
+
}
|
|
48928
|
+
|
|
48929
|
+
this._finish(tail, length);
|
|
48930
|
+
ret = hex(this._hash);
|
|
48931
|
+
|
|
48932
|
+
if (raw) {
|
|
48933
|
+
ret = hexToBinaryString(ret);
|
|
48934
|
+
}
|
|
48935
|
+
|
|
48936
|
+
this.reset();
|
|
48937
|
+
|
|
48938
|
+
return ret;
|
|
48939
|
+
};
|
|
48940
|
+
|
|
48941
|
+
/**
|
|
48942
|
+
* Resets the internal state of the computation.
|
|
48943
|
+
*
|
|
48944
|
+
* @return {SparkMD5} The instance itself
|
|
48945
|
+
*/
|
|
48946
|
+
SparkMD5.prototype.reset = function () {
|
|
48947
|
+
this._buff = '';
|
|
48948
|
+
this._length = 0;
|
|
48949
|
+
this._hash = [1732584193, -271733879, -1732584194, 271733878];
|
|
48950
|
+
|
|
48951
|
+
return this;
|
|
48952
|
+
};
|
|
48953
|
+
|
|
48954
|
+
/**
|
|
48955
|
+
* Gets the internal state of the computation.
|
|
48956
|
+
*
|
|
48957
|
+
* @return {Object} The state
|
|
48958
|
+
*/
|
|
48959
|
+
SparkMD5.prototype.getState = function () {
|
|
48960
|
+
return {
|
|
48961
|
+
buff: this._buff,
|
|
48962
|
+
length: this._length,
|
|
48963
|
+
hash: this._hash.slice()
|
|
48964
|
+
};
|
|
48965
|
+
};
|
|
48966
|
+
|
|
48967
|
+
/**
|
|
48968
|
+
* Gets the internal state of the computation.
|
|
48969
|
+
*
|
|
48970
|
+
* @param {Object} state The state
|
|
48971
|
+
*
|
|
48972
|
+
* @return {SparkMD5} The instance itself
|
|
48973
|
+
*/
|
|
48974
|
+
SparkMD5.prototype.setState = function (state) {
|
|
48975
|
+
this._buff = state.buff;
|
|
48976
|
+
this._length = state.length;
|
|
48977
|
+
this._hash = state.hash;
|
|
48978
|
+
|
|
48979
|
+
return this;
|
|
48980
|
+
};
|
|
48981
|
+
|
|
48982
|
+
/**
|
|
48983
|
+
* Releases memory used by the incremental buffer and other additional
|
|
48984
|
+
* resources. If you plan to use the instance again, use reset instead.
|
|
48985
|
+
*/
|
|
48986
|
+
SparkMD5.prototype.destroy = function () {
|
|
48987
|
+
delete this._hash;
|
|
48988
|
+
delete this._buff;
|
|
48989
|
+
delete this._length;
|
|
48990
|
+
};
|
|
48991
|
+
|
|
48992
|
+
/**
|
|
48993
|
+
* Finish the final calculation based on the tail.
|
|
48994
|
+
*
|
|
48995
|
+
* @param {Array} tail The tail (will be modified)
|
|
48996
|
+
* @param {Number} length The length of the remaining buffer
|
|
48997
|
+
*/
|
|
48998
|
+
SparkMD5.prototype._finish = function (tail, length) {
|
|
48999
|
+
var i = length,
|
|
49000
|
+
tmp,
|
|
49001
|
+
lo,
|
|
49002
|
+
hi;
|
|
49003
|
+
|
|
49004
|
+
tail[i >> 2] |= 0x80 << ((i % 4) << 3);
|
|
49005
|
+
if (i > 55) {
|
|
49006
|
+
md5cycle(this._hash, tail);
|
|
49007
|
+
for (i = 0; i < 16; i += 1) {
|
|
49008
|
+
tail[i] = 0;
|
|
49009
|
+
}
|
|
49010
|
+
}
|
|
49011
|
+
|
|
49012
|
+
// Do the final computation based on the tail and length
|
|
49013
|
+
// Beware that the final length may not fit in 32 bits so we take care of that
|
|
49014
|
+
tmp = this._length * 8;
|
|
49015
|
+
tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);
|
|
49016
|
+
lo = parseInt(tmp[2], 16);
|
|
49017
|
+
hi = parseInt(tmp[1], 16) || 0;
|
|
49018
|
+
|
|
49019
|
+
tail[14] = lo;
|
|
49020
|
+
tail[15] = hi;
|
|
49021
|
+
md5cycle(this._hash, tail);
|
|
49022
|
+
};
|
|
49023
|
+
|
|
49024
|
+
/**
|
|
49025
|
+
* Performs the md5 hash on a string.
|
|
49026
|
+
* A conversion will be applied if utf8 string is detected.
|
|
49027
|
+
*
|
|
49028
|
+
* @param {String} str The string
|
|
49029
|
+
* @param {Boolean} [raw] True to get the raw string, false to get the hex string
|
|
49030
|
+
*
|
|
49031
|
+
* @return {String} The result
|
|
49032
|
+
*/
|
|
49033
|
+
SparkMD5.hash = function (str, raw) {
|
|
49034
|
+
// Converts the string to utf8 bytes if necessary
|
|
49035
|
+
// Then compute it using the binary function
|
|
49036
|
+
return SparkMD5.hashBinary(toUtf8(str), raw);
|
|
49037
|
+
};
|
|
49038
|
+
|
|
49039
|
+
/**
|
|
49040
|
+
* Performs the md5 hash on a binary string.
|
|
49041
|
+
*
|
|
49042
|
+
* @param {String} content The binary string
|
|
49043
|
+
* @param {Boolean} [raw] True to get the raw string, false to get the hex string
|
|
49044
|
+
*
|
|
49045
|
+
* @return {String} The result
|
|
49046
|
+
*/
|
|
49047
|
+
SparkMD5.hashBinary = function (content, raw) {
|
|
49048
|
+
var hash = md51(content),
|
|
49049
|
+
ret = hex(hash);
|
|
49050
|
+
|
|
49051
|
+
return raw ? hexToBinaryString(ret) : ret;
|
|
49052
|
+
};
|
|
49053
|
+
|
|
49054
|
+
// ---------------------------------------------------
|
|
49055
|
+
|
|
49056
|
+
/**
|
|
49057
|
+
* SparkMD5 OOP implementation for array buffers.
|
|
49058
|
+
*
|
|
49059
|
+
* Use this class to perform an incremental md5 ONLY for array buffers.
|
|
49060
|
+
*/
|
|
49061
|
+
SparkMD5.ArrayBuffer = function () {
|
|
49062
|
+
// call reset to init the instance
|
|
49063
|
+
this.reset();
|
|
49064
|
+
};
|
|
49065
|
+
|
|
49066
|
+
/**
|
|
49067
|
+
* Appends an array buffer.
|
|
49068
|
+
*
|
|
49069
|
+
* @param {ArrayBuffer} arr The array to be appended
|
|
49070
|
+
*
|
|
49071
|
+
* @return {SparkMD5.ArrayBuffer} The instance itself
|
|
49072
|
+
*/
|
|
49073
|
+
SparkMD5.ArrayBuffer.prototype.append = function (arr) {
|
|
49074
|
+
var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),
|
|
49075
|
+
length = buff.length,
|
|
49076
|
+
i;
|
|
49077
|
+
|
|
49078
|
+
this._length += arr.byteLength;
|
|
49079
|
+
|
|
49080
|
+
for (i = 64; i <= length; i += 64) {
|
|
49081
|
+
md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));
|
|
49082
|
+
}
|
|
49083
|
+
|
|
49084
|
+
this._buff = (i - 64) < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);
|
|
49085
|
+
|
|
49086
|
+
return this;
|
|
49087
|
+
};
|
|
49088
|
+
|
|
49089
|
+
/**
|
|
49090
|
+
* Finishes the incremental computation, reseting the internal state and
|
|
49091
|
+
* returning the result.
|
|
49092
|
+
*
|
|
49093
|
+
* @param {Boolean} raw True to get the raw string, false to get the hex string
|
|
49094
|
+
*
|
|
49095
|
+
* @return {String} The result
|
|
49096
|
+
*/
|
|
49097
|
+
SparkMD5.ArrayBuffer.prototype.end = function (raw) {
|
|
49098
|
+
var buff = this._buff,
|
|
49099
|
+
length = buff.length,
|
|
49100
|
+
tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
|
49101
|
+
i,
|
|
49102
|
+
ret;
|
|
49103
|
+
|
|
49104
|
+
for (i = 0; i < length; i += 1) {
|
|
49105
|
+
tail[i >> 2] |= buff[i] << ((i % 4) << 3);
|
|
49106
|
+
}
|
|
49107
|
+
|
|
49108
|
+
this._finish(tail, length);
|
|
49109
|
+
ret = hex(this._hash);
|
|
49110
|
+
|
|
49111
|
+
if (raw) {
|
|
49112
|
+
ret = hexToBinaryString(ret);
|
|
49113
|
+
}
|
|
49114
|
+
|
|
49115
|
+
this.reset();
|
|
49116
|
+
|
|
49117
|
+
return ret;
|
|
49118
|
+
};
|
|
49119
|
+
|
|
49120
|
+
/**
|
|
49121
|
+
* Resets the internal state of the computation.
|
|
49122
|
+
*
|
|
49123
|
+
* @return {SparkMD5.ArrayBuffer} The instance itself
|
|
49124
|
+
*/
|
|
49125
|
+
SparkMD5.ArrayBuffer.prototype.reset = function () {
|
|
49126
|
+
this._buff = new Uint8Array(0);
|
|
49127
|
+
this._length = 0;
|
|
49128
|
+
this._hash = [1732584193, -271733879, -1732584194, 271733878];
|
|
49129
|
+
|
|
49130
|
+
return this;
|
|
49131
|
+
};
|
|
49132
|
+
|
|
49133
|
+
/**
|
|
49134
|
+
* Gets the internal state of the computation.
|
|
49135
|
+
*
|
|
49136
|
+
* @return {Object} The state
|
|
49137
|
+
*/
|
|
49138
|
+
SparkMD5.ArrayBuffer.prototype.getState = function () {
|
|
49139
|
+
var state = SparkMD5.prototype.getState.call(this);
|
|
49140
|
+
|
|
49141
|
+
// Convert buffer to a string
|
|
49142
|
+
state.buff = arrayBuffer2Utf8Str(state.buff);
|
|
49143
|
+
|
|
49144
|
+
return state;
|
|
49145
|
+
};
|
|
49146
|
+
|
|
49147
|
+
/**
|
|
49148
|
+
* Gets the internal state of the computation.
|
|
49149
|
+
*
|
|
49150
|
+
* @param {Object} state The state
|
|
49151
|
+
*
|
|
49152
|
+
* @return {SparkMD5.ArrayBuffer} The instance itself
|
|
49153
|
+
*/
|
|
49154
|
+
SparkMD5.ArrayBuffer.prototype.setState = function (state) {
|
|
49155
|
+
// Convert string to buffer
|
|
49156
|
+
state.buff = utf8Str2ArrayBuffer(state.buff, true);
|
|
49157
|
+
|
|
49158
|
+
return SparkMD5.prototype.setState.call(this, state);
|
|
49159
|
+
};
|
|
49160
|
+
|
|
49161
|
+
SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;
|
|
49162
|
+
|
|
49163
|
+
SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;
|
|
49164
|
+
|
|
49165
|
+
/**
|
|
49166
|
+
* Performs the md5 hash on an array buffer.
|
|
49167
|
+
*
|
|
49168
|
+
* @param {ArrayBuffer} arr The array buffer
|
|
49169
|
+
* @param {Boolean} [raw] True to get the raw string, false to get the hex one
|
|
49170
|
+
*
|
|
49171
|
+
* @return {String} The result
|
|
49172
|
+
*/
|
|
49173
|
+
SparkMD5.ArrayBuffer.hash = function (arr, raw) {
|
|
49174
|
+
var hash = md51_array(new Uint8Array(arr)),
|
|
49175
|
+
ret = hex(hash);
|
|
49176
|
+
|
|
49177
|
+
return raw ? hexToBinaryString(ret) : ret;
|
|
49178
|
+
};
|
|
49179
|
+
|
|
49180
|
+
return SparkMD5;
|
|
49181
|
+
}));
|
|
49182
|
+
|
|
49183
|
+
|
|
48019
49184
|
/***/ }),
|
|
48020
49185
|
|
|
48021
49186
|
/***/ 2048:
|
|
@@ -48530,19 +49695,19 @@ var update = add("4ff8cc4e", content, true, {"sourceMap":false,"shadowMode":fals
|
|
|
48530
49695
|
|
|
48531
49696
|
/***/ }),
|
|
48532
49697
|
|
|
48533
|
-
/***/
|
|
49698
|
+
/***/ 9302:
|
|
48534
49699
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
48535
49700
|
|
|
48536
49701
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|
48537
49702
|
|
|
48538
49703
|
// load the styles
|
|
48539
|
-
var content = __webpack_require__(
|
|
49704
|
+
var content = __webpack_require__(5596);
|
|
48540
49705
|
if(content.__esModule) content = content.default;
|
|
48541
49706
|
if(typeof content === 'string') content = [[module.id, content, '']];
|
|
48542
49707
|
if(content.locals) module.exports = content.locals;
|
|
48543
49708
|
// add the styles to the DOM
|
|
48544
49709
|
var add = (__webpack_require__(9548)/* ["default"] */ .A)
|
|
48545
|
-
var update = add("
|
|
49710
|
+
var update = add("06724a92", content, true, {"sourceMap":false,"shadowMode":false});
|
|
48546
49711
|
|
|
48547
49712
|
/***/ }),
|
|
48548
49713
|
|
|
@@ -70803,39 +71968,39 @@ var asyncComponents = [
|
|
|
70803
71968
|
}],
|
|
70804
71969
|
// ========== ecmapp/Wflowform 工作流表单子组件 → chunk: m-wflow-form ==========
|
|
70805
71970
|
['Attachment', function () {
|
|
70806
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
71971
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8388)).then(function (m) {
|
|
70807
71972
|
return m.Attachment;
|
|
70808
71973
|
});
|
|
70809
71974
|
}], ['BodyFile', function () {
|
|
70810
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
71975
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8388)).then(function (m) {
|
|
70811
71976
|
return m.BodyFile;
|
|
70812
71977
|
});
|
|
70813
71978
|
}], ['HandleIdea', function () {
|
|
70814
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
71979
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8388)).then(function (m) {
|
|
70815
71980
|
return m.HandleIdea;
|
|
70816
71981
|
});
|
|
70817
71982
|
}], ['SelectOuterDeputy', function () {
|
|
70818
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
71983
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8388)).then(function (m) {
|
|
70819
71984
|
return m.SelectOuterDeputy;
|
|
70820
71985
|
});
|
|
70821
71986
|
}], ['SubmitHandle', function () {
|
|
70822
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
71987
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8388)).then(function (m) {
|
|
70823
71988
|
return m.SubmitHandle;
|
|
70824
71989
|
});
|
|
70825
71990
|
}], ['SubmitDialog', function () {
|
|
70826
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
71991
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8388)).then(function (m) {
|
|
70827
71992
|
return m.SubmitDialog;
|
|
70828
71993
|
});
|
|
70829
71994
|
}], ['ShortcutProcessing', function () {
|
|
70830
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
71995
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8388)).then(function (m) {
|
|
70831
71996
|
return m.ShortcutProcessing;
|
|
70832
71997
|
});
|
|
70833
71998
|
}], ['WfNodelogList', function () {
|
|
70834
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
71999
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8388)).then(function (m) {
|
|
70835
72000
|
return m.WfNodelogList;
|
|
70836
72001
|
});
|
|
70837
72002
|
}], ['WriteToReadIdea', function () {
|
|
70838
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72003
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8388)).then(function (m) {
|
|
70839
72004
|
return m.WriteToReadIdea;
|
|
70840
72005
|
});
|
|
70841
72006
|
}]];
|
|
@@ -70859,7 +72024,7 @@ var mappaio_install = function install(Vue) {
|
|
|
70859
72024
|
});
|
|
70860
72025
|
|
|
70861
72026
|
// 3. 异步加载工作流引擎插件(独立 chunk)
|
|
70862
|
-
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72027
|
+
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8838)).then(function (m) {
|
|
70863
72028
|
Vue.use(m.default || m);
|
|
70864
72029
|
});
|
|
70865
72030
|
};
|
|
@@ -70885,10 +72050,10 @@ var webSocket = websocket/* default */.A;
|
|
|
70885
72050
|
|
|
70886
72051
|
// ---------- 工作流相关 ----------
|
|
70887
72052
|
var WfengineModule = function WfengineModule() {
|
|
70888
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72053
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8838));
|
|
70889
72054
|
};
|
|
70890
72055
|
var WflowformModule = function WflowformModule() {
|
|
70891
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72056
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8388));
|
|
70892
72057
|
};
|
|
70893
72058
|
|
|
70894
72059
|
// ---------- 重型功能(PDF/富文本,仅特定页面使用) ----------
|