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__Terminal__index.62d4afbb...

2927 lines
132 KiB

This file contains ambiguous Unicode characters!

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

(self["webpackChunk"] = self["webpackChunk"] || []).push([[65111],{
/***/ 32857:
/*!********************************************************************!*\
!*** ./node_modules/@ant-design/icons-svg/es/asn/CheckOutlined.js ***!
\********************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__) {
"use strict";
// This icon file is generated automatically.
var CheckOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z" } }] }, "name": "check", "theme": "outlined" };
/* harmony default export */ __webpack_exports__["Z"] = (CheckOutlined);
/***/ }),
/***/ 509:
/*!*********************************************************************!*\
!*** ./node_modules/@ant-design/icons-svg/es/asn/SearchOutlined.js ***!
\*********************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__) {
"use strict";
// This icon file is generated automatically.
var SearchOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z" } }] }, "name": "search", "theme": "outlined" };
/* harmony default export */ __webpack_exports__["Z"] = (SearchOutlined);
/***/ }),
/***/ 7918:
/*!******************************************************************************!*\
!*** ./node_modules/@ant-design/icons/es/components/AntdIcon.js + 6 modules ***!
\******************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ AntdIcon; }
});
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js
var objectSpread2 = __webpack_require__(1413);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
var slicedToArray = __webpack_require__(97685);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
var defineProperty = __webpack_require__(4942);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__(45987);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/classnames/index.js
var classnames = __webpack_require__(94184);
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
;// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/components/Context.js
var IconContext = /*#__PURE__*/(0,react.createContext)({});
/* harmony default export */ var Context = (IconContext);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
var esm_typeof = __webpack_require__(71002);
// EXTERNAL MODULE: ./node_modules/@ctrl/tinycolor/dist/module/conversion.js
var conversion = __webpack_require__(86500);
// EXTERNAL MODULE: ./node_modules/@ctrl/tinycolor/dist/module/format-input.js
var format_input = __webpack_require__(1350);
;// CONCATENATED MODULE: ./node_modules/@ant-design/icons/node_modules/@ant-design/colors/es/generate.js
var hueStep = 2; // 色相阶梯
var saturationStep = 0.16; // 饱和度阶梯,浅色部分
var saturationStep2 = 0.05; // 饱和度阶梯,深色部分
var brightnessStep1 = 0.05; // 亮度阶梯,浅色部分
var brightnessStep2 = 0.15; // 亮度阶梯,深色部分
var lightColorCount = 5; // 浅色数量,主色上
var darkColorCount = 4; // 深色数量,主色下
// 暗色主题颜色映射关系表
var darkColorMap = [{
index: 7,
opacity: 0.15
}, {
index: 6,
opacity: 0.25
}, {
index: 5,
opacity: 0.3
}, {
index: 5,
opacity: 0.45
}, {
index: 5,
opacity: 0.65
}, {
index: 5,
opacity: 0.85
}, {
index: 4,
opacity: 0.9
}, {
index: 3,
opacity: 0.95
}, {
index: 2,
opacity: 0.97
}, {
index: 1,
opacity: 0.98
}];
// Wrapper function ported from TinyColor.prototype.toHsv
// Keep it here because of `hsv.h * 360`
function toHsv(_ref) {
var r = _ref.r,
g = _ref.g,
b = _ref.b;
var hsv = (0,conversion/* rgbToHsv */.py)(r, g, b);
return {
h: hsv.h * 360,
s: hsv.s,
v: hsv.v
};
} // Wrapper function ported from TinyColor.prototype.toHexString
// Keep it here because of the prefix `#`
function toHex(_ref2) {
var r = _ref2.r,
g = _ref2.g,
b = _ref2.b;
return "#".concat((0,conversion/* rgbToHex */.vq)(r, g, b, false));
} // Wrapper function ported from TinyColor.prototype.mix, not treeshakable.
// Amount in range [0, 1]
// Assume color1 & color2 has no alpha, since the following src code did so.
function mix(rgb1, rgb2, amount) {
var p = amount / 100;
var rgb = {
r: (rgb2.r - rgb1.r) * p + rgb1.r,
g: (rgb2.g - rgb1.g) * p + rgb1.g,
b: (rgb2.b - rgb1.b) * p + rgb1.b
};
return rgb;
}
function getHue(hsv, i, light) {
var hue; // 根据色相不同,色相转向不同
if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {
hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;
} else {
hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;
}
if (hue < 0) {
hue += 360;
} else if (hue >= 360) {
hue -= 360;
}
return hue;
}
function getSaturation(hsv, i, light) {
// grey color don't change saturation
if (hsv.h === 0 && hsv.s === 0) {
return hsv.s;
}
var saturation;
if (light) {
saturation = hsv.s - saturationStep * i;
} else if (i === darkColorCount) {
saturation = hsv.s + saturationStep;
} else {
saturation = hsv.s + saturationStep2 * i;
} // 边界值修正
if (saturation > 1) {
saturation = 1;
} // 第一格的 s 限制在 0.06-0.1 之间
if (light && i === lightColorCount && saturation > 0.1) {
saturation = 0.1;
}
if (saturation < 0.06) {
saturation = 0.06;
}
return Number(saturation.toFixed(2));
}
function getValue(hsv, i, light) {
var value;
if (light) {
value = hsv.v + brightnessStep1 * i;
} else {
value = hsv.v - brightnessStep2 * i;
}
if (value > 1) {
value = 1;
}
return Number(value.toFixed(2));
}
function generate(color) {
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var patterns = [];
var pColor = (0,format_input/* inputToRGB */.uA)(color);
for (var i = lightColorCount; i > 0; i -= 1) {
var hsv = toHsv(pColor);
var colorString = toHex((0,format_input/* inputToRGB */.uA)({
h: getHue(hsv, i, true),
s: getSaturation(hsv, i, true),
v: getValue(hsv, i, true)
}));
patterns.push(colorString);
}
patterns.push(toHex(pColor));
for (var _i = 1; _i <= darkColorCount; _i += 1) {
var _hsv = toHsv(pColor);
var _colorString = toHex((0,format_input/* inputToRGB */.uA)({
h: getHue(_hsv, _i),
s: getSaturation(_hsv, _i),
v: getValue(_hsv, _i)
}));
patterns.push(_colorString);
} // dark theme patterns
if (opts.theme === 'dark') {
return darkColorMap.map(function (_ref3) {
var index = _ref3.index,
opacity = _ref3.opacity;
var darkColorString = toHex(mix((0,format_input/* inputToRGB */.uA)(opts.backgroundColor || '#141414'), (0,format_input/* inputToRGB */.uA)(patterns[index]), opacity * 100));
return darkColorString;
});
}
return patterns;
}
;// CONCATENATED MODULE: ./node_modules/@ant-design/icons/node_modules/@ant-design/colors/es/index.js
var presetPrimaryColors = {
red: '#F5222D',
volcano: '#FA541C',
orange: '#FA8C16',
gold: '#FAAD14',
yellow: '#FADB14',
lime: '#A0D911',
green: '#52C41A',
cyan: '#13C2C2',
blue: '#1677FF',
geekblue: '#2F54EB',
purple: '#722ED1',
magenta: '#EB2F96',
grey: '#666666'
};
var presetPalettes = {};
var presetDarkPalettes = {};
Object.keys(presetPrimaryColors).forEach(function (key) {
presetPalettes[key] = generate(presetPrimaryColors[key]);
presetPalettes[key].primary = presetPalettes[key][5]; // dark presetPalettes
presetDarkPalettes[key] = generate(presetPrimaryColors[key], {
theme: 'dark',
backgroundColor: '#141414'
});
presetDarkPalettes[key].primary = presetDarkPalettes[key][5];
});
var red = presetPalettes.red;
var volcano = presetPalettes.volcano;
var gold = presetPalettes.gold;
var orange = presetPalettes.orange;
var yellow = presetPalettes.yellow;
var lime = presetPalettes.lime;
var green = presetPalettes.green;
var cyan = presetPalettes.cyan;
var blue = presetPalettes.blue;
var geekblue = presetPalettes.geekblue;
var purple = presetPalettes.purple;
var magenta = presetPalettes.magenta;
var grey = presetPalettes.grey;
var gray = presetPalettes.grey;
// EXTERNAL MODULE: ./node_modules/rc-util/es/warning.js
var warning = __webpack_require__(80334);
// EXTERNAL MODULE: ./node_modules/rc-util/es/Dom/dynamicCSS.js
var dynamicCSS = __webpack_require__(44958);
;// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/utils.js
function utils_warning(valid, message) {
(0,warning/* default */.ZP)(valid, "[@ant-design/icons] ".concat(message));
}
function isIconDefinition(target) {
return (0,esm_typeof/* default */.Z)(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && ((0,esm_typeof/* default */.Z)(target.icon) === 'object' || typeof target.icon === 'function');
}
function normalizeAttrs() {
var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return Object.keys(attrs).reduce(function (acc, key) {
var val = attrs[key];
switch (key) {
case 'class':
acc.className = val;
delete acc.class;
break;
default:
acc[key] = val;
}
return acc;
}, {});
}
function utils_generate(node, key, rootProps) {
if (!rootProps) {
return /*#__PURE__*/react.createElement(node.tag, (0,objectSpread2/* default */.Z)({
key: key
}, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {
return utils_generate(child, "".concat(key, "-").concat(node.tag, "-").concat(index));
}));
}
return /*#__PURE__*/react.createElement(node.tag, (0,objectSpread2/* default */.Z)((0,objectSpread2/* default */.Z)({
key: key
}, normalizeAttrs(node.attrs)), rootProps), (node.children || []).map(function (child, index) {
return utils_generate(child, "".concat(key, "-").concat(node.tag, "-").concat(index));
}));
}
function getSecondaryColor(primaryColor) {
// choose the second color
return generate(primaryColor)[0];
}
function normalizeTwoToneColors(twoToneColor) {
if (!twoToneColor) {
return [];
}
return Array.isArray(twoToneColor) ? twoToneColor : [twoToneColor];
}
// These props make sure that the SVG behaviours like general text.
// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4
var svgBaseProps = {
width: '1em',
height: '1em',
fill: 'currentColor',
'aria-hidden': 'true',
focusable: 'false'
};
var iconStyles = "\n.anticon {\n display: inline-block;\n color: inherit;\n font-style: normal;\n line-height: 0;\n text-align: center;\n text-transform: none;\n vertical-align: -0.125em;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.anticon > * {\n line-height: 1;\n}\n\n.anticon svg {\n display: inline-block;\n}\n\n.anticon::before {\n display: none;\n}\n\n.anticon .anticon-icon {\n display: block;\n}\n\n.anticon[tabindex] {\n cursor: pointer;\n}\n\n.anticon-spin::before,\n.anticon-spin {\n display: inline-block;\n -webkit-animation: loadingCircle 1s infinite linear;\n animation: loadingCircle 1s infinite linear;\n}\n\n@-webkit-keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n";
var useInsertStyles = function useInsertStyles() {
var styleStr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : iconStyles;
var _useContext = (0,react.useContext)(Context),
csp = _useContext.csp,
prefixCls = _useContext.prefixCls;
var mergedStyleStr = styleStr;
if (prefixCls) {
mergedStyleStr = mergedStyleStr.replace(/anticon/g, prefixCls);
}
(0,react.useEffect)(function () {
(0,dynamicCSS/* updateCSS */.hq)(mergedStyleStr, '@ant-design-icons', {
prepend: true,
csp: csp
});
}, []);
};
;// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/components/IconBase.js
var _excluded = ["icon", "className", "onClick", "style", "primaryColor", "secondaryColor"];
var twoToneColorPalette = {
primaryColor: '#333',
secondaryColor: '#E6E6E6',
calculated: false
};
function setTwoToneColors(_ref) {
var primaryColor = _ref.primaryColor,
secondaryColor = _ref.secondaryColor;
twoToneColorPalette.primaryColor = primaryColor;
twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);
twoToneColorPalette.calculated = !!secondaryColor;
}
function getTwoToneColors() {
return (0,objectSpread2/* default */.Z)({}, twoToneColorPalette);
}
var IconBase = function IconBase(props) {
var icon = props.icon,
className = props.className,
onClick = props.onClick,
style = props.style,
primaryColor = props.primaryColor,
secondaryColor = props.secondaryColor,
restProps = (0,objectWithoutProperties/* default */.Z)(props, _excluded);
var colors = twoToneColorPalette;
if (primaryColor) {
colors = {
primaryColor: primaryColor,
secondaryColor: secondaryColor || getSecondaryColor(primaryColor)
};
}
useInsertStyles();
utils_warning(isIconDefinition(icon), "icon should be icon definiton, but got ".concat(icon));
if (!isIconDefinition(icon)) {
return null;
}
var target = icon;
if (target && typeof target.icon === 'function') {
target = (0,objectSpread2/* default */.Z)((0,objectSpread2/* default */.Z)({}, target), {}, {
icon: target.icon(colors.primaryColor, colors.secondaryColor)
});
}
return utils_generate(target.icon, "svg-".concat(target.name), (0,objectSpread2/* default */.Z)({
className: className,
onClick: onClick,
style: style,
'data-icon': target.name,
width: '1em',
height: '1em',
fill: 'currentColor',
'aria-hidden': 'true'
}, restProps));
};
IconBase.displayName = 'IconReact';
IconBase.getTwoToneColors = getTwoToneColors;
IconBase.setTwoToneColors = setTwoToneColors;
/* harmony default export */ var components_IconBase = (IconBase);
;// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/components/twoTonePrimaryColor.js
function setTwoToneColor(twoToneColor) {
var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),
_normalizeTwoToneColo2 = (0,slicedToArray/* default */.Z)(_normalizeTwoToneColo, 2),
primaryColor = _normalizeTwoToneColo2[0],
secondaryColor = _normalizeTwoToneColo2[1];
return components_IconBase.setTwoToneColors({
primaryColor: primaryColor,
secondaryColor: secondaryColor
});
}
function getTwoToneColor() {
var colors = components_IconBase.getTwoToneColors();
if (!colors.calculated) {
return colors.primaryColor;
}
return [colors.primaryColor, colors.secondaryColor];
}
;// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/components/AntdIcon.js
var AntdIcon_excluded = ["className", "icon", "spin", "rotate", "tabIndex", "onClick", "twoToneColor"];
// Initial setting
// should move it to antd main repo?
setTwoToneColor('#1890ff');
var Icon = /*#__PURE__*/react.forwardRef(function (props, ref) {
var _classNames;
var className = props.className,
icon = props.icon,
spin = props.spin,
rotate = props.rotate,
tabIndex = props.tabIndex,
onClick = props.onClick,
twoToneColor = props.twoToneColor,
restProps = (0,objectWithoutProperties/* default */.Z)(props, AntdIcon_excluded);
var _React$useContext = react.useContext(Context),
_React$useContext$pre = _React$useContext.prefixCls,
prefixCls = _React$useContext$pre === void 0 ? 'anticon' : _React$useContext$pre,
rootClassName = _React$useContext.rootClassName;
var classString = classnames_default()(rootClassName, prefixCls, (_classNames = {}, (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-").concat(icon.name), !!icon.name), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-spin"), !!spin || icon.name === 'loading'), _classNames), className);
var iconTabIndex = tabIndex;
if (iconTabIndex === undefined && onClick) {
iconTabIndex = -1;
}
var svgStyle = rotate ? {
msTransform: "rotate(".concat(rotate, "deg)"),
transform: "rotate(".concat(rotate, "deg)")
} : undefined;
var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),
_normalizeTwoToneColo2 = (0,slicedToArray/* default */.Z)(_normalizeTwoToneColo, 2),
primaryColor = _normalizeTwoToneColo2[0],
secondaryColor = _normalizeTwoToneColo2[1];
return /*#__PURE__*/react.createElement("span", (0,objectSpread2/* default */.Z)((0,objectSpread2/* default */.Z)({
role: "img",
"aria-label": icon.name
}, restProps), {}, {
ref: ref,
tabIndex: iconTabIndex,
onClick: onClick,
className: classString
}), /*#__PURE__*/react.createElement(components_IconBase, {
icon: icon,
primaryColor: primaryColor,
secondaryColor: secondaryColor,
style: svgStyle
}));
});
Icon.displayName = 'AntdIcon';
Icon.getTwoToneColor = getTwoToneColor;
Icon.setTwoToneColor = setTwoToneColor;
/* harmony default export */ var AntdIcon = (Icon);
/***/ }),
/***/ 66446:
/*!******************************************!*\
!*** ./src/pages/tasks/service/index.js ***!
\******************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "JW": function() { return /* binding */ setUnity3dStatus; },
/* harmony export */ "Kl": function() { return /* binding */ addVncTime; },
/* harmony export */ "L5": function() { return /* binding */ saveTaskStar; },
/* harmony export */ "MH": function() { return /* binding */ getChooseUnlockAnswer; },
/* harmony export */ "MI": function() { return /* binding */ addMyRepositoryFile; },
/* harmony export */ "Mu": function() { return /* binding */ openSSh; },
/* harmony export */ "OK": function() { return /* binding */ closeSSh; },
/* harmony export */ "Qo": function() { return /* binding */ getCodeGameStatus; },
/* harmony export */ "SO": function() { return /* binding */ fetchPathsTaskList; },
/* harmony export */ "Tf": function() { return /* binding */ resetGitCode; },
/* harmony export */ "XO": function() { return /* binding */ fetchTaskInfo; },
/* harmony export */ "Xy": function() { return /* binding */ codeGameBuild; },
/* harmony export */ "Y0": function() { return /* binding */ plusOrCancelPraise; },
/* harmony export */ "Yv": function() { return /* binding */ stopLogOutput; },
/* harmony export */ "ZH": function() { return /* binding */ commitFiles; },
/* harmony export */ "ZM": function() { return /* binding */ resetWindowsVnc; },
/* harmony export */ "bD": function() { return /* binding */ deleteMyGitFile; },
/* harmony export */ "fA": function() { return /* binding */ closeWindowsVnc; },
/* harmony export */ "g6": function() { return /* binding */ fetchTaskList; },
/* harmony export */ "g7": function() { return /* binding */ moveMyGitFile; },
/* harmony export */ "gT": function() { return /* binding */ fetchPictures; },
/* harmony export */ "gn": function() { return /* binding */ pullFiles; },
/* harmony export */ "h$": function() { return /* binding */ logOutput; },
/* harmony export */ "hG": function() { return /* binding */ resetPassedCode; },
/* harmony export */ "i8": function() { return /* binding */ getRanking; },
/* harmony export */ "j3": function() { return /* binding */ getUnlockAnswer; },
/* harmony export */ "ky": function() { return /* binding */ addWindowsVncTime; },
/* harmony export */ "lH": function() { return /* binding */ getAnswerInfo; },
/* harmony export */ "li": function() { return /* binding */ fetchCode; },
/* harmony export */ "n4": function() { return /* binding */ updateCode; },
/* harmony export */ "o4": function() { return /* binding */ openVmSSh; },
/* harmony export */ "pK": function() { return /* binding */ resetLinuxVnc; },
/* harmony export */ "pU": function() { return /* binding */ fetchRepos; },
/* harmony export */ "qK": function() { return /* binding */ restoreCode; },
/* harmony export */ "rt": function() { return /* binding */ resetVnc; },
/* harmony export */ "s9": function() { return /* binding */ addLinuxVncTime; },
/* harmony export */ "sP": function() { return /* binding */ getChooseAnswerInfo; },
/* harmony export */ "t$": function() { return /* binding */ unlockTestCase; },
/* harmony export */ "zl": function() { return /* binding */ evalateChooseGame; }
/* harmony export */ });
/* unused harmony exports updateCostTime, getNoticeDetail, getMyFileContent */
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js */ 17061);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/asyncToGenerator.js */ 17156);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/objectSpread2.js */ 42122);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/utils/fetch */ 84519);
/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/utils/util */ 29427);
var _getJsonFromUrl, _getJsonFromUrl2;
//判断是否来自教学课堂助教查看实训
var urlParams = (_getJsonFromUrl = (0,_utils_util__WEBPACK_IMPORTED_MODULE_4__/* .getJsonFromUrl */ .oP)()) !== null && _getJsonFromUrl !== void 0 && _getJsonFromUrl.homework_common_id ? {
homework_common_id: (_getJsonFromUrl2 = (0,_utils_util__WEBPACK_IMPORTED_MODULE_4__/* .getJsonFromUrl */ .oP)()) === null || _getJsonFromUrl2 === void 0 ? void 0 : _getJsonFromUrl2.homework_common_id
} : {};
function fetchTaskInfo(id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("tasks/".concat(id, ".json"), urlParams);
}
function fetchTaskList(id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("myshixuns/".concat(id, "/challenges.json"));
}
function fetchPathsTaskList(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("myshixuns/".concat(id, "/subject_challenges.json"), params);
}
function saveTaskStar(id, shixunId, star) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("tasks/".concat(id, "/star.json?shixun_id=").concat(shixunId, "&star=").concat(star));
}
function fetchCode(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("tasks/".concat(id, "/rep_content.json"), _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()({}, params), urlParams));
}
function updateCode(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .post */ .v_)("myshixuns/".concat(id, "/update_file.json"), params);
}
function restoreCode(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("tasks/".concat(id, "/reset_original_code.json"), _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()({}, params), urlParams));
}
function resetGitCode(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .post */ .v_)("myshixuns/".concat(id, "/reset_repository.json"), params);
}
function resetPassedCode(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("tasks/".concat(id, "/reset_passed_code.json"), _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()({}, params), urlParams));
}
function codeGameBuild(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .post */ .v_)("tasks/".concat(id, "/game_build.json"), _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()({}, params), urlParams));
}
function getCodeGameStatus(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("tasks/".concat(id, "/game_status.json"), _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()({}, params), urlParams));
}
function evalateChooseGame(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .post */ .v_)("tasks/".concat(id, "/choose_build.json"), _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()({}, params), urlParams));
}
function fetchPictures(id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("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,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .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,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .post */ .v_)("myshixuns/".concat(id, "/repository.json"), params);
}
function openSSh(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("myshixuns/".concat(id, "/start.json"), params || {});
}
function openVmSSh(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("myshixuns/".concat(id, "/start.json"), params || {});
}
function closeSSh(id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("myshixuns/".concat(id, "/reset_pod.json"));
}
function resetVnc(params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("myshixuns/".concat(params.myshixunId, "/reset_pod.json"), {
game_id: params.game_id
});
}
// 所有环境重置都可以使用此方法
function resetWindowsVnc(params) {
// return post(`tasks/${id}/reset_windows_vnc_link.json`);
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("myshixuns/".concat(params.myshixunId, "/reset_pod.json"), {
game_id: params.game_id
});
}
function resetLinuxVnc(params) {
var id = params.myshixunId;
delete params.myshixunId;
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("myshixuns/".concat(id, "/reset_pod.json"), _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()({
game_id: params.game_id
}, params));
}
function unlockTestCase(id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("tasks/".concat(id, "/check_test_sets.json"));
}
function getAnswerInfo(id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("tasks/".concat(id, "/get_answer_info.json"));
}
function getChooseAnswerInfo(id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("tasks/".concat(id, "/get_choose_answer.json"));
}
function getChooseUnlockAnswer(id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("tasks/".concat(id, "/unlock_choose_answer.json"));
}
function getUnlockAnswer(id, aid) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("tasks/".concat(id, "/unlock_answer.json?answer_id=").concat(aid));
}
function setUnity3dStatus(id, result, data) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .post */ .v_)("tasks/".concat(id, "/set_games_status.json"), {
result: result,
data: data
});
}
function addVncTime(id, game_id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("myshixuns/".concat(id, "/active_pod.json?game_id=").concat(game_id));
}
// 所有延时都改成了此接口,旧接口依旧可用
function addWindowsVncTime(id, game_id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/myshixuns/".concat(id, "/active_pod.json"), {
method: 'get',
params: {
template_id: window.sessionStorage.imageId || '',
game_id: game_id
}
});
}
function addLinuxVncTime(id, game_id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("myshixuns/".concat(id, "/active_pod.json?game_id=").concat(game_id));
}
function getRanking(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("tasks/".concat(id, "/rank_list.json"), params);
}
function closeWindowsVnc(id, tpi_id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .post */ .v_)("tasks/".concat(id, "/close_windows_vnc.json"), {
tpi_id: tpi_id
});
}
function commitFiles(id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("tasks/".concat(id, "/commit_files.json"));
}
function pullFiles(id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("tasks/".concat(id, "/pull_files.json"));
}
function logOutput(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .post */ .v_)("tasks/".concat(id, "/log_output"), params);
}
function stopLogOutput(id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("tasks/".concat(id, "/stop_log_output.json"));
}
// myshixuns start
function addMyRepositoryFile(_x) {
return _addMyRepositoryFile.apply(this, arguments);
}
function _addMyRepositoryFile() {
_addMyRepositoryFile = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee(params) {
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___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/myshixuns/".concat(params.id, "/add_file.json"), {
method: 'post',
body: params
}));
case 1:
case "end":
return _context.stop();
}
}, _callee);
}));
return _addMyRepositoryFile.apply(this, arguments);
}
function deleteMyGitFile(_x2) {
return _deleteMyGitFile.apply(this, arguments);
}
function _deleteMyGitFile() {
_deleteMyGitFile = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee2(params) {
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___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/myshixuns/".concat(params.id, "/delete_git_file.json"), {
method: 'Delete',
body: params
}));
case 1:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return _deleteMyGitFile.apply(this, arguments);
}
function moveMyGitFile(_x3) {
return _moveMyGitFile.apply(this, arguments);
}
function _moveMyGitFile() {
_moveMyGitFile = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee3(params) {
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___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.id, "/mv_file.json"), {
method: 'post',
body: params
}));
case 1:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return _moveMyGitFile.apply(this, arguments);
}
function getMyFileContent(_x4) {
return _getMyFileContent.apply(this, arguments);
}
function _getMyFileContent() {
_getMyFileContent = _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/tasks/".concat(params.id, "/rep_content.json"), {
method: 'get',
params: params
}));
case 1:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return _getMyFileContent.apply(this, arguments);
}
/***/ }),
/***/ 38054:
/*!******************************************************!*\
!*** ./src/components/Spinner/index.tsx + 1 modules ***!
\******************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ Spinner; }
});
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules
var _umi_production_exports = __webpack_require__(89214);
;// CONCATENATED MODULE: ./src/components/Spinner/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Spinnermodules = ({"ldsRing":"ldsRing___mpBZC","idsRingWrapper":"idsRingWrapper___Of9_n","ldsring":"ldsring___o0w2t"});
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// CONCATENATED MODULE: ./src/components/Spinner/index.tsx
/* harmony default export */ var Spinner = (function (_ref) {
var message = _ref.message,
className = _ref.className,
children = _ref.children,
_ref$style = _ref.style,
style = _ref$style === void 0 ? {} : _ref$style;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "".concat(Spinnermodules.idsRingWrapper, " ").concat(className),
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Spinnermodules.ldsRing,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {})]
}), message ? /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
style: style,
children: message
}) : null, /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Outlet, {})]
});
});
/***/ }),
/***/ 12264:
/*!**********************************!*\
!*** ./src/components/modal.tsx ***!
\**********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "Z": function() { return /* binding */ Dialog; }
/* harmony export */ });
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_classCallCheck_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/classCallCheck.js */ 56690);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_classCallCheck_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_classCallCheck_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_createClass_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/createClass.js */ 89728);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_createClass_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_createClass_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_inherits_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/inherits.js */ 61655);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_inherits_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_inherits_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_createSuper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/createSuper.js */ 26389);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_createSuper_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_createSuper_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ 67294);
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-dom */ 73935);
var Dialog = /*#__PURE__*/function (_React$Component) {
_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_inherits_js__WEBPACK_IMPORTED_MODULE_2___default()(Dialog, _React$Component);
var _super = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_createSuper_js__WEBPACK_IMPORTED_MODULE_3___default()(Dialog);
function Dialog(props) {
var _this;
_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_classCallCheck_js__WEBPACK_IMPORTED_MODULE_0___default()(this, Dialog);
_this = _super.call(this, props);
var doc = window.document;
_this.node = doc.createElement('div');
doc.body.appendChild(_this.node);
return _this;
}
_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_createClass_js__WEBPACK_IMPORTED_MODULE_1___default()(Dialog, [{
key: "render",
value: function render() {
var children = this.props.children;
return /*#__PURE__*/(0,react_dom__WEBPACK_IMPORTED_MODULE_5__.createPortal)(children, this.node);
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
window.document.body.removeChild(this.node);
}
}]);
return Dialog;
}(react__WEBPACK_IMPORTED_MODULE_4__.Component);
/***/ }),
/***/ 52510:
/*!**************************************!*\
!*** ./src/pages/Terminal/index.tsx ***!
\**************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js */ 17061);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/objectSpread2.js */ 42122);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/asyncToGenerator.js */ 17156);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/slicedToArray.js */ 27424);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ 67294);
/* harmony import */ var umi__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! umi */ 89214);
/* harmony import */ var _pages_tasks_xterm_panel__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/pages/tasks/xterm-panel */ 77441);
/* harmony import */ var _pages_tasks_vnc_view_vnc_panel__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/pages/tasks/vnc-view/vnc-panel */ 43828);
/* harmony import */ var _pages_tasks_vnc_view_index_less__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/pages/tasks/vnc-view/index.less */ 45954);
/* harmony import */ var _components_mediator__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/components/mediator */ 91562);
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/utils/fetch */ 84519);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react/jsx-runtime */ 85893);
var ClassroomListPage = function ClassroomListPage(_ref) {
var classroomList = _ref.classroomList,
globalSetting = _ref.globalSetting,
loading = _ref.loading,
dispatch = _ref.dispatch;
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)({}),
_useState2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default()(_useState, 2),
sshConfigData = _useState2[0],
setSshConfigData = _useState2[1];
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)({
"st": 0,
"discusses_count": 0,
"game_count": 4,
"record_consume_time": null,
"prev_game": null,
"next_game": "cfwqv7lsi5pj",
"praise_count": 0,
"user_praise": false,
"time_limit": 9,
"tomcat_url": "http://121.40.224.66",
"is_teacher": true,
"myshixun_manager": true,
"game": {
"id": 2192586,
"myshixun_id": 576993,
"user_id": 1,
"created_at": "2021-03-16T20:38:10.000+08:00",
"updated_at": "2021-03-16T21:28:37.000+08:00",
"status": 0,
"final_score": 0,
"challenge_id": 11829,
"open_time": "2021-03-16T20:38:12.000+08:00",
"identifier": "pcf9t4w6vrnz",
"answer_open": 0,
"end_time": null,
"retry_status": 0,
"resubmit_identifier": null,
"test_sets_view": false,
"picture_path": null,
"accuracy": null,
"modify_time": "2020-07-20T15:04:34.000+08:00",
"star": 0,
"cost_time": 847,
"evaluate_count": 0,
"answer_deduction": 0,
"play_time": null,
"play_sign": 0,
"extend_score": null,
"score_radio": 0.0,
"exericse_evaluate_count": 0,
"exercise_finished_at": null,
"homework_common_answer_open": false
},
"challenge": {
"id": 11829,
"shixun_id": 5207,
"subject": "元组使用:这份菜单能修改吗?",
"position": 1,
"task_pass": "[TOC]\n\n---\n####任务描述\n\n元组看起来犹如列表但元组使用圆括号``而不是`[]`来标识,而且列表的元素可以修改,但元组的元素不能修改。本关介绍元组的常见使用方法以及元组和列表的使用区别。下面用饭店菜单的例子来说明列表和元组使用的应用场景。\n\n现在有一个餐馆要向每个包厢都投放两份菜单菜单上有4种菜名我们想将两个菜单上最后一道菜名互换一下也想快速知道改变后的两份菜单上单词首字母最大的菜名。而我们首先需要判断该用列表的方法还是元组的方法实现这个目标。\n\n为了实现这个目标我们需要先学习元组的相关使用知识以及元组与列表的区别。\n\n####相关知识\n\n#####元组与列表\n元组与列表很相似两者之间的差别在于列表在初始化后其中的元素还可以进行增删改等操作但是元组在初始化后其中的元素不能进行更改列表在赋值时使用方括号`[]`,而元组在赋值时使用小括号`()`。因为元组具有不可变的特性,所以在能用元组替代列表的地方最好都使用元组,这样代码更安全。\n\n#####创建元组\n元组创建很简单只需要在括号`()`中添加元素,元素之间用逗号隔开。元组中只包含单个元素时,需要在该元素后面添加逗号,例如:\n\n`menu1 = ('meat','fish','chicken')`\n`menu2 = ('meat',)`\n**![,](/api/attachments/386428)**\n#####访问元组\n元组和列表一样可以使用下标索引来访问元组中的值例如:\n\n```python\nmenu = ('meat','fish','chicken','carrot')\nprint(menu[0])\nprint(menu[1:3])\n```\n\n输出结果\n\n`meat`\n`('fish', 'chicken')`\n\n#####修改元组\n\n元组中的元素值是不可以修改的如果强行修改会报错例如如果我们想修改元组`menu`中的某个值:\n\n```python\nmenu = ('meat','fish','chicken','carrot')\nmenu[0] = 'pizza'\nprint(menu[0])\n```\n\n输出结果\n\n`TypeError: 'tuple' object does not support item assignment`\n\n系统会自动报错元组中的元素值不支持修改。\n\n#####元组内置函数\n\n元组和列表一样都有一些内置函数方便编程。例如\n\n`len(tuple)`:计算元组中元素个数。\n\n`max(tuple)`:返回元组中元素的最大值。\n\n`min(tuple)`:返回元组中元素的最小值。\n\n`tuple(seq)`:将列表转换为元组。\n\n元组中的元素是不能改变的它也没有`append()``insert()`这样的方法。但其他获取元素的方法和列表是一样的。\n\n####编程要求\n\n本关的编程任务是补全`src/Step1/menu_test.py`文件的代码内容,实现如下功能:\n\n- 将输入的菜单menu_list转换为元组类型\n- 打印输出生成的元组\n- 打印输出元组中首字母最大的元素\n\n本关涉及的代码文件`src/Step1/menu_test.py`的代码框架如下:\n\n```python\n# coding=utf-8\n\n# 创建并初始化munu_list列表\nmenu_list = []\nwhile True:\n\ttry:\n\t\tfood = input()\n\t\tmenu_list.append(food)\n\texcept:\n\t\tbreak\n\n# 请在此添加代码对menu_list进行元组转换以及元组计算等操作并打印输出元组及元组最大的元素\n###### Begin ######\n\n\n\n\n####### End #######\n```\n\n####测试说明\n\n本关的测试文件是`src/Step1/menu_test.py`,测试过程如下:\n\n1. 平台自动编译并运行`menu_test.py`,并以标准输入方式提供测评输入;\n3. 平台获取程序的输出,然后将其与预期输出对比,如果一致则测试通过;否则测试失败。\n\n以下是平台对`src/Step1/menu_test.py`的样例测试集:\n\n测试输入\n`beef`\n`veal`\n`lamb`\n`pork`\n预期输出\n`('beef', 'veal', 'lamb', 'pork')`\n`veal`\n\n测试输入\n`duck`\n`broth`\n`fish`\n`macaroni`\n预期输出\n`('duck', 'broth', 'fish', 'macaroni')`\n`macaroni`\n\n开始你的任务吧祝你成功\n\n如果你希望成功以恒心为良友以经验为参谋以小心为兄弟以希望为哨兵。\n\n![](/api/attachments/171251)",
"score": 100,
"path": "src/step1/menu_test.py",
"difficulty": 1,
"st": 0,
"web_route": null,
"modify_time": "2020-07-20T15:04:34.000+08:00",
"exec_time": 9,
"praises_count": 0,
"ignore_space": 1,
"open_rank": "CLOSE",
"hide_answer": false,
"disable_copy": false
},
"shixun": {
"id": 5207,
"name": "Python元组与字典入门",
"user_id": 1,
"gpid": null,
"visits": 17,
"created_at": "2021-03-15T11:18:22.000+08:00",
"updated_at": "2021-03-16T20:38:08.000+08:00",
"status": 0,
"language": "Python3.6",
"authentication": false,
"identifier": "pmrfko5h",
"trainee": 1,
"major_id": 635,
"webssh": 0,
"homepage_show": false,
"hidden": false,
"fork_from": 3028,
"can_copy": false,
"modify_time": "2017-10-11T09:45:02.000+08:00",
"reset_time": "2017-10-11T09:45:02.000+08:00",
"publish_time": "2019-08-02T11:30:27.000+08:00",
"closer_id": null,
"end_time": null,
"git_url": "eduforge/afvk9r35-1",
"myshixuns_count": 1,
"challenges_count": 4,
"use_scope": 0,
"mirror_script_id": null,
"image_text": null,
"show_code_dir": false,
"task_pass": false,
"exec_time": 145,
"test_set_permission": true,
"sigle_training": false,
"hide_code": false,
"multi_webssh": false,
"excute_time": null,
"repo_name": "innov/pmrfko5h20210315111822",
"averge_star": 5.0,
"opening_time": null,
"users_count": 1,
"forbid_copy": false,
"pod_life": 0,
"code_edit_permission": false,
"laboratory_id": null,
"vip": false,
"is_jupyter": false,
"public": 0,
"is_wechat_support": true,
"to_be_built": false,
"prebuild_click_count": 0,
"display_git_address": false,
"delete_user_id": null,
"sticky": 0
},
"myshixun": {
"id": 576993,
"shixun_id": 5207,
"is_public": true,
"user_id": 1,
"gpid": null,
"created_at": "2021-03-16T20:38:10.000+08:00",
"updated_at": "2021-03-16T21:28:39.000+08:00",
"status": 0,
"identifier": "ln7i95zmef",
"commit_id": "c170e4ad0cb670cd610754f374af5f35974f4f8a",
"modify_time": "2017-10-11T09:45:02.000+08:00",
"reset_time": "2017-10-11T09:45:02.000+08:00",
"system_tip": false,
"git_url": null,
"onclick_time": "2021-03-16T20:38:10.000+08:00",
"repo_name": "innov/ln7i95zmef20210316203810",
"hidden": false,
"reset_repository_user_id": null
},
"rank_name": null,
"windows_vnc": true,
"user": {
"user_id": 1,
"login": "innov",
"name": "99999",
"grade": 368953,
"identity": 1,
"image_url": "avatars/User/1?t=1593675434",
"school": "",
"user_url": "/users/innov"
},
"tpm_modified": false,
"tpm_cases_modified": false,
"mirror_name": ["Python3.6"],
"has_answer": true,
"mirror_description": ["##### 适用场景\r\n程序设计、网络爬虫、图像处理、大数据、人工智能\r\n##### 包含的热门库\r\nbasemap;beautifulsoup4;Django;Flask;Keras;matplotlib;numpy;opencv;pip;PyMySQL;Scrapy;tensorflow;torch;pandas;tensorboard;requests;scikit-learn\r\n##### 已安装库列表:\r\nabsl-py;asn1crypto;astor;attrs;Automat;backcall;baidu-aip;basemap;beautifulsoup4;bleach;blinker;blis;bokeh;boto;boto3;botocore;cachetools;catalogue;certifi;cffi;chardet;click;constantly;crypto;cryptography;cssselect;cssutils;cycler;cymem;Cython;decorator;Django;dlib;dnspython;docutils;dominate;dpkt;dyNET;EasyProcess;et-xmlfile;ExifRead;face-recognition;face-recognition-models;ffmpeg;Flask;Flask-Bootstrap;Flask-Mail;Flask-SQLAlchemy;Flask-WTF;fonttools;gast;gensim;gpt-2-simple;graphviz;grpcio;h5py;html5lib;hyperlink;idna;importlib-metadata;incremental;IPy;ipython;ipython-genutils;itsdangerous;jdcal;jedi;jieba;Jinja2;jmespath;JPype1;Keras;Keras-Applications;Keras-Preprocessing;kiwisolver;lightgbm;llvmlite;lxml;Markdown;MarkupSafe;matplotlib;mpmath;murmurhash;mysql-connector;mysqlclient;Naked;networkx;nltk;numba;numpy;olefile;opencv-contrib-python;opencv-python;openpyxl;packaging;pandas;parsel;parso;patsy;pexpect;pickleshare;Pillow;pip;plac;popen;premailer;preshed;prettytable;prompt-toolkit;protobuf;psutil;ptyprocess;py4j;pyasn1;pyasn1-modules;PyAudio;pycparser;pycryptodome;pycurl;PyDispatcher;pydub;pyecharts;PyExecJS;Pygments;pygraphviz;pyhanlp;pymongo;PyMySQL;pyOpenSSL;pyparsing;PyPDF2;pyproj;pyquery;pyshp;pyspark;python-dateutil;python-docx;pyttsx3;pytz;PyVirtualDisplay;PyYAML;queuelib;regex;requests;rsa;s3transfer;scapy;scikit-learn;scipy;Scrapy;seaborn;selenium;service-identity;setuptools;shellescape;simplejson;six;smart-open;snapshot-phantomjs;snownlp;soupsieve;spacy;SQLAlchemy;srsly;statsmodels;sympy;tensorboard;tensorflow;tensorflow-tensorboard;termcolor;thinc;toposort;torch;torchvision;tornado;tqdm;traitlets;Twisted;urllib3;visitor;w3lib;wasabi;wcwidth;Werkzeug;wheel;wikipedia;wordcloud;WTForms;xgboost;xlrd;XlsxWriter;xlwt;z3-solver;zipp;zope.interface"],
"test_sets": [{
"is_public": true,
"result": null,
"input": "pizza\nch icken\nca rrot\nturkey\nbanana",
"output": "('piz za', 'chicken', 'carrot', 'turkey', 'banana')\nturkey\n",
"actual_output": null,
"compile_success": null,
"ts_time": null,
"ts_mem": null
}, {
"is_public": true,
"result": null,
"input": "potato\r\nagaric\r\nbeet\r\ntomato",
"output": "('potato', 'agaric', 'beet', 'tomato')\ntomato\n",
"actual_output": null,
"compile_success": null,
"ts_time": null,
"ts_mem": null
}, {
"is_public": false,
"result": null,
"input": "Spring Rolls\r\nLobster slices\r\nFried Wonton\r\nFried seaweed\r\nShrimp stoast\r\nWonton soup\r\nshark fin soup",
"output": "('Spring Rolls', 'Lobster slices', 'Fried Wonton', 'Fried seaweed', 'Shrimp stoast', 'Wonton soup', 'shark fin soup')\nshark fin soup\n",
"actual_output": null,
"compile_success": null,
"ts_time": null,
"ts_mem": null
}, {
"is_public": false,
"result": null,
"input": "turkey\r\nduck\r\nagaric\r\nlamb",
"output": "('turkey', 'duck', 'agaric', 'lamb')\nturkey\n",
"actual_output": null,
"compile_success": null,
"ts_time": null,
"ts_mem": null
}, {
"is_public": false,
"result": null,
"input": "Fried seaweed",
"output": "('Fried seaweed',)\nFried seaweed\n",
"actual_output": null,
"compile_success": null,
"ts_time": null,
"ts_mem": null
}],
"allowed_unlock": true,
"test_sets_count": null,
"sets_error_count": null
}),
_useState4 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default()(_useState3, 2),
taskData = _useState4[0],
setTaskData = _useState4[1];
var params = (0,umi__WEBPACK_IMPORTED_MODULE_5__.useParams)();
var _useSearchParams = (0,umi__WEBPACK_IMPORTED_MODULE_5__.useSearchParams)(),
_useSearchParams2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
var total;
(0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {
// setTimeout(() => {
// setSshConfigData({
// "host": "172.16.95.1",
// "port": "40468",
// "ws_url": "wss://pre-webssh.educoder.net/ws",
// "username": "root",
// "password": "123123",
// "game_id": 28296,
// "webssh_url": "http://pre-bridge.educoder.net/bridge"
// })
// },500)
getData();
}, []);
(0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {
if (sshConfigData.host) {
setTimeout(function () {
_components_mediator__WEBPACK_IMPORTED_MODULE_9__/* ["default"].publish */ .Z.publish('create-socket', 1);
}, 500);
}
}, [sshConfigData]);
// classroomList.courses_count
var getData = /*#__PURE__*/function () {
var _ref2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee() {
var res;
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (!(searchParams.get("type") === 'terminal')) {
_context.next = 5;
break;
}
_context.next = 3;
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .ZP)("/api/myshixuns/".concat(searchParams.get("taskId") || 'f3n9o5xvik', "/open_webssh.json"), {
method: "get"
});
case 3:
res = _context.sent;
setSshConfigData(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_1___default()({}, res));
case 5:
if (searchParams.get("type") === 'windows') {}
case 6:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getData() {
return _ref2.apply(this, arguments);
};
}();
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("section", {
style: {
position: "fixed",
width: "100%",
height: "100%",
zIndex: 22,
top: 0,
right: 0,
bottom: 0,
left: 0
},
children: [searchParams.get("type") === 'terminal' && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_pages_tasks_xterm_panel__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
sshConfigData: sshConfigData,
sid: 1
}), searchParams.get("type") !== 'terminal' && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_pages_tasks_vnc_view_vnc_panel__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
taskId: searchParams.get("type") === 'windows' ? 'pcf9t4w6vrnz' : 'ijby95c82nsh',
vnc_url: searchParams.get("type") === 'vnc' ? true : false,
window_vnc_url: searchParams.get("type") === 'windows' ? true : false,
taskData: taskData
})]
});
};
/* harmony default export */ __webpack_exports__["default"] = ((0,umi__WEBPACK_IMPORTED_MODULE_5__.connect)(function (_ref3) {
var classroomList = _ref3.classroomList,
loading = _ref3.loading,
globalSetting = _ref3.globalSetting;
return {
classroomList: classroomList,
globalSetting: globalSetting,
loading: loading.models.classroomList
};
})(ClassroomListPage));
/***/ }),
/***/ 43828:
/*!******************************************************************!*\
!*** ./src/pages/tasks/vnc-view/vnc-panel/index.tsx + 3 modules ***!
\******************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ vnc_panel; }
});
// EXTERNAL MODULE: ./node_modules/antd/es/progress/style/index.js + 1 modules
var style = __webpack_require__(57273);
// EXTERNAL MODULE: ./node_modules/antd/es/progress/index.js + 10 modules
var progress = __webpack_require__(97910);
// EXTERNAL MODULE: ./node_modules/antd/es/row/style/index.js
var row_style = __webpack_require__(13062);
// EXTERNAL MODULE: ./node_modules/antd/es/row/index.js
var row = __webpack_require__(71230);
// EXTERNAL MODULE: ./node_modules/antd/es/button/style/index.js + 1 modules
var button_style = __webpack_require__(29913);
// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js
var es_button = __webpack_require__(71577);
// EXTERNAL MODULE: ./node_modules/antd/es/col/style/index.js
var col_style = __webpack_require__(89032);
// EXTERNAL MODULE: ./node_modules/antd/es/col/index.js
var col = __webpack_require__(15746);
// EXTERNAL MODULE: ./node_modules/antd/es/message/style/index.js + 1 modules
var message_style = __webpack_require__(14934);
// EXTERNAL MODULE: ./node_modules/antd/es/message/index.js + 1 modules
var message = __webpack_require__(12461);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(17061);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/antd/es/modal/style/index.js + 1 modules
var modal_style = __webpack_require__(35611);
// EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 7 modules
var modal = __webpack_require__(85402);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(17156);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js
var createForOfIteratorHelper = __webpack_require__(74704);
var createForOfIteratorHelper_default = /*#__PURE__*/__webpack_require__.n(createForOfIteratorHelper);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(27424);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(42122);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./src/components/Spinner/index.tsx + 1 modules
var Spinner = __webpack_require__(38054);
// EXTERNAL MODULE: ./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js
var ResizeObserver_es = __webpack_require__(91033);
// EXTERNAL MODULE: ./src/components/modal.tsx
var components_modal = __webpack_require__(12264);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules
var _umi_production_exports = __webpack_require__(89214);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(29427);
// EXTERNAL MODULE: ./node_modules/@novnc/novnc/lib/rfb.js
var lib_rfb = __webpack_require__(2176);
// EXTERNAL MODULE: ./src/components/mediator.js
var mediator = __webpack_require__(91562);
// EXTERNAL MODULE: ./node_modules/antd/es/input/style/index.js + 1 modules
var input_style = __webpack_require__(69463);
// EXTERNAL MODULE: ./node_modules/antd/es/input/index.js + 5 modules
var input = __webpack_require__(75008);
;// CONCATENATED MODULE: ./src/pages/tasks/vnc-view/clipboard-box/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// CONCATENATED MODULE: ./src/pages/tasks/vnc-view/clipboard-box/index.tsx
var TextArea = input/* default.TextArea */.Z.TextArea;
/* harmony default export */ var clipboard_box = (function (_ref) {
var onCancel = _ref.onCancel,
onSave = _ref.onSave,
content = _ref.content;
var _useState = (0,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.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 */.Z, {
type: "ghost",
onClick: onCancel,
style: {
marginRight: 10
},
children: "\u53D6\u6D88"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
type: "primary",
onClick: onSaveContent,
children: "\u4FDD\u5B58"
})]
})]
});
});
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(84519);
// EXTERNAL MODULE: ./src/pages/tasks/service/index.js
var service = __webpack_require__(66446);
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/LoadingOutlined.js
var LoadingOutlined = __webpack_require__(79090);
// EXTERNAL MODULE: ./src/utils/fullscreen.ts
var fullscreen = __webpack_require__(15994);
;// CONCATENATED MODULE: ./src/pages/tasks/vnc-view/vnc-panel/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var vnc_panelmodules = ({"selectImage":"selectImage___GffZ_","container":"container___oEpZL"});
// EXTERNAL MODULE: ./node_modules/moment/moment.js
var moment = __webpack_require__(30381);
var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
;// CONCATENATED MODULE: ./src/pages/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;
(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";
})(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_virt5;
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.useRef)();
var guacaRef = (0,react.useRef)();
var rfbRef = (0,react.useRef)();
var iframeRef = (0,react.useRef)();
var _useState = (0,react.useState)(),
_useState2 = slicedToArray_default()(_useState, 2),
imageId = _useState2[0],
setImageId = _useState2[1];
var _useState3 = (0,react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
showImage = _useState4[0],
setShowImage = _useState4[1];
var _useReducer = (0,react.useReducer)(reducer, initialState),
_useReducer2 = slicedToArray_default()(_useReducer, 2),
state = _useReducer2[0],
dispatch = _useReducer2[1];
var _useState5 = (0,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.useState)(0),
_useState8 = slicedToArray_default()(_useState7, 2),
percent = _useState8[0],
setPercent = _useState8[1];
var timeout = (0,react.useRef)();
var params = (0,_umi_production_exports.useParams)();
var paramsd = params;
(0,react.useEffect)(function () {
window.addEventListener("visibilitychange", handleFocus);
return function () {
var _guacaRef$current, _guacaRef$current$dis;
(_guacaRef$current = guacaRef.current) === null || _guacaRef$current === void 0 ? void 0 : (_guacaRef$current$dis = _guacaRef$current.disconnect) === null || _guacaRef$current$dis === void 0 ? void 0 : _guacaRef$current$dis.call(_guacaRef$current);
window.removeEventListener("visibilitychange", handleFocus);
};
}, []);
(0,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 ? 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 ? 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.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 (moment_default()(new Date()).diff(moment_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 ? 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 ? void 0 : (_rfb$_eventHandlers = rfb._eventHandlers) === null || _rfb$_eventHandlers === void 0 ? 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, _taskData$myshixun, _res$data, _res$data$data_list;
var urlParams, res, _res$data2, _res$data3, _res$data4, _res$data4$cookie_opt;
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/myshixuns/".concat((_taskData$myshixun = taskData.myshixun) === null || _taskData$myshixun === void 0 ? void 0 : _taskData$myshixun.identifier, "/start.json"), {
method: "get",
params: objectSpread2_default()(objectSpread2_default()(objectSpread2_default()({}, params), urlParams), {}, {
template_id: imageId || ""
})
});
case 3:
res = _context3.sent;
if (!(res !== null && res !== void 0 && (_res$data = res.data) !== null && _res$data !== void 0 && (_res$data$data_list = _res$data.data_list) !== null && _res$data$data_list !== void 0 && _res$data$data_list.length)) {
_context3.next = 7;
break;
}
mediator/* default.publish */.Z.publish('pod-restrict-data', {
identifier: res === null || res === void 0 ? void 0 : (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.identifier,
data_list: res === null || res === void 0 ? void 0 : (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.data_list
});
return _context3.abrupt("return");
case 7:
if (!((res === null || res === void 0 ? void 0 : res.status) === -3)) {
_context3.next = 9;
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:
modal/* default.confirm */.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 (0,service/* closeWindowsVnc */.fA)(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 9:
if (!((res === null || res === void 0 ? void 0 : res.status) === -1)) {
_context3.next = 11;
break;
}
throw new String(res === null || res === void 0 ? void 0 : res.message);
case 11:
if (virtual_machine) {
(0,util/* setCookie */.d8)("PVEAuthCookie", res === null || res === void 0 ? void 0 : (_res$data4 = res.data) === null || _res$data4 === void 0 ? void 0 : (_res$data4$cookie_opt = _res$data4.cookie_options) === null || _res$data4$cookie_opt === void 0 ? void 0 : _res$data4$cookie_opt.cookies_value, 1);
(0,util/* setCookie */.d8)("PVELangCookie", "zh_CN", 1);
}
mediator/* default.publish */.Z.publish('update-windows-time', res === null || res === void 0 ? void 0 : res.data);
return _context3.abrupt("return", res);
case 14:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function getWindowVnc() {
return _ref2.apply(this, arguments);
};
}();
(0,react.useEffect)(function () {
var rfb;
var ro;
function onDisconnect(e) {
if (window_vnc_url) {
message/* default.warn */.ZP.warn('由于长时间未操作连接失效正在重新连接Windows VNC服务');
dispatch({
type: Types.SET_LOADING,
payload: true
});
setLinkNum(linkNum + 1);
}
}
mediator/* default.subscribe */.Z.subscribe('reset-linux-windows-loading', function () {
dispatch({
type: Types.SET_LOADING,
payload: true
});
});
mediator/* default.subscribe */.Z.subscribe('reset-linux-windos-vnc', function () {
setLinkNum(linkNum + 1);
});
function onConnect() {
setPercent(100);
clearTimeout(timeout.current);
setTimeout(function () {
rfbRef.current.resizeSession = false;
dispatch({
type: Types.SET_LOADING,
payload: false
});
}, 1300);
mediator/* default.subscribe */.Z.subscribe('send-ctrl-alt-delete', function () {
var _rfb;
(_rfb = rfb) === null || _rfb === void 0 ? void 0 : _rfb.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 ? 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 _taskData$shixun4;
var params, socketUrl, password, res, _res$data5, _res$data6, _res$data7, urlParser, protocol, searchParams, host, _taskData$myshixun2;
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
params = getJsonFromUrl();
socketUrl = '';
_context4.next = 4;
return getWindowVnc();
case 4:
res = _context4.sent;
if (!(linux_vnc || virtual_machine)) {
_context4.next = 11;
break;
}
iframeRef.current.src = (res === null || res === void 0 ? void 0 : (_res$data5 = res.data) === null || _res$data5 === void 0 ? void 0 : _res$data5.link_url) + '&time=' + Date.now();
dispatch({
type: Types.SET_STATE,
payload: {
loading: false,
mes: '实验环境重置中'
}
});
return _context4.abrupt("return");
case 11:
if (window_vnc_url) {
password = 'Edu123';
socketUrl = decodeURIComponent(res === null || res === void 0 ? void 0 : (_res$data6 = res.data) === null || _res$data6 === void 0 ? void 0 : _res$data6.link_url);
} else {
urlParser = new URL(decodeURIComponent(res === null || res === void 0 ? void 0 : (_res$data7 = res.data) === null || _res$data7 === void 0 ? void 0 : _res$data7.link_url)); //no IE11 support
protocol = urlParser.protocol, searchParams = urlParser.searchParams, host = urlParser.host;
password = searchParams.get('password');
socketUrl = "".concat(protocol === 'https:' ? 'wss' : 'ws', "://").concat(host, "/").concat(params.path || 'websockify');
}
case 12:
if (!((taskData === null || taskData === void 0 ? void 0 : (_taskData$shixun4 = taskData.shixun) === null || _taskData$shixun4 === void 0 ? void 0 : _taskData$shixun4.windows_connection_mode) === "rdp")) {
_context4.next = 18;
break;
}
onLayout();
iframeRef.current.style.cssText = iframeRef.current.style.cssText + "width:1920px;height:1080px;position:initial";
iframeRef.current.src = "/rdp.html?tpiId=".concat(taskData === null || taskData === void 0 ? void 0 : (_taskData$myshixun2 = taskData.myshixun) === null || _taskData$myshixun2 === void 0 ? void 0 : _taskData$myshixun2.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 _context4.abrupt("return");
case 18:
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 = params.scale || true;
rfb.showDotCursor = true;
rfb.resizeSession = true;
rfbRef.current = rfb;
rfb.addEventListener('disconnect', onDisconnect);
rfb.addEventListener('connect', onConnect);
rfb.addEventListener('clipboard', onClipboardReceive);
case 29:
case "end":
return _context4.stop();
}
}, _callee4);
})));
var unsub = mediator/* default.subscribe */.Z.subscribe('vnc-reseting', function () {
setPercent(0);
dispatch({
type: Types.SET_STATE,
payload: {
loading: true,
mes: '实验环境重置中'
}
});
});
var unSub2 = mediator/* default.subscribe */.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.subscribe */.Z.subscribe('show-clipboard-box', function () {
dispatch({
type: Types.SHOW_CLIPBOARD_BOX,
payload: true
});
});
setPercent(0);
return function () {
var _rfb2, _rfb3, _rfb4, _ro;
(_rfb2 = rfb) === null || _rfb2 === void 0 ? void 0 : _rfb2.removeEventListener('disconnect', onDisconnect);
(_rfb3 = rfb) === null || _rfb3 === void 0 ? void 0 : _rfb3.removeEventListener('connect', onConnect);
(_rfb4 = rfb) === null || _rfb4 === void 0 ? void 0 : _rfb4.removeEventListener('clipboard', onClipboardReceive);
unsub();
unSub2();
unSub3();
(_ro = ro) === null || _ro === void 0 ? void 0 : _ro.unobserve(el.current);
};
}
}, [vnc_url, window_vnc_url, linux_vnc, linkNum, imageId]);
(0,react.useEffect)(function () {
var _taskData$shixun_virt, _taskData$shixun_virt4;
if (virtual_machine && (taskData === null || taskData === void 0 ? 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, _taskData$shixun_virt3;
setImageId(taskData === null || taskData === void 0 ? void 0 : (_taskData$shixun_virt2 = taskData.shixun_virtual_templates) === null || _taskData$shixun_virt2 === void 0 ? void 0 : (_taskData$shixun_virt3 = _taskData$shixun_virt2[0]) === null || _taskData$shixun_virt3 === void 0 ? void 0 : _taskData$shixun_virt3.template_id);
} else if (virtual_machine && (taskData === null || taskData === void 0 ? void 0 : (_taskData$shixun_virt4 = taskData.shixun_virtual_templates) === null || _taskData$shixun_virt4 === void 0 ? void 0 : _taskData$shixun_virt4.length) > 1) {
setShowImage(true);
}
}, [virtual_machine]);
function clipboardSend(content) {
var _rfbRef$current2;
(_rfbRef$current2 = rfbRef.current) === null || _rfbRef$current2 === void 0 ? void 0 : _rfbRef$current2.clipboardPasteFrom(content);
dispatch({
type: Types.SET_TRANSFER_CONTENT,
payload: content
});
message/* default.success */.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.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.useMemo)(function () {
var _taskData$shixun5;
if (loading) {
return 'none';
}
if (linux_vnc || virtual_machine || window_vnc_url && (taskData === null || taskData === void 0 ? void 0 : (_taskData$shixun5 = taskData.shixun) === null || _taskData$shixun5 === void 0 ? void 0 : _taskData$shixun5.windows_connection_mode) === "rdp") {
return 'block';
} else {
return 'none';
}
}, [linux_vnc, loading, virtual_machine, window_vnc_url]);
return /*#__PURE__*/(0,jsx_runtime.jsxs)(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 ? void 0 : (_taskData$shixun_virt5 = taskData.shixun_virtual_templates) === null || _taskData$shixun_virt5 === void 0 ? void 0 : _taskData$shixun_virt5.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 */.Z, {
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: isLarge ? 54 : 40,
zIndex: 5,
width: "100%",
height: "calc(100% - ".concat(isLarge ? "100px" : "45px", ")")
},
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)(components_modal/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(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
})
})
})]
});
});
/***/ }),
/***/ 77441:
/*!***********************************************************!*\
!*** ./src/pages/tasks/xterm-panel/index.jsx + 1 modules ***!
\***********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ xterm_panel; }
});
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(42122);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(27424);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js
var createForOfIteratorHelper = __webpack_require__(74704);
var createForOfIteratorHelper_default = /*#__PURE__*/__webpack_require__.n(createForOfIteratorHelper);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/js-base64/base64.js
var base64 = __webpack_require__(19575);
// EXTERNAL MODULE: ./node_modules/xterm/lib/xterm.js
var xterm = __webpack_require__(12320);
// EXTERNAL MODULE: ./node_modules/xterm/css/xterm.css
var css_xterm = __webpack_require__(89629);
;// CONCATENATED MODULE: ./src/pages/tasks/xterm-panel/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var xterm_panelmodules = ({"xterm-panel":"xterm-panel___XA0p9"});
// EXTERNAL MODULE: ./src/components/mediator.js
var mediator = __webpack_require__(91562);
// EXTERNAL MODULE: ./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js
var ResizeObserver_es = __webpack_require__(91033);
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// CONCATENATED MODULE: ./src/pages/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) {
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.publish */.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.useState)(null),
_useState2 = slicedToArray_default()(_useState, 2),
term = _useState2[0],
setTerm = _useState2[1];
var link_url = sshConfigData.link_url,
password = sshConfigData.password,
port = sshConfigData.port;
var el = (0,react.useRef)();
var socket = (0,react.useRef)();
var isFirstConnected = (0,react.useRef)(false);
//term init
(0,react.useEffect)(function () {
if (el.current && link_url) {
var _term = new xterm.Terminal({
fontSize: 16,
rendererType: 'dom'
});
_term.open(el.current);
_term.onData(function (data) {
if (socket.current) {
if (socket.current.readyState === 1) {
socket.current.send(JSON.stringify({
tp: 'client',
data: data
}));
mediator/* default.publish */.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.dispose();
ro.unobserve(el.current);
};
}
}, [link_url, el.current]);
(0,react.useEffect)(function () {
if (term && link_url) {
var createSocket = function createSocket() {
var socketInstance = new WebSocket(link_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, link_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.subscribe */.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.subscribe */.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.subscribe */.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.subscribe */.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, link_url, port]);
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
ref: el,
className: xterm_panelmodules["xterm-panel"],
children: !link_url ? /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
style: {
color: '#fff'
},
children: "\u6B63\u5728\u8FDE\u63A5\u547D\u4EE4\u884C\u670D\u52A1..."
}) : null
});
});
/***/ }),
/***/ 45954:
/*!*********************************************!*\
!*** ./src/pages/tasks/vnc-view/index.less ***!
\*********************************************/
/***/ (function() {
"use strict";
// extracted by mini-css-extract-plugin
/***/ }),
/***/ 75008:
/*!*********************************************************!*\
!*** ./node_modules/antd/es/input/index.js + 5 modules ***!
\*********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ input; }
});
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
var esm_extends = __webpack_require__(87462);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
var defineProperty = __webpack_require__(4942);
// EXTERNAL MODULE: ./node_modules/classnames/index.js
var classnames = __webpack_require__(94184);
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js
var context = __webpack_require__(53124);
// EXTERNAL MODULE: ./node_modules/antd/es/form/context.js
var form_context = __webpack_require__(65223);
;// CONCATENATED MODULE: ./node_modules/antd/es/input/Group.js
var Group = function Group(props) {
var _classNames;
var _useContext = (0,react.useContext)(context/* ConfigContext */.E_),
getPrefixCls = _useContext.getPrefixCls,
direction = _useContext.direction;
var customizePrefixCls = props.prefixCls,
_props$className = props.className,
className = _props$className === void 0 ? '' : _props$className;
var prefixCls = getPrefixCls('input-group', customizePrefixCls);
var cls = classnames_default()(prefixCls, (_classNames = {}, (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-lg"), props.size === 'large'), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-sm"), props.size === 'small'), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-compact"), props.compact), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-rtl"), direction === 'rtl'), _classNames), className);
var formItemContext = (0,react.useContext)(form_context/* FormItemInputContext */.aM);
var groupFormItemContext = (0,react.useMemo)(function () {
return (0,esm_extends/* default */.Z)((0,esm_extends/* default */.Z)({}, formItemContext), {
isFormItemInput: false
});
}, [formItemContext]);
return /*#__PURE__*/react.createElement("span", {
className: cls,
style: props.style,
onMouseEnter: props.onMouseEnter,
onMouseLeave: props.onMouseLeave,
onFocus: props.onFocus,
onBlur: props.onBlur
}, /*#__PURE__*/react.createElement(form_context/* FormItemInputContext.Provider */.aM.Provider, {
value: groupFormItemContext
}, props.children));
};
/* harmony default export */ var input_Group = (Group);
// EXTERNAL MODULE: ./node_modules/antd/es/input/Input.js + 1 modules
var Input = __webpack_require__(82586);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
var slicedToArray = __webpack_require__(97685);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
var esm_typeof = __webpack_require__(71002);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js
var objectSpread2 = __webpack_require__(1413);
;// CONCATENATED MODULE: ./node_modules/@ant-design/icons-svg/es/asn/EyeInvisibleOutlined.js
// This icon file is generated automatically.
var EyeInvisibleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z" } }, { "tag": "path", "attrs": { "d": "M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z" } }] }, "name": "eye-invisible", "theme": "outlined" };
/* harmony default export */ var asn_EyeInvisibleOutlined = (EyeInvisibleOutlined);
// EXTERNAL MODULE: ./node_modules/antd/node_modules/@ant-design/icons/es/components/AntdIcon.js + 3 modules
var AntdIcon = __webpack_require__(93771);
;// CONCATENATED MODULE: ./node_modules/antd/node_modules/@ant-design/icons/es/icons/EyeInvisibleOutlined.js
// GENERATE BY ./scripts/generate.ts
// DON NOT EDIT IT MANUALLY
var EyeInvisibleOutlined_EyeInvisibleOutlined = function EyeInvisibleOutlined(props, ref) {
return /*#__PURE__*/react.createElement(AntdIcon/* default */.Z, (0,objectSpread2/* default */.Z)((0,objectSpread2/* default */.Z)({}, props), {}, {
ref: ref,
icon: asn_EyeInvisibleOutlined
}));
};
EyeInvisibleOutlined_EyeInvisibleOutlined.displayName = 'EyeInvisibleOutlined';
/* harmony default export */ var icons_EyeInvisibleOutlined = (/*#__PURE__*/react.forwardRef(EyeInvisibleOutlined_EyeInvisibleOutlined));
// EXTERNAL MODULE: ./node_modules/antd/node_modules/@ant-design/icons/es/icons/EyeOutlined.js + 1 modules
var EyeOutlined = __webpack_require__(7124);
// EXTERNAL MODULE: ./node_modules/rc-util/es/omit.js
var omit = __webpack_require__(98423);
// EXTERNAL MODULE: ./node_modules/rc-util/es/ref.js
var es_ref = __webpack_require__(42550);
// EXTERNAL MODULE: ./node_modules/antd/es/input/hooks/useRemovePasswordTimeout.js
var useRemovePasswordTimeout = __webpack_require__(72922);
;// CONCATENATED MODULE: ./node_modules/antd/es/input/Password.js
var __rest = undefined && undefined.__rest || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
}
return t;
};
var defaultIconRender = function defaultIconRender(visible) {
return visible ? /*#__PURE__*/react.createElement(EyeOutlined/* default */.Z, null) : /*#__PURE__*/react.createElement(icons_EyeInvisibleOutlined, null);
};
var ActionMap = {
click: 'onClick',
hover: 'onMouseOver'
};
var Password = /*#__PURE__*/react.forwardRef(function (props, ref) {
var _props$visibilityTogg = props.visibilityToggle,
visibilityToggle = _props$visibilityTogg === void 0 ? true : _props$visibilityTogg;
var visibilityControlled = (0,esm_typeof/* default */.Z)(visibilityToggle) === 'object' && visibilityToggle.visible !== undefined;
var _useState = (0,react.useState)(function () {
return visibilityControlled ? visibilityToggle.visible : false;
}),
_useState2 = (0,slicedToArray/* default */.Z)(_useState, 2),
visible = _useState2[0],
setVisible = _useState2[1];
var inputRef = (0,react.useRef)(null);
react.useEffect(function () {
if (visibilityControlled) {
setVisible(visibilityToggle.visible);
}
}, [visibilityControlled, visibilityToggle]);
// Remove Password value
var removePasswordTimeout = (0,useRemovePasswordTimeout/* default */.Z)(inputRef);
var onVisibleChange = function onVisibleChange() {
var disabled = props.disabled;
if (disabled) {
return;
}
if (visible) {
removePasswordTimeout();
}
setVisible(function (prevState) {
var _a;
var newState = !prevState;
if ((0,esm_typeof/* default */.Z)(visibilityToggle) === 'object') {
(_a = visibilityToggle.onVisibleChange) === null || _a === void 0 ? void 0 : _a.call(visibilityToggle, newState);
}
return newState;
});
};
var getIcon = function getIcon(prefixCls) {
var _iconProps;
var _props$action = props.action,
action = _props$action === void 0 ? 'click' : _props$action,
_props$iconRender = props.iconRender,
iconRender = _props$iconRender === void 0 ? defaultIconRender : _props$iconRender;
var iconTrigger = ActionMap[action] || '';
var icon = iconRender(visible);
var iconProps = (_iconProps = {}, (0,defineProperty/* default */.Z)(_iconProps, iconTrigger, onVisibleChange), (0,defineProperty/* default */.Z)(_iconProps, "className", "".concat(prefixCls, "-icon")), (0,defineProperty/* default */.Z)(_iconProps, "key", 'passwordIcon'), (0,defineProperty/* default */.Z)(_iconProps, "onMouseDown", function onMouseDown(e) {
// Prevent focused state lost
// https://github.com/ant-design/ant-design/issues/15173
e.preventDefault();
}), (0,defineProperty/* default */.Z)(_iconProps, "onMouseUp", function onMouseUp(e) {
// Prevent caret position change
// https://github.com/ant-design/ant-design/issues/23524
e.preventDefault();
}), _iconProps);
return /*#__PURE__*/react.cloneElement( /*#__PURE__*/react.isValidElement(icon) ? icon : /*#__PURE__*/react.createElement("span", null, icon), iconProps);
};
var renderPassword = function renderPassword(_ref) {
var getPrefixCls = _ref.getPrefixCls;
var className = props.className,
customizePrefixCls = props.prefixCls,
customizeInputPrefixCls = props.inputPrefixCls,
size = props.size,
restProps = __rest(props, ["className", "prefixCls", "inputPrefixCls", "size"]);
var inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);
var prefixCls = getPrefixCls('input-password', customizePrefixCls);
var suffixIcon = visibilityToggle && getIcon(prefixCls);
var inputClassName = classnames_default()(prefixCls, className, (0,defineProperty/* default */.Z)({}, "".concat(prefixCls, "-").concat(size), !!size));
var omittedProps = (0,esm_extends/* default */.Z)((0,esm_extends/* default */.Z)({}, (0,omit/* default */.Z)(restProps, ['suffix', 'iconRender', 'visibilityToggle'])), {
type: visible ? 'text' : 'password',
className: inputClassName,
prefixCls: inputPrefixCls,
suffix: suffixIcon
});
if (size) {
omittedProps.size = size;
}
return /*#__PURE__*/react.createElement(Input/* default */.ZP, (0,esm_extends/* default */.Z)({
ref: (0,es_ref/* composeRef */.sQ)(ref, inputRef)
}, omittedProps));
};
return /*#__PURE__*/react.createElement(context/* ConfigConsumer */.C, null, renderPassword);
});
if (false) {}
/* harmony default export */ var input_Password = (Password);
// EXTERNAL MODULE: ./node_modules/antd/node_modules/@ant-design/icons/es/icons/SearchOutlined.js
var SearchOutlined = __webpack_require__(25783);
// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js
var es_button = __webpack_require__(71577);
// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/SizeContext.js
var SizeContext = __webpack_require__(97647);
// EXTERNAL MODULE: ./node_modules/antd/es/space/Compact.js
var Compact = __webpack_require__(4173);
// EXTERNAL MODULE: ./node_modules/antd/es/_util/reactNode.js
var reactNode = __webpack_require__(96159);
;// CONCATENATED MODULE: ./node_modules/antd/es/input/Search.js
var Search_rest = undefined && undefined.__rest || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
}
return t;
};
var Search = /*#__PURE__*/react.forwardRef(function (props, ref) {
var _classNames;
var customizePrefixCls = props.prefixCls,
customizeInputPrefixCls = props.inputPrefixCls,
className = props.className,
customizeSize = props.size,
suffix = props.suffix,
_props$enterButton = props.enterButton,
enterButton = _props$enterButton === void 0 ? false : _props$enterButton,
addonAfter = props.addonAfter,
loading = props.loading,
disabled = props.disabled,
customOnSearch = props.onSearch,
customOnChange = props.onChange,
onCompositionStart = props.onCompositionStart,
onCompositionEnd = props.onCompositionEnd,
restProps = Search_rest(props, ["prefixCls", "inputPrefixCls", "className", "size", "suffix", "enterButton", "addonAfter", "loading", "disabled", "onSearch", "onChange", "onCompositionStart", "onCompositionEnd"]);
var _React$useContext = react.useContext(context/* ConfigContext */.E_),
getPrefixCls = _React$useContext.getPrefixCls,
direction = _React$useContext.direction;
var contextSize = react.useContext(SizeContext/* default */.Z);
var composedRef = react.useRef(false);
var prefixCls = getPrefixCls('input-search', customizePrefixCls);
var inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);
var _useCompactItemContex = (0,Compact/* useCompactItemContext */.ri)(prefixCls, direction),
compactSize = _useCompactItemContex.compactSize;
var size = compactSize || customizeSize || contextSize;
var inputRef = react.useRef(null);
var onChange = function onChange(e) {
if (e && e.target && e.type === 'click' && customOnSearch) {
customOnSearch(e.target.value, e);
}
if (customOnChange) {
customOnChange(e);
}
};
var onMouseDown = function onMouseDown(e) {
var _a;
if (document.activeElement === ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input)) {
e.preventDefault();
}
};
var onSearch = function onSearch(e) {
var _a, _b;
if (customOnSearch) {
customOnSearch((_b = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input) === null || _b === void 0 ? void 0 : _b.value, e);
}
};
var onPressEnter = function onPressEnter(e) {
if (composedRef.current || loading) {
return;
}
onSearch(e);
};
var searchIcon = typeof enterButton === 'boolean' ? /*#__PURE__*/react.createElement(SearchOutlined/* default */.Z, null) : null;
var btnClassName = "".concat(prefixCls, "-button");
var button;
var enterButtonAsElement = enterButton || {};
var isAntdButton = enterButtonAsElement.type && enterButtonAsElement.type.__ANT_BUTTON === true;
if (isAntdButton || enterButtonAsElement.type === 'button') {
button = (0,reactNode/* cloneElement */.Tm)(enterButtonAsElement, (0,esm_extends/* default */.Z)({
onMouseDown: onMouseDown,
onClick: function onClick(e) {
var _a, _b;
(_b = (_a = enterButtonAsElement === null || enterButtonAsElement === void 0 ? void 0 : enterButtonAsElement.props) === null || _a === void 0 ? void 0 : _a.onClick) === null || _b === void 0 ? void 0 : _b.call(_a, e);
onSearch(e);
},
key: 'enterButton'
}, isAntdButton ? {
className: btnClassName,
size: size
} : {}));
} else {
button = /*#__PURE__*/react.createElement(es_button/* default */.Z, {
className: btnClassName,
type: enterButton ? 'primary' : undefined,
size: size,
disabled: disabled,
key: "enterButton",
onMouseDown: onMouseDown,
onClick: onSearch,
loading: loading,
icon: searchIcon
}, enterButton);
}
if (addonAfter) {
button = [button, (0,reactNode/* cloneElement */.Tm)(addonAfter, {
key: 'addonAfter'
})];
}
var cls = classnames_default()(prefixCls, (_classNames = {}, (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-rtl"), direction === 'rtl'), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-").concat(size), !!size), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-with-button"), !!enterButton), _classNames), className);
var handleOnCompositionStart = function handleOnCompositionStart(e) {
composedRef.current = true;
onCompositionStart === null || onCompositionStart === void 0 ? void 0 : onCompositionStart(e);
};
var handleOnCompositionEnd = function handleOnCompositionEnd(e) {
composedRef.current = false;
onCompositionEnd === null || onCompositionEnd === void 0 ? void 0 : onCompositionEnd(e);
};
return /*#__PURE__*/react.createElement(Input/* default */.ZP, (0,esm_extends/* default */.Z)({
ref: (0,es_ref/* composeRef */.sQ)(inputRef, ref),
onPressEnter: onPressEnter
}, restProps, {
size: size,
onCompositionStart: handleOnCompositionStart,
onCompositionEnd: handleOnCompositionEnd,
prefixCls: inputPrefixCls,
addonAfter: button,
suffix: suffix,
onChange: onChange,
className: cls,
disabled: disabled
}));
});
if (false) {}
/* harmony default export */ var input_Search = (Search);
// EXTERNAL MODULE: ./node_modules/antd/es/input/TextArea.js + 1 modules
var TextArea = __webpack_require__(80173);
;// CONCATENATED MODULE: ./node_modules/antd/es/input/index.js
var input_Input = Input/* default */.ZP;
input_Input.Group = input_Group;
input_Input.Search = input_Search;
input_Input.TextArea = TextArea/* default */.Z;
input_Input.Password = input_Password;
/* harmony default export */ var input = (input_Input);
/***/ }),
/***/ 64894:
/*!************************************************************************************!*\
!*** ./node_modules/antd/node_modules/@ant-design/icons/es/icons/CheckOutlined.js ***!
\************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread2 */ 1413);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 67294);
/* harmony import */ var _ant_design_icons_svg_es_asn_CheckOutlined__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @ant-design/icons-svg/es/asn/CheckOutlined */ 32857);
/* harmony import */ var _components_AntdIcon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../components/AntdIcon */ 93771);
// GENERATE BY ./scripts/generate.ts
// DON NOT EDIT IT MANUALLY
var CheckOutlined = function CheckOutlined(props, ref) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_AntdIcon__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)({}, props), {}, {
ref: ref,
icon: _ant_design_icons_svg_es_asn_CheckOutlined__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z
}));
};
CheckOutlined.displayName = 'CheckOutlined';
/* harmony default export */ __webpack_exports__["Z"] = (/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(CheckOutlined));
/***/ }),
/***/ 7124:
/*!**********************************************************************************************!*\
!*** ./node_modules/antd/node_modules/@ant-design/icons/es/icons/EyeOutlined.js + 1 modules ***!
\**********************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ icons_EyeOutlined; }
});
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js
var objectSpread2 = __webpack_require__(1413);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
;// CONCATENATED MODULE: ./node_modules/@ant-design/icons-svg/es/asn/EyeOutlined.js
// This icon file is generated automatically.
var EyeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z" } }] }, "name": "eye", "theme": "outlined" };
/* harmony default export */ var asn_EyeOutlined = (EyeOutlined);
// EXTERNAL MODULE: ./node_modules/antd/node_modules/@ant-design/icons/es/components/AntdIcon.js + 3 modules
var AntdIcon = __webpack_require__(93771);
;// CONCATENATED MODULE: ./node_modules/antd/node_modules/@ant-design/icons/es/icons/EyeOutlined.js
// GENERATE BY ./scripts/generate.ts
// DON NOT EDIT IT MANUALLY
var EyeOutlined_EyeOutlined = function EyeOutlined(props, ref) {
return /*#__PURE__*/react.createElement(AntdIcon/* default */.Z, (0,objectSpread2/* default */.Z)((0,objectSpread2/* default */.Z)({}, props), {}, {
ref: ref,
icon: asn_EyeOutlined
}));
};
EyeOutlined_EyeOutlined.displayName = 'EyeOutlined';
/* harmony default export */ var icons_EyeOutlined = (/*#__PURE__*/react.forwardRef(EyeOutlined_EyeOutlined));
/***/ }),
/***/ 25783:
/*!*************************************************************************************!*\
!*** ./node_modules/antd/node_modules/@ant-design/icons/es/icons/SearchOutlined.js ***!
\*************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread2 */ 1413);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 67294);
/* harmony import */ var _ant_design_icons_svg_es_asn_SearchOutlined__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @ant-design/icons-svg/es/asn/SearchOutlined */ 509);
/* harmony import */ var _components_AntdIcon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../components/AntdIcon */ 93771);
// GENERATE BY ./scripts/generate.ts
// DON NOT EDIT IT MANUALLY
var SearchOutlined = function SearchOutlined(props, ref) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_AntdIcon__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)({}, props), {}, {
ref: ref,
icon: _ant_design_icons_svg_es_asn_SearchOutlined__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z
}));
};
SearchOutlined.displayName = 'SearchOutlined';
/* harmony default export */ __webpack_exports__["Z"] = (/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(SearchOutlined));
/***/ }),
/***/ 74704:
/*!**************************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js ***!
\**************************************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ 86116);
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;
}
}
};
}
module.exports = _createForOfIteratorHelper, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ })
}]);