@fengzhongwen/kukan-ui 1.0.6 → 1.0.7
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/dist/kukan-ui.common.js +219 -115
- package/dist/kukan-ui.common.js.map +1 -1
- package/dist/kukan-ui.css +1 -1
- package/dist/kukan-ui.umd.js +219 -115
- package/dist/kukan-ui.umd.js.map +1 -1
- package/dist/kukan-ui.umd.min.js +1 -1
- package/dist/kukan-ui.umd.min.js.map +1 -1
- package/package.json +1 -1
package/dist/kukan-ui.common.js
CHANGED
|
@@ -87,7 +87,25 @@ module.exports =
|
|
|
87
87
|
/************************************************************************/
|
|
88
88
|
/******/ ({
|
|
89
89
|
|
|
90
|
-
/***/ "
|
|
90
|
+
/***/ "0e3f":
|
|
91
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
92
|
+
|
|
93
|
+
"use strict";
|
|
94
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_085fc20d_prod_scoped_true_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("2040");
|
|
95
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_085fc20d_prod_scoped_true_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_085fc20d_prod_scoped_true_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
|
|
96
|
+
/* unused harmony reexport * */
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
/***/ }),
|
|
100
|
+
|
|
101
|
+
/***/ "2040":
|
|
102
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
103
|
+
|
|
104
|
+
// extracted by mini-css-extract-plugin
|
|
105
|
+
|
|
106
|
+
/***/ }),
|
|
107
|
+
|
|
108
|
+
/***/ "5554":
|
|
91
109
|
/***/ (function(module, exports, __webpack_require__) {
|
|
92
110
|
|
|
93
111
|
// extracted by mini-css-extract-plugin
|
|
@@ -838,30 +856,12 @@ module.exports =
|
|
|
838
856
|
|
|
839
857
|
/***/ }),
|
|
840
858
|
|
|
841
|
-
/***/ "
|
|
859
|
+
/***/ "7b9f":
|
|
842
860
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
843
861
|
|
|
844
862
|
"use strict";
|
|
845
|
-
/* harmony import */ var
|
|
846
|
-
/* harmony import */ var
|
|
847
|
-
/* unused harmony reexport * */
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
/***/ }),
|
|
851
|
-
|
|
852
|
-
/***/ "ebb3":
|
|
853
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
854
|
-
|
|
855
|
-
// extracted by mini-css-extract-plugin
|
|
856
|
-
|
|
857
|
-
/***/ }),
|
|
858
|
-
|
|
859
|
-
/***/ "fac8":
|
|
860
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
861
|
-
|
|
862
|
-
"use strict";
|
|
863
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0db1699c_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ebb3");
|
|
864
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0db1699c_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0db1699c_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
|
|
863
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_cdec1cec_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("5554");
|
|
864
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_cdec1cec_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_cdec1cec_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
|
|
865
865
|
/* unused harmony reexport * */
|
|
866
866
|
|
|
867
867
|
|
|
@@ -896,7 +896,6 @@ if (typeof window !== 'undefined') {
|
|
|
896
896
|
// CONCATENATED MODULE: ./src/components/FileUpload/api.js
|
|
897
897
|
// import request from "@/utils/request";
|
|
898
898
|
|
|
899
|
-
|
|
900
899
|
let request = null
|
|
901
900
|
|
|
902
901
|
// 将vue.use传入的axios实例赋值给request
|
|
@@ -906,54 +905,105 @@ function setAxiosInstance(axiosInstance) {
|
|
|
906
905
|
}
|
|
907
906
|
}
|
|
908
907
|
|
|
908
|
+
// 执行一个方法,返回n个请求方法
|
|
909
|
+
/**
|
|
910
|
+
*
|
|
911
|
+
* @param {Object} apiObj 包含所有接口地址的对象 {
|
|
912
|
+
checkfileStatusUrl: "/zt-api/resources/check",
|
|
913
|
+
filesAllUoloadedUrl: "/zt-api/resources/chunk/merge",
|
|
914
|
+
searchFileIsUploadedUrl: "/zt-api/resources/check",
|
|
915
|
+
searchChunkIsUploadedUrl: "/zt-api/resources/check/chunk",
|
|
916
|
+
uploadFileChunkUrl: "/zt-api/resources/chunk/upload",
|
|
917
|
+
addNewFileOfTxtUrl: "/api/v1/program/create-doc",
|
|
918
|
+
addNewFileOfVideoUrl: "/api/v1/program/create-video",
|
|
919
|
+
addNewFileOfAudioUrl: "/api/v1/program/create-audio",
|
|
920
|
+
addNewFileOfPicUrl: "/api/v1/program/create-pic",
|
|
921
|
+
addNewFileOfSubTitleUrl: "/api/v1/program/create-srt",
|
|
922
|
+
}
|
|
923
|
+
* @returns
|
|
924
|
+
*/
|
|
925
|
+
function mapApiToRequest(apiObj) {
|
|
926
|
+
return {
|
|
927
|
+
checkfileStatus: data =>
|
|
928
|
+
checkfileStatus(data, apiObj.checkfileStatusUrl),
|
|
929
|
+
|
|
930
|
+
filesAllUoloaded: data =>
|
|
931
|
+
filesAllUoloaded(data, apiObj.filesAllUoloadedUrl),
|
|
932
|
+
|
|
933
|
+
searchFileIsUploaded: data =>
|
|
934
|
+
searchFileIsUploaded(data, apiObj.searchFileIsUploadedUrl),
|
|
935
|
+
|
|
936
|
+
searchChunkIsUploaded: data =>
|
|
937
|
+
searchChunkIsUploaded(data, apiObj.searchChunkIsUploadedUrl),
|
|
938
|
+
|
|
939
|
+
uploadFileChunk: data =>
|
|
940
|
+
uploadFileChunk(data, apiObj.uploadFileChunkUrl),
|
|
941
|
+
|
|
942
|
+
addNewFileOfTxt: data =>
|
|
943
|
+
addNewFileOfTxt(data, apiObj.addNewFileOfTxtUrl),
|
|
944
|
+
|
|
945
|
+
addNewFileOfVideo: data =>
|
|
946
|
+
addNewFileOfVideo(data, apiObj.addNewFileOfVideoUrl),
|
|
947
|
+
|
|
948
|
+
addNewFileOfAudio: data =>
|
|
949
|
+
addNewFileOfAudio(data, apiObj.addNewFileOfAudioUrl),
|
|
950
|
+
|
|
951
|
+
addNewFileOfPic: data =>
|
|
952
|
+
addNewFileOfPic(data, apiObj.addNewFileOfPicUrl),
|
|
953
|
+
|
|
954
|
+
addNewFileOfSubTitle: data =>
|
|
955
|
+
addNewFileOfSubTitle(data, apiObj.addNewFileOfSubTitleUrl),
|
|
956
|
+
};
|
|
957
|
+
}
|
|
958
|
+
|
|
909
959
|
// 检查文件状态
|
|
910
|
-
function checkfileStatus(data) {
|
|
960
|
+
function checkfileStatus(data, url) {
|
|
911
961
|
return request({
|
|
912
|
-
url:
|
|
962
|
+
url: url,
|
|
913
963
|
method: "post",
|
|
914
964
|
data,
|
|
915
965
|
});
|
|
916
966
|
}
|
|
917
967
|
|
|
918
968
|
// 合并块文件
|
|
919
|
-
function filesAllUoloaded(data) {
|
|
969
|
+
function filesAllUoloaded(data, url) {
|
|
920
970
|
return request({
|
|
921
|
-
url:
|
|
971
|
+
url: url,
|
|
922
972
|
method: "post",
|
|
923
973
|
data,
|
|
924
974
|
});
|
|
925
975
|
}
|
|
926
976
|
|
|
927
977
|
// 检查文件是否已上传过
|
|
928
|
-
function searchFileIsUploaded(data) {
|
|
978
|
+
function searchFileIsUploaded(data, url) {
|
|
929
979
|
return request({
|
|
930
|
-
url:
|
|
980
|
+
url: url,
|
|
931
981
|
method: "post",
|
|
932
982
|
data,
|
|
933
983
|
});
|
|
934
984
|
}
|
|
935
985
|
|
|
936
986
|
// 检查文件块是否已上传过
|
|
937
|
-
function searchChunkIsUploaded(data) {
|
|
987
|
+
function searchChunkIsUploaded(data, url) {
|
|
938
988
|
return request({
|
|
939
|
-
url:
|
|
989
|
+
url: url,
|
|
940
990
|
method: "post",
|
|
941
991
|
data,
|
|
942
992
|
});
|
|
943
993
|
}
|
|
944
994
|
|
|
945
995
|
// 上传文件块
|
|
946
|
-
function uploadFileChunk(data) {
|
|
996
|
+
function uploadFileChunk(data, url) {
|
|
947
997
|
const formData = data instanceof FormData ? data : new FormData();
|
|
948
998
|
|
|
949
999
|
if (!(data instanceof FormData) && data && typeof data === "object") {
|
|
950
|
-
Object.keys(data).forEach(
|
|
1000
|
+
Object.keys(data).forEach(key => {
|
|
951
1001
|
formData.append(key, data[key]);
|
|
952
1002
|
});
|
|
953
1003
|
}
|
|
954
1004
|
|
|
955
1005
|
return request({
|
|
956
|
-
url:
|
|
1006
|
+
url: url,
|
|
957
1007
|
method: "post",
|
|
958
1008
|
data: formData,
|
|
959
1009
|
headers: {
|
|
@@ -964,50 +1014,68 @@ function uploadFileChunk(data) {
|
|
|
964
1014
|
}
|
|
965
1015
|
|
|
966
1016
|
// 创建新文件
|
|
967
|
-
function addNewFileOfTxt(data) {
|
|
1017
|
+
function addNewFileOfTxt(data, url) {
|
|
968
1018
|
return request({
|
|
969
|
-
url:
|
|
1019
|
+
url: url,
|
|
970
1020
|
method: "post",
|
|
971
1021
|
data,
|
|
972
1022
|
});
|
|
973
1023
|
}
|
|
974
|
-
function addNewFileOfVideo(data) {
|
|
1024
|
+
function addNewFileOfVideo(data, url) {
|
|
975
1025
|
return request({
|
|
976
|
-
url:
|
|
1026
|
+
url: url,
|
|
977
1027
|
method: "post",
|
|
978
1028
|
data,
|
|
979
1029
|
});
|
|
980
1030
|
}
|
|
981
|
-
function addNewFileOfAudio(data) {
|
|
1031
|
+
function addNewFileOfAudio(data, url) {
|
|
982
1032
|
return request({
|
|
983
|
-
url:
|
|
1033
|
+
url: url,
|
|
984
1034
|
method: "post",
|
|
985
1035
|
data,
|
|
986
1036
|
});
|
|
987
1037
|
}
|
|
988
|
-
function addNewFileOfPic(data) {
|
|
1038
|
+
function addNewFileOfPic(data, url) {
|
|
989
1039
|
return request({
|
|
990
|
-
url:
|
|
1040
|
+
url: url,
|
|
991
1041
|
method: "post",
|
|
992
1042
|
data,
|
|
993
1043
|
});
|
|
994
1044
|
}
|
|
995
|
-
function addNewFileOfSubTitle(data) {
|
|
1045
|
+
function addNewFileOfSubTitle(data, url) {
|
|
996
1046
|
return request({
|
|
997
|
-
url:
|
|
1047
|
+
url: url,
|
|
998
1048
|
method: "post",
|
|
999
1049
|
data,
|
|
1000
1050
|
});
|
|
1001
1051
|
}
|
|
1002
1052
|
|
|
1003
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
1004
|
-
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"upload-multiple"},[_c('input',{ref:"multiplePloadInput",staticStyle:{"display":"none"},attrs:{"type":"file","multiple":_vm.multiple},on:{"change":_vm.handleSelectedMultipleFiles}}),_c('div',{staticClass:"upload-multiple-box"},[_c('div',{ref:"upLoded_box",staticClass:"multiple_upload_area",class:_vm.multipleUploadAreaClass(),on:{"click":_vm.reviewUploadMultipleFiles,"dragover":function($event){$event.preventDefault();return _vm.onDragOver($event)},"dragleave":function($event){$event.preventDefault();return _vm.onDragLeave($event)},"drop":function($event){$event.preventDefault();return _vm.onDrop($event)}}},[(_vm.isUploading)?_c('div',{staticClass:"upload-loading-mask",style:(_vm.setUploadingLoadingMaskStyle())}):_vm._e(),(_vm.showIconTip)?_c('div',[_c('i',{staticClass:"el-icon-upload"})]):_vm._e(),_c('div',[_vm._v(_vm._s(_vm.startButtonText))]),_vm._t("tips")],2),(_vm.pictureConfig.show && _vm.showSuccessPicture)?_c('div',{staticClass:"upload-multiple-box-right"},[_c('div',{staticClass:"upload-multiple-box-close",on:{"click":function($event){$event.stopPropagation();return _vm.clearPicture($event)}}},[_c('i',{staticClass:"el-icon-close"})]),_c('img',{attrs:{"src":_vm.pictureConfig.url,"alt":_vm.pictureConfig.altText}})]):_vm._e()]),(_vm.model === 'info')?_c('el-button',{staticClass:"upload_button",attrs:{"type":"primary","disabled":_vm.isUploading || _vm.needUploadFilesArr.length === 0},on:{"click":_vm.startUploadMultipleFiles}},[_vm._v(" 全部文件开始上传 ")]):_vm._e(),(_vm.model === 'info')?_c('div',{staticClass:"multiple_upload_list"},[_c('span',{staticClass:"tip_title"},[_c('span',{staticClass:"title"},[_c('div',[_vm._v("文件列表")]),_c('transition',{attrs:{"name":"totalProgress","mode":"out-in"}},[(_vm.needUploadFilesArr.length > 0)?_c('div',{staticClass:"total_progress"},[_c('div',{staticClass:"logo"}),_c('span',[_vm._v("总进度:")]),(_vm.fileConfig.uploadController)?_c('div',[_c('el-tag',{attrs:{"size":"mini","type":_vm.isDanger}},[_vm._v("上传错误:"+_vm._s(_vm.fileConfig.skipError_num))]),_c('el-tag',{attrs:{"size":"mini","type":""}},[_vm._v("上传成功:"+_vm._s(_vm.fileConfig.completed_num))]),_c('el-tag',{attrs:{"size":"mini","type":""}},[_vm._v("文件总数:"+_vm._s(_vm.fileConfig.filetotal_num))])],1):_vm._e()]):_vm._e()])],1),_c('span',[_c('el-button',{attrs:{"size":"mini","type":"","disabled":_vm.isUploading || _vm.needUploadFilesArr.length === 0},on:{"click":_vm.handleSelectAllFile}},[_vm._v("全选所有文件")]),_c('el-button',{attrs:{"size":"mini","type":"danger","disabled":_vm.isUploading || _vm.needUploadFilesArr.length === 0},on:{"click":_vm.delteSelectedFile}},[_vm._v("移除所选文件")])],1)]),_c('div',{staticClass:"selected_list_area"},[(_vm.needUploadFilesArr.length > 0)?_c('div',{staticClass:"selected_list"},_vm._l((_vm.needUploadFilesArr),function(item,index){return _c('Card_2',{key:index,attrs:{"index":index,"file-config":item},on:{"cancelFileUpload":_vm.cancelFileUpload,"resetFileUpload":_vm.resetFileUpload,"handleClickOnlyFile":_vm.handleClickOnlyFile}})}),1):_vm.
|
|
1053
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"afe3315e-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FileUpload/index.vue?vue&type=template&id=085fc20d&scoped=true
|
|
1054
|
+
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"upload-multiple"},[_c('input',{ref:"multiplePloadInput",staticStyle:{"display":"none"},attrs:{"type":"file","multiple":_vm.multiple},on:{"change":_vm.handleSelectedMultipleFiles}}),_c('div',{staticClass:"upload-multiple-box"},[_c('div',{ref:"upLoded_box",staticClass:"multiple_upload_area",class:_vm.multipleUploadAreaClass(),on:{"click":_vm.reviewUploadMultipleFiles,"dragover":function($event){$event.preventDefault();return _vm.onDragOver($event)},"dragleave":function($event){$event.preventDefault();return _vm.onDragLeave($event)},"drop":function($event){$event.preventDefault();return _vm.onDrop($event)}}},[(_vm.isUploading)?_c('div',{staticClass:"upload-loading-mask",style:(_vm.setUploadingLoadingMaskStyle())}):_vm._e(),(_vm.showIconTip)?_c('div',[_c('i',{staticClass:"el-icon-upload"})]):_vm._e(),_c('div',[_vm._v(_vm._s(_vm.startButtonText))]),_vm._t("tips")],2),(_vm.pictureConfig.show && _vm.showSuccessPicture)?_c('div',{staticClass:"upload-multiple-box-right"},[_c('div',{staticClass:"upload-multiple-box-close",on:{"click":function($event){$event.stopPropagation();return _vm.clearPicture($event)}}},[_c('i',{staticClass:"el-icon-close"})]),_c('img',{attrs:{"src":_vm.pictureConfig.url,"alt":_vm.pictureConfig.altText}})]):_vm._e()]),(_vm.model === 'info')?_c('el-button',{staticClass:"upload_button",attrs:{"type":"primary","disabled":_vm.isUploading || _vm.needUploadFilesArr.length === 0},on:{"click":_vm.startUploadMultipleFiles}},[_vm._v(" 全部文件开始上传 ")]):_vm._e(),(_vm.model === 'info')?_c('div',{staticClass:"multiple_upload_list"},[_c('span',{staticClass:"tip_title"},[_c('span',{staticClass:"title"},[_c('div',[_vm._v("文件列表")]),_c('transition',{attrs:{"name":"totalProgress","mode":"out-in"}},[(_vm.needUploadFilesArr.length > 0)?_c('div',{staticClass:"total_progress"},[_c('div',{staticClass:"logo"}),_c('span',[_vm._v("总进度:")]),(_vm.fileConfig.uploadController)?_c('div',[_c('el-tag',{attrs:{"size":"mini","type":_vm.isDanger}},[_vm._v("上传错误:"+_vm._s(_vm.fileConfig.skipError_num))]),_c('el-tag',{attrs:{"size":"mini","type":""}},[_vm._v("上传成功:"+_vm._s(_vm.fileConfig.completed_num))]),_c('el-tag',{attrs:{"size":"mini","type":""}},[_vm._v("文件总数:"+_vm._s(_vm.fileConfig.filetotal_num))])],1):_vm._e()]):_vm._e()])],1),_c('span',[_c('el-button',{attrs:{"size":"mini","type":"","disabled":_vm.isUploading || _vm.needUploadFilesArr.length === 0},on:{"click":_vm.handleSelectAllFile}},[_vm._v("全选所有文件")]),_c('el-button',{attrs:{"size":"mini","type":"danger","disabled":_vm.isUploading || _vm.needUploadFilesArr.length === 0},on:{"click":_vm.delteSelectedFile}},[_vm._v("移除所选文件")])],1)]),_c('div',{staticClass:"selected_list_area"},[(_vm.needUploadFilesArr.length > 0)?_c('div',{staticClass:"selected_list"},_vm._l((_vm.needUploadFilesArr),function(item,index){return _c('Card_2',{key:index,attrs:{"index":index,"file-config":item},on:{"cancelFileUpload":_vm.cancelFileUpload,"resetFileUpload":_vm.resetFileUpload,"handleClickOnlyFile":_vm.handleClickOnlyFile}})}),1):_c('div',{staticClass:"no_file"},[_c('i',{staticClass:"el-icon-document"}),_c('div',[_vm._v("暂无文件,请点击或拖拽文件到上传区域")])])])]):_vm._e()],1)}
|
|
1005
1055
|
var staticRenderFns = []
|
|
1006
1056
|
|
|
1007
1057
|
|
|
1008
|
-
// CONCATENATED MODULE: ./src/components/FileUpload/index.vue?vue&type=template&id=
|
|
1058
|
+
// CONCATENATED MODULE: ./src/components/FileUpload/index.vue?vue&type=template&id=085fc20d&scoped=true
|
|
1009
1059
|
|
|
1010
1060
|
// CONCATENATED MODULE: ./src/components/FileUpload/util.js
|
|
1061
|
+
// 辅助函数:获取MIME类型
|
|
1062
|
+
function getMimeType(fileOrType) {
|
|
1063
|
+
if (!fileOrType) return "";
|
|
1064
|
+
|
|
1065
|
+
if (typeof fileOrType === "string") {
|
|
1066
|
+
return fileOrType;
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
if (fileOrType instanceof File || fileOrType instanceof Blob) {
|
|
1070
|
+
return fileOrType.type;
|
|
1071
|
+
}
|
|
1072
|
+
|
|
1073
|
+
if (fileOrType.type && typeof fileOrType.type === "string") {
|
|
1074
|
+
return fileOrType.type;
|
|
1075
|
+
}
|
|
1076
|
+
return "";
|
|
1077
|
+
}
|
|
1078
|
+
|
|
1011
1079
|
const fileTypeValidators = {
|
|
1012
1080
|
/**
|
|
1013
1081
|
* 验证图片类型
|
|
@@ -1062,8 +1130,8 @@ const fileTypeValidators = {
|
|
|
1062
1130
|
// return /^(presentation))|text\/(plain|html|csv|xml|css|javascript|markdown))$/i.test(mime);
|
|
1063
1131
|
},
|
|
1064
1132
|
};
|
|
1065
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
1066
|
-
var
|
|
1133
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"afe3315e-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FileUpload/components/UploadCard_Ver_Second/index.vue?vue&type=template&id=cdec1cec&scoped=true
|
|
1134
|
+
var UploadCard_Ver_Secondvue_type_template_id_cdec1cec_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{key:_vm.fileConfig.name + '_' + _vm.index,staticClass:"only_file_area",class:{
|
|
1067
1135
|
only_file_area_isActive: _vm.fileConfig.isSelected,
|
|
1068
1136
|
'fade-in-element': true,
|
|
1069
1137
|
},on:{"click":function($event){return _vm.handleClickOnlyFile(_vm.fileConfig)}}},[_c('div',{staticClass:"file_card_top"},[_c('div',{staticClass:"file_type"},[_vm._v(" "+_vm._s(_vm.getFileType(_vm.fileConfig.name))+" ")]),_c('div',{staticClass:"file_name"},[_vm._v(_vm._s(_vm.fileConfig.name))])]),_c('div',{staticClass:"file_card_bottom"},[_c('div',{staticClass:"option"},[_c('div',{staticClass:"status_text"},[_c('span',{class:_vm.uploadingTextStyle(_vm.fileConfig.tip)},[_vm._v(_vm._s(_vm.fileConfig.tip))])]),(
|
|
@@ -1073,10 +1141,10 @@ var UploadCard_Ver_Secondvue_type_template_id_0db1699c_scoped_true_render = func
|
|
|
1073
1141
|
_vm.fileConfig.tip === '上传出错' ||
|
|
1074
1142
|
_vm.fileConfig.tip === '未知出错'
|
|
1075
1143
|
)?_c('div',{staticClass:"option_text",on:{"click":function($event){$event.stopPropagation();return _vm.resetFileUpload(_vm.fileConfig)}}},[_c('el-tag',{attrs:{"size":"mini","type":""}},[_vm._v("重试")])],1):_vm._e()]),_c('div',[_c('span',[_vm._v(_vm._s(_vm.uploadingNumber( _vm.fileFormatValid(_vm.fileConfig.file.size), _vm.fileConfig.uploadProgress ))+"/"+_vm._s(_vm.fileFormatValid(_vm.fileConfig.file.size))+"mb")])])]),_c('div',{staticClass:"progress_area"},[_c('el-progress',{staticClass:"custom-progress",attrs:{"color":_vm.colors,"show-text":false,"percentage":_vm.fileConfig.uploadProgress}})],1)])}
|
|
1076
|
-
var
|
|
1144
|
+
var UploadCard_Ver_Secondvue_type_template_id_cdec1cec_scoped_true_staticRenderFns = []
|
|
1077
1145
|
|
|
1078
1146
|
|
|
1079
|
-
// CONCATENATED MODULE: ./src/components/FileUpload/components/UploadCard_Ver_Second/index.vue?vue&type=template&id=
|
|
1147
|
+
// CONCATENATED MODULE: ./src/components/FileUpload/components/UploadCard_Ver_Second/index.vue?vue&type=template&id=cdec1cec&scoped=true
|
|
1080
1148
|
|
|
1081
1149
|
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FileUpload/components/UploadCard_Ver_Second/index.vue?vue&type=script&lang=js
|
|
1082
1150
|
//
|
|
@@ -1220,8 +1288,8 @@ var UploadCard_Ver_Secondvue_type_template_id_0db1699c_scoped_true_staticRenderF
|
|
|
1220
1288
|
|
|
1221
1289
|
// CONCATENATED MODULE: ./src/components/FileUpload/components/UploadCard_Ver_Second/index.vue?vue&type=script&lang=js
|
|
1222
1290
|
/* harmony default export */ var components_UploadCard_Ver_Secondvue_type_script_lang_js = (UploadCard_Ver_Secondvue_type_script_lang_js);
|
|
1223
|
-
// EXTERNAL MODULE: ./src/components/FileUpload/components/UploadCard_Ver_Second/index.vue?vue&type=style&index=0&id=
|
|
1224
|
-
var
|
|
1291
|
+
// EXTERNAL MODULE: ./src/components/FileUpload/components/UploadCard_Ver_Second/index.vue?vue&type=style&index=0&id=cdec1cec&prod&lang=scss&scoped=true
|
|
1292
|
+
var UploadCard_Ver_Secondvue_type_style_index_0_id_cdec1cec_prod_lang_scss_scoped_true = __webpack_require__("7b9f");
|
|
1225
1293
|
|
|
1226
1294
|
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
|
|
1227
1295
|
/* globals __VUE_SSR_CONTEXT__ */
|
|
@@ -1332,11 +1400,11 @@ function normalizeComponent(
|
|
|
1332
1400
|
|
|
1333
1401
|
var component = normalizeComponent(
|
|
1334
1402
|
components_UploadCard_Ver_Secondvue_type_script_lang_js,
|
|
1335
|
-
|
|
1336
|
-
|
|
1403
|
+
UploadCard_Ver_Secondvue_type_template_id_cdec1cec_scoped_true_render,
|
|
1404
|
+
UploadCard_Ver_Secondvue_type_template_id_cdec1cec_scoped_true_staticRenderFns,
|
|
1337
1405
|
false,
|
|
1338
1406
|
null,
|
|
1339
|
-
"
|
|
1407
|
+
"cdec1cec",
|
|
1340
1408
|
null
|
|
1341
1409
|
|
|
1342
1410
|
)
|
|
@@ -1360,6 +1428,22 @@ const timer = {
|
|
|
1360
1428
|
// 文件分块大小
|
|
1361
1429
|
const chunkSegmentationSize = 1024 * 1024 * 5;
|
|
1362
1430
|
|
|
1431
|
+
// 文件上传接口
|
|
1432
|
+
let api = {};
|
|
1433
|
+
// 默认配置内容管理api
|
|
1434
|
+
const contentManagement = {
|
|
1435
|
+
checkfileStatusUrl: "/zt-api/resources/check",
|
|
1436
|
+
filesAllUoloadedUrl: "/zt-api/resources/chunk/merge",
|
|
1437
|
+
searchFileIsUploadedUrl: "/zt-api/resources/check",
|
|
1438
|
+
searchChunkIsUploadedUrl: "/zt-api/resources/check/chunk",
|
|
1439
|
+
uploadFileChunkUrl: "/zt-api/resources/chunk/upload",
|
|
1440
|
+
addNewFileOfTxtUrl: "/api/v1/program/create-doc",
|
|
1441
|
+
addNewFileOfVideoUrl: "/api/v1/program/create-video",
|
|
1442
|
+
addNewFileOfAudioUrl: "/api/v1/program/create-audio",
|
|
1443
|
+
addNewFileOfPicUrl: "/api/v1/program/create-pic",
|
|
1444
|
+
addNewFileOfSubTitleUrl: "/api/v1/program/create-srt",
|
|
1445
|
+
};
|
|
1446
|
+
|
|
1363
1447
|
/**
|
|
1364
1448
|
* 上传入口:此文件用于处理文件上传的核心逻辑。处去文件自身声明变量,必须得有uploadFilesConfig_AndStart的所有参数。以及各个接口调用函数
|
|
1365
1449
|
* @param {Array} fileList 文件列表
|
|
@@ -1370,6 +1454,7 @@ const chunkSegmentationSize = 1024 * 1024 * 5;
|
|
|
1370
1454
|
* @param {Function} createUploadQueues 创建上传任务的回调函数
|
|
1371
1455
|
* @param {Function} total_progress_function 全局进度更新函数
|
|
1372
1456
|
* @param {Function} setTotalStatus 全局进度条状态
|
|
1457
|
+
* @param {Object} apiObj 外界传来的上传api
|
|
1373
1458
|
* @returns {Array} [{
|
|
1374
1459
|
status: true,
|
|
1375
1460
|
uploadId: number,
|
|
@@ -1386,7 +1471,11 @@ async function uploadFilesConfig_AndStart(
|
|
|
1386
1471
|
createUploadQueues,
|
|
1387
1472
|
total_progress_function,
|
|
1388
1473
|
setTotalStatus,
|
|
1474
|
+
apiObj = contentManagement,
|
|
1389
1475
|
) {
|
|
1476
|
+
// 1.准备上传接口
|
|
1477
|
+
api = mapApiToRequest(apiObj);
|
|
1478
|
+
|
|
1390
1479
|
const uploadPromises = [];
|
|
1391
1480
|
|
|
1392
1481
|
for (let i = 0; i < fileList.length; i++) {
|
|
@@ -1451,7 +1540,7 @@ function createConcurrentController(maxConcurrent, onProgress) {
|
|
|
1451
1540
|
};
|
|
1452
1541
|
|
|
1453
1542
|
// 进度更新函数
|
|
1454
|
-
const updateProgress =
|
|
1543
|
+
const updateProgress = preventUpdate => {
|
|
1455
1544
|
if (onProgress && typeof onProgress === "function") {
|
|
1456
1545
|
const progress = calculateProgress();
|
|
1457
1546
|
|
|
@@ -1500,9 +1589,9 @@ function createConcurrentController(maxConcurrent, onProgress) {
|
|
|
1500
1589
|
|
|
1501
1590
|
return {
|
|
1502
1591
|
async errorActiveIsFull(index) {
|
|
1503
|
-
const queueArr = errorTasks.filter(
|
|
1592
|
+
const queueArr = errorTasks.filter(it => it.id === index);
|
|
1504
1593
|
if (queueArr.length > 0) {
|
|
1505
|
-
cancleTasks = errorTasks.filter(
|
|
1594
|
+
cancleTasks = errorTasks.filter(it => it.id !== index);
|
|
1506
1595
|
|
|
1507
1596
|
const item = queueArr[0];
|
|
1508
1597
|
const result = await this.add(true, {
|
|
@@ -1516,10 +1605,10 @@ function createConcurrentController(maxConcurrent, onProgress) {
|
|
|
1516
1605
|
// 只适配文件上传出错,块上传直接暂停,不使用此函数
|
|
1517
1606
|
async startResetErrorTask(index) {
|
|
1518
1607
|
// 重尝试失败的任务
|
|
1519
|
-
const queueArr = errorTasks.filter(
|
|
1608
|
+
const queueArr = errorTasks.filter(item => item.id === index);
|
|
1520
1609
|
|
|
1521
1610
|
if (queueArr.length > 0) {
|
|
1522
|
-
errorTasks = errorTasks.filter(
|
|
1611
|
+
errorTasks = errorTasks.filter(it => it.id !== index); // 无论重试成功失败都需要清理原来的数据
|
|
1523
1612
|
|
|
1524
1613
|
const item = queueArr[0];
|
|
1525
1614
|
// 通过 add 创建新的入队条目(会创建新的 resolve/reject)
|
|
@@ -1533,30 +1622,27 @@ function createConcurrentController(maxConcurrent, onProgress) {
|
|
|
1533
1622
|
},
|
|
1534
1623
|
|
|
1535
1624
|
errorFilehandled(index) {
|
|
1536
|
-
errorTasks = [
|
|
1537
|
-
...errorTasks,
|
|
1538
|
-
...queue.filter((item) => item.id === index),
|
|
1539
|
-
];
|
|
1625
|
+
errorTasks = [...errorTasks, ...queue.filter(item => item.id === index)];
|
|
1540
1626
|
|
|
1541
|
-
queue = queue.filter(
|
|
1627
|
+
queue = queue.filter(item => item.id !== index);
|
|
1542
1628
|
},
|
|
1543
1629
|
|
|
1544
1630
|
startResetCanceledyTask(index) {
|
|
1545
1631
|
// 重置单个任务
|
|
1546
|
-
const queueArr = cancleTasks.filter(
|
|
1632
|
+
const queueArr = cancleTasks.filter(item => item.id === index);
|
|
1547
1633
|
if (queueArr.length > 0) {
|
|
1548
1634
|
queue.push(queueArr[0]);
|
|
1549
|
-
cancleTasks = cancleTasks.filter(
|
|
1635
|
+
cancleTasks = cancleTasks.filter(item => item.id !== index);
|
|
1550
1636
|
}
|
|
1551
1637
|
run();
|
|
1552
1638
|
},
|
|
1553
1639
|
|
|
1554
1640
|
cancelFileUpload(index) {
|
|
1555
|
-
const _arr = queue.filter(
|
|
1641
|
+
const _arr = queue.filter(item => item.id === index);
|
|
1556
1642
|
|
|
1557
1643
|
if (_arr.length > 0) {
|
|
1558
1644
|
cancleTasks = [...cancleTasks, ..._arr];
|
|
1559
|
-
queue = queue.filter(
|
|
1645
|
+
queue = queue.filter(item => item.id !== index);
|
|
1560
1646
|
|
|
1561
1647
|
return true;
|
|
1562
1648
|
} else {
|
|
@@ -1583,7 +1669,7 @@ function createConcurrentController(maxConcurrent, onProgress) {
|
|
|
1583
1669
|
// 全部任务添加到队列,没添加一次就会进行试运行
|
|
1584
1670
|
taskOption.forEach((item, index) => {
|
|
1585
1671
|
this.add(false, item)
|
|
1586
|
-
.then(
|
|
1672
|
+
.then(result => {
|
|
1587
1673
|
allResults[index] = result;
|
|
1588
1674
|
Count++;
|
|
1589
1675
|
// 有结果出错是否停止所有任务,暂时采取停止所有任务
|
|
@@ -1594,7 +1680,7 @@ function createConcurrentController(maxConcurrent, onProgress) {
|
|
|
1594
1680
|
resolve(allResults); // 当队列结束或者块队列出现文件错误则立马返回数据!
|
|
1595
1681
|
}
|
|
1596
1682
|
})
|
|
1597
|
-
.catch(
|
|
1683
|
+
.catch(error => {
|
|
1598
1684
|
hasError = true;
|
|
1599
1685
|
reject(error);
|
|
1600
1686
|
});
|
|
@@ -1649,7 +1735,7 @@ function createConcurrentController(maxConcurrent, onProgress) {
|
|
|
1649
1735
|
// 如果暂停了,就等待
|
|
1650
1736
|
if (isPaused) {
|
|
1651
1737
|
if (!pauseResolve) {
|
|
1652
|
-
await new Promise(
|
|
1738
|
+
await new Promise(resolve => {
|
|
1653
1739
|
pauseResolve = resolve;
|
|
1654
1740
|
});
|
|
1655
1741
|
}
|
|
@@ -1665,7 +1751,7 @@ function createConcurrentController(maxConcurrent, onProgress) {
|
|
|
1665
1751
|
// {result: boolean, error: string} msg???
|
|
1666
1752
|
// 需要处理块任务和文件任务的结果
|
|
1667
1753
|
task()
|
|
1668
|
-
.then(
|
|
1754
|
+
.then(result => {
|
|
1669
1755
|
console.log(
|
|
1670
1756
|
"1.任务执行完成的返回结果(异步工具函数队列中一个)",
|
|
1671
1757
|
result,
|
|
@@ -1705,7 +1791,7 @@ function createConcurrentController(maxConcurrent, onProgress) {
|
|
|
1705
1791
|
|
|
1706
1792
|
resolve(result);
|
|
1707
1793
|
})
|
|
1708
|
-
.catch(
|
|
1794
|
+
.catch(error => {
|
|
1709
1795
|
console.log("上传时候失败", error);
|
|
1710
1796
|
if (!isErrorReset) {
|
|
1711
1797
|
skipError++; // 不能随便加加,有的时重试的
|
|
@@ -1744,7 +1830,7 @@ async function handleFileExistOrNo(fileConfig, addDataBaseLinkConfig) {
|
|
|
1744
1830
|
} = addDataBaseLinkConfig;
|
|
1745
1831
|
|
|
1746
1832
|
// 此处用于网络超时对UI界面的影响,此处是函数入口最适合判断的地方
|
|
1747
|
-
const timerPromise = new Promise(
|
|
1833
|
+
const timerPromise = new Promise(resolve => {
|
|
1748
1834
|
const timer_upload_file = setTimeout(() => {
|
|
1749
1835
|
resolve({
|
|
1750
1836
|
status: false,
|
|
@@ -1756,7 +1842,7 @@ async function handleFileExistOrNo(fileConfig, addDataBaseLinkConfig) {
|
|
|
1756
1842
|
}, timer.entranceTime);
|
|
1757
1843
|
});
|
|
1758
1844
|
|
|
1759
|
-
const fileCheckPromise = (async() => {
|
|
1845
|
+
const fileCheckPromise = (async () => {
|
|
1760
1846
|
try {
|
|
1761
1847
|
const fileCheck = await upload_searchFileIsUploaded(fileHash, fileSize);
|
|
1762
1848
|
return { status: true, fileCheck };
|
|
@@ -1868,6 +1954,8 @@ async function uploadSingleFile(
|
|
|
1868
1954
|
addDataBaseLinkConfig,
|
|
1869
1955
|
);
|
|
1870
1956
|
|
|
1957
|
+
console.log("检查文件是否存在", fileStorageResult);
|
|
1958
|
+
|
|
1871
1959
|
// 文件存在或者内部错误时返回
|
|
1872
1960
|
if (fileStorageResult.fileIsExist || fileStorageResult.error) {
|
|
1873
1961
|
if (fileStorageResult.status) {
|
|
@@ -2017,7 +2105,7 @@ async function getFileMd5Safe(file_blob) {
|
|
|
2017
2105
|
const arrayBuffer = await chunk.arrayBuffer();
|
|
2018
2106
|
spark.append(arrayBuffer);
|
|
2019
2107
|
if (i % 100 === 0) {
|
|
2020
|
-
await new Promise(
|
|
2108
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
2021
2109
|
}
|
|
2022
2110
|
}
|
|
2023
2111
|
|
|
@@ -2025,7 +2113,11 @@ async function getFileMd5Safe(file_blob) {
|
|
|
2025
2113
|
}
|
|
2026
2114
|
|
|
2027
2115
|
// 生成分块数组
|
|
2028
|
-
async function createChunks(
|
|
2116
|
+
async function createChunks(
|
|
2117
|
+
file,
|
|
2118
|
+
uploadedChunks = [],
|
|
2119
|
+
chunkSize = 5 * 1024 * 1024,
|
|
2120
|
+
) {
|
|
2029
2121
|
const chunks = [];
|
|
2030
2122
|
let cur = 0; // 当前读取位置
|
|
2031
2123
|
let index = 0; // 分片索引
|
|
@@ -2055,11 +2147,11 @@ async function createChunks(file, uploadedChunks = [], chunkSize = 5 * 1024 * 10
|
|
|
2055
2147
|
|
|
2056
2148
|
// 获取文件块的md5
|
|
2057
2149
|
function getChunkMD5(chunkBlob) {
|
|
2058
|
-
return new Promise(
|
|
2150
|
+
return new Promise(resolve => {
|
|
2059
2151
|
const reader = new FileReader();
|
|
2060
2152
|
const spark = new spark_md5_default.a.ArrayBuffer();
|
|
2061
2153
|
|
|
2062
|
-
reader.onload = function(e) {
|
|
2154
|
+
reader.onload = function (e) {
|
|
2063
2155
|
spark.append(e.target.result);
|
|
2064
2156
|
resolve(spark.end());
|
|
2065
2157
|
};
|
|
@@ -2073,7 +2165,7 @@ async function uploadChunks(chunks, fileHash, fileName, uploadId, controller) {
|
|
|
2073
2165
|
const total = chunks.length;
|
|
2074
2166
|
|
|
2075
2167
|
const uploadPromises = chunks.map((chunk, index) => {
|
|
2076
|
-
const fn = async() => {
|
|
2168
|
+
const fn = async () => {
|
|
2077
2169
|
const requstData = {
|
|
2078
2170
|
filename: fileName,
|
|
2079
2171
|
index: chunk.index,
|
|
@@ -2090,10 +2182,7 @@ async function uploadChunks(chunks, fileHash, fileName, uploadId, controller) {
|
|
|
2090
2182
|
// };
|
|
2091
2183
|
|
|
2092
2184
|
try {
|
|
2093
|
-
const chunkIsExist = await upload_searchChunkIsUploaded(
|
|
2094
|
-
fileHash,
|
|
2095
|
-
chunk.hash,
|
|
2096
|
-
);
|
|
2185
|
+
const chunkIsExist = await upload_searchChunkIsUploaded(fileHash, chunk.hash);
|
|
2097
2186
|
if (chunkIsExist) {
|
|
2098
2187
|
return {
|
|
2099
2188
|
status: true,
|
|
@@ -2107,7 +2196,7 @@ async function uploadChunks(chunks, fileHash, fileName, uploadId, controller) {
|
|
|
2107
2196
|
};
|
|
2108
2197
|
}
|
|
2109
2198
|
|
|
2110
|
-
const timerPromise = new Promise(
|
|
2199
|
+
const timerPromise = new Promise(resolve => {
|
|
2111
2200
|
const timer_upload_chunk = setTimeout(() => {
|
|
2112
2201
|
// 重复,进度条status回显+1,最大90
|
|
2113
2202
|
// updateProgress({
|
|
@@ -2123,11 +2212,9 @@ async function uploadChunks(chunks, fileHash, fileName, uploadId, controller) {
|
|
|
2123
2212
|
}, timer.uploadChunkTime);
|
|
2124
2213
|
});
|
|
2125
2214
|
|
|
2126
|
-
const uplodChunkPromise = (async() => {
|
|
2215
|
+
const uplodChunkPromise = (async () => {
|
|
2127
2216
|
try {
|
|
2128
|
-
const result = await uploadFileChunk(
|
|
2129
|
-
requstData,
|
|
2130
|
-
);
|
|
2217
|
+
const result = await api.uploadFileChunk(requstData);
|
|
2131
2218
|
|
|
2132
2219
|
if (result.code === "Success") {
|
|
2133
2220
|
return {
|
|
@@ -2197,12 +2284,12 @@ async function uploadChunks(chunks, fileHash, fileName, uploadId, controller) {
|
|
|
2197
2284
|
const result = await controller.runTasks(uploadPromises);
|
|
2198
2285
|
|
|
2199
2286
|
// 通过并发控制器执行
|
|
2200
|
-
return result.filter(
|
|
2287
|
+
return result.filter(item => item.status !== true);
|
|
2201
2288
|
}
|
|
2202
2289
|
|
|
2203
2290
|
// 通知文件块需要合并
|
|
2204
2291
|
async function informServeUploaded(fileMd, FileSize) {
|
|
2205
|
-
const result = await filesAllUoloaded({
|
|
2292
|
+
const result = await api.filesAllUoloaded({
|
|
2206
2293
|
size: FileSize,
|
|
2207
2294
|
identifier: fileMd,
|
|
2208
2295
|
});
|
|
@@ -2212,7 +2299,7 @@ async function informServeUploaded(fileMd, FileSize) {
|
|
|
2212
2299
|
|
|
2213
2300
|
// 检查文件块是否已经存在
|
|
2214
2301
|
async function upload_searchChunkIsUploaded(fileMd5, chunkMd5) {
|
|
2215
|
-
const result = await searchChunkIsUploaded({
|
|
2302
|
+
const result = await api.searchChunkIsUploaded({
|
|
2216
2303
|
identifier: fileMd5,
|
|
2217
2304
|
chunkIdentifier: chunkMd5,
|
|
2218
2305
|
});
|
|
@@ -2226,7 +2313,7 @@ async function startCheckfileStatus(fileMd5, poll = 4000, overTime = 10000) {
|
|
|
2226
2313
|
let timer2 = 0;
|
|
2227
2314
|
|
|
2228
2315
|
const request = new Promise((resolve, reject) => {
|
|
2229
|
-
timer1 = setInterval(async() => {
|
|
2316
|
+
timer1 = setInterval(async () => {
|
|
2230
2317
|
const result = await upload_checkfileStatus(fileMd5);
|
|
2231
2318
|
// console.log("请求一次文件状态:", result.data.status)
|
|
2232
2319
|
|
|
@@ -2238,10 +2325,7 @@ async function startCheckfileStatus(fileMd5, poll = 4000, overTime = 10000) {
|
|
|
2238
2325
|
fileId: result.data.uuid,
|
|
2239
2326
|
version_id: result.version,
|
|
2240
2327
|
});
|
|
2241
|
-
} else if (
|
|
2242
|
-
result.code === "Success" &&
|
|
2243
|
-
result.data.status === "ERROR"
|
|
2244
|
-
) {
|
|
2328
|
+
} else if (result.code === "Success" && result.data.status === "ERROR") {
|
|
2245
2329
|
// console.log("文件正在上传", result.data.status)
|
|
2246
2330
|
resolve({
|
|
2247
2331
|
result: false,
|
|
@@ -2264,7 +2348,7 @@ async function startCheckfileStatus(fileMd5, poll = 4000, overTime = 10000) {
|
|
|
2264
2348
|
});
|
|
2265
2349
|
|
|
2266
2350
|
return Promise.race([request, timeout])
|
|
2267
|
-
.then(
|
|
2351
|
+
.then(res => {
|
|
2268
2352
|
if (timer1) {
|
|
2269
2353
|
clearInterval(timer1);
|
|
2270
2354
|
timer1 = null;
|
|
@@ -2288,13 +2372,13 @@ async function startCheckfileStatus(fileMd5, poll = 4000, overTime = 10000) {
|
|
|
2288
2372
|
};
|
|
2289
2373
|
}
|
|
2290
2374
|
})
|
|
2291
|
-
.catch(
|
|
2375
|
+
.catch(err => {
|
|
2292
2376
|
return err;
|
|
2293
2377
|
});
|
|
2294
2378
|
}
|
|
2295
2379
|
// 检查文件落盘状态的工具函数-检查落盘状态
|
|
2296
2380
|
async function upload_checkfileStatus(fileMd5) {
|
|
2297
|
-
const result = await checkfileStatus({
|
|
2381
|
+
const result = await api.checkfileStatus({
|
|
2298
2382
|
identifier: fileMd5,
|
|
2299
2383
|
});
|
|
2300
2384
|
|
|
@@ -2303,7 +2387,7 @@ async function upload_checkfileStatus(fileMd5) {
|
|
|
2303
2387
|
|
|
2304
2388
|
// 检查文件是否已经存在
|
|
2305
2389
|
async function upload_searchFileIsUploaded(md5, filesize) {
|
|
2306
|
-
const result = await searchFileIsUploaded({
|
|
2390
|
+
const result = await api.searchFileIsUploaded({
|
|
2307
2391
|
identifier: md5,
|
|
2308
2392
|
size: filesize,
|
|
2309
2393
|
});
|
|
@@ -2321,27 +2405,35 @@ async function addNewFileId(id, version_id, fileType) {
|
|
|
2321
2405
|
let result = null;
|
|
2322
2406
|
|
|
2323
2407
|
if (fileType === "txt") {
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2408
|
+
// txt表示所有文件都可以上传。
|
|
2409
|
+
// version_id为0说明不在媒资管理中上传。走的是系统总上传。基本与txt绑定使用
|
|
2410
|
+
if (version_id === 0) {
|
|
2411
|
+
result = await api.addNewFileOfTxt({
|
|
2412
|
+
uuid: id,
|
|
2413
|
+
});
|
|
2414
|
+
} else {
|
|
2415
|
+
result = await api.addNewFileOfTxt({
|
|
2416
|
+
version_id: version_id,
|
|
2417
|
+
uuid: id,
|
|
2418
|
+
});
|
|
2419
|
+
}
|
|
2328
2420
|
} else if (fileType === "video") {
|
|
2329
|
-
result = await addNewFileOfVideo({
|
|
2421
|
+
result = await api.addNewFileOfVideo({
|
|
2330
2422
|
version_id: version_id,
|
|
2331
2423
|
uuid: id,
|
|
2332
2424
|
});
|
|
2333
2425
|
} else if (fileType === "audio") {
|
|
2334
|
-
result = await addNewFileOfAudio({
|
|
2426
|
+
result = await api.addNewFileOfAudio({
|
|
2335
2427
|
version_id: version_id,
|
|
2336
2428
|
uuid: id,
|
|
2337
2429
|
});
|
|
2338
2430
|
} else if (fileType === "subTitle") {
|
|
2339
|
-
result = await addNewFileOfSubTitle({
|
|
2431
|
+
result = await api.addNewFileOfSubTitle({
|
|
2340
2432
|
version_id: version_id,
|
|
2341
2433
|
uuid: id,
|
|
2342
2434
|
});
|
|
2343
2435
|
} else if (fileType === "pictrue") {
|
|
2344
|
-
result = await addNewFileOfPic({
|
|
2436
|
+
result = await api.addNewFileOfPic({
|
|
2345
2437
|
version_id: version_id,
|
|
2346
2438
|
video_id: 0,
|
|
2347
2439
|
uuid: id,
|
|
@@ -2367,7 +2459,6 @@ async function addNewFileId(id, version_id, fileType) {
|
|
|
2367
2459
|
};
|
|
2368
2460
|
}
|
|
2369
2461
|
}
|
|
2370
|
-
|
|
2371
2462
|
|
|
2372
2463
|
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FileUpload/index.vue?vue&type=script&lang=js
|
|
2373
2464
|
//
|
|
@@ -2502,6 +2593,10 @@ async function addNewFileId(id, version_id, fileType) {
|
|
|
2502
2593
|
//
|
|
2503
2594
|
//
|
|
2504
2595
|
//
|
|
2596
|
+
//
|
|
2597
|
+
//
|
|
2598
|
+
//
|
|
2599
|
+
//
|
|
2505
2600
|
|
|
2506
2601
|
|
|
2507
2602
|
|
|
@@ -2577,6 +2672,14 @@ async function addNewFileId(id, version_id, fileType) {
|
|
|
2577
2672
|
type: Boolean,
|
|
2578
2673
|
default: false,
|
|
2579
2674
|
},
|
|
2675
|
+
// 配置内部的请求api
|
|
2676
|
+
apiObj: {
|
|
2677
|
+
required: false,
|
|
2678
|
+
type: Object,
|
|
2679
|
+
default: () => {
|
|
2680
|
+
return {};
|
|
2681
|
+
},
|
|
2682
|
+
},
|
|
2580
2683
|
},
|
|
2581
2684
|
data() {
|
|
2582
2685
|
return {
|
|
@@ -2978,6 +3081,7 @@ async function addNewFileId(id, version_id, fileType) {
|
|
|
2978
3081
|
createUploadQueues,
|
|
2979
3082
|
total_progress_function,
|
|
2980
3083
|
setTotalStatus,
|
|
3084
|
+
this.apiObj,
|
|
2981
3085
|
);
|
|
2982
3086
|
if (result) {
|
|
2983
3087
|
this.$emit("informTableOfRefresh");
|
|
@@ -3204,8 +3308,8 @@ async function addNewFileId(id, version_id, fileType) {
|
|
|
3204
3308
|
|
|
3205
3309
|
// CONCATENATED MODULE: ./src/components/FileUpload/index.vue?vue&type=script&lang=js
|
|
3206
3310
|
/* harmony default export */ var components_FileUploadvue_type_script_lang_js = (FileUploadvue_type_script_lang_js);
|
|
3207
|
-
// EXTERNAL MODULE: ./src/components/FileUpload/index.vue?vue&type=style&index=0&id=
|
|
3208
|
-
var
|
|
3311
|
+
// EXTERNAL MODULE: ./src/components/FileUpload/index.vue?vue&type=style&index=0&id=085fc20d&prod&scoped=true&lang=scss
|
|
3312
|
+
var FileUploadvue_type_style_index_0_id_085fc20d_prod_scoped_true_lang_scss = __webpack_require__("0e3f");
|
|
3209
3313
|
|
|
3210
3314
|
// CONCATENATED MODULE: ./src/components/FileUpload/index.vue
|
|
3211
3315
|
|
|
@@ -3222,7 +3326,7 @@ var FileUpload_component = normalizeComponent(
|
|
|
3222
3326
|
staticRenderFns,
|
|
3223
3327
|
false,
|
|
3224
3328
|
null,
|
|
3225
|
-
"
|
|
3329
|
+
"085fc20d",
|
|
3226
3330
|
null
|
|
3227
3331
|
|
|
3228
3332
|
)
|