"use strict"; (self["webpackChunk"] = self["webpackChunk"] || []).push([[96444],{ /***/ 93899: /*!**********************************************************!*\ !*** ./src/components/CoverUpload/index.tsx + 1 modules ***! \**********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ components_CoverUpload; } }); // EXTERNAL MODULE: ./node_modules/antd/es/upload/style/index.js + 1 modules var style = __webpack_require__(13759); // EXTERNAL MODULE: ./node_modules/antd/es/upload/index.js + 20 modules var upload = __webpack_require__(7426); // EXTERNAL MODULE: ./node_modules/antd/es/message/style/index.js + 1 modules var message_style = __webpack_require__(14934); // EXTERNAL MODULE: ./node_modules/antd/es/message/index.js + 1 modules var message = __webpack_require__(12461); // EXTERNAL MODULE: ./node_modules/antd/es/button/style/index.js + 1 modules var button_style = __webpack_require__(29913); // EXTERNAL MODULE: ./node_modules/antd/es/button/index.js var es_button = __webpack_require__(71577); // 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: ./node_modules/@ant-design/icons/es/icons/UploadOutlined.js + 1 modules var UploadOutlined = __webpack_require__(88484); // EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/CloseCircleFilled.js var CloseCircleFilled = __webpack_require__(38900); // EXTERNAL MODULE: ./src/utils/env.ts + 1 modules var env = __webpack_require__(59758); ;// CONCATENATED MODULE: ./src/components/CoverUpload/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var CoverUploadmodules = ({"img":"img___BgL9D"}); // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(85893); ;// CONCATENATED MODULE: ./src/components/CoverUpload/index.tsx var CoverUpload = function CoverUpload(_ref) { var value = _ref.value, onChange = _ref.onChange, getFileProgress = _ref.getFileProgress; var _useState = (0,react.useState)(false), _useState2 = slicedToArray_default()(_useState, 2), imgLoading = _useState2[0], setImgLoading = _useState2[1]; var uploadButton = /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, { loading: imgLoading, icon: /*#__PURE__*/(0,jsx_runtime.jsx)(UploadOutlined/* default */.Z, {}), children: "\u9009\u62E9\u4E0A\u4F20\u6587\u4EF6" }); var renderImg = function renderImg() { return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: CoverUploadmodules.img, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", { src: env/* default.API_SERVER */.Z.API_SERVER + "/api/attachments/" + value, alt: "avatar", style: { width: 288 } }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { children: /*#__PURE__*/(0,jsx_runtime.jsx)(CloseCircleFilled/* default */.Z, { onClick: function onClick() { return onChange(''); }, style: { fontSize: '16px', color: 'red' } }) })] }); }; var handleChange = function handleChange(info) { if (getFileProgress) { getFileProgress(info); } if (info.file.status === 'uploading') { setImgLoading(true); return; } if (info.file.status === 'done') { var _info$file, _info$file$response, _info$file3, _info$file3$response; setImgLoading(false); if (info.file.status === 'done' && ((_info$file = info.file) === null || _info$file === void 0 ? void 0 : (_info$file$response = _info$file.response) === null || _info$file$response === void 0 ? void 0 : _info$file$response.status) === -1) { var _info$file2, _info$file2$response; message/* default.error */.ZP.error((_info$file2 = info.file) === null || _info$file2 === void 0 ? void 0 : (_info$file2$response = _info$file2.response) === null || _info$file2$response === void 0 ? void 0 : _info$file2$response.message); // onChange() return; } onChange(info === null || info === void 0 ? void 0 : (_info$file3 = info.file) === null || _info$file3 === void 0 ? void 0 : (_info$file3$response = _info$file3.response) === null || _info$file3$response === void 0 ? void 0 : _info$file3$response.id); } }; return /*#__PURE__*/(0,jsx_runtime.jsx)(react.Fragment, { children: value ? renderImg() : /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { children: [/*#__PURE__*/(0,jsx_runtime.jsx)(upload/* default */.Z, { withCredentials: true, name: "file", showUploadList: false, action: "".concat(env/* default.API_SERVER */.Z.API_SERVER, "/api/attachments.json"), onChange: handleChange, accept: "image/*", children: uploadButton }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "mt20 c-light-black", children: "\u8BF4\u660E\uFF1A\u652F\u6301\u4E0A\u4F20jpg/png\u7B49\u683C\u5F0F\u6587\u4EF6\uFF0C\u6587\u4EF6\u5927\u5C0F\u4E0D\u80FD\u8D85\u8FC72M,\u5EFA\u8BAE\u4F7F\u7528288*158\u50CF\u7D20\uFF1B" }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "c-light-black", children: "\u5982\u4E0D\u4E0A\u4F20\uFF0C\u9ED8\u8BA4\u4F7F\u7528\u7CFB\u7EDF\u56FE\u7247\u3002" })] }) }); }; /* harmony default export */ var components_CoverUpload = (CoverUpload); /***/ }), /***/ 61891: /*!****************************************!*\ !*** ./src/components/useInterval.tsx ***! \****************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": function() { return /* binding */ useInterval; } /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 67294); function useInterval(callback, delay) { var savedCallback = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(); // 保存新回调 (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { savedCallback.current = callback; }); // 建立 interval (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { function tick() { savedCallback.current(); } if (delay !== null) { var id = setInterval(tick, delay); return function () { return clearInterval(id); }; } }, [delay]); } /***/ }), /***/ 9893: /*!******************************************************!*\ !*** ./src/pages/Video/Detail/[id].tsx + 11 modules ***! \******************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, { "default": function() { return /* binding */ _id_; }, "formatQuery": function() { return /* binding */ formatQuery; } }); // 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/antd/es/spin/style/index.js + 1 modules var style = __webpack_require__(22536); // EXTERNAL MODULE: ./node_modules/antd/es/spin/index.js var spin = __webpack_require__(11382); // 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/objectSpread2.js var objectSpread2 = __webpack_require__(42122); var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js var objectWithoutProperties = __webpack_require__(70215); var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); // EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules var _umi_production_exports = __webpack_require__(89214); ;// CONCATENATED MODULE: ./src/pages/Video/Detail/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var Detailmodules = ({"bg":"bg___eq_Aq","container":"container___j770l","widthle":"widthle___ouh1T"}); // EXTERNAL MODULE: ./node_modules/antd/es/rate/style/index.js + 1 modules var rate_style = __webpack_require__(50936); // EXTERNAL MODULE: ./node_modules/antd/es/rate/index.js + 6 modules var rate = __webpack_require__(61460); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js var slicedToArray = __webpack_require__(27424); var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray); ;// CONCATENATED MODULE: ./src/pages/Video/Detail/components/Banner/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var Bannermodules = ({"flex_box_center":"flex_box_center___mpDqy","flex_space_between":"flex_space_between___GOQ8P","flex_box_vertical_center":"flex_box_vertical_center___CWfTT","flex_box_center_end":"flex_box_center_end___OjcB2","flex_box_column":"flex_box_column___WLFdH","banner":"banner___iyB_O","wrap":"wrap___cTpkR","title":"title___JWKiH","contentWrap":"contentWrap___SmVcS","button":"button___msCNN","rating":"rating___lBgP9"}); // EXTERNAL MODULE: ./node_modules/antd/es/modal/style/index.js + 1 modules var modal_style = __webpack_require__(35611); // EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 7 modules var modal = __webpack_require__(85402); // EXTERNAL MODULE: ./node_modules/antd/es/radio/style/index.js + 1 modules var radio_style = __webpack_require__(83822); // EXTERNAL MODULE: ./node_modules/antd/es/radio/index.js + 4 modules var es_radio = __webpack_require__(29924); // EXTERNAL MODULE: ./node_modules/antd/es/message/style/index.js + 1 modules var message_style = __webpack_require__(14934); // EXTERNAL MODULE: ./node_modules/antd/es/message/index.js + 1 modules var message = __webpack_require__(12461); // EXTERNAL MODULE: ./node_modules/antd/es/input/style/index.js + 1 modules var input_style = __webpack_require__(69463); // EXTERNAL MODULE: ./node_modules/antd/es/input/index.js + 5 modules var input = __webpack_require__(75008); ;// CONCATENATED MODULE: ./src/pages/Video/Detail/components/SendToClassModal/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var SendToClassModalmodules = ({"wrap":"wrap___pjBB9","title":"title___xlyq_","radioWrap":"radioWrap___G8Uf8","radio":"radio___ZHEKY","colorFF0000":"colorFF0000___cNS17","pagination":"pagination___fujpm"}); // EXTERNAL MODULE: ./src/service/video.ts var video = __webpack_require__(43196); // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(85893); ;// CONCATENATED MODULE: ./src/pages/Video/Detail/components/SendToClassModal/index.tsx var _excluded = ["videoDetail", "globalSetting", "loading", "dispatch"]; var Search = input/* default.Search */.Z.Search; var SendToClassModal = function SendToClassModal(_ref) { var _courseList$filter; var videoDetail = _ref.videoDetail, globalSetting = _ref.globalSetting, loading = _ref.loading, dispatch = _ref.dispatch, props = objectWithoutProperties_default()(_ref, _excluded); var urlParams = (0,_umi_production_exports.useParams)(); var location = (0,_umi_production_exports.useLocation)(); var _useState = (0,react.useState)([]), _useState2 = slicedToArray_default()(_useState, 2), courseList = _useState2[0], setCourseList = _useState2[1]; var _useState3 = (0,react.useState)(''), _useState4 = slicedToArray_default()(_useState3, 2), searchValue = _useState4[0], setSearchValue = _useState4[1]; var _useState5 = (0,react.useState)(), _useState6 = slicedToArray_default()(_useState5, 2), radioValue = _useState6[0], setRadioValue = _useState6[1]; var _useState7 = (0,react.useState)(false), _useState8 = slicedToArray_default()(_useState7, 2), hasError = _useState8[0], setHasError = _useState8[1]; var _useState9 = (0,react.useState)(false), _useState10 = slicedToArray_default()(_useState9, 2), show = _useState10[0], setShow = _useState10[1]; (0,react.useEffect)(function () { if (videoDetail.actionTabs.key === 'Banner-SendToClass') { getSearchUserCourses(); } }, [videoDetail.actionTabs.key]); var getSearchUserCourses = /*#__PURE__*/function () { var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() { var _res$courses; var res; return regeneratorRuntime_default()().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 2; return (0,video/* getVideoMyCourses */.WB)({}); case 2: res = _context.sent; if (!(res !== null && res !== void 0 && (_res$courses = res.courses) !== null && _res$courses !== void 0 && _res$courses.length)) { _context.next = 8; break; } setCourseList((res === null || res === void 0 ? void 0 : res.courses) || []); setShow(true); _context.next = 11; break; case 8: handleCancel(); message/* default.info */.ZP.info('您当前没有管理任何课堂,不可发送'); return _context.abrupt("return"); case 11: case "end": return _context.stop(); } }, _callee); })); return function getSearchUserCourses() { return _ref2.apply(this, arguments); }; }(); var handleSearch = function handleSearch(value) { setCourseList(courseList === null || courseList === void 0 ? void 0 : courseList.map(function (item) { return objectSpread2_default()(objectSpread2_default()({}, item), {}, { hide: !item.course_name.includes(value) }); })); }; var handleOk = /*#__PURE__*/function () { var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() { var res; return regeneratorRuntime_default()().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: if (radioValue) { _context2.next = 3; break; } setHasError(true); return _context2.abrupt("return"); case 3: _context2.next = 5; return (0,video/* videoSendToCourse */.PO)({ id: urlParams.videoId, course_id: radioValue }); case 5: res = _context2.sent; if ((res === null || res === void 0 ? void 0 : res.status) === 0) { message/* default.success */.ZP.success('发送成功'); handleCancel(); _umi_production_exports.history === null || _umi_production_exports.history === void 0 ? void 0 : _umi_production_exports.history.replace("/classrooms/".concat(radioValue, "/shixun_homework")); } case 7: case "end": return _context2.stop(); } }, _callee2); })); return function handleOk() { return _ref3.apply(this, arguments); }; }(); var handleCancel = function handleCancel() { setSearchValue(''); setRadioValue(null); setHasError(false); dispatch({ type: 'videoDetail/setActionTabs', payload: {} }); setShow(false); }; return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, { centered: true, keyboard: false, closable: false, title: "\u53D1\u9001\u81F3\u8BFE\u5802", open: show, okText: "\u786E\u5B9A", cancelText: "\u53D6\u6D88", onOk: handleOk, onCancel: handleCancel, children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: SendToClassModalmodules.wrap, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "mb10", children: /*#__PURE__*/(0,jsx_runtime.jsx)(Search, { placeholder: "\u8F93\u5165\u8BFE\u5802\u540D\u79F0\u7684\u5173\u952E\u5B57\u8FDB\u884C\u641C\u7D22", value: searchValue, onChange: function onChange(e) { return setSearchValue(e.target.value); }, onSearch: function onSearch(value) { setSearchValue(value); handleSearch(value); } }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: SendToClassModalmodules.radioWrap, children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Group */.ZP.Group, { value: radioValue, onChange: function onChange(e) { setRadioValue(e.target.value); setHasError(false); }, children: courseList === null || courseList === void 0 ? void 0 : (_courseList$filter = courseList.filter(function (item) { return !(item !== null && item !== void 0 && item.hide); })) === null || _courseList$filter === void 0 ? void 0 : _courseList$filter.map(function (item, key) { return /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, { className: SendToClassModalmodules.radio, value: item.course_id, children: item.course_name }, key); }) }) }), hasError && /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: SendToClassModalmodules.colorFF0000, children: "\u8BF7\u9009\u62E9\u4F60\u8981\u53D1\u9001\u7684\u8BFE\u5802" }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: SendToClassModalmodules.title, children: "\u6E29\u99A8\u63D0\u793A\uFF1A\u5F53\u524D\u89C6\u9891\u9879\u76EE\u5C06\u4F1A\u53D1\u9001\u5230\u6307\u5B9A\u8BFE\u5802" })] }) }); }; /* harmony default export */ var components_SendToClassModal = ((0,_umi_production_exports.connect)(function (_ref4) { var videoDetail = _ref4.videoDetail, loading = _ref4.loading, globalSetting = _ref4.globalSetting; return { videoDetail: videoDetail, globalSetting: globalSetting, loading: loading.models.index }; })(SendToClassModal)); // EXTERNAL MODULE: ./src/pages/Video/Detail/components/AddVideoModal/index.tsx + 1 modules var AddVideoModal = __webpack_require__(53619); // EXTERNAL MODULE: ./src/service/paths.ts var paths = __webpack_require__(29533); // EXTERNAL MODULE: ./src/utils/util.tsx var util = __webpack_require__(29427); // EXTERNAL MODULE: ./src/utils/verifyLogin.tsx + 3 modules var verifyLogin = __webpack_require__(72551); // EXTERNAL MODULE: ./node_modules/antd/es/badge/style/index.js + 1 modules var badge_style = __webpack_require__(44008); // EXTERNAL MODULE: ./node_modules/antd/es/badge/index.js + 4 modules var badge = __webpack_require__(63922); // EXTERNAL MODULE: ./node_modules/antd/es/button/style/index.js + 1 modules var button_style = __webpack_require__(29913); // EXTERNAL MODULE: ./node_modules/antd/es/button/index.js var es_button = __webpack_require__(71577); // EXTERNAL MODULE: ./node_modules/antd/es/auto-complete/style/index.js + 1 modules var auto_complete_style = __webpack_require__(19070); // EXTERNAL MODULE: ./node_modules/antd/es/auto-complete/index.js var auto_complete = __webpack_require__(49288); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js var toConsumableArray = __webpack_require__(861); var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray); ;// CONCATENATED MODULE: ./src/pages/Video/Detail/components/EditAuthModal/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var EditAuthModalmodules = ({"selectSchool":"selectSchool___SmaLm","delete":"delete___aU6BX"}); // EXTERNAL MODULE: ./src/service/shixuns.ts var shixuns = __webpack_require__(56088); ;// CONCATENATED MODULE: ./src/pages/Video/Detail/components/EditAuthModal/index.tsx var EditAuthModal = function EditAuthModal(_ref) { var _videoDetail$detail2, _videoDetail$detail2$; var videoDetail = _ref.videoDetail, _ref$dispatch = _ref.dispatch, dispatch = _ref$dispatch === void 0 ? function () {} : _ref$dispatch, visible = _ref.visible, _ref$onClose = _ref.onClose, onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose; // const params = useParams(); // const location = useLocation() as any; var queryParams = videoDetail.queryParams; var _videoDetail$queryPar = videoDetail.queryParams, subject_id = _videoDetail$queryPar.subject_id, videoId = _videoDetail$queryPar.videoId; var params = { videoId: videoId }; var _useState = (0,react.useState)(0), _useState2 = slicedToArray_default()(_useState, 2), radioValue = _useState2[0], setRadioValue = _useState2[1]; var _useState3 = (0,react.useState)(''), _useState4 = slicedToArray_default()(_useState3, 2), departmentValue = _useState4[0], setDepartmentValue = _useState4[1]; var _useState5 = (0,react.useState)([]), _useState6 = slicedToArray_default()(_useState5, 2), departmentList = _useState6[0], setDepartmentList = _useState6[1]; var _useState7 = (0,react.useState)([]), _useState8 = slicedToArray_default()(_useState7, 2), selectDepartmentList = _useState8[0], setSelectDepartmentList = _useState8[1]; (0,react.useEffect)(function () { var _videoDetail$detail, _videoDetail$detail$v; var videoSchool = ((_videoDetail$detail = videoDetail.detail) === null || _videoDetail$detail === void 0 ? void 0 : (_videoDetail$detail$v = _videoDetail$detail.video_item) === null || _videoDetail$detail$v === void 0 ? void 0 : _videoDetail$detail$v.schools) || []; setRadioValue(videoSchool !== null && videoSchool !== void 0 && videoSchool.length ? 1 : 0); setSelectDepartmentList(videoSchool); }, [(_videoDetail$detail2 = videoDetail.detail) === null || _videoDetail$detail2 === void 0 ? void 0 : (_videoDetail$detail2$ = _videoDetail$detail2.video_item) === null || _videoDetail$detail2$ === void 0 ? void 0 : _videoDetail$detail2$.schools]); var handleGetDepartments = /*#__PURE__*/function () { var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(value) { var res; return regeneratorRuntime_default()().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 2; return (0,shixuns/* getDepartments */.Ql)({ q: value }); case 2: res = _context.sent; if (res) { setDepartmentList(res.shools_name || []); } case 4: case "end": return _context.stop(); } }, _callee); })); return function handleGetDepartments(_x) { return _ref2.apply(this, arguments); }; }(); var handleSelectDepartment = function handleSelectDepartment(value) { if (selectDepartmentList.includes(value)) { message/* default.info */.ZP.info("请勿指定相同的单位"); return; } setDepartmentValue(''); setSelectDepartmentList([].concat(toConsumableArray_default()(selectDepartmentList), [value])); }; var handleOk = /*#__PURE__*/function () { var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() { var res; return regeneratorRuntime_default()().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: if (!(radioValue === 1 && !(selectDepartmentList !== null && selectDepartmentList !== void 0 && selectDepartmentList.length))) { _context2.next = 2; break; } return _context2.abrupt("return", message/* default.info */.ZP.info('请选择指定单位公开')); case 2: _context2.next = 4; return (0,video/* addSchool */.ni)(objectSpread2_default()(objectSpread2_default()({}, queryParams), {}, { id: params.videoId, schools: radioValue === 0 ? [] : selectDepartmentList, is_public: radioValue === 2 ? false : true })); case 4: res = _context2.sent; if ((res === null || res === void 0 ? void 0 : res.status) === 0) { message/* default.success */.ZP.success('设置成功'); handleCancel(); } case 6: case "end": return _context2.stop(); } }, _callee2); })); return function handleOk() { return _ref3.apply(this, arguments); }; }(); var handleCancel = function handleCancel() { onClose(); dispatch({ type: "videoDetail/getVideoDetail", payload: objectSpread2_default()(objectSpread2_default()({}, queryParams), {}, { id: params.videoId }) }); }; return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, { centered: true, maskClosable: false, title: '权限设置', width: 530, className: EditAuthModalmodules.modal, open: visible, onOk: handleOk, onCancel: handleCancel, children: /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, { children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(es_radio/* default.Group */.ZP.Group, { value: radioValue, onChange: function onChange(e) { return setRadioValue(e.target.value); }, children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(es_radio/* default */.ZP, { value: 0, children: ["\u5BF9\u6240\u6709\u5355\u4F4D\u516C\u5F00", /*#__PURE__*/(0,jsx_runtime.jsx)("span", { children: "\uFF08\u9009\u4E2D\u540E\uFF0C\u5BF9\u6240\u6709\u7528\u6237\u53EF\u89C1\uFF09" })] }), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_radio/* default */.ZP, { value: 1, children: ["\u5BF9\u6307\u5B9A\u5355\u4F4D\u516C\u5F00", /*#__PURE__*/(0,jsx_runtime.jsx)("span", { children: "\uFF08\u9009\u4E2D\u540E\uFF0C\u4EC5\u5BF9\u4E0B\u65B9\u6307\u5B9A\u5355\u4F4D\u7528\u6237\u53EF\u89C1\uFF09" })] }), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_radio/* default */.ZP, { value: 2, children: ["\u4E0D\u516C\u5F00", /*#__PURE__*/(0,jsx_runtime.jsx)("span", { children: "\uFF08\u9009\u4E2D\u540E\uFF0C\u5BF9\u6240\u6709\u7528\u6237\u4E0D\u53EF\u89C1\uFF09" })] })] }), radioValue === 1 && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "mt10", children: /*#__PURE__*/(0,jsx_runtime.jsx)(auto_complete/* default */.Z, { showSearch: true, className: EditAuthModalmodules.selectSchool, placeholder: "\u8BF7\u8F93\u5165\u5E76\u9009\u62E9\u5355\u4F4D\u540D\u79F0", value: departmentValue, onChange: function onChange(value) { setDepartmentValue(value); handleGetDepartments(value); }, onSelect: handleSelectDepartment, options: departmentList === null || departmentList === void 0 ? void 0 : departmentList.map(function (item) { return { value: item }; }) }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "mt10", children: selectDepartmentList === null || selectDepartmentList === void 0 ? void 0 : selectDepartmentList.map(function (item, i) { return /*#__PURE__*/(0,jsx_runtime.jsx)(badge/* default */.Z, { count: /*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: EditAuthModalmodules["delete"], onClick: function onClick() { return setSelectDepartmentList(selectDepartmentList.filter(function (val) { return val !== item; })); }, children: "x" }), className: "mt10 mr20 current", children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, { type: "primary", ghost: true, children: item }) }, i); }) })] })] }) }); }; /* harmony default export */ var components_EditAuthModal = (EditAuthModal); ;// CONCATENATED MODULE: ./src/pages/Video/Detail/components/Banner/index.tsx var Banner = function Banner(_ref) { var user = _ref.user, videoDetail = _ref.videoDetail, dispatch = _ref.dispatch; var queryParams = videoDetail.queryParams; var _videoDetail$queryPar = videoDetail.queryParams, subject_id = _videoDetail$queryPar.subject_id, videoId = _videoDetail$queryPar.videoId; var params = { videoId: videoId }; var _useState = (0,react.useState)(), _useState2 = slicedToArray_default()(_useState, 2), visibleVideoModal = _useState2[0], setVisibleVideoModal = _useState2[1]; var _useState3 = (0,react.useState)(), _useState4 = slicedToArray_default()(_useState3, 2), editData = _useState4[0], setEditData = _useState4[1]; var _useState5 = (0,react.useState)(false), _useState6 = slicedToArray_default()(_useState5, 2), visibleEditAuth = _useState6[0], setVisibleEditAuth = _useState6[1]; var _ref2 = videoDetail.detail || {}, video_item = _ref2.video_item; var _ref3 = videoDetail || {}, stages = _ref3.stages; var handleSendToClass = function handleSendToClass() { dispatch({ type: 'videoDetail/setActionTabs', payload: { key: 'Banner-SendToClass' } }); }; var handleEdit = /*#__PURE__*/function () { var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() { var _user$userInfo, _user$userInfo2; var _items$, datas, items, res; return regeneratorRuntime_default()().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: if (!((_user$userInfo = user.userInfo) !== null && _user$userInfo !== void 0 && _user$userInfo.admin || (_user$userInfo2 = user.userInfo) !== null && _user$userInfo2 !== void 0 && _user$userInfo2.is_teacher && (0,verifyLogin/* handleProfessionalCertificationModal */.O5)())) { _context.next = 9; break; } datas = []; stages.map(function (item) { item.items.map(function (ite) { datas.push(ite); }); }); items = datas.filter(function (item) { return item.id === video_item.id; }); // let items=stages.filter((item:any)=>item?.items.filter((ite:any)=>ite.id===video_item.id)) // console.log('----',items); // return _context.next = 6; return (0,video/* getVideoEditDatas */.TJ)(objectSpread2_default()({ id: items === null || items === void 0 ? void 0 : (_items$ = items[0]) === null || _items$ === void 0 ? void 0 : _items$.stage_item_id }, queryParams)); case 6: res = _context.sent; setEditData(res); setVisibleVideoModal(true); case 9: case "end": return _context.stop(); } }, _callee); })); return function handleEdit() { return _ref4.apply(this, arguments); }; }(); var handleUpdateVideoOk = /*#__PURE__*/function () { var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(data) { var _editData$video_item, _editData$video_item2; var res; return regeneratorRuntime_default()().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return (0,paths/* upCoursewareToStage */.M2)(objectSpread2_default()(objectSpread2_default()({ id: editData === null || editData === void 0 ? void 0 : editData.id }, data), {}, { video_id: (data === null || data === void 0 ? void 0 : data.video_id) || (editData === null || editData === void 0 ? void 0 : (_editData$video_item = editData.video_item) === null || _editData$video_item === void 0 ? void 0 : _editData$video_item.video_id), link: (data === null || data === void 0 ? void 0 : data.link) || (editData === null || editData === void 0 ? void 0 : (_editData$video_item2 = editData.video_item) === null || _editData$video_item2 === void 0 ? void 0 : _editData$video_item2.link) })); case 2: res = _context2.sent; // const res = await updateVideo({ // ...data, id: params.videoId, // ...queryParams // }); if (res) { setVisibleVideoModal(false); dispatch({ type: "videoDetail/getVideoDetail", payload: objectSpread2_default()({ id: params.videoId }, queryParams) }); } return _context2.abrupt("return", res); case 5: case "end": return _context2.stop(); } }, _callee2); })); return function handleUpdateVideoOk(_x) { return _ref5.apply(this, arguments); }; }(); return /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", { className: Bannermodules.banner, children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("aside", { className: Bannermodules.wrap, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: Bannermodules.title, children: video_item === null || video_item === void 0 ? void 0 : video_item.name }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Bannermodules.contentWrap, children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", { className: "font14 c-white", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: "mr10", children: "\u5B66\u4E60\u4EBA\u6570\uFF1A" }), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { children: (video_item === null || video_item === void 0 ? void 0 : video_item.study_video_items_count) || 0 }), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: "ml100 mr10", children: "\u5B66\u5458\u8BC4\u5206\uFF1A" }), /*#__PURE__*/(0,jsx_runtime.jsx)(rate/* default */.Z, { allowHalf: true, value: (0,util/* formatRate */.og)(video_item === null || video_item === void 0 ? void 0 : video_item.star), disabled: true, className: Bannermodules.rating })] }) })] }), /*#__PURE__*/(0,jsx_runtime.jsx)(components_SendToClassModal, {}), /*#__PURE__*/(0,jsx_runtime.jsx)(AddVideoModal/* default */.Z, { editData: editData, visible: visibleVideoModal, onCancel: function onCancel() { return setVisibleVideoModal(false); }, onOk: handleUpdateVideoOk, queryParams: queryParams }), /*#__PURE__*/(0,jsx_runtime.jsx)(components_EditAuthModal, { dispatch: dispatch, videoDetail: videoDetail, visible: visibleEditAuth, onClose: function onClose() { return setVisibleEditAuth(false); } })] }); }; /* harmony default export */ var components_Banner = ((0,_umi_production_exports.connect)(function (_ref6) { var user = _ref6.user, videoDetail = _ref6.videoDetail; return { user: user, videoDetail: videoDetail }; })(Banner)); // EXTERNAL MODULE: ./node_modules/antd/es/empty/style/index.js + 1 modules var empty_style = __webpack_require__(81151); // EXTERNAL MODULE: ./node_modules/antd/es/empty/index.js + 2 modules var empty = __webpack_require__(62986); // EXTERNAL MODULE: ./node_modules/antd/es/checkbox/style/index.js + 1 modules var checkbox_style = __webpack_require__(82000); // EXTERNAL MODULE: ./node_modules/antd/es/checkbox/index.js + 2 modules var es_checkbox = __webpack_require__(32808); // EXTERNAL MODULE: ./node_modules/js-base64/base64.js var base64 = __webpack_require__(19575); // EXTERNAL MODULE: ./src/components/Video/Play/index.jsx + 1 modules var Play = __webpack_require__(8423); // EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx + 1 modules var RenderHtml = __webpack_require__(12768); ;// CONCATENATED MODULE: ./src/pages/Video/Detail/components/Content/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var Contentmodules = ({"contentWrap":"contentWrap___xMJQi","footer":"footer___CLzrT","radioGroup":"radioGroup___RT1dL","wrap":"wrap___QZGSJ","introName":"introName___m17tA","rating":"rating___MXLBr","modalRating":"modalRating___aluwj"}); // EXTERNAL MODULE: ./src/components/useInterval.tsx var useInterval = __webpack_require__(61891); ;// CONCATENATED MODULE: ./src/pages/Video/Detail/components/Content/index.tsx var Content_excluded = ["videoDetail", "globalSetting", "loading", "dispatch"]; var Content = function Content(_ref) { var videoDetail = _ref.videoDetail, globalSetting = _ref.globalSetting, loading = _ref.loading, dispatch = _ref.dispatch, props = objectWithoutProperties_default()(_ref, Content_excluded); // const params = useParams(); // const location = useLocation() as any; var queryParams = videoDetail.queryParams, selectParams = videoDetail.selectParams, videoList = videoDetail.videoList; var subject_id = queryParams.subject_id, videoId = queryParams.videoId; var checkBoxValue = selectParams.checkBoxValue, radioValue = selectParams.radioValue; var params = { videoId: videoId }; var location = { query: queryParams }; var videoRef = (0,react.useRef)(); var startVideoRef = (0,react.useRef)(); var scoreRef = (0,react.useRef)(); var timeRef = (0,react.useRef)(5); var _ref2 = videoDetail.detail || {}, video_item = _ref2.video_item; (0,useInterval/* default */.Z)( /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() { return regeneratorRuntime_default()().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: if (!startVideoRef.current) { _context.next = 5; break; } console.log("videoRef lastUpdatedTime: ", videoRef.current.getLastUpdatedTime()); console.log(videoRef.current); // 间隔3秒 记录播放时间 _context.next = 5; return handleViewVideo(); case 5: case "end": return _context.stop(); } }, _callee); })), timeRef.current * 1000); var handleViewVideo = function handleViewVideo() { var isEnd = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; var query = isEnd ? { is_f: 1 } : {}; return (0,video/* viewVideo */.DH)(objectSpread2_default()(objectSpread2_default()({}, query), { id: params.videoId, point: videoRef.current.getLastUpdatedTime(), total: videoRef.current.getDuration() })); }; var handlLogWatchHistory = function handlLogWatchHistory(query) { if (query.ed === "1") { startVideoRef.current = false; handleViewVideo(true); } if (!startVideoRef.current && !query.ed) { startVideoRef.current = true; timeRef.current = videoRef.current.getDuration() <= 5 ? 1 : 5; handleViewVideo(); } return dispatch({ type: 'userDetail/logWatchHistory', payload: query }); }; var handlePause = function handlePause() { startVideoRef.current = false; }; var handlePlay = function handlePlay() { // if () { // Modal.info({ // centered: true, // width: 400, // okText: '知道啦', // icon: null, // content:
当前视频暂未公开,敬请期待
// }); // return; // } startVideoRef.current = true; }; var handleChangeScore = function handleChangeScore() { scoreRef.current = 5; modal/* default.confirm */.Z.confirm({ width: 600, centered: true, okText: '确定', cancelText: '取消', title: '请给本视频评分', content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "tc font14", children: /*#__PURE__*/(0,jsx_runtime.jsx)(rate/* default */.Z, { defaultValue: scoreRef.current, onChange: function onChange(value) { return scoreRef.current = value; }, className: Contentmodules.modalRating }) }), onOk: function () { var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() { var res, _getJsonFromUrl, course_id; return regeneratorRuntime_default()().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return (0,video/* starVideo */.jK)({ id: params.videoId, star: scoreRef.current }); case 2: res = _context2.sent; if (res.status === 0) { _getJsonFromUrl = (0,util/* getJsonFromUrl */.oP)(), course_id = _getJsonFromUrl.course_id; dispatch({ type: "videoDetail/getVideoDetail", payload: { id: params.videoId, videoId: params.videoId, course_id: course_id } }); } case 4: case "end": return _context2.stop(); } }, _callee2); })); function onOk() { return _onOk.apply(this, arguments); } return onOk; }() }); }; var handlePlayEnded = function handlePlayEnded(el) { // const newVideoList=JSON.parse(JSON.stringify(videoList)); var newVideoList = window.filterVideoSign; var currentVideoIndex = newVideoList.findIndex(function (v) { return v.id === videoId; }); var stopAutoPlay = currentVideoIndex === newVideoList.length - 1; if (stopAutoPlay) return; var nextVideoId = newVideoList[currentVideoIndex + 1].id; var isCanView = newVideoList[currentVideoIndex + 1].can_view; var openLink = newVideoList[currentVideoIndex + 1].link; var ispublic = newVideoList[currentVideoIndex + 1].is_public; if (window.checkBoxValue) { if (openLink) { window.open(openLink); return; } if (!isCanView) { modal/* default.info */.Z.info({ centered: true, width: 400, okText: '知道啦', icon: null, content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "tc font14", children: "\u4E0B\u4E00\u6761\u89C6\u9891\u4E3A\u521B\u5EFA\u8005\u6240\u5C5E\u5355\u4F4D\u5185\u90E8\u6559\u5B66\u8D44\u6599\uFF0C\u5916\u5355\u4F4D\u7528\u6237\u65E0\u89C2\u770B\u6743\u9650" }) }); return; } if (!ispublic) { modal/* default.info */.Z.info({ centered: true, width: 400, okText: '知道啦', icon: null, content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "tc font14", children: "\u4E0B\u4E00\u6761\u89C6\u9891\u6682\u672A\u516C\u5F00\uFF0C\u656C\u8BF7\u671F\u5F85" }) }); return; } dispatch({ type: 'videoDetail/handleListItemClick', payload: { videoId: nextVideoId } }); window.videoTimer = setTimeout(function () { el.current.play(); }, 2000); } }; var _onChange = function onChange(type, e) { if (type === 'checkBox') { var checked = e.target.checked; window.checkBoxValue = checked; //全局标记使用,勿删 dispatch({ type: "videoDetail/setSelectValue", payload: { radioValue: radioValue, checkBoxValue: checked } }); return; } dispatch({ type: "videoDetail/setSelectValue", payload: { checkBoxValue: checkBoxValue, radioValue: e.target.value } }); }; var stopNextVideo = function stopNextVideo() { var currentVideoIndex = videoList.findIndex(function (v) { return v.id === videoId; }); var stopAutoPlay = currentVideoIndex === videoList.length - 1; return !stopAutoPlay ? /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, { onChange: function onChange(v) { _onChange('checkBox', v); }, checked: checkBoxValue, children: "\u81EA\u52A8\u64AD\u653E\u4E0B\u4E00\u4E2A\u89C6\u9891" }) : /*#__PURE__*/(0,jsx_runtime.jsx)("div", { children: "\u5F53\u524D\u5DF2\u662F\u6700\u540E\u4E00\u4E2A\u89C6\u9891" }); }; return /*#__PURE__*/(0,jsx_runtime.jsx)("aside", { className: Contentmodules.contentWrap, children: /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", { className: Contentmodules.wrap, children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("header", { children: [(video_item === null || video_item === void 0 ? void 0 : video_item.description) && /*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: Contentmodules.introName, children: "\u7B80\u4ECB" }), (0,util/* isUnOrNull */.W)(video_item === null || video_item === void 0 ? void 0 : video_item.my_star) ? /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, { type: "primary", ghost: true, onClick: handleChangeScore, children: "\u8BC4\u5206" }) : /*#__PURE__*/(0,jsx_runtime.jsxs)("span", { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: "ml100 mr10 font14", children: "\u6211\u7684\u8BC4\u5206\uFF1A" }), /*#__PURE__*/(0,jsx_runtime.jsx)(rate/* default */.Z, { value: video_item === null || video_item === void 0 ? void 0 : video_item.my_star, disabled: true, className: Contentmodules.rating })] })] }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "mt20", children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, { value: (video_item === null || video_item === void 0 ? void 0 : video_item.description) || '' }) }), !(video_item !== null && video_item !== void 0 && video_item.can_edit) && !(video_item !== null && video_item !== void 0 && video_item.is_public) ? /*#__PURE__*/(0,jsx_runtime.jsx)(empty/* default */.Z, { description: "\u5F53\u524D\u89C6\u9891\u6682\u672A\u516C\u5F00\uFF0C\u656C\u8BF7\u671F\u5F85" }) : /*#__PURE__*/(0,jsx_runtime.jsx)(Play/* default */.Z, { ref: videoRef, startTime: video_item === null || video_item === void 0 ? void 0 : video_item.last_point, src: video_item !== null && video_item !== void 0 && video_item.is_link ? video_item === null || video_item === void 0 ? void 0 : video_item.link : (video_item === null || video_item === void 0 ? void 0 : video_item.play_url) && base64.Base64.decode(video_item === null || video_item === void 0 ? void 0 : video_item.play_url), videoId: video_item === null || video_item === void 0 ? void 0 : video_item.video_id, logWatchHistory: handlLogWatchHistory, handlePause: handlePause, handlePlay: handlePlay, videoSpeed: radioValue, handlePlayEnded: handlePlayEnded, toLog: function toLog() {} }), !(video_item !== null && video_item !== void 0 && video_item.can_edit) && !(video_item !== null && video_item !== void 0 && video_item.is_public) ? null : /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Contentmodules.footer, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Contentmodules.checkBox, children: stopNextVideo() }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Contentmodules.radioGroup, children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_radio/* default.Group */.ZP.Group, { onChange: function onChange(v) { _onChange('radio', v); }, value: radioValue, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, { value: 1, children: "1.0X" }), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, { value: 1.5, children: "1.5X" }), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, { value: 2, children: "2.0X" })] }) })] })] }) }); }; /* harmony default export */ var components_Content = ((0,_umi_production_exports.connect)(function (_ref4) { var videoDetail = _ref4.videoDetail, loading = _ref4.loading, globalSetting = _ref4.globalSetting; return { videoDetail: videoDetail, globalSetting: globalSetting, loading: loading }; })(Content)); ;// CONCATENATED MODULE: ./src/pages/Video/Detail/components/List/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var Listmodules = ({"flex_box_center":"flex_box_center___yWqSL","flex_space_between":"flex_space_between___LgFmv","flex_box_vertical_center":"flex_box_vertical_center____lt6U","flex_box_center_end":"flex_box_center_end___UqkaD","flex_box_column":"flex_box_column___V8XLF","list":"list___8tjfT","box":"box___AL3Tl","title":"title___IVfkQ","gray":"gray___RnyYk","brght":"brght___EWRNa","s1":"s1___dPBQg","s2":"s2___cDAcO","s3":"s3___SRBBG","active":"active___hsNCX","line":"line___Qbmt5"}); // EXTERNAL MODULE: ./src/service/exercise.ts var exercise = __webpack_require__(51412); // EXTERNAL MODULE: ./src/utils/env.ts + 1 modules var env = __webpack_require__(59758); ;// CONCATENATED MODULE: ./src/pages/Video/Detail/components/List/index.tsx var List_excluded = ["dispatch", "pathsDetail", "videoDetail", "user"]; var listType = [{ name: '实践项目', type: 'Shixun', icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "iconfont icon-shixun2 font20" }) }, { name: '视频项目', type: 'VideoItem', icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "iconfont icon-shipin font20" }) }, { name: '教学课件', type: 'Attachment', icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "iconfont icon-jiaoxueanli font20" }) }, { name: '空目录', type: 'StageCatalog', icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "iconfont icon-kongbai font20" }) }]; var List = function List(_ref) { var dispatch = _ref.dispatch, pathsDetail = _ref.pathsDetail, videoDetail = _ref.videoDetail, user = _ref.user, props = objectWithoutProperties_default()(_ref, List_excluded); var queryParams = videoDetail.queryParams, stages = videoDetail.stages, cust_seq = videoDetail.cust_seq, active = videoDetail.active; var subject_id = queryParams.subject_id, course_id = queryParams.course_id; var _useSearchParams = (0,_umi_production_exports.useSearchParams)(), _useSearchParams2 = slicedToArray_default()(_useSearchParams, 1), searchParams = _useSearchParams2[0]; (0,react.useEffect)(function () { if (subject_id) { dispatch({ type: 'videoDetail/getStageData', payload: { subject_id: subject_id } }); } else { dispatch({ type: 'videoDetail/getCourseStageData', payload: { coursesId: course_id } }); } }, []); //实训方法 var toShixun = /*#__PURE__*/function () { var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(id, is_jupyter) { var execRes; return regeneratorRuntime_default()().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: dispatch({ type: 'globalSetting/setGlobalLoading', payload: { show: true, text: '正在进入实训,请稍后...' } }); if (!is_jupyter) { _context.next = 7; break; } _context.next = 4; return (0,shixuns/* execJupyter */.BK)({ id: id }); case 4: _context.t0 = _context.sent; _context.next = 10; break; case 7: _context.next = 9; return (0,shixuns/* execShixun */.Ir)({ id: id }); case 9: _context.t0 = _context.sent; case 10: execRes = _context.t0; dispatch({ type: 'globalSetting/setGlobalLoading', payload: { show: false, text: '' } }); if (!(execRes !== null && execRes !== void 0 && execRes.game_identifier || execRes !== null && execRes !== void 0 && execRes.identifier)) { _context.next = 15; break; } (0,util/* openNewWindow */.xg)(is_jupyter ? "/tasks/".concat(execRes === null || execRes === void 0 ? void 0 : execRes.identifier, "/jupyter") : "/tasks/".concat(execRes.game_identifier)); return _context.abrupt("return"); case 15: if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 2) { handleResetGame(execRes === null || execRes === void 0 ? void 0 : execRes.message); } else if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 3) { handleInBeta(execRes === null || execRes === void 0 ? void 0 : execRes.message); } case 16: case "end": return _context.stop(); } }, _callee); })); return function toShixun(_x, _x2) { return _ref2.apply(this, arguments); }; }(); var handleInBeta = function handleInBeta(message) { modal/* default.confirm */.Z.confirm({ centered: true, title: '提示', okText: '确定', cancelText: '取消', content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "tc font16", children: ["\u76EE\u524D\u8BE5\u5B9E\u8DF5\u9879\u76EE\u5C1A\u5728\u5185\u6D4B\u4E2D\uFF0C\u5C06\u4E8E", message, "\u4E4B\u540E\u5F00\u653E\uFF0C\u8C22\u8C22\uFF01"] }) }); }; var handleResetGame = function handleResetGame(url) { var _url; url = (_url = url) !== null && _url !== void 0 && _url.includes('.json') ? url : "".concat(url, ".json"); modal/* default.confirm */.Z.confirm({ centered: true, title: '提示', okText: '确定', cancelText: '取消', content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "tc font16", children: "\u5B9E\u8BAD\u5DF2\u7ECF\u66F4\u65B0\u4E86\uFF0C\u6B63\u5728\u4E3A\u60A8\u91CD\u7F6E!" }), onOk: function () { var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() { var res, execRes; return regeneratorRuntime_default()().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return (0,exercise/* resetMyGame */.$Q)({ url: url }); case 2: res = _context2.sent; if (res) { _context2.next = 5; break; } return _context2.abrupt("return"); case 5: message/* default.success */.ZP.success('重置成功,正在进入实训!'); _context2.next = 8; return (0,shixuns/* execShixun */.Ir)({ id: res.shixun_identifier }); case 8: execRes = _context2.sent; if (!(execRes !== null && execRes !== void 0 && execRes.game_identifier)) { _context2.next = 12; break; } (0,util/* openNewWindow */.xg)("/tasks/".concat(execRes.game_identifier)); return _context2.abrupt("return"); case 12: if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 2) { handleResetGame(execRes === null || execRes === void 0 ? void 0 : execRes.message); } else if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 3) { handleInBeta(execRes === null || execRes === void 0 ? void 0 : execRes.message); } case 13: case "end": return _context2.stop(); } }, _callee2); })); function onOk() { return _onOk.apply(this, arguments); } return onOk; }() }); }; //绑定点击事件 var handleList = function handleList(item) { if ((item === null || item === void 0 ? void 0 : item.item_type) === 'StageCatalog') { return; } clearTimeout(window.videoTimer); var id = item.id, item_type = item.item_type, identifier = item.identifier, is_jupyter = item.is_jupyter, url = item.url, link = item.link; if (item_type === 'VideoItem' && !link) { var _user$userInfo, _user$userInfo2; if (!((_user$userInfo = user.userInfo) !== null && _user$userInfo !== void 0 && _user$userInfo.admin) && !((_user$userInfo2 = user.userInfo) !== null && _user$userInfo2 !== void 0 && _user$userInfo2.business) && !item.can_view) { modal/* default.info */.Z.info({ centered: true, width: 400, okText: '知道啦', icon: null, content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "tc font14", children: "\u5F53\u524D\u89C6\u9891\u4E3A\u521B\u5EFA\u8005\u6240\u5C5E\u5355\u4F4D\u5185\u90E8\u6559\u5B66\u8D44\u6599\uFF0C\u5916\u5355\u4F4D\u7528\u6237\u65E0\u89C2\u770B\u6743\u9650" }) }); return; } dispatch({ type: 'videoDetail/handleListItemClick', payload: { videoId: id } }); dispatch({ type: 'videoDetail/getVideoDetail', payload: objectSpread2_default()(objectSpread2_default()({ id: id }, queryParams), {}, { videoId: id }), callback: function callback(res) { if (res && res.video_item && !res.video_item.can_edit && !item.is_public) { modal/* default.info */.Z.info({ centered: true, width: 400, okText: '知道啦', icon: null, content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "tc font14", children: "\u5F53\u524D\u89C6\u9891\u6682\u672A\u516C\u5F00\uFF0C\u656C\u8BF7\u671F\u5F85" }) }); return; } } }); return; } if (item_type === 'VideoItem' && !!link) { if (item.link) { (0,video/* viewVideo */.DH)({ is_f: 1, id: item.id, point: 0, total: 0 }); } window.open(link); return; } if (item_type === 'Shixun') { toShixun(identifier, is_jupyter); return; } if (item_type === 'Attachment') { var _item$name, _item$name2; var type = item === null || item === void 0 ? void 0 : (_item$name = item.name) === null || _item$name === void 0 ? void 0 : _item$name.substr(item === null || item === void 0 ? void 0 : (_item$name2 = item.name) === null || _item$name2 === void 0 ? void 0 : _item$name2.lastIndexOf('.')); if (type.toUpperCase() === ".ZIP") { var _pathsDetail$detail; if (!((_pathsDetail$detail = pathsDetail.detail) !== null && _pathsDetail$detail !== void 0 && _pathsDetail$detail.allow_download)) { message/* default.info */.ZP.info('教学课件不支持下载'); return; } (0,util/* downLoadFile */.FH)(item.name, env/* default.API_SERVER */.Z.API_SERVER + item.url); return; } else { dispatch({ type: 'videoDetail/handleListItemClick', payload: { attachmentId: id } }); return; } } window.open(env/* default.IMG_SERVER */.Z.IMG_SERVER + url); }; //转换中文 var toChinesNum = function toChinesNum(num) { var changeNum = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']; //changeNum[0] = "零" var unit = ['', '十', '百', '千', '万']; num = parseInt(num); var getWan = function getWan(temp) { var strArr = temp.toString().split('').reverse(); var newNum = ''; for (var i = 0; i < strArr.length; i++) { newNum = (i == 0 && strArr[i] == 0 ? '' : i > 0 && strArr[i] == 0 && strArr[i - 1] == 0 ? '' : changeNum[strArr[i]] + (strArr[i] == 0 ? unit[0] : unit[i])) + newNum; } return newNum; }; var overWan = Math.floor(num / 10000); var noWan = num % 10000; if (noWan.toString().length < 4) noWan = '0' + noWan; return overWan ? getWan(overWan) + '万' + getWan(noWan) : getWan(num); }; //渲染三级目录 var renderLThreeItem = function renderLThreeItem(item, itemIndex, eIndex, elIndex) { var _listType$find; var name = item.name, item_type = item.item_type, id = item.id; // if (item_type === 'StageCatalog') return; var serialNumber = "".concat(itemIndex + 1, "-").concat(eIndex + 1, "-").concat(elIndex + 1); var icon = (_listType$find = listType.find(function (e) { return e.type === item_type; })) === null || _listType$find === void 0 ? void 0 : _listType$find.icon; // const typeClassName = // item_type === 'VideoItem' ? styles.brght : styles.gray; var typeClassName = Listmodules.brght; var activeClassName = active.id === id ? "".concat(typeClassName, " ").concat(Listmodules.active) : typeClassName; return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { onClick: function onClick() { return handleList(item); }, className: activeClassName, style: { paddingLeft: 52 }, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: Listmodules.s1, children: icon }), !!cust_seq && /*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: Listmodules.s2, children: serialNumber }), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", { className: Listmodules.s3, children: ["\u203B ", name] })] }, serialNumber); }; //渲染列表 var renderListItem = function renderListItem(item, itemIndex, eIndex) { var _listType$find2; var name = item.name, item_type = item.item_type, id = item.id, children = item.children; // if (item_type === 'StageCatalog') return; var serialNumber = "".concat(itemIndex + 1, "-").concat(eIndex + 1); var icon = (_listType$find2 = listType.find(function (e) { return e.type === item_type; })) === null || _listType$find2 === void 0 ? void 0 : _listType$find2.icon; // const typeClassName = // item_type === 'VideoItem' ? styles.brght : styles.gray; var typeClassName = Listmodules.brght; var activeClassName = active.id === id ? "".concat(typeClassName, " ").concat(Listmodules.active) : typeClassName; return /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, { children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { onClick: function onClick() { return handleList(item); }, className: activeClassName, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: Listmodules.s1, children: icon }), !!cust_seq && /*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: Listmodules.s2, children: serialNumber }), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", { className: Listmodules.s3, children: ["\u203B ", name] })] }), !!children.length && children.map(function (el, elIndex) { return renderLThreeItem(el, itemIndex, eIndex, elIndex); })] }, serialNumber); }; //组件 return /*#__PURE__*/(0,jsx_runtime.jsx)("aside", { className: Listmodules.list, children: stages.map(function (item, itemIndex) { var stage_name = item.stage_name, _item$items = item.items, items = _item$items === void 0 ? [] : _item$items; return /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", { className: Listmodules.box, children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Listmodules.title, children: [toChinesNum(itemIndex + 1), "\u3001", stage_name] }), items.map(function (e, eIndex) { return renderListItem(e, itemIndex, eIndex); }), itemIndex !== stages.length - 1 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Listmodules.line })] }, itemIndex); }) }); }; /* harmony default export */ var components_List = ((0,_umi_production_exports.connect)(function (_ref3) { var user = _ref3.user, videoDetail = _ref3.videoDetail, loading = _ref3.loading, globalSetting = _ref3.globalSetting, pathsDetail = _ref3.pathsDetail; return { user: user, videoDetail: videoDetail, globalSetting: globalSetting, loading: loading, pathsDetail: pathsDetail }; })(List)); // EXTERNAL MODULE: ./src/components/PreviewAll/index.tsx + 1 modules var PreviewAll = __webpack_require__(36579); ;// CONCATENATED MODULE: ./src/pages/Video/Detail/[id].tsx var _id_excluded = ["videoDetail", "globalSetting", "loading", "pathsDetail", "dispatch"]; var formatQuery = function formatQuery(query) { // if (query?.subject_id) { // return { subject_id: query?.subject_id }; // } // if (query?.course_id) { // return { course_id: query.course_id }; // } var subject_id = query.subject_id; return { subject_id: subject_id, course_id: subject_id }; }; var VideoDetailPage = function VideoDetailPage(_ref) { var _pathsDetail$detail, _pathsDetail$detail2; var videoDetail = _ref.videoDetail, globalSetting = _ref.globalSetting, loading = _ref.loading, pathsDetail = _ref.pathsDetail, dispatch = _ref.dispatch, props = objectWithoutProperties_default()(_ref, _id_excluded); // const params = useParams(); // const location = useLocation() as any; var queryParams = videoDetail.queryParams, videoList = videoDetail.videoList, attachmentList = videoDetail.attachmentList, active = videoDetail.active; var subject_id = queryParams.subject_id, videoId = queryParams.videoId; var params = { videoId: videoId }; // const location = { query: queryParams }; (0,react.useEffect)(function () { if (active) { var item_type = active.item_type, id = active.id; if (item_type === 'VideoItem') { dispatch({ type: 'videoDetail/getVideoDetail', payload: objectSpread2_default()(objectSpread2_default()({}, queryParams), {}, { id: id }) }); } } }, [active.id]); console.log('---', active); (0,react.useEffect)(function () { if (subject_id) getdata(); }, []); function getdata() { return _getdata.apply(this, arguments); } function _getdata() { _getdata = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() { var res; return regeneratorRuntime_default()().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 2; return dispatch({ type: 'pathsDetail/getPathsDetail', payload: { id: subject_id } }); case 2: res = _context.sent; case 3: case "end": return _context.stop(); } }, _callee); })); return _getdata.apply(this, arguments); } (0,react.useEffect)(function () { var _videoDetail$detail, _videoDetail$detail$v; (0,util/* setDocumentTitle */.Dk)((_videoDetail$detail = videoDetail.detail) === null || _videoDetail$detail === void 0 ? void 0 : (_videoDetail$detail$v = _videoDetail$detail.video_item) === null || _videoDetail$detail$v === void 0 ? void 0 : _videoDetail$detail$v.name); }, [videoDetail]); var style = { width: 1200 }; if (active && active.item_type === 'Attachment' && active.content_type === 'application/pdf') { style = { // width: `calc(100vw - ((100vw - 1200px) / 2) - 15px)`, width: 1250, marginLeft: (document.body.clientWidth - 1200) / 2 }; } return /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, { spinning: false, children: /*#__PURE__*/(0,jsx_runtime.jsxs)("section", { className: Detailmodules.bg, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(components_Banner, {}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Detailmodules.container, style: style, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(components_List, {}), active && active.item_type === 'VideoItem' && /*#__PURE__*/(0,jsx_runtime.jsx)(components_Content, {}), active && active.item_type === 'Attachment' && active.content_type === 'application/pdf' && active.url && /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Detailmodules.widthle, children: /*#__PURE__*/(0,jsx_runtime.jsx)(PreviewAll/* default */.Z, { disabledDownload: !((_pathsDetail$detail = pathsDetail.detail) !== null && _pathsDetail$detail !== void 0 && _pathsDetail$detail.allow_download), type: 'pdf', data: env/* default.API_SERVER */.Z.API_SERVER + active.url, style: { position: 'absolute', zIndex: 1 } }) }), active && active.item_type === 'Attachment' && ['application/msword', 'application/vnd.ms-excel', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'].includes(active.content_type) && active.url && /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Detailmodules.widthle, children: /*#__PURE__*/(0,jsx_runtime.jsx)(PreviewAll/* default */.Z, { disabledDownload: !((_pathsDetail$detail2 = pathsDetail.detail) !== null && _pathsDetail$detail2 !== void 0 && _pathsDetail$detail2.allow_download), type: 'office', data: env/* default.API_SERVER */.Z.API_SERVER + active.url, style: { position: 'absolute', zIndex: 1 } }) }) // ] })] }) }); }; /* harmony default export */ var _id_ = ((0,_umi_production_exports.connect)(function (_ref2) { var videoDetail = _ref2.videoDetail, loading = _ref2.loading, globalSetting = _ref2.globalSetting, pathsDetail = _ref2.pathsDetail; return { videoDetail: videoDetail, globalSetting: globalSetting, loading: loading, pathsDetail: pathsDetail }; })(VideoDetailPage)); /***/ }), /***/ 53619: /*!*******************************************************************************!*\ !*** ./src/pages/Video/Detail/components/AddVideoModal/index.tsx + 1 modules ***! \*******************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ components_AddVideoModal; } }); // EXTERNAL MODULE: ./node_modules/antd/es/tag/style/index.js + 1 modules var style = __webpack_require__(71114); // EXTERNAL MODULE: ./node_modules/antd/es/tag/index.js + 1 modules var tag = __webpack_require__(20550); // EXTERNAL MODULE: ./node_modules/antd/es/progress/style/index.js + 1 modules var progress_style = __webpack_require__(57273); // EXTERNAL MODULE: ./node_modules/antd/es/progress/index.js + 10 modules var progress = __webpack_require__(97910); // 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/asyncToGenerator.js var asyncToGenerator = __webpack_require__(17156); var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator); // EXTERNAL MODULE: ./node_modules/antd/es/modal/style/index.js + 1 modules var modal_style = __webpack_require__(35611); // EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 7 modules var modal = __webpack_require__(85402); // EXTERNAL MODULE: ./node_modules/antd/es/message/style/index.js + 1 modules var message_style = __webpack_require__(14934); // EXTERNAL MODULE: ./node_modules/antd/es/message/index.js + 1 modules var message = __webpack_require__(12461); // EXTERNAL MODULE: ./node_modules/antd/es/form/style/index.js + 1 modules var form_style = __webpack_require__(75627); // EXTERNAL MODULE: ./node_modules/antd/es/form/index.js + 17 modules var es_form = __webpack_require__(51018); // 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/@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/toConsumableArray.js var toConsumableArray = __webpack_require__(861); var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray); // EXTERNAL MODULE: ./node_modules/antd/es/input/style/index.js + 1 modules var input_style = __webpack_require__(69463); // EXTERNAL MODULE: ./node_modules/antd/es/input/index.js + 5 modules var input = __webpack_require__(75008); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); // EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules var _umi_production_exports = __webpack_require__(89214); ;// CONCATENATED MODULE: ./src/pages/Video/Detail/components/AddVideoModal/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var AddVideoModalmodules = ({"modal":"modal___EKlPQ","uploadWrap":"uploadWrap___YGxav","upload":"upload___ouqG9","uploadLink":"uploadLink___nuif6","fileProgress":"fileProgress___tf4qy","fileCancel":"fileCancel___Bh3Wh","videoName":"videoName___Ra0NM","contentItem":"contentItem___zMdIq","tagsList-content":"tagsList-content___sDVph"}); // EXTERNAL MODULE: ./src/utils/aliyunUpload.ts var aliyunUpload = __webpack_require__(77320); // EXTERNAL MODULE: ./src/components/CoverUpload/index.tsx + 1 modules var CoverUpload = __webpack_require__(93899); // EXTERNAL MODULE: ./src/utils/authority.ts var authority = __webpack_require__(7); // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(85893); ;// CONCATENATED MODULE: ./src/pages/Video/Detail/components/AddVideoModal/index.tsx var TextArea = input/* default.TextArea */.Z.TextArea; var MAX_FILE_SIZE = 1024; var videoReducer = function videoReducer(state, action) { var _state$videoList; var _ref = action.payload || {}, _ref$uploadInfo = _ref.uploadInfo, uploadInfo = _ref$uploadInfo === void 0 ? {} : _ref$uploadInfo; 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, videoId: uploadInfo.videoId, loaded: uploadInfo.loaded || 0, title: '' }]) }; case 'removeVideo': return { videoList: state.videoList.filter(function (item) { return item.name !== action.payload.name; }) }; case 'removeAll': return { videoList: [] }; 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, videoId: 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; }) }; default: return { videoList: [] }; } }; var AddVideoModal = function AddVideoModal(_ref2) { var _user$userInfo2; var user = _ref2.user, globalSetting = _ref2.globalSetting, loading = _ref2.loading, dispatch = _ref2.dispatch, visible = _ref2.visible, editData = _ref2.editData, _ref2$onCancel = _ref2.onCancel, onCancel = _ref2$onCancel === void 0 ? function () {} : _ref2$onCancel, _ref2$onOk = _ref2.onOk, onOk = _ref2$onOk === void 0 ? function () {} : _ref2$onOk, _ref2$queryParams = _ref2.queryParams, queryParams = _ref2$queryParams === void 0 ? {} : _ref2$queryParams; var params = (0,_umi_production_exports.useParams)(); var _Form$useForm = es_form/* default.useForm */.Z.useForm(), _Form$useForm2 = slicedToArray_default()(_Form$useForm, 1), form = _Form$useForm2[0]; var _useReducer = (0,react.useReducer)(videoReducer, { videoList: [] }), _useReducer2 = slicedToArray_default()(_useReducer, 2), state = _useReducer2[0], stateDispatch = _useReducer2[1]; var _useState = (0,react.useState)(false), _useState2 = slicedToArray_default()(_useState, 2), isLoading = _useState2[0], setIsLoading = _useState2[1]; var uploader = (0,react.useRef)(); var _useState3 = (0,react.useState)(), _useState4 = slicedToArray_default()(_useState3, 2), link = _useState4[0], setLink = _useState4[1]; var _useState5 = (0,react.useState)(false), _useState6 = slicedToArray_default()(_useState5, 2), showLink = _useState6[0], setShowLink = _useState6[1]; var _useState7 = (0,react.useState)(false), _useState8 = slicedToArray_default()(_useState7, 2), isRequestLoading = _useState8[0], setIsRequestLoading = _useState8[1]; var sizeNum = (0,authority/* isSuperAdmins */.Ny)() ? 3 : 1; (0,react.useEffect)(function () { var _editData$tags, _editData$video; if (!visible) { return; } if (!editData) { return; } setShowLink(editData.is_link); setLink(editData.link); !editData.is_link && stateDispatch({ type: 'addVideo', payload: { uploadInfo: { file: { name: editData.filename || '' }, videoId: editData.video_id, loaded: 100 } } }); setTagslist((editData === null || editData === void 0 ? void 0 : (_editData$tags = editData.tags) === null || _editData$tags === void 0 ? void 0 : _editData$tags.map(function (item) { return item === null || item === void 0 ? void 0 : item.name; })) || []); form.setFieldsValue({ name: editData.name, description: editData.description, attachment_id: editData === null || editData === void 0 ? void 0 : (_editData$video = editData.video) === null || _editData$video === void 0 ? void 0 : _editData$video.attachment_id }); }, [editData, visible]); var clearInput = function clearInput() { var input = document.getElementById('fileUpload'); input.value = ''; }; var handleChangeUpload = function handleChangeUpload(e) { var _state$videoList2; setShowLink(false); var file = e.target.files[0]; if (!file) { clearInput(); return; } 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"); clearInput(); return; } if (file.size > MAX_FILE_SIZE * sizeNum * 1024 * 1024) { message/* default.info */.ZP.info("\u89C6\u9891\u5927\u5C0F\u8D85\u8FC7".concat(sizeNum, "G")); clearInput(); return; } if ((_state$videoList2 = state.videoList) !== null && _state$videoList2 !== void 0 && _state$videoList2.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: '提示', centered: true, okText: '确定', cancelText: '取消', content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "tc", children: ["\u60A8\u786E\u8BA4\u8981", isSuccess ? '删除' : '取消上传', "\u8BE5\u89C6\u9891\u5417\uFF1F"] }), onOk: function onOk() { clearInput(); stateDispatch({ type: 'removeVideo', payload: { name: name } }); } }); }; var handleUpload = function handleUpload(file) { var _user$userInfo; var userData = '{"Vod":{}}'; setIsLoading(true); if (uploader.current) { uploader.current.addFile(file, null, null, null, userData); return; } (0,aliyunUpload/* getUploader */.o)((_user$userInfo = user.userInfo) === null || _user$userInfo === void 0 ? void 0 : _user$userInfo.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 handleOk = /*#__PURE__*/function () { var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() { var _state$videoList3, _state$videoList4; var video, res; return regeneratorRuntime_default()().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 2; return form.validateFields(); case 2: if (!(!showLink && !((_state$videoList3 = state.videoList) !== null && _state$videoList3 !== void 0 && _state$videoList3.length) || showLink && !link)) { _context.next = 5; break; } message/* default.info */.ZP.info('请先上传视频或者添加外链'); return _context.abrupt("return"); case 5: setIsRequestLoading(true); video = showLink ? { link: link } : { video_id: (_state$videoList4 = state.videoList) === null || _state$videoList4 === void 0 ? void 0 : _state$videoList4[0].videoId }; _context.next = 9; return onOk(objectSpread2_default()(objectSpread2_default()(objectSpread2_default()({}, video), queryParams), { name: form.getFieldValue('name'), attachment_id: form.getFieldValue('attachment_id'), description: form.getFieldValue('description'), tags: form.getFieldValue('tag') // tags: tagsList, })); case 9: res = _context.sent; setIsRequestLoading(false); if (res.id) { handleClear(); } case 12: case "end": return _context.stop(); } }, _callee); })); return function handleOk() { return _ref3.apply(this, arguments); }; }(); var handleClear = function handleClear() { form.resetFields(); stateDispatch({ type: 'removeAll' }); setLink(null); setTagslist([]); setShowLink(null); }; var handleCancel = function handleCancel() { onCancel(); handleClear(); }; var renderContent = function renderContent() { var _state$videoList5, _state$videoList6, _state$videoList6$, _state$videoList7, _state$videoList7$, _state$videoList8, _state$videoList8$, _state$videoList9, _state$videoList9$, _state$videoList12, _state$videoList12$, _state$videoList13; return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, { children: [!showLink && !!((_state$videoList5 = state.videoList) !== null && _state$videoList5 !== void 0 && _state$videoList5.length) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: AddVideoModalmodules.fileProgress, children: [((_state$videoList6 = state.videoList) === null || _state$videoList6 === void 0 ? void 0 : (_state$videoList6$ = _state$videoList6[0]) === null || _state$videoList6$ === void 0 ? void 0 : _state$videoList6$.loaded) == 100 ? /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "".concat(AddVideoModalmodules.videoName, " font14"), children: (_state$videoList7 = state.videoList) === null || _state$videoList7 === void 0 ? void 0 : (_state$videoList7$ = _state$videoList7[0]) === null || _state$videoList7$ === void 0 ? void 0 : _state$videoList7$.name }) : /*#__PURE__*/(0,jsx_runtime.jsx)(progress/* default */.Z, { style: { width: '80%' }, percent: (_state$videoList8 = state.videoList) === null || _state$videoList8 === void 0 ? void 0 : (_state$videoList8$ = _state$videoList8[0]) === null || _state$videoList8$ === void 0 ? void 0 : _state$videoList8$.loaded, status: ((_state$videoList9 = state.videoList) === null || _state$videoList9 === void 0 ? void 0 : (_state$videoList9$ = _state$videoList9[0]) === null || _state$videoList9$ === void 0 ? void 0 : _state$videoList9$.loaded) == 100 ? "normal" : 'active' }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: AddVideoModalmodules.fileCancel, onClick: function onClick() { var _state$videoList10, _state$videoList10$, _state$videoList11, _state$videoList11$; return handleRemove((_state$videoList10 = state.videoList) === null || _state$videoList10 === void 0 ? void 0 : (_state$videoList10$ = _state$videoList10[0]) === null || _state$videoList10$ === void 0 ? void 0 : _state$videoList10$.name, ((_state$videoList11 = state.videoList) === null || _state$videoList11 === void 0 ? void 0 : (_state$videoList11$ = _state$videoList11[0]) === null || _state$videoList11$ === void 0 ? void 0 : _state$videoList11$.loaded) == 100); }, children: ((_state$videoList12 = state.videoList) === null || _state$videoList12 === void 0 ? void 0 : (_state$videoList12$ = _state$videoList12[0]) === null || _state$videoList12$ === void 0 ? void 0 : _state$videoList12$.loaded) === 100 ? '删除' : '取消上传' })] }), !((_state$videoList13 = state.videoList) !== null && _state$videoList13 !== void 0 && _state$videoList13.length) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: AddVideoModalmodules.uploadWrap, children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("label", { htmlFor: "fileUpload", className: AddVideoModalmodules.upload, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "iconfont icon-shangchuanshipin1 mr5" }), "\u4E0A\u4F20\u89C6\u9891"] }), /*#__PURE__*/(0,jsx_runtime.jsxs)("label", { className: "".concat(AddVideoModalmodules.upload, " ").concat(AddVideoModalmodules.uploadLink), onClick: function onClick() { return setShowLink(true); }, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "iconfont icon-lianjie1 mr5" }), "\u6DFB\u52A0\u5916\u94FE"] })] }), showLink && /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, { className: "mt5", placeholder: "\u8BF7\u8F93\u5165\u89C6\u9891\u94FE\u63A5", value: link, onChange: function onChange(e) { return setLink(e.target.value); } })] }); }; var _useState9 = (0,react.useState)([]), _useState10 = slicedToArray_default()(_useState9, 2), tagsList = _useState10[0], setTagslist = _useState10[1]; var addTag = function addTag(e) { if (e.key == 'Enter') { var tag = form.getFieldValue('tag'); form.setFieldsValue({ tag: '' }); if (!tag) { message/* default.info */.ZP.info('标签不能为空'); return; } if (tagsList.filter(function (item) { return item === tag; }).length > 0) { message/* default.info */.ZP.info('已有相同名称标签'); return; } tagsList.push(tag); setTagslist(toConsumableArray_default()(tagsList)); } }; var tagCloseFn = function tagCloseFn(e, str) { e.preventDefault(); // const index = tagsList.findIndex((key:string)=>str===str); // tagsList.splice(index,1) setTagslist(toConsumableArray_default()(tagsList.filter(function (item) { return item != str; }))); }; return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, { centered: true, maskClosable: false, title: editData ? '编辑视频项目' : '新建视频项目', width: 740, className: AddVideoModalmodules.modal, open: visible, confirmLoading: isRequestLoading, onOk: handleOk, onCancel: handleCancel, children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, { form: form, children: [/*#__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/*" }), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, { label: "\u9879\u76EE\u540D\u79F0", name: "name", rules: [{ required: true, message: "请输入项目名称" }], children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, { maxLength: 40, placeholder: "\u8BF7\u8F93\u5165\u4E0D\u8D85\u8FC740\u5B57\u7684\u9879\u76EE\u540D\u79F0" }) }), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, { label: "\u9879\u76EE\u5185\u5BB9", name: "content", className: AddVideoModalmodules.contentItem, children: renderContent() }), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, { name: "attachment_id", label: "\u4E0A\u4F20\u5C01\u9762\u56FE:", children: /*#__PURE__*/(0,jsx_runtime.jsx)(CoverUpload/* default */.Z, { getFileProgress: function getFileProgress(info) { if (info.file.status === 'uploading') { setIsRequestLoading(true); return; } if (info.file.status === 'done') { setIsRequestLoading(false); } } }) }), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, { label: "\u9879\u76EE\u7B80\u4ECB", name: "description", className: "ml8", children: /*#__PURE__*/(0,jsx_runtime.jsx)(TextArea, { rows: 5, maxLength: 800, placeholder: "\u8BF7\u8F93\u5165\u672C\u89C6\u9891\u7B80\u4ECB\uFF0C\u6700\u591A\u4E0D\u8D85\u8FC7800\u5B57" }) }), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, { label: "\u77E5\u8BC6\u6807\u7B7E", name: "tag", className: "ml8", children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, { onKeyUp: addTag }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: AddVideoModalmodules["tagsList-content"], children: tagsList.map(function (item, index) { return /*#__PURE__*/(0,jsx_runtime.jsx)(tag/* default */.Z, { closable: true, onClose: function onClose(e) { tagCloseFn(e, item); }, children: item }, index + item); }) }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "c-grey-999", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { children: "\u6CE8\u610F\uFF1A" }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { children: ["1\u3001\u4E0A\u4F20\u89C6\u9891\uFF0C\u5373\u8868\u793A\u60A8\u5DF2\u540C\u610F", /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, { to: "/users/".concat((_user$userInfo2 = user.userInfo) === null || _user$userInfo2 === void 0 ? void 0 : _user$userInfo2.login, "/videos/protocol"), target: "_blank", className: AddVideoModalmodules.colorBlue, children: "\u4E0A\u4F20\u5185\u5BB9\u534F\u8BAE" }), "\uFF0C\u4E0D\u5F97\u4E0A\u4F20\u672A\u7ECF\u4ED6\u4EBA\u6388\u6743\u7684\u4F5C\u54C1\uFF1B"] }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { children: ["2\u3001\u4E0D\u652F\u6301\u65AD\u70B9\u7EED\u4F20\uFF0C\u6587\u4EF6\u5927\u5C0F\u8BF7\u52FF\u8D85\u8FC7", sizeNum, "G\uFF1B"] }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { children: "3\u3001\u652F\u6301\u6587\u4EF6\u683C\u5F0F\uFF1Aavi\u3001flv\u3001f4v\u3001m4v\u3001mov\u3001mp4\u3001rmvb\u3001swf\u3001webm\u3001wmv\uFF1B" }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { children: "4\u3001\u5982\u679C\u89C6\u9891\u6765\u81EA\u4E8E\u5916\u90E8\u94FE\u63A5\uFF0C\u672C\u7F51\u7AD9\u4E0D\u63D0\u4F9B\u64AD\u653E\u9875\u9762\uFF0C\u65E0\u6CD5\u63D0\u4F9B\u7EDF\u8BA1\u6570\u636E\u3002" })] })] }) }); }; /* harmony default export */ var components_AddVideoModal = ((0,_umi_production_exports.connect)(function (_ref4) { var user = _ref4.user, loading = _ref4.loading, globalSetting = _ref4.globalSetting; return { user: user, globalSetting: globalSetting, loading: loading }; })(AddVideoModal)); /***/ }), /***/ 77320: /*!***********************************!*\ !*** ./src/utils/aliyunUpload.ts ***! \***********************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* 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); // } } /***/ }) }]);