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__Exerc...

7372 lines
352 KiB

This file contains ambiguous Unicode 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.

(self["webpackChunk"] = self["webpackChunk"] || []).push([[14105,12768,67570],{
/***/ 96403:
/*!*********************************!*\
!*** ./src/pages/tasks/util.js ***!
\*********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* 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 */ 59758);
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"].API_SERVER */ .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';
/***/ }),
/***/ 92523:
/*!***********************************************************!*\
!*** ./src/components/CaptureVideo/index.tsx + 1 modules ***!
\***********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ components_CaptureVideo; }
});
// UNUSED EXPORTS: CaptureVideo
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(17061);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(17156);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/antd/es/message/style/index.js + 1 modules
var style = __webpack_require__(14934);
// EXTERNAL MODULE: ./node_modules/antd/es/message/index.js + 1 modules
var message = __webpack_require__(12461);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(27424);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules
var _umi_production_exports = __webpack_require__(89214);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(84519);
// EXTERNAL MODULE: ./node_modules/uuid/dist/esm-browser/v4.js + 4 modules
var v4 = __webpack_require__(25934);
// EXTERNAL MODULE: ./src/components/UploadFile/index.tsx
var UploadFile = __webpack_require__(82394);
// EXTERNAL MODULE: ./node_modules/ali-oss/dist/aliyun-oss-sdk.js
var aliyun_oss_sdk = __webpack_require__(56448);
var aliyun_oss_sdk_default = /*#__PURE__*/__webpack_require__.n(aliyun_oss_sdk);
;// CONCATENATED MODULE: ./src/components/CaptureVideo/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var CaptureVideomodules = ({"flex_box_center":"flex_box_center___kVqBh","flex_space_between":"flex_space_between___FMnNq","flex_box_vertical_center":"flex_box_vertical_center___meESe","flex_box_center_end":"flex_box_center_end___KFpOb","flex_box_column":"flex_box_column___GHIK9","video":"video___nn_cD"});
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// CONCATENATED MODULE: ./src/components/CaptureVideo/index.tsx
/**
* base64 to file
* @param dataurl base64 content
* @param filename set up a meaningful suffix, or you can set mime type in options
* @returns {File|*}
*/
var dataURLtoFile = function dataURLtoFile(dataurl, filename) {
var arr = dataurl.split(',');
var mime = arr[0].match(/:(.*?);/)[1];
var bstr = atob(arr[1]);
var n = bstr.length;
var u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], {
type: mime
}); // if env support File, also can use this: return new File([u8arr], filename, { type: mime });
};
var CaptureVideo = /*#__PURE__*/(0,react.forwardRef)(function (_ref, ref) {
var time = _ref.time,
number = _ref.number,
supportCamera = _ref.supportCamera,
take_photo = _ref.take_photo,
update = _ref.update;
var video = (0,react.useRef)();
var canvas = (0,react.useRef)();
var params = (0,_umi_production_exports.useParams)();
var _useState = (0,react.useState)([]),
_useState2 = slicedToArray_default()(_useState, 2),
phoneStep = _useState2[0],
setPhoneStep = _useState2[1];
var _useState3 = (0,react.useState)(0),
_useState4 = slicedToArray_default()(_useState3, 2),
status = _useState4[0],
setStatus = _useState4[1]; // 0准备中1开启失败2开启成功,3考试结束
var _useState5 = (0,react.useState)(''),
_useState6 = slicedToArray_default()(_useState5, 2),
src = _useState6[0],
setSrc = _useState6[1];
var _useState7 = (0,react.useState)(),
_useState8 = slicedToArray_default()(_useState7, 2),
interval = _useState8[0],
setInter = _useState8[1];
var _useState9 = (0,react.useState)(0),
_useState10 = slicedToArray_default()(_useState9, 2),
isPause = _useState10[0],
setIsPause = _useState10[1]; //0未开始1开始计时2停止计时
(0,react.useEffect)(function () {
checkMediaDevices();
return function () {
handleStop();
clearTimer();
};
}, []);
(0,react.useEffect)(function () {
// clearTimer()
if (status === 2 && time && number > 0) {
calcPhoto();
setIsPause(1);
// photograph();
}
}, [time]);
(0,react.useEffect)(function () {
if (isPause === 0) return;
if (isPause === 2) {
clearInterval(interval);
} else {
var n = 0;
var id = setInterval(function () {
if (phoneStep.includes(n)) {
handlePhoto();
}
n++;
}, 1000);
setInter(id);
}
return function () {
return clearInterval(interval);
};
}, [isPause]);
(0,react.useImperativeHandle)(ref, function () {
return {
handlePhoto: handlePhoto
};
});
var clearTimer = function clearTimer() {
setIsPause(2);
};
var calcPhoto = function calcPhoto() {
var step = time / number;
var arr = [];
function getRndInteger(min, max) {
return parseInt(Math.floor(Math.random() * (max - min + 1)) + min);
}
new Array(number).fill(0).map(function (item, key) {
if (take_photo) {
arr.push(getRndInteger(step * key, step * (key + 1)));
} else {
if (key == 0) {
arr.push(0);
} else {
arr.push(getRndInteger(step * key, step * (key + 1)));
}
}
});
phoneStep = arr;
setPhoneStep([].concat(arr));
console.log(arr);
};
var checkMediaDevices = function checkMediaDevices() {
if (navigator.mediaDevices === undefined) {
navigator.mediaDevices = {};
}
if (navigator.mediaDevices.getUserMedia === undefined) {
navigator.mediaDevices.getUserMedia = function (constraints) {
var getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
if (!getUserMedia) {
return Promise.reject(new Error('getUserMedia is not implemented in this browser'));
}
return new Promise(function (resolve, reject) {
getUserMedia.call(navigator, constraints, resolve, reject);
});
};
}
navigator.mediaDevices.getUserMedia({
video: {
width: 640,
height: 480
}
}).then(function (stream) {
supportCamera && supportCamera(2);
setStatus(2);
if ("srcObject" in video.current) {
video.current.srcObject = stream;
} else {
video.current.src = window.URL.createObjectURL(stream);
}
video.current.onloadedmetadata = function (e) {
video.current.play();
};
video.current.addEventListener('ended', function () {
//结束
console.log("播放结束");
clearTimer();
message/* default.error */.ZP.error({
content: "您已经关闭了摄像头请在10秒钟内恢复摄像头否则将推出考试",
duration: 10,
key: 9998
});
}, false);
})["catch"](function (err) {
setStatus(1);
supportCamera && supportCamera(1);
// 错误信息,以及用户未授权
if (err.message === "Permission denied" || err.name === 'NotAllowedError') {
message/* default.error */.ZP.error('您已拒绝了获取摄像头');
} else {
message/* default.error */.ZP.error('摄像头获取失败,或您已拒绝了获取摄像头');
}
console.log("errname: " + err.name);
console.log("err: " + err.message);
});
};
var handlePhoto = function handlePhoto() {
try {
canvas.current.width = video.current.videoWidth;
canvas.current.height = video.current.videoHeight;
var context = canvas.current.getContext('2d');
context.drawImage(video.current, 0, 0, canvas.current.width, canvas.current.height);
setSrc(canvas.current.toDataURL('image/png'));
uploadFile(canvas.current.toDataURL('image/png'));
} catch (e) {}
};
var handleStop = function handleStop() {
try {
var stream = video.current.srcObject;
var tracks = stream.getTracks();
tracks.forEach(function (track) {
track.stop();
});
video.current.srcObject = null;
} catch (e) {}
};
var uploadFile = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(file) {
var _res$data, _res$data2, _res$data3, _res$data4, _res$data5, _res$data6, _res$data7;
var res, name, client, imgfile;
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/buckets/get_upload_token.json', {
method: "get"
});
case 2:
res = _context.sent;
res.data = JSON.parse((0,UploadFile/* decrypt */.pe)(res.data));
name = (0,v4/* default */.Z)();
client = new (aliyun_oss_sdk_default())({
endpoint: res === null || res === void 0 ? void 0 : (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.end_point,
region: res === null || res === void 0 ? void 0 : (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.region,
accessKeyId: res === null || res === void 0 ? void 0 : (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.access_key_id,
accessKeySecret: res === null || res === void 0 ? void 0 : (_res$data4 = res.data) === null || _res$data4 === void 0 ? void 0 : _res$data4.access_key_secret,
bucket: res === null || res === void 0 ? void 0 : (_res$data5 = res.data) === null || _res$data5 === void 0 ? void 0 : _res$data5.bucket,
stsToken: res === null || res === void 0 ? void 0 : (_res$data6 = res.data) === null || _res$data6 === void 0 ? void 0 : _res$data6.security_token
});
imgfile = dataURLtoFile(file, name);
client.multipartUpload("".concat(name, ".png"), imgfile, {
timeout: 10 * 1000,
partSize: 10485760,
callback: {
url: res === null || res === void 0 ? void 0 : (_res$data7 = res.data) === null || _res$data7 === void 0 ? void 0 : _res$data7.callback_url,
host: res === null || res === void 0 ? void 0 : res.data.bucket_host,
body: 'bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&my_var=${x:my_var}&login=' + params.login + '&container_id=' + params.categoryId + '&container_type=Exercise'
}
}).then(function (result) {
console.log("result:", result);
})["catch"](function (err) {
console.log("err:", err);
});
case 8:
case "end":
return _context.stop();
}
}, _callee);
}));
return function uploadFile(_x) {
return _ref2.apply(this, arguments);
};
}();
return /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
children: status !== 3 && /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
className: CaptureVideomodules.video,
id: "screenshot",
children: [status === 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u6B63\u5728\u5F00\u542F\u6444\u50CF\u5934..."
}), status === 1 && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u6444\u50CF\u5934\u5F00\u542F\u5931\u8D25"
}), status === 2 && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("video", {
width: "288",
ref: video,
autoPlay: true
}), /*#__PURE__*/(0,jsx_runtime.jsx)("canvas", {
style: {
display: "none"
},
ref: canvas
})]
})]
})
});
});
/* harmony default export */ var components_CaptureVideo = (CaptureVideo);
/***/ }),
/***/ 36579:
/*!*********************************************************!*\
!*** ./src/components/PreviewAll/index.tsx + 1 modules ***!
\*********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ PreviewAll; }
});
// EXTERNAL MODULE: ./node_modules/antd/es/button/style/index.js + 1 modules
var style = __webpack_require__(29913);
// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js
var es_button = __webpack_require__(71577);
// EXTERNAL MODULE: ./node_modules/antd/es/tooltip/style/index.js + 1 modules
var tooltip_style = __webpack_require__(38390);
// EXTERNAL MODULE: ./node_modules/antd/es/tooltip/index.js + 3 modules
var tooltip = __webpack_require__(84908);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(42122);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(17061);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(17156);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(27424);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
;// 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/@ant-design/icons/es/icons/ArrowDownOutlined.js + 1 modules
var ArrowDownOutlined = __webpack_require__(77171);
// EXTERNAL MODULE: ./src/components/monaco-editor/index.jsx + 3 modules
var monaco_editor = __webpack_require__(8691);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(29427);
// EXTERNAL MODULE: ./src/service/exercise.ts
var exercise = __webpack_require__(51412);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(59758);
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// CONCATENATED MODULE: ./src/components/PreviewAll/index.tsx
/* harmony default export */ var PreviewAll = (function (_ref) {
var _data, _data2, _data3, _data4, _data5, _data6;
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;
var _useState = (0,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.useState)(""),
_useState4 = slicedToArray_default()(_useState3, 2),
token = _useState4[0],
setToken = _useState4[1];
var _useState5 = (0,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.PROXY_SERVER */.Z.PROXY_SERVER : env/* default.API_SERVER */.Z.API_SERVER;
var size;
var unit = 1024 * 1024;
var maxSize = 10 * unit;
var closeRef = (0,react.useRef)();
if ((_data = data) !== null && _data !== void 0 && _data.startsWith("/api") && type !== "txt") {
data = env/* default.API_SERVER */.Z.API_SERVER + data;
}
if (type === "office") {
size = (0,util/* parseUrl */.en)(data).filesize;
if (size > maxSize) {
type = "other";
}
}
if (filename) monacoEditor.filename = filename;
(0,react.useEffect)(function () {
var _document$cookie, _document$cookie$repl;
var cookies = (_document$cookie = document.cookie) === null || _document$cookie === void 0 ? void 0 : (_document$cookie$repl = _document$cookie.replace(/\s/g, "")) === null || _document$cookie$repl === void 0 ? void 0 : _document$cookie$repl.split(";");
cookies === null || cookies === void 0 ? void 0 : cookies.map(function (item) {
var i = item.split("=");
if (i[0] === '_educoder_session') {
setToken(i[1]);
}
});
}, []);
(0,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));
};
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: "".concat(((_data2 = data) === null || _data2 === void 0 ? void 0 : _data2.indexOf("http://")) > -1 || ((_data3 = data) === null || _data3 === void 0 ? void 0 : _data3.indexOf("https://")) > -1 ? "" : "data:audio/mp3;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 ? /*#__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.ONLYOFFICE */.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)
}) //<embed className={styles.embed + "#toolbar=0"} src={data} />
, type === "image" && /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: "".concat(((_data5 = data) === null || _data5 === void 0 ? void 0 : _data5.indexOf("http://")) > -1 || ((_data6 = data) === null || _data6 === void 0 ? void 0 : _data6.indexOf("https://")) > -1 ? "" : "data:image/png;base64,").concat(data)
}), type === "other" && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.Z, {
type: "primary",
size: "large",
onClick: handleClick,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"]
})
}), type === "download" && /*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.Z, {
type: "primary",
size: "large",
onClick: handleClick,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"]
})]
});
});
/***/ }),
/***/ 12768:
/*!*********************************************************!*\
!*** ./src/components/RenderHtml/index.tsx + 1 modules ***!
\*********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ RenderHtml; }
});
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(42122);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(27424);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/katex/dist/katex.min.css
var katex_min = __webpack_require__(81897);
// EXTERNAL MODULE: ./node_modules/marked/lib/marked.js
var marked = __webpack_require__(47084);
var marked_default = /*#__PURE__*/__webpack_require__.n(marked);
// EXTERNAL MODULE: ./node_modules/marked/src/helpers.js
var helpers = __webpack_require__(90621);
;// 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 = ["<ul>"];
var renderer = new (marked_default()).Renderer();
var headingRegex = /^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/;
function cleanToc() {
toc.length = 0;
ctx = ["<ul>"];
}
var lines = {
overflow: "hidden",
WebkitBoxOrient: "vertical",
display: "-webkit-box",
WebkitLineClamp: 2
};
function buildToc(coll, k, level, ctx) {
if (k >= coll.length || coll[k].level <= level) {
return k;
}
var node = coll[k];
ctx.push("<li><a href='#" + node.anchor + "'>" + node.text + "</a>");
k++;
var childCtx = [];
k = buildToc(coll, k, node.level, childCtx);
if (childCtx.length > 0) {
ctx.push("<ul>");
childCtx.forEach(function (idm) {
ctx.push(idm);
});
ctx.push("</ul>");
}
ctx.push("</li>");
k = buildToc(coll, k, level, ctx);
return k;
}
function getTocContent() {
buildToc(toc, 0, 0, ctx);
ctx.push("</ul>");
return ctx.join("");
}
var tokenizer = {
heading: function heading(src) {
var cap = headingRegex.exec(src);
if (cap) {
return {
type: 'heading',
raw: cap[0],
depth: cap[1].length,
text: cap[2]
};
}
},
fences: function fences(src) {
var cap = this.rules.block.fences.exec(src);
if (cap) {
var raw = cap[0];
var text = indentCodeCompensation(raw, cap[3] || '');
var lang = cap[2] ? cap[2].trim() : cap[2];
if (['latex', 'katex', 'math'].indexOf(lang) >= 0) {
var id = next_id();
var expression = text;
text = id;
math_expressions[id] = {
type: 'block',
expression: expression
};
}
return {
type: 'code',
raw: raw,
lang: lang,
text: text
};
}
}
};
var latexRegex = /(?:\${2})([^\n`]+?)(?:\${2})/gi;
var katex_count = 0;
var next_id = function next_id() {
return "__special_katext_id_".concat(katex_count++, "__");
};
var math_expressions = {};
function getMathExpressions() {
return math_expressions;
}
function resetMathExpressions() {
katex_count = 0;
math_expressions = {};
}
function replace_math_with_ids(text) {
text = text.replace(latexRegex, function (_match, expression) {
var id = next_id();
math_expressions[id] = {
type: 'inline',
expression: expression
};
return id;
});
return text;
}
var original_listitem = renderer.listitem;
renderer.listitem = function (text) {
return original_listitem(replace_math_with_ids(text));
};
var original_paragraph = renderer.paragraph;
renderer.paragraph = function (text) {
return original_paragraph(replace_math_with_ids(text));
};
var original_tablecell = renderer.tablecell;
renderer.tablecell = function (content, flags) {
return original_tablecell(replace_math_with_ids(content), flags);
};
renderer.code = function (code, infostring, escaped) {
var lang = (infostring || '').match(/\S*/)[0];
if (!lang) {
return '<pre class="prettyprint linenums"><code>' + (escaped ? code : (0,helpers.escape)(code, true)) + '</code></pre>';
}
if (['latex', 'katex', 'math'].indexOf(lang) >= 0) {
return "<p class='editormd-tex'>".concat(code, "</p>");
} else {
return "<pre class=\"prettyprint linenums\"><code class=\"language-".concat(infostring, "\">").concat(escaped ? code : (0,helpers.escape)(code, true), "</code></pre>\n");
}
};
renderer.heading = function (text, level, raw) {
var anchor = this.options.headerPrefix + raw.toLowerCase().replace(/[^\w\\u4e00-\\u9fa5]]+/g, '-');
toc.push({
anchor: anchor,
level: level,
text: text
});
return '<h' + level + ' id="' + anchor + '">' + text + '</h' + level + '>';
};
marked_default().setOptions({
silent: true,
gfm: true,
pedantic: false
});
marked_default().use({
tokenizer: tokenizer,
renderer: renderer
});
/* harmony default export */ var utils_marked = ((marked_default()));
// EXTERNAL MODULE: ./node_modules/code-prettify/src/prettify.js
var prettify = __webpack_require__(11771);
// EXTERNAL MODULE: ./node_modules/hls.js/dist/hls.js
var dist_hls = __webpack_require__(67631);
var hls_default = /*#__PURE__*/__webpack_require__.n(dist_hls);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(59758);
// EXTERNAL MODULE: ./node_modules/katex/dist/katex.js
var katex = __webpack_require__(20527);
// EXTERNAL MODULE: ./src/components/PreviewAll/index.tsx + 1 modules
var PreviewAll = __webpack_require__(36579);
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// CONCATENATED MODULE: ./src/components/RenderHtml/index.tsx
var preRegex = /<pre[^>]*>/g;
function _unescape(str) {
var div = document.createElement('div');
div.innerHTML = str;
return div.childNodes.length === 0 ? '' : div.childNodes[0].nodeValue;
}
/* harmony default export */ var RenderHtml = (function (_ref) {
var _ref$value = _ref.value,
value = _ref$value === void 0 ? '' : _ref$value,
className = _ref.className,
showTextOnly = _ref.showTextOnly,
showLines = _ref.showLines,
_ref$style = _ref.style,
style = _ref$style === void 0 ? {} : _ref$style,
_ref$stylesPrev = _ref.stylesPrev,
stylesPrev = _ref$stylesPrev === void 0 ? {} : _ref$stylesPrev;
var str = String(value);
var _useState = (0,react.useState)(""),
_useState2 = slicedToArray_default()(_useState, 2),
data = _useState2[0],
setData = _useState2[1];
var _useState3 = (0,react.useState)("office"),
_useState4 = slicedToArray_default()(_useState3, 2),
type = _useState4[0],
setType = _useState4[1];
var html = (0,react.useMemo)(function () {
try {
var reg = /\(\s+\/api\/attachments\/|\(\/api\/attachments\/|\(\/attachments\/download\//g;
var reg2 = /\"\/api\/attachments\/|\"\/attachments\/download\//g;
var reg3 = /\(\s+\/files\/uploads\/|\"\/files\/uploads\//g;
str = str.replace(reg, "(" + env/* default.API_SERVER */.Z.API_SERVER + "/api/attachments/").replace(reg2, '"' + env/* default.API_SERVER */.Z.API_SERVER + "/api/attachments/").replace(reg3, '"' + env/* default.API_SERVER */.Z.API_SERVER + "/files/uploads/").replaceAll("http://video.educoder", "https://video.educoder").replaceAll("http://www.educoder.net/api", "https://data.educoder.net/api").replaceAll("https://www.educoder.net/api", "https://data.educoder.net/api").replace(/\r\n/g, "\n");
// str = str.replace(new RegExp("(?<!\\n)\\n(?!\\n)", "g"), " \n")
} catch (e) {}
;
var rs = utils_marked(str);
var math_expressions = getMathExpressions();
if (str.match(/\[TOC\]/)) {
rs = rs.replace('<p>[TOC]</p>', getTocContent());
cleanToc();
}
rs = rs.replace(/(__special_katext_id_\d+__)/g, function (_match, capture) {
var _math_expressions$cap = math_expressions[capture],
type = _math_expressions$cap.type,
expression = _math_expressions$cap.expression;
return (0,katex.renderToString)(_unescape(expression) || '', {
displayMode: type === 'block',
throwOnError: false,
output: 'html'
});
});
rs = rs.replace(/▁/g, '▁▁▁');
resetMathExpressions();
// return dompurify.sanitize(rs)
if (showTextOnly) {
var dom = document.createElement('div');
dom.innerHTML = rs;
return dom.innerText;
}
setTimeout(function () {
return onLoad();
}, 500);
return rs;
}, [str]);
var el = (0,react.useRef)();
lines.WebkitLineClamp = showLines;
if (showLines) {
style = objectSpread2_default()(objectSpread2_default()({}, style), lines);
}
function onAncherHandler(e) {
var target = e.target;
if (target.tagName.toUpperCase() === 'A') {
var ancher = target.getAttribute('href');
if (ancher.indexOf("office") > -1) {
e.preventDefault();
setData(ancher);
setType("office");
} else if (ancher.indexOf("application/pdf") > -1) {
e.preventDefault();
setData(ancher);
setType("pdf");
} else if (ancher.indexOf("text/html") > -1) {
e.preventDefault();
setData(ancher);
setType("html");
} else if (ancher.startsWith('#')) {
e.preventDefault();
var viewEl = document.getElementById(ancher.replace('#', ''));
if (viewEl) {
viewEl.scrollIntoView(true);
}
}
}
}
var onLoad = function onLoad() {
var _el$current;
var videoElement = (_el$current = el.current) === null || _el$current === void 0 ? void 0 : _el$current.querySelectorAll('video');
videoElement === null || videoElement === void 0 ? void 0 : videoElement.forEach(function (item) {
item.oncontextmenu = function () {
return false;
};
if (item.src.indexOf('.m3u8') > -1) {
if (item.canPlayType('application/vnd.apple.mpegurl')) {} else if (hls_default().isSupported()) {
var hls = new (hls_default())();
hls.loadSource(item.src);
hls.attachMedia(item);
}
}
});
};
(0,react.useEffect)(function () {
if (el.current && html) {
if (html.match(preRegex)) {
window.PR.prettyPrint();
}
}
if (el.current) {
el.current.addEventListener('click', onAncherHandler);
return function () {
var _el$current2;
(_el$current2 = el.current) === null || _el$current2 === void 0 ? void 0 : _el$current2.removeEventListener('click', onAncherHandler);
resetMathExpressions();
cleanToc();
};
}
}, [html, el.current, onAncherHandler]);
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
ref: el,
style: objectSpread2_default()({}, style),
className: "".concat(className ? className : '', " markdown-body "),
dangerouslySetInnerHTML: {
__html: html
}
}), /*#__PURE__*/(0,jsx_runtime.jsx)(PreviewAll/* default */.Z, {
close: true,
data: data,
type: !!(data !== null && data !== void 0 && data.length) ? type : "",
style: objectSpread2_default()({}, stylesPrev),
onClose: function onClose() {
return setData("");
}
})]
});
});
/***/ }),
/***/ 82394:
/*!*********************************************!*\
!*** ./src/components/UploadFile/index.tsx ***!
\*********************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "cT": function() { return /* binding */ uploadFile; },
/* harmony export */ "pe": function() { return /* binding */ decrypt; }
/* harmony export */ });
/* unused harmony exports reNameFile, UploadFile */
/* harmony import */ var antd_es_message_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/message/style */ 14934);
/* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! antd/es/message */ 12461);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/toConsumableArray.js */ 861);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/slicedToArray.js */ 27424);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js */ 70215);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/objectSpread2.js */ 42122);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js */ 17061);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/asyncToGenerator.js */ 17156);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var antd_es_upload_style__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/upload/style */ 13759);
/* harmony import */ var antd_es_upload__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! antd/es/upload */ 7426);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react */ 67294);
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/utils/fetch */ 84519);
/* harmony import */ var crypto_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! crypto-js */ 81354);
/* harmony import */ var crypto_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(crypto_js__WEBPACK_IMPORTED_MODULE_10__);
/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! uuid */ 25934);
/* harmony import */ var umi__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! umi */ 89214);
/* harmony import */ var ali_oss__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ali-oss */ 56448);
/* harmony import */ var ali_oss__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(ali_oss__WEBPACK_IMPORTED_MODULE_13__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! react/jsx-runtime */ 85893);
var _excluded = ["user", "cancelUpload"];
var Dragger = antd_es_upload__WEBPACK_IMPORTED_MODULE_12__/* ["default"].Dragger */ .Z.Dragger;
var decrypt = function decrypt(word) {
var ENC_KEY = "bf3c199c2470cb477d907b1e0917c17b";
var IV = "5183666c72eec9e4";
var key = crypto_js__WEBPACK_IMPORTED_MODULE_10___default().enc.Utf8.parse(ENC_KEY);
var iv = crypto_js__WEBPACK_IMPORTED_MODULE_10___default().enc.Utf8.parse(IV);
var decrypt = crypto_js__WEBPACK_IMPORTED_MODULE_10___default().AES.decrypt(word, key, {
iv: iv,
mode: (crypto_js__WEBPACK_IMPORTED_MODULE_10___default().mode.CBC)
// padding: CryptoJS.pad.ZeroPadding
});
return decrypt.toString((crypto_js__WEBPACK_IMPORTED_MODULE_10___default().enc.Utf8));
};
var tempCheckpoint;
// 重命名
var reNameFile = /*#__PURE__*/(/* unused pure expression or super */ null && (function () {
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
var _res$data, _res$data2, _res$data3, _res$data4, _res$data5, _res$data6;
var identifier, oldFilename, newFilename, res, client;
return _regeneratorRuntime().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
identifier = _ref.identifier, oldFilename = _ref.oldFilename, newFilename = _ref.newFilename;
_context.next = 3;
return Fetch('/api/buckets/get_upload_token_for_big_files.json', {
method: "get"
});
case 3:
res = _context.sent;
res.data = JSON.parse(decrypt(res.data));
client = new OSS({
endpoint: res === null || res === void 0 ? void 0 : (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.end_point,
region: res === null || res === void 0 ? void 0 : (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.region,
accessKeyId: res === null || res === void 0 ? void 0 : (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.access_key_id,
accessKeySecret: res === null || res === void 0 ? void 0 : (_res$data4 = res.data) === null || _res$data4 === void 0 ? void 0 : _res$data4.access_key_secret,
bucket: res === null || res === void 0 ? void 0 : (_res$data5 = res.data) === null || _res$data5 === void 0 ? void 0 : _res$data5.bucket,
stsToken: res === null || res === void 0 ? void 0 : (_res$data6 = res.data) === null || _res$data6 === void 0 ? void 0 : _res$data6.security_token
});
return _context.abrupt("return", new Promise(function (resolve, reject) {
console.log(11111, "".concat(identifier, "/").concat(oldFilename), "".concat(identifier, "/").concat(newFilename), res.data);
client.copy("/".concat(identifier, "/").concat(oldFilename), "/".concat(identifier, "/").concat(newFilename)).then(function (r) {
console.log('拷贝成功', r);
// client
// .delete(`${identifier}/${oldFilename}`)
// .then(r => console.log(r))
// .catch(e => console.log(e));
})["catch"](function (e) {
console.log(e);
debugger;
});
}));
case 7:
case "end":
return _context.stop();
}
}, _callee);
}));
return function reNameFile(_x) {
return _ref2.apply(this, arguments);
};
}()));
var uploadFile = /*#__PURE__*/function () {
var _ref3 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_6___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_5___default()().mark(function _callee2(file, obj, config) {
var _res$data7, _res$data8, _res$data9, _res$data10, _res$data11, _res$data12;
var res, namearrs, name, client;
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_5___default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
obj.file_name = file.name;
_context2.next = 3;
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .ZP)('/api/buckets/get_upload_token.json', {
method: "get"
});
case 3:
res = _context2.sent;
console.log("decrypt(res.data):", decrypt(res.data));
res.data = JSON.parse(decrypt(res.data));
namearrs = file.name.split(".");
namearrs.pop();
name = obj.realFileName ? namearrs.join("") : (0,uuid__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z)(); // const name = file.name
client = new (ali_oss__WEBPACK_IMPORTED_MODULE_13___default())({
endpoint: res === null || res === void 0 ? void 0 : (_res$data7 = res.data) === null || _res$data7 === void 0 ? void 0 : _res$data7.end_point,
region: res === null || res === void 0 ? void 0 : (_res$data8 = res.data) === null || _res$data8 === void 0 ? void 0 : _res$data8.region,
accessKeyId: res === null || res === void 0 ? void 0 : (_res$data9 = res.data) === null || _res$data9 === void 0 ? void 0 : _res$data9.access_key_id,
accessKeySecret: res === null || res === void 0 ? void 0 : (_res$data10 = res.data) === null || _res$data10 === void 0 ? void 0 : _res$data10.access_key_secret,
bucket: res === null || res === void 0 ? void 0 : (_res$data11 = res.data) === null || _res$data11 === void 0 ? void 0 : _res$data11.bucket,
stsToken: res === null || res === void 0 ? void 0 : (_res$data12 = res.data) === null || _res$data12 === void 0 ? void 0 : _res$data12.security_token
});
return _context2.abrupt("return", new Promise(function (resolve, reject) {
var _res$data13;
client.multipartUpload("".concat(name), new Blob([file], {
type: file.type
}), _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default()({
timeout: 200 * 1000,
partSize: 102400
}, config), {}, {
callback: {
url: res === null || res === void 0 ? void 0 : (_res$data13 = res.data) === null || _res$data13 === void 0 ? void 0 : _res$data13.callback_url,
host: res === null || res === void 0 ? void 0 : res.data.bucket_host,
body: 'bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&my_var=${x:my_var}&' + (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_9__/* .parseParams */ .rz)(obj)
// body: 'bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&my_var=${x:my_var}&login=' + obj.login + '&container_id=' + obj.container_id + '&container_type='+obj.container_type,
}
})).then(function (result) {
var _result$data;
file.response = (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.data;
resolve(result === null || result === void 0 ? void 0 : result.data);
})["catch"](function (err) {
reject(err);
console.log("err:", err);
});
}));
case 11:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function uploadFile(_x2, _x3, _x4) {
return _ref3.apply(this, arguments);
};
}();
var UploadFile = function UploadFile(_ref4) {
var user = _ref4.user,
cancelUpload = _ref4.cancelUpload,
props = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_3___default()(_ref4, _excluded);
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_8__.useState)([]),
_useState2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_2___default()(_useState, 2),
fileList = _useState2[0],
setFileList = _useState2[1];
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_8__.useState)(),
_useState4 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_2___default()(_useState3, 2),
client = _useState4[0],
setClient = _useState4[1];
var _props = {
onRemove: function onRemove(e) {
setFileList(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_1___default()(fileList.filter(function (item) {
return item.name !== e.name;
})));
props.onChange(fileList.filter(function (item) {
return item.name !== e.name;
}));
},
disabled: props.disabled,
multiple: true,
fileList: fileList === null || fileList === void 0 ? void 0 : fileList.map(function (item) {
return item.file;
}),
customRequest: function customRequest() {},
beforeUpload: function () {
var _beforeUpload = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_6___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_5___default()().mark(function _callee3(file) {
var fileSize;
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_5___default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
fileSize = props.maxSize || 1024 * 1024 * 1024 * 1;
if (!fileList.filter(function (item) {
return item.name === file.name;
}).length) {
_context3.next = 4;
break;
}
antd_es_message__WEBPACK_IMPORTED_MODULE_16__/* ["default"].info */ .ZP.info("".concat(file.name, "\u5DF2\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9"));
return _context3.abrupt("return");
case 4:
if (!((file === null || file === void 0 ? void 0 : file.size) > fileSize)) {
_context3.next = 7;
break;
}
antd_es_message__WEBPACK_IMPORTED_MODULE_16__/* ["default"].info */ .ZP.info("\u6587\u4EF6\u8D85\u8FC7".concat(fileSize / 1024 / 1024 / 1024, "GB\uFF0C\u4E0D\u7B26\u5408\u4E0A\u4F20\u8981\u6C42"));
return _context3.abrupt("return", false);
case 7:
fileList.push({
name: file.name,
file: file
});
setFileList(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_1___default()(fileList));
props.onChange(fileList);
return _context3.abrupt("return", false);
case 11:
case "end":
return _context3.stop();
}
}, _callee3);
}));
function beforeUpload(_x5) {
return _beforeUpload.apply(this, arguments);
}
return beforeUpload;
}()
};
var _uploadFiles = /*#__PURE__*/function () {
var _ref5 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_6___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_5___default()().mark(function _callee4(file, obj) {
var _res$data14, _res$data15, _res$data16, _res$data17, _res$data18, _res$data19;
var name, res, namearrs, filename;
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_5___default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
obj.file_name = file.name;
name = file.name;
_context4.next = 4;
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .ZP)('/api/buckets/get_upload_token_for_big_files.json', {
method: "get"
});
case 4:
res = _context4.sent;
res.data = JSON.parse(decrypt(res.data));
if (!((res === null || res === void 0 ? void 0 : res.status) !== 0)) {
_context4.next = 12;
break;
}
fileList[fileList.findIndex(function (item) {
return item.name === name;
})]['status'] = 'error';
fileList[fileList.findIndex(function (item) {
return item.name === name;
})]['file']['status'] = 'error';
props.onChange(fileList);
antd_es_message__WEBPACK_IMPORTED_MODULE_16__/* ["default"].warn */ .ZP.warn("上传失败,请重新尝试");
return _context4.abrupt("return");
case 12:
client = new (ali_oss__WEBPACK_IMPORTED_MODULE_13___default())({
endpoint: res === null || res === void 0 ? void 0 : (_res$data14 = res.data) === null || _res$data14 === void 0 ? void 0 : _res$data14.end_point,
region: res === null || res === void 0 ? void 0 : (_res$data15 = res.data) === null || _res$data15 === void 0 ? void 0 : _res$data15.region,
accessKeyId: res === null || res === void 0 ? void 0 : (_res$data16 = res.data) === null || _res$data16 === void 0 ? void 0 : _res$data16.access_key_id,
accessKeySecret: res === null || res === void 0 ? void 0 : (_res$data17 = res.data) === null || _res$data17 === void 0 ? void 0 : _res$data17.access_key_secret,
bucket: res === null || res === void 0 ? void 0 : (_res$data18 = res.data) === null || _res$data18 === void 0 ? void 0 : _res$data18.bucket,
stsToken: res === null || res === void 0 ? void 0 : (_res$data19 = res.data) === null || _res$data19 === void 0 ? void 0 : _res$data19.security_token
});
console.log(file, 'file');
setClient(client);
// const filename = uuidv4()
namearrs = file.name.split(".");
namearrs.pop();
filename = obj.realFileName ? namearrs.join(".") : (0,uuid__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z)();
return _context4.abrupt("return", new Promise(function (resolve, reject) {
try {
var _res$data20;
client.multipartUpload("".concat(props.identifier, "/").concat(filename).concat(name.indexOf(".") > -1 ? '.' + name.split(".").pop() : ""), new Blob([file.file], {
type: file.file.type
}), {
timeout: 3600 * 1000,
partSize: 1002400,
progress: function progress(p, checkpoint, res) {
try {
console.log("进度", p, checkpoint, res);
var index = fileList.findIndex(function (item) {
return item.name === name;
});
fileList[index]['file']['percent'] = p * 100;
// if (p === 1) {
// fileList[index]['status'] = 'done'
// fileList[index]['file']['status'] = 'done'
// props.onChange(fileList)
// }
fileList[index].tempCheckpoint = checkpoint;
setFileList(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_1___default()(fileList));
} catch (e) {}
},
checkpoint: fileList[fileList.findIndex(function (item) {
return item.name === name;
})].tempCheckpoint,
callback: {
customValue: {
id: name + ''
},
url: res === null || res === void 0 ? void 0 : (_res$data20 = res.data) === null || _res$data20 === void 0 ? void 0 : _res$data20.callback_url,
host: res === null || res === void 0 ? void 0 : res.data.bucket_host,
body: 'bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&my_var=${x:my_var}&' + (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_9__/* .parseParams */ .rz)(obj)
}
}).then(function (result) {
var _result$data2;
var index = fileList.findIndex(function (item) {
return item.name === name;
});
var status = 'done';
if (((_result$data2 = result.data) === null || _result$data2 === void 0 ? void 0 : _result$data2.status) === 0) {
var _result$data3;
file.response = (_result$data3 = result.data) === null || _result$data3 === void 0 ? void 0 : _result$data3.data;
var _index = fileList.findIndex(function (item) {
return item.name === name;
});
fileList[_index]['status'] = 'done';
fileList[_index]['file']['status'] = 'done';
} else {
var _result$data4;
antd_es_message__WEBPACK_IMPORTED_MODULE_16__/* ["default"].warn */ .ZP.warn((_result$data4 = result.data) === null || _result$data4 === void 0 ? void 0 : _result$data4.message);
status = 'error';
}
fileList[index]['status'] = status;
fileList[index]['file']['status'] = status;
props.onChange(fileList);
resolve(result === null || result === void 0 ? void 0 : result.data);
})["catch"](function (err) {
fileList[fileList.findIndex(function (item) {
return item.name === name;
})]['status'] = 'error';
fileList[fileList.findIndex(function (item) {
return item.name === name;
})]['file']['status'] = 'error';
antd_es_message__WEBPACK_IMPORTED_MODULE_16__/* ["default"].warn */ .ZP.warn("上传失败,请重新尝试");
setFileList(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_1___default()(fileList));
props.onChange(fileList);
reject(err);
console.log("err:", err);
});
} catch (e) {
debugger;
}
}));
case 19:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return function _uploadFiles(_x6, _x7) {
return _ref5.apply(this, arguments);
};
}();
(0,react__WEBPACK_IMPORTED_MODULE_8__.useEffect)(function () {
if (fileList.every(function (item) {
return item === 'done' || item === 'error';
})) {
props.onComplete(fileList);
}
}, [fileList]);
(0,react__WEBPACK_IMPORTED_MODULE_8__.useEffect)(function () {
if (cancelUpload) {
var _client;
(_client = client) === null || _client === void 0 ? void 0 : _client.cancel();
}
}, [cancelUpload]);
(0,react__WEBPACK_IMPORTED_MODULE_8__.useEffect)(function () {
if (props.uploading) fileList.map( /*#__PURE__*/function () {
var _ref6 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_6___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_5___default()().mark(function _callee5(item) {
var _user$userInfo, res;
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_5___default()().wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
if (!((!item.status || item.status === 'error') && !cancelUpload)) {
_context5.next = 6;
break;
}
item.status = 'uploading';
item.file.status = 'uploading';
_context5.next = 5;
return _uploadFiles(item, {
login: user === null || user === void 0 ? void 0 : (_user$userInfo = user.userInfo) === null || _user$userInfo === void 0 ? void 0 : _user$userInfo.login,
container_type: props.container_type,
container_id: props.container_id,
description: props.description,
realFileName: props.realFileName
});
case 5:
res = _context5.sent;
case 6:
case "end":
return _context5.stop();
}
}, _callee5);
}));
return function (_x8) {
return _ref6.apply(this, arguments);
};
}());
}, [props.uploading]);
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_14__.jsx)(Dragger, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default()({}, _props), {}, {
height: props.height,
className: props.className,
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_14__.jsx)("p", {
className: "ant-upload-hint",
children: props.text || '拖拽文件或者点击上传'
})
}));
};
/* harmony default export */ __webpack_exports__["ZP"] = ((0,umi__WEBPACK_IMPORTED_MODULE_11__.connect)(function (_ref7) {
var loading = _ref7.loading,
globalSetting = _ref7.globalSetting,
user = _ref7.user;
return {
globalSetting: globalSetting,
loading: loading.models.competitions,
user: user
};
})(UploadFile));
/***/ }),
/***/ 97501:
/*!*************************************************************!*\
!*** ./src/components/markdown-editor/code-block/index.tsx ***!
\*************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "h": function() { return /* binding */ MyCodeMirror; }
/* harmony export */ });
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/objectSpread2.js */ 42122);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var antd_es_button_style__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/button/style */ 29913);
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! antd/es/button */ 71577);
/* harmony import */ var antd_es_form_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/form/style */ 75627);
/* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! antd/es/form */ 51018);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/slicedToArray.js */ 27424);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var antd_es_select_style__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/select/style */ 95985);
/* harmony import */ var antd_es_select__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/select */ 34041);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ 67294);
/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! codemirror */ 4631);
/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(codemirror__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var codemirror_lib_codemirror_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! codemirror/lib/codemirror.css */ 71749);
/* harmony import */ var codemirror_theme_blackboard_css__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! codemirror/theme/blackboard.css */ 30483);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react/jsx-runtime */ 85893);
var Option = antd_es_select__WEBPACK_IMPORTED_MODULE_10__/* ["default"].Option */ .Z.Option;
//https://github.com/codemirror/CodeMirror/issues/4838
var formItemLayout = {
labelCol: {
span: 4
},
wrapperCol: {
span: 20
}
};
var LanguageDesc = {
asp: ['ASP', 'vbscript'],
actionscript: ['ActionScript(3.0)/Flash/Flex', 'clike'],
bash: ['Bash/Bat', 'shell'],
css: ['CSS', 'css'],
c: ['C', 'clike'],
cpp: ['C++', 'clike'],
csharp: ['C#', 'clike'],
coffeescript: ['CoffeeScript', 'coffeescript'],
d: ['D', 'd'],
dart: ['Dart', 'dart'],
delphi: ['Delphi/Pascal', 'pascal'],
erlang: ['Erlang', 'erlang'],
go: ['Golang', 'go'],
groovy: ['Groovy', 'groovy'],
html: ['HTML', 'text/html'],
java: ['Java', 'clike'],
json: ['JSON', 'text/json'],
javascript: ['Javascript', 'javascript'],
lua: ['Lua', 'lua'],
less: ['LESS', 'css'],
markdown: ['Markdown', 'gfm'],
'objective-c': ['Objective-C', 'clike'],
php: ['PHP', 'php'],
perl: ['Perl', 'perl'],
python: ['Python', 'python'],
r: ['R', 'r'],
rst: ['reStructedText', 'rst'],
ruby: ['Ruby', 'ruby'],
sql: ['SQL', 'sql'],
sass: ['SASS/SCSS', 'sass'],
shell: ['Shell', 'shell'],
scala: ['Scala', 'clike'],
swift: ['Swift', 'clike'],
vb: ['VB/VBScript', 'vb'],
xml: ['XML', 'text/xml'],
yaml: ['YAML', 'yaml']
};
/* harmony default export */ __webpack_exports__["Z"] = (function (_ref) {
var callback = _ref.callback,
onCancel = _ref.onCancel;
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)('python'),
_useState2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default()(_useState, 2),
mode = _useState2[0],
setMode = _useState2[1];
function onSetMode(value) {
setMode(LanguageDesc[value][1]);
}
function onSubmit(values) {
callback(values);
}
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(antd_es_form__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, formItemLayout), {}, {
className: "code-block-panel",
initialValues: {
language: 'python',
content: ''
},
onFinish: onSubmit,
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd_es_form__WEBPACK_IMPORTED_MODULE_11__/* ["default"].Item */ .Z.Item, {
label: "\u4EE3\u7801\u8BED\u8A00",
name: "language",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd_es_select__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {
getPopupContainer: function getPopupContainer(trigger) {
return trigger.parentNode;
},
onChange: onSetMode,
children: Object.keys(LanguageDesc).map(function (item) {
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(Option, {
value: item,
children: LanguageDesc[item][0]
}, item);
})
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd_es_form__WEBPACK_IMPORTED_MODULE_11__/* ["default"].Item */ .Z.Item, {
label: "\u4EE3\u7801\u5185\u5BB9",
name: "content",
rules: [{
required: true,
message: '请输入代码内容'
}],
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(MyCodeMirror, {
mode: mode
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)("div", {
className: "flex-container flex-end",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd_es_button__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
type: "primary",
htmlType: "submit",
style: {
marginRight: 10
},
children: "\u786E\u5B9A"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd_es_button__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
type: "ghost",
onClick: onCancel,
children: "\u53D6\u6D88"
})]
})]
}));
});
function MyCodeMirror(_ref2) {
var value = _ref2.value,
onChange = _ref2.onChange,
mode = _ref2.mode,
_ref2$options = _ref2.options,
options = _ref2$options === void 0 ? {} : _ref2$options;
var el = (0,react__WEBPACK_IMPORTED_MODULE_5__.useRef)();
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(),
_useState4 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default()(_useState3, 2),
cm = _useState4[0],
setCm = _useState4[1];
(0,react__WEBPACK_IMPORTED_MODULE_5__.useEffect)(function () {
if (cm) {
var onChangeHandler = function onChangeHandler(cm) {
var content = cm.getValue();
onChange && onChange(content);
};
cm.on('change', onChangeHandler);
return function () {
cm.off('change', onChangeHandler);
};
}
}, [cm, onChange]);
(0,react__WEBPACK_IMPORTED_MODULE_5__.useEffect)(function () {
if (cm) {
cm.setOption('mode', mode);
}
}, [cm, mode]);
(0,react__WEBPACK_IMPORTED_MODULE_5__.useEffect)(function () {
if (cm) {
if (value !== cm.getValue() || value === '') {
setTimeout(function () {
cm.setValue(value || ' ');
}, 300);
}
}
}, [cm, value]);
(0,react__WEBPACK_IMPORTED_MODULE_5__.useEffect)(function () {
if (el.current && !cm) {
var instance = codemirror__WEBPACK_IMPORTED_MODULE_6___default().fromTextArea(el.current, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({
mode: mode,
lineNumbers: true,
lineWrapping: true,
autoCloseBrackets: true,
tabSize: 4,
autofocus: true,
autoCloseTags: true,
matchBrackets: true,
styleActiveLine: true
}, options));
setCm(instance);
}
}, [el.current, cm]);
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("div", {
className: "my-codemirror-container",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("textarea", {
ref: el
})
});
}
/***/ }),
/***/ 55373:
/*!***************************************************************!*\
!*** ./src/components/markdown-editor/index.tsx + 10 modules ***!
\***************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ markdown_editor; }
});
// EXTERNAL MODULE: ./node_modules/antd/es/modal/style/index.js + 1 modules
var style = __webpack_require__(35611);
// EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 7 modules
var modal = __webpack_require__(85402);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js
var createForOfIteratorHelper = __webpack_require__(74704);
var createForOfIteratorHelper_default = /*#__PURE__*/__webpack_require__.n(createForOfIteratorHelper);
// EXTERNAL MODULE: ./node_modules/antd/es/message/style/index.js + 1 modules
var message_style = __webpack_require__(14934);
// EXTERNAL MODULE: ./node_modules/antd/es/message/index.js + 1 modules
var message = __webpack_require__(12461);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(27424);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
var defineProperty = __webpack_require__(38416);
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/codemirror/lib/codemirror.js
var codemirror = __webpack_require__(4631);
var codemirror_default = /*#__PURE__*/__webpack_require__.n(codemirror);
// EXTERNAL MODULE: ./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js
var ResizeObserver_es = __webpack_require__(91033);
// EXTERNAL MODULE: ./node_modules/codemirror/lib/codemirror.css
var lib_codemirror = __webpack_require__(71749);
// EXTERNAL MODULE: ./node_modules/codemirror/addon/edit/closetag.js
var closetag = __webpack_require__(57341);
// EXTERNAL MODULE: ./node_modules/codemirror/addon/edit/closebrackets.js
var closebrackets = __webpack_require__(82801);
// EXTERNAL MODULE: ./node_modules/codemirror/addon/display/placeholder.js
var placeholder = __webpack_require__(88386);
// EXTERNAL MODULE: ./node_modules/codemirror/mode/markdown/markdown.js
var markdown = __webpack_require__(49047);
// EXTERNAL MODULE: ./node_modules/codemirror/mode/stex/stex.js
var stex = __webpack_require__(80785);
;// CONCATENATED MODULE: ./src/components/markdown-editor/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx + 1 modules
var RenderHtml = __webpack_require__(12768);
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// CONCATENATED MODULE: ./src/components/RenderHtml/stex.tsx
// const latexjs = require('latex-l.js/dist/latex.js');
// import "latex-l.js/dist/css/base.css"
/* harmony default export */ var RenderHtml_stex = (function (_ref) {
var _ref$value = _ref.value,
value = _ref$value === void 0 ? '' : _ref$value,
className = _ref.className,
showTextOnly = _ref.showTextOnly,
showLines = _ref.showLines,
_ref$style = _ref.style,
style = _ref$style === void 0 ? {} : _ref$style;
var html = (0,react.useMemo)(function () {
// try {
// const latex = value || 'This is some text';
// let generator = new latexjs.default.HtmlGenerator({ hyphenate: true })
// let doc = latexjs.default.parse(latex, { generator: generator }).htmlDocument()
// return doc.body.innerHTML
// }catch(e){
// console.log("e:",e)
// return "错误的latex语法请检查"
// }
return "";
}, [value]);
return /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
dangerouslySetInnerHTML: {
__html: html
}
})
});
});
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(42122);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
;// CONCATENATED MODULE: ./src/components/markdown-editor/toolbar/index.less
// extracted by mini-css-extract-plugin
;// CONCATENATED MODULE: ./src/components/markdown-editor/css/iconfont.css
// extracted by mini-css-extract-plugin
;// CONCATENATED MODULE: ./src/components/markdown-editor/toolbar/index.tsx
var DEFAULTICONS = [{
title: '粗体',
icon: 'icon-bold',
actionName: 'bold'
}, {
title: '斜体',
icon: 'icon-italic',
actionName: 'italic'
}, '|', {
title: '无序列表',
icon: 'icon-unorder-list',
actionName: 'list-ul'
}, {
title: '有序列表',
icon: 'icon-order-list',
actionName: 'list-ol'
}, '|', {
title: '行内代码',
icon: 'icon-code',
actionName: 'code'
}, {
title: '代码块(多语言风格)',
icon: 'icon-file-code',
actionName: 'code-block'
}, {
title: '链接',
icon: 'icon-link',
actionName: 'link'
}, '|', {
title: '行内公式',
icon: 'icon-sum',
actionName: 'inline-latex'
}, {
title: '多行公式',
icon: 'icon-formula',
actionName: 'latex'
}, '|', {
title: '添加图片',
icon: 'icon-picture',
actionName: 'upload-image'
}, {
title: '表格',
icon: 'icon-table',
actionName: 'add-table'
}, '|', {
title: '换行',
icon: 'icon-minus',
actionName: 'line-break'
}, {
title: '清空',
icon: 'icon-eraser',
actionName: 'eraser'
}];
function AButton(_ref) {
var onActionCallback = _ref.onActionCallback,
title = _ref.title,
icon = _ref.icon,
actionName = _ref.actionName,
_ref$className = _ref.className,
className = _ref$className === void 0 ? '' : _ref$className,
children = _ref.children;
function onAction() {
onActionCallback(actionName);
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
title: title,
className: className,
onClick: onAction,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "md-iconfont ".concat(icon)
}), children]
});
}
/* harmony default export */ var toolbar = (function (_ref2) {
var watch = _ref2.watch,
showNullButton = _ref2.showNullButton,
onActionCallback = _ref2.onActionCallback,
fullScreen = _ref2.fullScreen,
insertTemp = _ref2.insertTemp,
hidetoolBar = _ref2.hidetoolBar;
var icons = [].concat(DEFAULTICONS, [{
title: "".concat(watch ? '关闭实时预览' : '开启实时预览'),
icon: "".concat(watch ? 'icon-eye-slash' : 'icon-eye'),
actionName: 'trigger-watch'
}]);
return /*#__PURE__*/(0,jsx_runtime.jsxs)("ul", {
className: "markdown-toolbar-container",
children: [!hidetoolBar && icons.map(function (item, index) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
children: item.actionName ? /*#__PURE__*/(0,jsx_runtime.jsx)(AButton, objectSpread2_default()(objectSpread2_default()({}, item), {}, {
onActionCallback: onActionCallback
})) : /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "v-line"
})
}, index);
}), showNullButton ? /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(AButton, {
icon: "icon-edit",
className: "btn-null",
title: "\u589E\u52A0\u586B\u7A7A",
actionName: "add-null-ch",
onActionCallback: onActionCallback,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "fill-tip",
children: "\u70B9\u51FB\u63D2\u5165\b\u586B\u7A7A\u9879"
})
})
}) : null, insertTemp && /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(AButton, {
icon: "icon-edit",
className: "btn-null",
title: "\u63D2\u5165\u6A21\u677F",
actionName: "inster-template-".concat(insertTemp),
onActionCallback: onActionCallback,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "fill-tip",
children: "\u63D2\u5165\u6A21\u677F"
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
className: "btn-full-screen",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(AButton, {
icon: "".concat(fullScreen ? 'icon-shrink' : 'icon-enlarge'),
title: fullScreen ? '关闭全屏' : '开启全屏',
actionName: "trigger-full-screen",
onActionCallback: onActionCallback
})
})]
});
});
// EXTERNAL MODULE: ./src/components/modal.tsx
var components_modal = __webpack_require__(12264);
// EXTERNAL MODULE: ./node_modules/antd/es/button/style/index.js + 1 modules
var button_style = __webpack_require__(29913);
// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js
var es_button = __webpack_require__(71577);
// EXTERNAL MODULE: ./node_modules/antd/es/form/style/index.js + 1 modules
var form_style = __webpack_require__(75627);
// EXTERNAL MODULE: ./node_modules/antd/es/form/index.js + 17 modules
var es_form = __webpack_require__(51018);
// EXTERNAL MODULE: ./node_modules/antd/es/input/style/index.js + 1 modules
var input_style = __webpack_require__(69463);
// EXTERNAL MODULE: ./node_modules/antd/es/input/index.js + 5 modules
var input = __webpack_require__(75008);
;// CONCATENATED MODULE: ./src/components/markdown-editor/link/index.tsx
var formItemLayout = {
labelCol: {
span: 4
},
wrapperCol: {
span: 20
}
};
/* harmony default export */ var markdown_editor_link = (function (_ref) {
var callback = _ref.callback,
onCancel = _ref.onCancel;
function onSubmit(values) {
callback(values);
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, objectSpread2_default()(objectSpread2_default()({}, formItemLayout), {}, {
initialValues: {
link: 'http://',
title: ''
},
className: "link-panel",
onFinish: onSubmit,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
label: "\u94FE\u63A5\u5730\u5740",
name: "link",
rules: [{
required: true,
message: '请输入链接地址'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
label: "\u94FE\u63A5\u6807\u9898",
name: "title",
rules: [{
required: true,
message: '请输入链接标题'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container flex-end",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
type: "primary",
htmlType: "submit",
style: {
marginRight: 10
},
children: "\u786E\u5B9A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
type: "ghost",
onClick: onCancel,
children: "\u53D6\u6D88"
})]
})]
}));
});
// EXTERNAL MODULE: ./src/components/markdown-editor/code-block/index.tsx
var code_block = __webpack_require__(97501);
;// CONCATENATED MODULE: ./src/components/markdown-editor/upload-image/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./src/pages/tasks/util.js
var util = __webpack_require__(96403);
;// CONCATENATED MODULE: ./src/components/markdown-editor/upload-image/index.tsx
var useForm = es_form/* default.useForm */.Z.useForm;
var upload_image_style = {
width: 280,
marginRight: 10
};
var upload_image_formItemLayout = {
labelCol: {
span: 5
},
wrapperCol: {
span: 19
}
};
/* harmony default export */ var upload_image = (function (_ref) {
var callback = _ref.callback,
onCancel = _ref.onCancel;
var _useForm = useForm(),
_useForm2 = slicedToArray_default()(_useForm, 1),
form = _useForm2[0];
function onSubmit(values) {
callback(values);
}
function onAddUrl(data, file) {
if (data.status === -1) {
message/* default.error */.ZP.error(data.message);
return;
}
form.setFieldsValue({
src: "/api/attachments/".concat(data.id),
type: file.type
});
}
function onFileChange(e) {
var file = e.target.files[0];
uploadImage(file, onAddUrl);
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, objectSpread2_default()(objectSpread2_default()({
form: form
}, upload_image_formItemLayout), {}, {
className: "upload-image-panel",
onFinish: onSubmit,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
label: "\u56FE\u7247\u5730\u5740",
required: true,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
noStyle: true,
name: "src",
rules: [{
required: true,
message: '请输入图片地址'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
style: upload_image_style
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(UploadButton, {
onFileChange: onFileChange
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
label: "\u56FE\u7247\u63CF\u8FF0",
name: "alt"
// rules={[{ required: true, message: '请输入图片描述' }]}
,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
style: {
width: 264
}
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default.Item */.Z.Item, {
style: {
textAlign: "right"
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
type: "primary",
htmlType: "submit",
style: {
marginRight: 10
},
children: "\u786E\u5B9A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
type: "ghost",
onClick: onCancel,
children: "\u53D6\u6D88"
})]
})]
}));
});
function UploadButton(_ref2) {
var onFileChange = _ref2.onFileChange;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
className: "upload-button",
children: ["\u672C\u5730\u4E0A\u4F20", /*#__PURE__*/(0,jsx_runtime.jsx)("input", {
type: "file",
onChange: onFileChange
})]
});
}
function uploadImage(file, callback) {
if (!file) {
throw new String('没有文件');
return;
}
var formData = new FormData();
formData.append('editormd-image-file', file);
formData.append('file_param_name', 'editormd-image-file');
formData.append('byxhr', 'true');
var xhr = new window.XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener('load', function (response) {
callback(JSON.parse(response.target.responseText), file);
}, false);
xhr.addEventListener('error', function (error) {
console.error(error);
}, false);
xhr.open('POST', "".concat(util/* apiPref */.KI, "/api/attachments.json"));
xhr.send(formData);
}
// EXTERNAL MODULE: ./node_modules/antd/es/input-number/style/index.js + 1 modules
var input_number_style = __webpack_require__(25359);
// EXTERNAL MODULE: ./node_modules/antd/es/input-number/index.js + 9 modules
var input_number = __webpack_require__(87799);
// EXTERNAL MODULE: ./node_modules/antd/es/radio/style/index.js + 1 modules
var radio_style = __webpack_require__(83822);
// EXTERNAL MODULE: ./node_modules/antd/es/radio/index.js + 4 modules
var es_radio = __webpack_require__(29924);
;// CONCATENATED MODULE: ./src/components/markdown-editor/add-table-panel/index.tsx
var RadioGroup = es_radio/* default.Group */.ZP.Group;
var add_table_panel_style = {
margin: '0 8px'
};
/* harmony default export */ var add_table_panel = (function (_ref) {
var callback = _ref.callback,
onCancel = _ref.onCancel;
function onSubmit(values) {
callback(values);
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
className: "add-table-panel",
initialValues: {
row: 3,
col: 2,
align: 'default'
},
onFinish: onSubmit,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container",
style: {
alignItems: "baseline"
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: add_table_panel_style,
children: "\u5355\u5143\u683C\u6570\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: add_table_panel_style,
children: "\u884C\u6570"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
name: "row",
rules: [{
required: true,
message: '请输入行数'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input_number/* default */.Z, {})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: add_table_panel_style,
children: "\u5217\u6570"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
name: "col",
rules: [{
required: true,
message: '请输入列数'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input_number/* default */.Z, {})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container",
style: {
marginTop: 12,
alignItems: "baseline"
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: add_table_panel_style,
children: "\u5BF9\u9F50\u65B9\u5F0F\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
name: "align",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(RadioGroup, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
value: "default",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "fa fa-align-justify"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
value: "left",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "fa fa-align-left"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
value: "center",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "fa fa-align-center"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
value: "right",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "fa fa-align-right"
})
})]
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container flex-end",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
type: "primary",
htmlType: "submit",
style: {
marginRight: 10
},
children: "\u786E\u5B9A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
type: "ghost",
onClick: onCancel,
children: "\u53D6\u6D88"
})]
})]
});
});
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(59758);
;// CONCATENATED MODULE: ./src/components/markdown-editor/constant.ts
var LINK = 'link';
var UPLOAD_IMAGE = 'upload-image';
var CODE_BLOCK = 'code-block';
var ADD_TABLE = 'add-table';
var HRLINE = '------------';
var ALIGNSIGN = {
"default": HRLINE,
left: ":".concat(HRLINE),
center: ":".concat(HRLINE, ":"),
right: "".concat(HRLINE, ":")
};
// EXTERNAL MODULE: ./src/components/useInterval.tsx
var useInterval = __webpack_require__(61891);
;// CONCATENATED MODULE: ./src/components/markdown-editor/index.tsx
var _DEFAULTKEYMAP, _TitleDesc;
function noop() {}
var pending = 0;
var StorageTimeTicket = 10000;
var NULL_CH = '▁';
var TEMP1 = '\n**模板标题**\n模板正文内容可输入文本内容和粘贴图片等操作'; //课程须知模板
function processSize(size) {
return !/^\d+$/.test(size) ? size : "".concat(size, "px");
}
var isMac = navigator.platform.toUpperCase().indexOf('MAC') >= 0;
var key = isMac ? 'Cmd' : 'Ctrl';
var DEFAULTKEYMAP = (_DEFAULTKEYMAP = {}, defineProperty_default()(_DEFAULTKEYMAP, key + '-B', 'bold'), defineProperty_default()(_DEFAULTKEYMAP, key + '-I', 'italic'), _DEFAULTKEYMAP);
var TitleDesc = (_TitleDesc = {}, defineProperty_default()(_TitleDesc, LINK, '添加链接'), defineProperty_default()(_TitleDesc, CODE_BLOCK, '添加代码块'), defineProperty_default()(_TitleDesc, UPLOAD_IMAGE, '添加图片'), defineProperty_default()(_TitleDesc, ADD_TABLE, '添加表格'), _TitleDesc);
//https://codemirror.net/demo
//The height can be set through CSS (by giving the .CodeMirror class a height property), or by calling the cm's setSize method.
/* harmony default export */ var markdown_editor = (function (_ref) {
var _ref$defaultValue = _ref.defaultValue,
defaultValue = _ref$defaultValue === void 0 ? '' : _ref$defaultValue,
onChange = _ref.onChange,
_ref$width = _ref.width,
width = _ref$width === void 0 ? '100%' : _ref$width,
_ref$height = _ref.height,
height = _ref$height === void 0 ? 400 : _ref$height,
_ref$miniToolbar = _ref.miniToolbar,
miniToolbar = _ref$miniToolbar === void 0 ? false : _ref$miniToolbar,
_ref$isFocus = _ref.isFocus,
isFocus = _ref$isFocus === void 0 ? false : _ref$isFocus,
watch = _ref.watch,
insertTemp = _ref.insertTemp,
_ref$mode = _ref.mode,
mode = _ref$mode === void 0 ? "markdown" : _ref$mode,
_ref$id = _ref.id,
id = _ref$id === void 0 ? 'markdown-editor-id' : _ref$id,
_ref$showResizeBar = _ref.showResizeBar,
showResizeBar = _ref$showResizeBar === void 0 ? false : _ref$showResizeBar,
_ref$noStorage = _ref.noStorage,
noStorage = _ref$noStorage === void 0 ? false : _ref$noStorage,
_ref$showNullButton = _ref.showNullButton,
showNullButton = _ref$showNullButton === void 0 ? false : _ref$showNullButton,
_ref$hidetoolBar = _ref.hidetoolBar,
hidetoolBar = _ref$hidetoolBar === void 0 ? false : _ref$hidetoolBar,
_ref$fullScreen = _ref.fullScreen,
fullScreen = _ref$fullScreen === void 0 ? false : _ref$fullScreen,
onBlur = _ref.onBlur,
onCMBeforeChange = _ref.onCMBeforeChange,
onFullScreen = _ref.onFullScreen,
_ref$className = _ref.className,
className = _ref$className === void 0 ? '' : _ref$className,
_ref$disablePaste = _ref.disablePaste,
disablePaste = _ref$disablePaste === void 0 ? false : _ref$disablePaste,
_ref$placeholder = _ref.placeholder,
placeholder = _ref$placeholder === void 0 ? '' : _ref$placeholder,
_ref$values = _ref.values,
values = _ref$values === void 0 ? '' : _ref$values;
var _useState = (0,react.useState)(null),
_useState2 = slicedToArray_default()(_useState, 2),
cm = _useState2[0],
setCm = _useState2[1];
var _useState3 = (0,react.useState)(defaultValue),
_useState4 = slicedToArray_default()(_useState3, 2),
value = _useState4[0],
setValue = _useState4[1];
var _useState5 = (0,react.useState)(watch),
_useState6 = slicedToArray_default()(_useState5, 2),
preview = _useState6[0],
setPreview = _useState6[1];
var _useState7 = (0,react.useState)(fullScreen),
_useState8 = slicedToArray_default()(_useState7, 2),
isFull = _useState8[0],
setIsFull = _useState8[1];
var _useState9 = (0,react.useState)(''),
_useState10 = slicedToArray_default()(_useState9, 2),
action = _useState10[0],
setAction = _useState10[1];
var _useState11 = (0,react.useState)(0),
_useState12 = slicedToArray_default()(_useState11, 2),
lastedUpdateTime = _useState12[0],
setLastedUpdateTime = _useState12[1];
var _useState13 = (0,react.useState)(height),
_useState14 = slicedToArray_default()(_useState13, 2),
h = _useState14[0],
setH = _useState14[1];
var _useState15 = (0,react.useState)(false),
_useState16 = slicedToArray_default()(_useState15, 2),
tip = _useState16[0],
setTip = _useState16[1];
var cmEl = (0,react.useRef)();
var containerEl = (0,react.useRef)();
var resizeBarEl = (0,react.useRef)();
var previewEl = (0,react.useRef)();
// useEffect(() => {
// setValue(defaultValue)
// cm?.setValue(defaultValue)
// },[])
(0,react.useEffect)(function () {
setValue(values);
cm === null || cm === void 0 ? void 0 : cm.setValue(values);
}, [values]);
(0,react.useEffect)(function () {
onFullScreen === null || onFullScreen === void 0 ? void 0 : onFullScreen(isFull);
}, [isFull]);
(0,react.useEffect)(function () {
if (cmEl.current) {
var onPaste = function onPaste(_, e) {
if (disablePaste) {
e.preventDefault();
return;
}
var clipboardData = e.clipboardData;
if (clipboardData) {
var types = clipboardData.types.toString();
var items = clipboardData.items;
var officeSix = ["pptm", "pptx", "ppt", "pot", "pps", "ppa", "potx", "ppsx", "ppam", "pptm", "potm", "ppsm", "doc", "docx", "dot", "dotx", "docm", "dotm", "xls", "xlsx", "csv", "xlt", "xla", "xltx", "xlsm", "xltm", "xlam", "xlsb"];
if (types === 'Files' || clipboardData.types.indexOf("Files") > -1) {
e.preventDefault();
if (mode == "stex") return;
try {
var _items$;
var item = items[1];
if (((_items$ = items[0]) === null || _items$ === void 0 ? void 0 : _items$.kind) === 'file') {
item = items[0];
}
var file = item.getAsFile();
var fileSix = file.name.split(".").pop();
// console.log("item:", item, file, item?.type?.match(/^video\//i))
uploadImage(file, function (data) {
if (data.id) {
var _file$type, _file$type2, _file$type3;
if ((file === null || file === void 0 ? void 0 : (_file$type = file.type) === null || _file$type === void 0 ? void 0 : _file$type.indexOf("image")) > -1) {
instance.replaceSelection("![,](/api/attachments/".concat(data.id, "?type=").concat(data.content_type, ")"));
} else if ((file === null || file === void 0 ? void 0 : (_file$type2 = file.type) === null || _file$type2 === void 0 ? void 0 : _file$type2.indexOf("video")) > -1) {
instance.replaceSelection("<video width=\"100%\" controls src=\"".concat(env/* default.API_SERVER */.Z.API_SERVER, "/api/attachments/").concat(data.id, "\"></video>"));
} else if ((file === null || file === void 0 ? void 0 : (_file$type3 = file.type) === null || _file$type3 === void 0 ? void 0 : _file$type3.indexOf("pdf")) > -1) {
instance.replaceSelection("<a href=\"".concat(env/* default.API_SERVER */.Z.API_SERVER, "/api/attachments/").concat(data.id, "?type=").concat(file.type, "&disposition=inline\" target=\"_blank\">").concat(file.name, "</a>"));
} else if (officeSix.includes(fileSix)) {
instance.replaceSelection("<a href=\"".concat(env/* default.API_SERVER */.Z.API_SERVER, "/api/attachments/").concat(data.id, "?type=office&disposition=inline\" target=\"_blank\">").concat(file.name, "</a>"));
} else {
instance.replaceSelection("[".concat(file.name, "](").concat(env/* default.API_SERVER */.Z.API_SERVER, "/api/attachments/").concat(data.id, "?type=").concat(data.content_type, ")"));
}
} else {
if ((data === null || data === void 0 ? void 0 : data.status) === 401) document.location.href = '/user/login';
}
});
} catch (e) {
message/* default.warn */.ZP.warn("请使用chrome浏览器粘贴");
}
return true;
} else {
//toMarkdown ?
// let html = clipboardData.getData('text/html')
return true;
}
}
return true;
};
var instance = codemirror_default().fromTextArea(cmEl.current, {
mode: mode,
// inputStyle: 'contenteditable',
lineNumbers: miniToolbar ? false : true,
lineWrapping: true,
value: defaultValue,
autoCloseTags: true,
autoCloseBrackets: true
});
isFocus && instance.focus();
instance.on('paste', onPaste);
setCm(instance);
return function () {
instance.off('paste', onPaste);
};
}
}, []);
var resizeEditorBodyHeight = (0,react.useCallback)(function () {
if (containerEl.current) {
try {
// let toolH = containerEl.current.getElementsByClassName('markdown-toolbar-container')[0].offsetHeight
// let mdBody = containerEl.current.getElementsByClassName('markdown-editor-body')[0]
// if (!isFull) {
// mdBody.style.height = `${h - toolH}px`
// } else {
// mdBody.style.height = `calc(100vh - ${toolH}px)`
// }
} catch (error) {
console.log(error, '---- to set md editor body height');
}
}
}, [h, containerEl, isFull]);
(0,react.useEffect)(function () {
function onLayout() {
var ro = new ResizeObserver_es/* default */.Z(function (entries) {
var _iterator = createForOfIteratorHelper_default()(entries),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var entry = _step.value;
if (entry.target.offsetHeight > 0 || entry.target.offsetWidth > 0) {
resizeEditorBodyHeight();
cm.setSize('100%', '100%');
cm.refresh();
}
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
});
ro.observe(cmEl.current.parentElement);
return ro;
}
if (cm) {
var ro = onLayout();
return function () {
var _cmEl$current, _cmEl$current2;
if ((_cmEl$current = cmEl.current) !== null && _cmEl$current !== void 0 && _cmEl$current.parentElement) ro.unobserve((_cmEl$current2 = cmEl.current) === null || _cmEl$current2 === void 0 ? void 0 : _cmEl$current2.parentElement);
};
}
}, [cm, resizeEditorBodyHeight]);
//keymap
(0,react.useEffect)(function () {
if (cm) {
var keymap = [];
var _loop = function _loop() {
var _Object$entries$_i = slicedToArray_default()(_Object$entries[_i], 2),
k = _Object$entries$_i[0],
value = _Object$entries$_i[1];
var map = defineProperty_default()({}, k, function () {
onActionCallback(value);
});
keymap.push(map);
cm.addKeyMap(map);
};
for (var _i = 0, _Object$entries = Object.entries(DEFAULTKEYMAP); _i < _Object$entries.length; _i++) {
_loop();
}
return function () {
for (var _i2 = 0, _keymap = keymap; _i2 < _keymap.length; _i2++) {
var m = _keymap[_i2];
cm.removeKeyMap(m);
}
};
}
}, [cm]);
(0,react.useEffect)(function () {
if (fullScreen !== isFull) {
setIsFull(fullScreen);
}
}, [fullScreen]);
(0,useInterval/* default */.Z)(function () {
if (!noStorage && lastedUpdateTime > 0) {
var currentTime = new Date().getTime();
var lastedValue = window.sessionStorage.getItem(id);
if (currentTime >= lastedUpdateTime + StorageTimeTicket && (!lastedValue || lastedValue !== value)) {
window.sessionStorage.setItem(id, value);
setTip(true);
}
}
}, StorageTimeTicket);
(0,react.useEffect)(function () {
setPreview(watch);
}, [cm, watch]);
(0,react.useEffect)(function () {
if (cm) {
isFocus && cm.focus();
}
}, [cm, isFocus]);
(0,react.useEffect)(function () {
if (preview && cm) {
var syncScroll = function syncScroll(e) {
var target = e.target;
if (previewEl.current) {
var ratio = target.scrollTop / target.scrollHeight;
previewEl.current.scrollTop = previewEl.current.scrollHeight * ratio;
}
};
var scrollEl = cm.getScrollerElement();
scrollEl.addEventListener('scroll', syncScroll);
return function () {
scrollEl.removeEventListener('scroll', syncScroll);
};
}
}, [cm, preview]);
(0,react.useEffect)(function () {
if (cm && onCMBeforeChange) {
var onChangeHandler = function onChangeHandler(cm, change) {
onCMBeforeChange(cm, change);
};
cm.on('beforeChange', onChangeHandler);
return function () {
cm.off('beforeChange', onChangeHandler);
};
}
}, [cm, onCMBeforeChange]);
(0,react.useEffect)(function () {
if (cm && onBlur) {
var onBlurHandler = function onBlurHandler() {
onBlur(cm.getValue());
};
cm.on('blur', onBlurHandler);
return function () {
cm.off('blur', onBlurHandler);
};
}
}, [cm, onBlur]);
(0,react.useEffect)(function () {
if (cm) {
var onChangeHandler = function onChangeHandler(cm) {
var content = cm.getValue();
setValue(content);
setLastedUpdateTime(new Date().getTime());
cm.getScrollerElement().dispatchEvent(new CustomEvent('scroll'));
onChange && onChange(content);
};
cm.on('change', onChangeHandler);
return function () {
cm.off('change', onChangeHandler);
};
}
}, [cm, onChange]);
(0,react.useEffect)(function () {
if (cm) {
// isFocus && cm.focus()
if (defaultValue === null || defaultValue === undefined) {
cm.setValue('');
setValue('');
} else {
if (defaultValue !== cm.getValue()) {
cm.setValue(defaultValue);
setValue(defaultValue);
cm.setCursor(cm.lineCount(), 0);
}
}
}
}, [cm, defaultValue]);
var onActionCallback = (0,react.useCallback)(function (actionName) {
var cursor = cm.getCursor();
var selection = cm.getSelection();
var selectionText = selection.split('\n');
switch (actionName) {
case 'bold':
cm.replaceSelection('**' + selection + '**');
if (selection === '') {
cm.setCursor(cursor.line, cursor.ch + 2);
}
return cm.focus();
case 'italic':
cm.replaceSelection('*' + selection + '*');
if (selection === '') {
cm.setCursor(cursor.line, cursor.ch + 1);
}
return cm.focus();
case 'code':
cm.replaceSelection('`' + selection + '`');
if (selection === '') {
cm.setCursor(cursor.line, cursor.ch + 1);
}
return cm.focus();
case 'inline-latex':
cm.replaceSelection('`$$' + selection + '$$`');
if (selection === '') {
cm.setCursor(cursor.line, cursor.ch + 3);
}
return cm.focus();
case 'latex':
cm.replaceSelection("```latex\n" + selection + "\n```");
cm.setCursor(cursor.line + 1, selection.length + 1);
return cm.focus();
case 'line-break':
cm.replaceSelection('<br/>\n');
return cm.focus();
case 'list-ul':
if (selection === '') {
cm.replaceSelection('- ' + selection);
} else {
cm.replaceSelection(selectionText.map(function (item) {
return item === '' ? '' : "- ".concat(item);
}).join('\n'));
}
return cm.focus();
case 'list-ol':
if (selection === '') {
cm.replaceSelection('1. ' + selection);
} else {
cm.replaceSelection(selectionText.map(function (item, index) {
return item === '' ? '' : "".concat(index + 1, ". ").concat(item);
}).join('\n'));
}
return cm.focus();
case 'add-null-ch':
if (selection === '') {
cm.setCursor(cursor.line, cursor.ch);
}
cm.replaceSelection(NULL_CH);
return cm.focus();
case 'inster-template-1':
if (selection === '') {
cm.setCursor(cursor.line, cursor.ch);
}
cm.replaceSelection(TEMP1);
return cm.focus();
case 'eraser':
cm.setValue('');
return cm.focus();
case 'trigger-watch':
setPreview(!preview);
return cm.focus();
case 'trigger-full-screen':
setIsFull(!isFull);
return cm.focus();
case LINK:
setAction(LINK);
return;
case CODE_BLOCK:
setAction(CODE_BLOCK);
return;
case UPLOAD_IMAGE:
setAction(UPLOAD_IMAGE);
return;
case ADD_TABLE:
setAction(ADD_TABLE);
return;
default:
throw new Error();
}
}, [cm, preview, isFull]);
var ExecutePluginAction = (0,react.useCallback)(function (values) {
setAction('');
switch (action) {
case LINK:
var title = values.title,
link = values.link;
cm.replaceSelection("[".concat(title, "](").concat(link, ")"));
return cm.focus();
case CODE_BLOCK:
var language = values.language,
content = values.content;
cm.replaceSelection(['```' + language, content, '```'].join('\n'));
return cm.focus();
case UPLOAD_IMAGE:
var src = values.src,
alt = values.alt;
if (alt) {
cm.replaceSelection("![ ".concat(alt, " ]( ").concat(src, " \"").concat(alt, "\" )"));
} else {
cm.replaceSelection("![,](".concat(src, ")"));
}
return cm.focus();
case ADD_TABLE:
var row = values.row,
col = values.col,
align = values.align;
var table = '\n';
for (var r = 0; r < row; r++) {
var rows = [];
var heads = [];
for (var c = 0; c < col; c++) {
if (r === 1) {
heads.push(ALIGNSIGN[align]);
}
rows.push(' ');
}
if (r === 1) {
table += "| ".concat(heads.join(' | '), " |\n");
}
table += "| ".concat(rows.join(col === 1 ? '' : ' | '), " |\n");
}
cm.replaceSelection(table + '\n');
return cm.focus();
default:
throw new Error();
}
}, [cm, action]);
var PluginEl = (0,react.useMemo)(function () {
switch (action) {
case LINK:
return /*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor_link, {
callback: ExecutePluginAction,
onCancel: onCancel
});
case CODE_BLOCK:
return /*#__PURE__*/(0,jsx_runtime.jsx)(code_block/* default */.Z, {
callback: ExecutePluginAction,
onCancel: onCancel
});
case UPLOAD_IMAGE:
return /*#__PURE__*/(0,jsx_runtime.jsx)(upload_image, {
callback: ExecutePluginAction,
onCancel: onCancel
});
case ADD_TABLE:
return /*#__PURE__*/(0,jsx_runtime.jsx)(add_table_panel, {
callback: ExecutePluginAction,
onCancel: onCancel
});
default:
return null;
}
}, [action]);
function onCancel() {
setAction('');
}
(0,react.useEffect)(function () {
if (resizeBarEl.current) {
var onMouseDown = function onMouseDown(e) {
dragging = true;
startY = e.pageY;
};
var onMouseUp = function onMouseUp() {
dragging = false;
};
var onMouseMove = function onMouseMove(e) {
if (dragging) {
var delta = e.pageY - startY;
if (delta < 0) {
delta = 0;
}
if (delta > 300) {
delta = 300;
}
var resizeH = height + delta + 'px';
setH(resizeH);
}
};
var resizeBar = resizeBarEl.current;
var dragging = false;
var startY = 0;
resizeBar.addEventListener('mousedown', onMouseDown);
document.addEventListener('mousemove', onMouseMove);
document.addEventListener('mouseup', onMouseUp);
return function () {
resizeBar.removeEventListener('mousedown', onMouseDown);
document.removeEventListener('mousemove', onMouseMove);
document.removeEventListener('mouseup', onMouseUp);
};
}
}, [cm, resizeBarEl]);
(0,react.useEffect)(function () {
setH(height);
}, [height]);
var fixedWidth = processSize(width);
var fixedHeight = processSize(h);
var style = {
width: fixedWidth,
height: fixedHeight
};
var saveTime = (0,react.useMemo)(function () {
if (lastedUpdateTime) {
var d = new Date(lastedUpdateTime);
var _h = d.getHours();
var m = d.getMinutes();
var s = d.getSeconds();
_h = _h < 10 ? '0' + _h : _h;
m = m < 10 ? '0' + m : m;
s = s < 10 ? '0' + s : s;
return "".concat(_h, ":").concat(m, ":").concat(s);
}
return 0;
}, [lastedUpdateTime]);
function onCancelStorage() {
window.sessionStorage.removeItem(id);
setTip(false);
setLastedUpdateTime(0);
}
function onReset() {
setTip(false);
setLastedUpdateTime(0);
cm.setValue(window.sessionStorage.getItem(id));
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "markdown-editor-wrapper",
ref: containerEl,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "markdown-editor-container ".concat(className, " ").concat(preview ? 'on-preview' : '', " ").concat(miniToolbar ? 'mini' : '', " ").concat(isFull ? 'full-screen' : ''),
style: style,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(toolbar, {
insertTemp: insertTemp,
watch: preview,
fullScreen: isFull,
showNullButton: showNullButton,
onActionCallback: onActionCallback,
hidetoolBar: hidetoolBar
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "markdown-editor-body",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "codemirror-container",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("textarea", {
ref: cmEl,
placeholder: placeholder
})
}), preview ? /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
ref: previewEl,
className: "preview-container",
children: [mode === "stex" && /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml_stex, {
value: value
}), mode !== "stex" && /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: value
})]
}) : null]
})]
})
}), showResizeBar ? /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
ref: resizeBarEl,
className: "editor-resize"
}) : null, /*#__PURE__*/(0,jsx_runtime.jsx)(components_modal/* default */.Z, {
children: TitleDesc[action] ? /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
centered: true,
title: TitleDesc[action],
open: true,
onCancel: onCancel,
footer: null,
className: "markdown-popup-form",
children: PluginEl
}) : null
})]
});
});
/***/ }),
/***/ 12264:
/*!**********************************!*\
!*** ./src/components/modal.tsx ***!
\**********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "Z": function() { return /* binding */ Dialog; }
/* harmony export */ });
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_classCallCheck_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/classCallCheck.js */ 56690);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_classCallCheck_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_classCallCheck_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_createClass_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/createClass.js */ 89728);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_createClass_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_createClass_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_inherits_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/inherits.js */ 61655);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_inherits_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_inherits_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_createSuper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/createSuper.js */ 26389);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_createSuper_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_createSuper_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ 67294);
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-dom */ 73935);
var Dialog = /*#__PURE__*/function (_React$Component) {
_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_inherits_js__WEBPACK_IMPORTED_MODULE_2___default()(Dialog, _React$Component);
var _super = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_createSuper_js__WEBPACK_IMPORTED_MODULE_3___default()(Dialog);
function Dialog(props) {
var _this;
_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_classCallCheck_js__WEBPACK_IMPORTED_MODULE_0___default()(this, Dialog);
_this = _super.call(this, props);
var doc = window.document;
_this.node = doc.createElement('div');
doc.body.appendChild(_this.node);
return _this;
}
_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_createClass_js__WEBPACK_IMPORTED_MODULE_1___default()(Dialog, [{
key: "render",
value: function render() {
var children = this.props.children;
return /*#__PURE__*/(0,react_dom__WEBPACK_IMPORTED_MODULE_5__.createPortal)(children, this.node);
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
window.document.body.removeChild(this.node);
}
}]);
return Dialog;
}(react__WEBPACK_IMPORTED_MODULE_4__.Component);
/***/ }),
/***/ 61891:
/*!****************************************!*\
!*** ./src/components/useInterval.tsx ***!
\****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "Z": function() { return /* binding */ useInterval; }
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 67294);
function useInterval(callback, delay) {
var savedCallback = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();
// 保存新回调
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
savedCallback.current = callback;
});
// 建立 interval
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
function tick() {
savedCallback.current();
}
if (delay !== null) {
var id = setInterval(tick, delay);
return function () {
return clearInterval(id);
};
}
}, [delay]);
}
/***/ }),
/***/ 84926:
/*!**************************************************************************!*\
!*** ./src/pages/Classrooms/Lists/Exercise/Answer/index.tsx + 9 modules ***!
\**************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"default": function() { return /* binding */ Exercise_Answer; }
});
// EXTERNAL MODULE: ./node_modules/antd/es/divider/style/index.js + 1 modules
var style = __webpack_require__(98541);
// EXTERNAL MODULE: ./node_modules/antd/es/divider/index.js
var divider = __webpack_require__(27049);
// EXTERNAL MODULE: ./node_modules/antd/es/breadcrumb/style/index.js + 1 modules
var breadcrumb_style = __webpack_require__(63102);
// EXTERNAL MODULE: ./node_modules/antd/es/breadcrumb/index.js + 3 modules
var breadcrumb = __webpack_require__(58492);
// EXTERNAL MODULE: ./node_modules/antd/es/row/style/index.js
var row_style = __webpack_require__(13062);
// EXTERNAL MODULE: ./node_modules/antd/es/row/index.js
var row = __webpack_require__(71230);
// EXTERNAL MODULE: ./node_modules/antd/es/button/style/index.js + 1 modules
var button_style = __webpack_require__(29913);
// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js
var es_button = __webpack_require__(71577);
// EXTERNAL MODULE: ./node_modules/antd/es/col/style/index.js
var col_style = __webpack_require__(89032);
// EXTERNAL MODULE: ./node_modules/antd/es/col/index.js
var col = __webpack_require__(15746);
// EXTERNAL MODULE: ./node_modules/antd/es/tooltip/style/index.js + 1 modules
var tooltip_style = __webpack_require__(38390);
// EXTERNAL MODULE: ./node_modules/antd/es/tooltip/index.js + 3 modules
var tooltip = __webpack_require__(84908);
// EXTERNAL MODULE: ./node_modules/antd/es/checkbox/style/index.js + 1 modules
var checkbox_style = __webpack_require__(82000);
// EXTERNAL MODULE: ./node_modules/antd/es/checkbox/index.js + 2 modules
var es_checkbox = __webpack_require__(32808);
// EXTERNAL MODULE: ./node_modules/antd/es/spin/style/index.js + 1 modules
var spin_style = __webpack_require__(22536);
// EXTERNAL MODULE: ./node_modules/antd/es/spin/index.js
var spin = __webpack_require__(11382);
// EXTERNAL MODULE: ./node_modules/antd/es/radio/style/index.js + 1 modules
var radio_style = __webpack_require__(83822);
// EXTERNAL MODULE: ./node_modules/antd/es/radio/index.js + 4 modules
var es_radio = __webpack_require__(29924);
// EXTERNAL MODULE: ./node_modules/antd/es/progress/style/index.js + 1 modules
var progress_style = __webpack_require__(57273);
// EXTERNAL MODULE: ./node_modules/antd/es/progress/index.js + 10 modules
var es_progress = __webpack_require__(97910);
// EXTERNAL MODULE: ./node_modules/antd/es/message/style/index.js + 1 modules
var message_style = __webpack_require__(14934);
// EXTERNAL MODULE: ./node_modules/antd/es/message/index.js + 1 modules
var message = __webpack_require__(12461);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(42122);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(17061);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(17156);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/antd/es/modal/style/index.js + 1 modules
var modal_style = __webpack_require__(35611);
// EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 7 modules
var es_modal = __webpack_require__(85402);
// EXTERNAL MODULE: ./node_modules/antd/es/form/style/index.js + 1 modules
var form_style = __webpack_require__(75627);
// EXTERNAL MODULE: ./node_modules/antd/es/form/index.js + 17 modules
var es_form = __webpack_require__(51018);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(27424);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__(70215);
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
// EXTERNAL MODULE: ./node_modules/antd/es/input/style/index.js + 1 modules
var input_style = __webpack_require__(69463);
// EXTERNAL MODULE: ./node_modules/antd/es/input/index.js + 5 modules
var input = __webpack_require__(75008);
// EXTERNAL MODULE: ./node_modules/antd/es/statistic/style/index.js + 1 modules
var statistic_style = __webpack_require__(14558);
// EXTERNAL MODULE: ./node_modules/antd/es/statistic/index.js + 4 modules
var statistic = __webpack_require__(74763);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules
var _umi_production_exports = __webpack_require__(89214);
// EXTERNAL MODULE: ./node_modules/qrcode.react/lib/index.js
var lib = __webpack_require__(79361);
var lib_default = /*#__PURE__*/__webpack_require__.n(lib);
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/ClockCircleOutlined.js
var ClockCircleOutlined = __webpack_require__(30071);
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/MinusSquareOutlined.js
var MinusSquareOutlined = __webpack_require__(68658);
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/PlusSquareOutlined.js
var PlusSquareOutlined = __webpack_require__(30723);
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/ArrowLeftOutlined.js + 1 modules
var ArrowLeftOutlined = __webpack_require__(82826);
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/DeliveredProcedureOutlined.js + 1 modules
var DeliveredProcedureOutlined = __webpack_require__(95604);
// EXTERNAL MODULE: ./src/components/CaptureVideo/index.tsx + 1 modules
var CaptureVideo = __webpack_require__(92523);
// EXTERNAL MODULE: ./src/components/Exercise/recordScreen.tsx + 3 modules
var recordScreen = __webpack_require__(78806);
// EXTERNAL MODULE: ./node_modules/moment/moment.js
var moment = __webpack_require__(30381);
var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Answermodules = ({"flex_box_center":"flex_box_center___ariLt","flex_space_between":"flex_space_between___MC6sH","flex_box_vertical_center":"flex_box_vertical_center___tJHfy","flex_box_center_end":"flex_box_center_end___AfB_t","flex_box_column":"flex_box_column___xX4Fj","bg":"bg___nHBEZ","answerWrp":"answerWrp___jZB_z","title":"title___rj6Q0","questionIcons":"questionIcons___XoGYC","green":"green___iIYnV","orange":"orange___EIhiL","greenTip":"greenTip___WwiUh","redTip":"redTip___aWSt4","orangeTip":"orangeTip___j5g_H","pollDesc":"pollDesc___yDT2Q","answered":"answered___d2hE7","unanswer":"unanswer___AdOhE","anchor":"anchor___z3CaP","answerFlag":"answerFlag___wwTKa","flagActive":"flagActive___piG3D","flagHalf":"flagHalf___E29dd","answerStudentFlag":"answerStudentFlag___HRVt8","answerStudentActive":"answerStudentActive___kM6r4","questionItem":"questionItem___q6Hgu","itemType":"itemType___pPqzT","itemFlag":"itemFlag___j5TSr","answerWrap":"answerWrap___G9dnn","answerSubjective":"answerSubjective___LRVKJ","otherInput":"otherInput___SxNAw","submitButton":"submitButton___zPo7H","randomFlag":"randomFlag___TOZ2H","answerTrue":"answerTrue___fgIW0","answerFalse":"answerFalse___gAQD8","answerHalf":"answerHalf___h40sX","renderHtml":"renderHtml___UerV1","simpleText":"simpleText___ZKx7o","answerYes":"answerYes___AA0oM","answerNo":"answerNo___gMGLy","answerInfo":"answerInfo___tB4Wz","answerSheet":"answerSheet___yhxK1","active":"active___WSsrt","countDown":"countDown___OzcWL","red":"red___Mge1h","fold":"fold___id0EJ","cardList":"cardList___xKhMX","iframe":"iframe___pMMQx","eduTip":"eduTip___hXWhK","eduQrcode":"eduQrcode____qxcx","eduVideo":"eduVideo___mufWJ","eduUsername":"eduUsername___tiufh","startAnswer":"startAnswer___AA7n5","eduSubmit":"eduSubmit___UPIsJ","eduTitle":"eduTitle___jCJrO","wrpAnswer":"wrpAnswer___AVK1Y","simpleMd":"simpleMd___ZGbXj"});
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(29427);
// EXTERNAL MODULE: ./src/components/Exercise/ip.tsx
var Exercise_ip = __webpack_require__(79443);
// EXTERNAL MODULE: ./src/utils/authority.ts
var authority = __webpack_require__(7);
// EXTERNAL MODULE: ./src/utils/fullscreen.ts
var fullscreen = __webpack_require__(15994);
// EXTERNAL MODULE: ./src/service/exercise.ts
var service_exercise = __webpack_require__(51412);
// EXTERNAL MODULE: ./src/service/shixuns.ts
var shixuns = __webpack_require__(56088);
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx + 1 modules
var RenderHtml = __webpack_require__(12768);
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 10 modules
var markdown_editor = __webpack_require__(55373);
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/Simple.tsx
var Simple = function Simple(_ref) {
var _answerData$exercise, _item$user_answer, _item$user_answer2, _item$standard_answer;
var item = _ref.item,
answerData = _ref.answerData,
isEducation = _ref.isEducation,
_ref$onBlur = _ref.onBlur,
_onBlur = _ref$onBlur === void 0 ? function () {} : _ref$onBlur;
var value = (0,react.useRef)("");
var _useState = (0,react.useState)(),
_useState2 = slicedToArray_default()(_useState, 2),
isShow = _useState2[0],
setIsShow = _useState2[1];
var _useState3 = (0,react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
isFocus = _useState4[0],
setIsFocus = _useState4[1];
var _useState5 = (0,react.useState)(isEducation || false),
_useState6 = slicedToArray_default()(_useState5, 2),
showEditor = _useState6[0],
setShowEditor = _useState6[1];
var timeRef = (0,react.useRef)();
var countDown = function countDown() {
clearInterval(timeRef.current);
timeRef.current = setInterval(function () {
if (isFocus) _onBlur(value.current);
}, 10 * 1000);
};
var onBeforeunload = function onBeforeunload(e) {
_onBlur(value.current);
var confirmationMessage = "确定离开此页面吗?此页数据可能会丢失";
(e || window.event).returnValue = confirmationMessage;
return confirmationMessage;
};
(0,react.useEffect)(function () {
console.log("isFocus:", isFocus);
if (isFocus) {
// window.addEventListener('beforeunload', onBeforeunload)
countDown();
} else {
// window.removeEventListener('beforeunload', onBeforeunload)
}
}, [isFocus]);
(0,react.useEffect)(function () {
setIsShow(item === null || item === void 0 ? void 0 : item.a_flag);
}, [item === null || item === void 0 ? void 0 : item.a_flag]);
(0,react.useEffect)(function () {
return function () {
clearInterval(timeRef.current);
};
}, []);
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [(answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise = answerData.exercise) === null || _answerData$exercise === void 0 ? void 0 : _answerData$exercise.user_exercise_status) === 1 ? /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "mt10 mb0",
children: "\u6211\u7684\u7B54\u6848\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Answermodules.simpleText,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: item === null || item === void 0 ? void 0 : (_item$user_answer = item.user_answer) === null || _item$user_answer === void 0 ? void 0 : _item$user_answer[0]
})
})]
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: item.user_score && (item.user_score === item.question_score ? "c-green" : "c-red"),
children: showEditor ? /*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor/* default */.Z
// hidetoolBar={true}
// hidetoolBar={document.domain === "kepukehuan.educoder.net"}
// height={isEducation ? "60vh" : 150}
, {
watch: true,
isFocus: true,
defaultValue: item === null || item === void 0 ? void 0 : (_item$user_answer2 = item.user_answer) === null || _item$user_answer2 === void 0 ? void 0 : _item$user_answer2[0],
id: item === null || item === void 0 ? void 0 : item.question_id,
className: "mt20",
onChange: function onChange(v) {
value.current = v;
setIsFocus(true);
},
onBlur: function onBlur() {
_onBlur(value.current);
clearInterval(timeRef.current);
setIsFocus(false);
}
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
onClick: function onClick() {
var _item$user_answer3;
if (!item.repeat_answer && (item === null || item === void 0 ? void 0 : (_item$user_answer3 = item.user_answer) === null || _item$user_answer3 === void 0 ? void 0 : _item$user_answer3.length) > 0 && !item.israp) {
return;
}
setShowEditor(true);
},
className: Answermodules.startAnswer,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "c-blue",
children: "\u70B9\u51FB\u5F00\u59CB\u4F5C\u7B54"
})
})
}), (0,authority/* isStudent */.dE)() && (item === null || item === void 0 ? void 0 : item.standard_answer) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "mt10 mb0",
children: "\u53C2\u8003\u7B54\u6848\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
border: "1px solid #eee",
background: "#f5f5f5",
borderRadius: 4,
padding: 5
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: item === null || item === void 0 ? void 0 : (_item$standard_answer = item.standard_answer) === null || _item$standard_answer === void 0 ? void 0 : _item$standard_answer[0]
})
})]
})]
});
};
/* harmony default export */ var components_Simple = (Simple);
// EXTERNAL MODULE: ./node_modules/antd/es/select/style/index.js + 1 modules
var select_style = __webpack_require__(95985);
// EXTERNAL MODULE: ./node_modules/antd/es/select/index.js
var es_select = __webpack_require__(34041);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/Simple2.tsx
var Simple2_Simple = function Simple(_ref) {
var _answerData$exercise, _item$user_answer, _item$user_answer2, _item$standard_answer;
var item = _ref.item,
answerData = _ref.answerData,
isEducation = _ref.isEducation,
_ref$onBlur = _ref.onBlur,
_onBlur = _ref$onBlur === void 0 ? function () {} : _ref$onBlur;
var value = (0,react.useRef)("");
var _useState = (0,react.useState)(),
_useState2 = slicedToArray_default()(_useState, 2),
isShow = _useState2[0],
setIsShow = _useState2[1];
var _useState3 = (0,react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
isFull = _useState4[0],
setIsFull = _useState4[1];
var _useState5 = (0,react.useState)(false),
_useState6 = slicedToArray_default()(_useState5, 2),
isFocus = _useState6[0],
setIsFocus = _useState6[1];
var _useState7 = (0,react.useState)(isEducation || false),
_useState8 = slicedToArray_default()(_useState7, 2),
showEditor = _useState8[0],
setShowEditor = _useState8[1];
var _useState9 = (0,react.useState)(0),
_useState10 = slicedToArray_default()(_useState9, 2),
update = _useState10[0],
setUpdate = _useState10[1];
var title = (0,react.useRef)(item.kp_content || "");
var type = (0,react.useRef)(item.kp_clazz);
var timeRef = (0,react.useRef)();
var totalNum = (0,react.useMemo)(function () {
var _value$current, _value$current$replac;
return (_value$current = value.current) === null || _value$current === void 0 ? void 0 : (_value$current$replac = _value$current.replace(/[\n|\r|\t]/g, "")) === null || _value$current$replac === void 0 ? void 0 : _value$current$replac.length;
}, [value.current]);
var countDown = function countDown() {
clearInterval(timeRef.current);
timeRef.current = setInterval(function () {
if (isFocus) _onBlur(value.current, title.current, type.current);
}, 30 * 1000);
};
(0,react.useEffect)(function () {
console.log("isFocus:", isFocus);
countDown();
}, [isFocus]);
(0,react.useEffect)(function () {
setIsShow(item === null || item === void 0 ? void 0 : item.a_flag);
}, [item === null || item === void 0 ? void 0 : item.a_flag]);
(0,react.useEffect)(function () {
return function () {
clearInterval(timeRef.current);
};
}, []);
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [(answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise = answerData.exercise) === null || _answerData$exercise === void 0 ? void 0 : _answerData$exercise.user_exercise_status) === 1 ? /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "mt30",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("strong", {
children: "\u4F5C\u6587\u9898\u76EE\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
disabled: true,
className: "mt10",
value: title.current,
onChange: function onChange(e) {
title.current = e.target.value;
setUpdate(update + 1);
},
onBlur: function onBlur() {
_onBlur(value.current, title.current, type.current);
setIsFocus(false);
}
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "mt30",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("strong", {
children: "\u4F5C\u54C1\u7C7B\u578B\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_select/* default */.Z, {
disabled: true,
className: "mt10 w100",
placeholder: "\u8BF7\u9009\u62E9\u4F5C\u54C1\u7C7B\u578B",
value: type.current,
onChange: function onChange(value) {
type.current = value;
setUpdate(update + 1);
},
onBlur: function onBlur() {
_onBlur(value.current, title.current, type.current);
setIsFocus(false);
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_select/* default.Option */.Z.Option, {
value: "科普",
children: "\u79D1\u666E"
}, 1), /*#__PURE__*/(0,jsx_runtime.jsx)(es_select/* default.Option */.Z.Option, {
value: "科幻",
children: "\u79D1\u5E7B"
}, 2)]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "mt10 mb0",
children: "\u4F5C\u54C1\u5185\u5BB9\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Answermodules.simpleText,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: item === null || item === void 0 ? void 0 : (_item$user_answer = item.user_answer) === null || _item$user_answer === void 0 ? void 0 : _item$user_answer[0]
})
})]
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "mt30",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("strong", {
children: "\u4F5C\u6587\u9898\u76EE\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
className: "mt10",
maxLength: 60,
onBlur: function onBlur() {
return _onBlur(value.current, title.current, type.current);
},
placeholder: "\u8BF7\u8F93\u5165\u4F5C\u6587\u9898\u76EE(\u6700\u591A60\u4E2A\u5B57)",
value: title.current,
onChange: function onChange(e) {
title.current = e.target.value;
setUpdate(update + 1);
}
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "mt30",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("strong", {
children: "\u4F5C\u6587\u7C7B\u578B\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_select/* default */.Z, {
className: "mt10 w100",
placeholder: "\u8BF7\u9009\u62E9\u4F5C\u54C1\u7C7B\u578B",
value: type.current,
onChange: function onChange(value) {
type.current = value;
_onBlur(value.current, title.current, type.current);
setUpdate(update + 1);
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_select/* default.Option */.Z.Option, {
value: "科普",
children: "\u79D1\u666E"
}, 1), /*#__PURE__*/(0,jsx_runtime.jsx)(es_select/* default.Option */.Z.Option, {
value: "科幻",
children: "\u79D1\u5E7B"
}, 2)]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "mt30 mb20",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: item.user_score && (item.user_score === item.question_score ? "c-green" : "c-red"),
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("strong", {
children: "\u4F5C\u6587\u5185\u5BB9\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "mt10 relative",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "c-blue",
style: {
position: isFull ? "fixed" : "absolute",
top: isFull ? 61 : 4,
left: 10,
zIndex: 106
},
children: ["\u5DF2\u8F93\u5165", totalNum, "\u5B57"]
}), showEditor ? /*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor/* default */.Z, {
className: Answermodules.simpleMd,
disablePaste: true,
hidetoolBar: isEducation,
height: isEducation ? "60vh" : 150,
isFocus: true,
defaultValue: item === null || item === void 0 ? void 0 : (_item$user_answer2 = item.user_answer) === null || _item$user_answer2 === void 0 ? void 0 : _item$user_answer2[0],
id: item === null || item === void 0 ? void 0 : item.question_id,
onFullScreen: function onFullScreen(status) {
return setIsFull(status);
},
onChange: function onChange(v) {
value.current = v;
setIsFocus(true);
setUpdate(update + 1);
},
onBlur: function onBlur() {
_onBlur(value.current, title.current, type.current);
setIsFocus(false);
}
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
onClick: function onClick() {
return setShowEditor(true);
},
className: Answermodules.startAnswer,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "c-blue",
children: "\u70B9\u51FB\u5F00\u59CB\u4F5C\u7B54"
})
})]
})]
})
})]
}), (0,authority/* isStudent */.dE)() && (item === null || item === void 0 ? void 0 : item.standard_answer) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "mt10 mb0",
children: "\u53C2\u8003\u7B54\u6848\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
border: "1px solid #eee",
background: "#f5f5f5",
borderRadius: 4,
padding: 5
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: item === null || item === void 0 ? void 0 : (_item$standard_answer = item.standard_answer) === null || _item$standard_answer === void 0 ? void 0 : _item$standard_answer[0]
})
})]
})]
});
};
/* harmony default export */ var Simple2 = (Simple2_Simple);
// EXTERNAL MODULE: ./node_modules/antd/es/table/style/index.js + 1 modules
var table_style = __webpack_require__(71854);
// EXTERNAL MODULE: ./node_modules/antd/es/table/index.js + 58 modules
var table = __webpack_require__(67250);
// EXTERNAL MODULE: ./node_modules/antd/es/anchor/style/index.js + 1 modules
var anchor_style = __webpack_require__(74131);
// EXTERNAL MODULE: ./node_modules/antd/es/anchor/index.js + 3 modules
var es_anchor = __webpack_require__(37802);
// EXTERNAL MODULE: ./src/components/monaco-editor/index.jsx + 3 modules
var monaco_editor = __webpack_require__(8691);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var componentsmodules = ({"flex_box_center":"flex_box_center___xK64P","flex_space_between":"flex_space_between___BNBCA","flex_box_vertical_center":"flex_box_vertical_center___ConJK","flex_box_center_end":"flex_box_center_end___L08sz","flex_box_column":"flex_box_column___hvk0E","shixunWrp":"shixunWrp___FTFC6"});
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/Shixun.tsx
var Shixun = function Shixun(_ref) {
var _item$shixun, _answerData$exercise, _answerData$exercise2, _item$shixun2;
var item = _ref.item,
answerData = _ref.answerData,
exerciseId = _ref.exerciseId,
coursesId = _ref.coursesId;
var _useState = (0,react.useState)([]),
_useState2 = slicedToArray_default()(_useState, 2),
data = _useState2[0],
setData = _useState2[1];
var _useState3 = (0,react.useState)([]),
_useState4 = slicedToArray_default()(_useState3, 2),
challengeData = _useState4[0],
setChallengeData = _useState4[1];
(0,react.useEffect)(function () {
var _item$shixun_details;
if (!(item !== null && item !== void 0 && (_item$shixun_details = item.shixun_details) !== null && _item$shixun_details !== void 0 && _item$shixun_details.length)) {
return;
}
var shixun = [];
var challenge = [];
for (var i = 0; i < (item === null || item === void 0 ? void 0 : (_item$shixun_details2 = item.shixun_details) === null || _item$shixun_details2 === void 0 ? void 0 : _item$shixun_details2.length); i++) {
var _item$shixun_details2, _item$shixun_details7, _item$shixun_details8;
for (var j = 0; j < (item === null || item === void 0 ? void 0 : item.shixun_details[i].stage_list.length); j++) {
var _item$shixun_details3, _item$shixun_details4, _item$shixun_details5, _item$shixun_details6;
var shixunItem = item === null || item === void 0 ? void 0 : item.shixun_details[i].stage_list[j];
shixun.push(objectSpread2_default()(objectSpread2_default()({}, shixunItem), {
operation: item === null || item === void 0 ? void 0 : (_item$shixun_details3 = item.shixun_details) === null || _item$shixun_details3 === void 0 ? void 0 : (_item$shixun_details4 = _item$shixun_details3[i]) === null || _item$shixun_details4 === void 0 ? void 0 : (_item$shixun_details5 = _item$shixun_details4.shixun_detail) === null || _item$shixun_details5 === void 0 ? void 0 : (_item$shixun_details6 = _item$shixun_details5[0]) === null || _item$shixun_details6 === void 0 ? void 0 : _item$shixun_details6.game_identifier
}));
}
if (item !== null && item !== void 0 && (_item$shixun_details7 = item.shixun_details) !== null && _item$shixun_details7 !== void 0 && (_item$shixun_details8 = _item$shixun_details7[i]) !== null && _item$shixun_details8 !== void 0 && _item$shixun_details8.shixun_detail) {
var _item$shixun_details9, _item$shixun_details10, _item$shixun_details11;
challenge.push(item === null || item === void 0 ? void 0 : (_item$shixun_details9 = item.shixun_details) === null || _item$shixun_details9 === void 0 ? void 0 : (_item$shixun_details10 = _item$shixun_details9[i]) === null || _item$shixun_details10 === void 0 ? void 0 : (_item$shixun_details11 = _item$shixun_details10.shixun_detail) === null || _item$shixun_details11 === void 0 ? void 0 : _item$shixun_details11[0]);
}
}
setChallengeData(challenge);
setData(shixun);
}, [item === null || item === void 0 ? void 0 : item.shixun_details]);
var columns = [{
title: "关卡",
dataIndex: "position",
key: "position",
align: 'center'
}, {
title: "任务名称",
dataIndex: "name",
key: "name",
align: 'center',
render: function render(name) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "overflowHidden1",
style: {
maxWidth: "400px"
},
title: name && name.length > 25 ? name : "",
children: name
});
}
}, {
title: "评测次数",
dataIndex: "evaluate_count",
key: "evaluate_count",
align: 'center',
render: function render(testCount, item) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: item.evaluate_count ? item.evaluate_count : /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "color-grey-9",
children: "--"
})
});
}
}, {
title: "完成时间",
key: "endTime",
dataIndex: "endTime",
align: 'center',
render: function render(endTime, item) {
var timeOver = false;
if (item.finished_time && answerData !== null && answerData !== void 0 && answerData.exercise && answerData !== null && answerData !== void 0 && answerData.exercise_answer_user) {
// issue#29511 exercise.time -1没有设置答题的时间限制则比较完成时间和试卷截至时间
if ((answerData === null || answerData === void 0 ? void 0 : answerData.exercise.time) === -1) {
timeOver = moment_default()(answerData === null || answerData === void 0 ? void 0 : answerData.exercise.end_time).isBefore(item.finished_time);
} else {
timeOver = moment_default()(answerData === null || answerData === void 0 ? void 0 : answerData.exercise_answer_user.start_at).add(answerData === null || answerData === void 0 ? void 0 : answerData.exercise.time, "m").isBefore(item.finished_time);
}
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [item.finished_time || /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-grey-999",
children: "--"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-orange-ff9 ",
children: timeOver ? "(已超时)" : ""
})]
});
}
}, {
title: "耗时",
dataIndex: "time_consuming",
key: "time_consuming",
align: 'center',
render: function render(time, item) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: item.time_consuming || /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "color-grey-9",
children: "--"
})
});
}
}, {
title: "查看答案",
dataIndex: "view_answer",
key: "view_answer",
align: 'center',
render: function render(exp, item) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: item.view_answer ? "已查看" : "未查看"
});
}
},
// {
// title: "经验值",
// dataIndex: "experience",
// key: "experience",
// align: 'center',
// render: (exp: any, item: any) => {
// return (
// <span>
// <span className="c-green">{item.myself_experience}</span>/
// {item.experience}
// </span>
// );
// },
// },
{
title: "操作",
dataIndex: "operation",
key: "operation",
align: 'center',
render: function render(value, data, index) {
return value ? /*#__PURE__*/(0,jsx_runtime.jsx)(es_anchor/* default */.Z, {
affix: false,
className: "mt10",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_anchor/* default.Link */.Z.Link, {
href: "#challenge_".concat(item === null || item === void 0 ? void 0 : item.question_id).concat(index),
title: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: {
color: '#0152d9'
},
children: "\u67E5\u770B"
})
})
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-grey-999",
children: "--"
});
}
}];
var outputColumns = [{
title: '评测次数',
dataIndex: 'key',
width: "127px",
key: 'key',
align: 'center',
render: function render(text, record) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: record.key
});
}
}, {
title: '详细信息',
dataIndex: 'error_msg',
key: 'error_msg',
align: 'center',
render: function render(text, record) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: record.error_msg ? record.error_msg : "--"
});
}
}];
var options = {
selectOnLineNumbers: true,
readOnly: true,
minimap: {
enabled: false
},
scrollBeyondLastLine: false
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "mt15 mb15",
children: [
/*#__PURE__*/
// (answerData?.exercise?.student_commit_status === 0 || answerData?.exercise?.user_exercise_status === 0) &&
(0,jsx_runtime.jsx)("div", {
children: item === null || item === void 0 ? void 0 : (_item$shixun = item.shixun) === null || _item$shixun === void 0 ? void 0 : _item$shixun.map(function (val, key) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
className: "font16",
gutter: [0, 20],
style: {
marginTop: 10
},
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
flex: "1",
children: [val.challenge_name, " (", val.challenge_score, "\u5206)"]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
flex: "100px",
className: "tr",
children: [!val.answer_status && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "font12 tag-style-border border-orange c-orange ",
children: "\u672A\u5B8C\u6210"
}), !!val.answer_status && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "font12 tag-style-border border-green c-green ",
children: "\u5DF2\u5B8C\u6210"
})]
})]
});
})
}), (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise = answerData.exercise) === null || _answerData$exercise === void 0 ? void 0 : _answerData$exercise.student_commit_status) !== 0 || (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise2 = answerData.exercise) === null || _answerData$exercise2 === void 0 ? void 0 : _answerData$exercise2.user_exercise_status) !== 0 ? /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [!!(data !== null && data !== void 0 && data.length) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "font16 c-grey-666",
children: "\u9636\u6BB5\u6210\u7EE9"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, {
columns: columns,
dataSource: data,
pagination: false
})]
}), !!(challengeData !== null && challengeData !== void 0 && challengeData.length) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "font16 c-grey-666 mt10",
children: "\u5B9E\u8BAD\u8BE6\u60C5"
}), challengeData === null || challengeData === void 0 ? void 0 : challengeData.map(function (chanllenge, index) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
id: "challenge_".concat(item === null || item === void 0 ? void 0 : item.question_id).concat(index),
className: "mt5",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "font16 mr15",
children: [" \u7B2C", chanllenge.position, "\u5173"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
className: "current c-black font16",
target: "_blank",
to: "/tasks/".concat(coursesId, "/").concat(exerciseId, "/").concat(chanllenge.game_identifier, "/exercise"),
children: chanllenge.name
})]
}), (chanllenge === null || chanllenge === void 0 ? void 0 : chanllenge.st) === 0 && chanllenge.passed_code && /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
className: componentsmodules.shixunWrp,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("h2", {
children: ["\u7B2C\u4E00\u6B21\u901A\u5173\u7684\u4EE3\u7801\uFF08\u672A\u901A\u5173\u5219\u4E3A\u6700\u540E\u4E00\u6B21\u63D0\u4EA4\u8BC4\u6D4B\u7684\u4EE3\u7801\uFF09", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-light-black",
children: chanllenge.path
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(monaco_editor/* default */.ZP, {
height: 300,
language: "python",
theme: "default",
value: chanllenge.passed_code,
options: options
})]
})]
});
})]
})]
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [(0,authority/* isStudent */.dE)() && /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
className: "c-grey-999 mt20 mb20",
value: item === null || item === void 0 ? void 0 : item.question_title
}), item === null || item === void 0 ? void 0 : (_item$shixun2 = item.shixun) === null || _item$shixun2 === void 0 ? void 0 : _item$shixun2.map(function (shixun, index) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
className: "font16 c-grey-666 mb5",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "mr20",
children: ["\u7B2C", shixun === null || shixun === void 0 ? void 0 : shixun.challenge_position, "\u5173 ", shixun === null || shixun === void 0 ? void 0 : shixun.challenge_name]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [shixun === null || shixun === void 0 ? void 0 : shixun.challenge_score, "\u5206"]
})]
}, index);
})]
})]
});
};
/* harmony default export */ var components_Shixun = (Shixun);
// EXTERNAL MODULE: ./node_modules/js-base64/base64.js
var base64 = __webpack_require__(19575);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/Program.tsx
var Program = function Program(_ref) {
var item = _ref.item,
answerData = _ref.answerData;
var _useState = (0,react.useState)([]),
_useState2 = slicedToArray_default()(_useState, 2),
data = _useState2[0],
setData = _useState2[1];
(0,react.useEffect)(function () {
var _item$evaluate_codes;
if ((item === null || item === void 0 ? void 0 : (_item$evaluate_codes = item.evaluate_codes) === null || _item$evaluate_codes === void 0 ? void 0 : _item$evaluate_codes.length) > 0) {
var _item$evaluate_codes2;
setData(item === null || item === void 0 ? void 0 : (_item$evaluate_codes2 = item.evaluate_codes) === null || _item$evaluate_codes2 === void 0 ? void 0 : _item$evaluate_codes2.map(function (code, index) {
return {
key: index + 1,
error_msg: code !== null && code !== void 0 && code.error_msg ? base64.Base64.decode(code === null || code === void 0 ? void 0 : code.error_msg) : ''
};
}));
} else {
setData([{
key: "--",
error_msg: "--"
}]);
}
}, [item === null || item === void 0 ? void 0 : item.evaluate_codes]);
var columns = [{
title: '评测次数',
dataIndex: 'key',
width: "127px",
key: 'key',
align: 'center',
render: function render(text, record) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: record.key
});
}
}, {
title: '详细信息',
dataIndex: 'error_msg',
key: 'error_msg',
align: 'center',
render: function render(text, record) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: record.error_msg ? record.error_msg : "--"
});
}
}];
var options = {
selectOnLineNumbers: true,
readOnly: true,
minimap: {
enabled: false
},
scrollBeyondLastLine: false
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "mt15 mb15",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: item === null || item === void 0 ? void 0 : item.description
})
}), (item === null || item === void 0 ? void 0 : item.passed_code) && /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
className: componentsmodules.shixunWrp,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("h3", {
children: "\u7B2C\u4E00\u6B21\u8BC4\u6D4B\u901A\u8FC7\u7684\u4EE3\u7801\uFF08\u672A\u901A\u5173\u5219\u4E3A\u6700\u540E\u4E00\u6B21\u63D0\u4EA4\u8BC4\u6D4B\u7684\u4EE3\u7801\uFF09"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(monaco_editor/* default */.ZP, {
style: {
border: '1px solid #ccc'
},
height: 300,
language: "python",
theme: "vs-light",
value: item !== null && item !== void 0 && item.passed_code ? base64.Base64.decode(item === null || item === void 0 ? void 0 : item.passed_code) : "",
options: options
})]
})]
});
};
/* harmony default export */ var components_Program = (Program);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
var toConsumableArray = __webpack_require__(861);
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
// EXTERNAL MODULE: ./node_modules/antd/es/alert/style/index.js + 1 modules
var alert_style = __webpack_require__(91750);
// EXTERNAL MODULE: ./node_modules/antd/es/alert/index.js + 1 modules
var es_alert = __webpack_require__(14670);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/InputTextArea.tsx
var TextArea = input/* default.TextArea */.Z.TextArea;
var Fill = function Fill(_ref) {
var _item$user_answer2, _answerData$exercise4;
var item = _ref.item,
answerData = _ref.answerData,
answer = _ref.answer,
index = _ref.index,
userAnswer = _ref.userAnswer,
setUserAnswer = _ref.setUserAnswer,
_ref$onBlur = _ref.onBlur,
onBlur = _ref$onBlur === void 0 ? function () {} : _ref$onBlur;
var params = (0,_umi_production_exports.useParams)();
var timeRef = (0,react.useRef)();
var currentKey = (0,react.useRef)();
var currentData = (0,react.useRef)();
var _useState = (0,react.useState)(),
_useState2 = slicedToArray_default()(_useState, 2),
saveStatus = _useState2[0],
setSaveStatus = _useState2[1];
var answerText = (0,react.useRef)(userAnswer[index].answer_text);
var countDown = function countDown() {
clearInterval(timeRef.current);
timeRef.current = setInterval(function () {
if (currentKey.current >= 0 && currentKey.current) saveContent();
}, 5 * 1000);
};
(0,react.useEffect)(function () {
console.log("answer:", answerData);
var data = [];
var _loop = function _loop(i) {
var _item$user_answer;
var param = (item === null || item === void 0 ? void 0 : (_item$user_answer = item.user_answer) === null || _item$user_answer === void 0 ? void 0 : _item$user_answer.find(function (e) {
return e.choice_id === i + 1;
})) || {
choice_id: i + 1,
answer_text: ''
};
data.push(objectSpread2_default()({}, param));
};
for (var i = 0; i < (item === null || item === void 0 ? void 0 : item.multi_count); i++) {
_loop(i);
}
currentData.current = data;
setUserAnswer(data);
}, [item === null || item === void 0 ? void 0 : item.user_answer]);
(0,react.useEffect)(function () {
countDown();
return function () {
window.clearInterval(timeRef.current);
};
}, []);
var saveContent = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var _answerData$exercise, _answerData$exercise2;
var ip, _answerData$exercise3, saveParams, res, _exercise$exerciseUse, _getDvaApp$_store$get, exercise;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (!((answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise = answerData.exercise) === null || _answerData$exercise === void 0 ? void 0 : _answerData$exercise.ip_limit) === 'inner' || answerData !== null && answerData !== void 0 && (_answerData$exercise2 = answerData.exercise) !== null && _answerData$exercise2 !== void 0 && _answerData$exercise2.ip_bind)) {
_context.next = 4;
break;
}
_context.next = 3;
return (0,Exercise_ip/* findLocalIp */.y)({
ip_limit: answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise3 = answerData.exercise) === null || _answerData$exercise3 === void 0 ? void 0 : _answerData$exercise3.ip_limit
});
case 3:
ip = _context.sent;
case 4:
saveParams = {
questionId: item.question_id,
exercise_choice_id: index + 1,
answer_text: answerText.current,
ip: ip
};
_context.next = 7;
return (0,service_exercise/* updateExerciseAnswers */.oX)(saveParams);
case 7:
res = _context.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
setSaveStatus("success");
onBlur(answerText.current, index + 1, currentData.current);
} else if ((res === null || res === void 0 ? void 0 : res.status) === -5) {
// getDvaApp()._store.dispatch({
// type: 'exercise/setActionTabs',
// payload: {
// key: 'student-unlock',
// exerciseParams: { errorMessage:response?.message,...exerciseData?.exercise || {}, exercise_user_id:exerciseData?.exercise?.user_id, id: searchParams.get("exercisesId")}
// },
// })
_getDvaApp$_store$get = (0,_umi_production_exports.getDvaApp)()._store.getState(), exercise = _getDvaApp$_store$get.exercise;
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
type: 'exercise/setActionTabs',
payload: {
key: 'student-unlock',
exerciseParams: {
exercise_user_id: exercise === null || exercise === void 0 ? void 0 : (_exercise$exerciseUse = exercise.exerciseUserInfo) === null || _exercise$exerciseUse === void 0 ? void 0 : _exercise$exerciseUse.exercise_user_id,
id: params.categoryId,
errorMessage: res === null || res === void 0 ? void 0 : res.message
}
}
});
} else {
setSaveStatus("error");
}
case 9:
case "end":
return _context.stop();
}
}, _callee);
}));
return function saveContent() {
return _ref2.apply(this, arguments);
};
}();
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
position: "relative"
},
children: [!!saveStatus && /*#__PURE__*/(0,jsx_runtime.jsx)(es_alert/* default */.Z, {
message: saveStatus === "success" ? "保存成功" : "保存失败",
description: "",
type: saveStatus,
showIcon: true,
style: {
background: "none",
border: "none",
paddingRight: 0,
position: "absolute",
right: 0,
top: -30
}
}), /*#__PURE__*/(0,jsx_runtime.jsx)(TextArea, {
autoSize: true,
rows: 4,
disabled: !item.repeat_answer && (item === null || item === void 0 ? void 0 : (_item$user_answer2 = item.user_answer) === null || _item$user_answer2 === void 0 ? void 0 : _item$user_answer2.length) > 0 && !item.israp || (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise4 = answerData.exercise) === null || _answerData$exercise4 === void 0 ? void 0 : _answerData$exercise4.user_exercise_status) === 1
// disabled={answerData?.exercise?.user_exercise_status === 1}
,
value: answer === null || answer === void 0 ? void 0 : answer.answer_text,
onFocus: function onFocus() {
return currentKey.current = index;
},
onChange: function onChange(e) {
userAnswer[index].answer_text = e.target.value;
answerText.current = e.target.value;
setUserAnswer(toConsumableArray_default()(userAnswer));
},
onBlur: function onBlur(e) {
saveContent();
currentKey.current = null;
},
className: "overflow_hidden ".concat(item.user_score && (item.user_score === item.question_score ? "c-green" : "c-red"))
})]
});
};
/* harmony default export */ var InputTextArea = (Fill);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/Fill.tsx
var Fill_TextArea = input/* default.TextArea */.Z.TextArea;
var Fill_Fill = function Fill(_ref) {
var _item$standard_answer, _item$standard_answer2;
var item = _ref.item,
answerData = _ref.answerData,
_ref$onBlur = _ref.onBlur,
onBlur = _ref$onBlur === void 0 ? function () {} : _ref$onBlur;
var _useState = (0,react.useState)([]),
_useState2 = slicedToArray_default()(_useState, 2),
userAnswer = _useState2[0],
setUserAnswer = _useState2[1];
var _useState3 = (0,react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
isFocus = _useState4[0],
setIsFocus = _useState4[1];
var timeRef = (0,react.useRef)();
var currentKey = (0,react.useRef)();
var currentData = (0,react.useRef)();
// const countDown = () => {
// clearInterval(timeRef.current)
// timeRef.current = setInterval(() => {
// if (currentKey.current >= 0 && currentKey.current)
// onBlur(currentData.current[currentKey.current]?.answer_text, currentKey.current + 1, currentData.current)
// }, 5 * 1000)
// }
(0,react.useEffect)(function () {
var data = [];
var _loop = function _loop(i) {
var _item$user_answer;
var param = (item === null || item === void 0 ? void 0 : (_item$user_answer = item.user_answer) === null || _item$user_answer === void 0 ? void 0 : _item$user_answer.find(function (e) {
return e.choice_id === i + 1;
})) || {
choice_id: i + 1,
answer_text: ''
};
data.push(objectSpread2_default()({}, param));
};
for (var i = 0; i < (item === null || item === void 0 ? void 0 : item.multi_count); i++) {
_loop(i);
}
currentData.current = data;
setUserAnswer(data);
}, [item === null || item === void 0 ? void 0 : item.user_answer]);
(0,react.useEffect)(function () {
// countDown();
return function () {
window.clearInterval(timeRef.current);
};
}, []);
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [userAnswer === null || userAnswer === void 0 ? void 0 : userAnswer.map(function (answer, index) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "mt10",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: ["\u6211\u7684\u7B54\u6848\uFF08\u586B\u7A7A", index + 1, "\uFF09:"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(InputTextArea, {
item: item,
answerData: answerData,
onBlur: onBlur,
setUserAnswer: setUserAnswer,
userAnswer: userAnswer,
index: index,
answer: answer
})
})]
});
}), !!(item !== null && item !== void 0 && (_item$standard_answer = item.standard_answer) !== null && _item$standard_answer !== void 0 && _item$standard_answer.length) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: item === null || item === void 0 ? void 0 : (_item$standard_answer2 = item.standard_answer) === null || _item$standard_answer2 === void 0 ? void 0 : _item$standard_answer2.map(function (answer, index) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: ["\u53C2\u8003\u7B54\u6848\uFF1A\uFF08\u586B\u7A7A", index + 1, "\uFF09:"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(Fill_TextArea, {
autoSize: true,
disabled: true,
value: answer === null || answer === void 0 ? void 0 : answer.answer_text[0]
})
})]
});
})
})]
});
};
/* harmony default export */ var components_Fill = (Fill_Fill);
// EXTERNAL MODULE: ./src/components/ImagesIcon/index.ts + 31 modules
var ImagesIcon = __webpack_require__(44190);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/ErrCheckIpTip.tsx
var ErrCheckIpTip_TextArea = input/* default.TextArea */.Z.TextArea;
var ErrCheckIpTip_Fill = function Fill(_ref) {
var data = _ref.data;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "tc mt80 pb30",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
width: "486",
src: ImagesIcon/* errIcon */.BV
}), " ", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), data.status === -1 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "c-grey-999 mt60",
children: "\u60A8\u7684IP\u4E0D\u5728\u8003\u8BD5\u5141\u8BB8\u7684\u8303\u56F4\u5185\uFF01"
}), data.status === -2 && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: " c-grey-999 mt60",
children: ["\u60A8\u5DF2\u7ED1\u5B9A\u5F53\u524D\u8003\u8BD5IP\u5730\u5740\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-red",
children: data.ip
}), "\u8BF7\u4F7F\u7528\u8BE5IP\u5730\u5740\u8FDB\u5165\u8003\u8BD5\u3002"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
className: "mt40 pl20 pr20",
type: "primary",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
href: "/",
children: "\u56DE\u5230\u9996\u9875"
})
})]
});
};
/* harmony default export */ var ErrCheckIpTip = (ErrCheckIpTip_Fill);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(59758);
// EXTERNAL MODULE: ./node_modules/lodash/lodash.js
var lodash = __webpack_require__(96486);
// EXTERNAL MODULE: ./src/pages/Classrooms/Lists/Exercise/Review/component/AnswerComments/index.tsx + 1 modules
var AnswerComments = __webpack_require__(37537);
// EXTERNAL MODULE: ./src/pages/Classrooms/Lists/Exercise/components/Unlock.tsx
var Unlock = __webpack_require__(61050);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/index.tsx
var _excluded = ["globalSetting", "loading", "user", "exercise", "dispatch"];
var Countdown = statistic/* default.Countdown */.Z.Countdown;
var Answer_TextArea = input/* default.TextArea */.Z.TextArea;
var tagList = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
var scoreStatusMapping = {
0: 'c-red-ee4',
1: 'c-green'
};
var mapping = (/* unused pure expression or super */ null && (["单选题", "多选题", "判断题", "填空题", "简答题", "实训题", "编程题"]));
var Answer = function Answer(_ref) {
var _user$userInfo, _answerData$exercise6, _answerData$exercise10, _answerData$exercise28, _user$userInfo5, _user$userInfo6, _user$userInfo6$cours, _user$userInfo7, _answerData$exercise29, _answerData$exercise30, _answerData$exercise31, _answerData$exercise32, _answerData$exercise33, _answerData$exercise34, _answerData$exercise35, _answerData$exercise36, _answerData$exercise37, _answerData$exercise38, _answerData$exercise39, _answerData$exercise40, _answerData$exercise41, _answerData$exercise42, _answerData$exercise43, _answerData$exercise44, _answerData$exercise45, _answerData$exercise46, _answerData$exercise47, _answerData$exercise48, _answerData$exercise49, _answerData$exercise50, _answerData$exercise51, _answerData$exercise52, _answerData$question_4, _answerData$question_5, _answerData$exercise_19, _answerData$question_6, _answerData$question_7, _answerData$exercise_20, _answerData$exercise_21, _answerData$exercise_22, _answerData$exercise_23, _answerData$exercise_24, _answerData$exercise_25, _answerData$exercise_26, _answerData$exercise_27, _answerData$exercise_32, _answerData$exercise_33, _answerData$exercise_34, _answerData$exercise_35;
var globalSetting = _ref.globalSetting,
loading = _ref.loading,
user = _ref.user,
exercise = _ref.exercise,
dispatch = _ref.dispatch,
props = objectWithoutProperties_default()(_ref, _excluded);
var location = (0,_umi_production_exports.useLocation)();
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
var params = (0,_umi_production_exports.useParams)();
var _useState = (0,react.useState)({}),
_useState2 = slicedToArray_default()(_useState, 2),
answerData = _useState2[0],
setAnswerData = _useState2[1];
var _useState3 = (0,react.useState)({}),
_useState4 = slicedToArray_default()(_useState3, 2),
answerCheckData = _useState4[0],
setAnswerCheckData = _useState4[1];
var _useState5 = (0,react.useState)({}),
_useState6 = slicedToArray_default()(_useState5, 2),
hideAnswerCard = _useState6[0],
setHideAnswerCard = _useState6[1];
var _useState7 = (0,react.useState)(false),
_useState8 = slicedToArray_default()(_useState7, 2),
isSpin = _useState8[0],
setIsSpin = _useState8[1];
var _useState9 = (0,react.useState)(true),
_useState10 = slicedToArray_default()(_useState9, 2),
showAnswerCard = _useState10[0],
setShowAnswerCard = _useState10[1];
var _useState11 = (0,react.useState)(false),
_useState12 = slicedToArray_default()(_useState11, 2),
showCamera = _useState12[0],
setShowCamera = _useState12[1];
var _useState13 = (0,react.useState)(false),
_useState14 = slicedToArray_default()(_useState13, 2),
openFullScreen = _useState14[0],
setOpenFullScreen = _useState14[1];
var _useState15 = (0,react.useState)(),
_useState16 = slicedToArray_default()(_useState15, 2),
time = _useState16[0],
setTime = _useState16[1];
var _useState17 = (0,react.useState)(0),
_useState18 = slicedToArray_default()(_useState17, 2),
submitProgress = _useState18[0],
setSubmitProgress = _useState18[1];
var _useState19 = (0,react.useState)(''),
_useState20 = slicedToArray_default()(_useState19, 2),
iframeUrl = _useState20[0],
setIframeUrl = _useState20[1];
var _useState21 = (0,react.useState)('none'),
_useState22 = slicedToArray_default()(_useState21, 2),
iframeBlock = _useState22[0],
setIframeBlock = _useState22[1];
var _useState23 = (0,react.useState)(''),
_useState24 = slicedToArray_default()(_useState23, 2),
countDownColor = _useState24[0],
setCountDownColor = _useState24[1];
var _useState25 = (0,react.useState)({
status: 0
}),
_useState26 = slicedToArray_default()(_useState25, 2),
checkStatus = _useState26[0],
setCheckStatus = _useState26[1]; //0ip合法,-1ip不在范围,-2已绑定其他ip
var _useState27 = (0,react.useState)(false),
_useState28 = slicedToArray_default()(_useState27, 2),
openCameraSuccess = _useState28[0],
setOpenCameraSuccess = _useState28[1];
var _useState29 = (0,react.useState)(false),
_useState30 = slicedToArray_default()(_useState29, 2),
qesLoading = _useState30[0],
setQesLoading = _useState30[1];
var _useState31 = (0,react.useState)(window.document.domain === "kepukehuan.educoder.net" ? true : false),
_useState32 = slicedToArray_default()(_useState31, 2),
isEducation = _useState32[0],
setIsEducation = _useState32[1];
var iframe = (0,react.useRef)();
var captureRef = (0,react.useRef)();
var countDownRef = (0,react.useRef)();
var countDownRef2 = (0,react.useRef)();
var localIpRef = (0,react.useRef)();
var lockRef = (0,react.useRef)();
var iframeUrlSuffix = (0,react.useRef)();
var answerCheckDataRef = (0,react.useRef)();
var _Form$useForm = es_form/* default.useForm */.Z.useForm(),
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
form = _Form$useForm2[0];
var socket = (0,react.useMemo)(function () {
return new WebSocket("ws://localhost:8082");
}, []);
var _useState33 = (0,react.useState)(0),
_useState34 = slicedToArray_default()(_useState33, 2),
oneindex = _useState34[0],
setoneindex = _useState34[1]; //大题下标
var _useState35 = (0,react.useState)(0),
_useState36 = slicedToArray_default()(_useState35, 2),
twoindex = _useState36[0],
settwoindex = _useState36[1]; //小题下标
var _useState37 = (0,react.useState)(false),
_useState38 = slicedToArray_default()(_useState37, 2),
isShowmodal = _useState38[0],
setisshowmodal = _useState38[1];
var _useState39 = (0,react.useState)(false),
_useState40 = slicedToArray_default()(_useState39, 2),
ischecked = _useState40[0],
setischecked = _useState40[1];
var _useState41 = (0,react.useState)(),
_useState42 = slicedToArray_default()(_useState41, 2),
type = _useState42[0],
settype = _useState42[1];
var allowRouter = ["/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/detail"), "/classrooms/".concat(params.coursesId, "/exercise"), "/classrooms/".concat(params.coursesId, "/exercise/"), "/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/users/").concat((_user$userInfo = user.userInfo) === null || _user$userInfo === void 0 ? void 0 : _user$userInfo.login, "/check")];
var _useState43 = (0,react.useState)(),
_useState44 = slicedToArray_default()(_useState43, 2),
indexitems = _useState44[0],
setindexitems = _useState44[1];
(0,react.useEffect)(function () {
document.body.setAttribute('data-custom', 'auto');
return function () {
document.body.removeAttribute('data-custom');
};
}, []);
(0,react.useEffect)(function () {
var _user$userInfo2, _user$userInfo3;
document.body.scrollIntoView();
if (((_user$userInfo2 = user.userInfo) === null || _user$userInfo2 === void 0 ? void 0 : _user$userInfo2.real_name) === "游客") {
window.location.href = "/classrooms/".concat(params.coursesId, "/exercise");
return;
}
if ((_user$userInfo3 = user.userInfo) !== null && _user$userInfo3 !== void 0 && _user$userInfo3.user_id) {
if ((0,authority/* isAdmin */.GJ)()) {
initData();
// window.addEventListener("beforeunload", onBeforeunload);
} else if (user.userInfo.login) {
// 检测进入考试流程是否合法
checkCanStart();
}
}
window.addEventListener('message', handleMessage);
return function () {
window.removeEventListener('message', handleMessage);
// window.removeEventListener("beforeunload", onBeforeunload);
if (location.pathname.indexOf("/detail") > -1) (0,fullscreen/* exitFull */.BU)();
};
}, [params.categoryId, user.userInfo.login]);
(0,react.useEffect)(function () {
if (isEducation) {
dispatch({
type: "globalSetting/headerFooterToggle",
payload: false
});
}
window.addEventListener('beforeunload', sendBeacon);
return function () {
clearTimeout(countDownRef.current);
clearTimeout(countDownRef2.current);
window.removeEventListener('beforeunload', sendBeacon);
};
}, []);
(0,react.useEffect)(function () {
var _answerData$question_;
if (answerData !== null && answerData !== void 0 && (_answerData$question_ = answerData.question_status) !== null && _answerData$question_ !== void 0 && _answerData$question_.every(function (item) {
return !!item.ques_status && openCameraSuccess && (answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.used_screen_num) < (answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.screen_num);
})) {
setTimeout(function () {
var _captureRef$current;
(_captureRef$current = captureRef.current) === null || _captureRef$current === void 0 ? void 0 : _captureRef$current.handlePhoto();
}, 1300);
}
}, [answerData]);
(0,react.useEffect)(function () {
var _answerData$exercise;
clearTimeout(countDownRef.current);
clearTimeout(countDownRef2.current);
if (answerData !== null && answerData !== void 0 && (_answerData$exercise = answerData.exercise) !== null && _answerData$exercise !== void 0 && _answerData$exercise.left_time && (0,authority/* isStudent */.dE)()) {
var _answerData$exercise2, _answerData$exercise4;
if ((answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise2 = answerData.exercise) === null || _answerData$exercise2 === void 0 ? void 0 : _answerData$exercise2.left_time) > 1800) {
var _answerData$exercise3;
countDownRef2.current = setTimeout(function () {
es_modal/* default.info */.Z.info({
content: "当前距离考试结束还有30分钟",
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(ClockCircleOutlined/* default */.Z, {}),
okText: "知道了"
});
}, ((answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise3 = answerData.exercise) === null || _answerData$exercise3 === void 0 ? void 0 : _answerData$exercise3.left_time) - 1800) * 1000);
}
if ((answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise4 = answerData.exercise) === null || _answerData$exercise4 === void 0 ? void 0 : _answerData$exercise4.left_time) > 900) {
var _answerData$exercise5;
countDownRef.current = setTimeout(function () {
es_modal/* default.info */.Z.info({
content: "当前距离考试结束还有15分钟",
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(ClockCircleOutlined/* default */.Z, {}),
okText: "知道了"
});
}, ((answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise5 = answerData.exercise) === null || _answerData$exercise5 === void 0 ? void 0 : _answerData$exercise5.left_time) - 900) * 1000);
}
}
}, [answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise6 = answerData.exercise) === null || _answerData$exercise6 === void 0 ? void 0 : _answerData$exercise6.left_time]);
var sendBeacon = function sendBeacon() {
var _exercise$exerciseUse;
if (!(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_commit) && (0,authority/* isStudent */.dE)()) {
(0,util/* copyTextFuc */.RG)(" ", true);
}
if ((_exercise$exerciseUse = exercise.exerciseUserInfo) !== null && _exercise$exerciseUse !== void 0 && _exercise$exerciseUse.screen_open) window.navigator.sendBeacon("".concat(env/* default.API_SERVER */.Z.API_SERVER, "/api/exercises/").concat(params.categoryId, "/commit_screen_at.json"), {});
};
var handleMessage = function handleMessage(data) {
if (data.data === 'backExercise') {
(0,util/* copyTextFuc */.RG)(" ", true);
resetIframe();
}
};
var resetIframe = function resetIframe() {
setIframeBlock("none");
setIframeUrl("");
initData();
};
var checkCanStart = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
// 检测是否开启摄像头
getExerciseUserInfo();
case 1:
case "end":
return _context.stop();
}
}, _callee);
}));
return function checkCanStart() {
return _ref2.apply(this, arguments);
};
}();
var startLocke = /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
es_modal/* default.info */.Z.info({
title: "开考密码",
width: 500,
centered: true,
closable: false,
keyboard: false,
maskClosable: false,
maskStyle: {
background: "#000"
},
okText: "进入考试",
onOk: function onOk() {
return new Promise( /*#__PURE__*/function () {
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(resolve, reject) {
var res;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.prev = 0;
_context2.next = 3;
return form.validateFields();
case 3:
_context2.next = 8;
break;
case 5:
_context2.prev = 5;
_context2.t0 = _context2["catch"](0);
reject();
case 8:
_context2.t1 = service_exercise/* exerciseStartUnLock */.pL;
_context2.t2 = (objectSpread2_default());
_context2.t3 = {
exercise_user_id: answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.exercise_user_id,
categoryId: params.categoryId
};
_context2.next = 13;
return form.validateFields();
case 13:
_context2.t4 = _context2.sent;
_context2.t5 = (0, _context2.t2)(_context2.t3, _context2.t4);
_context2.next = 17;
return (0, _context2.t1)(_context2.t5);
case 17:
res = _context2.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
checkCamera();
resolve(res);
} else {
form.setFields([{
name: 'start_password',
errors: [res === null || res === void 0 ? void 0 : res.message]
}]);
reject();
}
case 19:
case "end":
return _context2.stop();
}
}, _callee2, null, [[0, 5]]);
}));
return function (_x, _x2) {
return _ref4.apply(this, arguments);
};
}());
},
content: /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "",
children: "\u8BF7\u8F93\u5165\u76D1\u8003\u8001\u5E08\u5BA3\u5E03\u672C\u573A\u8003\u8BD5\u7684\u5F00\u8003\u5BC6\u7801\u540E\u8FDB\u5165\u8003\u8BD5"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z, {
form: form,
autoComplete: "off",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
name: "start_password",
label: "\u5F00\u8003\u5BC6\u7801",
rules: [{
required: true,
message: '请输入开考密码'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default.Password */.Z.Password, {
autoComplete: "off"
})
})
})]
})
});
case 1:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function startLocke() {
return _ref3.apply(this, arguments);
};
}();
var getExerciseUserInfo = /*#__PURE__*/function () {
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4() {
var res;
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
_context4.next = 2;
return dispatch({
type: "exercise/getExerciseUserInfo",
payload: objectSpread2_default()({}, params)
});
case 2:
res = _context4.sent;
answerCheckDataRef.current = objectSpread2_default()(objectSpread2_default()({}, res.data), {}, {
status: res === null || res === void 0 ? void 0 : res.status
});
setAnswerCheckData(objectSpread2_default()(objectSpread2_default()({}, res.data), {}, {
status: res === null || res === void 0 ? void 0 : res.status
}));
case 5:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return function getExerciseUserInfo() {
return _ref5.apply(this, arguments);
};
}();
(0,react.useEffect)(function () {
if (answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.exercise_user_id) {
if (!(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_commit)) {
(0,util/* copyTextFuc */.RG)(" ", true);
}
;
if (!(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_commit) && ((answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.ip_limit) === "inner" || answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.ip_bind)) {
iframeUrlSuffix.current = "&ip_limit=".concat(answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.ip_limit, "&ip_bind=").concat(answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.ip_bind);
}
;
if (!(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_commit)) {
(0,util/* copyTextFuc */.RG)(" ", true);
// 开启人脸识别,未通过识别
if (!(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.can_start)) {
window.location.href = "/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/users/").concat(params.login, "/check");
return;
}
// ip合法检测
if (answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_locked && answerCheckData.ip_error) {
dispatch({
type: 'exercise/setActionTabs',
payload: {
key: 'student-unlock',
exerciseParams: objectSpread2_default()(objectSpread2_default()({}, answerCheckData), {}, {
id: params.categoryId
})
}
});
return;
} else if (!(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_locked) && answerCheckData.ip_error) {}
// performance.navigation.type 0首页进入 1刷新 2返回
if (document.referrer === "" || performance.navigation.type === 2 || !allowRouter.includes(new URL(document.referrer).pathname)) {
sessionStorage.setItem("illegalEntry", "illegalEntry");
_umi_production_exports.history.push("/classrooms/".concat(params.coursesId, "/exercise/"));
return;
}
// 是否开启开考密码
if (answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.start_locked && !(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.user_is_enter)) {
startLocke();
return;
}
// 开启解锁码,未成功进入答题
if (answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_locked && performance.navigation.type === 1 && !sessionStorage.getItem("studentunlock")) {
dispatch({
type: 'exercise/setActionTabs',
payload: {
key: 'student-unlock',
exerciseParams: objectSpread2_default()(objectSpread2_default()({}, answerCheckData), {}, {
id: params.categoryId
})
}
});
return;
}
// 直接复制网址进入答题页
if (answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_locked && performance.navigation.type === 0 && answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.user_is_enter && !(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_commit)) {
dispatch({
type: 'exercise/setActionTabs',
payload: {
key: 'student-unlock',
exerciseParams: objectSpread2_default()(objectSpread2_default()({}, answerCheckData), {}, {
id: params.categoryId
})
}
});
return;
}
} else if (!answerCheckData.answered_open) {
// 交卷后,检测是否有权限查看
es_modal/* default.info */.Z.info({
width: 500,
centered: true,
title: "提示",
content: "老师已设置本试卷在交卷后不可查看",
onOk: function onOk() {
window.location.href = "/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/detail");
}
});
return;
}
checkCamera();
}
return function () {
if (!(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_commit) && (0,authority/* isStudent */.dE)()) {
(0,util/* copyTextFuc */.RG)(" ", true);
}
};
}, [answerCheckData]);
var checkCamera = /*#__PURE__*/function () {
var _ref6 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5() {
var _res$data, _res$data2, _res$data3, _res$data4, _res$data5, _res$data6;
var res, _res$data7, _res$data8, _res$data9, checkData, _res$data10, _res$data11, _res$data12, _res$data13, _res$data14;
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
// 进入考试后,删除学生解锁码
sessionStorage.setItem("studentunlock", "studentunlock");
res = {
data: answerCheckData,
status: answerCheckData.status
};
if (!((res === null || res === void 0 ? void 0 : (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.ip_limit) !== 'no' || res !== null && res !== void 0 && (_res$data2 = res.data) !== null && _res$data2 !== void 0 && _res$data2.ip_bind)) {
_context5.next = 6;
break;
}
_context5.next = 5;
return (0,Exercise_ip/* findLocalIp */.y)({
ip_limit: res === null || res === void 0 ? void 0 : (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.ip_limit,
ip_bind: res === null || res === void 0 ? void 0 : (_res$data4 = res.data) === null || _res$data4 === void 0 ? void 0 : _res$data4.ip_bind
});
case 5:
localIpRef.current = _context5.sent;
case 6:
if (!((res === null || res === void 0 ? void 0 : (_res$data5 = res.data) === null || _res$data5 === void 0 ? void 0 : _res$data5.ip_limit) !== 'no' || res !== null && res !== void 0 && (_res$data6 = res.data) !== null && _res$data6 !== void 0 && _res$data6.ip_bind)) {
_context5.next = 14;
break;
}
if (!((res === null || res === void 0 ? void 0 : (_res$data7 = res.data) === null || _res$data7 === void 0 ? void 0 : _res$data7.ip_limit) === 'inner' || res !== null && res !== void 0 && (_res$data8 = res.data) !== null && _res$data8 !== void 0 && _res$data8.ip_bind)) {
_context5.next = 14;
break;
}
_context5.next = 10;
return (0,util/* checkLocalOrPublicIp */.oi)({
exerciseId: params.categoryId,
ip: localIpRef.current,
errmsgHide: true,
ip_limit: (res === null || res === void 0 ? void 0 : (_res$data9 = res.data) === null || _res$data9 === void 0 ? void 0 : _res$data9.ip_limit) || 'no'
});
case 10:
checkData = _context5.sent;
if (!((checkData === null || checkData === void 0 ? void 0 : checkData.status) !== 0)) {
_context5.next = 14;
break;
}
setCheckStatus(checkData);
return _context5.abrupt("return");
case 14:
if (!((res === null || res === void 0 ? void 0 : res.status) == 0)) {
_context5.next = 21;
break;
}
if (!((res === null || res === void 0 ? void 0 : (_res$data10 = res.data) === null || _res$data10 === void 0 ? void 0 : _res$data10.used_screen_num) > (res === null || res === void 0 ? void 0 : (_res$data11 = res.data) === null || _res$data11 === void 0 ? void 0 : _res$data11.screen_num) && res !== null && res !== void 0 && (_res$data12 = res.data) !== null && _res$data12 !== void 0 && _res$data12.screen_open)) {
_context5.next = 18;
break;
}
handleSubmitAnswer();
return _context5.abrupt("return", false);
case 18:
setShowCamera(res === null || res === void 0 ? void 0 : res.data.check_camera);
if (!(res !== null && res !== void 0 && res.data.check_camera)) setOpenFullScreen(res === null || res === void 0 ? void 0 : (_res$data13 = res.data) === null || _res$data13 === void 0 ? void 0 : _res$data13.screen_open);
if (!(res !== null && res !== void 0 && (_res$data14 = res.data) !== null && _res$data14 !== void 0 && _res$data14.check_camera)) {
initData();
}
case 21:
case "end":
return _context5.stop();
}
}, _callee5);
}));
return function checkCamera() {
return _ref6.apply(this, arguments);
};
}();
// const onBeforeunload = (e) => {
// let confirmationMessage = "确定离开此页面吗?此页数据可能会丢失";
// (e || window.event).returnValue = confirmationMessage;
// return confirmationMessage;
// }
var handleCheckInitModal = /*#__PURE__*/function () {
var _ref7 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee6(res) {
var toSkipUrl;
return regeneratorRuntime_default()().wrap(function _callee6$(_context6) {
while (1) switch (_context6.prev = _context6.next) {
case 0:
if (!((res === null || res === void 0 ? void 0 : res.type) === 1)) {
_context6.next = 3;
break;
}
es_modal/* default.info */.Z.info({
centered: true,
width: 470,
okText: '确定',
cancelText: '取消',
title: '提示',
keyboard: false,
onOk: function onOk() {
_umi_production_exports.history.replace("/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/detail"));
},
content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: (res === null || res === void 0 ? void 0 : res.message) || ''
})
});
return _context6.abrupt("return", Promise.reject());
case 3:
if (!((res === null || res === void 0 ? void 0 : res.type) === 2)) {
_context6.next = 7;
break;
}
toSkipUrl = function toSkipUrl() {
_umi_production_exports.history.replace("/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/centralizeReview/").concat(res === null || res === void 0 ? void 0 : res.login));
};
es_modal/* default.confirm */.Z.confirm({
centered: true,
width: 470,
okText: '确定',
cancelText: '取消',
title: '提示',
keyboard: false,
onOk: toSkipUrl,
onCancel: function onCancel() {
_umi_production_exports.history.replace("/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/detail"));
},
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: ["\u60A8\u5DF2\u6210\u4E3A\u6307\u5B9A\u9605\u5377\u6559\u5E08\uFF0C\u662F\u5426\u73B0\u5728\u524D\u5F80", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
onClick: toSkipUrl,
className: "ml5 mr5 c-light-primary current",
children: "\u96C6\u4E2D\u9605\u5377"
}), "\u7EE7\u7EED\u8BC4\u9605\uFF1F"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "c-grey-999",
children: "\uFF08\u9605\u5377\u7ED3\u675F\u540E\u6062\u590D\u5B66\u751F\u4E2A\u4EBA\u8BC4\u9605\u529F\u80FD\uFF0C\u5E76\u5C55\u793A\u5B66\u751F\u6210\u7EE9\uFF09"
})]
})
});
return _context6.abrupt("return", Promise.reject());
case 7:
case "end":
return _context6.stop();
}
}, _callee6);
}));
return function handleCheckInitModal(_x3) {
return _ref7.apply(this, arguments);
};
}();
var initData = /*#__PURE__*/function () {
var _ref8 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee7() {
var _user$userInfo4;
var res, random_id, _res, _res2, _res2$exercise_answer, _res9, _res9$exercise, _res10, _res$exercise, _res11, _res11$exercise, _res14, _res14$exercise, _res15, _res15$exercise, _res3, _res3$exercise, _answerCheckDataRef$c, _answerCheckDataRef$c2, _answerCheckDataRef$c3, _answerCheckDataRef$c4, _res4, _res6, _res7, _res8, _res8$exercise_questi, _res5, _res12, _res12$exercise, _res13, _res13$exercise, _res16, _res16$exercise, _res17, _res17$exercise, _res21, _res22, _res22$exercise_score, _res23, _res18, _res18$exercise_quest, _key;
return regeneratorRuntime_default()().wrap(function _callee7$(_context7) {
while (1) switch (_context7.prev = _context7.next) {
case 0:
document.body.scrollIntoView();
setIsSpin(true);
random_id = (_user$userInfo4 = user.userInfo) === null || _user$userInfo4 === void 0 ? void 0 : _user$userInfo4.user_id;
if (!(0,authority/* isAdmin */.GJ)()) {
_context7.next = 11;
break;
}
_context7.next = 6;
return (0,service_exercise/* getReviewExercise */.BJ)({
exerciseId: params.categoryId,
login: params.login
})["catch"](function () {
return setIsSpin(false);
});
case 6:
res = _context7.sent;
((_res = res) === null || _res === void 0 ? void 0 : _res.exercise) && (res.exercise.user_exercise_status = 1);
random_id = (_res2 = res) === null || _res2 === void 0 ? void 0 : (_res2$exercise_answer = _res2.exercise_answer_user) === null || _res2$exercise_answer === void 0 ? void 0 : _res2$exercise_answer.user_id;
_context7.next = 38;
break;
case 11:
if (!searchParams.get("check")) {
_context7.next = 18;
break;
}
_context7.next = 14;
return (0,service_exercise/* getReviewExercise */.BJ)(objectSpread2_default()(objectSpread2_default()({}, params), {}, {
exerciseId: params.categoryId,
login: params.login
}))["catch"](function () {
return setIsSpin(false);
});
case 14:
res = _context7.sent;
random_id = (_res3 = res) === null || _res3 === void 0 ? void 0 : (_res3$exercise = _res3.exercise) === null || _res3$exercise === void 0 ? void 0 : _res3$exercise.user_id;
_context7.next = 32;
break;
case 18:
if (!(((_answerCheckDataRef$c = answerCheckDataRef.current) === null || _answerCheckDataRef$c === void 0 ? void 0 : _answerCheckDataRef$c.ip_limit) !== 'no' || (_answerCheckDataRef$c2 = answerCheckDataRef.current) !== null && _answerCheckDataRef$c2 !== void 0 && _answerCheckDataRef$c2.ip_bind)) {
_context7.next = 22;
break;
}
_context7.next = 21;
return (0,Exercise_ip/* findLocalIp */.y)({
ip_limit: (_answerCheckDataRef$c3 = answerCheckDataRef.current) === null || _answerCheckDataRef$c3 === void 0 ? void 0 : _answerCheckDataRef$c3.ip_limit,
ip_bind: (_answerCheckDataRef$c4 = answerCheckDataRef.current) === null || _answerCheckDataRef$c4 === void 0 ? void 0 : _answerCheckDataRef$c4.ip_bind
});
case 21:
localIpRef.current = _context7.sent;
case 22:
_context7.next = 24;
return (0,service_exercise/* getExerciseStart */.CD)(objectSpread2_default()(objectSpread2_default()({}, params), {}, {
ip: localIpRef.current
}))["catch"](function () {
return setIsSpin(false);
});
case 24:
res = _context7.sent;
if (res.status === -1) {
handleToDetail();
}
if (!(((_res4 = res) === null || _res4 === void 0 ? void 0 : _res4.status) === -5)) {
_context7.next = 29;
break;
}
dispatch({
type: 'exercise/setActionTabs',
payload: {
key: 'student-unlock',
exerciseParams: objectSpread2_default()(objectSpread2_default()({}, answerCheckDataRef.current), {}, {
id: params.categoryId,
errorMessage: (_res5 = res) === null || _res5 === void 0 ? void 0 : _res5.message
})
}
});
return _context7.abrupt("return");
case 29:
((_res6 = res) === null || _res6 === void 0 ? void 0 : _res6.exercise) && (res.exercise.user_exercise_status = 0);
((_res7 = res) === null || _res7 === void 0 ? void 0 : _res7.exercise) && (res.exercise.exercise_status = 2);
(_res8 = res) === null || _res8 === void 0 ? void 0 : (_res8$exercise_questi = _res8.exercise_question_types) === null || _res8$exercise_questi === void 0 ? void 0 : _res8$exercise_questi.map(function (item) {
if ((item === null || item === void 0 ? void 0 : item.question_type) < 3) {
var _item$items;
item === null || item === void 0 ? void 0 : (_item$items = item.items) === null || _item$items === void 0 ? void 0 : _item$items.map(function (ite) {
ite.user_answer = ite.question_choices.filter(function (j) {
return j.user_answer_boolean;
}).map(function (k) {
return k.choice_id;
});
});
}
});
case 32:
if (!(!((_res9 = res) !== null && _res9 !== void 0 && (_res9$exercise = _res9.exercise) !== null && _res9$exercise !== void 0 && _res9$exercise.can_start) && (_res10 = res) !== null && _res10 !== void 0 && _res10.exercise)) {
_context7.next = 35;
break;
}
window.location.href = "/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/users/").concat(params.login, "/check");
return _context7.abrupt("return");
case 35:
if (((_res$exercise = res.exercise) === null || _res$exercise === void 0 ? void 0 : _res$exercise.commit_status) === 0 && !lockRef.current) {
try {
lockRef.current = true;
socket.send(JSON.stringify({
type: "toggleLockExit",
data: true
}));
socket.send(JSON.stringify({
type: "network-close",
data: ''
}));
} catch (_unused) {}
;
// window.removeEventListener("beforeunload", onBeforeunload)
}
if ((_res11 = res) !== null && _res11 !== void 0 && (_res11$exercise = _res11.exercise) !== null && _res11$exercise !== void 0 && _res11$exercise.left_time) {
setTimeout(function () {
setCountDownColor(Answermodules.red);
}, (((_res12 = res) === null || _res12 === void 0 ? void 0 : (_res12$exercise = _res12.exercise) === null || _res12$exercise === void 0 ? void 0 : _res12$exercise.left_time) - 300 > 0 ? ((_res13 = res) === null || _res13 === void 0 ? void 0 : (_res13$exercise = _res13.exercise) === null || _res13$exercise === void 0 ? void 0 : _res13$exercise.left_time) - 300 : 0) * 1000);
}
if (((_res14 = res) === null || _res14 === void 0 ? void 0 : (_res14$exercise = _res14.exercise) === null || _res14$exercise === void 0 ? void 0 : _res14$exercise.take_photo) >= ((_res15 = res) === null || _res15 === void 0 ? void 0 : (_res15$exercise = _res15.exercise) === null || _res15$exercise === void 0 ? void 0 : _res15$exercise.photo_count)) {}
case 38:
setIsSpin(false);
_context7.next = 41;
return handleCheckInitModal(res);
case 41:
if (res) {
if ((_res16 = res) !== null && _res16 !== void 0 && (_res16$exercise = _res16.exercise) !== null && _res16$exercise !== void 0 && _res16$exercise.question_random || (_res17 = res) !== null && _res17 !== void 0 && (_res17$exercise = _res17.exercise) !== null && _res17$exercise !== void 0 && _res17$exercise.choice_random) {
_key = 1;
res.exercise.question_random = (_res18 = res) === null || _res18 === void 0 ? void 0 : (_res18$exercise_quest = _res18.exercise_question_types) === null || _res18$exercise_quest === void 0 ? void 0 : _res18$exercise_quest.map(function (item) {
var _res19, _res19$exercise, _res20, _res20$exercise;
if ((_res19 = res) !== null && _res19 !== void 0 && (_res19$exercise = _res19.exercise) !== null && _res19$exercise !== void 0 && _res19$exercise.choice_random) {
if (item.question_type === 0 || item.question_type === 1) {
item.items.map(function (i) {
i.question_choices = (0,util/* randomArray */.M2)(i.question_choices, random_id);
return i;
});
}
if (item.question_type === 7) {
item.items.forEach(function (i) {
i.sub_exercise_questions.forEach(function (k) {
k.question_choices = (0,util/* randomArray */.M2)(k.question_choices, random_id);
});
});
}
}
if ((_res20 = res) !== null && _res20 !== void 0 && (_res20$exercise = _res20.exercise) !== null && _res20$exercise !== void 0 && _res20$exercise.question_random) {
item.items = (0,util/* randomArray */.M2)(item.items, random_id);
}
item.items.map(function (i) {
i.question_num = _key;
_key++;
return i;
});
return item;
});
}
console.log('---', res);
res.exercise_types = ((_res21 = res) === null || _res21 === void 0 ? void 0 : _res21.exercise_types) || ((_res22 = res) === null || _res22 === void 0 ? void 0 : (_res22$exercise_score = _res22.exercise_scores) === null || _res22$exercise_score === void 0 ? void 0 : _res22$exercise_score.exercise_types);
res.question_status = res.question_status || createItems(((_res23 = res) === null || _res23 === void 0 ? void 0 : _res23.exercise_question_types) || []);
setAnswerData(res);
}
case 42:
case "end":
return _context7.stop();
}
}, _callee7);
}));
return function initData() {
return _ref8.apply(this, arguments);
};
}();
var createItems = function createItems(item) {
var items = [];
item.forEach(function (e) {
items = items.concat(e.items);
});
items = items.map(function (e) {
return {
ques_status: e === null || e === void 0 ? void 0 : e.ques_status,
question_num: e === null || e === void 0 ? void 0 : e.question_num,
ques_id: e === null || e === void 0 ? void 0 : e.question_id
};
});
return items;
};
(0,react.useEffect)(function () {
var _answerData$exercise7, _answerData$exercise8, _answerData$exercise9;
if (((_answerData$exercise7 = answerData.exercise) === null || _answerData$exercise7 === void 0 ? void 0 : _answerData$exercise7.left_time) === 0) {
handleSubmitAnswer();
} //自动任务失败进入后时间为0自动提交试卷
((_answerData$exercise8 = answerData.exercise) === null || _answerData$exercise8 === void 0 ? void 0 : _answerData$exercise8.left_time) && setTime(Date.now() + (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise9 = answerData.exercise) === null || _answerData$exercise9 === void 0 ? void 0 : _answerData$exercise9.left_time) * 1000);
}, [(_answerData$exercise10 = answerData.exercise) === null || _answerData$exercise10 === void 0 ? void 0 : _answerData$exercise10.left_time]);
var handleBackToRedo = function handleBackToRedo() {
var _answerData$exercise11;
if ((answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise11 = answerData.exercise) === null || _answerData$exercise11 === void 0 ? void 0 : _answerData$exercise11.exercise_status) === 3) {
es_modal/* default.confirm */.Z.confirm({
width: 530,
title: '提示',
centered: true,
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "tc font16",
children: ["\u622A\u6B62\u65F6\u95F4\u5DF2\u5230\uFF0C\u65E0\u6CD5\u6253\u56DE\u8BD5\u5377", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "\u8BF7\u5728\u4FEE\u6539\u622A\u6B62\u65F6\u95F4\u540E\u518D\u64CD\u4F5C"]
})
});
} else {
es_modal/* default.confirm */.Z.confirm({
width: 530,
title: '提示',
centered: true,
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "tc font16",
children: ["\u5B66\u751F\u5C06\u5F97\u5230\u4E00\u6B21\u91CD\u65B0\u7B54\u9898\u7684\u673A\u4F1A\uFF0C\u73B0\u6709\u7684\u7B54\u9898\u60C5\u51B5\u5C06\u88AB\u6E05\u7A7A", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "\u662F\u5426\u786E\u8BA4\u56DE\u9000TA\u7684\u8BD5\u5377\u7B54\u9898"]
}),
onOk: function () {
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee8() {
var _answerData$exercise_;
var res;
return regeneratorRuntime_default()().wrap(function _callee8$(_context8) {
while (1) switch (_context8.prev = _context8.next) {
case 0:
_context8.next = 2;
return (0,service_exercise/* redoExercise */.q6)({
categoryId: params.categoryId,
user_ids: [answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise_ = answerData.exercise_answer_user) === null || _answerData$exercise_ === void 0 ? void 0 : _answerData$exercise_.user_id]
});
case 2:
res = _context8.sent;
if (res) {
message/* default.info */.ZP.info(res === null || res === void 0 ? void 0 : res.message);
handleToDetail();
}
case 4:
case "end":
return _context8.stop();
}
}, _callee8);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
}
};
var handleToDetail = function handleToDetail() {
window.location.href = (0,util/* checkIsClientExam */.Ll)() ? "/" : "/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/detail");
};
var handleLeftTime = /*#__PURE__*/function () {
var _ref9 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee9() {
var res;
return regeneratorRuntime_default()().wrap(function _callee9$(_context9) {
while (1) switch (_context9.prev = _context9.next) {
case 0:
_context9.next = 2;
return (0,service_exercise/* exerciseLeftTime */.PT)(objectSpread2_default()({}, params));
case 2:
res = _context9.sent;
if (!(res !== null && res !== void 0 && res.has_time)) {
_context9.next = 10;
break;
}
setTime(Date.now() + (res === null || res === void 0 ? void 0 : res.left_time) * 1000);
answerData.exercise.left_time = res === null || res === void 0 ? void 0 : res.left_time;
setAnswerData(objectSpread2_default()({}, answerData));
return _context9.abrupt("return", true);
case 10:
handleFinishTime();
return _context9.abrupt("return", false);
case 12:
case "end":
return _context9.stop();
}
}, _callee9);
}));
return function handleLeftTime() {
return _ref9.apply(this, arguments);
};
}();
// 自动交卷
var handleFinishTime = /*#__PURE__*/function () {
var _ref10 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee11() {
var res, _time;
return regeneratorRuntime_default()().wrap(function _callee11$(_context11) {
while (1) switch (_context11.prev = _context11.next) {
case 0:
_context11.next = 2;
return (0,service_exercise/* submitExerciseAnswer */.VL)({
categoryId: params.categoryId,
commit_method: 2
});
case 2:
res = _context11.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
es_modal/* default.info */.Z.info({
width: 530,
title: '提示',
centered: true,
okText: '确定',
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "tc font16",
children: ["\u7B54\u9898\u7ED3\u675F\u4E86\uFF0C\u7CFB\u7EDF\u5DF2\u81EA\u52A8\u63D0\u4EA4\u8BD5\u5377", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "\u4E0D\u80FD\u518D\u4FEE\u6539\u7B54\u9898"]
}),
onOk: function () {
var _onOk2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee10() {
return regeneratorRuntime_default()().wrap(function _callee10$(_context10) {
while (1) switch (_context10.prev = _context10.next) {
case 0:
handleToDetail();
case 1:
case "end":
return _context10.stop();
}
}, _callee10);
}));
function onOk() {
return _onOk2.apply(this, arguments);
}
return onOk;
}()
});
message/* default.info */.ZP.info(res === null || res === void 0 ? void 0 : res.message);
}
if ((res === null || res === void 0 ? void 0 : res.status) === -3) {
_time = parseInt(res === null || res === void 0 ? void 0 : res.message);
answerData.exercise.left_time = _time;
setAnswerData(objectSpread2_default()({}, answerData));
}
case 5:
case "end":
return _context11.stop();
}
}, _callee11);
}));
return function handleFinishTime() {
return _ref10.apply(this, arguments);
};
}();
var goShixun = /*#__PURE__*/function () {
var _ref11 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee12(item) {
var res;
return regeneratorRuntime_default()().wrap(function _callee12$(_context12) {
while (1) switch (_context12.prev = _context12.next) {
case 0:
_context12.next = 2;
return (0,shixuns/* execShixun */.Ir)({
id: item.shixun_identifier
});
case 2:
res = _context12.sent;
if (res !== null && res !== void 0 && res.game_identifier) {
clearTimeout(countDownRef.current);
clearTimeout(countDownRef2.current);
setIframeUrl("/tasks/".concat(res.game_identifier, "?type=exercises&exercisesId=").concat(params.categoryId, "&coursesId=").concat(params.coursesId, "&login=").concat(params.login, "&questionId=").concat(item.question_id, "&isFullScreen=").concat((0,fullscreen/* IsFull */.vp)()).concat(iframeUrlSuffix.current || ""));
setIframeBlock("block");
// props.history.push(`/tasks/${res.game_identifier}?type=exercises&exercisesId=${params.categoryId}&coursesId=${params.coursesId}&login=${params.login}&questionId=${item.question_id}`)
}
if ((res === null || res === void 0 ? void 0 : res.status) === -3) {
(0,util/* bindPhone */.eF)();
} else if ((res === null || res === void 0 ? void 0 : res.status) === 2) {
handleResetGame(res === null || res === void 0 ? void 0 : res.message, item.question_id);
} else if ((res === null || res === void 0 ? void 0 : res.status) === 3) {
handleInBeta(res === null || res === void 0 ? void 0 : res.message);
}
case 5:
case "end":
return _context12.stop();
}
}, _callee12);
}));
return function goShixun(_x4) {
return _ref11.apply(this, arguments);
};
}();
var handleResetGame = function handleResetGame(url, question_id) {
var _url;
url = (_url = url) !== null && _url !== void 0 && _url.includes('.json') ? url : "".concat(url, ".json");
es_modal/* default.confirm */.Z.confirm({
centered: true,
title: '提示',
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "tc font16",
children: "\u5B9E\u8BAD\u5DF2\u7ECF\u66F4\u65B0\u4E86\uFF0C\u6B63\u5728\u4E3A\u60A8\u91CD\u7F6E!"
}),
onOk: function () {
var _onOk3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee13() {
var res, execRes;
return regeneratorRuntime_default()().wrap(function _callee13$(_context13) {
while (1) switch (_context13.prev = _context13.next) {
case 0:
_context13.next = 2;
return (0,service_exercise/* resetMyGame */.$Q)({
url: url
});
case 2:
res = _context13.sent;
if (res) {
_context13.next = 5;
break;
}
return _context13.abrupt("return");
case 5:
message/* default.success */.ZP.success("重置成功,正在进入实训!");
_context13.next = 8;
return (0,shixuns/* execShixun */.Ir)({
id: res.shixun_identifier
});
case 8:
execRes = _context13.sent;
if (!(execRes !== null && execRes !== void 0 && execRes.game_identifier)) {
_context13.next = 12;
break;
}
goShixun({
shixun_identifier: execRes === null || execRes === void 0 ? void 0 : execRes.game_identifier,
question_id: question_id
});
// openNewWindow(`/tasks/${execRes.game_identifier}`);
return _context13.abrupt("return");
case 12:
if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 2) {
handleResetGame(execRes === null || execRes === void 0 ? void 0 : execRes.message, question_id);
} else if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 3) {
handleInBeta(execRes === null || execRes === void 0 ? void 0 : execRes.message);
}
case 13:
case "end":
return _context13.stop();
}
}, _callee13);
}));
function onOk() {
return _onOk3.apply(this, arguments);
}
return onOk;
}()
});
};
var handleInBeta = function handleInBeta(message) {
es_modal/* default.confirm */.Z.confirm({
centered: true,
title: '提示',
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "tc font16",
children: ["\u76EE\u524D\u8BE5\u5B9E\u8DF5\u9879\u76EE\u5C1A\u5728\u5185\u6D4B\u4E2D\uFF0C\u5C06\u4E8E", message, "\u4E4B\u540E\u5F00\u653E\uFF0C\u8C22\u8C22\uFF01"]
})
});
};
var handleJoinShixun = /*#__PURE__*/function () {
var _ref12 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee15(item) {
var _exercise$exerciseUse2;
var checkRes;
return regeneratorRuntime_default()().wrap(function _callee15$(_context15) {
while (1) switch (_context15.prev = _context15.next) {
case 0:
_context15.next = 2;
return (0,service_exercise/* checkRedoStatus */.o3)({
exercise_user_id: (_exercise$exerciseUse2 = exercise.exerciseUserInfo) === null || _exercise$exerciseUse2 === void 0 ? void 0 : _exercise$exerciseUse2.exercise_user_id,
shixun_id: item.shixun_id
});
case 2:
checkRes = _context15.sent;
if (checkRes !== null && checkRes !== void 0 && checkRes.redo) {
es_modal/* default.info */.Z.info({
width: 530,
title: '提示',
centered: true,
okText: '确定',
content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "tc font16",
children: "\u60A8\u4E4B\u524D\u5DF2\u7ECF\u6311\u6218\u8FC7\u8BE5\u5B9E\u8BAD\uFF0C\u8003\u8BD5\u8FC7\u7A0B\u4E2D\u9700\u8981\u91CD\u65B0\u6311\u6218"
}),
onOk: function () {
var _onOk4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee14() {
var res, newQuestions, index, newItem;
return regeneratorRuntime_default()().wrap(function _callee14$(_context14) {
while (1) switch (_context14.prev = _context14.next) {
case 0:
_context14.next = 2;
return (0,service_exercise/* resetMyGame */.$Q)({
id: checkRes === null || checkRes === void 0 ? void 0 : checkRes.myshixun_identifier,
url: checkRes === null || checkRes === void 0 ? void 0 : checkRes.url
});
case 2:
res = _context14.sent;
if (res) {
newQuestions = (0,lodash.cloneDeep)(answerData === null || answerData === void 0 ? void 0 : answerData.exercise_question_types);
index = newQuestions === null || newQuestions === void 0 ? void 0 : newQuestions.findIndex(function (e) {
return e.question_type === 5;
});
newQuestions[index].items.find(function (er) {
return er.question_id === item.question_id;
}).redo = false;
newQuestions[index].items.find(function (er) {
return er.question_id === item.question_id;
}).shixun_identifier = res.shixun_identifier;
answerData.exercise_question_types = newQuestions;
setAnswerData(answerData);
newItem = objectSpread2_default()(objectSpread2_default()({}, item), {}, {
shixun_identifier: res.shixun_identifier
});
goShixun(newItem);
}
case 4:
case "end":
return _context14.stop();
}
}, _callee14);
}));
function onOk() {
return _onOk4.apply(this, arguments);
}
return onOk;
}()
});
} else {
goShixun(item);
}
case 4:
case "end":
return _context15.stop();
}
}, _callee15);
}));
return function handleJoinShixun(_x5) {
return _ref12.apply(this, arguments);
};
}();
var handleJoinProgram = /*#__PURE__*/function () {
var _ref13 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee16(item) {
var res;
return regeneratorRuntime_default()().wrap(function _callee16$(_context16) {
while (1) switch (_context16.prev = _context16.next) {
case 0:
if (!item.hack_identifier) {
_context16.next = 5;
break;
}
_context16.next = 3;
return (0,service_exercise/* startProgram */.nF)({
id: item.hack_identifier
});
case 3:
res = _context16.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
clearTimeout(countDownRef.current);
clearTimeout(countDownRef2.current);
setIframeUrl("/myproblems/".concat(res.identifier, "?type=exercises&exercisesId=").concat(params.categoryId, "&coursesId=").concat(params.coursesId, "&login=").concat(params.login, "&questionId=").concat(item.question_id).concat(iframeUrlSuffix.current || ""));
setIframeBlock("block");
// props.history.push(`/myproblems/${res.identifier}?type=exercises&exercisesId=${params.categoryId}&coursesId=${params.coursesId}&login=${params.login}&questionId=${item.question_id}`)
}
case 5:
case "end":
return _context16.stop();
}
}, _callee16);
}));
return function handleJoinProgram(_x6) {
return _ref13.apply(this, arguments);
};
}();
var handleSave = /*#__PURE__*/function () {
var _ref14 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee17(questionId, exercise_choice_id, answer_text, callBack, kp_content, kp_clazz) {
var _res$alert;
var ip, saveParams, res, _res$alert2;
return regeneratorRuntime_default()().wrap(function _callee17$(_context17) {
while (1) switch (_context17.prev = _context17.next) {
case 0:
setQesLoading(true);
saveParams = {
questionId: questionId,
exercise_choice_id: exercise_choice_id,
answer_text: answer_text
};
if (!((answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.ip_limit) === 'inner' || answerCheckData.ip_bind)) {
_context17.next = 6;
break;
}
_context17.next = 5;
return (0,Exercise_ip/* findLocalIp */.y)({
ip_limit: answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.ip_limit
});
case 5:
ip = _context17.sent;
case 6:
// await checkLocalOrPublicIp({ exerciseId: params.categoryId, ip: ip, errmsgHide: true, ip_limit: answerCheckData?.ip_limit, ip_bind: answerCheckData?.ip_bind }).catch(e => {
// setCheckStatus(e);
// })
if (kp_content) {
saveParams["kp_content"] = kp_content;
}
if (kp_content) {
saveParams["kp_clazz"] = kp_clazz;
}
if (questionId) {
_context17.next = 11;
break;
}
console.error("handleSave no questionId params");
return _context17.abrupt("return");
case 11:
saveParams.ip = ip;
_context17.next = 14;
return (0,service_exercise/* updateExerciseAnswers */.oX)(saveParams);
case 14:
res = _context17.sent;
if (res !== null && res !== void 0 && (_res$alert = res.alert) !== null && _res$alert !== void 0 && _res$alert.length) {
res === null || res === void 0 ? void 0 : (_res$alert2 = res.alert) === null || _res$alert2 === void 0 ? void 0 : _res$alert2.map(function (item) {
es_modal/* default.warn */.Z.warn({
title: "提示",
autoFocusButton: null,
content: item
});
});
}
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
callBack && callBack();
} else if ((res === null || res === void 0 ? void 0 : res.status) === -1) {
// message.warn("试卷已截止,已自动交卷")
setTimeout(function () {
handleToDetail();
}, 1000);
} else if ((res === null || res === void 0 ? void 0 : res.status) === -2) {
setCheckStatus(res);
} else if ((res === null || res === void 0 ? void 0 : res.status) === -3) {
res.status = -1;
setCheckStatus(res);
} else if ((res === null || res === void 0 ? void 0 : res.status) === -5) {
dispatch({
type: 'exercise/setActionTabs',
payload: {
key: 'student-unlock',
exerciseParams: objectSpread2_default()(objectSpread2_default()({}, answerCheckData), {}, {
id: params.categoryId,
errorMessage: res === null || res === void 0 ? void 0 : res.message
})
}
});
} else {
message/* default.warn */.ZP.warn(res.message || "试卷已截止,已自动交卷");
}
setQesLoading(false);
case 18:
case "end":
return _context17.stop();
}
}, _callee17);
}));
return function handleSave(_x7, _x8, _x9, _x10, _x11, _x12) {
return _ref14.apply(this, arguments);
};
}();
var handleVerifySave = /*#__PURE__*/function () {
var _ref15 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee20(isSave) {
var res, tip;
return regeneratorRuntime_default()().wrap(function _callee20$(_context20) {
while (1) switch (_context20.prev = _context20.next) {
case 0:
_context20.next = 2;
return handleLeftTime();
case 2:
_context20.next = 4;
return (0,service_exercise/* beginCommit */.Vj)({
id: params.categoryId
});
case 4:
res = _context20.sent;
if (res) {
_context20.next = 7;
break;
}
return _context20.abrupt("return");
case 7:
if (res.question_undo !== 0 || res.oj_undo !== 0) {
tip = '';
if (res.question_undo !== 0 && res.oj_undo !== 0) {
tip = "\u6709 ".concat(res.question_undo, " \u9898\u672A\u5B8C\u6210\uFF0C\u5305\u542B ").concat(res.oj_undo, " \u4E2A\u7F16\u7A0B\u9898");
} else if (res.question_undo !== 0 && res.oj_undo === 0) {
tip = "\u6709 ".concat(res.question_undo, " \u9898\u672A\u5B8C\u6210");
} else if (res.question_undo === 0 && res.oj_undo !== 0) {
tip = "\u6709 ".concat(res.oj_undo, " \u7F16\u7A0B\u9898\u672A\u5B8C\u6210");
}
es_modal/* default.confirm */.Z.confirm({
width: 530,
title: '提示',
centered: true,
okText: isSave ? '知道了' : '确认交卷',
cancelText: '取消',
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "tc font16",
children: [tip, /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), isSave ? "\u5728".concat(moment_default()(res.end_time).format("YYYY-MM-DD HH:mm"), "\u4E4B\u524D\uFF0C\u5141\u8BB8\u4FEE\u6539\u7B54\u9898") : time ? "\u4F60\u672C\u573A\u8003\u8BD5\u5269\u4F59\u65F6\u95F4\u8FD8\u6709".concat((0,util/* toTimeFormat */.li)((time - new Date().getTime()) / 1000), " \uFF0C\u786E\u8BA4\u63D0\u524D\u4EA4\u5377\u5417\uFF1F") : "提交后无法再修改答题,是否确认提交?"]
}),
onOk: function () {
var _onOk5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee18() {
return regeneratorRuntime_default()().wrap(function _callee18$(_context18) {
while (1) switch (_context18.prev = _context18.next) {
case 0:
if (isSave) {
if (!(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.screen_open)) handleToDetail();else message/* default.success */.ZP.success("保存成功");
} else {
handleSubmitAnswer();
}
case 1:
case "end":
return _context18.stop();
}
}, _callee18);
}));
function onOk() {
return _onOk5.apply(this, arguments);
}
return onOk;
}()
});
} else {
es_modal/* default.confirm */.Z.confirm({
width: 530,
title: '提示',
centered: true,
okText: isSave ? '知道了' : '确认交卷',
cancelText: '取消',
content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "tc font16",
children: isSave ? "\u5728".concat(moment_default()(res.end_time).format("YYYY-MM-DD HH:mm"), "\u4E4B\u524D\uFF0C\u5141\u8BB8\u4FEE\u6539\u7B54\u9898") : time ? "\u4F60\u672C\u573A\u8003\u8BD5\u5269\u4F59\u65F6\u95F4\u8FD8\u6709".concat((0,util/* toTimeFormat */.li)((time - new Date().getTime()) / 1000), " \uFF0C\u786E\u8BA4\u63D0\u524D\u4EA4\u5377\u5417\uFF1F") : "提交后无法再修改答题,是否确认提交?"
}),
onOk: function () {
var _onOk6 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee19() {
return regeneratorRuntime_default()().wrap(function _callee19$(_context19) {
while (1) switch (_context19.prev = _context19.next) {
case 0:
if (isSave) {
if (!(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.screen_open)) handleToDetail();else message/* default.success */.ZP.success("保存成功");
} else {
handleSubmitAnswer();
}
case 1:
case "end":
return _context19.stop();
}
}, _callee19);
}));
function onOk() {
return _onOk6.apply(this, arguments);
}
return onOk;
}()
});
}
case 8:
case "end":
return _context20.stop();
}
}, _callee20);
}));
return function handleVerifySave(_x13) {
return _ref15.apply(this, arguments);
};
}();
var submitProgressContent = function submitProgressContent(progress) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_progress/* default */.Z, {
strokeColor: {
from: '#108ee9',
to: '#87d068'
},
status: "active",
percent: progress
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "c-grey-c tc mt10 mb20",
children: "\u6B63\u5728\u5224\u5206\u4E2D\u2026"
})]
});
};
var submitProgressLoading = function submitProgressLoading() {
var progress = 0;
var modal = es_modal/* default.info */.Z.info({
title: "交卷中",
icon: null,
className: "modal-footer-none",
content: submitProgressContent(progress)
});
var interval = setInterval(function () {
if (progress <= 100) {
progress += 2;
modal.update({
content: submitProgressContent(progress)
});
} else {
modal.destroy();
clearInterval(interval);
}
}, 50);
};
var handleSubmitAnswer = /*#__PURE__*/function () {
var _ref16 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee21() {
var res;
return regeneratorRuntime_default()().wrap(function _callee21$(_context21) {
while (1) switch (_context21.prev = _context21.next) {
case 0:
_context21.next = 2;
return (0,service_exercise/* submitExerciseAnswer */.VL)({
categoryId: params.categoryId,
commit_method: 1
});
case 2:
res = _context21.sent;
_context21.next = 5;
return dispatch({
type: "exercise/setActionTabs",
payload: objectSpread2_default()({}, {
removeEventListenerExitScreen: true
})
});
case 5:
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
submitProgressLoading();
message/* default.success */.ZP.success(res === null || res === void 0 ? void 0 : res.message);
setShowCamera(false);
// initData();
try {
socket.send(JSON.stringify({
type: "toggleLockExit",
data: false
}));
socket.send(JSON.stringify({
type: "network-open",
data: ''
}));
} catch (_unused2) {}
setTimeout(function () {
es_modal/* default.info */.Z.info({
centered: true,
title: "交卷成功!",
okText: "确定",
maskClosable: false,
keyboard: false,
onOk: function onOk() {
(0,fullscreen/* exitFull */.BU)();
handleToDetail();
}
});
}, 3000);
}
case 6:
case "end":
return _context21.stop();
}
}, _callee21);
}));
return function handleSubmitAnswer() {
return _ref16.apply(this, arguments);
};
}();
var handleChangeSingle = /*#__PURE__*/function () {
var _ref17 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee22(value, id, key, item) {
return regeneratorRuntime_default()().wrap(function _callee22$(_context22) {
while (1) switch (_context22.prev = _context22.next) {
case 0:
handleSave(id, value, null, function () {
//题目选中
// const newQuestions = cloneDeep(answerData?.exercise_question_types);
// const index = newQuestions?.findIndex((e: any) => e.question_type === key)
// newQuestions[index].items.find((item: any) => item.question_id === id).user_answer[0] = value;
// answerData.exercise_question_types = newQuestions;
//答题卡选中
answerData.question_status.find(function (item) {
return item.ques_id === id;
}).ques_status = value ? 1 : 0;
item.user_answer = [];
item.user_answer.push(value);
if (!item.repeat_answer) {
item.israp = true;
}
setAnswerData(objectSpread2_default()({}, answerData));
});
case 1:
case "end":
return _context22.stop();
}
}, _callee22);
}));
return function handleChangeSingle(_x14, _x15, _x16, _x17) {
return _ref17.apply(this, arguments);
};
}();
var handleChangeSingles = /*#__PURE__*/function () {
var _ref18 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee23(value, id, key, item, items) {
return regeneratorRuntime_default()().wrap(function _callee23$(_context23) {
while (1) switch (_context23.prev = _context23.next) {
case 0:
handleSave(item.question_id, value, null, function () {
var _items$sub_exercise_q, _items$sub_exercise_q2, _items$sub_exercise_q3;
//题目选中
// const newQuestions = cloneDeep(answerData?.exercise_question_types);
// const index = newQuestions?.findIndex((e: any) => e.question_type === key)
// newQuestions[index].items.find((item: any) => item.question_id === id).user_answer[0] = value;
// answerData.exercise_question_types = newQuestions;
//答题卡选中
// console.log(answerData,id);
// let items=answerData?.exercise_question_types?.find((item:any)=>item.question_type === 7)?.items?.find((items:any)=>items.question_id===id)
// let answer=items?.sub_exercise_questions?.filter((item:any)=>item.user_answer?.length===0);
// answerData.question_status.find((item: any) => item.ques_id === id).ques_status = answer?.length===items?.sub_exercise_questions?.length?0:(answer?.length>0&&answer?.length<items?.sub_exercise_questions?.length)?2:1
// setAnswerData({ ...answerData });
// initData();
item.user_answer = [];
item.user_answer.push(value);
// let items=answerData?.exercise_question_types?.find((item:any)=>item.question_type === 7)?.items?.find((items:any)=>items.question_id===id)
var answer = items === null || items === void 0 ? void 0 : (_items$sub_exercise_q = items.sub_exercise_questions) === null || _items$sub_exercise_q === void 0 ? void 0 : _items$sub_exercise_q.filter(function (item) {
var _item$user_answer;
return ((_item$user_answer = item.user_answer) === null || _item$user_answer === void 0 ? void 0 : _item$user_answer.length) === 0;
});
answerData.question_status.find(function (item) {
return item.ques_id === id;
}).ques_status = (answer === null || answer === void 0 ? void 0 : answer.length) === (items === null || items === void 0 ? void 0 : (_items$sub_exercise_q2 = items.sub_exercise_questions) === null || _items$sub_exercise_q2 === void 0 ? void 0 : _items$sub_exercise_q2.length) ? 0 : (answer === null || answer === void 0 ? void 0 : answer.length) > 0 && (answer === null || answer === void 0 ? void 0 : answer.length) < (items === null || items === void 0 ? void 0 : (_items$sub_exercise_q3 = items.sub_exercise_questions) === null || _items$sub_exercise_q3 === void 0 ? void 0 : _items$sub_exercise_q3.length) ? 2 : 1;
setAnswerData(objectSpread2_default()({}, answerData));
});
case 1:
case "end":
return _context23.stop();
}
}, _callee23);
}));
return function handleChangeSingles(_x18, _x19, _x20, _x21, _x22) {
return _ref18.apply(this, arguments);
};
}();
var handleChangeMultiple = function handleChangeMultiple(value, id, item) {
handleSave(id, value, null, function () {
// console.log('----',id,item);
item.user_answer = value;
if (!item.repeat_answer) {
item.israp = true;
}
answerData.question_status.find(function (item) {
return item.ques_id === id;
}).ques_status = value !== null && value !== void 0 && value.length ? 1 : 0;
setAnswerData(objectSpread2_default()({}, answerData));
});
};
var updateData = function updateData(value, index, id, param, item) {
answerData.question_status.find(function (item) {
return item.ques_id === id;
}).ques_status = param.every(function (k) {
return !!k.answer_text;
}) ? 1 : answerData.question_status.find(function (item) {
return item.ques_id === id;
}).ques_status = param.some(function (k) {
return !!k.answer_text;
}) ? 2 : 0;
var answers = {
choice_id: index,
answer_text: value
};
if (item.user_answer.filter(function (item) {
return item.choice_id != index;
})) {
item.user_answer.splice(index - 1, 1, answers);
} else {
item.user_answer.push(answers);
}
if (!item.repeat_answer) {
item.israp = true;
}
setAnswerData(objectSpread2_default()({}, answerData));
};
var handleBlurFill = function handleBlurFill(value, index, id, param, item) {
if (!value.replaceAll(' ', '')) {
message/* default.warning */.ZP.warning('回答不能为空或者纯空格');
return;
}
handleSave(id, index, value, function () {
updateData(value, index, id, param, item);
});
};
var handleBlurSimple = function handleBlurSimple(value, id, item) {
if (!value.replaceAll(' ', '')) {
message/* default.warning */.ZP.warning('回答不能为空或者纯空格');
return;
}
handleSave(id, null, value, function () {
answerData.question_status.find(function (item) {
return item.ques_id === id;
}).ques_status = value ? 1 : 0;
item.user_answer = [];
item.user_answer.push(value);
if (!item.repeat_answer) {
item.israp = true;
}
setAnswerData(objectSpread2_default()({}, answerData));
});
};
var renderSingle = function renderSingle(item, key) {
var _answerData$exercise12, _item$user_answer2, _item$question_choice, _answerData$exercise13, _answerData$exercise14, _answerData$exercise15, _item$question_choice2;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
spinning: qesLoading,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Group */.ZP.Group, {
disabled: (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise12 = answerData.exercise) === null || _answerData$exercise12 === void 0 ? void 0 : _answerData$exercise12.user_exercise_status) === 1,
defaultValue: item === null || item === void 0 ? void 0 : (_item$user_answer2 = item.user_answer) === null || _item$user_answer2 === void 0 ? void 0 : _item$user_answer2[0],
onChange: function onChange(e) {
return handleChangeSingle(e.target.value, item === null || item === void 0 ? void 0 : item.question_id, key, item);
},
className: item.user_score && "edu-radio-".concat(item.user_score === item.question_score ? "green" : "red"),
children: item === null || item === void 0 ? void 0 : (_item$question_choice = item.question_choices) === null || _item$question_choice === void 0 ? void 0 : _item$question_choice.map(function (answer, index) {
var _item$user_answer3;
var isJudge = item.question_type == 2;
var prefix = isJudge ? '' : "".concat(tagList[index], ".");
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Answermodules.answerWrap,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_radio/* default */.ZP, {
disabled: !item.repeat_answer && (item === null || item === void 0 ? void 0 : (_item$user_answer3 = item.user_answer) === null || _item$user_answer3 === void 0 ? void 0 : _item$user_answer3.length) > 0 && !item.israp,
value: answer === null || answer === void 0 ? void 0 : answer.choice_id,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "mr3",
children: prefix
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
style: {
width: 740
},
className: Answermodules.renderHtml,
value: answer === null || answer === void 0 ? void 0 : answer.choice_text
})]
})
}, index);
})
})
}), (0,authority/* isStudent */.dE)() && (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise13 = answerData.exercise) === null || _answerData$exercise13 === void 0 ? void 0 : _answerData$exercise13.answer_open) && ((answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise14 = answerData.exercise) === null || _answerData$exercise14 === void 0 ? void 0 : _answerData$exercise14.exercise_status) == 3 || (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise15 = answerData.exercise) === null || _answerData$exercise15 === void 0 ? void 0 : _answerData$exercise15.user_exercise_status) == 1) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: ["\u53C2\u8003\u7B54\u6848\uFF1A", item === null || item === void 0 ? void 0 : (_item$question_choice2 = item.question_choices) === null || _item$question_choice2 === void 0 ? void 0 : _item$question_choice2.map(function (k, i) {
if (k.standard_boolean) {
return tagList[i];
}
return '';
}).join('')]
})]
});
};
var renderSingles = function renderSingles(items, keys, i) {
var _items$sub_exercise_q4;
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: items === null || items === void 0 ? void 0 : (_items$sub_exercise_q4 = items.sub_exercise_questions) === null || _items$sub_exercise_q4 === void 0 ? void 0 : _items$sub_exercise_q4.map(function (item, key) {
var _answerData$exercise16, _item$user_answer4, _item$question_choice3, _answerData$exercise17, _answerData$exercise18, _answerData$exercise19, _item$standard_answer;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
marginTop: 20,
userSelect: "none",
alignItems: 'center'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
style: {
flexShrink: 0,
fontSize: '14px',
color: '#999'
},
children: [i + 1 + '.' + (key + 1), "\uFF08\u5355\u9009\u9898 ", item === null || item === void 0 ? void 0 : item.question_score, "\u5206\uFF09"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
style: {
marginLeft: 27
},
value: item === null || item === void 0 ? void 0 : item.question_title
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Group */.ZP.Group, {
disabled: (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise16 = answerData.exercise) === null || _answerData$exercise16 === void 0 ? void 0 : _answerData$exercise16.user_exercise_status) === 1,
style: {
marginLeft: 27
},
defaultValue: item === null || item === void 0 ? void 0 : (_item$user_answer4 = item.user_answer) === null || _item$user_answer4 === void 0 ? void 0 : _item$user_answer4[0],
onChange: function onChange(e) {
return handleChangeSingles(e.target.value, items === null || items === void 0 ? void 0 : items.question_id, key, item, items);
},
className: item.user_score && "edu-radio-".concat(item.user_score === item.question_score ? "green" : "red"),
children: item === null || item === void 0 ? void 0 : (_item$question_choice3 = item.question_choices) === null || _item$question_choice3 === void 0 ? void 0 : _item$question_choice3.map(function (answer, index) {
var _item$user_answer5;
var isJudge = item.question_type == 2;
var prefix = isJudge ? '' : "".concat(tagList[index], ".");
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Answermodules.answerWrap,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_radio/* default */.ZP, {
disabled: !item.repeat_answer && (item === null || item === void 0 ? void 0 : (_item$user_answer5 = item.user_answer) === null || _item$user_answer5 === void 0 ? void 0 : _item$user_answer5.length) > 0,
value: answer === null || answer === void 0 ? void 0 : answer.choice_id,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "mr3",
children: prefix
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
style: {
width: 722
},
className: Answermodules.renderHtml,
value: answer === null || answer === void 0 ? void 0 : answer.choice_text
})]
})
}, index);
})
}), (0,authority/* isStudent */.dE)() && (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise17 = answerData.exercise) === null || _answerData$exercise17 === void 0 ? void 0 : _answerData$exercise17.answer_open) && ((answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise18 = answerData.exercise) === null || _answerData$exercise18 === void 0 ? void 0 : _answerData$exercise18.exercise_status) == 3 || (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise19 = answerData.exercise) === null || _answerData$exercise19 === void 0 ? void 0 : _answerData$exercise19.user_exercise_status) == 1) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: ["\u53C2\u8003\u7B54\u6848\uFF1A", item === null || item === void 0 ? void 0 : (_item$standard_answer = item.standard_answer) === null || _item$standard_answer === void 0 ? void 0 : _item$standard_answer.map(function (answer, index) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: tagList[Number(answer) - 1]
});
})]
})]
});
})
});
};
var renderMultiple = function renderMultiple(item, key) {
var _answerData$exercise20, _item$question_choice4, _answerData$exercise21, _answerData$exercise22, _item$question_choice5;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
spinning: qesLoading,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default.Group */.Z.Group, {
disabled: (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise20 = answerData.exercise) === null || _answerData$exercise20 === void 0 ? void 0 : _answerData$exercise20.user_exercise_status) === 1
// defaultValue={item?.question_choices?.filter((ite:any)=>ite.user_answer_boolean).map(items=>items.choice_id)}
,
defaultValue: item === null || item === void 0 ? void 0 : item.user_answer,
onChange: function onChange(value) {
return handleChangeMultiple(value, item === null || item === void 0 ? void 0 : item.question_id, item);
},
className: item.user_score && "edu-checkbox-".concat(item.user_score === item.question_score ? "green" : "red"),
children: item === null || item === void 0 ? void 0 : (_item$question_choice4 = item.question_choices) === null || _item$question_choice4 === void 0 ? void 0 : _item$question_choice4.map(function (answer, index) {
var _item$user_answer6;
var prefix = "".concat(tagList[index], ".");
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Answermodules.answerWrap,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_checkbox/* default */.Z, {
disabled: !item.repeat_answer && (item === null || item === void 0 ? void 0 : (_item$user_answer6 = item.user_answer) === null || _item$user_answer6 === void 0 ? void 0 : _item$user_answer6.length) > 0 && !item.israp,
value: answer === null || answer === void 0 ? void 0 : answer.choice_id,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "mr3",
children: prefix
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
className: Answermodules.renderHtml,
value: answer === null || answer === void 0 ? void 0 : answer.choice_text
})]
})
});
})
})
}), (0,authority/* isStudent */.dE)() && (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise21 = answerData.exercise) === null || _answerData$exercise21 === void 0 ? void 0 : _answerData$exercise21.answer_open) && (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise22 = answerData.exercise) === null || _answerData$exercise22 === void 0 ? void 0 : _answerData$exercise22.exercise_status) == 3 && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: ["\u53C2\u8003\u7B54\u6848\uFF1A", item === null || item === void 0 ? void 0 : (_item$question_choice5 = item.question_choices) === null || _item$question_choice5 === void 0 ? void 0 : _item$question_choice5.map(function (k, i) {
if (k.standard_boolean) {
return tagList[i];
}
return '';
}).join('')]
})]
});
};
var renderFill = function renderFill(item, key) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(components_Fill, {
item: item,
answerData: answerData,
onBlur: function onBlur(value, index, userAnswer) {
return updateData(value, index, item === null || item === void 0 ? void 0 : item.question_id, userAnswer, item);
}
});
};
// 简答题
var renderSimple = function renderSimple(item, key) {
if (isEducation) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(Simple2, {
item: item,
answerData: answerData,
onBlur: function onBlur(value, kp_content, kp_clazz) {
return handleSave(item === null || item === void 0 ? void 0 : item.question_id, null, value, undefined, kp_content, kp_clazz);
},
isEducation: isEducation
});
} else {
return /*#__PURE__*/(0,jsx_runtime.jsx)(components_Simple, {
item: item,
answerData: answerData,
onBlur: function onBlur(value) {
return handleBlurSimple(value, item === null || item === void 0 ? void 0 : item.question_id, item);
},
isEducation: isEducation
});
}
};
var renderShixun = function renderShixun(item, key) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(components_Shixun, {
item: item,
answerData: answerData,
exerciseId: params.categoryId,
coursesId: params.coursesId
});
};
var renderProgram = function renderProgram(item, key) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(components_Program, {
item: item,
answerData: answerData
});
};
var renderAnswerCard = function renderAnswerCard(title, key, index) {
var _answerData$exercise_2, _obj$items;
var obj = answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise_2 = answerData.exercise_question_types) === null || _answerData$exercise_2 === void 0 ? void 0 : _answerData$exercise_2.find(function (item) {
return item.question_type === key;
});
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("h1", {
className: "font14 current",
onClick: function onClick() {
hideAnswerCard[key] = !hideAnswerCard[key];
setHideAnswerCard(objectSpread2_default()({}, hideAnswerCard));
},
children: [!hideAnswerCard[key] && /*#__PURE__*/(0,jsx_runtime.jsx)(MinusSquareOutlined/* default */.Z, {}), hideAnswerCard[key] && /*#__PURE__*/(0,jsx_runtime.jsx)(PlusSquareOutlined/* default */.Z, {}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "ml5 c-grey-666",
children: title
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("ul", {
className: Answermodules.answerSheet,
children: !hideAnswerCard[key] && (obj === null || obj === void 0 ? void 0 : (_obj$items = obj.items) === null || _obj$items === void 0 ? void 0 : _obj$items.map(function (item, k) {
if (item.question_type === key) {
var _answerData$question_2, _answerData$question_3;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
onClick: function onClick() {
var _answerData$exercise23;
if (!ischecked && (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise23 = answerData.exercise) === null || _answerData$exercise23 === void 0 ? void 0 : _answerData$exercise23.user_exercise_status) === 0 && (0,authority/* isStudent */.dE)()) {
var _answerData$exercise_3, _answerData$exercise_4, _answerData$exercise_5, _answerData$exercise_6;
if (!((_answerData$exercise_3 = answerData.exercise_question_types) !== null && _answerData$exercise_3 !== void 0 && (_answerData$exercise_4 = _answerData$exercise_3[oneindex]) !== null && _answerData$exercise_4 !== void 0 && (_answerData$exercise_5 = _answerData$exercise_4.items) !== null && _answerData$exercise_5 !== void 0 && (_answerData$exercise_6 = _answerData$exercise_5[twoindex]) !== null && _answerData$exercise_6 !== void 0 && _answerData$exercise_6.repeat_answer)) {
setisshowmodal(true);
settype(3);
setindexitems({
oneindex: index,
twoindex: k
});
return;
}
}
setoneindex(index);
settwoindex(k);
// initData();
var anchorName = "Anchor_".concat(key, "_").concat(k);
var anchorElement = document.getElementById(anchorName);
if (anchorElement) {
setTimeout(function () {
return anchorElement.scrollIntoView({
block: "start",
behavior: "smooth"
});
});
}
},
className: (answerData === null || answerData === void 0 ? void 0 : (_answerData$question_2 = answerData.question_status) === null || _answerData$question_2 === void 0 ? void 0 : _answerData$question_2.some(function (val) {
return val.ques_id === item.question_id && (val === null || val === void 0 ? void 0 : val.ques_status) === 1;
})) && Answermodules.active,
children: [k + 1, (answerData === null || answerData === void 0 ? void 0 : (_answerData$question_3 = answerData.question_status) === null || _answerData$question_3 === void 0 ? void 0 : _answerData$question_3.some(function (val) {
return val.ques_id === item.question_id && (val === null || val === void 0 ? void 0 : val.ques_status) === 2;
})) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
height: 3,
background: '#0152d9',
position: 'absolute',
width: 26,
bottom: 0
}
})]
}, k);
}
}))
}, key)]
});
};
var renderQuestion = function renderQuestion(item, i) {
var _item$sub_exercise_qu, _item$schools, _answerData$exercise24, _answerData$exercise25, _answerData$exercise26, _answerData$exercise27, _item$standard_answer2;
var title = (item === null || item === void 0 ? void 0 : item.question_type) == 5 ? item === null || item === void 0 ? void 0 : item.shixun_name : item === null || item === void 0 ? void 0 : item.question_title;
var answerText = '';
var answerBool = (item === null || item === void 0 ? void 0 : item.question_type) === 0 || (item === null || item === void 0 ? void 0 : item.question_type) === 1;
if (answerBool) {
var _item$question_choice6;
item === null || item === void 0 ? void 0 : (_item$question_choice6 = item.question_choices) === null || _item$question_choice6 === void 0 ? void 0 : _item$question_choice6.forEach(function (k, i) {
if (k.standard_boolean) {
answerText = answerText + tagList[i];
}
});
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Answermodules.questionItem,
id: "Anchor_".concat(item === null || item === void 0 ? void 0 : item.question_type, "_").concat(i),
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
display: 'flex',
marginTop: 20,
userSelect: "none"
},
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
style: {
flexShrink: 0
},
className: "font18",
children: [i + 1, "."]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: item === null || item === void 0 ? void 0 : item.question_title
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
style: {
flexShrink: 0
},
className: "font16",
children: ["\uFF08", item === null || item === void 0 ? void 0 : item.question_score, "\u5206\uFF09", (item === null || item === void 0 ? void 0 : item.question_type) === 7 ? "\u5171".concat(item === null || item === void 0 ? void 0 : (_item$sub_exercise_qu = item.sub_exercise_questions) === null || _item$sub_exercise_qu === void 0 ? void 0 : _item$sub_exercise_qu.length, "\u5C0F\u9898") : '', " "]
}), !(item !== null && item !== void 0 && item.repeat_answer) && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: {
color: '#FA6400 ',
marginLeft: 10,
fontSize: 16
},
children: "\u6CE8\u610F\uFF1A\u8BE5\u9898\u4E0D\u5141\u8BB8\u91CD\u590D\u7B54\u9898"
}), !!(item !== null && item !== void 0 && (_item$schools = item.schools) !== null && _item$schools !== void 0 && _item$schools.length) && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: "\u8BE5\u5B9E\u8BAD\u9898\u9762\u5411\u6307\u5B9A\u5355\u4F4D\u5F00\u653E",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-zhidinggongkai1 line24 font18 c-orange"
})
})]
}),
// 单选题
(item === null || item === void 0 ? void 0 : item.question_type) == 0 && renderSingle(item, item === null || item === void 0 ? void 0 : item.question_type),
// 判断题
(item === null || item === void 0 ? void 0 : item.question_type) == 2 && renderSingle(item, item === null || item === void 0 ? void 0 : item.question_type),
// 多选题
(item === null || item === void 0 ? void 0 : item.question_type) == 1 && renderMultiple(item, item === null || item === void 0 ? void 0 : item.question_type),
// 填空题
(item === null || item === void 0 ? void 0 : item.question_type) == 3 && renderFill(item, item === null || item === void 0 ? void 0 : item.question_type),
// 简答题
(item === null || item === void 0 ? void 0 : item.question_type) == 4 && renderSimple(item, item === null || item === void 0 ? void 0 : item.question_type),
// 实训题
(item === null || item === void 0 ? void 0 : item.question_type) == 5 && renderShixun(item, item === null || item === void 0 ? void 0 : item.question_type),
// 编程题
(item === null || item === void 0 ? void 0 : item.question_type) == 6 && renderProgram(item, item === null || item === void 0 ? void 0 : item.question_type),
// 组合题
(item === null || item === void 0 ? void 0 : item.question_type) == 7 && renderSingles(item, item === null || item === void 0 ? void 0 : item.question_type, i)
// renderProgram(item, item?.question_type)
, (item === null || item === void 0 ? void 0 : item.answer_comments) && /*#__PURE__*/(0,jsx_runtime.jsx)(AnswerComments/* default */.Z, {
hideScore: true,
list: item === null || item === void 0 ? void 0 : item.answer_comments
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Answermodules.itemType,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
flex: "1"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
children: [(item === null || item === void 0 ? void 0 : item.question_type) < 3 && (item === null || item === void 0 ? void 0 : item.standard_answer_show) && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "font16 ml20",
children: ["\u6B63\u786E\u7B54\u6848\uFF1A", answerBool ? answerText : item === null || item === void 0 ? void 0 : item.standard_answer_show]
}), ((0,authority/* isAdmin */.GJ)() || (0,authority/* isStudent */.dE)() && (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise24 = answerData.exercise) === null || _answerData$exercise24 === void 0 ? void 0 : _answerData$exercise24.user_exercise_status) > 0 && (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise25 = answerData.exercise) === null || _answerData$exercise25 === void 0 ? void 0 : _answerData$exercise25.open_score)) && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "font16 ml20",
children: [(item === null || item === void 0 ? void 0 : item.user_score) && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: scoreStatusMapping[Number(item === null || item === void 0 ? void 0 : item.answer_status)] || 'c-orange-ff9',
children: item === null || item === void 0 ? void 0 : item.user_score
}), " \u5206"]
}), !(item !== null && item !== void 0 && item.user_score) && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-red",
children: "\u672A\u8BC4"
})]
}),
// 实训题 ,答题
(item === null || item === void 0 ? void 0 : item.question_type) == 5 && (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise26 = answerData.exercise) === null || _answerData$exercise26 === void 0 ? void 0 : _answerData$exercise26.user_exercise_status) === 0 && (item === null || item === void 0 ? void 0 : item.answer_status) != 3 && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
type: "primary",
className: "font14 ml20",
onClick: function onClick() {
return handleJoinShixun(item);
},
children: "\u8FDB\u5165\u7B54\u9898"
}),
// 编程题 ,答题
(0,authority/* isStudent */.dE)() && (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise27 = answerData.exercise) === null || _answerData$exercise27 === void 0 ? void 0 : _answerData$exercise27.user_exercise_status) === 0 && (item === null || item === void 0 ? void 0 : item.question_type) == 6 && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
type: "primary",
className: "font14 ml20",
onClick: function onClick() {
return handleJoinProgram(item);
},
children: "\u8FDB\u5165\u7B54\u9898"
})]
})]
}), (item === null || item === void 0 ? void 0 : item.question_type) <= 4 && ((item === null || item === void 0 ? void 0 : item.standard_answer_show) || (item === null || item === void 0 ? void 0 : (_item$standard_answer2 = item.standard_answer) === null || _item$standard_answer2 === void 0 ? void 0 : _item$standard_answer2.length) > 0) && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
style: {
marginTop: 14
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "font16 ml20",
children: "\u89E3\u6790\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
className: Answermodules.renderHtml,
value: item === null || item === void 0 ? void 0 : item.analysis
})]
})]
})]
});
};
var renderCardList = function renderCardList(item, index) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, {
children: [item.question_type === 0 && renderAnswerCard('单选题', 0, index), item.question_type === 1 && renderAnswerCard('多选题', 1, index), item.question_type === 2 && renderAnswerCard('判断题', 2, index), item.question_type === 3 && renderAnswerCard('填空题', 3, index), item.question_type === 4 && renderAnswerCard('简答题', 4, index), item.question_type === 5 && renderAnswerCard('实训题', 5, index), item.question_type === 6 && renderAnswerCard('编程题', 6, index), item.question_type === 7 && renderAnswerCard('组合题', 7, index)]
});
};
//转换中文
var toChinesNum = function toChinesNum(num) {
var changeNum = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']; //changeNum[0] = "零"
var unit = ["", "十", "百", "千", "万"];
num = parseInt(num);
var getWan = function getWan(temp) {
var strArr = temp.toString().split("").reverse();
var newNum = "";
for (var i = 0; i < strArr.length; i++) {
newNum = (i == 0 && strArr[i] == 0 ? "" : i > 0 && strArr[i] == 0 && strArr[i - 1] == 0 ? "" : changeNum[strArr[i]] + (strArr[i] == 0 ? unit[0] : unit[i])) + newNum;
}
return newNum;
};
var overWan = Math.floor(num / 10000);
var noWan = num % 10000;
if (noWan.toString().length < 4) noWan = "0" + noWan;
return overWan ? getWan(overWan) + "万" + getWan(noWan) : getWan(num);
};
var renderClassifyQuestion = function renderClassifyQuestion() {
var _answerData$exercise_7, _answerData$exercise_8, _answerData$exercise_9, _answerData$exercise_10, _answerData$exercise_11, _answerData$exercise_12, _answerData$exercise_13, _answerData$exercise_14, _answerData$exercise_15, _answerData$exercise_16, _answerData$exercise_17, _answerData$exercise_18;
// const dom = answerData?.exercise_question_types?.map((er: any, index: number) => {
return /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "pt20",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "font16 c-light-primary",
children: [toChinesNum(oneindex + 1), "\u3001", answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise_7 = answerData.exercise_question_types) === null || _answerData$exercise_7 === void 0 ? void 0 : (_answerData$exercise_8 = _answerData$exercise_7[oneindex]) === null || _answerData$exercise_8 === void 0 ? void 0 : _answerData$exercise_8.name]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "c-grey-999",
children: ["\uFF08\u5171", answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise_9 = answerData.exercise_question_types) === null || _answerData$exercise_9 === void 0 ? void 0 : (_answerData$exercise_10 = _answerData$exercise_9[oneindex]) === null || _answerData$exercise_10 === void 0 ? void 0 : _answerData$exercise_10.count, "\u9898\uFF1B", (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise_11 = answerData.exercise_question_types) === null || _answerData$exercise_11 === void 0 ? void 0 : (_answerData$exercise_12 = _answerData$exercise_11[oneindex]) === null || _answerData$exercise_12 === void 0 ? void 0 : _answerData$exercise_12.question_type) === 7 ? "\u5305\u542B".concat(answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise_13 = answerData.exercise_question_types) === null || _answerData$exercise_13 === void 0 ? void 0 : (_answerData$exercise_14 = _answerData$exercise_13[oneindex]) === null || _answerData$exercise_14 === void 0 ? void 0 : _answerData$exercise_14.sub_questions_count, "\u5C0F\u9898") : '', " \u5171", answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise_15 = answerData.exercise_question_types) === null || _answerData$exercise_15 === void 0 ? void 0 : (_answerData$exercise_16 = _answerData$exercise_15[oneindex]) === null || _answerData$exercise_16 === void 0 ? void 0 : _answerData$exercise_16.score, "\u5206\uFF09"]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(react.Fragment, {
children: renderQuestion(answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise_17 = answerData.exercise_question_types) === null || _answerData$exercise_17 === void 0 ? void 0 : (_answerData$exercise_18 = _answerData$exercise_17[oneindex].items) === null || _answerData$exercise_18 === void 0 ? void 0 : _answerData$exercise_18[twoindex], twoindex)
}, twoindex)]
}, oneindex);
// })
// return dom;
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)(spin/* default */.Z, {
size: "large",
spinning: isSpin,
children: [openFullScreen && (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise28 = answerData.exercise) === null || _answerData$exercise28 === void 0 ? void 0 : _answerData$exercise28.user_exercise_status) === 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(recordScreen/* default */.Z, {
exerciseUserInfo: exercise.exerciseUserInfo,
iframe: iframe,
socket: socket
}), /*#__PURE__*/(0,jsx_runtime.jsx)("iframe", {
style: {
display: iframeBlock
},
id: "iframeShixuns",
className: Answermodules.iframe,
src: iframeUrl,
ref: iframe,
frameBorder: "0"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
className: "edu-container ".concat(isEducation && Answermodules.wrpAnswer),
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
className: "animated fadeIn ".concat(isEducation && Answermodules.eduTitle),
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
className: "mt10",
children: [(0,util/* checkIsClientExam */.Ll)() && /*#__PURE__*/(0,jsx_runtime.jsxs)(breadcrumb/* default */.Z, {
separator: ">",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default.Item */.Z.Item, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
to: "/",
children: "\u8BD5\u5377"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default.Item */.Z.Item, {
children: (_user$userInfo5 = user.userInfo) === null || _user$userInfo5 === void 0 ? void 0 : _user$userInfo5.real_name
})]
}), !(0,util/* checkIsClientExam */.Ll)() && globalSetting.showHeaderFooter && /*#__PURE__*/(0,jsx_runtime.jsxs)(breadcrumb/* default */.Z, {
separator: ">",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default.Item */.Z.Item, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
href: "/classrooms/".concat(params.coursesId, "/exercise"),
children: (_user$userInfo6 = user.userInfo) === null || _user$userInfo6 === void 0 ? void 0 : (_user$userInfo6$cours = _user$userInfo6.course) === null || _user$userInfo6$cours === void 0 ? void 0 : _user$userInfo6$cours.course_name
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default.Item */.Z.Item, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
href: "/classrooms/".concat(params.coursesId, "/exercise"),
children: "\u8BD5\u5377"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default.Item */.Z.Item, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
href: "/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/detail"),
children: "\u8BD5\u5377\u8BE6\u60C5"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default.Item */.Z.Item, {
children: (_user$userInfo7 = user.userInfo) === null || _user$userInfo7 === void 0 ? void 0 : _user$userInfo7.real_name
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
className: [Answermodules.title, 'mt10'].join(' '),
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
style: {
width: "100%",
flexFlow: "nowrap"
},
align: "middle",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
style: {
flex: '1'
},
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Answermodules.title,
children: [(globalSetting === null || globalSetting === void 0 ? void 0 : globalSetting.showHeaderFooter) && /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
to: (0,util/* checkIsClientExam */.Ll)() ? "/" : "/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/detail"),
children: /*#__PURE__*/(0,jsx_runtime.jsx)(ArrowLeftOutlined/* default */.Z, {
className: "font16 c-black"
})
}), (0,util/* exerciseTips */.vB)(answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise29 = answerData.exercise) === null || _answerData$exercise29 === void 0 ? void 0 : _answerData$exercise29.exercise_status), /*#__PURE__*/(0,jsx_runtime.jsx)("strong", {
className: "font24 ml5",
children: answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise30 = answerData.exercise) === null || _answerData$exercise30 === void 0 ? void 0 : _answerData$exercise30.exercise_name
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
style: {
display: 'flex'
},
children: [(0,authority/* isAdmin */.GJ)() && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
type: "primary",
onClick: handleBackToRedo,
children: "\u6253\u56DE\u91CD\u505A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
children: ((answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise31 = answerData.exercise) === null || _answerData$exercise31 === void 0 ? void 0 : _answerData$exercise31.commit_status) == 2 || (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise32 = answerData.exercise) === null || _answerData$exercise32 === void 0 ? void 0 : _answerData$exercise32.commit_status) == 1) && (0,authority/* isAdmin */.GJ)() && !(0,util/* checkIsClientExam */.Ll)() && /*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.Z, {
className: "ml10",
type: "primary",
onClick: function onClick() {
return _umi_production_exports.history.push("/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/export/").concat(params.login));
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(DeliveredProcedureOutlined/* default */.Z, {}), "\u5BFC\u51FA"]
})
}), !((0,authority/* isAdmin */.GJ)() || (0,authority/* isStudent */.dE)() && (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise33 = answerData.exercise) === null || _answerData$exercise33 === void 0 ? void 0 : _answerData$exercise33.user_exercise_status) == 1) && !!(answerData !== null && answerData !== void 0 && (_answerData$exercise34 = answerData.exercise) !== null && _answerData$exercise34 !== void 0 && _answerData$exercise34.left_time) && /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
className: "".concat(Answermodules.countDown, " ").concat(countDownColor),
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: ["\u5269\u4F59\u65F6\u95F4:", /*#__PURE__*/(0,jsx_runtime.jsx)(Countdown, {
value: time,
onFinish: handleLeftTime
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.Z, {
className: "ml10",
type: "primary",
onClick: handleLeftTime,
ghost: true,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "iconfont icon-shuaxin2 mr5"
}), "\u5237\u65B0"]
})]
}), (0,authority/* isStudent */.dE)() && (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise35 = answerData.exercise) === null || _answerData$exercise35 === void 0 ? void 0 : _answerData$exercise35.user_exercise_status) === 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
className: isEducation ? Answermodules.eduSubmit : "",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
style: {
width: '60px',
height: '28px',
marginLeft: 10
},
type: "primary",
onClick: function onClick() {
return handleVerifySave(false);
},
children: "\u4EA4\u5377"
})
})]
})]
})
})]
}), checkStatus.status === 0 && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
className: "".concat(isEducation ? "mt70" : "mt10", " ").concat(Answermodules.answerWrp),
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
flex: showAnswerCard ? "316px" : "16px",
className: isEducation ? "mb100" : "",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
style: {
position: "sticky",
top: 0,
zIndex: 1
},
children: [!isEducation && showCamera && /*#__PURE__*/(0,jsx_runtime.jsx)(CaptureVideo/* default */.Z, {
number: (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise36 = answerData.exercise) === null || _answerData$exercise36 === void 0 ? void 0 : _answerData$exercise36.photo_count) - (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise37 = answerData.exercise) === null || _answerData$exercise37 === void 0 ? void 0 : _answerData$exercise37.take_photo),
take_photo: answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise38 = answerData.exercise) === null || _answerData$exercise38 === void 0 ? void 0 : _answerData$exercise38.take_photo,
ref: captureRef,
time: (_answerData$exercise39 = answerData.exercise) === null || _answerData$exercise39 === void 0 ? void 0 : _answerData$exercise39.left_time,
update: initData,
supportCamera: function supportCamera(type) {
if (type === 2) {
initData();
setOpenCameraSuccess(true);
setOpenFullScreen(answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.screen_open);
// window.onblur = function () {
// if (IsFull()) {
// exitFull()
// }
// };
} else if (type === 1) {
setTimeout(function () {
return props.history.push("/");
}, 3000);
}
}
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "relative",
style: {
minHeight: 236
},
children: [isEducation && /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
children: [showCamera && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Answermodules.eduVideo,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(CaptureVideo/* default */.Z, {
number: (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise40 = answerData.exercise) === null || _answerData$exercise40 === void 0 ? void 0 : _answerData$exercise40.photo_count) - (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise41 = answerData.exercise) === null || _answerData$exercise41 === void 0 ? void 0 : _answerData$exercise41.take_photo),
take_photo: answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise42 = answerData.exercise) === null || _answerData$exercise42 === void 0 ? void 0 : _answerData$exercise42.take_photo,
ref: captureRef,
time: (_answerData$exercise43 = answerData.exercise) === null || _answerData$exercise43 === void 0 ? void 0 : _answerData$exercise43.left_time,
update: initData,
supportCamera: function supportCamera(type) {
if (type === 2) {
initData();
setOpenCameraSuccess(true);
setOpenFullScreen(answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.screen_open);
} else if (type === 1) {
setTimeout(function () {
return props.history.push("/");
}, 3000);
}
}
})
}), showAnswerCard && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
className: Answermodules.eduUsername,
style: {
background: '#fff',
padding: '16px 20px'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
children: ["\u59D3\u540D\uFF1A", (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise44 = answerData.exercise) === null || _answerData$exercise44 === void 0 ? void 0 : _answerData$exercise44.user_name) || '- -']
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(divider/* default */.Z, {
style: {
margin: "0 25px"
},
type: "vertical"
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
children: ["\u5B66\u53F7\uFF1A", (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise45 = answerData.exercise) === null || _answerData$exercise45 === void 0 ? void 0 : _answerData$exercise45.student_id) || '- -']
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Answermodules.eduTip,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "c-grey-666 tc",
children: "\u8003\u8BD5\u8FC7\u7A0B\u4E2D\u5982\u9047\u95EE\u9898\uFF0C\u8BF7\u62E8\u6253\u4EE5\u4E0B\u7535\u8BDD"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "font16 tc blod",
children: "010-62781166"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "font16 tc blod",
children: "010-62799826"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "font16 tc blod",
children: "18910624893"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "font16 tc blod",
children: "13366506792"
})]
}), (0,authority/* isStudent */.dE)() && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
className: Answermodules.eduQrcode,
align: "middle",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)((lib_default()), {
value: "https://".concat(document.domain, "/live-push.html?id=").concat(params.categoryId, "&login=").concat(params.login, "&cookie=").concat((0,util/* getCookie */.ej)("_educoder_session"))
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
className: "ml15",
children: ["\u6253\u5F00\u5FAE\u4FE1\u626B\u4E00\u626B", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "\u5F00\u542F\u624B\u673A\u89C6\u9891\u5F55\u5236"]
})]
})]
}), !isEducation && /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
children: [showAnswerCard && /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
flex: "1",
style: {
background: '#fff',
height: '90px',
marginBottom: '10px',
padding: '16px 20px'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: ["\u59D3\u540D\uFF1A", (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise46 = answerData.exercise) === null || _answerData$exercise46 === void 0 ? void 0 : _answerData$exercise46.user_name) || '- -']
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: ["\u5B66\u53F7\uFF1A", (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise47 = answerData.exercise) === null || _answerData$exercise47 === void 0 ? void 0 : _answerData$exercise47.student_id) || '- -']
})]
}), (0,authority/* isStudent */.dE)() && ((_answerData$exercise48 = answerData.exercise) === null || _answerData$exercise48 === void 0 ? void 0 : _answerData$exercise48.user_exercise_status) === 0 && ((_answerData$exercise49 = answerData.exercise) === null || _answerData$exercise49 === void 0 ? void 0 : _answerData$exercise49.open_phone_video_recording) && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
className: Answermodules.eduQrcode,
style: {
marginTop: 10
},
align: "middle",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)((lib_default()), {
value: "https://".concat(document.domain, "/live-push.html?id=").concat(params.categoryId, "&login=").concat(params.login, "&cookie=").concat((0,util/* getCookie */.ej)("_educoder_session"))
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
className: "ml15",
children: ["\u6253\u5F00\u5FAE\u4FE1\u626B\u4E00\u626B", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "\u5F00\u542F\u624B\u673A\u89C6\u9891\u5F55\u5236"]
})]
}), (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise50 = answerData.exercise) === null || _answerData$exercise50 === void 0 ? void 0 : (_answerData$exercise51 = _answerData$exercise50.exercise_description) === null || _answerData$exercise51 === void 0 ? void 0 : _answerData$exercise51.length) > 0 && showAnswerCard && /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
flex: "1",
style: {
background: '#fff',
marginBottom: '10px',
padding: '16px 20px'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
style: {
fontWeight: 500
},
children: "\u8003\u8BD5\u987B\u77E5"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise52 = answerData.exercise) === null || _answerData$exercise52 === void 0 ? void 0 : _answerData$exercise52.exercise_description
})]
}), showAnswerCard && /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
className: "bg-white p16 mt10",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
span: 8,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "font16 blod",
children: "\u7B54\u9898\u5361"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
span: 16,
children: (0,authority/* isStudent */.dE)() && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "tr",
style: {
display: 'flex',
alignItems: 'center',
justifyContent: 'end'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: Answermodules.answerYes
}), "\u5DF2\u7B54", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: {
width: 13,
height: 13,
display: 'flex',
flexDirection: 'column-reverse'
},
className: "".concat(Answermodules.answerNo, " ml10"),
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
height: '10%',
background: '#0152d9'
}
})
}), "\u90E8\u5206\u7B54\u9898", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "".concat(Answermodules.answerNo, " ml10")
}), "\u672A\u7B54"]
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
className: Answermodules.answerInfo,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
children: [(0,authority/* isStudent */.dE)() && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
span: 12,
children: "\u7B54\u9898\u8FDB\u5EA6"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
span: 12,
className: "tr c-blue",
children: [answerData === null || answerData === void 0 ? void 0 : (_answerData$question_4 = answerData.question_status) === null || _answerData$question_4 === void 0 ? void 0 : (_answerData$question_5 = _answerData$question_4.filter(function (val) {
return !!val.ques_status;
})) === null || _answerData$question_5 === void 0 ? void 0 : _answerData$question_5.length, " / ", answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise_19 = answerData.exercise_types) === null || _answerData$exercise_19 === void 0 ? void 0 : _answerData$exercise_19.q_counts]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
span: 24,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_progress/* default */.Z, {
trailColor: "#c3ced2",
percent: (answerData === null || answerData === void 0 ? void 0 : (_answerData$question_6 = answerData.question_status) === null || _answerData$question_6 === void 0 ? void 0 : (_answerData$question_7 = _answerData$question_6.filter(function (val) {
return !!val.ques_status;
})) === null || _answerData$question_7 === void 0 ? void 0 : _answerData$question_7.length) / (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise_20 = answerData.exercise_types) === null || _answerData$exercise_20 === void 0 ? void 0 : _answerData$exercise_20.q_counts) * 100,
showInfo: false
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "c-grey-333",
children: ["\u5171 ", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-blue-4ca",
children: (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise_21 = answerData.exercise_types) === null || _answerData$exercise_21 === void 0 ? void 0 : _answerData$exercise_21.q_counts) || (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise_22 = answerData.exercise_scores) === null || _answerData$exercise_22 === void 0 ? void 0 : (_answerData$exercise_23 = _answerData$exercise_22.exercise_types) === null || _answerData$exercise_23 === void 0 ? void 0 : _answerData$exercise_23.q_counts)
}), " \u9898\uFF1A"]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "c-grey-333",
children: ["\u6EE1\u5206 ", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-blue-4ca",
children: (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise_24 = answerData.exercise_types) === null || _answerData$exercise_24 === void 0 ? void 0 : _answerData$exercise_24.q_scores) || (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise_25 = answerData.exercise_scores) === null || _answerData$exercise_25 === void 0 ? void 0 : (_answerData$exercise_26 = _answerData$exercise_25.exercise_types) === null || _answerData$exercise_26 === void 0 ? void 0 : _answerData$exercise_26.q_scores)
}), " \u5206"]
})]
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(row/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
flex: "1",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
className: Answermodules.cardList,
children: answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise_27 = answerData.exercise_question_types) === null || _answerData$exercise_27 === void 0 ? void 0 : _answerData$exercise_27.map(function (er, index) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(react.Fragment, {
children: renderCardList(er, index)
}, er.question_type);
})
})
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Answermodules.fold,
onClick: function onClick() {
return setShowAnswerCard(!showAnswerCard);
},
children: [showAnswerCard && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "icon-zuojiantou iconfont c-grey-c"
}), !showAnswerCard && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "icon-youjiantou iconfont c-grey-c"
})]
})]
})]
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
flex: "1",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
style: {
minHeight: 400,
position: 'relative'
},
className: [Answermodules.bg, 'pl30', 'pb30', 'mb50', 'ml20'].join(' '),
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
maxHeight: 600,
overflow: 'hidden auto',
paddingRight: 30
},
children: renderClassifyQuestion()
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
marginTop: 60,
textAlign: 'center',
paddingRight: 30
},
children: [(oneindex != 0 || twoindex != 0) && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
className: "".concat(Answermodules.submitButton, " mr10"),
type: "default",
onClick: function onClick() {
var _answerData$exercise53;
window.blur();
if (!ischecked && (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise53 = answerData.exercise) === null || _answerData$exercise53 === void 0 ? void 0 : _answerData$exercise53.user_exercise_status) === 0 && (0,authority/* isStudent */.dE)()) {
var _answerData$exercise_28, _answerData$exercise_29, _answerData$exercise_30, _answerData$exercise_31;
if (!((_answerData$exercise_28 = answerData.exercise_question_types) !== null && _answerData$exercise_28 !== void 0 && (_answerData$exercise_29 = _answerData$exercise_28[oneindex]) !== null && _answerData$exercise_29 !== void 0 && (_answerData$exercise_30 = _answerData$exercise_29.items) !== null && _answerData$exercise_30 !== void 0 && (_answerData$exercise_31 = _answerData$exercise_30[twoindex]) !== null && _answerData$exercise_31 !== void 0 && _answerData$exercise_31.repeat_answer)) {
setisshowmodal(true);
settype(1);
return;
}
}
answerData.exercise_question_types[oneindex].items[twoindex].israp = false;
setAnswerData(objectSpread2_default()({}, answerData));
if (twoindex === 0) {
oneindex -= 1;
twoindex = answerData.exercise_question_types[oneindex].items.length - 1;
} else {
twoindex -= 1;
}
setoneindex(oneindex);
settwoindex(twoindex);
// initData();
},
children: "\u4E0A\u4E00\u9898"
}), !(oneindex === (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise_32 = answerData.exercise_question_types) === null || _answerData$exercise_32 === void 0 ? void 0 : _answerData$exercise_32.length) - 1 && twoindex === (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise_33 = answerData.exercise_question_types) === null || _answerData$exercise_33 === void 0 ? void 0 : (_answerData$exercise_34 = _answerData$exercise_33[oneindex]) === null || _answerData$exercise_34 === void 0 ? void 0 : (_answerData$exercise_35 = _answerData$exercise_34.items) === null || _answerData$exercise_35 === void 0 ? void 0 : _answerData$exercise_35.length) - 1) && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
className: Answermodules.submitButton,
type: "primary",
onClick: function onClick() {
var _answerData$exercise54;
window.blur();
if (!ischecked && (answerData === null || answerData === void 0 ? void 0 : (_answerData$exercise54 = answerData.exercise) === null || _answerData$exercise54 === void 0 ? void 0 : _answerData$exercise54.user_exercise_status) === 0 && (0,authority/* isStudent */.dE)()) {
var _answerData$exercise_36, _answerData$exercise_37, _answerData$exercise_38, _answerData$exercise_39;
if (!((_answerData$exercise_36 = answerData.exercise_question_types) !== null && _answerData$exercise_36 !== void 0 && (_answerData$exercise_37 = _answerData$exercise_36[oneindex]) !== null && _answerData$exercise_37 !== void 0 && (_answerData$exercise_38 = _answerData$exercise_37.items) !== null && _answerData$exercise_38 !== void 0 && (_answerData$exercise_39 = _answerData$exercise_38[twoindex]) !== null && _answerData$exercise_39 !== void 0 && _answerData$exercise_39.repeat_answer)) {
setisshowmodal(true);
settype(2);
return;
}
}
answerData.exercise_question_types[oneindex].items[twoindex].israp = false;
setAnswerData(objectSpread2_default()({}, answerData));
if (answerData.exercise_question_types[oneindex].items.length - 1 === twoindex) {
oneindex = oneindex + 1;
twoindex = 0;
} else {
twoindex = twoindex + 1;
}
setoneindex(oneindex);
settwoindex(twoindex);
// initData();
},
children: "\u4E0B\u4E00\u9898"
})]
})]
})
})]
}), checkStatus.status !== 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(ErrCheckIpTip, {
data: checkStatus
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_modal/* default */.Z, {
title: "\u6CE8\u610F",
open: isShowmodal,
onCancel: function onCancel() {
return setisshowmodal(false);
},
footer: false,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
style: {
marginBottom: 0
},
children: "\u79BB\u5F00\u8BE5\u9898\u540E\u4E0D\u5141\u8BB8\u518D\u6B21\u4FEE\u6539\u7B54\u6848\uFF0C\u786E\u8BA4\u79BB\u5F00\u5417\uFF1F"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
marginTop: 60,
display: 'flex',
justifyContent: 'space-between'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
checked: ischecked,
onChange: function onChange(e) {
setischecked(e.target.checked);
},
children: "\u4E0B\u6B21\u4E0D\u518D\u663E\u793A"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
onClick: function onClick() {
if (!answerData.exercise_question_types[oneindex].items[twoindex].israp) {
if (answerData.exercise_question_types[oneindex].items[twoindex].israp === '') {
answerData.exercise_question_types[oneindex].items[twoindex].israp = true;
setAnswerData(objectSpread2_default()({}, answerData));
}
} else {
answerData.exercise_question_types[oneindex].items[twoindex].israp = true;
setAnswerData(objectSpread2_default()({}, answerData));
}
setisshowmodal(false);
},
children: "\u6211\u518D\u60F3\u60F3"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
onClick: function onClick() {
answerData.exercise_question_types[oneindex].items[twoindex].israp = false;
setAnswerData(objectSpread2_default()({}, answerData));
if (type === 1) {
if (twoindex === 0) {
oneindex -= 1;
twoindex = answerData.exercise_question_types[oneindex].items.length - 1;
} else {
twoindex -= 1;
}
setoneindex(oneindex);
settwoindex(twoindex);
} else if (type === 2) {
if (answerData.exercise_question_types[oneindex].items.length - 1 === twoindex) {
oneindex = oneindex + 1;
twoindex = 0;
} else {
twoindex = twoindex + 1;
}
setoneindex(oneindex);
settwoindex(twoindex);
} else {
setoneindex(indexitems.oneindex);
settwoindex(indexitems.twoindex);
}
// initData();
setisshowmodal(false);
},
type: "primary",
style: {
marginLeft: 30
},
children: "\u786E\u8BA4"
})]
})]
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(Unlock/* default */.Z, {
successCb: checkCamera
})]
})]
});
};
/* harmony default export */ var Exercise_Answer = ((0,_umi_production_exports.connect)(function (_ref19) {
var loading = _ref19.loading,
user = _ref19.user,
exercise = _ref19.exercise,
globalSetting = _ref19.globalSetting;
return {
globalSetting: globalSetting,
user: user,
exercise: exercise,
loading: loading.effects
};
})(Answer));
/***/ }),
/***/ 37537:
/*!***************************************************************************************************!*\
!*** ./src/pages/Classrooms/Lists/Exercise/Review/component/AnswerComments/index.tsx + 1 modules ***!
\***************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ component_AnswerComments; }
});
// EXTERNAL MODULE: ./node_modules/antd/es/row/style/index.js
var style = __webpack_require__(13062);
// EXTERNAL MODULE: ./node_modules/antd/es/row/index.js
var row = __webpack_require__(71230);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Review/component/AnswerComments/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var AnswerCommentsmodules = ({"flex_box_center":"flex_box_center___hzSR8","flex_space_between":"flex_space_between___Mscip","flex_box_vertical_center":"flex_box_vertical_center___Uckau","flex_box_center_end":"flex_box_center_end___Kw1tf","flex_box_column":"flex_box_column___udgQE","comments":"comments___He0El","line":"line___P3zVB"});
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(59758);
// EXTERNAL MODULE: ./node_modules/moment/moment.js
var moment = __webpack_require__(30381);
var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Review/component/AnswerComments/index.tsx
var AnswerComments = function AnswerComments(_ref) {
var list = _ref.list,
_ref$hideScore = _ref.hideScore,
hideScore = _ref$hideScore === void 0 ? false : _ref$hideScore;
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: list === null || list === void 0 ? void 0 : list.map(function (v) {
var _v$user, _v$user2, _v$user3, _v$comments;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "mt20",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
align: "middle",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: env/* default.API_SERVER */.Z.API_SERVER + '/images/' + ((_v$user2 = v.user) === null || _v$user2 === void 0 ? void 0 : _v$user2.image_url),
width: "40",
style: {
borderRadius: 40
}
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "ml10 font16",
children: (_v$user3 = v.user) === null || _v$user3 === void 0 ? void 0 : _v$user3.name
})]
}, v === null || v === void 0 ? void 0 : (_v$user = v.user) === null || _v$user === void 0 ? void 0 : _v$user.user_id), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: AnswerCommentsmodules.comments,
children: v === null || v === void 0 ? void 0 : (_v$comments = v.comments) === null || _v$comments === void 0 ? void 0 : _v$comments.map(function (e, i) {
var _v$user4, _v$comments2;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
align: "middle",
justify: "space-between",
children: [!!e.shixun_chanllge_position && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
flexShrink: 0,
marginRight: 10
},
children: ["\u7B2C", e.shixun_chanllge_position, "\u5173"]
}), !hideScore && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
flex: 1
},
children: ["\u539F\u59CB\u5F97\u5206", e === null || e === void 0 ? void 0 : e.origin_score, "\u5206\uFF0C\u4FEE\u6B63\u4E3A", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-light-primary",
children: e === null || e === void 0 ? void 0 : e.score
}), "\u5206"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
flexShrink: 0
},
children: moment_default()(e.updated_at).format('YYYY-MM-DD HH:mm')
})]
}), !!e.comment && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: ["\u8BC4\u8BED\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-light-primary",
children: e.comment
})]
}), (v === null || v === void 0 ? void 0 : (_v$comments2 = v.comments) === null || _v$comments2 === void 0 ? void 0 : _v$comments2.length) - 1 > i && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: AnswerCommentsmodules.line
})]
}, (v === null || v === void 0 ? void 0 : (_v$user4 = v.user) === null || _v$user4 === void 0 ? void 0 : _v$user4.user_id) + '-' + i);
})
})]
});
})
});
};
/* harmony default export */ var component_AnswerComments = (AnswerComments);
/***/ }),
/***/ 61050:
/*!*******************************************************************!*\
!*** ./src/pages/Classrooms/Lists/Exercise/components/Unlock.tsx ***!
\*******************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var antd_es_modal_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/modal/style */ 35611);
/* harmony import */ var antd_es_modal__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! antd/es/modal */ 85402);
/* harmony import */ var antd_es_row_style__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/row/style */ 13062);
/* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! antd/es/row */ 71230);
/* harmony import */ var antd_es_button_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/button/style */ 29913);
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! antd/es/button */ 71577);
/* harmony import */ var antd_es_col_style__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/col/style */ 89032);
/* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! antd/es/col */ 15746);
/* harmony import */ var antd_es_input_style__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/input/style */ 69463);
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! antd/es/input */ 75008);
/* harmony import */ var antd_es_table_style__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/table/style */ 71854);
/* harmony import */ var antd_es_table__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! antd/es/table */ 67250);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_typeof_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ 18698);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_typeof_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_typeof_js__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js */ 17061);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_7__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/asyncToGenerator.js */ 17156);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_8__);
/* harmony import */ var antd_es_form_style__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd/es/form/style */ 75627);
/* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! antd/es/form */ 51018);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/slicedToArray.js */ 27424);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_10__);
/* harmony import */ var antd_es_statistic_style__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! antd/es/statistic/style */ 14558);
/* harmony import */ var antd_es_statistic__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! antd/es/statistic */ 74763);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react */ 67294);
/* harmony import */ var _service_exercise__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/service/exercise */ 51412);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! moment */ 30381);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_14__);
/* harmony import */ var umi__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! umi */ 89214);
/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/utils/util */ 29427);
/* harmony import */ var _components_Exercise_ip__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/components/Exercise/ip */ 79443);
/* harmony import */ var _utils_authority__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/utils/authority */ 7);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! react/jsx-runtime */ 85893);
var Countdown = antd_es_statistic__WEBPACK_IMPORTED_MODULE_20__/* ["default"].Countdown */ .Z.Countdown;
var Unlock = function Unlock(_ref) {
var _actionTabs$exerciseP9, _actionTabs$exerciseP10, _actionTabs$exerciseP11, _actionTabs$exerciseP12;
var exercise = _ref.exercise,
successCb = _ref.successCb,
dispatch = _ref.dispatch;
var params = (0,umi__WEBPACK_IMPORTED_MODULE_15__.useParams)();
var _Form$useForm = antd_es_form__WEBPACK_IMPORTED_MODULE_21__/* ["default"].useForm */ .Z.useForm(),
_Form$useForm2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_10___default()(_Form$useForm, 1),
form = _Form$useForm2[0];
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(false),
_useState2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_10___default()(_useState, 2),
isLoading = _useState2[0],
setIsLoading = _useState2[1];
var localIpRef = (0,react__WEBPACK_IMPORTED_MODULE_12__.useRef)();
var actionTabs = exercise.actionTabs;
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
if (exercise.actionTabs.key === 'student-unlock') {
// if (actionTabs?.exerciseParams?.ip_limit !== 'no' || actionTabs?.exerciseParams?.ip_bind)
// getLocalIp();
setIsLoading(false);
form.resetFields();
}
}, [exercise.actionTabs.key]);
var getLocalIp = function getLocalIp() {
return new Promise( /*#__PURE__*/function () {
var _ref2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_8___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_7___default()().mark(function _callee(resolve) {
var _actionTabs$exerciseP, _actionTabs$exerciseP2;
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_7___default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return (0,_components_Exercise_ip__WEBPACK_IMPORTED_MODULE_17__/* .findLocalIp */ .y)({
ip_limit: actionTabs === null || actionTabs === void 0 ? void 0 : (_actionTabs$exerciseP = actionTabs.exerciseParams) === null || _actionTabs$exerciseP === void 0 ? void 0 : _actionTabs$exerciseP.ip_limit,
ip_bind: actionTabs === null || actionTabs === void 0 ? void 0 : (_actionTabs$exerciseP2 = actionTabs.exerciseParams) === null || _actionTabs$exerciseP2 === void 0 ? void 0 : _actionTabs$exerciseP2.ip_bind
});
case 2:
localIpRef.current = _context.sent;
return _context.abrupt("return", resolve());
case 4:
case "end":
return _context.stop();
}
}, _callee);
}));
return function (_x) {
return _ref2.apply(this, arguments);
};
}());
};
var handleOk = /*#__PURE__*/function () {
var _ref3 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_8___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_7___default()().mark(function _callee2() {
var _actionTabs$exerciseP3, _actionTabs$exerciseP4, _actionTabs$exerciseP5, _actionTabs$exerciseP6;
var formValue, unlockRes, _userInfo, _actionTabs$exerciseP7, _actionTabs$exerciseP8, delayedParams, v;
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_7___default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return form.validateFields();
case 2:
formValue = form.getFieldsValue();
setIsLoading(true);
if (!((actionTabs === null || actionTabs === void 0 ? void 0 : (_actionTabs$exerciseP3 = actionTabs.exerciseParams) === null || _actionTabs$exerciseP3 === void 0 ? void 0 : _actionTabs$exerciseP3.ip_limit) !== 'no' || actionTabs !== null && actionTabs !== void 0 && (_actionTabs$exerciseP4 = actionTabs.exerciseParams) !== null && _actionTabs$exerciseP4 !== void 0 && _actionTabs$exerciseP4.ip_bind)) {
_context2.next = 7;
break;
}
_context2.next = 7;
return getLocalIp();
case 7:
_context2.next = 9;
return (0,_service_exercise__WEBPACK_IMPORTED_MODULE_13__/* .unlockUser */ .ZD)(actionTabs === null || actionTabs === void 0 ? void 0 : (_actionTabs$exerciseP5 = actionTabs.exerciseParams) === null || _actionTabs$exerciseP5 === void 0 ? void 0 : _actionTabs$exerciseP5.id, {
exercise_user_id: actionTabs === null || actionTabs === void 0 ? void 0 : (_actionTabs$exerciseP6 = actionTabs.exerciseParams) === null || _actionTabs$exerciseP6 === void 0 ? void 0 : _actionTabs$exerciseP6.exercise_user_id,
unlock_key: formValue.unlock_key,
ip: localIpRef.current
});
case 9:
unlockRes = _context2.sent;
if (!(unlockRes.status === 0)) {
_context2.next = 22;
break;
}
if (!successCb) {
_context2.next = 15;
break;
}
dispatch({
type: 'exercise/setActionTabs',
payload: {}
});
successCb();
return _context2.abrupt("return");
case 15:
if (!formValue.time) {
_context2.next = 19;
break;
}
delayedParams = {
time: moment__WEBPACK_IMPORTED_MODULE_14___default()(formValue.time).format("YYYY-MM-DD HH:mm"),
exercise_user_id: actionTabs === null || actionTabs === void 0 ? void 0 : (_actionTabs$exerciseP7 = actionTabs.exerciseParams) === null || _actionTabs$exerciseP7 === void 0 ? void 0 : _actionTabs$exerciseP7.exercise_user_id,
id: actionTabs === null || actionTabs === void 0 ? void 0 : (_actionTabs$exerciseP8 = actionTabs.exerciseParams) === null || _actionTabs$exerciseP8 === void 0 ? void 0 : _actionTabs$exerciseP8.id
};
_context2.next = 19;
return (0,_service_exercise__WEBPACK_IMPORTED_MODULE_13__/* .delayedTime */ .qz)(delayedParams);
case 19:
v = actionTabs === null || actionTabs === void 0 ? void 0 : actionTabs.exerciseParams;
(0,_utils_util__WEBPACK_IMPORTED_MODULE_16__/* .startExercise */ .nr)({
inner_ip: v.inner_ip,
public_ip: v.public_ip,
open_camera: v.open_camera,
ip_limit: v.ip_limit,
ip_bind: v.ip_bind,
exercise_tips: v.exercise_tips,
exerciseId: v.id,
screen_open: v.screen_open,
screen_num: v.screen_num,
screen_sec: v.screen_sec,
coursesId: params.coursesId,
login: (_userInfo = (0,_utils_authority__WEBPACK_IMPORTED_MODULE_18__/* .userInfo */ .eY)()) === null || _userInfo === void 0 ? void 0 : _userInfo.login,
history: history,
identity_verify: v.identity_verify,
open_phone_video_recording: v.open_phone_video_recording,
current_status: v.current_status
});
dispatch({
type: 'exercise/setActionTabs',
payload: {}
});
case 22:
setIsLoading(false);
case 23:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function handleOk() {
return _ref3.apply(this, arguments);
};
}();
var columns = [{
title: 'IP地址',
dataIndex: 'ip',
key: 'ip',
render: function render(text) {
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_19__.jsx)("span", {
className: text.indexOf("异常") > -1 ? 'c-red' : 'c-green',
children: text
});
}
}, {
title: '浏览器',
dataIndex: 'browser',
key: 'browser',
render: function render(text) {
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_19__.jsx)("span", {
className: text.indexOf("异常") > -1 ? 'c-red' : 'c-green',
children: text
});
}
}, {
title: '上次登录时间',
dataIndex: 'last_login_time',
key: 'last_login_time'
}];
var hasError5 = (actionTabs === null || actionTabs === void 0 ? void 0 : (_actionTabs$exerciseP9 = actionTabs.exerciseParams) === null || _actionTabs$exerciseP9 === void 0 ? void 0 : _actionTabs$exerciseP9.errorMessage) && _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_typeof_js__WEBPACK_IMPORTED_MODULE_6___default()(actionTabs === null || actionTabs === void 0 ? void 0 : (_actionTabs$exerciseP10 = actionTabs.exerciseParams) === null || _actionTabs$exerciseP10 === void 0 ? void 0 : _actionTabs$exerciseP10.errorMessage) === "object";
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_19__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_19__.Fragment, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_19__.jsxs)(antd_es_modal__WEBPACK_IMPORTED_MODULE_22__/* ["default"] */ .Z, {
width: 514,
centered: true,
closable: !!(actionTabs !== null && actionTabs !== void 0 && (_actionTabs$exerciseP11 = actionTabs.exerciseParams) !== null && _actionTabs$exerciseP11 !== void 0 && _actionTabs$exerciseP11.unlockClose),
maskClosable: false,
keyboard: false,
maskStyle: {
background: "#000"
},
title: '提示',
open: exercise.actionTabs.key === 'student-unlock',
footer: null,
onCancel: function onCancel() {
dispatch({
type: 'exercise/setActionTabs',
payload: {}
});
},
children: [hasError5 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_19__.jsx)("div", {
style: {
marginBottom: 16
},
children: "\u8BE5\u8D26\u53F7\u5DF2\u7ECF\u5728\u5176\u4ED6\u8BBE\u5907\u4E0A\u767B\u5F55\uFF0C\u82E5\u975E\u672C\u4EBA\u64CD\u4F5C\uFF0C\u8BF7\u8054\u7CFB\u76D1\u8003\u8001\u5E08\u8BF4\u660E\u60C5\u51B5\u3002 "
}), !hasError5 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_19__.jsx)("div", {
style: {
marginBottom: 16
},
children: "\u7CFB\u7EDF\u68C0\u6D4B\u5230\u60A8\u5728\u8003\u8BD5\u65F6\u4E2D\u9014\u9000\u51FA\uFF0C\u73B0\u5DF2\u5C06\u8003\u8BD5\u9501\u5B9A\u3002\u5982\u9700\u7EE7\u7EED\u8FDB\u884C\u8003\u8BD5\uFF0C \u8BF7\u5C3D\u5FEB\u8054\u7CFB\u8BFE\u5802\u8001\u5E08\u8FDB\u884C\u89E3\u9501\uFF01"
}), hasError5 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_19__.jsx)(antd_es_table__WEBPACK_IMPORTED_MODULE_23__/* ["default"] */ .Z, {
className: "mb20",
pagination: {
hideOnSinglePage: true
},
dataSource: [(actionTabs === null || actionTabs === void 0 ? void 0 : (_actionTabs$exerciseP12 = actionTabs.exerciseParams) === null || _actionTabs$exerciseP12 === void 0 ? void 0 : _actionTabs$exerciseP12.errorMessage) || {}],
columns: columns
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_19__.jsx)("div", {
className: "",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_19__.jsx)(antd_es_form__WEBPACK_IMPORTED_MODULE_21__/* ["default"] */ .Z, {
form: form,
layout: "vertical",
autoComplete: "off",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_19__.jsx)(antd_es_form__WEBPACK_IMPORTED_MODULE_21__/* ["default"].Item */ .Z.Item, {
label: "\u8003\u8BD5\u89E3\u9501\u7801",
name: "unlock_key",
rules: [{
required: true,
message: '请输入考试解锁码'
}],
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_19__.jsx)(antd_es_input__WEBPACK_IMPORTED_MODULE_24__/* ["default"].Password */ .Z.Password, {
autoComplete: "off",
placeholder: "\u8BF7\u8F93\u5165\u8003\u8BD5\u89E3\u9501\u7801",
visibilityToggle: false
})
})
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_19__.jsxs)(antd_es_row__WEBPACK_IMPORTED_MODULE_25__/* ["default"] */ .Z, {
justify: "space-between",
align: "middle",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_19__.jsx)(antd_es_col__WEBPACK_IMPORTED_MODULE_26__/* ["default"] */ .Z, {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_19__.jsx)(antd_es_col__WEBPACK_IMPORTED_MODULE_26__/* ["default"] */ .Z, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_19__.jsx)(antd_es_button__WEBPACK_IMPORTED_MODULE_27__/* ["default"] */ .Z, {
loading: isLoading,
onClick: handleOk,
children: "\u8FDB\u5165\u8003\u8BD5"
})
})]
})]
})
});
};
/* harmony default export */ __webpack_exports__["Z"] = ((0,umi__WEBPACK_IMPORTED_MODULE_15__.connect)(function (_ref4) {
var exercise = _ref4.exercise;
return {
exercise: exercise
};
})(Unlock));
/***/ }),
/***/ 42480:
/*!************************!*\
!*** crypto (ignored) ***!
\************************/
/***/ (function() {
/* (ignored) */
/***/ })
}]);