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

6317 lines
257 KiB

This file contains invisible Unicode characters!

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

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

(self["webpackChunk"] = self["webpackChunk"] || []).push([[86634,1058],{
/***/ 25032:
/*!*******************************************************************************************************!*\
!*** ./node_modules/_@ant-design_icons@5.4.0@@ant-design/icons/es/icons/InboxOutlined.js + 1 modules ***!
\*******************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ icons_InboxOutlined; }
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.25.6@@babel/runtime/helpers/esm/extends.js
var esm_extends = __webpack_require__(33614);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
;// CONCATENATED MODULE: ./node_modules/_@ant-design_icons-svg@4.4.2@@ant-design/icons-svg/es/asn/InboxOutlined.js
// This icon file is generated automatically.
var InboxOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M885.2 446.3l-.2-.8-112.2-285.1c-5-16.1-19.9-27.2-36.8-27.2H281.2c-17 0-32.1 11.3-36.9 27.6L139.4 443l-.3.7-.2.8c-1.3 4.9-1.7 9.9-1 14.8-.1 1.6-.2 3.2-.2 4.8V830a60.9 60.9 0 0060.8 60.8h627.2c33.5 0 60.8-27.3 60.9-60.8V464.1c0-1.3 0-2.6-.1-3.7.4-4.9 0-9.6-1.3-14.1zm-295.8-43l-.3 15.7c-.8 44.9-31.8 75.1-77.1 75.1-22.1 0-41.1-7.1-54.8-20.6S436 441.2 435.6 419l-.3-15.7H229.5L309 210h399.2l81.7 193.3H589.4zm-375 76.8h157.3c24.3 57.1 76 90.8 140.4 90.8 33.7 0 65-9.4 90.3-27.2 22.2-15.6 39.5-37.4 50.7-63.6h156.5V814H214.4V480.1z" } }] }, "name": "inbox", "theme": "outlined" };
/* harmony default export */ var asn_InboxOutlined = (InboxOutlined);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.4.0@@ant-design/icons/es/components/AntdIcon.js + 3 modules
var AntdIcon = __webpack_require__(1393);
;// CONCATENATED MODULE: ./node_modules/_@ant-design_icons@5.4.0@@ant-design/icons/es/icons/InboxOutlined.js
// GENERATE BY ./scripts/generate.ts
// DON NOT EDIT IT MANUALLY
var InboxOutlined_InboxOutlined = function InboxOutlined(props, ref) {
return /*#__PURE__*/_react_17_0_2_react.createElement(AntdIcon/* default */.Z, (0,esm_extends/* default */.Z)({}, props, {
ref: ref,
icon: asn_InboxOutlined
}));
};
/**![inbox](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg4NS4yIDQ0Ni4zbC0uMi0uOC0xMTIuMi0yODUuMWMtNS0xNi4xLTE5LjktMjcuMi0zNi44LTI3LjJIMjgxLjJjLTE3IDAtMzIuMSAxMS4zLTM2LjkgMjcuNkwxMzkuNCA0NDNsLS4zLjctLjIuOGMtMS4zIDQuOS0xLjcgOS45LTEgMTQuOC0uMSAxLjYtLjIgMy4yLS4yIDQuOFY4MzBhNjAuOSA2MC45IDAgMDA2MC44IDYwLjhoNjI3LjJjMzMuNSAwIDYwLjgtMjcuMyA2MC45LTYwLjhWNDY0LjFjMC0xLjMgMC0yLjYtLjEtMy43LjQtNC45IDAtOS42LTEuMy0xNC4xem0tMjk1LjgtNDNsLS4zIDE1LjdjLS44IDQ0LjktMzEuOCA3NS4xLTc3LjEgNzUuMS0yMi4xIDAtNDEuMS03LjEtNTQuOC0yMC42UzQzNiA0NDEuMiA0MzUuNiA0MTlsLS4zLTE1LjdIMjI5LjVMMzA5IDIxMGgzOTkuMmw4MS43IDE5My4zSDU4OS40em0tMzc1IDc2LjhoMTU3LjNjMjQuMyA1Ny4xIDc2IDkwLjggMTQwLjQgOTAuOCAzMy43IDAgNjUtOS40IDkwLjMtMjcuMiAyMi4yLTE1LjYgMzkuNS0zNy40IDUwLjctNjMuNmgxNTYuNVY4MTRIMjE0LjRWNDgwLjF6IiAvPjwvc3ZnPg==) */
var RefIcon = /*#__PURE__*/_react_17_0_2_react.forwardRef(InboxOutlined_InboxOutlined);
if (false) {}
/* harmony default export */ var icons_InboxOutlined = (RefIcon);
/***/ }),
/***/ 29419:
/*!**********************************************************************************************************!*\
!*** ./node_modules/_@ant-design_icons@5.4.0@@ant-design/icons/es/icons/PoweroffOutlined.js + 1 modules ***!
\**********************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ icons_PoweroffOutlined; }
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.25.6@@babel/runtime/helpers/esm/extends.js
var esm_extends = __webpack_require__(33614);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
;// CONCATENATED MODULE: ./node_modules/_@ant-design_icons-svg@4.4.2@@ant-design/icons-svg/es/asn/PoweroffOutlined.js
// This icon file is generated automatically.
var PoweroffOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M705.6 124.9a8 8 0 00-11.6 7.2v64.2c0 5.5 2.9 10.6 7.5 13.6a352.2 352.2 0 0162.2 49.8c32.7 32.8 58.4 70.9 76.3 113.3a355 355 0 0127.9 138.7c0 48.1-9.4 94.8-27.9 138.7a355.92 355.92 0 01-76.3 113.3 353.06 353.06 0 01-113.2 76.4c-43.8 18.6-90.5 28-138.5 28s-94.7-9.4-138.5-28a353.06 353.06 0 01-113.2-76.4A355.92 355.92 0 01184 650.4a355 355 0 01-27.9-138.7c0-48.1 9.4-94.8 27.9-138.7 17.9-42.4 43.6-80.5 76.3-113.3 19-19 39.8-35.6 62.2-49.8 4.7-2.9 7.5-8.1 7.5-13.6V132c0-6-6.3-9.8-11.6-7.2C178.5 195.2 82 339.3 80 506.3 77.2 745.1 272.5 943.5 511.2 944c239 .5 432.8-193.3 432.8-432.4 0-169.2-97-315.7-238.4-386.7zM480 560h64c4.4 0 8-3.6 8-8V88c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z" } }] }, "name": "poweroff", "theme": "outlined" };
/* harmony default export */ var asn_PoweroffOutlined = (PoweroffOutlined);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.4.0@@ant-design/icons/es/components/AntdIcon.js + 3 modules
var AntdIcon = __webpack_require__(1393);
;// CONCATENATED MODULE: ./node_modules/_@ant-design_icons@5.4.0@@ant-design/icons/es/icons/PoweroffOutlined.js
// GENERATE BY ./scripts/generate.ts
// DON NOT EDIT IT MANUALLY
var PoweroffOutlined_PoweroffOutlined = function PoweroffOutlined(props, ref) {
return /*#__PURE__*/_react_17_0_2_react.createElement(AntdIcon/* default */.Z, (0,esm_extends/* default */.Z)({}, props, {
ref: ref,
icon: asn_PoweroffOutlined
}));
};
/**![poweroff](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTcwNS42IDEyNC45YTggOCAwIDAwLTExLjYgNy4ydjY0LjJjMCA1LjUgMi45IDEwLjYgNy41IDEzLjZhMzUyLjIgMzUyLjIgMCAwMTYyLjIgNDkuOGMzMi43IDMyLjggNTguNCA3MC45IDc2LjMgMTEzLjNhMzU1IDM1NSAwIDAxMjcuOSAxMzguN2MwIDQ4LjEtOS40IDk0LjgtMjcuOSAxMzguN2EzNTUuOTIgMzU1LjkyIDAgMDEtNzYuMyAxMTMuMyAzNTMuMDYgMzUzLjA2IDAgMDEtMTEzLjIgNzYuNGMtNDMuOCAxOC42LTkwLjUgMjgtMTM4LjUgMjhzLTk0LjctOS40LTEzOC41LTI4YTM1My4wNiAzNTMuMDYgMCAwMS0xMTMuMi03Ni40QTM1NS45MiAzNTUuOTIgMCAwMTE4NCA2NTAuNGEzNTUgMzU1IDAgMDEtMjcuOS0xMzguN2MwLTQ4LjEgOS40LTk0LjggMjcuOS0xMzguNyAxNy45LTQyLjQgNDMuNi04MC41IDc2LjMtMTEzLjMgMTktMTkgMzkuOC0zNS42IDYyLjItNDkuOCA0LjctMi45IDcuNS04LjEgNy41LTEzLjZWMTMyYzAtNi02LjMtOS44LTExLjYtNy4yQzE3OC41IDE5NS4yIDgyIDMzOS4zIDgwIDUwNi4zIDc3LjIgNzQ1LjEgMjcyLjUgOTQzLjUgNTExLjIgOTQ0YzIzOSAuNSA0MzIuOC0xOTMuMyA0MzIuOC00MzIuNCAwLTE2OS4yLTk3LTMxNS43LTIzOC40LTM4Ni43ek00ODAgNTYwaDY0YzQuNCAwIDgtMy42IDgtOFY4OGMwLTQuNC0zLjYtOC04LThoLTY0Yy00LjQgMC04IDMuNi04IDh2NDY0YzAgNC40IDMuNiA4IDggOHoiIC8+PC9zdmc+) */
var RefIcon = /*#__PURE__*/_react_17_0_2_react.forwardRef(PoweroffOutlined_PoweroffOutlined);
if (false) {}
/* harmony default export */ var icons_PoweroffOutlined = (RefIcon);
/***/ }),
/***/ 1058:
/*!**********************************************************!*\
!*** ./src/components/MultiUpload/index.tsx + 2 modules ***!
\**********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
z: function() { return /* binding */ coverToFileList; },
Z: function() { return /* binding */ MultiUpload; }
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(7557);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(41498);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(82242);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/toConsumableArray.js
var toConsumableArray = __webpack_require__(37205);
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(79800);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/upload/index.js
var upload = __webpack_require__(60028);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
var es_message = __webpack_require__(8591);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules
var modal = __webpack_require__(43418);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
var es_button = __webpack_require__(3113);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(71681);
// EXTERNAL MODULE: ./src/pages/MoopCases/FormPanel/service.ts
var service = __webpack_require__(70754);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/components/SingleUpload/index.tsx
var uploadNameSizeSeperator = '  ';
function bytesToSize(bytes) {
var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
if (bytes == 0) return '0 Byte';
var i = parseInt('' + Math.floor(Math.log(bytes) / Math.log(1024)), 10);
return (bytes / Math.pow(1024, i)).toFixed(1) + ' ' + sizes[i];
}
/* harmony default export */ var SingleUpload = (function (_ref) {
var _ref$value = _ref.value,
value = _ref$value === void 0 ? [] : _ref$value,
action = _ref.action,
_onChange = _ref.onChange,
className = _ref.className,
_ref$maxSize = _ref.maxSize,
maxSize = _ref$maxSize === void 0 ? 150 : _ref$maxSize,
_ref$title = _ref.title,
title = _ref$title === void 0 ? '文件上传' : _ref$title,
_ref$accept = _ref.accept,
accept = _ref$accept === void 0 ? null : _ref$accept;
var uploadProps = {
multiple: false,
fileList: value,
accept: accept,
withCredentials: true,
beforeUpload: function beforeUpload(file) {
var fileSize = file.size / 1024 / 1024;
if (!(fileSize < maxSize)) {
message.error("\u8BE5\u6587\u4EF6\u65E0\u6CD5\u4E0A\u4F20\u3002\u8D85\u8FC7\u6587\u4EF6\u5927\u5C0F\u9650\u5236(".concat(maxSize, "MB),\u5EFA\u8BAE\u4E0A\u4F20\u5230\u767E\u5EA6\u4E91\u7B49\u5176\u5B83\u5171\u4EAB\u5DE5\u5177\u91CC\uFF0C\u7136\u540E\u518Dtxt\u6587\u6863\u91CC\u7ED9\u51FA\u94FE\u63A5\u4EE5\u53CA\u5171\u4EAB\u5BC6\u7801\u5E76\u4E0A\u4F20"));
return Promise.reject();
}
return true;
},
action: "".concat(ENV.API_SERVER, "/api/attachments.json"),
// ?debug=student&randomcode=undefined&client_key=6d57f8c3dd186c5ada392546ace9620a
onChange: function onChange(info) {
var _info$file;
var fileList = _toConsumableArray(info.fileList);
fileList = fileList.map(function (file) {
if (file.name.indexOf(uploadNameSizeSeperator) === -1) {
file.name = "".concat(file.name).concat(uploadNameSizeSeperator).concat(bytesToSize(file.size));
}
return _objectSpread({}, file);
});
if (info.file.status === 'done' && ((_info$file = info.file) === null || _info$file === void 0 || (_info$file = _info$file.response) === null || _info$file === void 0 ? void 0 : _info$file.status) === -1) {
var _info$file2;
message.error((_info$file2 = info.file) === null || _info$file2 === void 0 || (_info$file2 = _info$file2.response) === null || _info$file2 === void 0 ? void 0 : _info$file2.message);
_onChange([]);
return;
}
_onChange(fileList);
},
onRemove: function () {
var _onRemove = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(file) {
var fileSize, id, rs;
return _regeneratorRuntime().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
fileSize = file.size / 1024 / 1024;
if (!(file.status === 'uploading')) {
_context.next = 3;
break;
}
return _context.abrupt("return", true);
case 3:
if (fileSize < maxSize) {
_context.next = 7;
break;
}
return _context.abrupt("return", true);
case 7:
id = file.response ? file.response.id : file.uid;
if (!id) {
_context.next = 15;
break;
}
_context.next = 11;
return removeAttachment(file.response ? file.response.id : file.id);
case 11:
rs = _context.sent;
return _context.abrupt("return", rs);
case 15:
return _context.abrupt("return", true);
case 16:
case "end":
return _context.stop();
}
}, _callee);
}));
function onRemove(_x) {
return _onRemove.apply(this, arguments);
}
return onRemove;
}()
};
function onCancel(e) {
e.preventDefault();
e.stopPropagation();
}
return /*#__PURE__*/_jsx("div", {
className: "single-upload ".concat(className ? className : ''),
children: /*#__PURE__*/_jsxs(Upload, _objectSpread(_objectSpread({}, uploadProps), {}, {
children: [/*#__PURE__*/_jsx(Button, {
type: "primary",
title: value.length > 0 ? '每次只能上传一个资源, 删除下面资源可重新上传 ' : '',
disabled: value.length > 0,
ghost: true,
children: title
}), /*#__PURE__*/_jsxs("span", {
onClick: onCancel,
style: {
marginLeft: 10
},
children: ["(\u5355\u4E2A\u6587\u4EF6\u6700\u5927", maxSize, "M)", ' ']
})]
}))
});
});
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.4.0@@ant-design/icons/es/icons/InboxOutlined.js + 1 modules
var InboxOutlined = __webpack_require__(25032);
// EXTERNAL MODULE: ./node_modules/_lodash@4.17.21@lodash/lodash.js
var lodash = __webpack_require__(89392);
;// CONCATENATED MODULE: ./src/components/MultiUpload/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./src/assets/images/uploadImg.svg
var uploadImg = __webpack_require__(43539);
;// CONCATENATED MODULE: ./src/components/MultiUpload/index.tsx
var Dragger = upload/* default */.Z.Dragger;
function coverToFileList(data) {
var rs = [];
if (data && data.length > 0) {
rs = data.map(function (item) {
return {
uid: item.id,
id: item.id,
name: item.title + uploadNameSizeSeperator + item.filesize,
url: item.url,
filesize: item.filesize,
status: 'done',
response: {
id: item.id
}
};
});
}
return rs;
}
/* harmony default export */ var MultiUpload = (function (_ref) {
var value = _ref.value,
_onChange = _ref.onChange,
action = _ref.action,
data = _ref.data,
className = _ref.className,
_ref$maxSize = _ref.maxSize,
maxSize = _ref$maxSize === void 0 ? 150 : _ref$maxSize,
_ref$title = _ref.title,
title = _ref$title === void 0 ? '上传附件' : _ref$title,
_ref$showRemoveModal = _ref.showRemoveModal,
showRemoveModal = _ref$showRemoveModal === void 0 ? false : _ref$showRemoveModal,
_ref$accept = _ref.accept,
accept = _ref$accept === void 0 ? '' : _ref$accept,
additionalText = _ref.additionalText,
isDragger = _ref.isDragger,
_ref$number = _ref.number,
number = _ref$number === void 0 ? 1000 : _ref$number,
_ref$aloneClear = _ref.aloneClear,
aloneClear = _ref$aloneClear === void 0 ? false : _ref$aloneClear;
var _useState = (0,_react_17_0_2_react.useState)(false),
_useState2 = slicedToArray_default()(_useState, 2),
disabled = _useState2[0],
setDisabled = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(value || []),
_useState4 = slicedToArray_default()(_useState3, 2),
fileList = _useState4[0],
setFileList = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)(1),
_useState6 = slicedToArray_default()(_useState5, 2),
nums = _useState6[0],
setnums = _useState6[1];
(0,_react_17_0_2_react.useEffect)(function () {
if (value) {
if (nums === 1) {
setFileList(toConsumableArray_default()(value));
}
setnums(2);
if (number === (value === null || value === void 0 ? void 0 : value.length)) {
setDisabled(true);
}
}
}, [value]);
var clearLastFile = function clearLastFile() {
setTimeout(function () {
fileList.pop();
setFileList(toConsumableArray_default()(fileList));
}, 500);
};
var uploadProps = {
multiple: true,
disabled: disabled,
accept: accept,
withCredentials: true,
fileList: fileList,
// fileList: fileList?.length ? fileList : value,
beforeUpload: function beforeUpload(file, fileArr) {
var fileSize = file.size / 1024 / 1024;
if (fileList.concat(fileArr).length > number) {
fileList.pop();
setFileList(toConsumableArray_default()(fileList));
es_message/* default */.ZP.error("\u6700\u591A\u53EA\u80FD\u4E0A\u4F20".concat(number, "\u4E2A\u6587\u4EF6"));
if (aloneClear) {
return Promise.reject();
}
clearLastFile();
return false;
}
if (!(fileSize < maxSize)) {
es_message/* default */.ZP.error("\u8BE5\u6587\u4EF6\u65E0\u6CD5\u4E0A\u4F20\u3002\u8D85\u8FC7\u6587\u4EF6\u5927\u5C0F\u9650\u5236(".concat(maxSize, "MB)."));
if (aloneClear) {
return Promise.reject();
}
clearLastFile();
return false;
}
return true;
},
data: data,
action: action || "".concat(env/* default */.Z.API_SERVER, "/api/attachments.json"),
// ?debug=student&randomcode=undefined&client_key=6d57f8c3dd186c5ada392546ace9620a
onChange: function onChange(info) {
var _info$file;
if (info.file.status === "removed") {
fileList = info.fileList;
} else {
fileList = (0,lodash.uniqBy)([].concat(toConsumableArray_default()(info.fileList), toConsumableArray_default()(fileList)), 'uid');
}
if (info.file.status === 'done' && ((_info$file = info.file) === null || _info$file === void 0 || (_info$file = _info$file.response) === null || _info$file === void 0 ? void 0 : _info$file.status) === -1) {
var _info$file2;
es_message/* default */.ZP.error((_info$file2 = info.file) === null || _info$file2 === void 0 || (_info$file2 = _info$file2.response) === null || _info$file2 === void 0 ? void 0 : _info$file2.message);
return;
}
if (fileList.length >= number) setDisabled(true);else setDisabled(false);
setFileList(toConsumableArray_default()(fileList));
fileList = fileList.map(function (file) {
var _file$response;
if (file !== null && file !== void 0 && (_file$response = file.response) !== null && _file$response !== void 0 && _file$response.id) {
var _file$response2;
file.url = "/api/attachments/".concat(file === null || file === void 0 || (_file$response2 = file.response) === null || _file$response2 === void 0 ? void 0 : _file$response2.id);
}
if (file.name.indexOf(uploadNameSizeSeperator) === -1) {
file.name = "".concat(file.name).concat(uploadNameSizeSeperator).concat(bytesToSize(file.size));
}
return objectSpread2_default()({}, file);
});
console.log('info:', info, fileList);
_onChange(fileList);
},
onRemove: function () {
var _onRemove = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(file) {
var remove;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
remove = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var id, rs;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
id = file.response ? file.response.id : file.id;
if (!id) {
_context.next = 8;
break;
}
_context.next = 4;
return (0,service/* removeAttachment */.JZ)(file.response ? file.response.id : file.uid);
case 4:
rs = _context.sent;
return _context.abrupt("return", Promise.resolve(rs));
case 8:
return _context.abrupt("return", true);
case 9:
case "end":
return _context.stop();
}
}, _callee);
}));
return function remove() {
return _ref2.apply(this, arguments);
};
}();
if (!showRemoveModal) {
_context3.next = 5;
break;
}
return _context3.abrupt("return", new Promise(function (resolve, reject) {
modal/* default */.Z.confirm({
centered: true,
width: 530,
okText: '确定',
cancelText: '取消',
title: '提示',
content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "tc font16",
children: "\u662F\u5426\u786E\u8BA4\u5220\u9664?"
}),
onOk: function () {
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
var res;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return remove();
case 2:
res = _context2.sent;
es_message/* default */.ZP.success('删除成功');
resolve(true);
case 5:
case "end":
return _context2.stop();
}
}, _callee2);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}(),
onCancel: function onCancel() {
return resolve(false);
}
});
}));
case 5:
_context3.next = 7;
return remove();
case 7:
return _context3.abrupt("return", _context3.sent);
case 8:
case "end":
return _context3.stop();
}
}, _callee3);
}));
function onRemove(_x) {
return _onRemove.apply(this, arguments);
}
return onRemove;
}()
};
function onCancel(e) {
e.preventDefault();
e.stopPropagation();
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "multi-upload ".concat(className ? className : ''),
children: [isDragger && /*#__PURE__*/(0,jsx_runtime.jsxs)(Dragger, objectSpread2_default()(objectSpread2_default()({}, uploadProps), {}, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "ant-upload-drag-icon",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(InboxOutlined/* default */.Z, {})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
className: "ant-upload-text",
children: ["\u70B9\u51FB\u4E0A\u4F20\u56FE\u6807\uFF0C\u9009\u62E9\u8981\u4E0A\u4F20\u7684\u6587\u4EF6\u6216\u5C06\u6587\u4EF6\u62D6\u62FD\u5230\u6B64", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "(\u5355\u4E2A\u6587\u4EF6\u6700\u5927\u9650\u5236\u4E3A", maxSize, "MB)", ' ']
}), additionalText]
})), !isDragger && /*#__PURE__*/(0,jsx_runtime.jsxs)(upload/* default */.Z, objectSpread2_default()(objectSpread2_default()({}, uploadProps), {}, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.ZP, {
disabled: disabled,
className: "upload_button",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
className: "aBtn_img",
src: uploadImg/* default */.Z
}), title]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
onClick: onCancel,
className: "upload_text",
children: ["(\u5355\u4E2A\u6587\u4EF6\u6700\u5927", maxSize, "MB)", ' ']
})]
}))]
});
});
/***/ }),
/***/ 74063:
/*!**********************************!*\
!*** ./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_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_classCallCheck_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/classCallCheck.js */ 82100);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_classCallCheck_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_classCallCheck_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_createClass_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/createClass.js */ 29186);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_createClass_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_createClass_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_inherits_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/inherits.js */ 80619);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_inherits_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_inherits_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_createSuper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/createSuper.js */ 47074);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_createSuper_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_createSuper_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ 59301);
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-dom */ 4676);
var Dialog = /*#__PURE__*/function (_React$Component) {
_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_inherits_js__WEBPACK_IMPORTED_MODULE_2___default()(Dialog, _React$Component);
var _super = _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_createSuper_js__WEBPACK_IMPORTED_MODULE_3___default()(Dialog);
function Dialog(props) {
var _this;
_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_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_local_v9_test4_node_modules_babel_runtime_7_23_6_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);
/***/ }),
/***/ 46587:
/*!****************************************!*\
!*** ./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 */ 59301);
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]);
}
/***/ }),
/***/ 74049:
/*!***********************************************************!*\
!*** ./src/pages/Innovation/Tasks/index.jsx + 25 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 */ Tasks; }
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/toConsumableArray.js
var toConsumableArray = __webpack_require__(37205);
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/defineProperty.js
var defineProperty = __webpack_require__(85573);
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(7557);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(41498);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(79800);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__(39647);
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(82242);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts
var _umi_production_exports = __webpack_require__(80608);
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./src/components/Spinner/index.tsx + 1 modules
var Spinner = __webpack_require__(93428);
// EXTERNAL MODULE: ./src/components/modal.tsx
var modal = __webpack_require__(74063);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/statistic/index.js + 5 modules
var statistic = __webpack_require__(31797);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/form/index.js + 19 modules
var es_form = __webpack_require__(78241);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules
var es_modal = __webpack_require__(43418);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
var es_button = __webpack_require__(3113);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/drawer/index.js + 9 modules
var drawer = __webpack_require__(43428);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
var message = __webpack_require__(8591);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 3 modules
var input = __webpack_require__(92832);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input-number/index.js + 14 modules
var input_number = __webpack_require__(94001);
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/header/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./src/components/tpi-code-setting/index.less
var tpi_code_setting = __webpack_require__(63955);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/row/index.js
var row = __webpack_require__(95237);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/col/index.js
var col = __webpack_require__(43604);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.4.0@@ant-design/icons/es/icons/PoweroffOutlined.js + 1 modules
var PoweroffOutlined = __webpack_require__(29419);
// EXTERNAL MODULE: ./node_modules/_react-copy-to-clipboard@5.0.2@react-copy-to-clipboard/lib/index.js
var lib = __webpack_require__(56102);
// EXTERNAL MODULE: ./src/service/task.ts
var task = __webpack_require__(11125);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.4.0@@ant-design/icons/es/icons/ExclamationCircleOutlined.js + 1 modules
var ExclamationCircleOutlined = __webpack_require__(3148);
// EXTERNAL MODULE: ./src/components/MultiUpload/index.tsx + 2 modules
var MultiUpload = __webpack_require__(1058);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(71681);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(49105);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(27876);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/components/vnc-setting2/record.tsx
var ScreenRecord = /*#__PURE__*/(0,_react_17_0_2_react.forwardRef)(function (_ref, ref) {
var time = _ref.time;
console.log("ScreenRecord:", ref);
var previewRef = (0,_react_17_0_2_react.useRef)();
var _useState = (0,_react_17_0_2_react.useState)(),
_useState2 = slicedToArray_default()(_useState, 2),
recorder = _useState2[0],
setRecorder = _useState2[1];
var recorderRef = (0,_react_17_0_2_react.useRef)();
var recordingTimeMS = 2000;
var recordingArr = [];
(0,_react_17_0_2_react.useImperativeHandle)(ref, function () {
return {
startScreenRecord: startScreenRecord,
downloadFile: downloadFile
};
});
function startRecording(_x, _x2) {
return _startRecording.apply(this, arguments);
}
function _startRecording() {
_startRecording = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(stream, lengthInMS) {
var data, re;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
data = [];
_context.next = 3;
return new MediaRecorder(stream);
case 3:
re = _context.sent;
re.ondataavailable = function (event) {
data.push(event.data);
};
re.start();
recorderRef.current = re;
window.recorderRefs = re;
re.addEventListener('stop', function (event) {
var videoUrl = URL.createObjectURL(data[0], {
type: 'video/mp4'
});
(0,util/* downLoadLink */.Nd)("xxx.webm", videoUrl);
});
case 9:
case "end":
return _context.stop();
}
}, _callee);
}));
return _startRecording.apply(this, arguments);
}
function downloadFile() {
if (!window.recorderRefs) {
message/* default */.ZP.warning("您还没有开启视频录制,请先去录制视频吧!");
return;
}
var tracks = previewRef.current.srcObject.getTracks();
tracks.forEach(function (track) {
track.stop();
});
window.recorderRefs.addEventListener('dataavailable', function (event) {
var videoUrl = URL.createObjectURL(event.data, {
type: 'video/mp4'
});
(0,util/* downLoadLink */.Nd)("屏幕录制视频.webm", videoUrl);
});
}
;
function startScreenRecord() {
navigator.mediaDevices.getDisplayMedia({
video: true,
audio: true
}).then(function (stream) {
previewRef.current.srcObject = stream;
// downloadButton.href = stream;
recordingArr.push(stream);
previewRef.current.captureStream = previewRef.current.captureStream || previewRef.current.mozCaptureStream;
return new Promise(function (resolve) {
return previewRef.current.onplaying = resolve;
});
}).then(function () {
return startRecording(previewRef.current.captureStream(), recordingTimeMS);
}).then(function (recordedChunks) {})["catch"](function (error) {
if (error.name === "NotFoundError") {
message/* default */.ZP.warning("找不到摄像头或麦克风。无法录制.");
} else {
message/* default */.ZP.warning(error.name);
}
});
}
// stop(previewRef.current.srcObject);
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
position: "absolute",
top: "0",
zIndex: -1
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("video", {
onPause: function onPause() {},
width: "60",
height: "120",
autoPlay: true,
muted: true,
ref: previewRef
})
});
});
/* harmony default export */ var record = (ScreenRecord);
;// CONCATENATED MODULE: ./src/components/vnc-setting2/index.tsx
var difficultyDesc = {
1: '简单',
2: '中等',
3: '困难'
};
/* harmony default export */ var vnc_setting2 = (function (_ref) {
var className = _ref.className,
mirror_description = _ref.mirror_description,
git_url = _ref.git_url,
difficulty = _ref.difficulty,
task_pass = _ref.task_pass,
test_set_permission = _ref.test_set_permission,
onVncAction = _ref.onVncAction,
shixun = _ref.shixun,
window_vnc_url = _ref.window_vnc_url,
linux_vnc = _ref.linux_vnc,
vnc_url = _ref.vnc_url,
unity_3d_routes = _ref.unity_3d_routes,
taskData = _ref.taskData;
console.log(taskData);
var params = (0,_umi_production_exports.useParams)();
var _useState = (0,_react_17_0_2_react.useState)("8082"),
_useState2 = slicedToArray_default()(_useState, 2),
portValue = _useState2[0],
setPortValue = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
isLoading = _useState4[0],
setIsLoading = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)(false),
_useState6 = slicedToArray_default()(_useState5, 2),
isLoading2 = _useState6[0],
setIsLoading2 = _useState6[1];
var recordRef = (0,_react_17_0_2_react.useRef)();
var uploadWorkspace = window_vnc_url ? "C:\/Windows\/AppReadiness\/userfiles" : "/data/workspace/userfiles";
var downloadWorkspace = window_vnc_url ? "C:\/Windows\/AppReadiness\/downloadfiles" : "/data/workspace/downloadfiles";
var restartVac = function restartVac() {
es_modal/* default */.Z.confirm({
title: '重启云主机',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {}),
content: '您确定要重启云主机吗?',
centered: true,
okText: '确定',
cancelText: '取消',
onOk: function () {
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return (0,task/* rebootEsc */.Jd)({
identifier: params.taskId
});
case 2:
res = _context.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
message/* default */.ZP.info("重启成功");
}
return _context.abrupt("return", '');
case 5:
case "end":
return _context.stop();
}
}, _callee);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
};
var uploadFile = function uploadFile() {
es_modal/* default */.Z.info({
title: "文件上传",
icon: null,
okText: "关闭",
width: 600,
centered: true,
content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "pt10",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(MultiUpload/* default */.Z, {
isDragger: true,
maxSize: 1024,
additionalText: "\u9ED8\u8BA4\u5B58\u653E\u76EE\u5F55\u8DEF\u5F84\u4E3A\"".concat(uploadWorkspace, "\""),
action: "".concat(env/* default */.Z.API_SERVER, "/api/sci/projects/").concat(params.taskId, "/upload_file.json"),
onChange: function onChange(fileList) {
if (fileList.every(function (item) {
var _item$response;
return ((_item$response = item.response) === null || _item$response === void 0 ? void 0 : _item$response.status) === 0;
})) {
es_modal/* default */.Z.destroyAll();
message/* default */.ZP.info("文件上传成功");
}
}
})
})
});
};
var serverPreview = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
var _res$data;
var res, _res$data2;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
setIsLoading2(true);
_context2.next = 3;
return (0,fetch/* default */.ZP)("/api/sci/projects/".concat(params.taskId, "/port_proxy.json"), {
method: "post",
body: {
port: portValue,
position: 1
}
});
case 3:
res = _context2.sent;
if (res !== null && res !== void 0 && (_res$data = res.data) !== null && _res$data !== void 0 && _res$data.url) {
(0,util/* openNewWindow */.xg)(res === null || res === void 0 || (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.url);
}
setIsLoading2(false);
case 6:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function serverPreview() {
return _ref2.apply(this, arguments);
};
}();
var downloadFile = function downloadFile() {
es_modal/* default */.Z.confirm({
title: "下载代码",
centered: true,
width: 600,
content: "\u4EE3\u7801\u4E0B\u8F7D\u529F\u80FD\uFF1A\u5C06\u201C".concat(downloadWorkspace, "\u201D\u76EE\u5F55\u8FDB\u884C\u6253\u5305\u5E76\u4E0B\u8F7D"),
onOk: function () {
var _onOk2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return (0,fetch/* default */.ZP)("/api/sci/projects/".concat(params.taskId, "/download_file.json"), {
method: 'post',
body: {
autoDownload: true
},
headers: {
responseType: 'arraybuffer',
Accept: 'application/vnd.ms-excel;charset=utf-8'
}
});
case 2:
return _context3.abrupt("return", true);
case 3:
case "end":
return _context3.stop();
}
}, _callee3);
}));
function onOk() {
return _onOk2.apply(this, arguments);
}
return onOk;
}()
});
};
var onStartRecord = function onStartRecord() {
var _recordRef$current, _recordRef$current$st;
(_recordRef$current = recordRef.current) === null || _recordRef$current === void 0 || (_recordRef$current$st = _recordRef$current.startScreenRecord) === null || _recordRef$current$st === void 0 || _recordRef$current$st.call(_recordRef$current);
};
// const serverPreview = async () => {
// setIsLoading(true)
// const res = await Fetch(`/api/tasks/${params.taskId}/port_proxy`, { method: "post", body: { port: portValue } })
// if (res?.data?.url) {
// openNewWindow(res?.data?.url);
// }
// setIsLoading(false)
// }
var getSSH = function getSSH() {
var webssh = taskData.webssh;
es_modal/* default */.Z.info({
title: 'SSH直连',
width: 600,
centered: true,
content: /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
flex: "50px",
children: "\u8D26\u53F7"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
children: webssh === null || webssh === void 0 ? void 0 : webssh.username
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
flex: "50px",
children: "\u5730\u5740"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
children: webssh === null || webssh === void 0 ? void 0 : webssh.address
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
flex: "50px",
children: "\u7AEF\u53E3"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
children: webssh === null || webssh === void 0 ? void 0 : webssh.servicePort
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
flex: "50px",
children: "\u5BC6\u7801"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
children: webssh === null || webssh === void 0 ? void 0 : webssh.password
})]
})]
})
});
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "tpi-code-setting ".concat(className),
style: {
height: "calc(100vh - 54px )"
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("h3", {
children: "\u529F\u80FD"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
id: "full-screen",
title: "\u5168\u5C4F",
className: "file-item action",
onClick: function onClick() {
onVncAction('full-screen');
},
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-quanping"
}), "\u5F00\u542F / \u9000\u51FA\u5168\u5C4F "]
}), !unity_3d_routes && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
id: "reset-task",
onClick: function onClick() {
return onVncAction('reset-task');
},
className: "file-item action",
title: "\u91CD\u7F6E\u73AF\u5883",
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-zhongzhishixun"
}), "\u91CD\u7F6E\u73AF\u5883 "]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
onClick: function onClick() {
return uploadFile();
},
className: "file-item action",
title: "\u4E0A\u4F20\u6587\u4EF6",
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-shangchuanshipin1"
}), "\u4E0A\u4F20\u6587\u4EF6"]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
onClick: function onClick() {
return downloadFile();
},
className: "file-item action",
title: "\u4E0B\u8F7D\u6587\u4EF6",
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-xiazai3"
}), "\u4E0B\u8F7D\u6587\u4EF6"]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
onClick: function onClick() {
return onStartRecord();
},
className: "file-item action",
title: "\u5C4F\u5E55\u5F55\u5236",
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-jiaruketang1"
}), "\u5C4F\u5E55\u5F55\u5236"]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
className: "file-item action w100",
title: "ssh\u76F4\u8FDE",
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-wodegongzuotai"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(row/* default */.Z, {
align: "middle",
className: "w100",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
flex: "1",
onClick: getSSH,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "text",
loading: isLoading,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: {
color: "#ddd",
marginLeft: -11
},
children: "ssh\u76F4\u8FDE"
})
})
})
})]
}), window_vnc_url && /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
id: "reset-task",
onClick: restartVac,
className: "file-item action",
title: "\u91CD\u542F\u4E91\u4E3B\u673A",
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)(PoweroffOutlined/* default */.Z, {
style: {
marginRight: 21,
color: "#FFF"
},
className: "c-white font16"
}), "\u91CD\u542F\u4E91\u4E3B\u673A "]
}), git_url ? /*#__PURE__*/(0,jsx_runtime.jsx)(lib.CopyToClipboard, {
text: git_url,
onCopy: function onCopy() {
return message/* default */.ZP.success('复制成功');
},
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
id: "copy-git",
title: "\u590D\u5236\u7248\u672C\u5E93\u5730\u5740",
className: "file-item action",
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-fuzhibanbenkudizhi1"
}), "\u590D\u5236\u7248\u672C\u5E93\u5730\u5740 "]
})
}) : null]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(record, {
ref: recordRef
})]
});
});
// EXTERNAL MODULE: ./src/components/useInterval.tsx
var useInterval = __webpack_require__(46587);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
var tooltip = __webpack_require__(6848);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/pagination/index.js + 10 modules
var pagination = __webpack_require__(86859);
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/data-sets/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var data_setsmodules = ({"flex_box_center":"flex_box_center___ayVLf","flex_space_between":"flex_space_between___pLloZ","flex_box_vertical_center":"flex_box_vertical_center___eX0c1","flex_box_center_end":"flex_box_center_end___KU45M","flex_box_column":"flex_box_column___cZiLo","wrap":"wrap___x0TPJ","list":"list___Bn7Fe","page":"page___zVCLY"});
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/service/index.js
var _getJsonFromUrl, _getJsonFromUrl2;
//判断是否来自教学课堂助教查看实训
var urlParams = (_getJsonFromUrl = (0,util/* getJsonFromUrl */.oP)()) !== null && _getJsonFromUrl !== void 0 && _getJsonFromUrl.homework_common_id ? {
homework_common_id: (_getJsonFromUrl2 = (0,util/* getJsonFromUrl */.oP)()) === null || _getJsonFromUrl2 === void 0 ? void 0 : _getJsonFromUrl2.homework_common_id
} : {};
function fetchTaskInfo(id) {
return get("tasks/".concat(id, ".json"), urlParams);
}
function fetchDataList(id) {
return (0,fetch/* get */.U2)("sci/projects/".concat(id, "/get_data_sets.json"));
}
function fetchTaskList(id) {
return get("myshixuns/".concat(id, "/challenges.json"));
}
function fetchPathsTaskList(id, params) {
return get("myshixuns/".concat(id, "/subject_challenges.json"), params);
}
function saveTaskStar(id, shixunId, star) {
return (0,fetch/* get */.U2)("tasks/".concat(id, "/star.json"), {
star: star,
shixun_id: shixunId
});
}
function fetchCode(id, params) {
return (0,fetch/* get */.U2)("tasks/".concat(id, "/rep_content.json"), objectSpread2_default()(objectSpread2_default()({}, params), urlParams));
}
function updateCode(id, params) {
return (0,fetch/* post */.v_)("myshixuns/".concat(id, "/update_file.json"), params);
}
function restoreCode(id, params) {
return (0,fetch/* get */.U2)("tasks/".concat(id, "/reset_original_code.json"), objectSpread2_default()(objectSpread2_default()({}, params), urlParams));
}
function resetGitCode(id, params) {
return (0,fetch/* post */.v_)("myshixuns/".concat(id, "/reset_repository.json"), params);
}
function resetPassedCode(id, params) {
return (0,fetch/* get */.U2)("tasks/".concat(id, "/reset_passed_code.json"), objectSpread2_default()(objectSpread2_default()({}, params), urlParams));
}
function codeGameBuild(id, params) {
return (0,fetch/* post */.v_)("tasks/".concat(id, "/game_build.json"), objectSpread2_default()(objectSpread2_default()({}, params), urlParams));
}
function getCodeGameStatus(id, params) {
return (0,fetch/* get */.U2)("tasks/".concat(id, "/game_status.json"), objectSpread2_default()(objectSpread2_default()({}, params), urlParams));
}
function evalateChooseGame(id, params) {
return post("tasks/".concat(id, "/choose_build.json"), _objectSpread(_objectSpread({}, params), urlParams));
}
function fetchPictures(id) {
return get("tasks/".concat(id, "/picture_display.json"), urlParams);
}
function updateCostTime(id, params) {
return get("tasks/".concat(id, "/cost_time.json"), _objectSpread(_objectSpread({}, params), urlParams));
}
function getNoticeDetail(id, params) {
return get("courses/".concat(id, "/inform_detail.json"), params);
}
function plusOrCancelPraise(id) {
return (0,fetch/* post */.v_)("tasks/".concat(id, "/plus_or_cancel_praise.json"));
}
function fetchRepos(id) {
var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
return (0,fetch/* post */.v_)("myshixuns/".concat(id, "/repository.json"), params);
}
function openSSh(id, params) {
return get("myshixuns/".concat(id, "/open_webssh.json"), params || {});
}
function openVmSSh(id, params) {
return get("myshixuns/".concat(id, "/open_vm_webssh.json"), params);
}
function closeSSh(id) {
return get("tasks/".concat(id, "/close_webssh.json"));
}
function resetVnc(_x) {
return _resetVnc.apply(this, arguments);
}
// 所有环境重置都可以使用此方法
function _resetVnc() {
_resetVnc = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(id) {
var res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return (0,fetch/* post */.v_)("/sci/projects/".concat(id, "/delete_pod.json"));
case 2:
res = _context.sent;
if (!((res === null || res === void 0 ? void 0 : res.status) >= 0)) {
_context.next = 5;
break;
}
return _context.abrupt("return", (0,fetch/* post */.v_)("/sci/projects/".concat(id, "/start_environment.json"), urlParams));
case 5:
case "end":
return _context.stop();
}
}, _callee);
}));
return _resetVnc.apply(this, arguments);
}
function resetWindowsVnc(id) {
// return post(`tasks/${id}/reset_windows_vnc_link.json`);
return post("tasks/".concat(id, "/reset_environment"));
}
function resetLinuxVnc(id, params) {
return post("tasks/".concat(id, "/reset_linux_vnc_link.json"), params || {});
}
function unlockTestCase(id) {
return (0,fetch/* get */.U2)("tasks/".concat(id, "/check_test_sets.json"));
}
function getAnswerInfo(id) {
return get("tasks/".concat(id, "/get_answer_info.json"));
}
function getChooseAnswerInfo(id) {
return get("tasks/".concat(id, "/get_choose_answer.json"));
}
function getChooseUnlockAnswer(id) {
return get("tasks/".concat(id, "/unlock_choose_answer.json"));
}
function getUnlockAnswer(id, aid) {
return get("tasks/".concat(id, "/unlock_answer.json"), {
answer_id: aid
});
}
function setUnity3dStatus(id, result, data) {
return (0,fetch/* post */.v_)("tasks/".concat(id, "/set_games_status.json"), {
result: result,
data: data
});
}
function addVncTime(id) {
return (0,fetch/* post */.v_)("/sci/projects/".concat(id, "/extend_release.json"));
}
function saveEnv(id, data) {
return (0,fetch/* post */.v_)("/sci/projects/".concat(id, "/save_mirror.json"), objectSpread2_default()({}, data));
}
// 所有延时都改成了此接口,旧接口依旧可用
function addWindowsVncTime(id) {
return Fetch("/api/tasks/".concat(id, "/active.json"), {
method: 'post',
body: {
template_id: window.sessionStorage.imageId
}
});
}
function addLinuxVncTime(id) {
return post("tasks/".concat(id, "/extend_linux_vnc.json"), urlParams);
}
function getRanking(id, params) {
return get("tasks/".concat(id, "/rank_list.json"), params);
}
function closeWindowsVnc(id, tpi_id) {
return (0,fetch/* post */.v_)("tasks/".concat(id, "/close_windows_vnc.json"), {
tpi_id: tpi_id
});
}
function pullFiles(id) {
return get("tasks/".concat(id, "/pull_files.json"));
}
function logOutput(id, params) {
return post("tasks/".concat(id, "/log_output"), params);
}
function stopLogOutput(id) {
return get("tasks/".concat(id, "/stop_log_output.json"));
}
// myshixuns start
function addMyRepositoryFile(_x2) {
return _addMyRepositoryFile.apply(this, arguments);
}
function _addMyRepositoryFile() {
_addMyRepositoryFile = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params) {
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
return _context2.abrupt("return", Fetch("/api/myshixuns/".concat(params.id, "/add_file.json"), {
method: 'post',
body: params
}));
case 1:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return _addMyRepositoryFile.apply(this, arguments);
}
function deleteMyGitFile(_x3) {
return _deleteMyGitFile.apply(this, arguments);
}
function _deleteMyGitFile() {
_deleteMyGitFile = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(params) {
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
return _context3.abrupt("return", Fetch("/api/myshixuns/".concat(params.id, "/delete_git_file.json"), {
method: 'Delete',
body: params
}));
case 1:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return _deleteMyGitFile.apply(this, arguments);
}
function moveMyGitFile(_x4) {
return _moveMyGitFile.apply(this, arguments);
}
function _moveMyGitFile() {
_moveMyGitFile = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(params) {
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
return _context4.abrupt("return", Fetch("/api/myshixuns/".concat(params.id, "/mv_file.json"), {
method: 'post',
body: params
}));
case 1:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return _moveMyGitFile.apply(this, arguments);
}
function getMyFileContent(_x5) {
return _getMyFileContent.apply(this, arguments);
}
function _getMyFileContent() {
_getMyFileContent = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(params) {
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
return _context5.abrupt("return", Fetch("/api/tasks/".concat(params.id, "/rep_content.json"), {
method: 'get',
params: params
}));
case 1:
case "end":
return _context5.stop();
}
}, _callee5);
}));
return _getMyFileContent.apply(this, arguments);
}
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/data-sets/index.tsx
var _excluded = ["userDetail", "user", "globalSetting", "loading", "dispatch", "onClose", "shixun"];
var NavType = /*#__PURE__*/function (NavType) {
NavType["Classrooms"] = "classrooms";
NavType["Shixuns"] = "shixuns";
NavType["Paths"] = "paths";
NavType["Projects"] = "projects";
NavType["Videos"] = "videos";
NavType["Topics"] = "topics";
NavType["Teach"] = "teach-group";
return NavType;
}(NavType || {});
var Banner = function Banner(_ref) {
var userDetail = _ref.userDetail,
user = _ref.user,
globalSetting = _ref.globalSetting,
loading = _ref.loading,
dispatch = _ref.dispatch,
onClose = _ref.onClose,
shixun = _ref.shixun,
props = objectWithoutProperties_default()(_ref, _excluded);
var params = (0,_umi_production_exports.useParams)();
var _useState = (0,_react_17_0_2_react.useState)([]),
_useState2 = slicedToArray_default()(_useState, 2),
dataList = _useState2[0],
setDataList = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(""),
_useState4 = slicedToArray_default()(_useState3, 2),
folderName = _useState4[0],
setFolderName = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)(0),
_useState6 = slicedToArray_default()(_useState5, 2),
count = _useState6[0],
setCount = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)(objectSpread2_default()({
page: 1,
limit: 20
}, params)),
_useState8 = slicedToArray_default()(_useState7, 2),
query = _useState8[0],
setQuery = _useState8[1];
var visible = (0,_react_17_0_2_react.useCallback)(function () {
return props.visible;
}, [props.visible]);
(0,_react_17_0_2_react.useEffect)(function () {
query.page = 1;
getSetData();
}, [props.visible]);
var getSetData = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return fetchDataList(params.taskId);
case 2:
res = _context.sent;
if (res) {
setDataList(toConsumableArray_default()(res.data_sets));
setCount(res.data_sets_count);
setFolderName(res.folder_name);
}
case 4:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getSetData() {
return _ref2.apply(this, arguments);
};
}();
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
height: "calc(100vh - 51px)",
padding: "20px 15px"
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "c-grey-999 font14 ml5 mb5",
children: "\u6570\u636E\u96C6"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("dl", {
className: data_setsmodules.list,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: folderName,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("dt", {
className: "c-white",
children: folderName
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("dd", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(lib.CopyToClipboard, {
text: folderName,
onCopy: function onCopy() {
return message/* default */.ZP.success('复制成功');
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "".concat(data_setsmodules.copy, " current"),
children: "\u70B9\u51FB\u590D\u5236"
})
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "c-grey-999 font14 ml5 mb5",
children: "\u6587\u4EF6\u8DEF\u5F84"
}), dataList === null || dataList === void 0 ? void 0 : dataList.map(function (item, key) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("dl", {
className: data_setsmodules.list,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: item.filename,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("dt", {
className: "c-white",
children: item.filename
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("dd", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(lib.CopyToClipboard, {
text: item.file_path,
onCopy: function onCopy() {
return message/* default */.ZP.success('复制成功');
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "".concat(data_setsmodules.copy, " current"),
children: "\u70B9\u51FB\u590D\u5236"
})
})
})]
});
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "tc",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
onChange: function onChange(page) {
query.page = page;
getSetData();
},
className: data_setsmodules.page,
size: "small",
total: count,
pageSize: query.limit,
hideOnSinglePage: true
})
})]
});
};
/* harmony default export */ var data_sets = ((0,_umi_production_exports.connect)(function (_ref3) {
var user = _ref3.user,
userDetail = _ref3.userDetail,
loading = _ref3.loading,
shixunsDetail = _ref3.shixunsDetail,
globalSetting = _ref3.globalSetting;
return {
user: user,
userDetail: userDetail,
shixunsDetail: shixunsDetail,
globalSetting: globalSetting,
loading: loading.models.index
};
})(Banner));
// EXTERNAL MODULE: ./src/components/mediator.js
var mediator = __webpack_require__(87684);
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/header/tool.png
var tool_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAgCAYAAAB6kdqOAAABZ0lEQVRYR+2YrU7FQBBGzzwEPAMSi+M6MARDggNJgiIkWLiSBIFCkyCuQECCQFIcEstb8AYf2ZvmhpbuT9ttUpJWdma+OZ3O7k5rRC5Jh8ARsBPzjdhvgXczew75WSyJpCdgP+aXaP8ws63OQJK2gbdSYJ6Y1Od2WRpmZlb4nIIVqgEFhUKwbXTGByRpDzgBdnu+kr7hD8CLSboGLvqqZYp/dEDK1LR9mZZNXwEys6u+ql3iJbm8E5C3eFOFYn2VrUKS1oADYL1M+gW8mtl3DOK3PQuQpE1gAWzUkn8CZ6Hzqg6bC+gcuPFU4s7MTlOrlAvITQFuGijMbOaSS/pzLwXKB+QdCQKiXqAUkJqP06rs1B00liFNFeqqVQEaXYXmbc6ypn7J3UNtgUa3ysa1D5XLfDw7dedl1BCYZWOcgHJWIKb1f15Z7EkGtq+G/NXEP3DCFPl79xnkTln3u+U4JWJAH/czo/gBVkc5pun3NGoAAAAASUVORK5CYII=";
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/header/data.png
var data_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABqVJREFUeF7tm3eoXUUQxr9REXtXbIiKARs2xAKiBlGx+4cNUaOoCWKikChqjMbYYksUC5ZIiCLYwBYldkVFUOwVC/YC9ooF8ZMvzD7Hk3PvO+eePfc94Q5ceLx7zu7Mb2dnd2fnGvosJI8FsAuA1QC8CWCumb3dZzWGurN+dUxyVwCnANin0Of3AC7Tx8z+7Jc+qZ/WAZBczw2fFIx7CcBPAAQlyYsO4bZ+QmgVAMmT3fh13aivAFyuj5n9QfJIAJMBbBWMvgPALDN7vh8gWgFAcj83fOdgxNVu+AfRMJJL+rMCsap/91eYFt+2CSIrAJKbuTFHB6XvdsOf7mYIyTEApgCYEJ57x71hTlsQsgAgubQrryC3oisrF5ar15rTJHfzabF3MHqBx4fHc4NoDIDk4T7qW7tyn7vhs5ooS/IYB7F5aOcaB/FRk7bjuz0DILmDj/pBocErAFxgZt/kUJCk9DvLQSTP+sKnxewcfdQGQHJ1H3G5+2KuxJ0ALjSzV3IoVWyD5PoApgHQJirJM+4N9zbpsxYAkgpQMnwj7/RZADPN7P4mSlR9l6RWlTMB7BHeudlBvF61ndpTgOTu7u57+ssfA7jIzK7rpdOm7/j+YSqAjb2tn33Z1P7h1zrtd/UAkhv6iJ/gjWp9vhjAOWamv0dUSGpanA5gWVfkVfeGW6oq1hEASbm61uU1vbGbAMwwsw+rNt6P50iuA2A6gONDf9p76GyhKdpVFgFAci0A1wPQbk7ymBvedSMzXEdtf09yR3lmIT4cYmYK0B2lDICoqTHtwjTit7atfM72SR7mHpHiwxgze79TH/8BQFKHlk/Dwzqhab73Jco3BUFyLzd++9DWBDO7oSoAHU+fKHl4vnuDgIw6Ibmpu//BZcqZWcdYV/SACGCG04xtiqQ84svRQIGkor/mvQJ2krcAnATg0fSPJgBmAtD+O+7A1K5igzoeMSE5UZswAMu5Ej8AmGRmC5dAkmwMIBlJUjs/gYg7sO8AnNFtfrVBh+T+Om8AiIek08zskthfVgCpYc/rCYTmXJI3HESrgZLklgDOB7Bv6FuHrylm9ncRdisAAgilsgRi+dDxwwCmmlnWQElyZQDnApDLJ7ndDdfRu1RaBRBAaD8ud4wyz0E0DpS+G700NK7N2GQze2G46dUXAB5s5AU6H6TzQtJNx2Od3GoLSeUYlDxNyVRtZGS4luNK0jcAwRs2AaBAFOfo71qizEzTZVghua0bvpM/rJOdDO+4kRnRKVDWuR+d5bYKWkmUCRYIHVIWEZJrKMsD4IjwZaOltu8eULTKc3oCkVLdekRZHIF4LnjOeZ7tSf/SaCuYNkqHjziAYKByeoriUXT58Yi7e9rIaH7LcC2rjWXUAJAlJFfxXdv4EssU0WW4gGSTUQUgeMMWDiLl/MeZmXJ62WVUAggg0j59rJk9md363GeB3AqG0RkAGHjAYAoMYsAgCOYOsr73yJcRyq3gYBX4N183WAYHy+BgGRwsg9mXQU/jv5eCd52LkaUAqJhReT7dqk5vo463zVWApK7JYwptvpnpLqFUym6HdeOj+3aJbluUqlLlxW+5lsM2AJBUlZpS8yrCjtL1irz00pBkhKDGVPwkCJUrL7rByg2A5IMAUvlO6vprACfWrg8IZ/axXp4Ws7z3OAjl9nqWXABIFvOJSadrAczuVhcwFB+Gs4LkOAehbE4S5ezVwWfDvV/2fVMAJA8AcFco00vdPOB6Va4orVQm59fQKmbWZyXvTbX9p5rZlXUh9AqA5NoAlDzdptCnSuQ0ILqVqiWVAIRpocsPQTgu9KL7eN0S31e1514AkLyx5Jr+Rxnuxv9Stf/4XC0AAYQCjkDE63KNzDQze204ReoA8DqAq0ranOvxSAPQs/QEIIDQmisQqSBJXyk+qIpEvwgplSoAvBZZBVoqk42iyg+5uyrIG0sjAOrdr69TfFgmaDSx051gNwAkl/BN2IEF6951w1XCl00aAwjeoLtAgTgqaPcJgPFm9lDUuBMAkmer/KZgnS5Y0zxvdF1WRi0bgABCBZaqMNVP45Ko8kwgFtbrFQH4T2y0yVqhoKT+J3d/OduQFxrKDiCAUEWHPGKD0OccMxsfAfiIx98W6fGn3PBGpfBVoLUGwEdadcYpPixeQSH9EkQjXhb1K7xe/5FWAQRv2M5BHNpBRRU5pXneuLSmDoa+AAggVPoij1AtchJdlWvUh2oG6hjQ9Nm+AgggVJGqz4KRMjzpMiIAmo5azvcHAHLS/D+29Q9mll9ufOAEPQAAAABJRU5ErkJggg==";
// EXTERNAL MODULE: ./src/utils/fullscreen.ts
var fullscreen = __webpack_require__(25526);
// EXTERNAL MODULE: ./src/components/Exercise/recordScreen.tsx + 3 modules
var recordScreen = __webpack_require__(42058);
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/header/index.jsx
// import { Timer } from '../code-repository/ssh-action-bar';
var Countdown = statistic/* default */.Z.Countdown;
function TipContent() {
return /*#__PURE__*/_jsx("p", {
children: "\u684C\u9762\u7CFB\u7EDF\u5C06\u6062\u590D\u5230\u521D\u59CB\u72B6\u6001\uFF0C\u60A8\u5728\u7CFB\u7EDF\u4E2D\u521B\u5EFA\u7684\u6570\u636E\u53EF\u80FD\u4F1A\u4E22\u5931\u3002\u8BF7\u786E\u4FDD\u60A8\u7684\u6570\u636E\u5DF2\u4FDD\u5B58\uFF08\u5982\uFF1A\u7248\u672C\u5E93\u4EE3\u7801\u5DF2\u63A8\u9001\u5230\u670D\u52A1\u5668\uFF09\u3002\u662F\u5426\u786E\u8BA4\u91CD\u7F6E\uFF1F"
});
}
/* harmony default export */ var header = (function (_ref) {
var mirror_description = _ref.mirror_description,
difficulty = _ref.difficulty,
git_url = _ref.git_url,
vnc_url = _ref.vnc_url,
window_vnc_url = _ref.window_vnc_url,
linux_vnc = _ref.linux_vnc,
isNotice = _ref.isNotice,
user = _ref.user,
game = _ref.game,
_ref$shixun = _ref.shixun,
shixun = _ref$shixun === void 0 ? {} : _ref$shixun,
_ref$taskData = _ref.taskData,
taskData = _ref$taskData === void 0 ? {} : _ref$taskData,
resetVncLoading = _ref.resetVncLoading,
onUpdateCostTime = _ref.onUpdateCostTime,
lastedGetTaskInfoTime = _ref.lastedGetTaskInfoTime,
onShowNotice = _ref.onShowNotice,
onResetGitCode = _ref.onResetGitCode,
onResetVnc = _ref.onResetVnc,
onBack = _ref.onBack,
onAddVncTime = _ref.onAddVncTime,
onUpdateCode = _ref.onUpdateCode,
unity_3d_routes = _ref.unity_3d_routes,
remaining_time = _ref.remaining_time,
st = _ref.st;
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
var name = shixun.name,
identifier = shixun.identifier,
task_pass = shixun.task_pass,
test_set_permission = shixun.test_set_permission;
// const { remaining_time, status } = taskData;
// const { user_url, image_url, grade = 0 } = user;
var _useState = (0,_react_17_0_2_react.useState)(false),
_useState2 = slicedToArray_default()(_useState, 2),
isToolBar = _useState2[0],
setIsToolBar = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
isDataBar = _useState4[0],
setIsDataBar = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)({}),
_useState6 = slicedToArray_default()(_useState5, 2),
exerciseData = _useState6[0],
setExerciseData = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)(false),
_useState8 = slicedToArray_default()(_useState7, 2),
showSave = _useState8[0],
setShowSave = _useState8[1];
var _useState9 = (0,_react_17_0_2_react.useState)(null),
_useState10 = slicedToArray_default()(_useState9, 2),
countDownTime = _useState10[0],
setCountDownTime = _useState10[1];
var _useState11 = (0,_react_17_0_2_react.useState)(1800),
_useState12 = slicedToArray_default()(_useState11, 2),
vncTime = _useState12[0],
setVncTime = _useState12[1];
var _useState13 = (0,_react_17_0_2_react.useState)(false),
_useState14 = slicedToArray_default()(_useState13, 2),
dataSetsVisiable = _useState14[0],
setdataSetsVisiable = _useState14[1];
var _useState15 = (0,_react_17_0_2_react.useState)(false),
_useState16 = slicedToArray_default()(_useState15, 2),
isshowmodal = _useState16[0],
setisshowmodal = _useState16[1];
var query = (0,_umi_production_exports.useLocation)().query;
var params = (0,_umi_production_exports.useParams)();
var _useState17 = (0,_react_17_0_2_react.useState)(false),
_useState18 = slicedToArray_default()(_useState17, 2),
isloading = _useState18[0],
setisloading = _useState18[1];
var _Form$useForm = es_form/* default */.Z.useForm(),
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
form = _Form$useForm2[0];
var timers = (0,_react_17_0_2_react.useMemo)(function () {
return Date.now() + remaining_time;
}, [remaining_time]);
(0,_react_17_0_2_react.useEffect)(function () {
if (!showSave) {
setTimeout(function () {
setShowSave(true);
}, 1000 * 60);
}
}, [showSave]);
(0,_react_17_0_2_react.useEffect)(function () {
mediator/* default */.Z.subscribe('update-windows-time', function (data) {
setVncTime(parseInt(remaining_time / 1000));
});
setVncTime(remaining_time / 1000);
}, []);
(0,_react_17_0_2_react.useEffect)(function () {
var _exerciseData$exercis;
if (searchParams.get("type") === 'exercises' && exerciseData !== null && exerciseData !== void 0 && (_exerciseData$exercis = exerciseData.exercise) !== null && _exerciseData$exercis !== void 0 && _exerciseData$exercis.screen_open) {
recordScreen/* fullchange */.U.forEach(function (item, index) {
document.addEventListener(item, backExercise, false);
document.addEventListener('blur', backExercise, false);
});
window.focus();
window.onblur = function () {
if ((0,fullscreen/* IsFull */.vp)()) {
backExercise();
(0,fullscreen/* exitFull */.BU)();
}
};
}
return function () {
recordScreen/* fullchange */.U.forEach(function (item, index) {
document.removeEventListener(item, backExercise, false);
});
};
}, [exerciseData]);
var handleToggleDatasets = function handleToggleDatasets() {
setdataSetsVisiable(!dataSetsVisiable);
};
var backExercise = function backExercise(type) {
window.parent.postMessage('backExercise', '*');
if (type !== 'back') (0,fullscreen/* exitFull */.BU)();
// window.top.location.href = `/classrooms/${searchParams.get("coursesId")}/exercise/${searchParams.get("exercisesId")}/users/${searchParams.get("login")}`;
};
function triggerToolBar() {
setIsToolBar(!isToolBar);
}
function onHideToolBar() {
setIsToolBar(false);
setIsDataBar(false);
}
function toShixun() {
// onBack();
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
type: 'globalSetting/headerFooterToggle',
payload: true
});
_umi_production_exports.history.replace("/innovation/project/detail/".concat(params.taskId));
}
function onReset() {
if (resetVncLoading) {
return;
}
onResetVnc();
}
function onCancelShixun() {
es_modal/* default */.Z.confirm({
title: '退出',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {}),
content: '您确定要退出制作镜像吗?',
centered: true,
okText: '确定',
cancelText: '取消',
onOk: toShixun
});
}
function onVncAction(name) {
onHideToolBar();
if (name === 'reset-task') {
if (!resetVncLoading) {
es_modal/* default */.Z.confirm({
title: '重置环境',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {}),
content: '是否确定重置环境?',
centered: true,
okText: '确定',
cancelText: '取消',
onOk: function onOk() {
onReset();
setShowSave(false);
}
});
}
}
if (name === 'reset-code') {
if (!resetVncLoading) {
es_modal/* default */.Z.confirm({
title: '恢复初始代码',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {}),
content: '您在本文件中修改的内容将丢失,是否确定重新加载初始代码?',
centered: true,
okText: '确定',
cancelText: '取消',
onOk: onResetGitCode
});
}
}
if (name === 'full-screen') {
if ((0,fullscreen/* IsFull */.vp)()) {
(0,fullscreen/* exitFull */.BU)();
} else {
var _document, _document$getElementB;
(0,fullscreen/* requestFullScreen */.Dj)((_document = document) === null || _document === void 0 || (_document$getElementB = _document.getElementById) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.call(_document, 'task-right-panel'));
}
}
if (name === 'show-clipboard-box') {
mediator/* default */.Z.publish('show-clipboard-box');
}
}
var vncSettingOption = {
task_pass: task_pass,
test_set_permission: test_set_permission,
mirror_description: mirror_description,
difficulty: difficulty,
resetVncLoading: resetVncLoading,
git_url: git_url,
onVncAction: onVncAction,
window_vnc_url: window_vnc_url,
linux_vnc: linux_vnc,
vnc_url: vnc_url,
shixun: shixun,
unity_3d_routes: unity_3d_routes
};
var cutTime = (0,_react_17_0_2_react.useCallback)(function () {
if (!vncTime) {
return null;
}
console.log('VncTimer:', vncTime);
return /*#__PURE__*/(0,jsx_runtime.jsx)(VncTimer, {
defaultTime: vncTime,
onAddVncTime: onAddVncTime,
onReset: onReset,
toShixun: toShixun,
title: vnc_url ? '' : ''
});
}, [vncTime]);
(0,_react_17_0_2_react.useEffect)(function () {
if (isshowmodal) {
form.setFieldsValue({
name: '',
version: '',
description: ''
});
}
}, [isshowmodal]);
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "task-header-container",
children: [searchParams.get("type") !== 'exercises' && /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
children: taskData.name
}), /*#__PURE__*/(0,jsx_runtime.jsx)("h2", {
className: "shixun-info",
children: name
}), /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [window_vnc_url && /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
onClick: function onClick(e) {
e.preventDefault();
mediator/* default */.Z.publish('send-ctrl-alt-delete');
},
className: "c-grey-c mr20",
children: "\u53D1\u9001CTRL+ALT+DELETE"
}), cutTime()]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-shijian1"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(Countdown, {
valueStyle: {
color: 'white',
fontSize: '12px'
},
style: {
marginRight: 20,
marginLeft: 5
},
value: timers
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
className: "btn-vnc",
title: "\u5DE5\u5177\u680F",
onClick: triggerToolBar,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
alt: "tool",
src: tool_namespaceObject,
width: 16
}), "\u5DE5\u5177\u680F"]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
className: "btn-vnc",
title: "\u6570\u636E\u96C6",
onClick: function onClick() {
return setIsDataBar(true);
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
alt: "tool",
src: data_namespaceObject,
width: 18
}), "\u6570\u636E\u96C6"]
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "primary",
disabled: !showSave,
className: "save-innovation",
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
setisshowmodal(true);
// const res = await saveEnv(params.taskId);
// if (res?.status == 200) {
// message.info('保存成功');
// }
case 1:
case "end":
return _context.stop();
}
}, _callee);
})),
children: "\u4FDD\u5B58\u955C\u50CF"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
className: "btn-out",
onClick: onCancelShixun,
title: "\u9000\u51FA\u5B9E\u8BAD",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-kaiguan"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(drawer/* default */.Z, {
rootClassName: "setting-drawer",
title: null,
placement: "right",
closable: false,
open: isToolBar,
onClose: onHideToolBar,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(vnc_setting2, objectSpread2_default()(objectSpread2_default()({}, vncSettingOption), {}, {
taskData: taskData
}))
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(drawer/* default */.Z, {
rootClassName: "setting-drawer",
title: null,
placement: "right",
closable: false,
open: isDataBar,
onClose: onHideToolBar,
style: {
height: '100%'
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(data_sets, {})
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_modal/* default */.Z, {
title: '保存镜像',
open: isshowmodal,
okButtonProps: {
loading: isloading
},
onCancel: function onCancel() {
setisshowmodal(false);
},
onOk: function onOk() {
form.submit();
},
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
style: {
color: '#6B758B'
},
children: "\u628A\u5F53\u524D\u7684\u73AF\u5883\u5B58\u4E3A\u4E00\u4E2A\u65B0\u7684\u955C\u50CF\u3002\u786E\u5B9A\u4FDD\u5B58\u540E\uFF0C\u5728\u6211\u7684\u955C\u50CF\u53EF\u4EE5\u770B\u5230\u8BE5\u955C\u50CF\u7684\u4FDD\u5B58\u72B6\u6001\u3002"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
labelCol: {
span: 4
},
wrapperCol: {
span: 20
},
form: form,
onFinish: ( /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(value) {
var res;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
setisloading(true);
_context3.next = 3;
return saveEnv(params.taskId, value);
case 3:
res = _context3.sent;
if ((res === null || res === void 0 ? void 0 : res.status) == 0) {
message/* default */.ZP.info('保存成功');
setisshowmodal(false);
}
if ((res === null || res === void 0 ? void 0 : res.status) === -5) {
es_modal/* default */.Z.confirm({
title: '覆盖镜像提示',
content: '系统检测到你的【镜像列表】存在同名且同版本号的镜像, 您确定要覆盖原来的镜像?',
okText: '确认',
cancelText: '取消',
onOk: function () {
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
var res;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return saveEnv(params.taskId, objectSpread2_default()({
is_cover: true
}, value));
case 2:
res = _context2.sent;
if ((res === null || res === void 0 ? void 0 : res.status) == 0) {
message/* default */.ZP.info('覆盖成功');
setisshowmodal(false);
}
case 4:
case "end":
return _context2.stop();
}
}, _callee2);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
}
setisloading(false);
case 7:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function (_x) {
return _ref3.apply(this, arguments);
};
}()),
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u955C\u50CF\u540D\u79F0",
name: "name",
rules: [{
required: true,
message: '请输入镜像名称'
}, {
pattern: /^[a-z0-9_]+$/,
message: '只允许输入数字或小写字母'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
type: "text",
maxLength: 60
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: " \u7248\u672C\u53F7",
name: "version",
rules: [{
required: true,
message: '请输入版本号'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input_number/* default */.Z, {
style: {
width: '100%'
}
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u955C\u50CF\u63CF\u8FF0",
name: "description",
rules: [{
required: true,
message: '请输入镜像描述'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z.TextArea, {})
})]
})]
})
})]
});
});
var FiveMinute = 300;
function VncTimer(_ref4) {
var onAddVncTime = _ref4.onAddVncTime,
onReset = _ref4.onReset,
toShixun = _ref4.toShixun,
_ref4$title = _ref4.title,
title = _ref4$title === void 0 ? '' : _ref4$title,
defaultTime = _ref4.defaultTime;
var _useState19 = (0,_react_17_0_2_react.useState)(defaultTime),
_useState20 = slicedToArray_default()(_useState19, 2),
time = _useState20[0],
setTime = _useState20[1];
var _useState21 = (0,_react_17_0_2_react.useState)(false),
_useState22 = slicedToArray_default()(_useState21, 2),
isPlusTime = _useState22[0],
setIsPlusTime = _useState22[1];
(0,useInterval/* default */.Z)(function () {
setTime(time - 1);
}, time > 0 ? 1000 : null);
(0,_react_17_0_2_react.useEffect)(function () {
if (time === FiveMinute) {
setIsPlusTime(true);
}
}, [time]);
(0,_react_17_0_2_react.useEffect)(function () {
if (defaultTime < FiveMinute) {
setIsPlusTime(true);
}
setTime(defaultTime);
}, [defaultTime]);
function onCancel() {
if (time !== 0) {
setIsPlusTime(false);
} else {
toShixun();
}
}
function onAddTime() {
return _onAddTime.apply(this, arguments);
}
function _onAddTime() {
_onAddTime = 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:
setIsPlusTime(false);
if (!(time > 0)) {
_context4.next = 8;
break;
}
_context4.next = 4;
return onAddVncTime();
case 4:
res = _context4.sent;
setTime((res === null || res === void 0 ? void 0 : res.remaining_time) / 1000);
_context4.next = 10;
break;
case 8:
setTime(defaultTime);
onReset();
case 10:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return _onAddTime.apply(this, arguments);
}
function callback() {
if (time < FiveMinute) {
setIsPlusTime(true);
}
}
return /*#__PURE__*/(0,jsx_runtime.jsx)(_react_17_0_2_react.Fragment, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_modal/* default */.Z, {
title: [/*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {
className: "modalIconYellow"
}), time !== 0 ? '实验环境延时提醒' : '实验环境重置提醒'],
closable: false,
centered: true,
open: isPlusTime,
onOk: onAddTime,
onCancel: onCancel,
okText: time !== 0 ? '立即延长' : '重置',
cancelText: time !== 0 ? '不需要' : '退出',
children: time !== 0 ? "\u5F53\u524D\u5B9E\u9A8C\u73AF\u5883\u5C06\u4E8E ".concat(Math.round(time / 60), " \u5206\u949F\u540E\u5173\u95ED\uFF0C\u9700\u8981\u5EF6\u957F\u4F7F\u7528\u65F6\u95F4\u5417\uFF1F") : '由于长时间没有使用,资源已经被回收。如有需要,可以重置实验环境。'
})
})
});
}
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tree/index.js + 8 modules
var tree = __webpack_require__(32985);
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/util.js
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 = env/* default */.Z.API_SERVER;
// export const isProd =
// window.location.href.indexOf('test-') > 0 ||
// window.location.href.indexOf('localhost') > 0
// ? false
// : true;
// export const apiPref = isProd
// ? 'https://www.educoder.net'
// : 'https://test-newweb.educoder.net';
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/createForOfIteratorHelper.js
var createForOfIteratorHelper = __webpack_require__(91232);
var createForOfIteratorHelper_default = /*#__PURE__*/__webpack_require__.n(createForOfIteratorHelper);
// EXTERNAL MODULE: ./node_modules/_js-base64@2.6.4@js-base64/base64.js
var base64 = __webpack_require__(24334);
// EXTERNAL MODULE: ./node_modules/_xterm@4.8.1@xterm/lib/xterm.js
var xterm = __webpack_require__(34376);
// EXTERNAL MODULE: ./node_modules/_xterm@4.8.1@xterm/css/xterm.css
var css_xterm = __webpack_require__(26632);
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/xterm-panel/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var xterm_panelmodules = ({"xterm-panel-wrp":"xterm-panel-wrp___hg9up","xterm-panel":"xterm-panel___QKpsc"});
// EXTERNAL MODULE: ./node_modules/_resize-observer-polyfill@1.5.1@resize-observer-polyfill/dist/ResizeObserver.es.js
var ResizeObserver_es = __webpack_require__(76374);
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/xterm-panel/index.jsx
function getColsAndRows(width, height, term) {
var w = term._core._renderService.dimensions.actualCellWidth || 9.5;
var h = term._core._renderService.dimensions.actualCellHeight || 18;
var rows = Math.floor(height / h);
var cols = Math.floor(width / w);
return [cols, rows];
}
function onLayout(term, el) {
var ro = new ResizeObserver_es/* default */.Z(function (entries) {
console.log('entries', 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) {
var _getColsAndRows = getColsAndRows(entry.target.offsetWidth, entry.target.offsetHeight, term),
_getColsAndRows2 = slicedToArray_default()(_getColsAndRows, 2),
cols = _getColsAndRows2[0],
rows = _getColsAndRows2[1];
console.log('cols, rows', cols, rows);
mediator/* default */.Z.publish('ssh-xterm-resize', {
columns: cols,
rows: rows,
width: entry.target.offsetWidth,
height: entry.target.offsetHeight
});
term.resize(cols, rows);
var data1 = base64.Base64.decode('IA==');
var data = base64.Base64.decode('CBtbSw==');
term.write(data1);
term.write(data);
}
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
});
ro.observe(el);
return ro;
}
var TimeTicket = 30000;
//建立 websockt 来交互
//根据容器大小计算行数和列数并做到自适应
//socket 与 term 需要分开初始化 因为socket 可能重置连接
//mediator 监听消息如果和id匹配则建立连接重置或关闭连接
/* harmony default export */ var xterm_panel = (function (_ref) {
var sshConfigData = _ref.sshConfigData,
sid = _ref.sid;
var _useState = (0,_react_17_0_2_react.useState)(null),
_useState2 = slicedToArray_default()(_useState, 2),
term = _useState2[0],
setTerm = _useState2[1];
var ws_url = sshConfigData.ws_url,
password = sshConfigData.password,
port = sshConfigData.port;
var el = (0,_react_17_0_2_react.useRef)();
var socket = (0,_react_17_0_2_react.useRef)();
var isFirstConnected = (0,_react_17_0_2_react.useRef)(false);
//term init
(0,_react_17_0_2_react.useEffect)(function () {
if (el.current && ws_url) {
var _term = new xterm.Terminal({
fontSize: 16,
rendererType: 'dom'
});
console.log('el.current:', el.current);
_term.open(el.current);
_term.onData(function (data) {
console.log('data:', data);
if (socket.current) {
if (socket.current.readyState === 1) {
socket.current.send(JSON.stringify({
tp: 'client',
data: data
}));
mediator/* default */.Z.publish('on-operating-ssh'); //有操作则自动延时
} else {
//断开连接后重连
// socket.current = null
// mediator.publish('create-socket', sid)
}
}
});
_term.write('Connecting...');
setTerm(_term);
var ro = onLayout(_term, el.current);
return function () {
_term === null || _term === void 0 || _term.dispose();
ro === null || ro === void 0 || ro.unobserve(el.current);
};
}
}, [ws_url, el.current]);
(0,_react_17_0_2_react.useEffect)(function () {
if (term && ws_url) {
var createSocket = function createSocket() {
var socketInstance = new WebSocket(ws_url);
console.log('socketInstance:', ws_url);
socket.current = socketInstance;
socketInstance.onopen = function () {
var container = term.element.parentElement;
if (container) {
var width = container.offsetWidth;
var height = container.offsetHeight;
console.log('init', {
tp: 'init',
data: objectSpread2_default()(objectSpread2_default()({}, sshConfigData), {}, {
secret: password,
width: width,
height: height,
rows: term.rows,
columns: term.cols
})
});
socketInstance.send(JSON.stringify({
tp: 'init',
data: objectSpread2_default()(objectSpread2_default()({}, sshConfigData), {}, {
secret: password,
width: width,
height: height,
rows: term.rows,
columns: term.cols
})
}));
}
term.focus();
};
socketInstance.onerror = function (error) {
console.log('------in socket error----', error, socketInstance, ws_url);
//连接报错后,重新请求资源
// mediator.publish('on-recreate-socket')
};
socketInstance.onmessage = function (event) {
if (!isFirstConnected.current) {
term.write('\r');
// term.focus()
setTimeout(function () {
// term.clear();
}, 1000);
}
isFirstConnected.current = true;
console.log('event:', event);
var data = base64.Base64.decode(event.data.toString());
var w = term._core._renderService.dimensions.actualCellWidth || 9.5;
console.log('data:', data, w, term);
term.write(data);
};
socketInstance.onclose = function (evt) {
if (tid) {
clearInterval(tid);
}
term.write('\r\nconnection closed');
};
};
var tid = setInterval(function () {
if (socket.current) {
socket.current.send(JSON.stringify({
tp: 'h'
}));
}
}, TimeTicket);
var unSubCreate = mediator/* default */.Z.subscribe('create-socket', function (id) {
if (sid == id) {
if (socket.current && socket.current.readyState === 1) {
term.focus();
} else {
createSocket();
}
term.focus();
}
});
var unSubClose = mediator/* default */.Z.subscribe('close-socket', function (id) {
if (sid === id) {
if (socket.current) {
socket.current.close();
isFirstConnected.current = false;
term.clear();
}
socket.current = null;
}
});
var unSubResize = mediator/* default */.Z.subscribe('ssh-xterm-resize', function (option) {
if (socket.current && socket.current.readyState === 1) {
socket.current.send(JSON.stringify({
tp: 'resize',
data: objectSpread2_default()({}, option)
}));
}
});
var unSubAddTime = mediator/* default */.Z.subscribe('ssh-add-connect-time', function () {
if (socket.current && socket.current.readyState === 1) {
socket.current.send(JSON.stringify({
tp: 'overtime'
}));
}
});
return function () {
unSubClose();
unSubCreate();
unSubResize();
unSubAddTime();
if (socket.current) {
socket.current.close();
isFirstConnected.current = false;
}
};
}
}, [term, ws_url, port]);
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: xterm_panelmodules['xterm-panel-wrp'],
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
ref: el,
className: xterm_panelmodules['xterm-panel'],
children: !ws_url ? /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
style: {
color: '#fff'
},
children: "\u6B63\u5728\u8FDE\u63A5\u547D\u4EE4\u884C\u670D\u52A1..."
}) : null
})
});
});
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/vnc-view/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/progress/index.js + 13 modules
var progress = __webpack_require__(93948);
// EXTERNAL MODULE: ./node_modules/_novncrfb@1.2.1@novncrfb/lib/rfb.js
var lib_rfb = __webpack_require__(62013);
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/vnc-view/clipboard-box/index.less
// extracted by mini-css-extract-plugin
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/vnc-view/clipboard-box/index.tsx
var TextArea = input/* default */.Z.TextArea;
/* harmony default export */ var clipboard_box = (function (_ref) {
var onCancel = _ref.onCancel,
onSave = _ref.onSave,
content = _ref.content;
var _useState = (0,_react_17_0_2_react.useState)(content),
_useState2 = slicedToArray_default()(_useState, 2),
value = _useState2[0],
setValue = _useState2[1];
function onChangeValue(e) {
setValue(e.target.value);
}
function onSaveContent() {
onSave(value);
}
(0,_react_17_0_2_react.useEffect)(function () {
setValue(content);
}, [content]);
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "clipboard-box",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("h3", {
children: "\u5B9E\u9A8C\u73AF\u5883\u526A\u5207\u677F\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(TextArea, {
value: value,
onChange: onChangeValue,
className: "clipboard"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
children: " 1.\u4ECE\u5916\u90E8\u590D\u5236\u5185\u5BB9\u5230\u5B9E\u9A8C\u73AF\u5883\u5185\uFF1A "
}), " \u7C98\u8D34\u5185\u5BB9\u5230\u4E0A\u9762\u6587\u672C\u6846\uFF0C\u70B9\u51FB\u4FDD\u5B58\uFF0C\u7136\u540E\u5728\u5B9E\u9A8C\u73AF\u5883\u4E2D\u8FDB\u884C\u7C98\u8D34\u3002 "]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
children: " 2.\u83B7\u53D6\u5B9E\u9A8C\u73AF\u5883\u4E2D\u7684\u5185\u5BB9\uFF1A "
}), " \u8BF7\u5148\u5728\u73AF\u5883\u4E2D\u590D\u5236\u5185\u5BB9\uFF0C\u590D\u5236\u52A8\u4F5C\u5B8C\u6210\u540E\u5185\u5BB9\u4F1A\u663E\u793A\u5728\u4E0A\u9762\u6587\u672C\u6846\uFF0C\u7136\u540E\u5728\u4E0A\u9762\u6587\u672C\u6846\u4E2D\u518D\u6B21\u590D\u5236\u3002 "]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "btn-action-container",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "ghost",
onClick: onCancel,
style: {
marginRight: 10
},
children: "\u53D6\u6D88"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "primary",
onClick: onSaveContent,
children: "\u4FDD\u5B58"
})]
})]
});
});
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.4.0@@ant-design/icons/es/icons/LoadingOutlined.js + 1 modules
var LoadingOutlined = __webpack_require__(42857);
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/vnc-view/vnc-panel/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var vnc_panelmodules = ({"selectImage":"selectImage___t63KU","container":"container___WChhl"});
// EXTERNAL MODULE: ./node_modules/_dayjs@1.11.13@dayjs/dayjs.min.js
var dayjs_min = __webpack_require__(61186);
var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/vnc-view/vnc-panel/index.tsx
var antIcon = /*#__PURE__*/(0,jsx_runtime.jsx)(LoadingOutlined/* default */.Z, {
style: {
fontSize: 24
},
spin: true
});
function unicodeUnEscape(str) {
return str.replace(/\\u([\dA-Za-z]{4})/g, function (_, m1) {
return String.fromCharCode(parseInt("0x" + m1));
});
}
function getJsonFromUrl(url) {
if (!url) url = window.location.search;
var query = url.substr(1);
var result = {};
query.split('&').forEach(function (part) {
var item = part.split('=');
result[item[0]] = decodeURIComponent(item[1]);
});
return result;
}
var initialState = {
loading: true,
isLarge: false,
showClipBoardBox: false,
transferContent: '',
mes: '实验环境准备中'
};
var Types = /*#__PURE__*/function (Types) {
Types[Types["SET_LOADING"] = 0] = "SET_LOADING";
Types[Types["SET_IS_LARGE"] = 1] = "SET_IS_LARGE";
Types[Types["SET_MES"] = 2] = "SET_MES";
Types[Types["SET_STATE"] = 3] = "SET_STATE";
Types[Types["SHOW_CLIPBOARD_BOX"] = 4] = "SHOW_CLIPBOARD_BOX";
Types[Types["SET_TRANSFER_CONTENT"] = 5] = "SET_TRANSFER_CONTENT";
Types[Types["UPDATE_ALL"] = 6] = "UPDATE_ALL";
return Types;
}(Types || {});
function reducer(state, action) {
switch (action.type) {
case Types.SET_LOADING:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
loading: action.payload
});
case Types.SET_IS_LARGE:
return objectSpread2_default()({}, objectSpread2_default()(objectSpread2_default()({}, state), {}, {
isLarge: action.payload
}));
case Types.SET_MES:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
mes: action.payload
});
case Types.SET_STATE:
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
case Types.SET_TRANSFER_CONTENT:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
transferContent: action.payload
});
case Types.SHOW_CLIPBOARD_BOX:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
showClipBoardBox: action.payload
});
case Types.UPDATE_ALL:
return objectSpread2_default()({
loading: state.loading
}, action.payload);
default:
throw new Error();
}
}
/* harmony default export */ var vnc_panel = (function (_ref) {
var _taskData$shixun_virt4;
var vnc_url = _ref.vnc_url,
window_vnc_url = _ref.window_vnc_url,
linux_vnc = _ref.linux_vnc,
virtual_machine = _ref.virtual_machine,
taskId = _ref.taskId,
taskData = _ref.taskData;
var el = (0,_react_17_0_2_react.useRef)();
var guacaRef = (0,_react_17_0_2_react.useRef)();
var rfbRef = (0,_react_17_0_2_react.useRef)();
var iframeRef = (0,_react_17_0_2_react.useRef)();
var _useState = (0,_react_17_0_2_react.useState)(),
_useState2 = slicedToArray_default()(_useState, 2),
imageId = _useState2[0],
setImageId = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
showImage = _useState4[0],
setShowImage = _useState4[1];
var _useReducer = (0,_react_17_0_2_react.useReducer)(reducer, initialState),
_useReducer2 = slicedToArray_default()(_useReducer, 2),
state = _useReducer2[0],
dispatch = _useReducer2[1];
var _useState5 = (0,_react_17_0_2_react.useState)(0),
_useState6 = slicedToArray_default()(_useState5, 2),
linkNum = _useState6[0],
setLinkNum = _useState6[1];
var mes = state.mes,
loading = state.loading,
showClipBoardBox = state.showClipBoardBox,
isLarge = state.isLarge,
transferContent = state.transferContent;
var _useState7 = (0,_react_17_0_2_react.useState)(0),
_useState8 = slicedToArray_default()(_useState7, 2),
percent = _useState8[0],
setPercent = _useState8[1];
var timeout = (0,_react_17_0_2_react.useRef)();
var params = (0,_umi_production_exports.useParams)();
var paramsd = params;
(0,_react_17_0_2_react.useEffect)(function () {
window.addEventListener("visibilitychange", handleFocus);
return function () {
var _guacaRef$current, _guacaRef$current$dis;
(_guacaRef$current = guacaRef.current) === null || _guacaRef$current === void 0 || (_guacaRef$current$dis = _guacaRef$current.disconnect) === null || _guacaRef$current$dis === void 0 || _guacaRef$current$dis.call(_guacaRef$current);
window.removeEventListener("visibilitychange", handleFocus);
};
}, []);
(0,_react_17_0_2_react.useEffect)(function () {
window.sessionStorage.imageId = imageId;
return function () {
window.sessionStorage.removeItem("imageId");
};
}, [imageId]);
var fullChange = function fullChange() {
var _taskData$shixun, _rfbRef$current;
// setIsFull(IsFull())
if ((taskData === null || taskData === void 0 || (_taskData$shixun = taskData.shixun) === null || _taskData$shixun === void 0 ? void 0 : _taskData$shixun.windows_connection_mode) === "rdp") {
setTimeout(function () {
doResize();
}, 1500);
} else if ((rfbRef === null || rfbRef === void 0 || (_rfbRef$current = rfbRef.current) === null || _rfbRef$current === void 0 ? void 0 : _rfbRef$current.resizeSession) !== undefined) {
if ((0,fullscreen/* IsFull */.vp)()) {
rfbRef.current.resizeSession = true;
} else {
setTimeout(function () {
rfbRef.current.resizeSession = false;
}, 900);
}
}
};
(0,_react_17_0_2_react.useEffect)(function () {
window.addEventListener("visibilitychange", handleFocus);
document.addEventListener((0,fullscreen/* fullscreenChange */.gH)(), fullChange);
return function () {
document.removeEventListener((0,fullscreen/* fullscreenChange */.gH)(), fullChange);
window.removeEventListener("visibilitychange", handleFocus);
};
}, []);
var handleFocus = function handleFocus(e) {
if (document.visibilityState === 'visible') {
var time = sessionStorage.vncPageLeaveTime;
if (dayjs_min_default()(new Date()).diff(dayjs_min_default()(time), "minutes") > 2) setLinkNum(new Date().getTime());
sessionStorage.removeItem("vncPageLeaveTime");
} else {
sessionStorage.vncPageLeaveTime = new Date();
}
};
function onCancelClipboardBox() {
dispatch({
type: Types.SHOW_CLIPBOARD_BOX,
payload: false
});
}
function onResizeSet() {
dispatch({
type: Types.SET_IS_LARGE,
payload: !isLarge
});
}
function onLayout(rfb) {
var ro;
if (el.current) {
ro = new ResizeObserver_es/* default */.Z(function (entries) {
var _iterator = createForOfIteratorHelper_default()(entries),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var _taskData$shixun2;
var entry = _step.value;
if ((taskData === null || taskData === void 0 || (_taskData$shixun2 = taskData.shixun) === null || _taskData$shixun2 === void 0 ? void 0 : _taskData$shixun2.windows_connection_mode) === "rdp") {
doResize();
}
if (entry.target.offsetHeight > 0 || entry.target.offsetWidth > 0) {
var _rfb$_eventHandlers;
rfb === null || rfb === void 0 || (_rfb$_eventHandlers = rfb._eventHandlers) === null || _rfb$_eventHandlers === void 0 || _rfb$_eventHandlers.windowResize();
}
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
});
ro.observe(el.current);
}
return ro;
}
var getWindowVnc = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
var _getJsonFromUrl, _getJsonFromUrl2;
var urlParams, res, _res$data;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
urlParams = (_getJsonFromUrl = getJsonFromUrl()) !== null && _getJsonFromUrl !== void 0 && _getJsonFromUrl.homework_common_id ? {
homework_common_id: (_getJsonFromUrl2 = getJsonFromUrl()) === null || _getJsonFromUrl2 === void 0 ? void 0 : _getJsonFromUrl2.homework_common_id
} : {};
_context3.next = 3;
return (0,fetch/* default */.ZP)("/api/tasks/".concat(params.taskId || taskId, "/get_vnc_link.json"), {
method: "post",
body: objectSpread2_default()(objectSpread2_default()(objectSpread2_default()({}, params), urlParams), {}, {
template_id: imageId
})
});
case 3:
res = _context3.sent;
if (!((res === null || res === void 0 ? void 0 : res.status) === -3)) {
_context3.next = 6;
break;
}
return _context3.abrupt("return", new Promise( /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(resolve, reject) {
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
es_modal/* default */.Z.confirm({
content: "检测到您已经开启了其他实验环境,请先关闭环境后,再连接",
okText: "立即关闭",
cancelText: "稍后关闭",
onOk: function () {
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
clearTimeout(timeout.current);
setPercent(0);
_context.next = 4;
return closeWindowsVnc(params.taskId, res === null || res === void 0 ? void 0 : res.message);
case 4:
// resolve(await getWindowVnc());
setLinkNum(linkNum + 1);
return _context.abrupt("return");
case 6:
case "end":
return _context.stop();
}
}, _callee);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
case 1:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function (_x, _x2) {
return _ref3.apply(this, arguments);
};
}()));
case 6:
if (!((res === null || res === void 0 ? void 0 : res.status) === -1)) {
_context3.next = 8;
break;
}
throw new String(res === null || res === void 0 ? void 0 : res.message);
case 8:
if (virtual_machine) {
(0,util/* setCookie */.d8)("PVEAuthCookie", res === null || res === void 0 || (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.cookies_value, 1);
(0,util/* setCookie */.d8)("PVELangCookie", "zh_CN", 1);
}
mediator/* default */.Z.publish('update-windows-time', res === null || res === void 0 ? void 0 : res.data);
return _context3.abrupt("return", res);
case 11:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function getWindowVnc() {
return _ref2.apply(this, arguments);
};
}();
(0,_react_17_0_2_react.useEffect)(function () {
var rfb;
var ro;
function onDisconnect(e) {
if (window_vnc_url) {
message/* default */.ZP.warning('由于长时间未操作连接失效正在重新连接Windows VNC服务');
dispatch({
type: Types.SET_LOADING,
payload: true
});
setLinkNum(linkNum + 1);
}
}
mediator/* default */.Z.subscribe('reset-linux-windows-loading', function () {
dispatch({
type: Types.SET_LOADING,
payload: true
});
});
mediator/* default */.Z.subscribe('reset-linux-windos-vnc', function () {
setLinkNum(linkNum + 1);
});
function onConnect() {
setPercent(100);
clearTimeout(timeout.current);
setTimeout(function () {
var _rfb;
(_rfb = rfb) === null || _rfb === void 0 || (_rfb = _rfb._eventHandlers) === null || _rfb === void 0 || _rfb.windowResize();
// doResize()
// rfbRef.current.resizeSession = false;
dispatch({
type: Types.SET_LOADING,
payload: false
});
}, 1300);
mediator/* default */.Z.subscribe('send-ctrl-alt-delete', function () {
var _rfb2;
(_rfb2 = rfb) === null || _rfb2 === void 0 || _rfb2.sendCtrlAltDel();
});
}
function onClipboardReceive(e) {
var rs = unicodeUnEscape(e.detail.text);
dispatch({
type: Types.SET_TRANSFER_CONTENT,
payload: rs
});
}
if ((window_vnc_url || vnc_url || linux_vnc || virtual_machine && imageId) && el.current) {
var _taskData$shixun3;
clearTimeout(timeout.current);
if ((taskData === null || taskData === void 0 || (_taskData$shixun3 = taskData.shixun) === null || _taskData$shixun3 === void 0 ? void 0 : _taskData$shixun3.windows_connection_mode) === "rdp") {
doResize();
}
new Promise( /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4() {
var params, socketUrl, password, urlParser, protocol, searchParams, host, search, searchUrl;
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
params = getJsonFromUrl();
socketUrl = '';
// let res = await getWindowVnc()
// if (linux_vnc || virtual_machine) {
// iframeRef.current.src = res?.data?.vnc_url + '&time=' + Date.now();
// dispatch({
// type: Types.SET_STATE,
// payload: {
// loading: false,
// mes: '实验环境重置中'
// }
// })
// return;
// } else if (window_vnc_url) {
// password = 'Edu123';
// socketUrl = decodeURIComponent(res?.data?.vnc_url)
// } else {
urlParser = new URL(decodeURIComponent(taskData === null || taskData === void 0 ? void 0 : taskData.vnc_url)); //no IE11 support
protocol = urlParser.protocol, searchParams = urlParser.searchParams, host = urlParser.host, search = urlParser.search;
searchUrl = (0,util/* parseUrl */.en)(search);
password = searchParams.get('password');
socketUrl = "".concat(protocol === 'https:' ? 'wss' : 'ws', "://").concat(host, "/").concat(searchUrl.path || 'websockify');
// }
// if (taskData?.shixun?.windows_connection_mode === "rdp") {
// onLayout()
// iframeRef.current.style.cssText = iframeRef.current.style.cssText + "width:1920px;height:1080px;position:initial"
// iframeRef.current.src = `/rdp.html?tpiId=${taskData?.myshixun?.id}`
// // guacaRef.current = new Guacamole.Client(new Guacamole.WebSocketTunnel(`wss://pre-webssh.educoder.net/tunnel?tpiID=${taskData?.myshixun?.id}&width=500&height=400&`));
// // // guacaRef.current = new Guacamole.Client(new Guacamole.WebSocketTunnel(`wss://pre-webssh.educoder.net/tunnel?tpiID=4232620&width=1920&height=1080&`));
// // guacaRef.current.onerror = function (error:any) {
// // console.log("onerror",error);
// // };
// // el.current.appendChild(guacaRef.current.getDisplay().getElement());
// // guacaRef.current.connect();
// dispatch({
// type: Types.SET_LOADING,
// payload: false
// })
// return;
// }
rfb = new lib_rfb/* default */.Z(el.current, socketUrl, {
credentials: {
password: password
},
wsProtocols: ['binary'],
resize: "scale",
show_dot: true
});
ro = onLayout(rfb);
rfb.viewOnly = params.view_only || false;
if (window_vnc_url) {
rfb.scaleViewport = true;
} else {
rfb.scaleViewport = params.scale || false;
}
rfb.scaleViewport = true;
rfb.showDotCursor = true;
rfb.resizeSession = true;
rfbRef.current = rfb;
rfb.addEventListener('disconnect', onDisconnect);
rfb.addEventListener('connect', onConnect);
rfb.addEventListener('clipboard', onClipboardReceive);
case 18:
case "end":
return _context4.stop();
}
}, _callee4);
})));
var unsub = mediator/* default */.Z.subscribe('vnc-reseting', function () {
setPercent(0);
dispatch({
type: Types.SET_STATE,
payload: {
loading: true,
mes: '实验环境重置中'
}
});
});
var unSub2 = mediator/* default */.Z.subscribe('vnc-enlarge', function (data) {
// if (data) {
// state.isLarge = !state.isLarge;
// }else{
// state.isLarge = true;
// }
// dispatch({
// type: Types.SET_IS_LARGE,
// payload:state.isLarge
// })
});
var unSub3 = mediator/* default */.Z.subscribe('show-clipboard-box', function () {
dispatch({
type: Types.SHOW_CLIPBOARD_BOX,
payload: true
});
});
setPercent(0);
return function () {
var _rfb3, _rfb4, _rfb5, _ro;
(_rfb3 = rfb) === null || _rfb3 === void 0 || _rfb3.removeEventListener('disconnect', onDisconnect);
(_rfb4 = rfb) === null || _rfb4 === void 0 || _rfb4.removeEventListener('connect', onConnect);
(_rfb5 = rfb) === null || _rfb5 === void 0 || _rfb5.removeEventListener('clipboard', onClipboardReceive);
unsub();
unSub2();
unSub3();
(_ro = ro) === null || _ro === void 0 || _ro.unobserve(el.current);
};
}
}, [vnc_url, window_vnc_url, linux_vnc, linkNum, imageId]);
(0,_react_17_0_2_react.useEffect)(function () {
var _taskData$shixun_virt, _taskData$shixun_virt3;
if (virtual_machine && (taskData === null || taskData === void 0 || (_taskData$shixun_virt = taskData.shixun_virtual_templates) === null || _taskData$shixun_virt === void 0 ? void 0 : _taskData$shixun_virt.length) === 1) {
var _taskData$shixun_virt2;
setImageId(taskData === null || taskData === void 0 || (_taskData$shixun_virt2 = taskData.shixun_virtual_templates) === null || _taskData$shixun_virt2 === void 0 || (_taskData$shixun_virt2 = _taskData$shixun_virt2[0]) === null || _taskData$shixun_virt2 === void 0 ? void 0 : _taskData$shixun_virt2.template_id);
} else if (virtual_machine && (taskData === null || taskData === void 0 || (_taskData$shixun_virt3 = taskData.shixun_virtual_templates) === null || _taskData$shixun_virt3 === void 0 ? void 0 : _taskData$shixun_virt3.length) > 1) {
setShowImage(true);
}
}, [virtual_machine]);
function clipboardSend(content) {
var _rfbRef$current2;
(_rfbRef$current2 = rfbRef.current) === null || _rfbRef$current2 === void 0 || _rfbRef$current2.clipboardPasteFrom(content);
dispatch({
type: Types.SET_TRANSFER_CONTENT,
payload: content
});
message/* default */.ZP.success('保存成功!你可以在实验环境中粘贴该内容');
onCancelClipboardBox();
}
function doResize() {
// function doResize(event, ui) {
var scale, origin;
scale = Math.min(document.getElementById("task-right-panel").clientWidth / 1920, document.getElementById("task-right-panel").clientHeight / 1260);
iframeRef.current.parentElement.className = "wh1080p";
iframeRef.current.parentElement.style.cssText = "transform:scale(".concat(scale, ");transform-origin:center center");
el.current.style.cssText = "translate(-50%, -50%) " + "scale(" + scale + ")";
}
(0,_react_17_0_2_react.useEffect)(function () {
if (percent == 0) {
clearTimeout(timeout.current);
increase();
}
}, [percent]);
var increase = function increase() {
if (percent > 99) {
percent = 99;
} else {
percent = percent + 1;
timeout.current = setTimeout(function () {
increase();
}, 1500);
}
if (percent < 100) setPercent(percent);
};
var showIframe = (0,_react_17_0_2_react.useMemo)(function () {
var _taskData$shixun4;
if (loading) {
return 'none';
}
if (linux_vnc || virtual_machine || window_vnc_url && (taskData === null || taskData === void 0 || (_taskData$shixun4 = taskData.shixun) === null || _taskData$shixun4 === void 0 ? void 0 : _taskData$shixun4.windows_connection_mode) === "rdp") {
return 'block';
} else {
return 'none';
}
}, [linux_vnc, loading, virtual_machine, window_vnc_url]);
return /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [showImage && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: vnc_panelmodules.selectImage,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
className: vnc_panelmodules.container,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("h1", {
children: "\u9009\u62E9\u89D2\u8272"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
children: taskData === null || taskData === void 0 || (_taskData$shixun_virt4 = taskData.shixun_virtual_templates) === null || _taskData$shixun_virt4 === void 0 ? void 0 : _taskData$shixun_virt4.map(function (item, key) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
align: "middle",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
flex: "1",
children: item.template_name
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "primary",
onClick: function onClick() {
setImageId(item.template_id);
setShowImage(false);
},
children: "\u5F00\u59CB\u5B9E\u9A8C"
})
})]
}, key);
})
})]
})
}), isLarge && /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
className: "btn-vnc-resize",
onClick: onResizeSet,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-tuichuquanping"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
width: "100%",
height: "calc(100% - 50px)",
overflow: "hidden",
position: "absolute",
display: showIframe === "block" ? "flex" : "none",
alignItems: "center",
justifyContent: "center",
zIndex: 6
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)("iframe", {
style: {
position: isLarge ? "fixed" : "absolute",
left: 0,
top: isLarge ? 54 : 40,
width: "100%",
height: "calc(100% - ".concat(isLarge ? "100px" : "45px", ")")
},
frameBorder: "0",
ref: iframeRef,
allowFullScreen: true
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
position: isLarge ? "fixed" : "absolute",
left: 0,
top: 0,
zIndex: 5,
width: "100%",
height: "calc(100% - ".concat(isLarge ? "100px" : "0", ")")
},
className: "".concat(window_vnc_url ? "vnc-panel-wrapper-windows" : "vnc-panel-wrapper", " ").concat(isLarge ? 'full-screen' : ''),
children: [loading ? /*#__PURE__*/(0,jsx_runtime.jsx)(Spinner/* default */.Z, {
message: mes,
style: {
color: '#0152d9'
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "tc",
style: {
width: 500,
margin: "0 auto",
color: "#FFF"
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(progress/* default */.Z, {
percent: percent,
format: function format(p) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "c-white",
children: [p, "%"]
});
}
})
})
}) : null, /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
ref: el,
className: "vnc-panel ".concat(loading ? "hidden zIndexf1" : "animated fadeIn")
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_modal/* default */.Z, {
title: "\u590D\u5236\u7C98\u8D34",
centered: true,
maskClosable: false,
open: showClipBoardBox,
onCancel: onCancelClipboardBox,
footer: null,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(clipboard_box, {
onCancel: onCancelClipboardBox,
onSave: clipboardSend,
content: transferContent
})
})
})]
});
});
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/vnc-view/index.jsx
// import FooterBar from '../footer-bar';
/* harmony default export */ var vnc_view = (function (_ref) {
var taskData = _ref.taskData,
evaluateLoading = _ref.evaluateLoading,
evaluateMessage = _ref.evaluateMessage,
language = _ref.language,
onEval = _ref.onEval;
var vnc_url = taskData.vnc_url,
shixun = taskData.shixun,
test_sets = taskData.test_sets,
test_sets_count = taskData.test_sets_count,
sets_error_count = taskData.sets_error_count,
last_compile_output = taskData.last_compile_output,
game = taskData.game,
allowed_unlock = taskData.allowed_unlock,
user = taskData.user;
var _useState = (0,_react_17_0_2_react.useState)(false),
_useState2 = slicedToArray_default()(_useState, 2),
isLarge = _useState2[0],
setIsLarge = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
isPop = _useState4[0],
setIsPop = _useState4[1];
function onPop() {
setIsPop(!isPop);
}
console.log('vnc_url:', vnc_url);
return /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(vnc_panel, {
vnc_url: vnc_url,
window_vnc_url: taskData.windows_vnc,
virtual_machine: taskData === null || taskData === void 0 ? void 0 : taskData.virtual_machine,
linux_vnc: taskData.linux_vnc,
taskData: taskData
}), isPop ? /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "vnc-mask"
}) : null, /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "vnc-test-list ".concat(isLarge ? 'large' : isPop ? 'pop' : ''),
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "vnc-test-list-body",
children: !isLarge ? /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "arrow-container",
onClick: onPop,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont ".concat(isPop ? 'icon-xiajiantou' : 'icon-shangjiantou', " ")
})
}) : null
})
})]
});
});
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/Jupyter/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Jupytermodules = ({"bg":"bg___xjZP4","header":"header___S_AU0","dragingMask":"dragingMask___MuMgB","content":"content___sS5Wc","leftContainer":"leftContainer___pbkhe","tabNav":"tabNav___QTkA2","mdContent":"mdContent___p39IM","resizeBar":"resizeBar___UvVzB","has-unity-3d":"has-unity-3d___EQEWx","btn-resize":"btn-resize___XVPBl","rightCotainer":"rightCotainer___Z2h3Y","user":"user___du0m1","titleWrap":"titleWrap___dDrU9","title":"title___Id58q","endTimeWrap":"endTimeWrap___O3i6z","colorGray":"colorGray___SHbxz","main":"main___t6BMk","loadFail":"loadFail___ubRWw","reload":"reload___m8wjw","failIcon":"failIcon___q_CjJ","failWrap":"failWrap___EEJNl","failReload":"failReload___SiyZT","dataSetButton":"dataSetButton___H1Oqu","dataSetText":"dataSetText___p9NRw","dataSetOpen":"dataSetOpen___bT5j8","mymove":"mymove___qtayT","footer":"footer___rdX6y","start":"start___s0r2G","liWarp":"liWarp___N3c6S","li":"li___mKv9C"});
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/Jupyter/reducer.ts
var reducer_reducer = function reducer(state, action) {
switch (action.type) {
case 'MOVE_X':
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
moveX: action.payload
});
case 'SET_DRAGMODULE':
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
showDragModule: action.payload
});
case 'TRIGGER_RIGHT_PANEL_MASK':
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
showDragMask: action.payload
});
}
};
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/Jupyter/index.tsx
var Jupyter_excluded = ["globalSetting", "loading", "taskData", "dispatch"];
var Jupyter_Countdown = statistic/* default */.Z.Countdown;
var Status = /*#__PURE__*/function (Status) {
Status[Status["LoadFail"] = 1] = "LoadFail";
Status[Status["ReLoad"] = 2] = "ReLoad";
Status[Status["Success"] = 3] = "Success";
return Status;
}(Status || {});
/**
*
*/
var Jupyter_initialState = {
moveX: '40%',
showDragModule: false,
showDragMask: false
};
var TaskJupyterPage = function TaskJupyterPage(_ref) {
var globalSetting = _ref.globalSetting,
loading = _ref.loading,
taskData = _ref.taskData,
dispatch = _ref.dispatch,
props = objectWithoutProperties_default()(_ref, Jupyter_excluded);
var params = (0,_umi_production_exports.useParams)();
var token = (0,_react_17_0_2_react.useRef)();
var _useState = (0,_react_17_0_2_react.useState)(true),
_useState2 = slicedToArray_default()(_useState, 2),
spinning = _useState2[0],
setSpinning = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
btnLoading = _useState4[0],
setBtnLoading = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)(0),
_useState6 = slicedToArray_default()(_useState5, 2),
btnTime = _useState6[0],
setBtnTime = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)(0),
_useState8 = slicedToArray_default()(_useState7, 2),
active = _useState8[0],
setActive = _useState8[1];
var _useState9 = (0,_react_17_0_2_react.useState)(true),
_useState10 = slicedToArray_default()(_useState9, 2),
urlSign = _useState10[0],
setUrlSign = _useState10[1];
var _useState11 = (0,_react_17_0_2_react.useState)(false),
_useState12 = slicedToArray_default()(_useState11, 2),
caseVisible = _useState12[0],
setCaseVisible = _useState12[1];
var jupyterMessageFlag = (0,_react_17_0_2_react.useRef)(true);
var _useState13 = (0,_react_17_0_2_react.useState)({}),
_useState14 = slicedToArray_default()(_useState13, 2),
jupyterData = _useState14[0],
setJupyterData = _useState14[1];
var _useState15 = (0,_react_17_0_2_react.useState)({}),
_useState16 = slicedToArray_default()(_useState15, 2),
gamesData = _useState16[0],
setGamesData = _useState16[1];
var _useState17 = (0,_react_17_0_2_react.useState)(),
_useState18 = slicedToArray_default()(_useState17, 2),
url = _useState18[0],
setUrl = _useState18[1];
var port = (0,_react_17_0_2_react.useRef)();
var _useState19 = (0,_react_17_0_2_react.useState)(Status.Success),
_useState20 = slicedToArray_default()(_useState19, 2),
status = _useState20[0],
setStatus = _useState20[1];
var _useState21 = (0,_react_17_0_2_react.useState)(),
_useState22 = slicedToArray_default()(_useState21, 2),
time = _useState22[0],
setTime = _useState22[1];
var _useState23 = (0,_react_17_0_2_react.useState)(),
_useState24 = slicedToArray_default()(_useState23, 2),
endTime = _useState24[0],
setEndTime = _useState24[1];
var _useState25 = (0,_react_17_0_2_react.useState)(false),
_useState26 = slicedToArray_default()(_useState25, 2),
isOpenDrawer = _useState26[0],
setIsOpenDrawer = _useState26[1];
var _useState27 = (0,_react_17_0_2_react.useState)(''),
_useState28 = slicedToArray_default()(_useState27, 2),
codeMessage = _useState28[0],
setCodeMessage = _useState28[1];
var timer = (0,_react_17_0_2_react.useRef)(null);
var saveJupyterData = (0,_react_17_0_2_react.useRef)({});
var clickEvaluating = (0,_react_17_0_2_react.useRef)(false);
var _useReducer = (0,_react_17_0_2_react.useReducer)(reducer_reducer, Jupyter_initialState),
_useReducer2 = slicedToArray_default()(_useReducer, 2),
state = _useReducer2[0],
redcuerDispatch = _useReducer2[1];
// const noDragging = useMemo(() => {
// return (
// (unity_3d_routes && !with_code_file) || challenge?.thiry_party || vnc_url
// );
// }, [vnc_url, with_code_file, unity_3d_routes]);
(0,_react_17_0_2_react.useEffect)(function () {
window.addEventListener('message', handleJupyterMessage);
return function () {
window.removeEventListener('message', handleJupyterMessage);
};
}, []);
var handleJupyterMessage = function handleJupyterMessage(e) {
if ((e === null || e === void 0 ? void 0 : e.data) === 'jupytermessage' && jupyterMessageFlag.current) {
jupyterMessageFlag.current = false;
handleSaveWithTPI();
if (!clickEvaluating.current) {
setTimeout(function () {
return jupyterMessageFlag.current = true;
}, 500);
}
// setTimeout(() => jupyterMessageFlag.current = true, 500)
}
};
var handleSaveWithTPI = /*#__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:
case "end":
return _context.stop();
}
}, _callee);
}));
return function handleSaveWithTPI() {
return _ref2.apply(this, arguments);
};
}();
var handleGetJupyterData = /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
var res;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return (0,task/* getJupyterData */.dU)({
identifier: params.identifier
});
case 2:
res = _context2.sent;
if (res) {
setJupyterData(res);
saveJupyterData.current = objectSpread2_default()({}, res);
setGamesData(objectSpread2_default()(objectSpread2_default()({}, gamesData), {}, {
test_sets: (res === null || res === void 0 ? void 0 : res.test_sets) || []
}));
redcuerDispatch({
type: 'SET_DRAGMODULE',
payload: res.jupyter_show_description
});
}
case 4:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function handleGetJupyterData() {
return _ref3.apply(this, arguments);
};
}();
var handleGetJupyterTPIUrl = /*#__PURE__*/function () {
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
var res, _parseUrl, _res$url, _res$url2;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return (0,task/* getInfoWithTPI */.rV)({
identifier: params.identifier
});
case 2:
res = _context3.sent;
setSpinning(false);
if (!(res !== null && res !== void 0 && res.url)) {
_context3.next = 14;
break;
}
setUrl(res.url);
token.current = (_parseUrl = (0,util/* parseUrl */.en)(res === null || res === void 0 || (_res$url = res.url) === null || _res$url === void 0 || (_res$url = _res$url[0]) === null || _res$url === void 0 ? void 0 : _res$url["url"])) === null || _parseUrl === void 0 ? void 0 : _parseUrl.token;
port.current = res.port;
if (!(((_res$url2 = res.url) === null || _res$url2 === void 0 ? void 0 : _res$url2.length) > 1)) {
_context3.next = 10;
break;
}
return _context3.abrupt("return");
case 10:
setUrlSign(false);
handleGetTPITimeInfo();
setStatus(Status.Success);
return _context3.abrupt("return");
case 14:
if (res.status === -1) {
setStatus(Status.LoadFail);
setUrlSign(false);
} else {
setStatus(Status.ReLoad);
}
case 15:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function handleGetJupyterTPIUrl() {
return _ref4.apply(this, arguments);
};
}();
var handleUrlClick = function handleUrlClick(num) {
setUrlSign(false);
setActive(num);
handleGetTPITimeInfo();
setStatus(Status.Success);
};
var handleGetTPITimeInfo = /*#__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 (0,task/* getTimeInfoWithTPI */.x4)({
identifier: params.identifier
});
case 2:
res = _context4.sent;
if (!((res === null || res === void 0 ? void 0 : res.status) !== 0)) {
_context4.next = 5;
break;
}
return _context4.abrupt("return");
case 5:
if (res !== null && res !== void 0 && res.useSeconds) {
_context4.next = 8;
break;
}
handleResetEnvModal();
return _context4.abrupt("return");
case 8:
if (res !== null && res !== void 0 && res.remainingSeconds) {
setTime(Date.now() + res.remainingSeconds * 1000);
setEndTime(res.remainingSeconds - 300 <= 0 ? Date.now() + 1000 : Date.now() + (res.remainingSeconds - 300) * 1000);
}
case 9:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return function handleGetTPITimeInfo() {
return _ref5.apply(this, arguments);
};
}();
var handleResetEnvModal = function handleResetEnvModal() {
postMessageToIframe(true);
setSpinning(true);
es_modal/* default */.Z.confirm({
centered: true,
title: '重置环境',
content: ' 是否确定重置环境?',
okText: '确定',
cancelText: '取消',
onOk: function onOk() {
handleResetEnv();
},
onCancel: function onCancel() {
postMessageToIframe(false);
setSpinning(false);
}
});
};
var handleResetEnv = /*#__PURE__*/function () {
var _ref6 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5() {
var res;
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
_context5.next = 2;
return (0,task/* resetWithTPI */.m_)({
identifier: params.identifier
});
case 2:
res = _context5.sent;
if (!((res === null || res === void 0 ? void 0 : res.status) !== 0)) {
_context5.next = 5;
break;
}
return _context5.abrupt("return");
case 5:
message/* default */.ZP.success('重置成功!');
setSpinning(false);
setTimeout(function () {
return window.location.reload();
}, 300);
case 8:
case "end":
return _context5.stop();
}
}, _callee5);
}));
return function handleResetEnv() {
return _ref6.apply(this, arguments);
};
}();
var handleEndTimeFinish = function handleEndTimeFinish() {
es_modal/* default */.Z.destroyAll();
es_modal/* default */.Z.confirm({
centered: true,
title: '服务中断提醒',
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "tc font14",
children: ["jupyter\u5C06\u4E8E", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(Jupyter_Countdown, {
value: time,
format: "HH:mm:ss",
onFinish: handleTimeFinish
})
}), "\u65F6\u95F4\u540E\u670D\u52A1\u4E2D\u65AD\uFF0C\u662F\u5426\u9700\u8981\u5EF6\u957F\u4F7F\u7528\u65F6\u95F4\uFF1F"]
}),
okText: '立即延长',
cancelText: '不需要',
onOk: function () {
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee6() {
var res;
return regeneratorRuntime_default()().wrap(function _callee6$(_context6) {
while (1) switch (_context6.prev = _context6.next) {
case 0:
_context6.next = 2;
return (0,task/* activeWithTPI */.rB)({
identifier: params.identifier
});
case 2:
res = _context6.sent;
if (!(res.status === 0)) {
_context6.next = 7;
break;
}
_context6.next = 6;
return handleGetTPITimeInfo();
case 6:
message/* default */.ZP.success('延长成功!');
case 7:
case "end":
return _context6.stop();
}
}, _callee6);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
};
var handleTimeFinish = function handleTimeFinish() {
es_modal/* default */.Z.destroyAll();
es_modal/* default */.Z.confirm({
centered: true,
title: '倒计时截止',
content: /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "tc font14",
children: "\u670D\u52A1\u5DF2\u4E2D\u65AD\uFF0C\u662F\u5426\u786E\u8BA4\u91CD\u7F6E\u5B9E\u9A8C\u73AF\u5883\uFF1F"
}),
okText: '确定',
cancelText: '取消',
onOk: function onOk() {
handleResetEnv();
}
});
};
var postMessageToIframe = function postMessageToIframe(stopParent) {
var iframe = document.getElementById('taskJupyterIframe');
if (!iframe) {
return;
}
if (stopParent) {
iframe.contentWindow.postMessage('stopParent', '*');
} else {
iframe.contentWindow.postMessage('clonsParent', '*');
}
};
var handleResetTPI = function handleResetTPI() {
setSpinning(true);
postMessageToIframe(true);
tipReset({
title: '重置实训',
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "tc font14",
children: ["\u4F60\u5728\u672C\u6587\u4EF6\u4E2D\u4FEE\u6539\u7684\u5185\u5BB9\u5C06\u4E22\u5931,", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "\u662F\u5426\u786E\u5B9A\u91CD\u65B0\u52A0\u8F7D\u521D\u59CB\u4EE3\u7801\uFF1F"]
})
});
};
var evaluating = function evaluating() {
var iframe = document.getElementById('taskJupyterIframe');
if (!iframe) {
return;
}
//底下触发保存事件 Ctrl+S
iframe.contentWindow.postMessage('saveCode', '*');
clickEvaluating.current = true;
setBtnLoading(true);
setCaseVisible(true);
// handleSaveWithTPI()
};
var tipReset = function tipReset(obj) {
es_modal/* default */.Z.confirm({
centered: true,
title: obj.title,
content: obj.content,
okText: '确定',
cancelText: '取消',
onOk: function () {
var _onOk2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee7() {
var res;
return regeneratorRuntime_default()().wrap(function _callee7$(_context7) {
while (1) switch (_context7.prev = _context7.next) {
case 0:
_context7.next = 2;
return (0,task/* syncCode */.fi)({
identifier: params.identifier
});
case 2:
res = _context7.sent;
if (!(res.status !== 0)) {
_context7.next = 5;
break;
}
return _context7.abrupt("return");
case 5:
message/* default */.ZP.success('操作成功');
setSpinning(false);
setTimeout(function () {
return window.location.reload();
}, 300);
case 8:
case "end":
return _context7.stop();
}
}, _callee7);
}));
function onOk() {
return _onOk2.apply(this, arguments);
}
return onOk;
}(),
onCancel: function onCancel() {
postMessageToIframe(false);
setSpinning(false);
}
});
};
(0,_react_17_0_2_react.useEffect)(function () {
function onMove(e) {
redcuerDispatch({
type: 'MOVE_X',
payload: e.pageX
});
}
function onMouseUp() {
redcuerDispatch({
type: 'TRIGGER_RIGHT_PANEL_MASK',
payload: false
});
document.onselectstart = null;
}
if (state.showDragMask) {
document.addEventListener('mousemove', onMove);
document.addEventListener('mouseup', onMouseUp);
}
return function () {
document.removeEventListener('mousemove', onMove);
document.removeEventListener('mouseup', onMouseUp);
};
}, [state.showDragMask]);
var leftPanelWidth = typeof state.moveX === 'number' && state.moveX !== 0.01 ? "".concat(state.moveX, "px") : '40%';
var rightPanelWidth = "calc(100% - 4px - ".concat(leftPanelWidth, ")");
/**
*
*/
var onResizeStart = function onResizeStart(status) {
redcuerDispatch({
type: 'TRIGGER_RIGHT_PANEL_MASK',
payload: status
});
};
return /*#__PURE__*/(0,jsx_runtime.jsx)("section", {
className: Jupytermodules.bg,
style: {
userSelect: state.showDragMask ? 'none' : 'unset'
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("section", {
className: Jupytermodules.content,
style: {
height: jupyterData !== null && jupyterData !== void 0 && jupyterData.open_evaluate ? 'calc(100vh - 130px)' : 'calc(100vh - 60px)'
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("section", {
className: Jupytermodules.rightCotainer,
style: {
width: rightPanelWidth
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("main", {
className: Jupytermodules.main,
style: {
height: '100%'
},
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "".concat(Jupytermodules.dataSetButton, " ").concat(isOpenDrawer ? Jupytermodules.dataSetOpen : ''),
onClick: function onClick() {
return setIsOpenDrawer(!isOpenDrawer);
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: Jupytermodules.dataSetText,
children: "\u6570\u636E\u96C6"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("iframe", {
frameBorder: 0,
id: "taskJupyterIframe",
width: "100%",
height: "100%",
allow: "geolocation; microphone; camera; midi; encrypted-media;",
src: taskData === null || taskData === void 0 ? void 0 : taskData.url
})]
})
})
})
})
});
};
/* harmony default export */ var Jupyter = ((0,_umi_production_exports.connect)(function (_ref7) {
var loading = _ref7.loading,
globalSetting = _ref7.globalSetting;
return {
globalSetting: globalSetting,
loading: loading
};
})(TaskJupyterPage));
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/resize-enlarge.png
var resize_enlarge_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAACgCAYAAAB+HS7YAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjczMUZFNjhCMDE3NzExRUJCOEU5RDg5RTZBOTI5QTU3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjczMUZFNjhDMDE3NzExRUJCOEU5RDg5RTZBOTI5QTU3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzMxRkU2ODkwMTc3MTFFQkI4RTlEODlFNkE5MjlBNTciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzMxRkU2OEEwMTc3MTFFQkI4RTlEODlFNkE5MjlBNTciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7zBaLcAAACAElEQVR42uzdzyvDcRzH8ffsZiVc/IjbkOTuShN/gXIgYi5y2AlpFBL/AAdLiXBgBwfUxplmyU2tRK4sTey0+H6+RbKD7Gtfb/V817t963t59Nnn9f58+7aap6LO/yq6KmN13OoJq1MehcD3erS6rUT0VrnVC5qBpgLagWXagQIQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAABUCD6Lbkr5L2W2uv9bS3LR4vd6iAb/9BaaBfa7K+oa8+0exEwmOheT5+UXnV9zd2SEHeztSU12ldw+2tjRLbH/X/lQbktqaansluwLtelPs85XKZmRFggN9eseMSbVJ9+Js2HHCizoHRwb7ZWN12V5VtYPaacJdOUmcJNy1o67QhLt6FheScNcfFkyqmxr9eoGHsWMZD8/qBCYvLmV4NCS5XE4f8PrmVnoHRySbzeoLyf1DWnr6huxPdWPGrJhZObOC6ga12Wtmz5m9p/Kom5yZt1Or8mFhbWNLIuubOh+3fjrrXAUWMutcAxY661wBOpl1RQc6nXVFBf7GrHMEPEskP65PE+d5901anc46R68+/rp4/QYQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAP8dMKMdGNcMNH9eMaUR+GR11Oo2q6/eBBgA/5+hicfO9/sAAAAASUVORK5CYII=";
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/resize-small.png
var resize_small_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAACgCAYAAAB+HS7YAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc0MDQ0OTA3MDE3NzExRUJCNjY1QzBDMDY3NUI5QTQ3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc0MDQ0OTA4MDE3NzExRUJCNjY1QzBDMDY3NUI5QTQ3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzQwNDQ5MDUwMTc3MTFFQkI2NjVDMEMwNjc1QjlBNDciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzQwNDQ5MDYwMTc3MTFFQkI2NjVDMEMwNjc1QjlBNDciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4CEd39AAACAklEQVR42uzYvyuFURjA8Yf7TpSw+BHbvSTZrXTFX6AMRLiLySSE8ismg8FAIsKAwcCA/eqSbEqJrEgMd7pxzi3iUgbn8KTvU0/37b7Lp/Oe5+k5JygoC4uJiMkpk1GTeaIoApOVJuMm80VhZJuc1Ip7BUZFcWRr23NfAQUgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQL8FWAoFJLpseFP/+9ur8v9zUU67fN3kVVQFn52jcvNzZH52RlpaqiXwvLIh3cW9j4y32dG4BpXUlwkG0vzUlNdpe8TW9T+zqYznFNgY7ROdrc2pLSkWF+RdLe3yurCXHrvuY7gp5U6MTIgsY42b20mcFGpPiPQUKlO96CPSnUG9FWpToA+K9UJsLIinK5atcNC39Co7O0f6gWmUinp6umVk9MzveNWMpmUlo6YXF5d650Hb+/upbm1M/2rdmC1K2hX0q6o2ona7kW7J+3eVDvy26ruHxnXfSZZWF6VxZU13Ycmnz3SCdBnj3Q28vvqkU4PTT56pPODu+se6eVmwWWP9Hb1YavaVndmxBPHb89HiZO/ufpQWyQAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECPD/AB+1Aw+0AwdNPmgGnpusNblt8kkb8EWAAQAq85VNhqprywAAAABJRU5ErkJggg==";
// EXTERNAL MODULE: ./src/pages/Innovation/Detail/components/DataSetPane/index.tsx
var DataSetPane = __webpack_require__(68121);
// EXTERNAL MODULE: ./src/pages/Innovation/Tasks/Collaborate/index.tsx + 4 modules
var Collaborate = __webpack_require__(74187);
// EXTERNAL MODULE: ./src/service/innovation.ts
var innovation = __webpack_require__(47295);
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/constant.js
var FETCH_TASK_START = 'FETCH_TASK_START';
var FETCH_TASK_FAILURE = 'FETCH_TASK_FAILURE';
var FETCH_TASK_SUCCESS = 'FETCH_TASK_SUCCESS';
var UPDATE_TASK_DATA = 'UPDATE_TASK_DATA';
var HIDE_EVALUATE_RESULT = 'HIDE_EVALUATE_RESULT';
var SHOW_EVALUATE_RESULT = 'SHOW_EVALUATE_RESULT';
var UPDATE_TIMESTRAP = 'UPDATE_TIMESTRAP';
var MOVE_X = 'MOVE_X';
var MOVE_Y = 'MOVE_Y';
var TRIGGER_RIGHT_PANEL_MASK = 'TRIGGER_RIGHT_PANEL_MASK ';
//left_panel_action
var SET_ACTIVE_INDEX = 'SET_ACTIVE_INDEX';
var GET_TASK_LIST = 'GET_TASK_LIST';
var SHOW_TASK_LIST = 'SHOW_TASK_LIST';
var HIDE_TASK_LIST = 'HIDE_TASK_LIST';
var SET_TASK_STAR = 'SET_TASK_STAR';
var TRIGGER_ENLARGE_UNITY3D = 'TRIGGER_ENLARGE_UNITY3D ';
var TRIGGER_TAB_FIXED = 'TRIGGER_TAB_FIXED ';
//discuss action
var GET_DISCUSSES = 'GET_DISCUSSES';
var SHOW_DISCUSSES_LOADING = 'SHOW_DISCUSSES_LOADING';
var TOP_OR_DOWN_DISCUSS = 'TOP_OR_DOWN_DISCUSS';
var PLUS_DISCUSS = 'PLUS_DISCUSS';
var SET_ACTION_TYPE = 'SET_ACTION_TYPE';
var SHOW_REWARD_DIALOG = 'SHOW_REWARD_DIALOG';
var CANCEL_REWARD_DIALOG = 'CANCEL_REWARD_DIALOG';
var SET_REWARD = 'SET_REWARD';
var ACTIVE_DISCUSS_INDEX = 'ACTIVE_DISCUSS_INDEX';
var CREATE_DISCUSS = 'CREATE_DISCUSS';
var DISABLE_DISCUSS = 'DISABLE_DISCUSS';
//answer_panel_action
var SHOW_ANSWER_LOADING = 'SHOW_ANSWER_LOADING';
var FETCH_ANSWER_INFO = 'FETCH_ANSWER_INFO';
var HIDE_TIP_MODAL = 'HIGH_TIP_MODAL';
var SHOW_TIP_MODAL = 'SHOW_TIP_MODAL';
var SELECT_UNLOCK_ANSWER = 'SELECT_UNLOCK_ANSWER';
//choose_repository_action
var SET_CHOOSE_ANSWERS = 'SET_CHOOSE_ANSWERS';
var EVAL_CHOOSE_START = 'EVAL_CHOOSE_START';
var EVAL_CHOOSE_END = 'EVAL_CHOOSE_END';
//code_repository_action
var SHOW_REP_LOADING = 'SHOW_REP_loading';
var FETCH_REP_CONTENT = 'FETCH_REP_CONTENT';
var EDIT_REP_CODE = 'EDIT_REP_CONTENT';
var SET_REP_PATH = 'SET_REP_PATH';
var SHOW_EVALUATE_LOADING = 'SHOW_EVALUATE_LOADING';
var HIDE_EVALUATE_LOADING = 'HIDE_EVALUATE_LOADING';
var SET_EVALUATE_MESSAGE = 'SET_EVALUATE_MESSAGE';
var SET_SHOW_DIR = 'SET_SHOW_DIR';
var SET_EDITOR_SETTING = 'SET_EDITOR_SETTING';
var SET_EDITOR_THEME = 'SET_EDITOR_THEME';
var SET_EDITOR_FONTSIZE = 'SET_EDITOR_FONTSIZE';
var SET_REPOS = 'SET_REPOS';
var SHOW_PATH_LIST = 'SHOW_PATH_LIST';
var HIDE_PATH_LIST = 'HIDE_PATH_LIST';
var HIDE_PICTURE_VIEW = 'HIDE_PICTURE_VIEW';
var SHOW_PICTURE_VIEW = 'SHOW_PICTURE_VIEW';
var SHOW_NOTICE = 'SHOW_NOTICE';
var HIDE_NOTICE = 'HIDE_NOTICE';
var SET_TAB_INDEX = 'SET_TAB_INDEX';
var SET_SSH_TABS = 'SET_SSH_TABS';
var SET_SSH_CONFIGDATA = 'SET_SSH_CONFIGDATA';
var SET_SSH_CONFIGDATAARR = 'SET_SSH_CONFIGDATAARR';
var SET_VNC_LOADING = 'SET_VNC_LOADING ';
var ON_TAB_TO_SPACE = 'ON_TAB_TO_SPACE ';
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/index.jsx
var Tasks_excluded = ["match", "history"],
_excluded2 = ["gold", "experience", "next_game", "next_shixun", "subject_done"];
// import EvaluateResult from './evaluate-result';
var DirectoryTree = tree/* default */.Z.DirectoryTree;
var BADSUFS = (/* unused pure expression or super */ null && (['jpg', 'png', 'gif', 'jpeg', 'jar', 'doc', 'pdf', 'xsl', 'ppt', 'mp3', 'mp4']));
var Tasks_initialState = {
moveX: '40%',
moveY: 0,
loading: true,
isError: false,
taskData: {
game: {}
},
evalData: null,
lastedGetTaskInfoTime: 0,
codeRepData: {
content: '',
language: 'c',
currentPath: '',
paths: [],
lastedUpdateTime: 0,
loading: false
},
showEvalResult: false,
showPictureView: false,
isPictureView: false,
showDragMask: false,
webDisplayUrl: '',
evaluateLoading: false,
resetVncLoading: false,
evaluateMessage: '',
showNotice: false,
timestamp: '',
showDocuments: false,
repos: null
};
function Tasks_reducer(state, action) {
switch (action.type) {
case MOVE_X:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
moveX: action.payload
});
case MOVE_Y:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
moveY: action.payload
});
case SHOW_REP_LOADING:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
codeRepData: action.payload
});
case FETCH_REP_CONTENT:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
codeRepData: action.payload
});
case EDIT_REP_CODE:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
codeRepData: objectSpread2_default()(objectSpread2_default()({}, state.codeRepData), action.payload)
});
case SHOW_EVALUATE_RESULT:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
evaluateLoading: false,
showEvalResult: true
});
case UPDATE_TIMESTRAP:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
timestamp: action.payload
});
case HIDE_EVALUATE_RESULT:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
showEvalResult: false
});
case FETCH_TASK_START:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
loading: true
});
case UPDATE_TASK_DATA:
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
case TRIGGER_RIGHT_PANEL_MASK:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
showDragMask: action.payload
});
case FETCH_TASK_FAILURE:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
loading: false,
isError: true
});
case FETCH_TASK_SUCCESS:
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
case SHOW_EVALUATE_LOADING:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
evaluateLoading: true
});
case HIDE_EVALUATE_LOADING:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
evaluateLoading: false
});
case SET_EVALUATE_MESSAGE:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
evaluateMessage: action.payload
});
case SET_SHOW_DIR:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
showDocuments: action.payload
});
case SET_REPOS:
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
case SHOW_NOTICE:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
showNotice: true
});
case HIDE_NOTICE:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
showNotice: false
});
case HIDE_PICTURE_VIEW:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
showPictureView: false
});
case SHOW_PICTURE_VIEW:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
showPictureView: true
});
case SET_VNC_LOADING:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
resetVncLoading: action.payload
});
default:
throw new Error();
}
}
//切换关卡或者用户关闭页面时需要保存用户计时与代码
//评测时,刷新测试集,用户金币与关卡任务信息
//react 缺少keep-alive 机制所以文件目录树也需要放在顶层在code-repository 中管理会因为react的组件卸载导致状态丢失。
/* harmony default export */ var Tasks = (function (_ref) {
var match = _ref.match,
history = _ref.history,
props = objectWithoutProperties_default()(_ref, Tasks_excluded);
console.log('props:', props);
var _params = (0,_umi_production_exports.useParams)();
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
var query = (0,_umi_production_exports.useLocation)().query;
var _useReducer = (0,_react_17_0_2_react.useReducer)(Tasks_reducer, Tasks_initialState),
_useReducer2 = slicedToArray_default()(_useReducer, 2),
state = _useReducer2[0],
dispatch = _useReducer2[1];
var _useState = (0,_react_17_0_2_react.useState)(1),
_useState2 = slicedToArray_default()(_useState, 2),
showTab = _useState2[0],
setShowTab = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(_params.taskId),
_useState4 = slicedToArray_default()(_useState3, 2),
taskId = _useState4[0],
setTaskId = _useState4[1];
var resizeXFlag = (0,_react_17_0_2_react.useRef)();
var resizeYFlag = (0,_react_17_0_2_react.useRef)();
var fullscreenOrExit = (0,_react_17_0_2_react.useRef)();
var _useState5 = (0,_react_17_0_2_react.useState)(),
_useState6 = slicedToArray_default()(_useState5, 2),
datas = _useState6[0],
setdatas = _useState6[1];
var location = (0,_umi_production_exports.useLocation)();
(0,_react_17_0_2_react.useEffect)(function () {
console.log('_params:', _params);
setTaskId(_params.taskId);
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
type: 'globalSetting/headerFooterToggle',
payload: false
});
}, [_params]);
var moveX = state.moveX,
taskData = state.taskData,
moveY = state.moveY,
evalData = state.evalData,
showEvalResult = state.showEvalResult,
codeRepData = state.codeRepData,
loading = state.loading,
evaluateLoading = state.evaluateLoading,
evaluateMessage = state.evaluateMessage,
showDocuments = state.showDocuments,
repos = state.repos,
showPictureView = state.showPictureView,
showNotice = state.showNotice,
webDisplayUrl = state.webDisplayUrl,
isPictureView = state.isPictureView,
resetVncLoading = state.resetVncLoading,
timestamp = state.timestamp,
lastedGetTaskInfoTime = state.lastedGetTaskInfoTime,
showDragMask = state.showDragMask;
var st = taskData.st,
challenge = taskData.challenge,
shixun = taskData.shixun,
is_teacher = taskData.is_teacher,
game = taskData.game,
has_answer = taskData.has_answer,
vnc_url = taskData.vnc_url,
git_url = taskData.git_url,
user = taskData.user,
myshixun = taskData.myshixun,
discusses_count = taskData.discusses_count,
user_praise = taskData.user_praise,
praise_count = taskData.praise_count,
tpm_cases_modified = taskData.tpm_cases_modified,
tpm_modified = taskData.tpm_modified,
tpm_script_modified = taskData.tpm_script_modified,
mirror_name = taskData.mirror_name,
mirror_description = taskData.mirror_description,
tomcat_url = taskData.tomcat_url,
unity_3d_routes = taskData.unity_3d_routes,
with_code_file = taskData.with_code_file,
unity_3d_result = taskData.unity_3d_result,
next_game = taskData.next_game,
prev_game = taskData.prev_game;
var currentPath = codeRepData.currentPath,
paths = codeRepData.paths,
content = codeRepData.content,
language = codeRepData.language,
lastedUpdateTime = codeRepData.lastedUpdateTime;
var isUpdateScript = (tpm_modified || tpm_script_modified) && st === 0;
var isNotice = (tpm_cases_modified || isUpdateScript) && myshixun.system_tip === true;
var isHtml = (mirror_name || []).indexOf('Html') !== -1;
var isEditPath = (0,_react_17_0_2_react.useMemo)(function () {
if (currentPath && paths) {
return paths.indexOf(currentPath) >= 0;
}
return false;
}, [currentPath, paths]);
var noDragging = (0,_react_17_0_2_react.useMemo)(function () {
return unity_3d_routes && !with_code_file || (challenge === null || challenge === void 0 ? void 0 : challenge.thiry_party) || vnc_url;
}, [vnc_url, with_code_file, unity_3d_routes]);
(0,_react_17_0_2_react.useEffect)(function () {
if (unity_3d_routes && with_code_file) {
dispatch({
type: SHOW_EVALUATE_LOADING
});
var unsub = mediator/* default */.Z.subscribe('unity3d-load-end', function () {
dispatch({
type: HIDE_EVALUATE_LOADING
});
});
return unsub;
}
}, [taskId, unity_3d_routes, challenge === null || challenge === void 0 ? void 0 : challenge.thiry_party, with_code_file, dispatch]);
(0,_react_17_0_2_react.useEffect)(function () {
getdata();
}, []);
function getdata() {
return _getdata.apply(this, arguments);
}
function _getdata() {
_getdata = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5() {
var res;
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
_context5.next = 2;
return (0,fetch/* default */.ZP)("/api/sci/projects/".concat(taskId, ".json"), {
method: 'get'
});
case 2:
res = _context5.sent;
setdatas(res);
case 4:
case "end":
return _context5.stop();
}
}, _callee5);
}));
return _getdata.apply(this, arguments);
}
function init(_x) {
return _init.apply(this, arguments);
}
function _init() {
_init = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee6(didCancel) {
var response, status, payload;
return regeneratorRuntime_default()().wrap(function _callee6$(_context6) {
while (1) switch (_context6.prev = _context6.next) {
case 0:
_context6.prev = 0;
_context6.next = 3;
return (0,innovation/* startEnvironment */.ie)(taskId);
case 3:
response = _context6.sent;
status = response.status;
if (!(status === 401)) {
_context6.next = 10;
break;
}
history.replace('/user/login', {
from: location.pathname
});
return _context6.abrupt("return");
case 10:
if (!(status === -3)) {
_context6.next = 14;
break;
}
(0,util/* bindPhone */.eF)({
onCancel: function onCancel() {
window.location.href = '/';
}
});
_context6.next = 25;
break;
case 14:
if (!(status === 403)) {
_context6.next = 18;
break;
}
history.replace('/403');
_context6.next = 25;
break;
case 18:
if (!(status === 404)) {
_context6.next = 23;
break;
}
history.replace('/404');
return _context6.abrupt("return");
case 23:
payload = {
loading: false,
isError: false,
taskData: response
};
if (!didCancel) {
dispatch({
type: FETCH_TASK_SUCCESS,
payload: payload
});
}
case 25:
if (response.mirror_type === 'webssh') {
setTimeout(function () {
mediator/* default */.Z.publish('create-socket', 1);
}, 1000);
}
_context6.next = 32;
break;
case 28:
_context6.prev = 28;
_context6.t0 = _context6["catch"](0);
console.log(_context6.t0);
if (!didCancel) {
dispatch({
type: FETCH_TASK_FAILURE
});
}
case 32:
case "end":
return _context6.stop();
}
}, _callee6, null, [[0, 28]]);
}));
return _init.apply(this, arguments);
}
(0,_react_17_0_2_react.useEffect)(function () {
var didCancel = false;
init(didCancel);
return function () {
didCancel = true;
};
}, [dispatch, taskId]);
(0,_react_17_0_2_react.useEffect)(function () {
var didCancel = false;
function init() {
return _init2.apply(this, arguments);
}
function _init2() {
_init2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var data, _content, _content2, _data$content, _data$content2, _data$content3;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
dispatch({
type: SHOW_REP_LOADING,
payload: objectSpread2_default()(objectSpread2_default()({}, codeRepData), {}, {
loading: true
})
});
if (!(unity_3d_routes && !with_code_file || challenge !== null && challenge !== void 0 && challenge.thiry_party)) {
_context.next = 3;
break;
}
return _context.abrupt("return");
case 3:
_context.next = 5;
return fetchCode(taskId, {
path: currentPath
});
case 5:
data = _context.sent;
if (!didCancel) {
if (data.status === 0) {
message/* default */.ZP.info(data.message);
dispatch({
type: FETCH_REP_CONTENT,
payload: objectSpread2_default()(objectSpread2_default()({}, codeRepData), {}, {
loading: false
})
});
} else {
try {
// if (!!data?.content?.content?.length) {
if ((data === null || data === void 0 ? void 0 : data.file_type) === 'txt') {
_content = ((_content2 = _content) === null || _content2 === void 0 ? void 0 : _content2.length) === 0 ? _content : window.decodeURIComponent(escape(window.atob(data === null || data === void 0 || (_data$content = data.content) === null || _data$content === void 0 ? void 0 : _data$content.content)));
} else {
_content = data === null || data === void 0 || (_data$content2 = data.content) === null || _data$content2 === void 0 ? void 0 : _data$content2.content;
}
// }
} catch (e) {
_content = window.atob(data === null || data === void 0 || (_data$content3 = data.content) === null || _data$content3 === void 0 ? void 0 : _data$content3.content);
message/* default */.ZP.warning('请确认文件字符集编码是否为UTF-8');
console.log('err:', e);
}
dispatch({
type: FETCH_REP_CONTENT,
payload: objectSpread2_default()(objectSpread2_default()({}, codeRepData), {}, {
content: _content,
language: data.language,
file_type: data.file_type,
filename: data.filename,
lastedUpdateTime: 0,
loading: false
})
});
}
}
case 7:
case "end":
return _context.stop();
}
}, _callee);
}));
return _init2.apply(this, arguments);
}
if (st === 0 && currentPath && shixun.hide_code !== 1) {
// if (vnc_url || taskData?.windows_vnc) {
// return;
// }
init();
return function () {
didCancel = true;
};
}
}, [st, currentPath, lastedGetTaskInfoTime, timestamp]);
var onUpdateCode = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
var evaluate,
response,
_args2 = arguments;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
evaluate = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : 0;
console.log('lastedUpdateTime:', isEditPath, evaluate);
if (!(
// shixun?.hide_code !== 1 &&
st === 0 && lastedUpdateTime > 0 && isEditPath || evaluate)) {
_context2.next = 8;
break;
}
_context2.next = 5;
return updateCode(myshixun.identifier, {
path: currentPath,
evaluate: evaluate,
content: content,
game_id: game.id
});
case 5:
response = _context2.sent;
dispatch({
type: EDIT_REP_CODE,
payload: {
lastedUpdateTime: 0
}
});
return _context2.abrupt("return", response);
case 8:
return _context2.abrupt("return", true);
case 9:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function onUpdateCode() {
return _ref2.apply(this, arguments);
};
}();
// useEffect(() => {
// onUpdateCode();
// }, [st, lastedUpdateTime, currentPath, content, game?.id, isEditPath])
//保存上下文
var onSaveContent = (0,_react_17_0_2_react.useCallback)(function () {
// if (game) {
// if (game.status !== 2) {
// mediator.publish('update-cost-time');
// }
// }
// try {
// if (myshixun?.identifier) {
// let bodys = {
// path: currentPath,
// evaluate: 0,
// content,
// game_id: game.id,
// };
// let headers = {
// type: 'application/json',
// };
// let blob = new Blob([JSON.stringify(bodys)], headers);
// window.navigator.sendBeacon(
// `${ENV.API_SERVER}/api/myshixuns/${myshixun?.identifier}/update_file.json`,
// blob,
// );
// }
// } catch (e) {}
// onUpdateCode();
}, [onUpdateCode]);
//解锁测试集
(0,_react_17_0_2_react.useEffect)(function () {
var unSub = mediator/* default */.Z.subscribe('unlock-test-case', function () {
es_modal/* default */.Z.confirm(defineProperty_default()(defineProperty_default()({
centered: true,
okText: '确定',
cancelText: '取消',
title: '提示',
content: /*#__PURE__*/(0,jsx_runtime.jsx)(UnLockTestTip, {
score: challenge.score,
is_teacher: is_teacher
})
}, "centered", true), "onOk", onUnlockTestCase));
});
return unSub;
}, [onUnlockTestCase, challenge, is_teacher]);
var onUnlockTestCase = (0,_react_17_0_2_react.useCallback)( /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
var response, test_sets, message, status, grade;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return unlockTestCase(game.identifier);
case 2:
response = _context3.sent;
test_sets = response.test_sets, message = response.message, status = response.status;
if (!(status === -1)) {
_context3.next = 7;
break;
}
message.info(message);
return _context3.abrupt("return");
case 7:
grade = taskData['user'].grade;
taskData['user'].grade = grade - challenge.score * 2;
taskData['test_sets'] = test_sets;
taskData['game']['test_sets_view'] = true;
dispatch({
type: UPDATE_TASK_DATA,
payload: {
taskData: taskData
}
});
case 12:
case "end":
return _context3.stop();
}
}, _callee3);
})), [game, challenge, dispatch]);
(0,_react_17_0_2_react.useEffect)(function () {
if (!noDragging || vnc_url) {
var onMove = function onMove(e) {
if (resizeXFlag.current) {
dispatch({
type: MOVE_X,
payload: e.pageX
});
}
if (resizeYFlag.current) {
dispatch({
type: MOVE_Y,
payload: e.pageY
});
}
};
var onMouseUp = function onMouseUp() {
resizeXFlag.current = false;
resizeYFlag.current = false;
dispatch({
type: TRIGGER_RIGHT_PANEL_MASK,
payload: false
});
document.onselectstart = null;
};
document.addEventListener('mousemove', onMove);
document.addEventListener('mouseup', onMouseUp);
return function () {
document.removeEventListener('mousemove', onMove);
document.removeEventListener('mouseup', onMouseUp);
};
}
}, [resizeYFlag.current, resizeXFlag.current, noDragging, dispatch]);
function minuxUserGrade(value) {
var grade = taskData['user'].grade;
taskData['user'].grade = grade - value;
dispatch({
type: UPDATE_TASK_DATA,
payload: {
taskData: taskData
}
});
}
fullscreenOrExit.current = function () {
state.moveX = state.moveX !== 0.01 ? 0.01 : '40%';
dispatch({
type: MOVE_X,
payload: state.moveX
});
};
function onResizeStart() {
if (noDragging) {
fullscreenOrExit.current();
} else {
document.onselectstart = function () {
return false;
};
resizeXFlag.current = true;
dispatch({
type: TRIGGER_RIGHT_PANEL_MASK,
payload: true
});
}
}
function onResizeYStart() {
document.onselectstart = function () {
return false;
};
resizeYFlag.current = true;
if (taskData !== null && taskData !== void 0 && taskData.vnc_url || taskData !== null && taskData !== void 0 && taskData.windows_vnc || taskData !== null && taskData !== void 0 && taskData.linux_vnc || taskData !== null && taskData !== void 0 && taskData.virtual_machine || (shixun === null || shixun === void 0 ? void 0 : shixun.hide_code) === 2) {
dispatch({
type: TRIGGER_RIGHT_PANEL_MASK,
payload: true
});
}
}
function onResizeSetContainer(value) {
if (value === 0.01) {
dispatch({
type: MOVE_Y,
payload: 0
});
} else {
dispatch({
type: MOVE_Y,
payload: 0.01
});
}
}
function onResizeCodeArea(value) {
if (value === 0) {
dispatch({
type: MOVE_Y,
payload: '100%'
});
} else {
dispatch({
type: MOVE_Y,
payload: 0
});
}
}
(0,_react_17_0_2_react.useEffect)(function () {
var unSub = mediator/* default */.Z.subscribe('vnc-enlarge', function () {
fullscreenOrExit.current();
});
return unSub;
}, []);
function onFinishDisplayHtml() {
onUpdateCode();
}
function onResetCode() {
return _onResetCode.apply(this, arguments);
}
function _onResetCode() {
_onResetCode = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee7() {
var response, content, language;
return regeneratorRuntime_default()().wrap(function _callee7$(_context7) {
while (1) switch (_context7.prev = _context7.next) {
case 0:
_context7.next = 2;
return restoreCode(taskId, {
path: currentPath
});
case 2:
response = _context7.sent;
content = response.content, language = response.language;
dispatch({
type: FETCH_REP_CONTENT,
payload: objectSpread2_default()(objectSpread2_default()({}, codeRepData), {}, {
content: content,
language: language,
lastedUpdateTime: 0,
loading: false
})
});
case 5:
case "end":
return _context7.stop();
}
}, _callee7);
}));
return _onResetCode.apply(this, arguments);
}
function onResetGitCode() {
return _onResetGitCode.apply(this, arguments);
}
function _onResetGitCode() {
_onResetGitCode = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee8() {
var _taskData$myshixun;
var response;
return regeneratorRuntime_default()().wrap(function _callee8$(_context8) {
while (1) switch (_context8.prev = _context8.next) {
case 0:
_context8.next = 2;
return resetGitCode(taskData === null || taskData === void 0 || (_taskData$myshixun = taskData.myshixun) === null || _taskData$myshixun === void 0 ? void 0 : _taskData$myshixun.identifier, {});
case 2:
response = _context8.sent;
init();
return _context8.abrupt("return", response);
case 5:
case "end":
return _context8.stop();
}
}, _callee8);
}));
return _onResetGitCode.apply(this, arguments);
}
function onResetPassedCode() {
return _onResetPassedCode.apply(this, arguments);
}
function _onResetPassedCode() {
_onResetPassedCode = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee9() {
var response, content, language;
return regeneratorRuntime_default()().wrap(function _callee9$(_context9) {
while (1) switch (_context9.prev = _context9.next) {
case 0:
_context9.next = 2;
return resetPassedCode(taskId, {
path: currentPath
});
case 2:
response = _context9.sent;
content = response.content, language = response.language;
dispatch({
type: FETCH_REP_CONTENT,
payload: objectSpread2_default()(objectSpread2_default()({}, codeRepData), {}, {
content: content,
language: language,
lastedUpdateTime: 0,
loading: false
})
});
case 5:
case "end":
return _context9.stop();
}
}, _callee9);
}));
return _onResetPassedCode.apply(this, arguments);
}
(0,_react_17_0_2_react.useEffect)(function () {
if (st === 0 && challenge && challenge.path) {
var _paths = challenge.path.split('').filter(function (item) {
return !!item;
});
dispatch({
type: EDIT_REP_CODE,
payload: {
currentPath: _paths[0],
paths: _paths
}
});
}
}, [challenge, st]);
(0,_react_17_0_2_react.useEffect)(function () {
if (shixun) {
(0,util/* setDocumentTitle */.Dk)(shixun.name || '实践项目名称-未填写');
}
}, [shixun]);
function onPlusOrCancelPraise() {
return _onPlusOrCancelPraise.apply(this, arguments);
}
function _onPlusOrCancelPraise() {
_onPlusOrCancelPraise = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee10() {
var response, praise_count, praise;
return regeneratorRuntime_default()().wrap(function _callee10$(_context10) {
while (1) switch (_context10.prev = _context10.next) {
case 0:
_context10.next = 2;
return plusOrCancelPraise(taskId);
case 2:
response = _context10.sent;
praise_count = response.praise_count, praise = response.praise;
taskData.praise_count = praise_count;
taskData['user_praise'] = praise;
dispatch({
type: UPDATE_TASK_DATA,
payload: {
taskData: taskData
}
});
case 7:
case "end":
return _context10.stop();
}
}, _callee10);
}));
return _onPlusOrCancelPraise.apply(this, arguments);
}
var onUpdateCostTime = (0,_react_17_0_2_react.useCallback)(function (time) {
function init(_x2) {
return _init3.apply(this, arguments);
}
function _init3() {
_init3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4(time) {
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
try {
window.navigator.sendBeacon("".concat(env/* default */.Z.API_SERVER, "/api/tasks/").concat(taskId, "/cost_time.json?time=").concat(time), JSON.stringify({
time: time
}));
} catch (e) {}
// await updateCostTime(taskId, { time });
case 1:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return _init3.apply(this, arguments);
}
init(time);
}, [taskId]);
function onSaveTaskStar(_x3) {
return _onSaveTaskStar.apply(this, arguments);
}
function _onSaveTaskStar() {
_onSaveTaskStar = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee11(value) {
return regeneratorRuntime_default()().wrap(function _callee11$(_context11) {
while (1) switch (_context11.prev = _context11.next) {
case 0:
_context11.next = 2;
return saveTaskStar(taskId, shixun.id, value);
case 2:
taskData['game']['star'] = value;
dispatch({
type: UPDATE_TASK_DATA,
payload: {
taskData: taskData
}
});
case 4:
case "end":
return _context11.stop();
}
}, _callee11);
}));
return _onSaveTaskStar.apply(this, arguments);
}
function onShowDir() {
return _onShowDir.apply(this, arguments);
}
function _onShowDir() {
_onShowDir = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee12() {
var response, trees;
return regeneratorRuntime_default()().wrap(function _callee12$(_context12) {
while (1) switch (_context12.prev = _context12.next) {
case 0:
if (repos) {
_context12.next = 8;
break;
}
_context12.next = 3;
return fetchRepos(myshixun.identifier);
case 3:
response = _context12.sent;
trees = response.trees;
dispatch({
type: SET_REPOS,
payload: {
showDocuments: true,
repos: getTreeData(trees)
}
});
_context12.next = 9;
break;
case 8:
dispatch({
type: SET_SHOW_DIR,
payload: true
});
case 9:
case "end":
return _context12.stop();
}
}, _callee12);
}));
return _onShowDir.apply(this, arguments);
}
function onLoadTreeData(_x4) {
return _onLoadTreeData.apply(this, arguments);
}
function _onLoadTreeData() {
_onLoadTreeData = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee14(node) {
var _node$props, children, eventKey;
return regeneratorRuntime_default()().wrap(function _callee14$(_context14) {
while (1) switch (_context14.prev = _context14.next) {
case 0:
_node$props = node.props, children = _node$props.children, eventKey = _node$props.eventKey;
return _context14.abrupt("return", new Promise( /*#__PURE__*/function () {
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee13(resolve) {
var response, trees, newRepos;
return regeneratorRuntime_default()().wrap(function _callee13$(_context13) {
while (1) switch (_context13.prev = _context13.next) {
case 0:
if (children && children.length > 0) {
resolve();
}
_context13.next = 3;
return fetchRepos(myshixun.identifier, {
path: eventKey
});
case 3:
response = _context13.sent;
trees = response.trees;
newRepos = processTreeData(repos, eventKey, getTreeData(trees, eventKey));
dispatch({
type: SET_REPOS,
payload: {
repos: toConsumableArray_default()(newRepos)
}
});
resolve();
case 8:
case "end":
return _context13.stop();
}
}, _callee13);
}));
return function (_x9) {
return _ref4.apply(this, arguments);
};
}()));
case 2:
case "end":
return _context14.stop();
}
}, _callee14);
}));
return _onLoadTreeData.apply(this, arguments);
}
function onHideDocuments() {
dispatch({
type: SET_SHOW_DIR,
payload: false
});
}
function onEvalChoose(value) {
var gold = value.gold,
experience = value.experience,
next_game = value.next_game,
next_shixun = value.next_shixun,
subject_done = value.subject_done,
rest = objectWithoutProperties_default()(value, _excluded2);
var isOk = rest.challenge_chooses_count === rest.choose_correct_num;
var new_test_cases = {
had_submmit: true,
test_sets: rest.test_sets,
challenge_chooses_count: rest.challenge_chooses_count,
choose_correct_num: rest.choose_correct_num
};
taskData['choose_test_cases'] = new_test_cases;
if (isOk) {
taskData['game'].status = 2;
taskData['next_game'] = next_game;
taskData['user']['grade'] += gold;
}
if (isOk && game.status !== 2) {
mediator/* default */.Z.publish('update-cost-time');
}
dispatch({
type: UPDATE_TASK_DATA,
payload: {
taskData: taskData,
evalData: {
gold: gold,
experience: experience,
next_game: next_game,
next_shixun: next_shixun,
subject_done: subject_done
// had_done,
},
showEvalResult: isOk
}
});
//*评测完成后有10秒倒计时
mediator/* default */.Z.publish('eval-code-finish');
}
function onEvalCode() {
return _onEvalCode.apply(this, arguments);
}
function _onEvalCode() {
_onEvalCode = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee16() {
var response, resubmit, sec_key, content_modified, params, _taskData$challenge, rs, getGameStatus, count, intervalTime, time_out;
return regeneratorRuntime_default()().wrap(function _callee16$(_context16) {
while (1) switch (_context16.prev = _context16.next) {
case 0:
_context16.prev = 0;
dispatch({
type: SHOW_EVALUATE_LOADING
});
_context16.next = 4;
return onUpdateCode(1);
case 4:
response = _context16.sent;
resubmit = response.resubmit, sec_key = response.sec_key, content_modified = response.content_modified;
if (!(response.status && response.status < 0)) {
_context16.next = 10;
break;
}
// message.warning(response?.message,'message-key');
mediator/* default */.Z.publish('eval-code-finish');
dispatch({
type: UPDATE_TASK_DATA,
payload: {
evaluateLoading: false
}
});
return _context16.abrupt("return");
case 10:
params = {
sec_key: sec_key,
resubmit: resubmit,
first: 1,
content_modified: content_modified
}; // 只有试卷考试才需要下面参数
if (query.type === 'exercises') {
params.extras = {
exercise_id: query.exercisesId,
//试卷id
question_id: query.questionId,
// 题目id
challenge_id: (_taskData$challenge = taskData.challenge) === null || _taskData$challenge === void 0 ? void 0 : _taskData$challenge.id,
// 关卡id
subject_id: query.subject_id || ''
};
}
_context16.next = 14;
return codeGameBuild(taskId, params);
case 14:
rs = _context16.sent;
if (!(rs.status === -1 && query.type === 'exercises')) {
_context16.next = 18;
break;
}
window.parent.location.href = "/classrooms/".concat(searchParams.get("coursesId"), "/exercise/").concat(searchParams.get("exercisesId"), "/detail");
return _context16.abrupt("return");
case 18:
if (rs.status === 1) {
getGameStatus = /*#__PURE__*/function () {
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee15(intervalTime, finalTime, count) {
var _taskData$challenge2;
var excuteTime, source, ds, status, running_code_message, port, web_route, playUrl, isWeb, isOk, isPicture, isShowEvalResult, payload;
return regeneratorRuntime_default()().wrap(function _callee15$(_context15) {
while (1) switch (_context15.prev = _context15.next) {
case 0:
excuteTime = count++ * intervalTime;
if (excuteTime / 1000 > finalTime) {
time_out = true;
}
_context15.next = 4;
return getCodeGameStatus(taskId, {
resubmit: resubmit,
time_out: time_out,
port: rs.port,
sec_key: sec_key,
challenge_id: taskData === null || taskData === void 0 || (_taskData$challenge2 = taskData.challenge) === null || _taskData$challenge2 === void 0 ? void 0 : _taskData$challenge2.id,
subject_id: query.subject_id || ''
});
case 4:
source = _context15.sent;
ds = source;
status = ds.status, running_code_message = ds.running_code_message, port = ds.port, web_route = ds.web_route;
dispatch({
type: SET_EVALUATE_MESSAGE,
payload: running_code_message
});
if (+status > -1 || excuteTime / 1000 > finalTime) {
//第一次通关
if (game.status !== 2 && status === 2) {
taskData['game'].status = 2;
taskData['user']['grade'] += ds.gold;
mediator/* default */.Z.publish('update-cost-time');
}
taskData['test_sets'] = ds.test_sets || [];
taskData['last_compile_output'] = ds.last_compile_output;
taskData['test_sets_count'] = ds.test_sets_count;
taskData['sets_error_count'] = ds.sets_error_count;
taskData['record_consume_time'] = ds.record_consume_time;
taskData['next_game'] = ds.next_game;
taskData['prev_game'] = ds.prev_game;
playUrl = '';
isWeb = mirror_name.indexOf('Web') !== -1 || mirror_name.indexOf('JFinal') !== -1;
if (isWeb && port != -1 && web_route) {
playUrl = "".concat(tomcat_url, ":").concat(port, "/").concat(web_route);
}
isOk = isCompileOk(ds.test_sets);
isPicture = ds.picture > 0 && isOk;
isShowEvalResult = status === 2 && !time_out;
if (time_out) {
message/* default */.ZP.info('本次评测超时');
} else {
if (!isShowEvalResult) {
message/* default */.ZP.info('评测未通过,详情参见“测试结果”');
}
}
payload = {
taskData: taskData,
evalData: {
gold: ds.gold,
experience: ds.experience,
next_game: ds.next_game,
next_shixun: ds.next_shixun
// had_done: ds.had_done,
},
evaluateLoading: false,
evaluateMessage: '',
webDisplayUrl: playUrl,
showPictureView: unity_3d_routes || challenge !== null && challenge !== void 0 && challenge.thiry_party ? false : isPicture,
isPictureView: isPicture
};
if (unity_3d_routes && with_code_file || challenge !== null && challenge !== void 0 && challenge.thiry_party) {
//* 新需求
mediator/* default */.Z.publish('evaluate-unity3d-result', {
state: 'user',
data: {
user: user
}
});
mediator/* default */.Z.publish('evaluate-unity3d-finish');
//*评测结果由unity3d给出 在评测时需要格外等待unity3d给出的消息
if (unity_3d_result) {
mediator/* default */.Z.publish('evaluate-unity3d-result', ds.unity_3d_result);
} else {
if (isOk) {
mediator/* default */.Z.publish('evaluate-unity3d-result', ds.unity_3d_result);
}
}
} else {
payload['showEvalResult'] = isShowEvalResult;
}
dispatch({
type: UPDATE_TASK_DATA,
payload: payload
});
//*评测完成后有10秒倒计时
mediator/* default */.Z.publish('eval-code-finish');
} else {
setTimeout(function () {
getGameStatus(intervalTime, challenge.exec_time + 11, count++);
}, intervalTime);
}
case 9:
case "end":
return _context15.stop();
}
}, _callee15);
}));
return function getGameStatus(_x10, _x11, _x12) {
return _ref5.apply(this, arguments);
};
}();
count = 1;
intervalTime = 1000;
time_out = false;
getGameStatus(intervalTime, challenge.exec_time + 11, count++);
//* 前端检查评测结果的总时间为关卡设置的评测时长限制 +10s+1s时间差
// let timerId = setInterval(() => {
// getGameStatus(
// intervalTime,
// challenge.exec_time + 11,
// count++,
// timerId,
// );
// }, intervalTime);
}
return _context16.abrupt("return", res);
case 22:
_context16.prev = 22;
_context16.t0 = _context16["catch"](0);
console.log('-------eval code', _context16.t0);
case 25:
case "end":
return _context16.stop();
}
}, _callee16, null, [[0, 22]]);
}));
return _onEvalCode.apply(this, arguments);
}
function onEditRepCode(value) {
dispatch({
type: EDIT_REP_CODE,
payload: {
content: value,
lastedUpdateTime: new Date().getTime()
}
});
}
function onCloseResult() {
dispatch({
type: HIDE_EVALUATE_RESULT
});
}
function onHidePictureView() {
dispatch({
type: HIDE_PICTURE_VIEW
});
}
function onShowPictureView() {
dispatch({
type: SHOW_PICTURE_VIEW
});
}
function onShowNotice() {
dispatch({
type: SHOW_NOTICE
});
}
function onSelectRepo(_x5, _x6) {
return _onSelectRepo.apply(this, arguments);
}
function _onSelectRepo() {
_onSelectRepo = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee17(selectedKeys, event) {
var node, path, suf;
return regeneratorRuntime_default()().wrap(function _callee17$(_context17) {
while (1) switch (_context17.prev = _context17.next) {
case 0:
node = event.node;
if (!node.isLeaf) {
_context17.next = 7;
break;
}
path = selectedKeys[0];
suf = path.split('.').pop().toLowerCase(); // if (BADSUFS.indexOf(suf) >= 0) {
// message.info(`不支持加载${suf}类型的文件。`);
// return;
// } else {
_context17.next = 6;
return onUpdateCode();
case 6:
dispatch({
type: EDIT_REP_CODE,
payload: {
currentPath: path
}
});
// }
case 7:
case "end":
return _context17.stop();
}
}, _callee17);
}));
return _onSelectRepo.apply(this, arguments);
}
function onChangePath(_x7) {
return _onChangePath.apply(this, arguments);
}
function _onChangePath() {
_onChangePath = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee18(value) {
return regeneratorRuntime_default()().wrap(function _callee18$(_context18) {
while (1) switch (_context18.prev = _context18.next) {
case 0:
_context18.next = 2;
return onUpdateCode();
case 2:
dispatch({
type: EDIT_REP_CODE,
payload: {
currentPath: value
}
});
case 3:
case "end":
return _context18.stop();
}
}, _callee18);
}));
return _onChangePath.apply(this, arguments);
}
function onNextCallback() {
taskData['myshixun'].system_tip = true;
dispatch({
type: UPDATE_TASK_DATA,
payload: {
taskData: taskData,
showNotice: false
}
});
}
function onUpdateCallback(newPath, timestamp) {
taskData['challenge'].path = newPath;
taskData['myshixun'].system_tip = false;
dispatch({
type: UPDATE_TASK_DATA,
payload: {
taskData: objectSpread2_default()(objectSpread2_default()({}, taskData), {}, {
tpm_cases_modified: false,
tpm_modified: false,
tpm_script_modified: false
}),
showNotice: false,
timestamp: timestamp
}
});
}
function onUpdateFailure() {
dispatch({
type: HIDE_NOTICE
});
}
function onResetVnc() {
return _onResetVnc.apply(this, arguments);
}
function _onResetVnc() {
_onResetVnc = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee19() {
var response, new_vnc_url;
return regeneratorRuntime_default()().wrap(function _callee19$(_context19) {
while (1) switch (_context19.prev = _context19.next) {
case 0:
_context19.prev = 0;
dispatch({
type: SET_VNC_LOADING,
payload: true
});
mediator/* default */.Z.publish('vnc-reseting');
_context19.next = 5;
return resetVnc(_params.taskId);
case 5:
response = _context19.sent;
new_vnc_url = response.vnc_url;
taskData['vnc_url'] = new_vnc_url + '&timestamp=' + new Date().getTime();
mediator/* default */.Z.publish('vnc-reseting-done', response);
dispatch({
type: UPDATE_TASK_DATA,
payload: {
taskData: taskData,
resetVncLoading: false
}
});
_context19.next = 15;
break;
case 12:
_context19.prev = 12;
_context19.t0 = _context19["catch"](0);
console.log(_context19.t0);
case 15:
case "end":
return _context19.stop();
}
}, _callee19, null, [[0, 12]]);
}));
return _onResetVnc.apply(this, arguments);
}
function onGetUnity3dMessage(_x8) {
return _onGetUnity3dMessage.apply(this, arguments);
} //代码评测后回调
function _onGetUnity3dMessage() {
_onGetUnity3dMessage = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee20(mes) {
var GameState, Data, challenge, response, status, data;
return regeneratorRuntime_default()().wrap(function _callee20$(_context20) {
while (1) switch (_context20.prev = _context20.next) {
case 0:
GameState = mes.GameState, Data = mes.Data, challenge = mes.challenge;
console.log('match:', match);
if (!(challenge === 'info')) {
_context20.next = 6;
break;
}
mediator/* default */.Z.publish('evaluate-unity3d-result', {
state: '3d_callback',
data: {
challenge_info: objectSpread2_default()({}, taskData.challenge)
}
});
//taskData.challenge
_context20.next = 16;
break;
case 6:
if (!(GameState === 'Success')) {
_context20.next = 16;
break;
}
if (!(unity_3d_result || !with_code_file)) {
_context20.next = 15;
break;
}
_context20.next = 10;
return setUnity3dStatus(taskId, base64.Base64.encode(taskId + new Date().getTime()), Data);
case 10:
response = _context20.sent;
status = response.status, data = response.data;
if (status == 0) {
if (game.status !== 2) {
taskData['game'].status = 2;
taskData['user']['grade'] += data.gold;
mediator/* default */.Z.publish('update-cost-time');
}
//* 新需求,无代码评测通关需要发送用户和通关时间信息
mediator/* default */.Z.publish('evaluate-unity3d-result', {
state: 'userAndtime',
data: {
user: user,
open_time: data.open_time,
end_time: data.end_time
}
});
dispatch({
type: UPDATE_TASK_DATA,
payload: {
taskData: taskData,
evalData: {
gold: data.gold,
experience: data.experience,
next_game: data.next_game
// had_done: data.had_done,
},
evaluateLoading: false,
showEvalResult: true
}
});
}
_context20.next = 16;
break;
case 15:
dispatch({
type: SHOW_EVALUATE_RESULT
});
case 16:
case "end":
return _context20.stop();
}
}, _callee20);
}));
return _onGetUnity3dMessage.apply(this, arguments);
}
function onEvaluateCallback() {}
function onAddVncTime() {
return _onAddVncTime.apply(this, arguments);
}
function _onAddVncTime() {
_onAddVncTime = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee21() {
var _res, _res3;
var res, _res2;
return regeneratorRuntime_default()().wrap(function _callee21$(_context21) {
while (1) switch (_context21.prev = _context21.next) {
case 0:
_context21.next = 2;
return addVncTime(taskId);
case 2:
res = _context21.sent;
// }
if ((_res = res) !== null && _res !== void 0 && (_res = _res.data) !== null && _res !== void 0 && _res.remaining_time) {
mediator/* default */.Z.publish('update-windows-time', (_res2 = res) === null || _res2 === void 0 ? void 0 : _res2.data);
}
return _context21.abrupt("return", (_res3 = res) === null || _res3 === void 0 ? void 0 : _res3.data);
case 5:
case "end":
return _context21.stop();
}
}, _callee21);
}));
return _onAddVncTime.apply(this, arguments);
}
var leftPanelWidth = '80px';
var rightPanelWidth = "calc(100vw - 4px - ".concat(leftPanelWidth, ")");
var leftPanelOption = defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()({
game: game,
taskId: taskId,
user_praise: user_praise,
praise_count: praise_count,
st: st,
challenge: challenge,
rank_name: taskData.rank_name,
shixun: shixun,
is_teacher: is_teacher,
has_answer: has_answer,
unity_3d_routes: unity_3d_routes,
with_code_file: with_code_file,
onEvaluateCallback: onEvaluateCallback,
onGetUnity3dMessage: onGetUnity3dMessage
}, "taskId", taskId), "myshixun", myshixun), "user", user), "discusses_count", discusses_count), "onPlusOrCancelPraise", onPlusOrCancelPraise), "minuxUserGrade", minuxUserGrade), "taskData", taskData);
var noticeOption = {
showNotice: showNotice || (tpm_cases_modified || isUpdateScript) && myshixun.system_tip === false,
tpm_cases_modified: tpm_cases_modified,
tpm_modified: tpm_modified,
tpm_script_modified: tpm_script_modified,
st: st,
taskId: taskId,
myshixunId: (myshixun || {}).id,
onNextCallback: onNextCallback,
onUpdateCallback: onUpdateCallback,
onUpdateFailure: onUpdateFailure
};
var evaluateResultOption = objectSpread2_default()(objectSpread2_default()({}, evalData), {}, {
isPictureView: isPictureView,
history: history,
webDisplayUrl: webDisplayUrl,
onShowPictureView: onShowPictureView,
star: game && game.star,
onStarChange: onSaveTaskStar,
onCloseResult: onCloseResult
});
var repositoryOption = {
lastedGetTaskInfoTime: lastedGetTaskInfoTime,
isEditPath: isEditPath,
taskData: taskData,
codeRepData: codeRepData,
moveY: moveY,
evaluateMessage: evaluateMessage,
evaluateLoading: evaluateLoading,
isNotice: isNotice,
isHtml: isHtml,
onChangePath: onChangePath,
onResizeSetContainer: onResizeSetContainer,
onEditRepCode: onEditRepCode,
onUpdateCode: onUpdateCode,
onResizeYStart: onResizeYStart,
onShowDir: onShowDir,
onResetCode: onResetCode,
onResetGitCode: onResetGitCode,
onResizeCodeArea: onResizeCodeArea,
onResetPassedCode: onResetPassedCode,
onFinishDisplayHtml: onFinishDisplayHtml,
onShowNotice: onShowNotice
};
return /*#__PURE__*/(0,jsx_runtime.jsx)(_react_17_0_2_react.Fragment, {
children: !loading ? /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "task-wrapper",
children: [showDragMask && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "draging-mask"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(header, {
difficulty: challenge === null || challenge === void 0 ? void 0 : challenge.difficulty,
mirror_description: mirror_description,
history: history,
git_url: git_url,
shixun: shixun,
taskData: taskData,
lastedGetTaskInfoTime: lastedGetTaskInfoTime,
onAddVncTime: onAddVncTime,
taskId: taskId,
isNotice: isNotice,
resetVncLoading: resetVncLoading,
onResetVnc: onResetVnc,
onResetGitCode: onResetGitCode,
vnc_url: vnc_url,
linux_vnc: taskData === null || taskData === void 0 ? void 0 : taskData.linux_vnc,
window_vnc_url: (taskData === null || taskData === void 0 ? void 0 : taskData.windows_vnc) || (taskData === null || taskData === void 0 ? void 0 : taskData.virtual_machine),
remaining_time: taskData === null || taskData === void 0 ? void 0 : taskData.remaining_time,
onShowNotice: onShowNotice,
game: game,
user: user,
st: st,
onUpdateCode: onUpdateCode,
onUpdateCostTime: onUpdateCostTime,
unity_3d_routes: unity_3d_routes && !with_code_file || (challenge === null || challenge === void 0 ? void 0 : challenge.thiry_party)
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "tasks-body2",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("section", {
className: "left-panel",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("ul", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
onClick: function onClick() {
return setShowTab(1);
},
className: showTab == 1 ? 'on' : '',
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "iconfont icon-huanjing"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u73AF\u5883"
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
onClick: function onClick() {
return setShowTab(2);
},
className: showTab == 2 ? 'on' : '',
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "iconfont icon-shujuwajue"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u6570\u636E\u96C6"
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
onClick: function onClick() {
return setShowTab(3);
},
className: showTab == 3 ? 'on' : '',
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "iconfont icon-a-chengyuan1"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u5408\u4F5C\u8005"
})]
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
id: "task-right-panel",
className: "right-panel ".concat(vnc_url || taskData !== null && taskData !== void 0 && taskData.windows_vnc || taskData !== null && taskData !== void 0 && taskData.linux_vnc || taskData !== null && taskData !== void 0 && taskData.virtual_machine ? 'vnc' : ''),
style: {
width: rightPanelWidth,
minWidth: '500px'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
height: '100%'
// , overflow: 'auto'
},
className: showTab === 1 ? '' : 'hide',
children: [taskData.mirror_type === 'webssh' && /*#__PURE__*/(0,jsx_runtime.jsx)(xterm_panel, {
sshConfigData: taskData || {},
sid: 1
}), taskData.mirror_type === 'graph' && /*#__PURE__*/(0,jsx_runtime.jsx)(vnc_view, {
taskData: taskData,
evaluateMessage: evaluateMessage,
language: language,
evaluateLoading: evaluateLoading,
onEval: props.onEvalCode
}), (taskData.mirror_type === 'jupyterlab' || taskData.mirror_type === 'jupyternotebook') && /*#__PURE__*/(0,jsx_runtime.jsx)(Jupyter, {
taskData: taskData,
evaluateMessage: evaluateMessage,
language: language,
evaluateLoading: evaluateLoading,
onEval: props.onEvalCode
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: showTab === 2 ? 'data_env_lists' : 'hide',
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "data_header",
children: ["\u6570\u636E\u96C6 \uFF08", datas === null || datas === void 0 ? void 0 : datas.data_count, "\uFF09"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
padding: 20
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(DataSetPane/* default */.Z, {
detail: datas
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: showTab === 3 ? 'data_env_lists' : 'hide',
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(Collaborate/* default */.Z, {})
})
})]
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(drawer/* default */.Z, {
rootClassName: "setting-drawer",
title: null,
placement: "right",
width: 400,
closable: false,
open: showDocuments,
onClose: onHideDocuments,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(DirectoryTree, {
className: "dir-tree",
selectedKeys: ["".concat(currentPath)],
treeData: repos,
onSelect: onSelectRepo,
loadData: onLoadTreeData
})
})
})]
}) : /*#__PURE__*/(0,jsx_runtime.jsx)(Spinner/* default */.Z, {
message: "\u52AA\u529B\u8BF7\u6C42\u6570\u636E\u4E2D..",
className: "tpi-spin"
})
});
});
function UnLockTestTip(_ref6) {
var is_teacher = _ref6.is_teacher,
score = _ref6.score;
return /*#__PURE__*/(0,jsx_runtime.jsx)(_react_17_0_2_react.Fragment, {
children: is_teacher ? /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u5DF2\u7ECF\u8FC7\u804C\u4E1A\u8BA4\u8BC1\u7684\u6559\u5E08\u53EF\u4EE5\u514D\u91D1\u5E01\u67E5\u770B\u9690\u85CF\u6D4B\u8BD5\u96C6\u3002"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u89E3\u9501\u672C\u5173\u6240\u6709\u6D4B\u8BD5\u96C6\u9700\u8981\u6263\u9664".concat(score * 2, "\u91D1\u5E01\uFF0C\u786E\u5B9A\u8981\u89E3\u9501\u5417\uFF1F")
}), /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
href: "/account/certification",
"class": "to-certification-link",
target: "_blank",
children: "\u7ACB\u5373\u8BA4\u8BC1"
})]
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u89E3\u9501\u672C\u5173\u6240\u6709\u6D4B\u8BD5\u96C6\u9700\u8981\u6263\u9664".concat(score * 2, "\u91D1\u5E01\uFF0C\u786E\u5B9A\u8981\u89E3\u9501\u5417\uFF1F")
})
});
}
function ResizeIcon(_ref7) {
var noDragging = _ref7.noDragging,
moveX = _ref7.moveX,
vnc_url = _ref7.vnc_url;
return /*#__PURE__*/_jsx(Fragment, {
children: noDragging ? /*#__PURE__*/_jsx("a", {
className: "trapezoid ".concat(moveX === 0.01 ? 'enlarge' : ''),
children: /*#__PURE__*/_jsx("img", {
src: moveX === 0.01 ? resizeEnlargeUrl : resizeSmallUrl,
alt: "resize-icon",
width: 20
})
}) : /*#__PURE__*/_jsx("a", {
className: "btn-resize",
draggable: false,
children: /*#__PURE__*/_jsx("svg", {
width: "16",
height: "13",
viewBox: "0 0 16 13",
draggable: false,
children: /*#__PURE__*/_jsx("path", {
draggable: false,
d: "M12.245 7.53H5.647v1.882h6.598v2.823L16 8.471l-3.755-3.765V7.53zM10.353 4.706H3.755v2.823L0 3.765 3.755 0v2.824h6.598v1.882z"
})
})
})
});
}
/***/ }),
/***/ 70754:
/*!**************************************************!*\
!*** ./src/pages/MoopCases/FormPanel/service.ts ***!
\**************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ $J: function() { return /* binding */ getMoopCase; },
/* harmony export */ JZ: function() { return /* binding */ removeAttachment; },
/* harmony export */ bN: function() { return /* binding */ updateMoopCase; },
/* harmony export */ jP: function() { return /* binding */ addMoopCase; },
/* harmony export */ rO: function() { return /* binding */ getLibraryTags; }
/* harmony export */ });
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js */ 7557);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js */ 41498);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/utils/fetch */ 49105);
function getMoopCase(id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .get */ .U2)("libraries/".concat(id, ".json"));
}
function getLibraryTags() {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .get */ .U2)('library_tags.json');
}
function removeAttachment(_x) {
return _removeAttachment.apply(this, arguments);
}
function _removeAttachment() {
_removeAttachment = _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee(id) {
var response;
return _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .del */ .IV)("attachments/".concat(id, ".json"));
case 2:
response = _context.sent;
return _context.abrupt("return", response.status === 0);
case 4:
case "end":
return _context.stop();
}
}, _callee);
}));
return _removeAttachment.apply(this, arguments);
}
function addMoopCase(params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .post */ .v_)("libraries.json", params);
}
function updateMoopCase(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .put */ .gz)("libraries/".concat(id, ".json"), params);
}
/***/ }),
/***/ 11125:
/*!*****************************!*\
!*** ./src/service/task.ts ***!
\*****************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ Jd: function() { return /* binding */ rebootEsc; },
/* harmony export */ a$: function() { return /* binding */ getDataSets; },
/* harmony export */ dU: function() { return /* binding */ getJupyterData; },
/* harmony export */ fi: function() { return /* binding */ syncCode; },
/* harmony export */ m_: function() { return /* binding */ resetWithTPI; },
/* harmony export */ rB: function() { return /* binding */ activeWithTPI; },
/* harmony export */ rV: function() { return /* binding */ getInfoWithTPI; },
/* harmony export */ x4: function() { return /* binding */ getTimeInfoWithTPI; },
/* harmony export */ zE: function() { return /* binding */ saveWithTPI; }
/* harmony export */ });
/* unused harmony export getLatexFileTree */
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js */ 82242);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js */ 7557);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js */ 41498);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/utils/fetch */ 49105);
function saveWithTPI(_x) {
return _saveWithTPI.apply(this, arguments);
}
function _saveWithTPI() {
_saveWithTPI = _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee(params) {
return _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
return _context.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/jupyters/save_with_tpi.json", {
method: 'Get',
params: params
}));
case 1:
case "end":
return _context.stop();
}
}, _callee);
}));
return _saveWithTPI.apply(this, arguments);
}
function getJupyterData(_x2) {
return _getJupyterData.apply(this, arguments);
}
function _getJupyterData() {
_getJupyterData = _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee2(params) {
return _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
return _context2.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/tasks/".concat(params.identifier, "/jupyter.json"), {
method: 'Get',
params: params
}));
case 1:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return _getJupyterData.apply(this, arguments);
}
function getInfoWithTPI(_x3) {
return _getInfoWithTPI.apply(this, arguments);
}
function _getInfoWithTPI() {
_getInfoWithTPI = _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee3(params) {
return _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
return _context3.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/myshixuns/".concat(params.identifier, "/start.json"), {
method: 'Get',
params: params
}));
case 1:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return _getInfoWithTPI.apply(this, arguments);
}
function getTimeInfoWithTPI(_x4) {
return _getTimeInfoWithTPI.apply(this, arguments);
}
function _getTimeInfoWithTPI() {
_getTimeInfoWithTPI = _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee4(params) {
return _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
return _context4.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/jupyters/timeinfo_with_tpi.json", {
method: 'Get',
params: params
}));
case 1:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return _getTimeInfoWithTPI.apply(this, arguments);
}
function resetWithTPI(_x5) {
return _resetWithTPI.apply(this, arguments);
}
function _resetWithTPI() {
_resetWithTPI = _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee5(params) {
return _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
return _context5.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/myshixuns/".concat(params.identifier, "/reset_pod.json"), {
method: 'Get'
// params
}));
case 1:
case "end":
return _context5.stop();
}
}, _callee5);
}));
return _resetWithTPI.apply(this, arguments);
}
function activeWithTPI(_x6, _x7) {
return _activeWithTPI.apply(this, arguments);
}
function _activeWithTPI() {
_activeWithTPI = _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee6(id, params) {
return _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee6$(_context6) {
while (1) switch (_context6.prev = _context6.next) {
case 0:
return _context6.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/myshixuns/".concat(id, "/active_pod.json"), {
method: 'Get',
params: params
}));
case 1:
case "end":
return _context6.stop();
}
}, _callee6);
}));
return _activeWithTPI.apply(this, arguments);
}
function syncCode(_x8) {
return _syncCode.apply(this, arguments);
}
function _syncCode() {
_syncCode = _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee7(params) {
var p;
return _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee7$(_context7) {
while (1) switch (_context7.prev = _context7.next) {
case 0:
p = _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, params);
delete p.identifier;
return _context7.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/myshixuns/".concat(params.identifier, "/sync_code.json"), {
method: 'Post',
body: p
}));
case 3:
case "end":
return _context7.stop();
}
}, _callee7);
}));
return _syncCode.apply(this, arguments);
}
function getDataSets(_x9) {
return _getDataSets.apply(this, arguments);
}
// 重启window 云主机
function _getDataSets() {
_getDataSets = _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee8(params) {
return _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee8$(_context8) {
while (1) switch (_context8.prev = _context8.next) {
case 0:
return _context8.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/shixuns/".concat(params.identifier, "/get_data_sets.json"), {
method: 'Get',
params: params
}));
case 1:
case "end":
return _context8.stop();
}
}, _callee8);
}));
return _getDataSets.apply(this, arguments);
}
function rebootEsc(_x10) {
return _rebootEsc.apply(this, arguments);
}
function _rebootEsc() {
_rebootEsc = _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee9(params) {
return _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee9$(_context9) {
while (1) switch (_context9.prev = _context9.next) {
case 0:
return _context9.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/tasks/".concat(params.identifier, "/reboot_esc.json"), {
method: 'post',
body: params
}));
case 1:
case "end":
return _context9.stop();
}
}, _callee9);
}));
return _rebootEsc.apply(this, arguments);
}
function getLatexFileTree(_x11) {
return _getLatexFileTree.apply(this, arguments);
}
function _getLatexFileTree() {
_getLatexFileTree = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(params) {
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
while (1) switch (_context10.prev = _context10.next) {
case 0:
return _context10.abrupt("return", Fetch("/api/tasks/".concat(params.taskId, "/get_latex_file_tree.json"), {
method: 'Get',
params: params
}));
case 1:
case "end":
return _context10.stop();
}
}, _callee10);
}));
return _getLatexFileTree.apply(this, arguments);
}
/***/ }),
/***/ 43539:
/*!*****************************************!*\
!*** ./src/assets/images/uploadImg.svg ***!
\*****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* unused harmony export ReactComponent */
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301);
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var __defProp = Object.defineProperty;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = function __defNormalProp(obj, key, value) {
return key in obj ? __defProp(obj, key, {
enumerable: true,
configurable: true,
writable: true,
value: value
}) : obj[key] = value;
};
var __spreadValues = function __spreadValues(a, b) {
for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols) {
var _iterator = _createForOfIteratorHelper(__getOwnPropSymbols(b)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var prop = _step.value;
if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
return a;
};
var SvgUploadImg = function SvgUploadImg(props) {
return /* @__PURE__ */React.createElement("svg", __spreadValues({
width: 14,
height: 14,
xmlns: "http://www.w3.org/2000/svg"
}, props), /* @__PURE__ */React.createElement("title", null, "\u5F62\u72B6"), /* @__PURE__ */React.createElement("path", {
d: "M10.354 3.5h-2.77v8.167H6.416V3.5H3.646L7 0l3.354 3.5ZM14 7h-1.167v5.833H1.167V7H0v7h14V7Z",
fill: "#3061D0",
fillRule: "nonzero"
}));
};
/* harmony default export */ __webpack_exports__.Z = ("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEwLjM1NCAzLjVoLTIuNzd2OC4xNjdINi40MTZWMy41SDMuNjQ2TDcgMGwzLjM1NCAzLjVaTTE0IDdoLTEuMTY3djUuODMzSDEuMTY3VjdIMHY3aDE0VjdaIiBmaWxsPSIjMzA2MUQwIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4=");
/***/ }),
/***/ 63955:
/*!****************************************************!*\
!*** ./src/components/tpi-code-setting/index.less ***!
\****************************************************/
/***/ (function() {
"use strict";
// extracted by mini-css-extract-plugin
/***/ }),
/***/ 25769:
/*!**************************************************************************!*\
!*** ./node_modules/_copy-to-clipboard@3.3.3@copy-to-clipboard/index.js ***!
\**************************************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
"use strict";
var deselectCurrent = __webpack_require__(/*! toggle-selection */ 98040);
var clipboardToIE11Formatting = {
"text/plain": "Text",
"text/html": "Url",
"default": "Text"
}
var defaultMessage = "Copy to clipboard: #{key}, Enter";
function format(message) {
var copyKey = (/mac os x/i.test(navigator.userAgent) ? "⌘" : "Ctrl") + "+C";
return message.replace(/#{\s*key\s*}/g, copyKey);
}
function copy(text, options) {
var debug,
message,
reselectPrevious,
range,
selection,
mark,
success = false;
if (!options) {
options = {};
}
debug = options.debug || false;
try {
reselectPrevious = deselectCurrent();
range = document.createRange();
selection = document.getSelection();
mark = document.createElement("span");
mark.textContent = text;
// avoid screen readers from reading out loud the text
mark.ariaHidden = "true"
// reset user styles for span element
mark.style.all = "unset";
// prevents scrolling to the end of the page
mark.style.position = "fixed";
mark.style.top = 0;
mark.style.clip = "rect(0, 0, 0, 0)";
// used to preserve spaces and line breaks
mark.style.whiteSpace = "pre";
// do not inherit user-select (it may be `none`)
mark.style.webkitUserSelect = "text";
mark.style.MozUserSelect = "text";
mark.style.msUserSelect = "text";
mark.style.userSelect = "text";
mark.addEventListener("copy", function(e) {
e.stopPropagation();
if (options.format) {
e.preventDefault();
if (typeof e.clipboardData === "undefined") { // IE 11
debug && console.warn("unable to use e.clipboardData");
debug && console.warn("trying IE specific stuff");
window.clipboardData.clearData();
var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting["default"]
window.clipboardData.setData(format, text);
} else { // all other browsers
e.clipboardData.clearData();
e.clipboardData.setData(options.format, text);
}
}
if (options.onCopy) {
e.preventDefault();
options.onCopy(e.clipboardData);
}
});
document.body.appendChild(mark);
range.selectNodeContents(mark);
selection.addRange(range);
var successful = document.execCommand("copy");
if (!successful) {
throw new Error("copy command was unsuccessful");
}
success = true;
} catch (err) {
debug && console.error("unable to copy using execCommand: ", err);
debug && console.warn("trying IE specific stuff");
try {
window.clipboardData.setData(options.format || "text", text);
options.onCopy && options.onCopy(window.clipboardData);
success = true;
} catch (err) {
debug && console.error("unable to copy using clipboardData: ", err);
debug && console.error("falling back to prompt");
message = format("message" in options ? options.message : defaultMessage);
window.prompt(message, text);
}
} finally {
if (selection) {
if (typeof selection.removeRange == "function") {
selection.removeRange(range);
} else {
selection.removeAllRanges();
}
}
if (mark) {
document.body.removeChild(mark);
}
reselectPrevious();
}
return success;
}
module.exports = copy;
/***/ }),
/***/ 98040:
/*!************************************************************************!*\
!*** ./node_modules/_toggle-selection@1.0.6@toggle-selection/index.js ***!
\************************************************************************/
/***/ (function(module) {
module.exports = function () {
var selection = document.getSelection();
if (!selection.rangeCount) {
return function () {};
}
var active = document.activeElement;
var ranges = [];
for (var i = 0; i < selection.rangeCount; i++) {
ranges.push(selection.getRangeAt(i));
}
switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML
case 'INPUT':
case 'TEXTAREA':
active.blur();
break;
default:
active = null;
break;
}
selection.removeAllRanges();
return function () {
selection.type === 'Caret' &&
selection.removeAllRanges();
if (!selection.rangeCount) {
ranges.forEach(function(range) {
selection.addRange(range);
});
}
active &&
active.focus();
};
};
/***/ })
}]);