"use strict"; (self["webpackChunk"] = self["webpackChunk"] || []).push([[27910,4977,7401,71426,96525],{ /***/ 15059: /*!*************************************!*\ !*** ./src/pages/tasks/constant.js ***! \*************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ $Y: function() { return /* binding */ SET_EDITOR_THEME; }, /* harmony export */ A0: function() { return /* binding */ HIDE_EVALUATE_LOADING; }, /* harmony export */ EP: function() { return /* binding */ HIDE_EVALUATE_RESULT; }, /* harmony export */ F_: function() { return /* binding */ MOVE_X; }, /* harmony export */ G9: function() { return /* binding */ UPDATE_TIMESTRAP; }, /* harmony export */ GB: function() { return /* binding */ FETCH_REP_CONTENT; }, /* harmony export */ GR: function() { return /* binding */ GET_DISCUSSES; }, /* harmony export */ GW: function() { return /* binding */ SET_SHOW_DIR; }, /* harmony export */ Hp: function() { return /* binding */ SHOW_TASK_LIST; }, /* harmony export */ Ir: function() { return /* binding */ FETCH_TASK_FAILURE; }, /* harmony export */ N$: function() { return /* binding */ EDIT_REP_CODE; }, /* harmony export */ NZ: function() { return /* binding */ HIDE_TIP_MODAL; }, /* harmony export */ Nv: function() { return /* binding */ HIDE_NOTICE; }, /* harmony export */ OA: function() { return /* binding */ HIDE_PICTURE_VIEW; }, /* harmony export */ OJ: function() { return /* binding */ SET_CHOOSE_ANSWERS; }, /* harmony export */ QF: function() { return /* binding */ ON_AUTO_FORMAT; }, /* harmony export */ RS: function() { return /* binding */ SHOW_REWARD_DIALOG; }, /* harmony export */ RY: function() { return /* binding */ SET_VNC_LOADING; }, /* harmony export */ Rj: function() { return /* binding */ SHOW_TIP_MODAL; }, /* harmony export */ SX: function() { return /* binding */ ACTIVE_DISCUSS_INDEX; }, /* harmony export */ Tp: function() { return /* binding */ SET_EDITOR_FONTSIZE; }, /* harmony export */ Ui: function() { return /* binding */ SHOW_EVALUATE_LOADING; }, /* harmony export */ V1: function() { return /* binding */ EVAL_CHOOSE_END; }, /* harmony export */ Vn: function() { return /* binding */ SET_REWARD; }, /* harmony export */ dL: function() { return /* binding */ SHOW_NOTICE; }, /* harmony export */ fo: function() { return /* binding */ DISABLE_DISCUSS; }, /* harmony export */ gK: function() { return /* binding */ TRIGGER_TAB_FIXED; }, /* harmony export */ hK: function() { return /* binding */ HIDE_TASK_LIST; }, /* harmony export */ i3: function() { return /* binding */ TRIGGER_RIGHT_PANEL_MASK; }, /* harmony export */ ib: function() { return /* binding */ SET_TASK_STAR; }, /* harmony export */ lS: function() { return /* binding */ TRIGGER_ENLARGE_UNITY3D; }, /* harmony export */ m5: function() { return /* binding */ SHOW_EVALUATE_RESULT; }, /* harmony export */ n4: function() { return /* binding */ FETCH_TASK_START; }, /* harmony export */ n_: function() { return /* binding */ SET_ACTIVE_INDEX; }, /* harmony export */ oP: function() { return /* binding */ SET_REPOS; }, /* harmony export */ p2: function() { return /* binding */ SET_EVALUATE_MESSAGE; }, /* harmony export */ pl: function() { return /* binding */ FETCH_ANSWER_INFO; }, /* harmony export */ rM: function() { return /* binding */ PLUS_DISCUSS; }, /* harmony export */ sM: function() { return /* binding */ GET_TASK_LIST; }, /* harmony export */ t2: function() { return /* binding */ CANCEL_REWARD_DIALOG; }, /* harmony export */ tD: function() { return /* binding */ SHOW_DISCUSSES_LOADING; }, /* harmony export */ u8: function() { return /* binding */ TOP_OR_DOWN_DISCUSS; }, /* harmony export */ um: function() { return /* binding */ ON_TAB_TO_SPACE; }, /* harmony export */ vm: function() { return /* binding */ SHOW_PICTURE_VIEW; }, /* harmony export */ wQ: function() { return /* binding */ MOVE_Y; }, /* harmony export */ wj: function() { return /* binding */ EVAL_CHOOSE_START; }, /* harmony export */ wt: function() { return /* binding */ SHOW_ANSWER_LOADING; }, /* harmony export */ yS: function() { return /* binding */ SET_ACTION_TYPE; }, /* harmony export */ yi: function() { return /* binding */ FETCH_TASK_SUCCESS; }, /* harmony export */ ym: function() { return /* binding */ SELECT_UNLOCK_ANSWER; }, /* harmony export */ z2: function() { return /* binding */ UPDATE_TASK_DATA; } /* harmony export */ }); /* unused harmony exports CREATE_DISCUSS, SHOW_REP_LOADING, SET_REP_PATH, SET_EDITOR_SETTING, SHOW_PATH_LIST, HIDE_PATH_LIST, SET_TAB_INDEX, SET_SSH_TABS, SET_SSH_CONFIGDATA, SET_SSH_CONFIGDATAARR */ var FETCH_TASK_START = 'FETCH_TASK_START'; var FETCH_TASK_FAILURE = 'FETCH_TASK_FAILURE'; var FETCH_TASK_SUCCESS = 'FETCH_TASK_SUCCESS'; var UPDATE_TASK_DATA = 'UPDATE_TASK_DATA'; var HIDE_EVALUATE_RESULT = 'HIDE_EVALUATE_RESULT'; var SHOW_EVALUATE_RESULT = 'SHOW_EVALUATE_RESULT'; var UPDATE_TIMESTRAP = 'UPDATE_TIMESTRAP'; var MOVE_X = 'MOVE_X'; var MOVE_Y = 'MOVE_Y'; var TRIGGER_RIGHT_PANEL_MASK = 'TRIGGER_RIGHT_PANEL_MASK '; //left_panel_action var SET_ACTIVE_INDEX = 'SET_ACTIVE_INDEX'; var GET_TASK_LIST = 'GET_TASK_LIST'; var SHOW_TASK_LIST = 'SHOW_TASK_LIST'; var HIDE_TASK_LIST = 'HIDE_TASK_LIST'; var SET_TASK_STAR = 'SET_TASK_STAR'; var TRIGGER_ENLARGE_UNITY3D = 'TRIGGER_ENLARGE_UNITY3D '; var TRIGGER_TAB_FIXED = 'TRIGGER_TAB_FIXED '; //discuss action var GET_DISCUSSES = 'GET_DISCUSSES'; var SHOW_DISCUSSES_LOADING = 'SHOW_DISCUSSES_LOADING'; var TOP_OR_DOWN_DISCUSS = 'TOP_OR_DOWN_DISCUSS'; var PLUS_DISCUSS = 'PLUS_DISCUSS'; var SET_ACTION_TYPE = 'SET_ACTION_TYPE'; var SHOW_REWARD_DIALOG = 'SHOW_REWARD_DIALOG'; var CANCEL_REWARD_DIALOG = 'CANCEL_REWARD_DIALOG'; var SET_REWARD = 'SET_REWARD'; var ACTIVE_DISCUSS_INDEX = 'ACTIVE_DISCUSS_INDEX'; var CREATE_DISCUSS = 'CREATE_DISCUSS'; var DISABLE_DISCUSS = 'DISABLE_DISCUSS'; //answer_panel_action var SHOW_ANSWER_LOADING = 'SHOW_ANSWER_LOADING'; var FETCH_ANSWER_INFO = 'FETCH_ANSWER_INFO'; var HIDE_TIP_MODAL = 'HIGH_TIP_MODAL'; var SHOW_TIP_MODAL = 'SHOW_TIP_MODAL'; var SELECT_UNLOCK_ANSWER = 'SELECT_UNLOCK_ANSWER'; //choose_repository_action var SET_CHOOSE_ANSWERS = 'SET_CHOOSE_ANSWERS'; var EVAL_CHOOSE_START = 'EVAL_CHOOSE_START'; var EVAL_CHOOSE_END = 'EVAL_CHOOSE_END'; //code_repository_action var SHOW_REP_LOADING = 'SHOW_REP_loading'; var FETCH_REP_CONTENT = 'FETCH_REP_CONTENT'; var EDIT_REP_CODE = 'EDIT_REP_CONTENT'; var SET_REP_PATH = 'SET_REP_PATH'; var SHOW_EVALUATE_LOADING = 'SHOW_EVALUATE_LOADING'; var HIDE_EVALUATE_LOADING = 'HIDE_EVALUATE_LOADING'; var SET_EVALUATE_MESSAGE = 'SET_EVALUATE_MESSAGE'; var SET_SHOW_DIR = 'SET_SHOW_DIR'; var SET_EDITOR_SETTING = 'SET_EDITOR_SETTING'; var SET_EDITOR_THEME = 'SET_EDITOR_THEME'; var SET_EDITOR_FONTSIZE = 'SET_EDITOR_FONTSIZE'; var SET_REPOS = 'SET_REPOS'; var SHOW_PATH_LIST = 'SHOW_PATH_LIST'; var HIDE_PATH_LIST = 'HIDE_PATH_LIST'; var HIDE_PICTURE_VIEW = 'HIDE_PICTURE_VIEW'; var SHOW_PICTURE_VIEW = 'SHOW_PICTURE_VIEW'; var SHOW_NOTICE = 'SHOW_NOTICE'; var HIDE_NOTICE = 'HIDE_NOTICE'; var SET_TAB_INDEX = 'SET_TAB_INDEX'; var SET_SSH_TABS = 'SET_SSH_TABS'; var SET_SSH_CONFIGDATA = 'SET_SSH_CONFIGDATA'; var SET_SSH_CONFIGDATAARR = 'SET_SSH_CONFIGDATAARR'; var SET_VNC_LOADING = 'SET_VNC_LOADING '; var ON_TAB_TO_SPACE = 'ON_TAB_TO_SPACE '; var ON_AUTO_FORMAT = 'ON_AUTO_FORMAT '; /***/ }), /***/ 13047: /*!*********************************!*\ !*** ./src/pages/tasks/util.js ***! \*********************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Ax: function() { return /* binding */ processTreeData; }, /* harmony export */ Ds: function() { return /* binding */ debounce; }, /* harmony export */ KI: function() { return /* binding */ apiPref; }, /* harmony export */ SI: function() { return /* binding */ getTreeData; }, /* harmony export */ f1: function() { return /* binding */ isCompileOk; } /* harmony export */ }); /* unused harmony export isProd */ /* harmony import */ var _utils_env__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/env */ 67390); function isCompileOk(rs) { var flag = true; if (rs.length > 0) { for (var i = 0; i < rs.length; i++) { if (rs[i].compile_success == 0 || !rs[i].compile_success) { flag = false; break; } } } else { flag = false; } return flag; } function getTreeData(data) { var parentKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; var result = []; for (var i = 0; i < data.length; i++) { var item = data[i]; var key = parentKey ? "".concat(parentKey, "/").concat(item.name) : "".concat(item.name); result.push({ title: item.name, isLeaf: item.type === 'tree' ? false : true, key: key }); } return result; } function processTreeData(repos, key, newData) { for (var i = 0; i < repos.length; i++) { var item = repos[i]; if (item.key === key) { item.children = newData; break; } if (item.children) { processTreeData(item.children, key, newData); } } return repos; } function debounce(func, wait, immediate) { var timeout; return function () { var context = this, args = arguments; var later = function later() { timeout = null; if (!immediate) func.apply(context, args); }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) func.apply(context, args); }; } var isProd = true; var apiPref = _utils_env__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z.API_SERVER; // export const isProd = // window.location.href.indexOf('test-') > 0 || // window.location.href.indexOf('localhost') > 0 // ? false // : true; // export const apiPref = isProd // ? 'https://www.educoder.net' // : 'https://test-newweb.educoder.net'; /***/ }), /***/ 45865: /*!**********************************************!*\ !*** ./src/components/AsyncButton/index.tsx ***! \**********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Z: function() { return /* binding */ AsyncButton; } /* harmony export */ }); /* harmony import */ var _root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js */ 82242); /* harmony import */ var _root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js */ 7557); /* harmony import */ var _root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js */ 41498); /* harmony import */ var _root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js */ 79800); /* harmony import */ var _root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectWithoutProperties.js */ 39647); /* harmony import */ var _root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd */ 3113); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ 59301); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react/jsx-runtime */ 37712); var _excluded = ["children"]; var AsyncButton = function AsyncButton(_ref) { var children = _ref.children, props = _root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_4___default()(_ref, _excluded); var _useState = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(false), _useState2 = _root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default()(_useState, 2), btnLoading = _useState2[0], setBtnLoading = _useState2[1]; return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(antd__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP, _root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, props), {}, { loading: btnLoading, onClick: ( /*#__PURE__*/function () { var _ref2 = _root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee(e) { return _root_workspace_ppte5yg23_local_v10_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.prev = 0; setBtnLoading(true); _context.next = 4; return props.onClick(e); case 4: setBtnLoading(false); _context.next = 11; break; case 7: _context.prev = 7; _context.t0 = _context["catch"](0); console.error(_context.t0); setBtnLoading(false); case 11: case "end": return _context.stop(); } }, _callee, null, [[0, 7]]); })); return function (_x) { return _ref2.apply(this, arguments); }; }()), children: children })); }; /***/ }), /***/ 2481: /*!************************************************************!*\ !*** ./src/components/ChunkedUpload/index.tsx + 1 modules ***! \************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { Z: function() { return /* binding */ components_ChunkedUpload; } }); // 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/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/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/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: ./src/utils/fetch.ts var fetch = __webpack_require__(35325); // EXTERNAL MODULE: ./node_modules/_uuid@8.3.0@uuid/dist/esm-browser/v4.js + 4 modules var v4 = __webpack_require__(1012); // 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); ;// CONCATENATED MODULE: ./src/components/ChunkedUpload/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var ChunkedUploadmodules = ({"upload":"upload___jpwPD"}); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js var jsx_runtime = __webpack_require__(37712); ;// CONCATENATED MODULE: ./src/components/ChunkedUpload/index.tsx var ChunkedUpload = function ChunkedUpload(_ref, ref) { var _ref$chunkSize = _ref.chunkSize, chunkSize = _ref$chunkSize === void 0 ? 1024 * 1024 * 2 : _ref$chunkSize, _ref$options = _ref.options, options = _ref$options === void 0 ? {} : _ref$options, onCancel = _ref.onCancel, onComplete = _ref.onComplete, onError = _ref.onError, onProgress = _ref.onProgress, onBefore = _ref.onBefore, onBeginInitFile = _ref.onBeginInitFile, children = _ref.children, accept = _ref.accept, className = _ref.className, _ref$style = _ref.style, style = _ref$style === void 0 ? {} : _ref$style, _ref$concurrency = _ref.concurrency, concurrency = _ref$concurrency === void 0 ? 4 : _ref$concurrency; var _useState = (0,_react_17_0_2_react.useState)('ready'), _useState2 = slicedToArray_default()(_useState, 2), uploadStatus = _useState2[0], setUploadStatus = _useState2[1]; //组件内调试 var _useState3 = (0,_react_17_0_2_react.useState)(0), _useState4 = slicedToArray_default()(_useState3, 2), progress = _useState4[0], setProgress = _useState4[1]; var _useState5 = (0,_react_17_0_2_react.useState)(''), _useState6 = slicedToArray_default()(_useState5, 2), uploadStatusMessage = _useState6[0], setUploadStatusMessage = _useState6[1]; var _useState7 = (0,_react_17_0_2_react.useState)(null), _useState8 = slicedToArray_default()(_useState7, 2), file = _useState8[0], setFile = _useState8[1]; var abortControllerRef = (0,_react_17_0_2_react.useRef)(null); var domId = (0,_react_17_0_2_react.useRef)((0,v4/* default */.Z)()); var cancelStatus = (0,_react_17_0_2_react.useRef)(false); (0,_react_17_0_2_react.useImperativeHandle)(ref, function () { return { cancel: cancel, file: file, uploadStatus: uploadStatus }; }); var clearInput = function clearInput() { var input = document.getElementById(domId.current); if (input) { input.value = ''; } }; var handleUpload = /*#__PURE__*/function () { var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(file) { var fileSize, totalChunks, res, uploadId, promises, percent, _loop, i, completed, step, _promises$slice, subTasks, p, uploadRes; return regeneratorRuntime_default()().wrap(function _callee$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: if (!(uploadStatus === 'uploading')) { _context2.next = 2; break; } return _context2.abrupt("return"); case 2: if (onBeginInitFile) { onBeginInitFile(file); } fileSize = file.size; totalChunks = Math.ceil(fileSize / chunkSize); cancelStatus.current = false; setUploadStatus('uploading'); setProgress(0); setUploadStatusMessage(''); _context2.prev = 9; _context2.next = 12; return (0,fetch/* default */.ZP)("/api/attachments/multipart_upload_start", { method: 'POST', body: objectSpread2_default()({ fileName: file.name, chunkCount: totalChunks }, options) }); case 12: res = _context2.sent; if (!(cancelStatus.current || (res === null || res === void 0 ? void 0 : res.status) !== 0)) { _context2.next = 15; break; } throw new Error(); case 15: uploadId = res.upload_id; abortControllerRef.current = new AbortController(); promises = []; percent = 0; _loop = /*#__PURE__*/regeneratorRuntime_default()().mark(function _loop() { var start, end, chunk, formData, key; return regeneratorRuntime_default()().wrap(function _loop$(_context) { while (1) switch (_context.prev = _context.next) { case 0: start = i * chunkSize; end = Math.min(start + chunkSize, fileSize); chunk = file.slice(start, end); formData = new FormData(); formData.append('chunk', chunk); formData.append('fileName', file.name); formData.append('chunkIndex', (i + 1).toString()); formData.append('uploadId', uploadId); for (key in options) { if (Object.prototype.hasOwnProperty.call(options, key)) { formData.append(key, options[key]); } } promises.push(function () { return (0,fetch/* default */.ZP)("/api/attachments/multipart_upload", { method: 'POST', body: formData, signal: abortControllerRef.current.signal }, true).then(function (res) { console.log(res, 444); percent++; var currentProgress = Math.round(percent / totalChunks * 100); setProgress(currentProgress); if (onProgress) { onProgress(objectSpread2_default()(objectSpread2_default()({}, res), {}, { file: file, percent: currentProgress })); } }); }); case 10: case "end": return _context.stop(); } }, _loop); }); i = 0; case 21: if (!(i < totalChunks)) { _context2.next = 26; break; } return _context2.delegateYield(_loop(), "t0", 23); case 23: i++; _context2.next = 21; break; case 26: completed = 0; step = concurrency; console.log(promises, 'promises'); case 29: if (!(completed < promises.length)) { _context2.next = 38; break; } subTasks = (_promises$slice = promises.slice(completed, completed + step)) === null || _promises$slice === void 0 ? void 0 : _promises$slice.map(function (t) { return t(); }); if (!(subTasks.length > 0)) { _context2.next = 36; break; } _context2.next = 34; return Promise.all(subTasks); case 34: p = _context2.sent; completed += step; case 36: _context2.next = 29; break; case 38: _context2.next = 40; return (0,fetch/* default */.ZP)("/api/attachments/multipart_upload_end", { method: 'POST', body: objectSpread2_default()({ fileName: file.name, chunkCount: totalChunks, uploadId: uploadId }, options) }); case 40: uploadRes = _context2.sent; if (!!uploadRes.object) { setUploadStatus('success'); clearInput(); if (onComplete) { onComplete(objectSpread2_default()(objectSpread2_default()({}, uploadRes), {}, { file: file, percent: 100 })); } } else { setUploadStatus('error'); setUploadStatusMessage('上传失败,请稍后重试'); clearInput(); if (onError) { onError(file.name); } } _context2.next = 50; break; case 44: _context2.prev = 44; _context2.t1 = _context2["catch"](9); setUploadStatus('error'); setUploadStatusMessage('上传失败,请稍后重试'); clearInput(); if (onError) { onError(file.name); } case 50: case "end": return _context2.stop(); } }, _callee, null, [[9, 44]]); })); return function handleUpload(_x) { return _ref2.apply(this, arguments); }; }(); var cancel = (0,_react_17_0_2_react.useCallback)(function () { cancelStatus.current = true; if (abortControllerRef.current) { abortControllerRef.current.abort(); if (onCancel) { onCancel(); } } }, [onCancel]); var handleChangeUpload = function handleChangeUpload(e) { var _e$target; var file = e === null || e === void 0 || (_e$target = e.target) === null || _e$target === void 0 || (_e$target = _e$target.files) === null || _e$target === void 0 ? void 0 : _e$target[0]; setFile(file); uploadStatus = 'ready'; if (!file) { return; } if (onBefore) { var bool = onBefore(file); if (!bool) { handleUpload(file); } clearInput(); return; } handleUpload(file); }; return /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("input", { type: "file", id: domId.current, style: { display: 'none' }, onChange: handleChangeUpload, accept: accept }), /*#__PURE__*/(0,jsx_runtime.jsx)("label", { className: _classnames_2_5_1_classnames_default()(ChunkedUploadmodules.upload, className), htmlFor: domId.current, style: style, children: children })] }); }; /* harmony default export */ var components_ChunkedUpload = (/*#__PURE__*/(0,_react_17_0_2_react.forwardRef)(ChunkedUpload)); /***/ }), /***/ 70358: /*!**********************************************************!*\ !*** ./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__(54580); // EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.6.1@@ant-design/icons/es/icons/UploadOutlined.js + 1 modules var UploadOutlined = __webpack_require__(32050); // EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.6.1@@ant-design/icons/es/icons/CloseCircleFilled.js + 1 modules var CloseCircleFilled = __webpack_require__(19248); // EXTERNAL MODULE: ./src/utils/env.ts + 1 modules var env = __webpack_require__(67390); ;// 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); /***/ }), /***/ 96525: /*!**********************************************************!*\ !*** ./src/components/MultiUpload/index.tsx + 3 modules ***! \**********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { z: function() { return /* binding */ coverToFileList; }, Z: function() { return /* binding */ MultiUpload; } }); // 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/toConsumableArray.js var toConsumableArray = __webpack_require__(37205); var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray); // 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/upload/index.js + 24 modules var upload = __webpack_require__(54580); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules var es_message = __webpack_require__(8591); // 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/button/index.js var es_button = __webpack_require__(3113); // EXTERNAL MODULE: ./src/utils/env.ts + 1 modules var env = __webpack_require__(67390); // EXTERNAL MODULE: ./src/pages/MoopCases/FormPanel/service.ts var service = __webpack_require__(91303); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js var jsx_runtime = __webpack_require__(37712); ;// CONCATENATED MODULE: ./src/components/SingleUpload/index.tsx var uploadNameSizeSeperator = '  '; function bytesToSize(bytes) { var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB']; if (bytes == 0) return '0 Byte'; var i = parseInt('' + Math.floor(Math.log(bytes) / Math.log(1024)), 10); return (bytes / Math.pow(1024, i)).toFixed(1) + ' ' + sizes[i]; } /* harmony default export */ var SingleUpload = (function (_ref) { var _ref$value = _ref.value, value = _ref$value === void 0 ? [] : _ref$value, action = _ref.action, _onChange = _ref.onChange, className = _ref.className, _ref$maxSize = _ref.maxSize, maxSize = _ref$maxSize === void 0 ? 150 : _ref$maxSize, _ref$title = _ref.title, title = _ref$title === void 0 ? '文件上传' : _ref$title, _ref$accept = _ref.accept, accept = _ref$accept === void 0 ? null : _ref$accept; var uploadProps = { multiple: false, fileList: value, accept: accept, withCredentials: true, beforeUpload: function beforeUpload(file) { var fileSize = file.size / 1024 / 1024; if (!(fileSize < maxSize)) { message.error("\u8BE5\u6587\u4EF6\u65E0\u6CD5\u4E0A\u4F20\u3002\u8D85\u8FC7\u6587\u4EF6\u5927\u5C0F\u9650\u5236(".concat(maxSize, "MB),\u5EFA\u8BAE\u4E0A\u4F20\u5230\u767E\u5EA6\u4E91\u7B49\u5176\u5B83\u5171\u4EAB\u5DE5\u5177\u91CC\uFF0C\u7136\u540E\u518Dtxt\u6587\u6863\u91CC\u7ED9\u51FA\u94FE\u63A5\u4EE5\u53CA\u5171\u4EAB\u5BC6\u7801\u5E76\u4E0A\u4F20")); return Promise.reject(); } return true; }, action: "".concat(ENV.API_SERVER, "/api/attachments.json"), // ?debug=student&randomcode=undefined&client_key=6d57f8c3dd186c5ada392546ace9620a onChange: function onChange(info) { var _info$file; var fileList = _toConsumableArray(info.fileList); fileList = fileList.map(function (file) { if (file.name.indexOf(uploadNameSizeSeperator) === -1) { file.name = "".concat(file.name).concat(uploadNameSizeSeperator).concat(bytesToSize(file.size)); } return _objectSpread({}, file); }); 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.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(fileList); }, onRemove: function () { var _onRemove = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(file) { var fileSize, id, rs; return _regeneratorRuntime().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: fileSize = file.size / 1024 / 1024; if (!(file.status === 'uploading')) { _context.next = 3; break; } return _context.abrupt("return", true); case 3: if (fileSize < maxSize) { _context.next = 7; break; } return _context.abrupt("return", true); case 7: id = file.response ? file.response.id : file.uid; if (!id) { _context.next = 15; break; } _context.next = 11; return removeAttachment(file.response ? file.response.id : file.id); case 11: rs = _context.sent; return _context.abrupt("return", rs); case 15: return _context.abrupt("return", true); case 16: case "end": return _context.stop(); } }, _callee); })); function onRemove(_x) { return _onRemove.apply(this, arguments); } return onRemove; }() }; function onCancel(e) { e.preventDefault(); e.stopPropagation(); } return /*#__PURE__*/_jsx("div", { className: "single-upload ".concat(className ? className : ''), children: /*#__PURE__*/_jsxs(Upload, _objectSpread(_objectSpread({}, uploadProps), {}, { children: [/*#__PURE__*/_jsx(Button, { type: "primary", title: value.length > 0 ? '每次只能上传一个资源, 删除下面资源可重新上传 ' : '', disabled: value.length > 0, ghost: true, children: title }), /*#__PURE__*/_jsxs("span", { onClick: onCancel, style: { marginLeft: 10 }, children: ["(\u5355\u4E2A\u6587\u4EF6\u6700\u5927", maxSize, "M)", ' '] })] })) }); }); // EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.6.1@@ant-design/icons/es/icons/InboxOutlined.js + 1 modules var InboxOutlined = __webpack_require__(61481); // EXTERNAL MODULE: ./node_modules/_lodash@4.17.21@lodash/lodash.js var lodash = __webpack_require__(89392); ;// CONCATENATED MODULE: ./src/components/MultiUpload/index.less // extracted by mini-css-extract-plugin ;// CONCATENATED MODULE: ./src/assets/images/uploadImg.svg function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } var __defProp = Object.defineProperty; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = function __defNormalProp(obj, key, value) { return key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value: value }) : obj[key] = value; }; var __spreadValues = function __spreadValues(a, b) { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) { var _iterator = _createForOfIteratorHelper(__getOwnPropSymbols(b)), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var prop = _step.value; if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } } return a; }; var SvgUploadImg = function SvgUploadImg(props) { return /* @__PURE__ */React.createElement("svg", __spreadValues({ width: 14, height: 14, xmlns: "http://www.w3.org/2000/svg" }, props), /* @__PURE__ */React.createElement("title", null, "\u5F62\u72B6"), /* @__PURE__ */React.createElement("path", { d: "M10.354 3.5h-2.77v8.167H6.416V3.5H3.646L7 0l3.354 3.5ZM14 7h-1.167v5.833H1.167V7H0v7h14V7Z", fill: "#3061D0", fillRule: "nonzero" })); }; /* harmony default export */ var uploadImg = ("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEwLjM1NCAzLjVoLTIuNzd2OC4xNjdINi40MTZWMy41SDMuNjQ2TDcgMGwzLjM1NCAzLjVaTTE0IDdoLTEuMTY3djUuODMzSDEuMTY3VjdIMHY3aDE0VjdaIiBmaWxsPSIjMzA2MUQwIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4="); ;// CONCATENATED MODULE: ./src/components/MultiUpload/index.tsx var Dragger = upload/* default */.Z.Dragger; function coverToFileList(data) { var rs = []; if (data && data.length > 0) { rs = data.map(function (item) { return { uid: item.id, id: item.id, name: item.title + uploadNameSizeSeperator + item.filesize, url: item.url, filesize: item.filesize, status: 'done', response: { id: item.id } }; }); } return rs; } /* harmony default export */ var MultiUpload = (function (_ref) { var value = _ref.value, _onChange = _ref.onChange, action = _ref.action, data = _ref.data, className = _ref.className, _ref$maxSize = _ref.maxSize, maxSize = _ref$maxSize === void 0 ? 150 : _ref$maxSize, _ref$title = _ref.title, title = _ref$title === void 0 ? '上传附件' : _ref$title, _ref$showRemoveModal = _ref.showRemoveModal, showRemoveModal = _ref$showRemoveModal === void 0 ? false : _ref$showRemoveModal, _ref$accept = _ref.accept, accept = _ref$accept === void 0 ? '' : _ref$accept, additionalText = _ref.additionalText, isDragger = _ref.isDragger, _ref$number = _ref.number, number = _ref$number === void 0 ? 1000 : _ref$number, _ref$aloneClear = _ref.aloneClear, aloneClear = _ref$aloneClear === void 0 ? false : _ref$aloneClear; var _useState = (0,_react_17_0_2_react.useState)(false), _useState2 = slicedToArray_default()(_useState, 2), disabled = _useState2[0], setDisabled = _useState2[1]; var _useState3 = (0,_react_17_0_2_react.useState)(value || []), _useState4 = slicedToArray_default()(_useState3, 2), fileList = _useState4[0], setFileList = _useState4[1]; var _useState5 = (0,_react_17_0_2_react.useState)(1), _useState6 = slicedToArray_default()(_useState5, 2), nums = _useState6[0], setnums = _useState6[1]; (0,_react_17_0_2_react.useEffect)(function () { if (value) { if (nums === 1) { setFileList(toConsumableArray_default()(value)); } setnums(2); if (number === (value === null || value === void 0 ? void 0 : value.length)) { setDisabled(true); } } }, [value]); var clearLastFile = function clearLastFile() { setTimeout(function () { fileList.pop(); setFileList(toConsumableArray_default()(fileList)); }, 500); }; var uploadProps = { multiple: true, disabled: disabled, accept: accept, withCredentials: true, fileList: fileList, // fileList: fileList?.length ? fileList : value, beforeUpload: function beforeUpload(file, fileArr) { var fileSize = file.size / 1024 / 1024; if (fileList.concat(fileArr).length > number) { fileList.pop(); setFileList(toConsumableArray_default()(fileList)); es_message/* default */.ZP.error("\u6700\u591A\u53EA\u80FD\u4E0A\u4F20".concat(number, "\u4E2A\u6587\u4EF6")); if (aloneClear) { return Promise.reject(); } clearLastFile(); return false; } if (!(fileSize < maxSize)) { es_message/* default */.ZP.error("\u8BE5\u6587\u4EF6\u65E0\u6CD5\u4E0A\u4F20\u3002\u8D85\u8FC7\u6587\u4EF6\u5927\u5C0F\u9650\u5236(".concat(maxSize, "MB).")); if (aloneClear) { return Promise.reject(); } clearLastFile(); return false; } return true; }, data: data, action: action || "".concat(env/* default */.Z.API_SERVER, "/api/attachments.json"), // ?debug=student&randomcode=undefined&client_key=6d57f8c3dd186c5ada392546ace9620a onChange: function onChange(info) { var _info$file; if (info.file.status === "removed") { fileList = info.fileList; } else { fileList = (0,lodash.uniqBy)([].concat(toConsumableArray_default()(info.fileList), toConsumableArray_default()(fileList)), 'uid'); } 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; es_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); return; } if (fileList.length >= number) setDisabled(true);else setDisabled(false); setFileList(toConsumableArray_default()(fileList)); fileList = fileList.map(function (file) { var _file$response; if (file !== null && file !== void 0 && (_file$response = file.response) !== null && _file$response !== void 0 && _file$response.id) { var _file$response2; file.url = "/api/attachments/".concat(file === null || file === void 0 || (_file$response2 = file.response) === null || _file$response2 === void 0 ? void 0 : _file$response2.id); } if (file.name.indexOf(uploadNameSizeSeperator) === -1) { file.name = "".concat(file.name).concat(uploadNameSizeSeperator).concat(bytesToSize(file.size)); } return objectSpread2_default()({}, file); }); console.log('info:', info, fileList); _onChange(fileList); }, onRemove: function () { var _onRemove = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(file) { var remove; return regeneratorRuntime_default()().wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: remove = /*#__PURE__*/function () { var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() { var id, rs; return regeneratorRuntime_default()().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: id = file.response ? file.response.id : file.id; if (!id) { _context.next = 8; break; } _context.next = 4; return (0,service/* removeAttachment */.JZ)(file.response ? file.response.id : file.uid); case 4: rs = _context.sent; return _context.abrupt("return", Promise.resolve(rs)); case 8: return _context.abrupt("return", true); case 9: case "end": return _context.stop(); } }, _callee); })); return function remove() { return _ref2.apply(this, arguments); }; }(); if (!showRemoveModal) { _context3.next = 5; break; } return _context3.abrupt("return", new Promise(function (resolve, reject) { modal/* default */.Z.confirm({ centered: true, width: 530, okText: '确定', cancelText: '取消', title: '提示', content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "tc font16", children: "\u662F\u5426\u786E\u8BA4\u5220\u9664?" }), onOk: function () { var _onOk = 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 remove(); case 2: res = _context2.sent; es_message/* default */.ZP.success('删除成功'); resolve(true); case 5: case "end": return _context2.stop(); } }, _callee2); })); function onOk() { return _onOk.apply(this, arguments); } return onOk; }(), onCancel: function onCancel() { return resolve(false); } }); })); case 5: _context3.next = 7; return remove(); case 7: return _context3.abrupt("return", _context3.sent); case 8: case "end": return _context3.stop(); } }, _callee3); })); function onRemove(_x) { return _onRemove.apply(this, arguments); } return onRemove; }() }; function onCancel(e) { e.preventDefault(); e.stopPropagation(); } return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "multi-upload ".concat(className ? className : ''), children: [isDragger && /*#__PURE__*/(0,jsx_runtime.jsxs)(Dragger, objectSpread2_default()(objectSpread2_default()({}, uploadProps), {}, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "ant-upload-drag-icon", children: /*#__PURE__*/(0,jsx_runtime.jsx)(InboxOutlined/* default */.Z, {}) }), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", { className: "ant-upload-text", children: ["\u70B9\u51FB\u4E0A\u4F20\u56FE\u6807\uFF0C\u9009\u62E9\u8981\u4E0A\u4F20\u7684\u6587\u4EF6\u6216\u5C06\u6587\u4EF6\u62D6\u62FD\u5230\u6B64", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "(\u5355\u4E2A\u6587\u4EF6\u6700\u5927\u9650\u5236\u4E3A", maxSize, "MB)", ' '] }), additionalText] })), !isDragger && /*#__PURE__*/(0,jsx_runtime.jsxs)(upload/* default */.Z, objectSpread2_default()(objectSpread2_default()({}, uploadProps), {}, { children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.ZP, { disabled: disabled, className: "upload_button", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", { className: "aBtn_img", src: uploadImg }), title] }), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", { onClick: onCancel, className: "upload_text", children: ["(\u5355\u4E2A\u6587\u4EF6\u6700\u5927", maxSize, "MB)", ' '] })] }))] }); }); /***/ }), /***/ 12940: /*!*********************************************************!*\ !*** ./src/components/PreviewAll/index.tsx + 1 modules ***! \*********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { Z: function() { return /* binding */ PreviewAll; } }); // 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/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/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); ;// CONCATENATED MODULE: ./src/components/PreviewAll/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var PreviewAllmodules = ({"wrp":"wrp___dq7YK","bgBlack":"bgBlack___ARIUV","monaco":"monaco___VnZC3","darkBlue":"darkBlue___UprA9","close":"close___LKoWu","embed":"embed___hvpEJ"}); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js var es_button = __webpack_require__(3113); // EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.6.1@@ant-design/icons/es/icons/ArrowDownOutlined.js + 1 modules var ArrowDownOutlined = __webpack_require__(70557); // EXTERNAL MODULE: ./src/components/monaco-editor/index.jsx + 3 modules var monaco_editor = __webpack_require__(10446); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules var tooltip = __webpack_require__(6848); // EXTERNAL MODULE: ./src/utils/util.tsx var util = __webpack_require__(1079); // EXTERNAL MODULE: ./src/service/exercise.ts var exercise = __webpack_require__(26613); // EXTERNAL MODULE: ./src/components/NoData/index.tsx var NoData = __webpack_require__(46172); // EXTERNAL MODULE: ./src/utils/env.ts + 1 modules var env = __webpack_require__(67390); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js var jsx_runtime = __webpack_require__(37712); ;// CONCATENATED MODULE: ./src/components/PreviewAll/index.tsx /* harmony default export */ var PreviewAll = (function (_ref) { var _data, _data2, _data3, _data4, _data5, _data6, _data7; var _ref$editOffice = _ref.editOffice, editOffice = _ref$editOffice === void 0 ? 'view' : _ref$editOffice, data = _ref.data, theme = _ref.theme, type = _ref.type, filename = _ref.filename, monacoEditor = _ref.monacoEditor, className = _ref.className, style = _ref.style, close = _ref.close, onClose = _ref.onClose, hasMask = _ref.hasMask, disabledDownload = _ref.disabledDownload, onImgDimensions = _ref.onImgDimensions, showNodata = _ref.showNodata; var _useState = (0,_react_17_0_2_react.useState)('https://view.officeapps.live.com/op/view.aspx?src=http://testgs.educoder.net//rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--03541f6234b93d7ac3b2d84e7eb0e6594a952945/1.ppt'), _useState2 = slicedToArray_default()(_useState, 2), src = _useState2[0], setSrc = _useState2[1]; var _useState3 = (0,_react_17_0_2_react.useState)(""), _useState4 = slicedToArray_default()(_useState3, 2), token = _useState4[0], setToken = _useState4[1]; var _useState5 = (0,_react_17_0_2_react.useState)(), _useState6 = slicedToArray_default()(_useState5, 2), officeData = _useState6[0], setOfficeData = _useState6[1]; var officePath = window.ENV === "build" ? "/react/build" : ""; var apiServer = location.host.startsWith("localhost") ? env/* default */.Z.PROXY_SERVER : env/* default */.Z.API_SERVER; // let size; console.log("disabledDownload---", disabledDownload); var unit = 1024 * 1024; var maxSize = 10 * unit; var closeRef = (0,_react_17_0_2_react.useRef)(); if ((_data = data) !== null && _data !== void 0 && _data.startsWith("/api") && type !== "txt") { data = env/* default */.Z.API_SERVER + data; } // if (type === "office") { // size = parseUrl(data).filesize // if (size > maxSize) { // type = "other" // } // } if (filename) monacoEditor.filename = filename; (0,_react_17_0_2_react.useEffect)(function () { var _document$cookie; var cookies = (_document$cookie = document.cookie) === null || _document$cookie === void 0 || (_document$cookie = _document$cookie.replace(/\s/g, "")) === null || _document$cookie === void 0 ? void 0 : _document$cookie.split(";"); cookies === null || cookies === void 0 || cookies.map(function (item) { var i = item.split("="); if (i[0] === '_educoder_session') { setToken(i[1]); } }); }, []); (0,_react_17_0_2_react.useEffect)(function () { if (type === "office") getData(); }, [type, data]); var getData = /*#__PURE__*/function () { var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() { var _url, _id, res; return regeneratorRuntime_default()().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: console.log("data:", data); _url = data; if (!data.startsWith("http")) { _url = location.origin + _url; } _id = new URL(_url).pathname.split("/").pop(); _context.next = 6; return (0,exercise/* setEcsAttachment */.gJ)({ attachment_id: _id }); case 6: res = _context.sent; setOfficeData(res); case 8: case "end": return _context.stop(); } }, _callee); })); return function getData() { return _ref2.apply(this, arguments); }; }(); var handleClick = function handleClick() { if (data.startsWith("http") || data.startsWith('blob:')) { handleDown(); return; } (0,util/* downloadFile */.Sv)(filename || 'educoder', data, filename); }; var handleDown = function handleDown() { (0,util/* downLoadLink */.Nd)(filename || 'educoder', decodeURIComponent(data)); }; console.log(data, 'data'); return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { style: objectSpread2_default()({}, style || {}), className: "".concat(hasMask && PreviewAllmodules.bgBlack, " ").concat(!!type ? PreviewAllmodules.wrp : "hide"), children: [close && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: PreviewAllmodules.close, ref: closeRef, children: [!!onImgDimensions && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, { title: "\u70B9\u51FB\u5BF9\u56FE\u7247\u8FDB\u884C\u6279\u6CE8", getPopupContainer: function getPopupContainer() { return closeRef.current; }, children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", { onClick: function onClick() { onClose(); onImgDimensions(); }, children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "icon-yulanpizhu" }) }) }), !disabledDownload && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, { title: "\u70B9\u51FB\u4E0B\u8F7D\u6B64\u6587\u4EF6", getPopupContainer: function getPopupContainer() { return closeRef.current; }, children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", { onClick: handleDown, children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "icon-quxiaozhiding" }) }) }), /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, { title: "\u5173\u95ED", getPopupContainer: function getPopupContainer() { return closeRef.current; }, children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: "", onClick: onClose, children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "icon-guanbi1" }) }) })] }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "".concat(PreviewAllmodules[className], " ").concat(className, " ").concat(PreviewAllmodules.monaco, " ").concat(type === "txt" ? "show" : "hide"), children: type === "txt" && /*#__PURE__*/(0,jsx_runtime.jsx)(monaco_editor/* default */.ZP, objectSpread2_default()({}, monacoEditor)) }), type === "audio" && /*#__PURE__*/(0,jsx_runtime.jsx)("audio", { src: ((_data2 = data) === null || _data2 === void 0 ? void 0 : _data2.indexOf("http")) > -1 || (_data3 = data) !== null && _data3 !== void 0 && _data3.startsWith("/api") ? data : "data:image/png;base64,".concat(data), autoPlay: true }), type === "video" && /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, { children: ((_data4 = data) === null || _data4 === void 0 ? void 0 : _data4.indexOf("http")) > -1 || (_data5 = data) !== null && _data5 !== void 0 && _data5.startsWith("/api") ? /*#__PURE__*/(0,jsx_runtime.jsx)("video", { controls: true, src: "".concat(data), autoPlay: true }) : /*#__PURE__*/(0,jsx_runtime.jsx)("video", { controls: true, src: "data:video/mp4;base64,".concat(data), autoPlay: true }) }), type === 'office' && officeData && /*#__PURE__*/(0,jsx_runtime.jsx)("iframe", { src: "".concat(officePath, "/office.html?key=").concat(officeData.key, "&url=").concat(apiServer + officeData.url, "&callbackUrl=").concat(apiServer + officeData.callbackUrl, "&fileType=").concat(officeData.fileType, "&title=").concat(officeData.title, "&model=").concat(editOffice, "&officeServer=").concat(env/* default */.Z.ONLYOFFICE, "&disabledDownload=").concat(!!disabledDownload) }), type === 'html' && /*#__PURE__*/(0,jsx_runtime.jsx)("iframe", { src: data + '&disposition=inline' }), type === 'pdf' && /*#__PURE__*/(0,jsx_runtime.jsx)("iframe", { src: "".concat(officePath, "/js/pdfview/index.html?url=").concat(data, "&disabledDownload=").concat(!!disabledDownload) }) // , type === "image" && /*#__PURE__*/(0,jsx_runtime.jsx)("img", { src: ((_data6 = data) === null || _data6 === void 0 ? void 0 : _data6.indexOf("http")) > -1 || (_data7 = data) !== null && _data7 !== void 0 && _data7.startsWith("/api") ? data : "data:image/png;base64,".concat(data) }), (type === "other" || type === "download") && /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, { children: showNodata ? /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, { customText: "\u5F53\u524D\u6587\u4EF6\u4E0D\u652F\u6301\u9884\u89C8\uFF0C\u53EF\u70B9\u51FB\u4E0B\u8F7D\u67E5\u770B", ButtonTwo: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, { icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "iconfont icon-xiazai4 font14" }), type: "primary", size: 'middle', onClick: handleClick, children: "\u4E0B\u8F7D" }) }) : /*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.ZP, { type: "primary", size: 'middle', onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) // handleClick })] }); }); /***/ }), /***/ 36707: /*!*********************************************************!*\ !*** ./src/components/RenderHtml/index.tsx + 1 modules ***! \*********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { Z: function() { return /* binding */ RenderHtml; } }); // 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/toConsumableArray.js var toConsumableArray = __webpack_require__(37205); var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/createForOfIteratorHelper.js var createForOfIteratorHelper = __webpack_require__(91232); var createForOfIteratorHelper_default = /*#__PURE__*/__webpack_require__.n(createForOfIteratorHelper); // 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/_katex@0.11.1@katex/dist/katex.min.css var katex_min = __webpack_require__(8944); // EXTERNAL MODULE: ./node_modules/_marked@2.0.7@marked/lib/marked.js var marked = __webpack_require__(32834); var marked_default = /*#__PURE__*/__webpack_require__.n(marked); // EXTERNAL MODULE: ./node_modules/_marked@2.0.7@marked/src/helpers.js var helpers = __webpack_require__(11690); ;// CONCATENATED MODULE: ./src/utils/marked.ts function indentCodeCompensation(raw, text) { var matchIndentToCode = raw.match(/^(\s+)(?:```)/); if (matchIndentToCode === null) { return text; } var indentToCode = matchIndentToCode[1]; return text.split('\n').map(function (node) { var matchIndentInNode = node.match(/^\s+/); if (matchIndentInNode === null) { return node; } var _matchIndentInNode = slicedToArray_default()(matchIndentInNode, 1), indentInNode = _matchIndentInNode[0]; if (indentInNode.length >= indentToCode.length) { return node.slice(indentToCode.length); } return node; }).join('\n'); } //兼容之前的 ##标题式写法 var toc = []; var ctx = ["