|
|
"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<any>();
|
|
|
// 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<any>();
|
|
|
// 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: <div className="tc font14">当前视频暂未公开,敬请期待</div>
|
|
|
// });
|
|
|
// 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<any>();
|
|
|
// 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
|
|
|
}
|
|
|
})
|
|
|
})
|
|
|
|
|
|
// <Office url={active.url} />
|
|
|
]
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
|
|
|
/* 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);
|
|
|
// }
|
|
|
}
|
|
|
|
|
|
/***/ })
|
|
|
|
|
|
}]); |