You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/p__Classrooms__Lists__Video...

2952 lines
120 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[39332],{
/***/ 50662:
/*!********************************************************************************************************!*\
!*** ./node_modules/_@ant-design_icons@5.3.5@@ant-design/icons/es/icons/UploadOutlined.js + 1 modules ***!
\********************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ icons_UploadOutlined; }
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.24.1@@babel/runtime/helpers/esm/extends.js
var esm_extends = __webpack_require__(66820);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
;// CONCATENATED MODULE: ./node_modules/_@ant-design_icons-svg@4.4.2@@ant-design/icons-svg/es/asn/UploadOutlined.js
// This icon file is generated automatically.
var UploadOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z" } }] }, "name": "upload", "theme": "outlined" };
/* harmony default export */ var asn_UploadOutlined = (UploadOutlined);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.5@@ant-design/icons/es/components/AntdIcon.js + 3 modules
var AntdIcon = __webpack_require__(13814);
;// CONCATENATED MODULE: ./node_modules/_@ant-design_icons@5.3.5@@ant-design/icons/es/icons/UploadOutlined.js
// GENERATE BY ./scripts/generate.ts
// DON NOT EDIT IT MANUALLY
var UploadOutlined_UploadOutlined = function UploadOutlined(props, ref) {
return /*#__PURE__*/_react_17_0_2_react.createElement(AntdIcon/* default */.Z, (0,esm_extends/* default */.Z)({}, props, {
ref: ref,
icon: asn_UploadOutlined
}));
};
var RefIcon = /*#__PURE__*/_react_17_0_2_react.forwardRef(UploadOutlined_UploadOutlined);
if (false) {}
/* harmony default export */ var icons_UploadOutlined = (RefIcon);
/***/ }),
/***/ 27636:
/*!**********************************************************!*\
!*** ./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/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(79800);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
var es_button = __webpack_require__(3113);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
var message = __webpack_require__(8591);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/upload/index.js + 24 modules
var upload = __webpack_require__(33556);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.5@@ant-design/icons/es/icons/UploadOutlined.js + 1 modules
var UploadOutlined = __webpack_require__(50662);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.5@@ant-design/icons/es/icons/CloseCircleFilled.js + 1 modules
var CloseCircleFilled = __webpack_require__(6787);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(2367);
;// 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@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// 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_17_0_2_react.useState)(false),
_useState2 = slicedToArray_default()(_useState, 2),
imgLoading = _useState2[0],
setImgLoading = _useState2[1];
var uploadButton = /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
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 */.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$file3;
setImgLoading(false);
if (info.file.status === 'done' && ((_info$file = info.file) === null || _info$file === void 0 || (_info$file = _info$file.response) === null || _info$file === void 0 ? void 0 : _info$file.status) === -1) {
var _info$file2;
message/* default */.ZP.error((_info$file2 = info.file) === null || _info$file2 === void 0 || (_info$file2 = _info$file2.response) === null || _info$file2 === void 0 ? void 0 : _info$file2.message);
// onChange()
return;
}
onChange(info === null || info === void 0 || (_info$file3 = info.file) === null || _info$file3 === void 0 || (_info$file3 = _info$file3.response) === null || _info$file3 === void 0 ? void 0 : _info$file3.id);
}
};
return /*#__PURE__*/(0,jsx_runtime.jsx)(_react_17_0_2_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 */.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);
/***/ }),
/***/ 25348:
/*!*****************************************************************!*\
!*** ./src/pages/Classrooms/Lists/Video/index.tsx + 12 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 */ Video; }
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(7557);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(41498);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(82242);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(79800);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__(39647);
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 15 modules
var _umi_production_exports = __webpack_require__(58011);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/menu/index.js + 11 modules
var menu = __webpack_require__(20834);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/layout/index.js
var layout = __webpack_require__(44000);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules
var modal = __webpack_require__(43418);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/row/index.js
var row = __webpack_require__(95237);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
var tooltip = __webpack_require__(6848);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/spin/index.js + 1 modules
var spin = __webpack_require__(71418);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/pagination/index.js + 10 modules
var pagination = __webpack_require__(66786);
// EXTERNAL MODULE: ./src/utils/authority.ts
var authority = __webpack_require__(77971);
// EXTERNAL MODULE: ./src/components/NoData/index.tsx
var NoData = __webpack_require__(56971);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
var message = __webpack_require__(8591);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(56648);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/components/DelTasks.tsx
var DelShixun = function DelShixun(_ref) {
var classroomList = _ref.classroomList,
dispatch = _ref.dispatch,
cb = _ref.cb;
var params = (0,_umi_production_exports.useParams)();
params['id'] = params['coursesId'];
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
centered: true,
title: "\u63D0\u793A",
open: classroomList.actionTabs.key === '删除' ? true : false,
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
onOk: /*#__PURE__*/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 (0,fetch/* default */.ZP)("/api/courses/".concat(params.id, "/delete_course_video.json"), {
method: 'delete',
body: {
video_id: classroomList.actionTabs.data.link ? classroomList.actionTabs.data.id : classroomList.actionTabs.data.course_video_id,
is_link: classroomList.actionTabs.data.link ? true : ''
}
});
case 2:
res = _context.sent;
if (res.status === 0) {
message/* default */.ZP.success('删除成功');
dispatch({
type: 'classroomList/setActionTabs',
payload: {}
});
dispatch({
type: 'classroomList/setUpdateData',
payload: Math.random()
});
dispatch({
type: 'classroomList/getClassroomLeftMenus',
payload: {
id: params.coursesId
}
});
}
case 4:
case "end":
return _context.stop();
}
}, _callee);
})),
onCancel: function onCancel() {
dispatch({
type: 'classroomList/setActionTabs',
payload: {}
});
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u662F\u5426\u786E\u8BA4\u5220\u9664\uFF1F"
})
});
};
/* harmony default export */ var DelTasks = ((0,_umi_production_exports.connect)(function (_ref3) {
var classroomList = _ref3.classroomList;
return {
classroomList: classroomList
};
})(DelShixun));
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/defineProperty.js
var defineProperty = __webpack_require__(85573);
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tree-select/index.js + 17 modules
var tree_select = __webpack_require__(98228);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/form/index.js + 19 modules
var es_form = __webpack_require__(78241);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
var es_button = __webpack_require__(3113);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
var input = __webpack_require__(62680);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/upload/index.js + 24 modules
var upload = __webpack_require__(33556);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.5@@ant-design/icons/es/icons/UploadOutlined.js + 1 modules
var UploadOutlined = __webpack_require__(50662);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.5@@ant-design/icons/es/icons/CloseCircleFilled.js + 1 modules
var CloseCircleFilled = __webpack_require__(6787);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(2367);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Videomodules = ({"flex_box_center":"flex_box_center___ZHxNf","flex_space_between":"flex_space_between___SMaaw","flex_box_vertical_center":"flex_box_vertical_center___xMq2f","flex_box_center_end":"flex_box_center_end___qU72x","flex_box_column":"flex_box_column___ik6jh","bg":"bg___x4BYS","menu":"menu___YqpjW","desc":"desc___n62tO","otherLink":"otherLink___jkav5","card":"card___BlTD5","img":"img___AYe38","analysisText":"analysisText___JsHI_","analysisTips":"analysisTips___VNhTg"});
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(73400);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/components/AddLink.tsx
var TreeNode = tree_select/* default.TreeNode */.Z.TreeNode;
var EditAttendance = function EditAttendance(_ref) {
var _classroomList$action6, _classroomList$action7;
var classroomList = _ref.classroomList,
loading = _ref.loading,
user = _ref.user,
dispatch = _ref.dispatch;
var params = (0,_umi_production_exports.useParams)();
params['id'] = params['coursesId'];
var detailAttendancesDetail = classroomList.detailAttendancesDetail,
actionTabs = classroomList.actionTabs;
var _Form$useForm = es_form/* default */.Z.useForm(),
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
form = _Form$useForm2[0];
var _useState = (0,_react_17_0_2_react.useState)(''),
_useState2 = slicedToArray_default()(_useState, 2),
attachment_id = _useState2[0],
setImageUrl = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
imgLoading = _useState4[0],
setImgLoading = _useState4[1];
(0,_react_17_0_2_react.useEffect)(function () {
var _classroomList$action, _classroomList$action2;
if (((_classroomList$action = classroomList.actionTabs) === null || _classroomList$action === void 0 ? void 0 : _classroomList$action.key) === '增加外链' && (_classroomList$action2 = classroomList.actionTabs) !== null && _classroomList$action2 !== void 0 && _classroomList$action2.data) {
var _classroomList$action3, _classroomList$action4, _classroomList$action5;
form.setFieldsValue({
name: (_classroomList$action3 = classroomList.actionTabs) === null || _classroomList$action3 === void 0 || (_classroomList$action3 = _classroomList$action3.data) === null || _classroomList$action3 === void 0 ? void 0 : _classroomList$action3.title,
link: (_classroomList$action4 = classroomList.actionTabs) === null || _classroomList$action4 === void 0 || (_classroomList$action4 = _classroomList$action4.data) === null || _classroomList$action4 === void 0 ? void 0 : _classroomList$action4.link
});
setImageUrl((_classroomList$action5 = classroomList.actionTabs) === null || _classroomList$action5 === void 0 || (_classroomList$action5 = _classroomList$action5.data) === null || _classroomList$action5 === void 0 ? void 0 : _classroomList$action5.attachment_id);
}
}, [(_classroomList$action6 = classroomList.actionTabs) === null || _classroomList$action6 === void 0 ? void 0 : _classroomList$action6.key]);
var uploadButton = /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
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: Videomodules.img,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: env/* default */.Z.API_SERVER + "/api/attachments/" + attachment_id,
alt: "avatar",
style: {
width: 288
}
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(CloseCircleFilled/* default */.Z, {
onClick: function onClick() {
return setImageUrl('');
},
style: {
fontSize: '16px',
color: 'red'
}
})
})]
});
};
var handleChange = function handleChange(info) {
if (info.file.status === 'uploading') {
setImgLoading(true);
return;
}
if (info.file.status === 'done') {
var _info$file;
setImgLoading(false);
setImageUrl(info === null || info === void 0 || (_info$file = info.file) === null || _info$file === void 0 || (_info$file = _info$file.response) === null || _info$file === void 0 ? void 0 : _info$file.id);
}
};
var cancel = function cancel() {
form.resetFields();
dispatch({
type: 'classroomList/setActionTabs',
payload: {}
});
setImageUrl('');
setImgLoading(false);
};
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
centered: true,
title: (_classroomList$action7 = classroomList.actionTabs) !== null && _classroomList$action7 !== void 0 && _classroomList$action7.data ? '编辑外链视频' : "增加外链",
open: classroomList.actionTabs.key === '增加外链' ? true : false,
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
width: 640,
okButtonProps: {
loading: imgLoading
},
bodyStyle: {
minHeight: 200
},
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var _classroomList$action8;
var formValue, res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.t0 = (objectSpread2_default());
_context.t1 = {};
_context.next = 4;
return form.validateFields();
case 4:
_context.t2 = _context.sent;
formValue = (0, _context.t0)(_context.t1, _context.t2);
setImgLoading(true);
if ((_classroomList$action8 = classroomList.actionTabs) !== null && _classroomList$action8 !== void 0 && _classroomList$action8.data) {
_context.next = 13;
break;
}
_context.next = 10;
return (0,fetch/* default */.ZP)("/api/courses/".concat(params.id, "/course_videos.json"), {
method: 'post',
body: objectSpread2_default()(objectSpread2_default()({}, formValue), {}, {
category_id: params.categoryId === '0' ? '' : params.categoryId,
attachment_id: attachment_id
})
});
case 10:
_context.t3 = _context.sent;
_context.next = 16;
break;
case 13:
_context.next = 15;
return (0,fetch/* default */.ZP)("/api/course_videos/".concat(actionTabs.data.id, ".json"), {
method: 'put',
body: objectSpread2_default()(objectSpread2_default()({}, formValue), {}, {
title: formValue.name,
new_attachment_id: attachment_id
})
});
case 15:
_context.t3 = _context.sent;
case 16:
res = _context.t3;
if (!(res.status === 0)) {
_context.next = 23;
break;
}
(0,util/* trackEvent */.L9)(['教学课堂', '视频', '增加外链']);
message/* default */.ZP.success('修改成功');
dispatch({
type: 'classroomList/setUpdateData',
payload: Math.random()
});
cancel();
return _context.abrupt("return");
case 23:
setImgLoading(false);
case 24:
case "end":
return _context.stop();
}
}, _callee);
})),
onCancel: function onCancel() {
cancel();
},
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
form: form,
initialValues: defineProperty_default()(defineProperty_default()({}, 'name', ''), 'link', ''),
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u89C6\u9891\u6807\u9898",
name: "name",
rules: [{
required: true,
message: '请输入!'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
maxLength: 60
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u89C6\u9891\u94FE\u63A5",
name: "link",
rules: [{
required: true,
message: '请输入!'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
// name="file"
label: "\u4E0A\u4F20\u5C01\u9762\u56FE:",
children: attachment_id ? 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 */.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 AddLink = ((0,_umi_production_exports.connect)(function (_ref4) {
var classroomList = _ref4.classroomList,
user = _ref4.user,
loading = _ref4.loading;
return {
classroomList: classroomList,
user: user,
loading: loading
};
})(EditAttendance));
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/components/Edit.tsx
var Edit_TreeNode = tree_select/* default.TreeNode */.Z.TreeNode;
var Edit_EditAttendance = function EditAttendance(_ref) {
var classroomList = _ref.classroomList,
loading = _ref.loading,
dispatch = _ref.dispatch;
var params = (0,_umi_production_exports.useParams)();
params['id'] = params['coursesId'];
var detailAttendancesDetail = classroomList.detailAttendancesDetail,
actionTabs = classroomList.actionTabs;
var _Form$useForm = es_form/* default */.Z.useForm(),
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
form = _Form$useForm2[0];
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
centered: true,
title: "\u89C6\u9891\u6807\u9898\u7F16\u8F91",
open: classroomList.actionTabs.key === '编辑' ? true : false,
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
bodyStyle: {
minHeight: 200
},
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var formValue, res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.t0 = (objectSpread2_default());
_context.t1 = {};
_context.next = 4;
return form.validateFields();
case 4:
_context.t2 = _context.sent;
formValue = (0, _context.t0)(_context.t1, _context.t2);
_context.next = 8;
return (0,fetch/* default */.ZP)("/api/course_videos/".concat(actionTabs.data.id, ".json"), {
method: 'put',
body: objectSpread2_default()({}, formValue)
});
case 8:
res = _context.sent;
if (res.status === 0) {
message/* default */.ZP.success('修改成功');
dispatch({
type: 'classroomList/setActionTabs',
payload: {}
});
}
case 10:
case "end":
return _context.stop();
}
}, _callee);
})),
onCancel: function onCancel() {
dispatch({
type: 'classroomList/setActionTabs',
payload: {}
});
},
children: actionTabs.data && /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
form: form,
initialValues: defineProperty_default()(defineProperty_default()({}, 'name', actionTabs.data.title), 'link', actionTabs.data.link),
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u89C6\u9891\u6807\u9898",
name: "name",
rules: [{
required: true,
message: '请输入!'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
maxLength: 60
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u89C6\u9891\u94FE\u63A5",
name: "link",
rules: [{
required: true,
message: '请输入!'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {})
})]
})
});
};
/* harmony default export */ var Edit = ((0,_umi_production_exports.connect)(function (_ref4) {
var classroomList = _ref4.classroomList,
loading = _ref4.loading;
return {
classroomList: classroomList,
loading: loading
};
})(Edit_EditAttendance));
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/radio/index.js + 5 modules
var es_radio = __webpack_require__(5112);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/table/index.js + 85 modules
var table = __webpack_require__(90508);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/checkbox/index.js + 3 modules
var es_checkbox = __webpack_require__(24905);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/progress/index.js + 13 modules
var progress = __webpack_require__(93948);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/switch/index.js + 2 modules
var es_switch = __webpack_require__(78673);
// EXTERNAL MODULE: ./src/components/CoverUpload/index.tsx + 1 modules
var CoverUpload = __webpack_require__(27636);
// EXTERNAL MODULE: ./src/utils/aliyunUpload.ts
var aliyunUpload = __webpack_require__(19473);
// EXTERNAL MODULE: ./src/service/user.ts
var service_user = __webpack_require__(35048);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/components/VideoEdit.tsx
var VideoEdit_TreeNode = tree_select/* default.TreeNode */.Z.TreeNode;
var VideoEdit_EditAttendance = function EditAttendance(_ref) {
var _video$file$name;
var classroomList = _ref.classroomList,
user = _ref.user,
loading = _ref.loading,
dispatch = _ref.dispatch;
var params = (0,_umi_production_exports.useParams)();
params['id'] = params['coursesId'];
var detailAttendancesDetail = classroomList.detailAttendancesDetail,
actionTabs = classroomList.actionTabs;
var _Form$useForm = es_form/* default */.Z.useForm(),
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
form = _Form$useForm2[0];
var _useState = (0,_react_17_0_2_react.useState)(false),
_useState2 = slicedToArray_default()(_useState, 2),
imgLoading = _useState2[0],
setImgLoading = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
btnLoading = _useState4[0],
setBtnLoading = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)([]),
_useState6 = slicedToArray_default()(_useState5, 2),
tabsList = _useState6[0],
setTabsList = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)(),
_useState8 = slicedToArray_default()(_useState7, 2),
video = _useState8[0],
setVideo = _useState8[1];
var files = (0,_react_17_0_2_react.useRef)();
var uploader = (0,_react_17_0_2_react.useRef)();
var fileTypes = ["avi", "flv", "f4v", "m4v", "mov", "mp4", "rmvb", "swf", "webm", "wmv"];
var uploadNameSizeSeperator = '  ';
var _useState9 = (0,_react_17_0_2_react.useState)(null),
_useState10 = slicedToArray_default()(_useState9, 2),
videoId = _useState10[0],
setvideoId = _useState10[1];
var _useState11 = (0,_react_17_0_2_react.useState)(null),
_useState12 = slicedToArray_default()(_useState11, 2),
nowVideoId = _useState12[0],
setNowVideoId = _useState12[1];
(0,_react_17_0_2_react.useEffect)(function () {
var _actionTabs$data, _actionTabs$data2, _actionTabs$data3;
if (classroomList.actionTabs.key === '编辑视频') form.setFieldsValue({
title: actionTabs.data.title,
attachment_id: actionTabs === null || actionTabs === void 0 || (_actionTabs$data = actionTabs.data) === null || _actionTabs$data === void 0 ? void 0 : _actionTabs$data.attachment_id,
allow_skip: actionTabs === null || actionTabs === void 0 || (_actionTabs$data2 = actionTabs.data) === null || _actionTabs$data2 === void 0 ? void 0 : _actionTabs$data2.allow_skip,
action_analysis: actionTabs === null || actionTabs === void 0 || (_actionTabs$data3 = actionTabs.data) === null || _actionTabs$data3 === void 0 ? void 0 : _actionTabs$data3.action_analysis
});
!!asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var _actionTabs$data4;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if ((_actionTabs$data4 = actionTabs.data) !== null && _actionTabs$data4 !== void 0 && _actionTabs$data4.course_video_id) {
getTabsList();
}
case 1:
case "end":
return _context.stop();
}
}, _callee);
}))();
}, [classroomList.actionTabs.key]);
var getTabsList = /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
var _actionTabs$params, _actionTabs$data5;
var res;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return (0,fetch/* default */.ZP)("/api/courses/".concat((_actionTabs$params = actionTabs.params) === null || _actionTabs$params === void 0 ? void 0 : _actionTabs$params.coursesId, "/course_videos/video_history?course_video_id=").concat((_actionTabs$data5 = actionTabs.data) === null || _actionTabs$data5 === void 0 ? void 0 : _actionTabs$data5.course_video_id), {
method: "get"
});
case 2:
res = _context2.sent;
setTabsList(res.data);
res.data.forEach(function (item) {
if (item.checked) {
setvideoId(item.id);
setNowVideoId(item.id);
}
});
case 5:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function getTabsList() {
return _ref3.apply(this, arguments);
};
}();
var columns = [{
title: "",
dataIndex: 'checked',
align: 'center',
// render: (text: boolean, record: any, index: number) =><Checkbox checked={text} onChange={()=>handleChange(record)} />
render: function render(text, record, index) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Group */.ZP.Group, {
onChange: function onChange() {
return handleChange(record);
},
value: nowVideoId,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
value: record.id
})
});
}
}, {
title: "视频名称",
width: 300,
dataIndex: 'title'
}, {
title: "版本号",
dataIndex: 'version'
}, {
title: "操作",
render: function render(text, record, index) {
return record.id != videoId && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "link",
danger: true,
onClick: function onClick() {
return handleDeleteVideo(record);
},
children: "\u5220\u9664"
});
}
}];
var handleDeleteVideo = /*#__PURE__*/function () {
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(record) {
var _actionTabs$params2;
var res;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
if (!(tabsList.length == 1)) {
_context3.next = 2;
break;
}
return _context3.abrupt("return");
case 2:
_context3.next = 4;
return (0,fetch/* default */.ZP)("/api/courses/".concat((_actionTabs$params2 = actionTabs.params) === null || _actionTabs$params2 === void 0 ? void 0 : _actionTabs$params2.coursesId, "/delete_course_video.json"), {
method: 'delete',
body: {
video_id: record.id,
is_link: classroomList.actionTabs.data.link ? true : ''
}
});
case 4:
res = _context3.sent;
if (res.message == "success") getTabsList();
case 6:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function handleDeleteVideo(_x) {
return _ref4.apply(this, arguments);
};
}();
var handleChange = function handleChange(record) {
setTabsList(tabsList.map(function (item) {
if (item.id == record.id) {
item.checked = true;
setNowVideoId(record.id);
} else item.checked = false;
return item;
}));
};
var handleUpload = function handleUpload(e) {
var _user$userInfo;
var file = e.target.files[0];
if (!file) return;
var fileSize = file.size / 1024 / 1024 / 1024;
var fileType = file.name.split(".").slice(-1)[0].toLowerCase();
if (fileSize > 1) {
message/* default */.ZP.error("".concat(file.name, " \u6587\u4EF6\u65E0\u6CD5\u4E0A\u4F20\u3002\u8D85\u8FC7\u6587\u4EF6\u5927\u5C0F\u9650\u5236(1G)"));
return;
}
if (fileTypes.indexOf(fileType) == -1) {
message/* default */.ZP.error("".concat(file.name, " \u6587\u4EF6\u65E0\u6CD5\u4E0A\u4F20,\u5F53\u524D\u4EC5\u9650\u652F\u6301").concat(fileTypes.join(", "), "\u6587\u4EF6"));
return;
}
var userData = '{"Vod":{}}';
if (uploader.current) {
uploader.current.addFile(file, null, null, null, userData);
return;
}
var videoInfo = {};
(0,aliyunUpload/* getUploader */.o)((_user$userInfo = user.userInfo) === null || _user$userInfo === void 0 ? void 0 : _user$userInfo.login, '', {
create: !uploader,
onUploadProgress: function onUploadProgress(uploadInfo, totalSize, progress) {
videoInfo = objectSpread2_default()(objectSpread2_default()({}, uploadInfo), {}, {
loaded: Math.ceil(progress * 100)
});
setVideo(videoInfo);
},
onUploadFailed: function onUploadFailed(uploadInfo) {
message/* default */.ZP.info('视频云服务出现异常,请重新上传。');
},
onUploadEnd: function onUploadEnd(uploadInfo) {},
onUploadSucceed: function onUploadSucceed(uploadInfo) {},
onUploadError: function onUploadError(uploadInfo) {},
gotUploader: function () {
var _gotUploader = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4(_uploader) {
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
_uploader.addFile(file, null, null, null, userData);
uploader.current = _uploader;
case 2:
case "end":
return _context4.stop();
}
}, _callee4);
}));
function gotUploader(_x2) {
return _gotUploader.apply(this, arguments);
}
return gotUploader;
}()
});
};
var analysisValue = es_form/* default */.Z.useWatch('action_analysis', form);
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
centered: true,
title: "\u89C6\u9891\u7F16\u8F91",
open: classroomList.actionTabs.key === '编辑视频' ? true : false,
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
width: 660,
destroyOnClose: true,
okButtonProps: {
disabled: imgLoading
},
confirmLoading: btnLoading,
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5() {
var _actionTabs$data8;
var formValue, body, _user$userInfo2, _actionTabs$data6, _actionTabs$data7, res;
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
if (!(video && video.loaded != 100)) {
_context5.next = 3;
break;
}
message/* default */.ZP.warning("视频上传中请稍等!");
return _context5.abrupt("return");
case 3:
_context5.t0 = (objectSpread2_default());
_context5.t1 = {};
_context5.next = 7;
return form.validateFields();
case 7:
_context5.t2 = _context5.sent;
formValue = (0, _context5.t0)(_context5.t1, _context5.t2);
body = objectSpread2_default()({}, formValue);
setBtnLoading(true);
if (!video) {
_context5.next = 16;
break;
}
_context5.next = 14;
return (0,service_user/* batchPublish */.dt)({
username: (_user$userInfo2 = user.userInfo) === null || _user$userInfo2 === void 0 ? void 0 : _user$userInfo2.login,
videos: [{
video_id: video.videoId,
title: form.getFieldValue("title"),
filename: video.file.name,
attachment_id: form.getFieldValue("attachment_id"),
course_id: params === null || params === void 0 ? void 0 : params.coursesId,
category_id: actionTabs === null || actionTabs === void 0 || (_actionTabs$data6 = actionTabs.data) === null || _actionTabs$data6 === void 0 ? void 0 : _actionTabs$data6.course_second_category_id,
course_video_id: (_actionTabs$data7 = actionTabs.data) === null || _actionTabs$data7 === void 0 ? void 0 : _actionTabs$data7.course_video_id
}]
});
case 14:
_context5.next = 17;
break;
case 16:
tabsList.forEach(function (item) {
if (item.checked) body["set_id"] = item.id;
});
case 17:
_context5.next = 19;
return (0,fetch/* default */.ZP)("/api/course_videos/".concat(actionTabs === null || actionTabs === void 0 || (_actionTabs$data8 = actionTabs.data) === null || _actionTabs$data8 === void 0 ? void 0 : _actionTabs$data8.course_video_id, "/change_cover.json"), {
method: 'put',
body: body
});
case 19:
res = _context5.sent;
if (res) {
message/* default */.ZP.success('修改成功');
dispatch({
type: 'classroomList/setActionTabs',
payload: {}
});
dispatch({
type: 'classroomList/setUpdateData',
payload: Math.random()
});
}
setVideo(void 0);
setBtnLoading(false);
case 23:
case "end":
return _context5.stop();
}
}, _callee5);
})),
onCancel: function onCancel() {
dispatch({
type: 'classroomList/setActionTabs',
payload: {}
});
setVideo(void 0);
if (uploader.current) {
var _uploader$current, _uploader$current$del;
(_uploader$current = uploader.current) === null || _uploader$current === void 0 || (_uploader$current$del = _uploader$current.deleteFile) === null || _uploader$current$del === void 0 || _uploader$current$del.call(_uploader$current, uploader.current._curIndex);
}
},
children: actionTabs.data && /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
form: form,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u89C6\u9891\u6807\u9898",
name: "title",
rules: [{
required: true,
message: '请输入!'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
maxLength: 60
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.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') {
setImgLoading(true);
return;
}
if (info.file.status === 'done') {
setImgLoading(false);
}
}
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, {
pagination: false,
columns: columns,
dataSource: tabsList
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
name: "allow_skip",
label: "\u64AD\u653E\u8BBE\u7F6E",
valuePropName: "checked",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
children: "\u5141\u8BB8\u5FEB\u8FDB\u64AD\u653E"
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z.Item, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
disabled: video,
type: "primary",
style: {
marginBottom: "10px"
},
ghost: true,
onClick: function onClick() {
return files.current.click();
},
children: "\u66F4\u65B0\u7248\u672C"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("input", {
ref: files,
type: "file",
id: "fileUpload",
style: {
display: "none"
},
onChange: handleUpload,
accept: ".mkv, .flv, .f4v, .rmvb, .swf, video/mp4,video/x-m4v,video/flv,video/f4v,video/rmvb,video/swf,video/*"
}), video && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
fontSize: "8px",
color: "#333",
display: 'flex',
alignItems: "center"
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "icon-lianjie2 iconfont",
style: {
marginRight: "10px",
color: "#52c41a",
fontSize: "8px"
}
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: ((_video$file$name = video.file.name) === null || _video$file$name === void 0 ? void 0 : _video$file$name.indexOf(uploadNameSizeSeperator)) === -1 ? "".concat(video.file.name).concat(uploadNameSizeSeperator).concat((0,util/* bytesToSize */.RD)(video.file.size)) : video.file.name
}), video.loaded == 100 && /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
style: {
marginLeft: "auto",
cursor: "pointer"
},
className: "icon-shanchu iconfont",
onClick: function onClick() {
setVideo(void 0);
files.current.value = "";
}
})]
}), video.loaded != 100 && /*#__PURE__*/(0,jsx_runtime.jsx)(progress/* default */.Z, {
size: "small",
percent: video.loaded,
status: video.loaded == 100 ? "normal" : 'active'
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z.Item, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "c-light-black",
children: "\u4E0A\u4F20\u8BF4\u660E\uFF1A\u76EE\u524D\u4E0D\u652F\u6301\u65AD\u70B9\u7EED\u4F20\uFF0C\u5355\u4E2A\u89C6\u9891\u6587\u4EF6\u6700\u5927\u9650\u52361G\uFF0C\u89C6\u9891\u6587\u4EF6\u4E0A\u4F20\u89C4\u683C\uFF1Aavi\u3001flv\u3001f4v\u3001m4v\u3001mov\u3001mp4\u3001rmvb\u3001swf\u3001webm\u3001wmv"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "c-light-black",
children: "\u6E29\u99A8\u63D0\u793A\uFF1A\u4E3A\u4E86\u66F4\u597D\u7684\u64AD\u653E\u4F53\u9A8C\uFF0C\u5EFA\u8BAE\u60A8\u4F18\u5148\u4E0A\u4F20MP4\u683C\u5F0F\u3002\u5982\u679C\u60A8\u662F\u81EA\u5DF1\u5F55\u5236\u89C6\u9891\uFF0C\u5EFA\u8BAE\u60A8\u4FDD\u5B58\u7684\u65F6\u5019\u5C06\u89C6\u9891\u7F16\u7801\u8BBE\u7F6E\u4E3AAVC(H264)"
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
align: "middle",
style: {
marginBottom: 12
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u5B66\u4E60\u884C\u4E3A\u5206\u6790\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
name: "action_analysis",
valuePropName: "checked",
noStyle: true,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_switch/* default */.Z, {})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: Videomodules.analysisText,
children: [analysisValue ? '已开启' : '未开启', " "]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Videomodules.analysisTips,
children: "\u5728\u5B66\u751F\u89C2\u770B\u89C6\u9891\u65F6\uFF0C\u4F7F\u7528\u7535\u8111\u6444\u50CF\u5934\u968F\u673A\u6293\u62CD\u7167\u7247\u7528\u4E8E\u5B66\u4E60\u884C\u4E3A\u5206\u6790\uFF0C\u5B66\u4E60\u884C\u4E3A\u5206\u6790\u7ED3\u679C\u53EF\u5728\u89C6\u9891\u7EDF\u8BA1\u4E2D\uFF0C\u8FDB\u5165\u5B66\u751F\u8BE6\u60C5\u8FDB\u884C\u67E5\u770B"
})]
})
});
};
/* harmony default export */ var VideoEdit = ((0,_umi_production_exports.connect)(function (_ref6) {
var classroomList = _ref6.classroomList,
loading = _ref6.loading,
user = _ref6.user;
return {
classroomList: classroomList,
loading: loading,
user: user
};
})(VideoEdit_EditAttendance));
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/components/VideoLinkEdit.tsx
var VideoLinkEdit_TreeNode = tree_select/* default.TreeNode */.Z.TreeNode;
var VideoLinkEdit_EditAttendance = function EditAttendance(_ref) {
var _actionTabs$data, _actionTabs$data2;
var classroomList = _ref.classroomList,
user = _ref.user,
loading = _ref.loading,
dispatch = _ref.dispatch;
var params = (0,_umi_production_exports.useParams)();
params['id'] = params['coursesId'];
var detailAttendancesDetail = classroomList.detailAttendancesDetail,
actionTabs = classroomList.actionTabs;
var _Form$useForm = es_form/* default */.Z.useForm(),
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
form = _Form$useForm2[0];
(0,_react_17_0_2_react.useEffect)(function () {
if (classroomList.actionTabs.key === '编辑视频') form.setFieldsValue({
title: actionTabs.data.title
});
}, [classroomList.actionTabs.key]);
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
centered: true,
title: "\u89C6\u9891\u6807\u9898\u7F16\u8F91",
open: classroomList.actionTabs.key === '编辑外链' ? true : false,
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
destroyOnClose: true,
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var formValue, res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.t0 = (objectSpread2_default());
_context.t1 = {};
_context.next = 4;
return form.validateFields();
case 4:
_context.t2 = _context.sent;
formValue = (0, _context.t0)(_context.t1, _context.t2);
_context.next = 8;
return (0,fetch/* default */.ZP)("/api/course_videos/".concat(actionTabs.data.id, ".json"), {
method: 'put',
body: objectSpread2_default()({}, formValue)
});
case 8:
res = _context.sent;
if (res) {
message/* default */.ZP.success('修改成功');
dispatch({
type: 'classroomList/setActionTabs',
payload: {}
});
dispatch({
type: 'classroomList/setUpdateData',
payload: Math.random()
});
}
case 10:
case "end":
return _context.stop();
}
}, _callee);
})),
onCancel: function onCancel() {
dispatch({
type: 'classroomList/setActionTabs',
payload: {}
});
},
children: actionTabs.data && /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
form: form,
initialValues: {
name: actionTabs === null || actionTabs === void 0 || (_actionTabs$data = actionTabs.data) === null || _actionTabs$data === void 0 ? void 0 : _actionTabs$data.title,
link: actionTabs === null || actionTabs === void 0 || (_actionTabs$data2 = actionTabs.data) === null || _actionTabs$data2 === void 0 ? void 0 : _actionTabs$data2.link
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u89C6\u9891\u6807\u9898",
name: "name",
rules: [{
required: true,
message: '请输入!'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
maxLength: 60
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u89C6\u9891\u94FE\u63A5",
name: "link",
rules: [{
required: true,
message: '请输入!'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
maxLength: 60
})
})]
})
});
};
/* harmony default export */ var VideoLinkEdit = ((0,_umi_production_exports.connect)(function (_ref3) {
var classroomList = _ref3.classroomList,
loading = _ref3.loading,
user = _ref3.user;
return {
classroomList: classroomList,
loading: loading,
user: user
};
})(VideoLinkEdit_EditAttendance));
// EXTERNAL MODULE: ./src/pages/Classrooms/Lists/components/TabMenu/index.tsx + 1 modules
var TabMenu = __webpack_require__(299);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/components/MoveCatalog.tsx
var MoveCatalog_TreeNode = tree_select/* default.TreeNode */.Z.TreeNode;
var MoveCatalog_EditAttendance = function EditAttendance(_ref) {
var _detailLeftMenus$cour;
var classroomList = _ref.classroomList,
loading = _ref.loading,
dispatch = _ref.dispatch;
var params = (0,_umi_production_exports.useParams)();
params['id'] = params['coursesId'];
var detailLeftMenus = classroomList.detailLeftMenus,
actionTabs = classroomList.actionTabs;
var _Form$useForm = es_form/* default */.Z.useForm(),
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
form = _Form$useForm2[0];
var Radios = function Radios(Values) {
var _Values$filter;
return Values === null || Values === void 0 || (_Values$filter = Values.filter(function (r) {
return r.category_name !== '未分配目录';
})) === null || _Values$filter === void 0 ? void 0 : _Values$filter.map(function (v, index) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
style: {
display: 'block'
},
value: v.category_id,
children: v.category_name
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
marginLeft: 20
},
children: Radios((v === null || v === void 0 ? void 0 : v.third_category) || [])
})]
});
});
};
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
centered: true,
title: "\u79FB\u52A8\u5230",
open: classroomList.actionTabs.key === '移动目录' ? true : false,
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
width: 400,
bodyStyle: {
minHeight: 200
},
onOk: function onOk() {
return form.submit();
},
onCancel: function onCancel() {
dispatch({
type: 'classroomList/setActionTabs',
payload: {}
});
},
children: detailLeftMenus.course_modules && /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z, {
form: form,
initialValues: {
// ['link']: actionTabs.data.link,
},
onFinish: ( /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(Values) {
var res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return (0,fetch/* default */.ZP)("/api/courses/".concat(params.id, "/move_to_category.json"), {
method: 'post',
body: objectSpread2_default()(objectSpread2_default()({}, Values), {}, {
video_ids: actionTabs.data.id
})
});
case 2:
res = _context.sent;
if (res.status === 0) {
message/* default */.ZP.success('操作成功');
dispatch({
type: 'classroomList/setActionTabs',
payload: {}
});
dispatch({
type: 'classroomList/setUpdateData',
payload: Math.random()
});
dispatch({
type: 'classroomList/getClassroomLeftMenus',
payload: {
id: params === null || params === void 0 ? void 0 : params.id
}
});
}
case 4:
case "end":
return _context.stop();
}
}, _callee);
}));
return function (_x) {
return _ref2.apply(this, arguments);
};
}()),
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "",
name: "new_category_id",
rules: [{
required: true,
message: '请输入!'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Group */.ZP.Group, {
children: Radios(detailLeftMenus === null || detailLeftMenus === void 0 || (_detailLeftMenus$cour = detailLeftMenus.course_modules) === null || _detailLeftMenus$cour === void 0 ? void 0 : _detailLeftMenus$cour.filter(function (v) {
return v.type === "video";
})[0]['second_category'])
})
})
})
});
};
/* harmony default export */ var MoveCatalog = ((0,_umi_production_exports.connect)(function (_ref3) {
var classroomList = _ref3.classroomList,
loading = _ref3.loading;
return {
classroomList: classroomList,
loading: loading
};
})(MoveCatalog_EditAttendance));
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/components/AddCategory.tsx
var AddCategory_TreeNode = tree_select/* default.TreeNode */.Z.TreeNode;
var AddCategory_EditAttendance = function EditAttendance(_ref) {
var classroomList = _ref.classroomList,
loading = _ref.loading,
dispatch = _ref.dispatch;
var params = (0,_umi_production_exports.useParams)();
params['id'] = params['coursesId'];
var detailLeftMenus = classroomList.detailLeftMenus,
actionTabs = classroomList.actionTabs;
var videoData = detailLeftMenus.course_modules && detailLeftMenus.course_modules.filter(function (v) {
return v.type === 'video';
});
var _Form$useForm = es_form/* default */.Z.useForm(),
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
form = _Form$useForm2[0];
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
centered: true,
title: "\u65B0\u5EFA\u5B50\u76EE\u5F55",
open: classroomList.actionTabs.key === '新建子目录' ? true : false,
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
bodyStyle: {
minHeight: 130
},
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var formValue, res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
;
_context.t0 = (objectSpread2_default());
_context.t1 = {};
_context.next = 5;
return form.validateFields();
case 5:
_context.t2 = _context.sent;
formValue = (0, _context.t0)(_context.t1, _context.t2);
_context.next = 9;
return (0,fetch/* default */.ZP)("/api/course_modules/".concat(videoData[0].id, "/add_second_category.json"), {
method: 'post',
body: objectSpread2_default()({}, formValue)
});
case 9:
res = _context.sent;
if (res.status === 0) {
message/* default */.ZP.success('修改成功');
dispatch({
type: 'classroomList/setActionTabs',
payload: {}
});
dispatch({
type: 'classroomList/setUpdateData',
payload: Math.random()
});
}
case 11:
case "end":
return _context.stop();
}
}, _callee);
})),
onCancel: function onCancel() {
dispatch({
type: 'classroomList/setActionTabs',
payload: {}
});
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z, {
form: form,
initialValues: defineProperty_default()(defineProperty_default()({}, 'name', ''), 'link', ''),
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u5B50\u76EE\u5F55\u540D\u79F0",
name: "name",
rules: [{
required: true,
message: '请输入!'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
maxLength: 60
})
})
})
});
};
/* harmony default export */ var AddCategory = ((0,_umi_production_exports.connect)(function (_ref4) {
var classroomList = _ref4.classroomList,
loading = _ref4.loading;
return {
classroomList: classroomList,
loading: loading
};
})(AddCategory_EditAttendance));
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/card/index.js + 4 modules
var card = __webpack_require__(18889);
// EXTERNAL MODULE: ./src/assets/images/video/default.png
var video_default = __webpack_require__(55988);
// EXTERNAL MODULE: ./src/assets/images/video/play.png
var play = __webpack_require__(36193);
// EXTERNAL MODULE: ./node_modules/_react-copy-to-clipboard@5.0.2@react-copy-to-clipboard/lib/index.js
var lib = __webpack_require__(56102);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/Items/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Itemsmodules = ({"flex_box_center":"flex_box_center___pyP1D","flex_space_between":"flex_space_between___I466c","flex_box_vertical_center":"flex_box_vertical_center___jio7d","flex_box_center_end":"flex_box_center_end___dwYOB","flex_box_column":"flex_box_column___OglHp","wrap":"wrap___CB76m","mask":"mask___OFMeI","playIconWrap":"playIconWrap___qgHXl","playIcon":"playIcon___bV87f","linkWrap":"linkWrap___T2hZF","link":"link___cwP_L","imgWrap":"imgWrap___V2WRr","cardBottom":"cardBottom___lpKQb","bottomTitle":"bottomTitle___L4GzG","timeWrap":"timeWrap___okx_C","time":"time___IoUOF","bottomActionWrap":"bottomActionWrap___PdPWh","peopleWrap":"peopleWrap____eq2u","actionIcon":"actionIcon___TDO4d"});
// EXTERNAL MODULE: ./node_modules/_js-base64@2.6.4@js-base64/base64.js
var base64 = __webpack_require__(24334);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/Items/index.tsx
var DEFAULT_VIDEO_WIDTH_IN_MD = "90%"; // 400
var DEFAULT_VIDEO_HEIGHT_IN_MD = "55%"; // 400
var Items = function Items(_ref) {
var _detailLeftMenus$cour, _classroomList$detail;
var data = _ref.data,
isReview = _ref.isReview,
dispatch = _ref.dispatch,
userid = _ref.userid,
classroomList = _ref.classroomList;
var _useState = (0,_react_17_0_2_react.useState)(objectSpread2_default()({}, (0,_umi_production_exports.useParams)())),
_useState2 = slicedToArray_default()(_useState, 2),
params = _useState2[0],
setParams = _useState2[1];
var detailLeftMenus = classroomList.detailLeftMenus;
var SecondCategory = detailLeftMenus === null || detailLeftMenus === void 0 || (_detailLeftMenus$cour = detailLeftMenus.course_modules) === null || _detailLeftMenus$cour === void 0 || (_detailLeftMenus$cour = _detailLeftMenus$cour.filter(function (item) {
return item.type === "video";
})[0].second_category) === null || _detailLeftMenus$cour === void 0 ? void 0 : _detailLeftMenus$cour.length;
params['id'] = params['coursesId'];
if (params['categoryId'] != 0) params['category_id'] = params['categoryId'];
var toStudentVideo = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(item) {
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (!item.link) {
_context.next = 2;
break;
}
return _context.abrupt("return");
case 2:
(0,util/* openNewWindow */.xg)("/classrooms/".concat(params === null || params === void 0 ? void 0 : params.coursesId, "/video_info?new_video_id=").concat(item === null || item === void 0 ? void 0 : item.course_video_id));
case 3:
case "end":
return _context.stop();
}
}, _callee);
}));
return function toStudentVideo(_x) {
return _ref2.apply(this, arguments);
};
}();
var getCopyText = function getCopyText(file_url, cover_url) {
var url = base64.Base64.decode(file_url);
if (file_url) {
return "<video src=\"".concat(url, "\" controls=\"true\" controlslist=\"nodownload\" width=\"").concat(DEFAULT_VIDEO_WIDTH_IN_MD, "\" height=\"").concat(DEFAULT_VIDEO_HEIGHT_IN_MD, "\" poster=\"").concat(cover_url, "\">\u60A8\u7684\u6D4F\u89C8\u5668\u4E0D\u652F\u6301 video \u6807\u7B7E\u3002</video>");
}
};
return /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
children: classroomList === null || classroomList === void 0 || (_classroomList$detail = classroomList.detailVideoList) === null || _classroomList$detail === void 0 || (_classroomList$detail = _classroomList$detail.videos) === null || _classroomList$detail === void 0 ? void 0 : _classroomList$detail.map(function (item, key) {
var _item$cover_url;
var imgUrl = item !== null && item !== void 0 && item.cover_url ? item !== null && item !== void 0 && (_item$cover_url = item.cover_url) !== null && _item$cover_url !== void 0 && _item$cover_url.includes('https') ? item.cover_url : env/* default */.Z.API_SERVER + item.cover_url : video_default;
return /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
className: Itemsmodules.wrap,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(card/* default */.Z, {
className: "animated fadeIn ".concat(Itemsmodules.cardWrap),
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
tip: "\u6B63\u5728\u8F6C\u7801\uFF0C\u8BF7\u7A0D\u7B49...",
spinning: !item.transcoded && !item.link,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: Itemsmodules.imgWrap,
onClick: function onClick() {
!isReview && toStudentVideo(item);
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: imgUrl
}), item.link && /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
className: Itemsmodules.linkWrap,
href: item.link,
onClick: /*#__PURE__*/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:
_context2.next = 2;
return (0,fetch/* default */.ZP)("/api/watch_video_histories/click_link_histories.json", {
method: 'post',
body: {
video_link_id: item.id,
device: 'pc'
}
});
case 2:
res = _context2.sent;
case 3:
case "end":
return _context2.stop();
}
}, _callee2);
})),
target: "_blank",
title: item.title,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: Itemsmodules.link,
children: "\u5916\u94FE"
})
}), !isReview && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Itemsmodules.mask
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Itemsmodules.playIconWrap,
children: !item.link && /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
className: Itemsmodules.playIcon,
src: play
})
})]
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Itemsmodules.cardBottom,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Itemsmodules.bottomTitle,
children: item.title
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Itemsmodules.timeWrap,
children: (item.total_time || parseInt(item.total_time) > 0) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Itemsmodules.time,
children: "\u7D2F\u8BA1\u5B66\u4E60\u65F6\u957F\uFF1A".concat((0,util/* toTimeFormat */.li)(parseInt(item.total_time)))
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Itemsmodules.bottomActionWrap,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: Itemsmodules.peopleWrap,
children: !!item.people_num && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: "\u89C2\u770B\u4EBA\u6570",
placement: "top",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "icon-dianjiliang iconfont font12",
children: item.people_num
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [(userid === item.user_id || !isReview && SecondCategory > 0 && (0,authority/* isAdminOrCreator */.aN)()) && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: "\u79FB\u52A8",
placement: "top",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "".concat(Itemsmodules.actionIcon, " icon-yidong iconfont"),
onClick: function onClick() {
dispatch({
type: 'classroomList/setActionTabs',
payload: {
key: '移动目录',
params: params,
data: item
}
});
},
style: {
marginTop: '1px',
display: 'inline-block'
}
})
}), (0,authority/* isAdminOrTeacher */.G5)() && !isReview && !item.link ? /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: "\u7EDF\u8BA1",
placement: "top",
children: (0,authority/* isAdminOrTeacher */.G5)() ? /*#__PURE__*/(0,jsx_runtime.jsxs)(_umi_production_exports.Link, {
to: "/classrooms/".concat(params.coursesId, "/video/").concat((data === null || data === void 0 ? void 0 : data.category_id) || (data === null || data === void 0 ? void 0 : data.course_module_id), "/statistics/").concat(item.course_video_id, "?title=").concat(item.title),
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "icon-tongji1 iconfont ".concat(Itemsmodules.actionIcon),
style: {
marginTop: '1px',
display: 'inline-block'
}
})]
}) : null
}) : null, (0,authority/* isStudent */.dE)() && !isReview && !item.link ? /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: "\u7EDF\u8BA1",
placement: "top",
children: (0,authority/* isStudent */.dE)() ? /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
className: "font16",
to: "/classrooms/".concat(params.coursesId, "/video/").concat((data === null || data === void 0 ? void 0 : data.category_id) || (data === null || data === void 0 ? void 0 : data.course_module_id), "/studentstatistics"),
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "icon-tongji1 iconfont ".concat(Itemsmodules.actionIcon),
style: {
marginTop: '1px',
display: 'inline-block'
}
})
}) : null
}) : null, (userid === item.user_id || (0,authority/* isAdminOrCreator */.aN)()) && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: "\u7F16\u8F91",
placement: "top",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "".concat(Itemsmodules.actionIcon, " icon-bianji1 iconfont"),
onClick: function onClick() {
dispatch({
type: 'classroomList/setActionTabs',
payload: {
key: item.link ? '增加外链' : '编辑视频',
params: params,
data: item //data有无数据判断是增加还是编辑外链视频
}
});
},
style: {
marginTop: '1px',
display: 'inline-block'
}
})
}), !isReview && !item.link && /*#__PURE__*/(0,jsx_runtime.jsx)(lib.CopyToClipboard, {
text: getCopyText(item.play_url || item.file_url, item.cover_url),
onCopy: function onCopy() {
return message/* default */.ZP.success('复制成功');
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: "\u590D\u5236\u94FE\u63A5",
placement: "top",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "".concat(Itemsmodules.actionIcon, " icon-fuzhi iconfont")
})
})
}), (userid === item.user_id || (0,authority/* isAdminOrCreatorOrOperation */.Rb)()) && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: "\u5220\u9664",
placement: "top",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "".concat(Itemsmodules.actionIcon, " icon-shanchu iconfont"),
onClick: function onClick() {
dispatch({
type: 'classroomList/setActionTabs',
payload: {
key: '删除',
params: params,
data: item
}
});
},
style: {
marginTop: '1px',
display: 'inline-block'
}
})
})]
})]
})]
})]
})
}, item.id);
})
});
};
/* harmony default export */ var Video_Items = ((0,_umi_production_exports.connect)(function (_ref4) {
var classroomList = _ref4.classroomList;
return {
classroomList: classroomList
};
})(Items));
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/toConsumableArray.js
var toConsumableArray = __webpack_require__(37205);
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/HtmlDrag/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var HtmlDragmodules = ({"root":"root___egCyx","title":"title___CK8yp"});
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/HtmlDrag/index.tsx
var HtmlDrag = function HtmlDrag(_ref) {
var _ref$dataSource = _ref.dataSource,
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
count = _ref.count,
dispatch = _ref.dispatch;
var params = (0,_umi_production_exports.useParams)();
var _useState = (0,_react_17_0_2_react.useState)([]),
_useState2 = slicedToArray_default()(_useState, 2),
data = _useState2[0],
setData = _useState2[1];
var dragged = (0,_react_17_0_2_react.useRef)(null);
var target = (0,_react_17_0_2_react.useRef)(null);
(0,_react_17_0_2_react.useEffect)(function () {
if (!!dataSource) {
setData(toConsumableArray_default()(dataSource));
}
}, [dataSource]);
/**
* @function 数组重排序
*
*/
var handleData = function handleData() {
dragged.current.style.opacity = '1';
dragged.current.style.transform = 'scale(1)';
var from = dragged.current.dataset.id; // 拖动元素id
var to = target.current.dataset.id; // 放置目标id
if (from !== to) {
var newData = toConsumableArray_default()(data);
// 删除原位置拖动元素;指定位置插入拖动元素
newData.splice(to, 0, newData.splice(from, 1)[0]);
setData(newData);
dragged.current = target.current; // 改变dragged便于
onSortEdit(data[from], Number(to) + 1);
}
};
/**
* @function 规定当元素被拖动时,会发生什么
* */
var onDragStart = function onDragStart(e) {
dragged.current = e.target;
};
/**
* @function 元素被拖动到一个有效目标时触发的事件;第一个触发
* @description 元素被拖动到一个有效目标时,以下数据依次触发 dragenterdragoverdrop
* */
var onDragEnter = function onDragEnter(e) {
e.preventDefault(); // 阻止默认事件
if (e.target.tagName !== 'LI') {
return;
}
target.current = e.target;
target.current.style.opacity = '0.2';
target.current.style.transform = 'scale(1.1)';
handleData();
};
/**
* @function 元素被拖动到一个有效目标时触发的事件;第二个触发
* @description
* 默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置,
* 我们必须阻止对元素的默认处理方式。
* 这要通过调用 ondragover 事件的 event.preventDefault() 方法
* */
var onDragOver = function onDragOver(e) {
e.preventDefault();
};
/**
* @function 元素被拖动到一个有效目标时触发的事件;第三个(最后)触发
* @description 元素被拖动到一个有效目标时,以下数据依次触发 dragenterdragoverdrop
* */
var onDrop = function onDrop(e) {
e.preventDefault();
dragged.current.style.opacity = '1';
dragged.current.style.transform = 'scale(1)';
};
var onSortEdit = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(item, position) {
var res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return (0,fetch/* default */.ZP)("/api/courses/".concat(params === null || params === void 0 ? void 0 : params.coursesId, "/sort_video.json"), {
method: 'put',
body: {
course_id: params.coursesId,
video_id: (item === null || item === void 0 ? void 0 : item.course_video_id) || (item === null || item === void 0 ? void 0 : item.id),
position: Number(position)
}
});
case 2:
res = _context.sent;
return _context.abrupt("return", res);
case 4:
case "end":
return _context.stop();
}
}, _callee);
}));
return function onSortEdit(_x, _x2) {
return _ref2.apply(this, arguments);
};
}();
var listItems = data.map(function (item, index) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
"data-id": index,
style: {
background: item.bgColor
},
draggable: "true",
onDragStart: onDragStart,
onDragOver: onDragOver,
onDrop: onDrop,
onDragEnter: onDragEnter,
"data-item": JSON.stringify(item),
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: (item === null || item === void 0 ? void 0 : item.cover_url) || video_default
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
title: item.title,
className: HtmlDragmodules.title,
children: item.title
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
className: "ml10 mb10",
children: ["\u7D2F\u8BA1\u5B66\u4E60\u65F6\u95F4", (0,util/* toTimeFormat */.li)(parseInt(item.total_time))]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
className: "ml10 mb10",
style: {
width: 100
},
placeholder: index + 1,
onBlur: ( /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(e) {
var reg, result;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
if (e.target.value) {
_context2.next = 2;
break;
}
return _context2.abrupt("return");
case 2:
reg = /^([1-9][0-9]*)$/;
if (reg.test(e.target.value)) {
_context2.next = 6;
break;
}
message/* default */.ZP.info('请输入大于0的正整数');
return _context2.abrupt("return");
case 6:
if (!(parseInt(e.target.value) > count)) {
_context2.next = 9;
break;
}
message/* default */.ZP.info('数字不能大于总数量');
return _context2.abrupt("return");
case 9:
_context2.next = 11;
return onSortEdit(item, e.target.value);
case 11:
result = _context2.sent;
if ((result === null || result === void 0 ? void 0 : result.status) === 0) {
dispatch({
type: 'classroomList/setUpdateData',
payload: Math.random()
});
}
case 13:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function (_x3) {
return _ref3.apply(this, arguments);
};
}())
})]
}, index);
});
console.log(data, 2222);
return /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
className: HtmlDragmodules.root,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("ul", {
className: "contain",
children: listItems
})
});
};
/* harmony default export */ var Video_HtmlDrag = (HtmlDrag);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/index.tsx
var _excluded = ["classroomList", "globalSetting", "loading", "user", "dispatch"];
var SubMenu = menu/* default */.Z.SubMenu;
var Content = layout/* default */.Z.Content,
Sider = layout/* default */.Z.Sider;
var ShixunsListPage = function ShixunsListPage(_ref) {
var _detailVideoList$vide, _classroomList$detail;
var classroomList = _ref.classroomList,
globalSetting = _ref.globalSetting,
loading = _ref.loading,
user = _ref.user,
dispatch = _ref.dispatch,
props = objectWithoutProperties_default()(_ref, _excluded);
var param = (0,_umi_production_exports.useParams)();
var _useState = (0,_react_17_0_2_react.useState)({
page: 1,
limit: 15
}),
_useState2 = slicedToArray_default()(_useState, 2),
params = _useState2[0],
setParams = _useState2[1];
var detailVideoList = classroomList.detailVideoList,
updateData = classroomList.updateData;
var _useState3 = (0,_react_17_0_2_react.useState)({}),
_useState4 = slicedToArray_default()(_useState3, 2),
selectArrs = _useState4[0],
setSelectArrs = _useState4[1];
params['id'] = param['coursesId'];
//排序or正常显示
var _useState5 = (0,_react_17_0_2_react.useState)(true),
_useState6 = slicedToArray_default()(_useState5, 2),
isSort = _useState6[0],
setIsSort = _useState6[1];
(0,_react_17_0_2_react.useEffect)(function () {
if (updateData) {
dispatch({
type: 'classroomList/getVideoList',
payload: objectSpread2_default()({}, params)
});
}
}, [updateData]);
(0,_react_17_0_2_react.useEffect)(function () {
if (param['categoryId'] != 0) params['category_id'] = param['categoryId'];
setTimeout(function () {
dispatch({
type: 'classroomList/setUpdateData',
payload: Math.random()
});
}, 200);
return function () {
// dispatch({
// type: 'classroomList/setUpdateData',
// payload: '',
// });
};
}, [location.pathname]);
var onShowSizeChange = function onShowSizeChange(current, pageSize) {
params.page = current;
setParams(objectSpread2_default()({}, params));
dispatch({
type: 'classroomList/getVideoList',
payload: objectSpread2_default()({}, params)
});
};
var onMenuSelect = function onMenuSelect(v) {
if (v.key === 'all') {
_umi_production_exports.history.push("/classrooms/".concat(params.id, "/video"));
} else {
_umi_production_exports.history.push("/classrooms/".concat(params.id, "/live_video"));
}
};
var Menus = [{
name: '视频',
id: 'all',
total: detailVideoList === null || detailVideoList === void 0 ? void 0 : detailVideoList.videos_count
}, {
name: '直播',
id: 1,
total: detailVideoList === null || detailVideoList === void 0 ? void 0 : detailVideoList.lives_count
}];
var pollsStatus = {
1: '未发布',
2: '提交中',
3: '已截止',
4: '已结束'
};
var handleDelete = function handleDelete(id) {
modal/* default */.Z.confirm({
title: '提示',
centered: true,
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Videomodules.modal,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u8BE5\u89C6\u9891\u5C06\u88AB\u5220\u9664\uFF0C\u4E0D\u53EF\u6062\u590D"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u662F\u5426\u786E\u8BA4\u5220\u9664?"
})]
}),
okText: '确认',
cancelText: '取消',
onOk: function () {
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
case "end":
return _context.stop();
}
}, _callee);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
};
var handleLogWatchHistory = function handleLogWatchHistory(query) {
return dispatch({
type: 'userDetail/logWatchHistory',
payload: query
});
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(TabMenu/* default */.Z, {
isLoading: false,
tabDataSource: Menus,
isAdmin: (0,authority/* isAdmin */.GJ)(),
onTabMenuClick: onMenuSelect,
defaultSelectedKeys: ['all'],
showControlButton: isSort && (0,authority/* isAdminOrTeacher */.G5)(),
buttonText: "\u4E0A\u4F20\u89C6\u9891",
buttonIcon: "icon-shangchuan3 font18",
extraNode: (0,authority/* isAdmin */.GJ)() && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
align: "middle",
className: "mr20",
children: [isSort && (0,authority/* isAdmin */.GJ)() && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-blue font16 mr20 current",
onClick: function onClick(e) {
dispatch({
type: 'classroomList/setActionTabs',
payload: {
key: '新建子目录',
params: params
}
});
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: "\u65B0\u5EFA\u5B50\u76EE\u5F55",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-xinjianmulu1 font14"
})
})
}), isSort && (0,authority/* isAdmin */.GJ)() && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
onClick: function onClick() {
return _umi_production_exports.history.push("/classrooms/".concat(param.coursesId, "/video/").concat((detailVideoList === null || detailVideoList === void 0 ? void 0 : detailVideoList.category_id) || (detailVideoList === null || detailVideoList === void 0 ? void 0 : detailVideoList.course_module_id), "/statistics"));
},
className: "font14 mr20 c-blue font14 current",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-tongji4 font14 mr5"
}), "\u7EDF\u8BA1\u603B\u89C8"]
}), isSort && (0,authority/* isStudent */.dE)() && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
onClick: function onClick() {
return _umi_production_exports.history.push("/classrooms/".concat(param.coursesId, "/video/").concat((detailVideoList === null || detailVideoList === void 0 ? void 0 : detailVideoList.category_id) || (detailVideoList === null || detailVideoList === void 0 ? void 0 : detailVideoList.course_module_id), "/studentstatistics"));
},
className: "font14 mr20 c-blue font14 current",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-tongji4 font14 mr5"
}), "\u7EDF\u8BA1\u603B\u89C8"]
}), isSort && (0,authority/* isAdmin */.GJ)() && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "c-blue font14 mr20 current",
onClick: function onClick(e) {
e.preventDefault();
dispatch({
type: 'classroomList/setActionTabs',
payload: {
key: '增加外链',
params: params
}
});
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-lianjie2 font14 mr5"
}), "\u589E\u52A0\u5916\u94FE"]
}), ((0,authority/* isAdminOrTeacher */.G5)() || (0,authority/* isAssistant */.Rm)()) && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
style: {
display: 'flex',
alignItems: 'center'
},
className: "c-blue font14 current",
onClick: function onClick() {
setIsSort(!isSort);
if (!isSort) {
dispatch({
type: 'classroomList/setUpdateData',
payload: Math.random()
});
}
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-tiaozhengpaixu2 mr5"
}), isSort ? '调整排序' : '结束排序']
})]
}),
onButtonClick: function onButtonClick() {
_umi_production_exports.history.push(param.categoryId ? "/classrooms/".concat(param.coursesId, "/video/").concat(user.userInfo.login, "/upload?categoryId=").concat(param.categoryId) : "/classrooms/".concat(param.coursesId, "/video/").concat(user.userInfo.login, "/upload"));
}
}), (detailVideoList === null || detailVideoList === void 0 ? void 0 : detailVideoList.videos_count) === 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, {}), !!(detailVideoList !== null && detailVideoList !== void 0 && (_detailVideoList$vide = detailVideoList.videos) !== null && _detailVideoList$vide !== void 0 && _detailVideoList$vide.length) && /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
spinning: loading['classroomList/getVideoList'],
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Videomodules.card,
children: [!!isSort && /*#__PURE__*/(0,jsx_runtime.jsx)(Video_Items, {
dispatch: dispatch,
data: objectSpread2_default()({}, detailVideoList),
userid: user.userInfo.user_id,
isReview: params.category === 'pending',
onDelete: handleDelete,
logWatchHistory: handleLogWatchHistory
}), !isSort && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
height: 20
}
}), !isSort && /*#__PURE__*/(0,jsx_runtime.jsx)(Video_HtmlDrag, {
dataSource: detailVideoList === null || detailVideoList === void 0 ? void 0 : detailVideoList.videos,
count: classroomList === null || classroomList === void 0 || (_classroomList$detail = classroomList.detailVideoList) === null || _classroomList$detail === void 0 ? void 0 : _classroomList$detail.videos_count,
dispatch: dispatch
})]
})
}), isSort && /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
className: "tc mb50 mt30",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
hideOnSinglePage: true,
showSizeChanger: false,
onChange: onShowSizeChange,
defaultCurrent: 1,
pageSize: 15,
current: params.page || 1,
total: detailVideoList === null || detailVideoList === void 0 ? void 0 : detailVideoList.videos_count
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(DelTasks, {}), /*#__PURE__*/(0,jsx_runtime.jsx)(Edit, {
data: selectArrs
}), /*#__PURE__*/(0,jsx_runtime.jsx)(VideoEdit, {}), /*#__PURE__*/(0,jsx_runtime.jsx)(MoveCatalog, {}), /*#__PURE__*/(0,jsx_runtime.jsx)(AddLink, {}), /*#__PURE__*/(0,jsx_runtime.jsx)(AddCategory, {}), /*#__PURE__*/(0,jsx_runtime.jsx)(VideoLinkEdit, {})]
});
};
/* harmony default export */ var Video = ((0,_umi_production_exports.connect)(function (_ref2) {
var classroomList = _ref2.classroomList,
loading = _ref2.loading,
user = _ref2.user,
globalSetting = _ref2.globalSetting;
return {
user: user,
classroomList: classroomList,
globalSetting: globalSetting,
loading: loading.effects
};
})(ShixunsListPage));
/***/ }),
/***/ 19473:
/*!***********************************!*\
!*** ./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 */ 56648);
/* harmony import */ var aliyun_vod_upload_ll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! aliyun-vod-upload-ll */ 93125);
/* 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);
// }
}
/***/ }),
/***/ 44000:
/*!**********************************************************!*\
!*** ./node_modules/_antd@5.9.0@antd/es/layout/index.js ***!
\**********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony import */ var _layout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./layout */ 84966);
/* harmony import */ var _Sider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Sider */ 44678);
"use client";
const Layout = _layout__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .ZP;
Layout.Header = _layout__WEBPACK_IMPORTED_MODULE_0__/* .Header */ .h4;
Layout.Footer = _layout__WEBPACK_IMPORTED_MODULE_0__/* .Footer */ .$_;
Layout.Content = _layout__WEBPACK_IMPORTED_MODULE_0__/* .Content */ .VY;
Layout.Sider = _Sider__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z;
/* harmony default export */ __webpack_exports__.Z = (Layout);
/***/ }),
/***/ 78673:
/*!**********************************************************************!*\
!*** ./node_modules/_antd@5.9.0@antd/es/switch/index.js + 2 modules ***!
\**********************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ es_switch; }
});
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.5@@ant-design/icons/es/icons/LoadingOutlined.js + 1 modules
var LoadingOutlined = __webpack_require__(36242);
// EXTERNAL MODULE: ./node_modules/_classnames@2.5.1@classnames/index.js
var _classnames_2_5_1_classnames = __webpack_require__(92310);
var _classnames_2_5_1_classnames_default = /*#__PURE__*/__webpack_require__.n(_classnames_2_5_1_classnames);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.24.1@@babel/runtime/helpers/esm/extends.js
var esm_extends = __webpack_require__(66820);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.24.1@@babel/runtime/helpers/esm/defineProperty.js
var defineProperty = __webpack_require__(80999);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.24.1@@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
var slicedToArray = __webpack_require__(38440);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.24.1@@babel/runtime/helpers/esm/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__(17313);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
// EXTERNAL MODULE: ./node_modules/_rc-util@5.39.1@rc-util/es/hooks/useMergedState.js
var useMergedState = __webpack_require__(290);
// EXTERNAL MODULE: ./node_modules/_rc-util@5.39.1@rc-util/es/KeyCode.js
var KeyCode = __webpack_require__(81331);
;// CONCATENATED MODULE: ./node_modules/_rc-switch@4.1.0@rc-switch/es/index.js
var _excluded = ["prefixCls", "className", "checked", "defaultChecked", "disabled", "loadingIcon", "checkedChildren", "unCheckedChildren", "onClick", "onChange", "onKeyDown"];
var Switch = /*#__PURE__*/_react_17_0_2_react.forwardRef(function (_ref, ref) {
var _classNames;
var _ref$prefixCls = _ref.prefixCls,
prefixCls = _ref$prefixCls === void 0 ? 'rc-switch' : _ref$prefixCls,
className = _ref.className,
checked = _ref.checked,
defaultChecked = _ref.defaultChecked,
disabled = _ref.disabled,
loadingIcon = _ref.loadingIcon,
checkedChildren = _ref.checkedChildren,
unCheckedChildren = _ref.unCheckedChildren,
onClick = _ref.onClick,
onChange = _ref.onChange,
onKeyDown = _ref.onKeyDown,
restProps = (0,objectWithoutProperties/* default */.Z)(_ref, _excluded);
var _useMergedState = (0,useMergedState/* default */.Z)(false, {
value: checked,
defaultValue: defaultChecked
}),
_useMergedState2 = (0,slicedToArray/* default */.Z)(_useMergedState, 2),
innerChecked = _useMergedState2[0],
setInnerChecked = _useMergedState2[1];
function triggerChange(newChecked, event) {
var mergedChecked = innerChecked;
if (!disabled) {
mergedChecked = newChecked;
setInnerChecked(mergedChecked);
onChange === null || onChange === void 0 ? void 0 : onChange(mergedChecked, event);
}
return mergedChecked;
}
function onInternalKeyDown(e) {
if (e.which === KeyCode/* default */.Z.LEFT) {
triggerChange(false, e);
} else if (e.which === KeyCode/* default */.Z.RIGHT) {
triggerChange(true, e);
}
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);
}
function onInternalClick(e) {
var ret = triggerChange(!innerChecked, e);
// [Legacy] trigger onClick with value
onClick === null || onClick === void 0 ? void 0 : onClick(ret, e);
}
var switchClassName = _classnames_2_5_1_classnames_default()(prefixCls, className, (_classNames = {}, (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-checked"), innerChecked), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-disabled"), disabled), _classNames));
return /*#__PURE__*/_react_17_0_2_react.createElement("button", (0,esm_extends/* default */.Z)({}, restProps, {
type: "button",
role: "switch",
"aria-checked": innerChecked,
disabled: disabled,
className: switchClassName,
ref: ref,
onKeyDown: onInternalKeyDown,
onClick: onInternalClick
}), loadingIcon, /*#__PURE__*/_react_17_0_2_react.createElement("span", {
className: "".concat(prefixCls, "-inner")
}, /*#__PURE__*/_react_17_0_2_react.createElement("span", {
className: "".concat(prefixCls, "-inner-checked")
}, checkedChildren), /*#__PURE__*/_react_17_0_2_react.createElement("span", {
className: "".concat(prefixCls, "-inner-unchecked")
}, unCheckedChildren)));
});
Switch.displayName = 'Switch';
/* harmony default export */ var es = (Switch);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/_util/wave/index.js + 4 modules
var wave = __webpack_require__(14088);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/context.js
var context = __webpack_require__(36355);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/DisabledContext.js
var DisabledContext = __webpack_require__(1684);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/hooks/useSize.js
var useSize = __webpack_require__(19716);
// EXTERNAL MODULE: ./node_modules/_@ctrl_tinycolor@3.6.1@@ctrl/tinycolor/dist/module/index.js
var dist_module = __webpack_require__(64993);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/style/index.js
var style = __webpack_require__(87832);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/genComponentStyleHook.js
var genComponentStyleHook = __webpack_require__(83116);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/statistic.js
var statistic = __webpack_require__(37613);
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/switch/style/index.js
const genSwitchSmallStyle = token => {
const {
componentCls,
trackHeightSM,
trackPadding,
trackMinWidthSM,
innerMinMarginSM,
innerMaxMarginSM,
handleSizeSM
} = token;
const switchInnerCls = `${componentCls}-inner`;
return {
[componentCls]: {
[`&${componentCls}-small`]: {
minWidth: trackMinWidthSM,
height: trackHeightSM,
lineHeight: `${trackHeightSM}px`,
[`${componentCls}-inner`]: {
paddingInlineStart: innerMaxMarginSM,
paddingInlineEnd: innerMinMarginSM,
[`${switchInnerCls}-checked`]: {
marginInlineStart: `calc(-100% + ${handleSizeSM + trackPadding * 2}px - ${innerMaxMarginSM * 2}px)`,
marginInlineEnd: `calc(100% - ${handleSizeSM + trackPadding * 2}px + ${innerMaxMarginSM * 2}px)`
},
[`${switchInnerCls}-unchecked`]: {
marginTop: -trackHeightSM,
marginInlineStart: 0,
marginInlineEnd: 0
}
},
[`${componentCls}-handle`]: {
width: handleSizeSM,
height: handleSizeSM
},
[`${componentCls}-loading-icon`]: {
top: (handleSizeSM - token.switchLoadingIconSize) / 2,
fontSize: token.switchLoadingIconSize
},
[`&${componentCls}-checked`]: {
[`${componentCls}-inner`]: {
paddingInlineStart: innerMinMarginSM,
paddingInlineEnd: innerMaxMarginSM,
[`${switchInnerCls}-checked`]: {
marginInlineStart: 0,
marginInlineEnd: 0
},
[`${switchInnerCls}-unchecked`]: {
marginInlineStart: `calc(100% - ${handleSizeSM + trackPadding * 2}px + ${innerMaxMarginSM * 2}px)`,
marginInlineEnd: `calc(-100% + ${handleSizeSM + trackPadding * 2}px - ${innerMaxMarginSM * 2}px)`
}
},
[`${componentCls}-handle`]: {
insetInlineStart: `calc(100% - ${handleSizeSM + trackPadding}px)`
}
},
[`&:not(${componentCls}-disabled):active`]: {
[`&:not(${componentCls}-checked) ${switchInnerCls}`]: {
[`${switchInnerCls}-unchecked`]: {
marginInlineStart: token.marginXXS / 2,
marginInlineEnd: -token.marginXXS / 2
}
},
[`&${componentCls}-checked ${switchInnerCls}`]: {
[`${switchInnerCls}-checked`]: {
marginInlineStart: -token.marginXXS / 2,
marginInlineEnd: token.marginXXS / 2
}
}
}
}
}
};
};
const genSwitchLoadingStyle = token => {
const {
componentCls,
handleSize
} = token;
return {
[componentCls]: {
[`${componentCls}-loading-icon${token.iconCls}`]: {
position: 'relative',
top: (handleSize - token.fontSize) / 2,
color: token.switchLoadingIconColor,
verticalAlign: 'top'
},
[`&${componentCls}-checked ${componentCls}-loading-icon`]: {
color: token.switchColor
}
}
};
};
const genSwitchHandleStyle = token => {
const {
componentCls,
motion,
trackPadding,
handleBg,
handleShadow,
handleSize
} = token;
const switchHandleCls = `${componentCls}-handle`;
return {
[componentCls]: {
[switchHandleCls]: {
position: 'absolute',
top: trackPadding,
insetInlineStart: trackPadding,
width: handleSize,
height: handleSize,
transition: `all ${token.switchDuration} ease-in-out`,
'&::before': {
position: 'absolute',
top: 0,
insetInlineEnd: 0,
bottom: 0,
insetInlineStart: 0,
backgroundColor: handleBg,
borderRadius: handleSize / 2,
boxShadow: handleShadow,
transition: `all ${token.switchDuration} ease-in-out`,
content: '""'
}
},
[`&${componentCls}-checked ${switchHandleCls}`]: {
insetInlineStart: `calc(100% - ${handleSize + trackPadding}px)`
},
[`&:not(${componentCls}-disabled):active`]: motion ? {
[`${switchHandleCls}::before`]: {
insetInlineEnd: token.switchHandleActiveInset,
insetInlineStart: 0
},
[`&${componentCls}-checked ${switchHandleCls}::before`]: {
insetInlineEnd: 0,
insetInlineStart: token.switchHandleActiveInset
}
} : /* istanbul ignore next */
{}
}
};
};
const genSwitchInnerStyle = token => {
const {
componentCls,
trackHeight,
trackPadding,
innerMinMargin,
innerMaxMargin,
handleSize
} = token;
const switchInnerCls = `${componentCls}-inner`;
return {
[componentCls]: {
[switchInnerCls]: {
display: 'block',
overflow: 'hidden',
borderRadius: 100,
height: '100%',
paddingInlineStart: innerMaxMargin,
paddingInlineEnd: innerMinMargin,
transition: `padding-inline-start ${token.switchDuration} ease-in-out, padding-inline-end ${token.switchDuration} ease-in-out`,
[`${switchInnerCls}-checked, ${switchInnerCls}-unchecked`]: {
display: 'block',
color: token.colorTextLightSolid,
fontSize: token.fontSizeSM,
transition: `margin-inline-start ${token.switchDuration} ease-in-out, margin-inline-end ${token.switchDuration} ease-in-out`,
pointerEvents: 'none'
},
[`${switchInnerCls}-checked`]: {
marginInlineStart: `calc(-100% + ${handleSize + trackPadding * 2}px - ${innerMaxMargin * 2}px)`,
marginInlineEnd: `calc(100% - ${handleSize + trackPadding * 2}px + ${innerMaxMargin * 2}px)`
},
[`${switchInnerCls}-unchecked`]: {
marginTop: -trackHeight,
marginInlineStart: 0,
marginInlineEnd: 0
}
},
[`&${componentCls}-checked ${switchInnerCls}`]: {
paddingInlineStart: innerMinMargin,
paddingInlineEnd: innerMaxMargin,
[`${switchInnerCls}-checked`]: {
marginInlineStart: 0,
marginInlineEnd: 0
},
[`${switchInnerCls}-unchecked`]: {
marginInlineStart: `calc(100% - ${handleSize + trackPadding * 2}px + ${innerMaxMargin * 2}px)`,
marginInlineEnd: `calc(-100% + ${handleSize + trackPadding * 2}px - ${innerMaxMargin * 2}px)`
}
},
[`&:not(${componentCls}-disabled):active`]: {
[`&:not(${componentCls}-checked) ${switchInnerCls}`]: {
[`${switchInnerCls}-unchecked`]: {
marginInlineStart: trackPadding * 2,
marginInlineEnd: -trackPadding * 2
}
},
[`&${componentCls}-checked ${switchInnerCls}`]: {
[`${switchInnerCls}-checked`]: {
marginInlineStart: -trackPadding * 2,
marginInlineEnd: trackPadding * 2
}
}
}
}
};
};
const genSwitchStyle = token => {
const {
componentCls,
trackHeight,
trackMinWidth
} = token;
return {
[componentCls]: Object.assign(Object.assign(Object.assign(Object.assign({}, (0,style/* resetComponent */.Wf)(token)), {
position: 'relative',
display: 'inline-block',
boxSizing: 'border-box',
minWidth: trackMinWidth,
height: trackHeight,
lineHeight: `${trackHeight}px`,
verticalAlign: 'middle',
background: token.colorTextQuaternary,
border: '0',
borderRadius: 100,
cursor: 'pointer',
transition: `all ${token.motionDurationMid}`,
userSelect: 'none',
[`&:hover:not(${componentCls}-disabled)`]: {
background: token.colorTextTertiary
}
}), (0,style/* genFocusStyle */.Qy)(token)), {
[`&${componentCls}-checked`]: {
background: token.switchColor,
[`&:hover:not(${componentCls}-disabled)`]: {
background: token.colorPrimaryHover
}
},
[`&${componentCls}-loading, &${componentCls}-disabled`]: {
cursor: 'not-allowed',
opacity: token.switchDisabledOpacity,
'*': {
boxShadow: 'none',
cursor: 'not-allowed'
}
},
// rtl style
[`&${componentCls}-rtl`]: {
direction: 'rtl'
}
})
};
};
// ============================== Export ==============================
/* harmony default export */ var switch_style = ((0,genComponentStyleHook/* default */.Z)('Switch', token => {
const switchToken = (0,statistic/* merge */.TS)(token, {
switchDuration: token.motionDurationMid,
switchColor: token.colorPrimary,
switchDisabledOpacity: token.opacityLoading,
switchLoadingIconSize: token.fontSizeIcon * 0.75,
switchLoadingIconColor: `rgba(0, 0, 0, ${token.opacityLoading})`,
switchHandleActiveInset: '-30%'
});
return [genSwitchStyle(switchToken),
// inner style
genSwitchInnerStyle(switchToken),
// handle style
genSwitchHandleStyle(switchToken),
// loading style
genSwitchLoadingStyle(switchToken),
// small style
genSwitchSmallStyle(switchToken)];
}, token => {
const {
fontSize,
lineHeight,
controlHeight,
colorWhite
} = token;
const height = fontSize * lineHeight;
const heightSM = controlHeight / 2;
const padding = 2; // Fixed value
const handleSize = height - padding * 2;
const handleSizeSM = heightSM - padding * 2;
return {
trackHeight: height,
trackHeightSM: heightSM,
trackMinWidth: handleSize * 2 + padding * 4,
trackMinWidthSM: handleSizeSM * 2 + padding * 2,
trackPadding: padding,
handleBg: colorWhite,
handleSize,
handleSizeSM,
handleShadow: `0 2px 4px 0 ${new dist_module/* TinyColor */.C('#00230b').setAlpha(0.2).toRgbString()}`,
innerMinMargin: handleSize / 2,
innerMaxMargin: handleSize + padding + padding * 2,
innerMinMarginSM: handleSizeSM / 2,
innerMaxMarginSM: handleSizeSM + padding + padding * 2
};
}));
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/switch/index.js
"use client";
var __rest = undefined && undefined.__rest || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
}
return t;
};
const switch_Switch = /*#__PURE__*/_react_17_0_2_react.forwardRef((props, ref) => {
const {
prefixCls: customizePrefixCls,
size: customizeSize,
disabled: customDisabled,
loading,
className,
rootClassName,
style
} = props,
restProps = __rest(props, ["prefixCls", "size", "disabled", "loading", "className", "rootClassName", "style"]);
false ? 0 : void 0;
const {
getPrefixCls,
direction,
switch: SWITCH
} = _react_17_0_2_react.useContext(context/* ConfigContext */.E_);
// ===================== Disabled =====================
const disabled = _react_17_0_2_react.useContext(DisabledContext/* default */.Z);
const mergedDisabled = (customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled) || loading;
const prefixCls = getPrefixCls('switch', customizePrefixCls);
const loadingIcon = /*#__PURE__*/_react_17_0_2_react.createElement("div", {
className: `${prefixCls}-handle`
}, loading && /*#__PURE__*/_react_17_0_2_react.createElement(LoadingOutlined/* default */.Z, {
className: `${prefixCls}-loading-icon`
}));
// Style
const [wrapSSR, hashId] = switch_style(prefixCls);
const mergedSize = (0,useSize/* default */.Z)(customizeSize);
const classes = _classnames_2_5_1_classnames_default()(SWITCH === null || SWITCH === void 0 ? void 0 : SWITCH.className, {
[`${prefixCls}-small`]: mergedSize === 'small',
[`${prefixCls}-loading`]: loading,
[`${prefixCls}-rtl`]: direction === 'rtl'
}, className, rootClassName, hashId);
const mergedStyle = Object.assign(Object.assign({}, SWITCH === null || SWITCH === void 0 ? void 0 : SWITCH.style), style);
return wrapSSR( /*#__PURE__*/_react_17_0_2_react.createElement(wave/* default */.Z, {
component: "Switch"
}, /*#__PURE__*/_react_17_0_2_react.createElement(es, Object.assign({}, restProps, {
prefixCls: prefixCls,
className: classes,
style: mergedStyle,
disabled: mergedDisabled,
ref: ref,
loadingIcon: loadingIcon
}))));
});
switch_Switch.__ANT_SWITCH = true;
if (false) {}
/* harmony default export */ var es_switch = (switch_Switch);
/***/ })
}]);