@ -87,6 +87,326 @@ var apiPref = _utils_env__WEBPACK_IMPORTED_MODULE_0__/* ["default"].API_SERVER *
/***/ } ) ,
/***/ 51379 :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / src / components / ChunkedUpload / index . tsx + 1 modules * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( function ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
// EXPORTS
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
"Z" : function ( ) { return /* binding */ components _ChunkedUpload ; }
} ) ;
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = _ _webpack _require _ _ ( 17061 ) ;
var regeneratorRuntime _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( regeneratorRuntime ) ;
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = _ _webpack _require _ _ ( 42122 ) ;
var objectSpread2 _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( objectSpread2 ) ;
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = _ _webpack _require _ _ ( 17156 ) ;
var asyncToGenerator _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( asyncToGenerator ) ;
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
var slicedToArray = _ _webpack _require _ _ ( 27424 ) ;
var slicedToArray _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( slicedToArray ) ;
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = _ _webpack _require _ _ ( 67294 ) ;
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = _ _webpack _require _ _ ( 84519 ) ;
// EXTERNAL MODULE: ./node_modules/uuid/dist/esm-browser/v4.js + 4 modules
var v4 = _ _webpack _require _ _ ( 25934 ) ;
// EXTERNAL MODULE: ./node_modules/classnames/index.js
var classnames = _ _webpack _require _ _ ( 94184 ) ;
var classnames _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( classnames ) ;
; // CONCATENATED MODULE: ./src/components/ChunkedUpload/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var ChunkedUploadmodules = ( { "upload" : "upload___jpwPD" } ) ;
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx _runtime = _ _webpack _require _ _ ( 85893 ) ;
; // CONCATENATED MODULE: ./src/components/ChunkedUpload/index.tsx
var ChunkedUpload = function ChunkedUpload ( _ref , ref ) {
var _ref$chunkSize = _ref . chunkSize ,
chunkSize = _ref$chunkSize === void 0 ? 1024 * 1024 * 2 : _ref$chunkSize ,
_ref$options = _ref . options ,
options = _ref$options === void 0 ? { } : _ref$options ,
onCancel = _ref . onCancel ,
onComplete = _ref . onComplete ,
onError = _ref . onError ,
onProgress = _ref . onProgress ,
onBefore = _ref . onBefore ,
onBeginInitFile = _ref . onBeginInitFile ,
children = _ref . children ,
accept = _ref . accept ,
className = _ref . className ,
_ref$style = _ref . style ,
style = _ref$style === void 0 ? { } : _ref$style ,
_ref$concurrency = _ref . concurrency ,
concurrency = _ref$concurrency === void 0 ? 4 : _ref$concurrency ;
var _useState = ( 0 , react . useState ) ( 'ready' ) ,
_useState2 = slicedToArray _default ( ) ( _useState , 2 ) ,
uploadStatus = _useState2 [ 0 ] ,
setUploadStatus = _useState2 [ 1 ] ;
//组件内调试
var _useState3 = ( 0 , react . useState ) ( 0 ) ,
_useState4 = slicedToArray _default ( ) ( _useState3 , 2 ) ,
progress = _useState4 [ 0 ] ,
setProgress = _useState4 [ 1 ] ;
var _useState5 = ( 0 , react . useState ) ( '' ) ,
_useState6 = slicedToArray _default ( ) ( _useState5 , 2 ) ,
uploadStatusMessage = _useState6 [ 0 ] ,
setUploadStatusMessage = _useState6 [ 1 ] ;
var _useState7 = ( 0 , react . useState ) ( null ) ,
_useState8 = slicedToArray _default ( ) ( _useState7 , 2 ) ,
file = _useState8 [ 0 ] ,
setFile = _useState8 [ 1 ] ;
var abortControllerRef = ( 0 , react . useRef ) ( null ) ;
var domId = ( 0 , react . useRef ) ( ( 0 , v4 /* default */ . Z ) ( ) ) ;
var cancelStatus = ( 0 , react . useRef ) ( false ) ;
( 0 , react . useImperativeHandle ) ( ref , function ( ) {
return {
cancel : cancel ,
file : file ,
uploadStatus : uploadStatus
} ;
} ) ;
var clearInput = function clearInput ( ) {
var input = document . getElementById ( domId . current ) ;
if ( input ) {
input . value = '' ;
}
} ;
var handleUpload = /*#__PURE__*/ function ( ) {
var _ref2 = asyncToGenerator _default ( ) ( /*#__PURE__*/ regeneratorRuntime _default ( ) ( ) . mark ( function _callee ( file ) {
var fileSize , totalChunks , res , uploadId , promises , percent , _loop , i , completed , step , _promises$slice , subTasks , p , uploadRes ;
return regeneratorRuntime _default ( ) ( ) . wrap ( function _callee$ ( _context2 ) {
while ( 1 ) switch ( _context2 . prev = _context2 . next ) {
case 0 :
if ( ! ( uploadStatus === 'uploading' ) ) {
_context2 . next = 2 ;
break ;
}
return _context2 . abrupt ( "return" ) ;
case 2 :
if ( onBeginInitFile ) {
onBeginInitFile ( file ) ;
}
fileSize = file . size ;
totalChunks = Math . ceil ( fileSize / chunkSize ) ;
cancelStatus . current = false ;
setUploadStatus ( 'uploading' ) ;
setProgress ( 0 ) ;
setUploadStatusMessage ( '' ) ;
_context2 . prev = 9 ;
_context2 . next = 12 ;
return ( 0 , fetch /* default */ . ZP ) ( "/api/attachments/multipart_upload_start" , {
method : 'POST' ,
body : objectSpread2 _default ( ) ( {
fileName : file . name ,
chunkCount : totalChunks
} , options )
} ) ;
case 12 :
res = _context2 . sent ;
if ( ! ( cancelStatus . current || ( res === null || res === void 0 ? void 0 : res . status ) !== 0 ) ) {
_context2 . next = 15 ;
break ;
}
throw new Error ( ) ;
case 15 :
uploadId = res . upload _id ;
abortControllerRef . current = new AbortController ( ) ;
promises = [ ] ;
percent = 0 ;
_loop = /*#__PURE__*/ regeneratorRuntime _default ( ) ( ) . mark ( function _loop ( ) {
var start , end , chunk , formData , key ;
return regeneratorRuntime _default ( ) ( ) . wrap ( function _loop$ ( _context ) {
while ( 1 ) switch ( _context . prev = _context . next ) {
case 0 :
start = i * chunkSize ;
end = Math . min ( start + chunkSize , fileSize ) ;
chunk = file . slice ( start , end ) ;
formData = new FormData ( ) ;
formData . append ( 'chunk' , chunk ) ;
formData . append ( 'fileName' , file . name ) ;
formData . append ( 'chunkIndex' , ( i + 1 ) . toString ( ) ) ;
formData . append ( 'uploadId' , uploadId ) ;
for ( key in options ) {
if ( Object . prototype . hasOwnProperty . call ( options , key ) ) {
formData . append ( key , options [ key ] ) ;
}
}
promises . push ( function ( ) {
return ( 0 , fetch /* default */ . ZP ) ( "/api/attachments/multipart_upload" , {
method : 'POST' ,
body : formData ,
signal : abortControllerRef . current . signal
} , true ) . then ( function ( res ) {
console . log ( res , 444 ) ;
percent ++ ;
var currentProgress = Math . round ( percent / totalChunks * 100 ) ;
setProgress ( currentProgress ) ;
if ( onProgress ) {
onProgress ( objectSpread2 _default ( ) ( objectSpread2 _default ( ) ( { } , res ) , { } , {
file : file ,
percent : currentProgress
} ) ) ;
}
} ) ;
} ) ;
case 10 :
case "end" :
return _context . stop ( ) ;
}
} , _loop ) ;
} ) ;
i = 0 ;
case 21 :
if ( ! ( i < totalChunks ) ) {
_context2 . next = 26 ;
break ;
}
return _context2 . delegateYield ( _loop ( ) , "t0" , 23 ) ;
case 23 :
i ++ ;
_context2 . next = 21 ;
break ;
case 26 :
completed = 0 ;
step = concurrency ;
console . log ( promises , 'promises' ) ;
case 29 :
if ( ! ( completed < promises . length ) ) {
_context2 . next = 38 ;
break ;
}
subTasks = ( _promises$slice = promises . slice ( completed , completed + step ) ) === null || _promises$slice === void 0 ? void 0 : _promises$slice . map ( function ( t ) {
return t ( ) ;
} ) ;
if ( ! ( subTasks . length > 0 ) ) {
_context2 . next = 36 ;
break ;
}
_context2 . next = 34 ;
return Promise . all ( subTasks ) ;
case 34 :
p = _context2 . sent ;
completed += step ;
case 36 :
_context2 . next = 29 ;
break ;
case 38 :
_context2 . next = 40 ;
return ( 0 , fetch /* default */ . ZP ) ( "/api/attachments/multipart_upload_end" , {
method : 'POST' ,
body : objectSpread2 _default ( ) ( {
fileName : file . name ,
chunkCount : totalChunks ,
uploadId : uploadId
} , options )
} ) ;
case 40 :
uploadRes = _context2 . sent ;
if ( ! ! uploadRes . object ) {
setUploadStatus ( 'success' ) ;
clearInput ( ) ;
if ( onComplete ) {
onComplete ( objectSpread2 _default ( ) ( objectSpread2 _default ( ) ( { } , uploadRes ) , { } , {
file : file ,
percent : 100
} ) ) ;
}
} else {
setUploadStatus ( 'error' ) ;
setUploadStatusMessage ( '上传失败,请稍后重试' ) ;
clearInput ( ) ;
if ( onError ) {
onError ( file . name ) ;
}
}
_context2 . next = 50 ;
break ;
case 44 :
_context2 . prev = 44 ;
_context2 . t1 = _context2 [ "catch" ] ( 9 ) ;
setUploadStatus ( 'error' ) ;
setUploadStatusMessage ( '上传失败,请稍后重试' ) ;
clearInput ( ) ;
if ( onError ) {
onError ( file . name ) ;
}
case 50 :
case "end" :
return _context2 . stop ( ) ;
}
} , _callee , null , [ [ 9 , 44 ] ] ) ;
} ) ) ;
return function handleUpload ( _x ) {
return _ref2 . apply ( this , arguments ) ;
} ;
} ( ) ;
var cancel = ( 0 , react . useCallback ) ( function ( ) {
cancelStatus . current = true ;
if ( abortControllerRef . current ) {
abortControllerRef . current . abort ( ) ;
if ( onCancel ) {
onCancel ( ) ;
}
}
} , [ onCancel ] ) ;
var handleChangeUpload = function handleChangeUpload ( e ) {
var _e$target , _e$target$files ;
var file = e === null || e === void 0 ? void 0 : ( _e$target = e . target ) === null || _e$target === void 0 ? void 0 : ( _e$target$files = _e$target . files ) === null || _e$target$files === void 0 ? void 0 : _e$target$files [ 0 ] ;
setFile ( file ) ;
uploadStatus = 'ready' ;
if ( ! file ) {
return ;
}
if ( onBefore ) {
var bool = onBefore ( file ) ;
if ( ! bool ) {
handleUpload ( file ) ;
}
clearInput ( ) ;
return ;
}
handleUpload ( file ) ;
} ;
return /*#__PURE__*/ ( 0 , jsx _runtime . jsxs ) ( react . Fragment , {
children : [ /*#__PURE__*/ ( 0 , jsx _runtime . jsx ) ( "input" , {
type : "file" ,
id : domId . current ,
style : {
display : 'none'
} ,
onChange : handleChangeUpload ,
accept : accept
} ) , /*#__PURE__*/ ( 0 , jsx _runtime . jsx ) ( "label" , {
className : classnames _default ( ) ( ChunkedUploadmodules . upload , className ) ,
htmlFor : domId . current ,
style : style ,
children : children
} ) ]
} ) ;
} ;
/* harmony default export */ var components _ChunkedUpload = ( /*#__PURE__*/ ( 0 , react . forwardRef ) ( ChunkedUpload ) ) ;
/***/ } ) ,
/***/ 82982 :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / src / components / NoData / index . tsx * * * !
@ -6288,8 +6608,6 @@ var List = function List(_ref) {
/* harmony default export */ var ListFormmodules = ( { "flex_box_center" : "flex_box_center___C6sVF" , "flex_space_between" : "flex_space_between___VEt8l" , "flex_box_vertical_center" : "flex_box_vertical_center___qeD5F" , "flex_box_center_end" : "flex_box_center_end___iYJd9" , "flex_box_column" : "flex_box_column___iAKJf" , "listForm" : "listForm___leDJL" , "scroll" : "scroll___wtFaF" , "formWrap" : "formWrap___p3W41" , "btns" : "btns___Izl4q" , "main" : "main___xTqlG" , "mainLoading" : "mainLoading___QLa9s" , "tip" : "tip___a0tbY" , "proWarp" : "proWarp___BZhOt" , "pro" : "pro___Yp1Rx" , "mainSucceed" : "mainSucceed___HfaTf" , "del" : "del___TXGhB" } ) ;
// EXTERNAL MODULE: ./node_modules/antd/es/tooltip/index.js + 3 modules
var tooltip = _ _webpack _require _ _ ( 83062 ) ;
// EXTERNAL MODULE: ./src/utils/aliyunUpload.ts
var aliyunUpload = _ _webpack _require _ _ ( 77320 ) ;
; // CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/ListForm/img/v.svg
function v _createForOfIteratorHelper ( o , allowArrayLike ) { var it = typeof Symbol !== "undefined" && o [ Symbol . iterator ] || o [ "@@iterator" ] ; if ( ! it ) { if ( Array . isArray ( o ) || ( it = v _unsupportedIterableToArray ( o ) ) || allowArrayLike && o && typeof o . length === "number" ) { if ( it ) o = it ; var i = 0 ; var F = function F ( ) { } ; return { s : F , n : function n ( ) { if ( i >= o . length ) return { done : true } ; return { done : false , value : o [ i ++ ] } ; } , e : function e ( _e ) { throw _e ; } , f : F } ; } throw new TypeError ( "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ; } var normalCompletion = true , didErr = false , err ; return { s : function s ( ) { it = it . call ( o ) ; } , n : function n ( ) { var step = it . next ( ) ; normalCompletion = step . done ; return step ; } , e : function e ( _e2 ) { didErr = true ; err = _e2 ; } , f : function f ( ) { try { if ( ! normalCompletion && it [ "return" ] != null ) it [ "return" ] ( ) ; } finally { if ( didErr ) throw err ; } } } ; }
function v _unsupportedIterableToArray ( o , minLen ) { if ( ! o ) return ; if ( typeof o === "string" ) return v _arrayLikeToArray ( o , minLen ) ; var n = Object . prototype . toString . call ( o ) . slice ( 8 , - 1 ) ; if ( n === "Object" && o . constructor ) n = o . constructor . name ; if ( n === "Map" || n === "Set" ) return Array . from ( o ) ; if ( n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ . test ( n ) ) return v _arrayLikeToArray ( o , minLen ) ; }
@ -6433,6 +6751,8 @@ var SvgT = function SvgT(props) {
} ;
/* harmony default export */ var t = ( "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PHBhdGggZmlsbD0iI0FGQkFDQiIgZD0iTTkuOTkuMDJDNC40ODIuMDIuMDIgNC40ODIuMDIgOS45OWMwIDUuNTA2IDQuNDYzIDkuOTcgOS45NyA5Ljk3IDUuNTA2IDAgOS45Ny00LjQ2NCA5Ljk3LTkuOTcgMC01LjUwNy00LjQ2NC05Ljk3LTkuOTctOS45N1ptMS42MzYgMTMuNjljLS43NDQgMS4xOS0xLjQ4OCAyLjA4My0yLjgyNyAyLjA4My0uODkzLS4xNDktMS4xOS0uNzQ0LTEuMDQyLTEuNDg4bDEuNjM3LTUuNTA2YzAtLjE0OSAwLS4yOTgtLjE0OS0uMjk4LS4xNDggMC0uNDQ2IDAtLjU5NS4yOThsLTEuMDQyIDEuMTl2LS43NDRjLjc0NS0xLjE5IDEuOTM1LTIuMDgzIDIuODI4LTIuMDgzLjc0NC4xNDkgMS4xOS43NDQgMS4wNDIgMS40ODhMOS44NCAxNC4zMDVjMCAuMTQ5IDAgLjI5OC4xNDguMjk4LjE1IDAgLjQ0Ny0uMTUuNTk2LS4yOThsMS4wNDEtMS4zNHYuNzQ1Wm0tLjI5Ny03LjI5MmMtLjU5NiAwLTEuMTktLjQ0Ni0xLjE5LTEuMTkgMC0uNzQ1LjQ0Ni0xLjE5MSAxLjE5LTEuMTkxLjU5NSAwIDEuMTkuNDQ2IDEuMTkgMS4xOSAwIC43NDUtLjU5NSAxLjE5MS0xLjE5IDEuMTkxWiIvPjwvc3ZnPg==" ) ;
// EXTERNAL MODULE: ./src/components/ChunkedUpload/index.tsx + 1 modules
var ChunkedUpload = _ _webpack _require _ _ ( 51379 ) ;
; // CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/ListForm/index.tsx
@ -6451,91 +6771,8 @@ var SvgT = function SvgT(props) {
var videoReducer = function videoReducer ( state , action ) {
var _state$videoList , _state$videoList2 , _state$videoList3 ;
var _action$payload$uploa = action . payload . uploadInfo ,
uploadInfo = _action$payload$uploa === void 0 ? { } : _action$payload$uploa ;
switch ( action . type ) {
case 'addVideo' :
return {
videoList : [ ] . concat ( toConsumableArray _default ( ) ( state . videoList ) , [ {
name : uploadInfo . file . name ,
size : uploadInfo . file . size ,
type : uploadInfo . file . type ,
fileHash : uploadInfo . fileHash ,
state : uploadInfo . state ,
video _id : uploadInfo . videoId ,
attachment _id : '' ,
article _id : - 1 ,
loaded : 0 ,
title : ''
} ] )
} ;
case 'removeVideo' :
return {
videoList : state . videoList . filter ( function ( item ) {
return item . name !== action . payload . name ;
} )
} ;
case 'replaceVideo' :
return {
videoList : action . payload
} ;
case 'removeAll' :
return [ ] ;
case 'updateProgress' :
return {
videoList : state . videoList . map ( function ( item ) {
if ( item . name === action . payload . uploadInfo . file . name ) {
return objectSpread2 _default ( ) ( objectSpread2 _default ( ) ( { } , item ) , {
loaded : action . payload . progressPercent ,
video _id : uploadInfo . videoId ,
fileHash : uploadInfo . fileHash
} ) ;
}
return item ;
} )
} ;
case 'updateTitle' :
return {
videoList : ( _state$videoList = state . videoList ) === null || _state$videoList === void 0 ? void 0 : _state$videoList . map ( function ( video ) {
if ( video . name === action . payload . item . name ) {
return objectSpread2 _default ( ) ( objectSpread2 _default ( ) ( { } , video ) , {
title : action . payload . title
} ) ;
}
return video ;
} )
} ;
case 'updateImg' :
return {
videoList : ( _state$videoList2 = state . videoList ) === null || _state$videoList2 === void 0 ? void 0 : _state$videoList2 . map ( function ( video ) {
if ( video . name === action . payload . item . name ) {
return objectSpread2 _default ( ) ( objectSpread2 _default ( ) ( { } , video ) , {
attachment _id : action . payload . attachment _id
} ) ;
}
return video ;
} )
} ;
case 'updateImg' :
return {
videoList : ( _state$videoList3 = state . videoList ) === null || _state$videoList3 === void 0 ? void 0 : _state$videoList3 . map ( function ( video ) {
if ( video . name === action . payload . item . name ) {
return objectSpread2 _default ( ) ( objectSpread2 _default ( ) ( { } , video ) , {
attachment _id : action . payload . attachment _id
} ) ;
}
return video ;
} )
} ;
default :
return [ ] ;
}
} ;
var ListForm _List = function List ( _ref ) {
var _ state$videoList6 , _formValue$name ;
var _user$userInfo , _formValue$name ;
var onClose = _ref . onClose ,
onOk = _ref . onOk ,
identifier = _ref . identifier ,
@ -6555,12 +6792,11 @@ var ListForm_List = function List(_ref) {
_useState6 = slicedToArray _default ( ) ( _useState5 , 2 ) ,
btnLoading = _useState6 [ 0 ] ,
setBtnLoading = _useState6 [ 1 ] ;
var _useReducer = ( 0 , react . useReducer ) ( videoReducer , {
videoList : [ ]
} ) ,
_useReducer2 = slicedToArray _default ( ) ( _useReducer , 2 ) ,
state = _useReducer2 [ 0 ] ,
stateDispatch = _useReducer2 [ 1 ] ;
var _useState7 = ( 0 , react . useState ) ( [ ] ) ,
_useState8 = slicedToArray _default ( ) ( _useState7 , 2 ) ,
videoList = _useState8 [ 0 ] ,
setVideoList = _useState8 [ 1 ] ;
// const [data, setData] = useState<any>({});
var user = ( 0 , authority /* userInfo */ . eY ) ( ) ;
var urlParams = ( 0 , _umi _production _exports . useParams ) ( ) ;
@ -6590,14 +6826,11 @@ var ListForm_List = function List(_ref) {
form . setFieldsValue ( value ) ;
setFormValue ( value ) ;
if ( res !== null && res !== void 0 && ( _res$data3 = res . data ) !== null && _res$data3 !== void 0 && ( _res$data3$videos = _res$data3 . videos ) !== null && _res$data3$videos !== void 0 && _res$data3$videos [ 0 ] ) {
stateDispatch ( {
type : 'replaceVideo' ,
payload : [ {
video _id : res === null || res === void 0 ? void 0 : ( _res$data4 = res . data ) === null || _res$data4 === void 0 ? void 0 : ( _res$data4$videos = _res$data4 . videos ) === null || _res$data4$videos === void 0 ? void 0 : ( _res$data4$videos$ = _res$data4$videos [ 0 ] ) === null || _res$data4$videos$ === void 0 ? void 0 : _res$data4$videos$ . video _id ,
name : res === null || res === void 0 ? void 0 : ( _res$data5 = res . data ) === null || _res$data5 === void 0 ? void 0 : ( _res$data5$videos = _res$data5 . videos ) === null || _res$data5$videos === void 0 ? void 0 : ( _res$data5$videos$ = _res$data5$videos [ 0 ] ) === null || _res$data5$videos$ === void 0 ? void 0 : _res$data5$videos$ . title ,
loaded : 100
} ]
} ) ;
setVideoList ( [ {
video _id : res === null || res === void 0 ? void 0 : ( _res$data4 = res . data ) === null || _res$data4 === void 0 ? void 0 : ( _res$data4$videos = _res$data4 . videos ) === null || _res$data4$videos === void 0 ? void 0 : ( _res$data4$videos$ = _res$data4$videos [ 0 ] ) === null || _res$data4$videos$ === void 0 ? void 0 : _res$data4$videos$ . video _id ,
name : res === null || res === void 0 ? void 0 : ( _res$data5 = res . data ) === null || _res$data5 === void 0 ? void 0 : ( _res$data5$videos = _res$data5 . videos ) === null || _res$data5$videos === void 0 ? void 0 : ( _res$data5$videos$ = _res$data5$videos [ 0 ] ) === null || _res$data5$videos$ === void 0 ? void 0 : _res$data5$videos$ . title ,
loaded : 100
} ] ) ;
}
}
case 4 :
@ -6621,7 +6854,7 @@ var ListForm_List = function List(_ref) {
while ( 1 ) switch ( _context2 . prev = _context2 . next ) {
case 0 :
sendData = {
videos : state. videoList,
videos : videoList,
articles : values
} ;
setBtnLoading ( true ) ;
@ -6657,84 +6890,6 @@ var ListForm_List = function List(_ref) {
return _ref3 . apply ( this , arguments ) ;
} ;
} ( ) ;
var clearInput = function clearInput ( ) {
var input = document . getElementById ( 'fileUpload' ) ;
input . value = '' ;
} ;
var handleUpload = function handleUpload ( file ) {
var userData = '{"Vod":{}}' ;
setIsLoading ( true ) ;
if ( uploader . current ) {
uploader . current . addFile ( file , null , null , null , userData ) ;
return ;
}
( 0 , aliyunUpload /* getUploader */ . o ) ( user === null || user === void 0 ? void 0 : user . login , '' , {
create : ! uploader ,
addFileSuccess : function addFileSuccess ( uploadInfo ) {
stateDispatch ( {
type : 'addVideo' ,
payload : {
uploadInfo : uploadInfo
}
} ) ;
} ,
onUploadProgress : function onUploadProgress ( uploadInfo , totalSize , progress ) {
var progressPercent = Math . ceil ( progress * 100 ) ;
stateDispatch ( {
type : 'updateProgress' ,
payload : {
uploadInfo : uploadInfo ,
progressPercent : progressPercent
}
} ) ;
clearInput ( ) ;
} ,
onUploadFailed : function onUploadFailed ( uploadInfo ) {
message /* default.info */ . ZP . info ( '视频云服务出现异常,请重新上传。' ) ;
} ,
onUploadEnd : function onUploadEnd ( uploadInfo ) {
setIsLoading ( false ) ;
} ,
onUploadSucceed : function onUploadSucceed ( uploadInfo ) {
setIsLoading ( false ) ;
} ,
onUploadError : function onUploadError ( uploadInfo ) {
setIsLoading ( false ) ;
} ,
gotUploader : function gotUploader ( _uploader ) {
_uploader . addFile ( file , null , null , null , userData ) ;
uploader . current = _uploader ;
}
} ) ;
} ;
var handleChangeUpload = function handleChangeUpload ( e ) {
var _state$videoList4 ;
var MAX _FILE _SIZE = 1024 ;
var file = e . target . files [ 0 ] ;
if ( ! file ) {
clearInput ( ) ;
return ;
}
var name = file . name . toLowerCase ( ) ;
if ( name && name . indexOf ( '.avi' ) == - 1 && name . indexOf ( '.flv' ) == - 1 && name . indexOf ( '.f4v' ) == - 1 && name . indexOf ( '.m4v' ) == - 1 && name . indexOf ( '.mov' ) == - 1 && name . indexOf ( '.mp4' ) == - 1 && name . indexOf ( '.rmvb' ) == - 1 && name . indexOf ( '.swf' ) == - 1 && name . indexOf ( '.webm' ) == - 1 && name . indexOf ( '.wmv' ) == - 1 ) {
message /* default.info */ . ZP . info ( "\u4E0D\u652F\u6301\u7684\u89C6\u9891\u683C\u5F0F" ) ;
clearInput ( ) ;
return ;
}
if ( file . size > MAX _FILE _SIZE * 1024 * 1024 ) {
message /* default.info */ . ZP . info ( "\u89C6\u9891\u5927\u5C0F\u8D85\u8FC7" . concat ( MAX _FILE _SIZE , "M" ) ) ;
clearInput ( ) ;
return ;
}
if ( ( _state$videoList4 = state . videoList ) !== null && _state$videoList4 !== void 0 && _state$videoList4 . find ( function ( item ) {
return item . name === file . name ;
} ) ) {
message /* default.info */ . ZP . info ( "\u4F60\u4E0D\u80FD\u4E0A\u4F20\u540C\u4E00\u4E2A\u89C6\u9891\u6587\u4EF6\u540D\u79F0\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u3002" ) ;
clearInput ( ) ;
return ;
}
handleUpload ( file ) ;
} ;
var handleRemove = function handleRemove ( name , isSuccess ) {
modal /* default.confirm */ . Z . confirm ( {
title : '提示' ,
@ -6746,27 +6901,28 @@ var ListForm_List = function List(_ref) {
children : [ "\u60A8\u786E\u8BA4\u8981" , isSuccess ? '删除' : '取消上传' , "\u8BE5\u89C6\u9891\u5417\uFF1F" ]
} ) ,
onOk : function onOk ( ) {
clearInput ( ) ;
stateDispatch ( {
type : 'removeVideo' ,
payload : {
name : name
}
} ) ;
if ( isSuccess ) {
setVideoList ( [ ] ) ;
} else {
uploader . current . cancel ( ) ;
setVideoList ( [ ] ) ;
}
}
} ) ;
} ;
var renderUpload = function renderUpload ( ) {
return /*#__PURE__*/ ( 0 , jsx _runtime . jsxs ) ( "label" , {
htmlFor : "fileUpload" ,
className : ListFormmodules . main ,
children : [ /*#__PURE__*/ ( 0 , jsx _runtime . jsx ) ( "img" , {
src : v ,
alt : ""
} ) , /*#__PURE__*/ ( 0 , jsx _runtime . jsx ) ( "span" , {
children : "\u4E0A\u4F20\u89C6\u9891"
} ) ]
} ) ;
return /*#__PURE__*/ ( 0 , jsx _runtime . jsx ) ( ChunkedUpload /* default */ . Z , objectSpread2 _default ( ) ( objectSpread2 _default ( ) ( { } , uploadProps ) , { } , {
ref : uploader ,
children : /*#__PURE__*/ ( 0 , jsx _runtime . jsxs ) ( "div" , {
className : ListFormmodules . main ,
children : [ /*#__PURE__*/ ( 0 , jsx _runtime . jsx ) ( "img" , {
src : v ,
alt : ""
} ) , /*#__PURE__*/ ( 0 , jsx _runtime . jsx ) ( "span" , {
children : "\u4E0A\u4F20\u89C6\u9891"
} ) ]
} )
} ) ) ;
} ;
var renderUploadLoading = function renderUploadLoading ( num ) {
return /*#__PURE__*/ ( 0 , jsx _runtime . jsxs ) ( "div" , {
@ -6858,34 +7014,13 @@ var ListForm_List = function List(_ref) {
} ) ;
} ;
var renderFile = function renderFile ( ) {
var _state$videoList5 ;
return (
/*#__PURE__*/
// <div className='ml30 mb30 mr40'>
// <Spin spinning={isLoading}>
// {
// state.videoList?.map((item: any, index: number) => {
// return <div>
// <div>{item.name}</div>
// <div>
// <Progress percent={item.loaded} status={item.loaded == 100 ? "normal" : 'active'} />
// <div>
// <Button type="primary" onClick={() => handleRemove(item.name, item.loaded == 100)}>{item.loaded === 100 ? '删除' : '取消上传'}</Button>
// </div>
// </div>
// </div>
// })
// }
// </Spin>
// </div>
( 0 , jsx _runtime . jsx ) ( react . Fragment , {
children : ( _state$videoList5 = state . videoList ) === null || _state$videoList5 === void 0 ? void 0 : _state$videoList5 . map ( function ( item , index ) {
return /*#__PURE__*/ ( 0 , jsx _runtime . jsx ) ( react . Fragment , {
children : item . loaded == 100 ? renderSucceed ( item ) : renderUploadLoading ( item . loaded )
} , index ) ;
} )
return /*#__PURE__*/ ( 0 , jsx _runtime . jsx ) ( react . Fragment , {
children : videoList === null || videoList === void 0 ? void 0 : videoList . map ( function ( item , index ) {
return /*#__PURE__*/ ( 0 , jsx _runtime . jsx ) ( react . Fragment , {
children : item . loaded == 100 ? renderSucceed ( item ) : renderUploadLoading ( item . loaded )
} , index ) ;
} )
);
} ) ;
} ;
var handleClose = function handleClose ( ) {
modal /* default.confirm */ . Z . confirm ( {
@ -6900,7 +7035,57 @@ var ListForm_List = function List(_ref) {
onOk : onClose
} ) ;
} ;
var hasFile = ( _state$videoList6 = state . videoList ) === null || _state$videoList6 === void 0 ? void 0 : _state$videoList6 . length ;
var handleChangeUpload = function handleChangeUpload ( file ) {
var MAX _FILE _SIZE = 1024 ;
var fileName = file . name . toLowerCase ( ) ;
if ( fileName && fileName . indexOf ( '.avi' ) == - 1 && fileName . indexOf ( '.flv' ) == - 1 && fileName . indexOf ( '.f4v' ) == - 1 && fileName . indexOf ( '.m4v' ) == - 1 && fileName . indexOf ( '.mov' ) == - 1 && fileName . indexOf ( '.mp4' ) == - 1 && fileName . indexOf ( '.rmvb' ) == - 1 && fileName . indexOf ( '.swf' ) == - 1 && fileName . indexOf ( '.webm' ) == - 1 && fileName . indexOf ( '.wmv' ) == - 1 ) {
message /* default.info */ . ZP . info ( "\u4E0D\u652F\u6301\u7684\u89C6\u9891\u683C\u5F0F" ) ;
return true ;
}
if ( file . size > MAX _FILE _SIZE * 1024 * 1024 ) {
message /* default.info */ . ZP . info ( "\u89C6\u9891\u5927\u5C0F\u8D85\u8FC71G" ) ;
return true ;
}
if ( videoList !== null && videoList !== void 0 && videoList . find ( function ( item ) {
return item . name === file . name ;
} ) ) {
message /* default.info */ . ZP . info ( "\u4F60\u4E0D\u80FD\u4E0A\u4F20\u540C\u4E00\u4E2A\u89C6\u9891\u6587\u4EF6\u540D\u79F0\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u3002" ) ;
return true ;
}
return false ;
} ;
var uploadProps = {
accept : '.mkv, .flv, .f4v, .rmvb, .swf, video/mp4,video/x-m4v,video/flv,video/f4v,video/rmvb,video/swf,video/*' ,
onBefore : handleChangeUpload ,
onBeginInitFile : function onBeginInitFile ( v ) {
setVideoList ( [ {
name : v . filename ,
loaded : 0
} ] ) ;
} ,
onComplete : function onComplete ( v ) {
setVideoList ( [ {
name : v . filename ,
loaded : v . percent ,
videoId : v . id
} ] ) ;
} ,
onError : function onError ( ) {
setVideoList ( [ ] ) ;
} ,
onProgress : function onProgress ( v ) {
setVideoList ( [ {
name : v . filename ,
loaded : v . percent
} ] ) ;
} ,
chunkSize : 1024 * 1024 * 2 ,
// 2MB
options : {
user _id : user === null || user === void 0 ? void 0 : ( _user$userInfo = user . userInfo ) === null || _user$userInfo === void 0 ? void 0 : _user$userInfo . user _id
}
} ;
var hasFile = videoList === null || videoList === void 0 ? void 0 : videoList . length ;
return /*#__PURE__*/ ( 0 , jsx _runtime . jsxs ) ( "div" , {
className : ListFormmodules . listForm ,
children : [ /*#__PURE__*/ ( 0 , jsx _runtime . jsxs ) ( "header" , {
@ -6943,17 +7128,9 @@ var ListForm_List = function List(_ref) {
} )
} ) ]
} ) ]
} ) , /*#__PURE__*/ ( 0 , jsx _runtime . jsx s ) ( "div" , {
} ) , /*#__PURE__*/ ( 0 , jsx _runtime . jsx ) ( "div" , {
className : ListFormmodules . upload ,
children : [ hasFile ? renderFile ( ) : renderUpload ( ) , /*#__PURE__*/ ( 0 , jsx _runtime . jsx ) ( "input" , {
type : "file" ,
id : "fileUpload" ,
style : {
display : 'none'
} ,
onChange : handleChangeUpload ,
accept : ".mkv, .flv, .f4v, .rmvb, .swf, video/mp4,video/x-m4v,video/flv,video/f4v,video/rmvb,video/swf,video/*"
} ) ]
children : hasFile ? renderFile ( ) : renderUpload ( )
} ) ]
} ) , /*#__PURE__*/ ( 0 , jsx _runtime . jsxs ) ( "div" , {
className : ListFormmodules . btns ,
@ -10653,154 +10830,6 @@ var jsx_runtime = __webpack_require__(85893);
/***/ } ) ,
/***/ 77320 :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / src / utils / aliyunUpload . ts * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( function ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
/* harmony export */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
/* harmony export */ "o" : function ( ) { return /* binding */ getUploader ; }
/* harmony export */ } ) ;
/* harmony import */ var _utils _fetch _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( /*! @/utils/fetch */ 84519 ) ;
/* harmony import */ var aliyun _vod _upload _ll _ _WEBPACK _IMPORTED _MODULE _1 _ _ = _ _webpack _require _ _ ( /*! aliyun-vod-upload-ll */ 69548 ) ;
/* harmony import */ var aliyun _vod _upload _ll _ _WEBPACK _IMPORTED _MODULE _1 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( aliyun _vod _upload _ll _ _WEBPACK _IMPORTED _MODULE _1 _ _ ) ;
var login = '' ;
var uploader ;
var virtual _classroom _id = '' ;
function createUploader ( options ) {
doCreateUploader ( options ) ;
}
function doCreateUploader ( options ) {
uploader = new ( aliyun _vod _upload _ll _ _WEBPACK _IMPORTED _MODULE _1 _ _ _default ( ) . Vod ) ( {
timeout : 60000 ,
partSize : 1048576 ,
parallel : 5 ,
retryCount : 3 ,
retryDuration : 2 ,
region : 'ap-southeast-1' ,
userId : 1829848226361863 ,
enableUploadProgress : false ,
addFileSuccess : function addFileSuccess ( uploadInfo ) {
console . log ( "addFileSuccess: " + uploadInfo . file . name ) ;
options . addFileSuccess && options . addFileSuccess ( uploadInfo ) ;
uploader . startUpload ( ) ;
} ,
// 开始上传
onUploadstarted : function onUploadstarted ( uploadInfo ) {
var fileName = uploadInfo . file . name ;
if ( ! uploadInfo . videoId ) {
var createUrl = "/api/users/" . concat ( login , "/video_auths.json" ) ;
var _random = '' ; // Math.random().toString().substring(3, 6)+'-'
( 0 , _utils _fetch _ _WEBPACK _IMPORTED _MODULE _0 _ _ /* ["default"] */ . ZP ) ( createUrl , {
method : 'Post' ,
body : {
title : _random + fileName ,
file _name : _random + fileName ,
virtual _classroom _id : virtual _classroom _id
}
} ) . then ( function ( response ) {
if ( response ) {
var data = response . data ;
var uploadAuth = data . UploadAuth ;
var uploadAddress = data . UploadAddress ;
var videoId = data . VideoId ;
uploader . setUploadAuthAndAddress ( uploadInfo , uploadAuth , uploadAddress , videoId ) ;
}
} ) [ "catch" ] ( function ( error ) {
uploader . deleteFile ( uploader . _curIndex ) ;
uploader . nextUpload ( ) ;
console . log ( error ) ;
} ) ;
console . log ( '文件开始上传...' ) ;
} else {
// 如果videoId有值, 根据videoId刷新上传凭证
var refreshUrl = "/api/users/" . concat ( login , "/video_auths.json" ) ;
( 0 , _utils _fetch _ _WEBPACK _IMPORTED _MODULE _0 _ _ /* ["default"] */ . ZP ) ( refreshUrl , {
method : 'put' ,
body : {
video _id : uploadInfo . videoId ,
title : fileName ,
file _name : fileName ,
virtual _classroom _id : virtual _classroom _id
}
} ) . then ( function ( response ) {
if ( response . status == - 1 ) {
options . onUploadError && options . onUploadError ( uploadInfo ) ;
return ;
}
var data = response . data ;
var uploadAuth = data . UploadAuth ;
var uploadAddress = data . UploadAddress ;
var videoId = data . VideoId ;
uploader . setUploadAuthAndAddress ( uploadInfo , uploadAuth , uploadAddress ) ;
} ) [ "catch" ] ( function ( error ) {
uploader . deleteFile ( uploader . _curIndex ) ;
uploader . nextUpload ( ) ;
console . log ( error ) ;
} ) ;
}
} ,
// 文件上传成功
onUploadSucceed : function onUploadSucceed ( uploadInfo ) {
options . onUploadSucceed && options . onUploadSucceed ( uploadInfo ) ;
console . log ( '文件上传成功!' ) ;
} ,
// 文件上传失败
onUploadFailed : function onUploadFailed ( uploadInfo , code , message ) {
options . onUploadFailed && options . onUploadFailed ( uploadInfo ) ;
console . log ( '文件上传失败!' ) ;
} ,
// 取消文件上传
onUploadCanceled : function onUploadCanceled ( uploadInfo , code , message ) {
console . log ( '文件上传已暂停!' ) ;
} ,
// 文件上传进度,单位:字节, 可以在这个函数中拿到上传进度并显示在页面上
onUploadProgress : function onUploadProgress ( uploadInfo , totalSize , progress ) {
options . onUploadProgress && options . onUploadProgress ( uploadInfo , totalSize , progress ) ;
var progressPercent = Math . ceil ( progress * 100 ) ;
console . log ( '文件上传中...' ) ;
} ,
// 上传凭证超时
onUploadTokenExpired : function onUploadTokenExpired ( uploadInfo ) {
console . log ( '文件上传超时!' ) ;
var refreshUrl = "/api/users/" . concat ( login , "/video_auths.json" ) ;
( 0 , _utils _fetch _ _WEBPACK _IMPORTED _MODULE _0 _ _ /* ["default"] */ . ZP ) ( refreshUrl , {
method : 'put' ,
body : {
video _id : uploadInfo . videoId
}
} ) . then ( function ( response ) {
var data = response . data ;
var uploadAuth = data . UploadAuth ;
uploader . resumeUploadWithAuth ( uploadAuth ) ;
} ) [ "catch" ] ( function ( error ) {
console . log ( error ) ;
} ) ;
} ,
// 全部文件上传结束
onUploadEnd : function onUploadEnd ( uploadInfo ) {
options . onUploadEnd && options . onUploadEnd ( uploadInfo ) ;
console . log ( "onUploadEnd: uploaded all the files" ) ;
}
} ) ;
if ( options . gotUploader ) {
options . gotUploader ( uploader ) ;
}
}
function getUploader ( _login , _virtual _classroom _id , options ) {
_login && ( login = _login ) ;
_virtual _classroom _id && ( virtual _classroom _id = _virtual _classroom _id ) ;
// if (!uploader || options.create == true) {
createUploader ( options ) ;
// }
}
/***/ } ) ,
/***/ 15994 :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / src / utils / fullscreen . ts * * * !