|
|
|
|
@ -1,282 +1,6 @@
|
|
|
|
|
"use strict";
|
|
|
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[99674],{
|
|
|
|
|
|
|
|
|
|
/***/ 66446:
|
|
|
|
|
/*!******************************************!*\
|
|
|
|
|
!*** ./src/pages/tasks/service/index.js ***!
|
|
|
|
|
\******************************************/
|
|
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
|
|
/* harmony export */ "JW": function() { return /* binding */ setUnity3dStatus; },
|
|
|
|
|
/* harmony export */ "Jd": function() { return /* binding */ rebootEsc; },
|
|
|
|
|
/* 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 */ "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 */ "am": function() { return /* binding */ resetEnvironment; },
|
|
|
|
|
/* harmony export */ "bD": function() { return /* binding */ deleteMyGitFile; },
|
|
|
|
|
/* harmony export */ "fA": function() { return /* binding */ closeWindowsVnc; },
|
|
|
|
|
/* harmony export */ "fY": function() { return /* binding */ getRemainingTime; },
|
|
|
|
|
/* 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 */ "lH": function() { return /* binding */ getAnswerInfo; },
|
|
|
|
|
/* harmony export */ "li": function() { return /* binding */ fetchCode; },
|
|
|
|
|
/* harmony export */ "n4": function() { return /* binding */ updateCode; },
|
|
|
|
|
/* harmony export */ "pU": function() { return /* binding */ fetchRepos; },
|
|
|
|
|
/* harmony export */ "qK": function() { return /* binding */ restoreCode; },
|
|
|
|
|
/* harmony export */ "sA": function() { return /* binding */ startInit; },
|
|
|
|
|
/* 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 getNoticeDetail, closeSSh, 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 urlParamsAll = (0,_utils_util__WEBPACK_IMPORTED_MODULE_4__/* .getJsonFromUrl */ .oP)();
|
|
|
|
|
var urlParams = {};
|
|
|
|
|
if (urlParamsAll !== null && urlParamsAll !== void 0 && urlParamsAll.homework_common_id) {
|
|
|
|
|
urlParams.homework_common_id = urlParamsAll === null || urlParamsAll === void 0 ? void 0 : urlParamsAll.homework_common_id;
|
|
|
|
|
}
|
|
|
|
|
if (urlParamsAll !== null && urlParamsAll !== void 0 && urlParamsAll.exercisesId) {
|
|
|
|
|
urlParams.exercise_id = urlParamsAll === null || urlParamsAll === void 0 ? void 0 : urlParamsAll.exercisesId;
|
|
|
|
|
}
|
|
|
|
|
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: shixunId,
|
|
|
|
|
star: 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 getRemainingTime(id) {
|
|
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("myshixuns/".concat(id, "/get_remaining_time.json"));
|
|
|
|
|
}
|
|
|
|
|
function fetchPictures(id) {
|
|
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("tasks/".concat(id, "/picture_display.json"), 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 startInit(id, params) {
|
|
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("myshixuns/".concat(id, "/start.json"), params || {});
|
|
|
|
|
}
|
|
|
|
|
function closeSSh(id) {
|
|
|
|
|
return get("myshixuns/".concat(id, "/reset_pod.json"));
|
|
|
|
|
}
|
|
|
|
|
function resetEnvironment(id, params) {
|
|
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("myshixuns/".concat(id, "/reset_pod.json"), params);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 重启云主机
|
|
|
|
|
function rebootEsc(id, params) {
|
|
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/tasks/".concat(id, "/reboot_esc.json"), {
|
|
|
|
|
method: 'post',
|
|
|
|
|
body: 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: 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, params) {
|
|
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("myshixuns/".concat(id, "/active_pod.json"), params);
|
|
|
|
|
}
|
|
|
|
|
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, params) {
|
|
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("tasks/".concat(id, "/commit_files.json"), params);
|
|
|
|
|
}
|
|
|
|
|
function pullFiles(id, params) {
|
|
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("tasks/".concat(id, "/pull_files.json"), params);
|
|
|
|
|
}
|
|
|
|
|
function logOutput(id, params) {
|
|
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .post */ .v_)("tasks/".concat(id, "/log_output"), params);
|
|
|
|
|
}
|
|
|
|
|
function stopLogOutput(id, params) {
|
|
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* .get */ .U2)("tasks/".concat(id, "/stop_log_output.json"), params);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 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 ***!
|
|
|
|
|
@ -324,9 +48,9 @@ var jsx_runtime = __webpack_require__(85893);
|
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
|
|
|
|
/***/ 47845:
|
|
|
|
|
/***/ 29285:
|
|
|
|
|
/*!******************************************************************!*\
|
|
|
|
|
!*** ./src/pages/Shixuns/New/ImagePreview/index.tsx + 2 modules ***!
|
|
|
|
|
!*** ./src/pages/Shixuns/New/ImagePreview/index.tsx + 4 modules ***!
|
|
|
|
|
\******************************************************************/
|
|
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
|
@ -382,21 +106,263 @@ var _umi_production_exports = __webpack_require__(89214);
|
|
|
|
|
var vnc_view = __webpack_require__(45954);
|
|
|
|
|
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 10 modules
|
|
|
|
|
var markdown_editor = __webpack_require__(55373);
|
|
|
|
|
// EXTERNAL MODULE: ./src/pages/tasks/xterm-panel/index.jsx + 1 modules
|
|
|
|
|
var xterm_panel = __webpack_require__(77441);
|
|
|
|
|
// 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/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/Shixuns/New/ImagePreview/xterm-panel/index.less?modules
|
|
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
/* harmony default export */ var xterm_panelmodules = ({"xterm-panel":"xterm-panel___S5eQ3"});
|
|
|
|
|
// 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/Shixuns/New/ImagePreview/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.ws_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
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/progress/style/index.js + 1 modules
|
|
|
|
|
var progress_style = __webpack_require__(57273);
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/progress/index.js + 10 modules
|
|
|
|
|
var progress = __webpack_require__(97910);
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js
|
|
|
|
|
var createForOfIteratorHelper = __webpack_require__(74704);
|
|
|
|
|
var createForOfIteratorHelper_default = /*#__PURE__*/__webpack_require__.n(createForOfIteratorHelper);
|
|
|
|
|
// 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: ./node_modules/@novnc/novnc/lib/rfb.js
|
|
|
|
|
@ -408,8 +374,6 @@ var shixuns = __webpack_require__(56088);
|
|
|
|
|
/* harmony default export */ var ImagePreviewmodules = ({"wrp":"wrp___loo3h","header":"header___pWY1w","cuttDown":"cuttDown___ZSm_Q","container":"container____IeqS","info":"info___UsRgT","buttons":"buttons___G7Jb2","fullBtn":"fullBtn___G0d_Q","shrink":"shrink___A0Ldt","elseShrink":"elseShrink___Mepbc","spin":"spin___ZPcZL"});
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/LoadingOutlined.js
|
|
|
|
|
var LoadingOutlined = __webpack_require__(79090);
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
|
|
|
|
|
var jsx_runtime = __webpack_require__(85893);
|
|
|
|
|
;// CONCATENATED MODULE: ./src/pages/Shixuns/New/ImagePreview/vnc-panel/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1214,7 +1178,7 @@ var ClassroomListPage = function ClassroomListPage(_ref) {
|
|
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
|
|
className: "icon-quanping"
|
|
|
|
|
})
|
|
|
|
|
}), mirrorApplies.webssh && /*#__PURE__*/(0,jsx_runtime.jsx)(xterm_panel/* default */.Z, {
|
|
|
|
|
}), mirrorApplies.webssh && /*#__PURE__*/(0,jsx_runtime.jsx)(xterm_panel, {
|
|
|
|
|
sshConfigData: sshConfigData,
|
|
|
|
|
sid: 1
|
|
|
|
|
}), ((mirrorApplies === null || mirrorApplies === void 0 ? void 0 : mirrorApplies.vnc) || (mirrorApplies === null || mirrorApplies === void 0 ? void 0 : mirrorApplies.windows)) && /*#__PURE__*/(0,jsx_runtime.jsx)(vnc_panel, {
|
|
|
|
|
@ -1243,365 +1207,6 @@ var ClassroomListPage = function ClassroomListPage(_ref) {
|
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
|
|
|
|
/***/ 77441:
|
|
|
|
|
/*!***********************************************************!*\
|
|
|
|
|
!*** ./src/pages/tasks/xterm-panel/index.jsx + 1 modules ***!
|
|
|
|
|
\***********************************************************/
|
|
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// EXPORTS
|
|
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
|
|
"Z": function() { return /* binding */ xterm_panel; }
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
|
|
var regeneratorRuntime = __webpack_require__(17061);
|
|
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
|
|
|
|
|
var objectSpread2 = __webpack_require__(42122);
|
|
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
|
|
// 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/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: ./src/pages/tasks/service/index.js
|
|
|
|
|
var service = __webpack_require__(66446);
|
|
|
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules
|
|
|
|
|
var _umi_production_exports = __webpack_require__(89214);
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
|
|
|
|
|
var jsx_runtime = __webpack_require__(85893);
|
|
|
|
|
;// CONCATENATED MODULE: ./src/pages/tasks/xterm-panel/index.jsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var TimeTicket = 30000;
|
|
|
|
|
|
|
|
|
|
//建立 websockt 来交互
|
|
|
|
|
//根据容器大小计算行数和列数并做到自适应
|
|
|
|
|
//socket 与 term 需要分开初始化 因为socket 可能重置连接
|
|
|
|
|
//mediator 监听消息,如果和id匹配,则建立连接,重置,或关闭连接
|
|
|
|
|
|
|
|
|
|
/* harmony default export */ var xterm_panel = (function (_ref) {
|
|
|
|
|
var itemData = _ref.itemData,
|
|
|
|
|
game = _ref.game,
|
|
|
|
|
myshixun = _ref.myshixun;
|
|
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
|
|
var _useState = (0,react.useState)(null),
|
|
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
|
|
term = _useState2[0],
|
|
|
|
|
setTerm = _useState2[1];
|
|
|
|
|
var _useState3 = (0,react.useState)({}),
|
|
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
|
|
sshConfigData = _useState4[0],
|
|
|
|
|
setSshConfigData = _useState4[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);
|
|
|
|
|
var shixun_environment_id = itemData.shixun_environment_id,
|
|
|
|
|
position = itemData.position,
|
|
|
|
|
tab_type = itemData.tab_type,
|
|
|
|
|
index_tab = itemData.index_tab;
|
|
|
|
|
(0,react.useEffect)(function () {
|
|
|
|
|
getInitData();
|
|
|
|
|
}, []);
|
|
|
|
|
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-".concat(index_tab), {
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
function getInitData() {
|
|
|
|
|
return _getInitData.apply(this, arguments);
|
|
|
|
|
} //term init
|
|
|
|
|
function _getInitData() {
|
|
|
|
|
_getInitData = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
|
|
|
|
|
var _response$data, _response$data$data_l;
|
|
|
|
|
var response, _response$data2, _response$data3;
|
|
|
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
|
|
case 0:
|
|
|
|
|
_context3.next = 2;
|
|
|
|
|
return (0,service/* startInit */.sA)(myshixun.identifier, {
|
|
|
|
|
shixun_environment_id: shixun_environment_id,
|
|
|
|
|
tab_type: tab_type,
|
|
|
|
|
game_id: game.id
|
|
|
|
|
});
|
|
|
|
|
case 2:
|
|
|
|
|
response = _context3.sent;
|
|
|
|
|
if (!(response !== null && response !== void 0 && (_response$data = response.data) !== null && _response$data !== void 0 && (_response$data$data_l = _response$data.data_list) !== null && _response$data$data_l !== void 0 && _response$data$data_l.length)) {
|
|
|
|
|
_context3.next = 6;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
mediator/* default.publish */.Z.publish('pod-restrict-data', {
|
|
|
|
|
identifier: response === null || response === void 0 ? void 0 : (_response$data2 = response.data) === null || _response$data2 === void 0 ? void 0 : _response$data2.identifier,
|
|
|
|
|
data_list: response === null || response === void 0 ? void 0 : (_response$data3 = response.data) === null || _response$data3 === void 0 ? void 0 : _response$data3.data_list
|
|
|
|
|
});
|
|
|
|
|
return _context3.abrupt("return");
|
|
|
|
|
case 6:
|
|
|
|
|
if (!((response === null || response === void 0 ? void 0 : response.status) === -3)) {
|
|
|
|
|
_context3.next = 8;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
return _context3.abrupt("return", new Promise( /*#__PURE__*/function () {
|
|
|
|
|
var _ref2 = 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.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:
|
|
|
|
|
_context.next = 2;
|
|
|
|
|
return closeWindowsVnc(params.taskId, response === null || response === void 0 ? void 0 : response.message);
|
|
|
|
|
case 2:
|
|
|
|
|
init();
|
|
|
|
|
return _context.abrupt("return");
|
|
|
|
|
case 4:
|
|
|
|
|
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 _ref2.apply(this, arguments);
|
|
|
|
|
};
|
|
|
|
|
}()));
|
|
|
|
|
case 8:
|
|
|
|
|
if ((response === null || response === void 0 ? void 0 : response.status) === 0) {
|
|
|
|
|
mediator/* default.publish */.Z.publish('update-windows-time', response === null || response === void 0 ? void 0 : response.data);
|
|
|
|
|
mediator/* default.publish */.Z.publish('send-tabs-result-data', objectSpread2_default()(objectSpread2_default()({}, response === null || response === void 0 ? void 0 : response.data), {}, {
|
|
|
|
|
index_tab: index_tab
|
|
|
|
|
}));
|
|
|
|
|
setSshConfigData(response.data);
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
return mediator/* default.publish */.Z.publish("create-socket-".concat(index_tab));
|
|
|
|
|
}, 300);
|
|
|
|
|
}
|
|
|
|
|
case 9:
|
|
|
|
|
case "end":
|
|
|
|
|
return _context3.stop();
|
|
|
|
|
}
|
|
|
|
|
}, _callee3);
|
|
|
|
|
}));
|
|
|
|
|
return _getInitData.apply(this, arguments);
|
|
|
|
|
}
|
|
|
|
|
(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
|
|
|
|
|
}));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
_term.write('Connecting...');
|
|
|
|
|
setTerm(_term);
|
|
|
|
|
var ro = onLayout(_term, el.current);
|
|
|
|
|
return function () {
|
|
|
|
|
_term.dispose();
|
|
|
|
|
el.current && (ro === null || ro === void 0 ? void 0 : 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);
|
|
|
|
|
};
|
|
|
|
|
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);
|
|
|
|
|
};
|
|
|
|
|
var tid = setInterval(function () {
|
|
|
|
|
if (socket.current) {
|
|
|
|
|
var _socket$current;
|
|
|
|
|
(_socket$current = socket.current) === null || _socket$current === void 0 ? void 0 : _socket$current.send(JSON.stringify({
|
|
|
|
|
tp: 'h'
|
|
|
|
|
}));
|
|
|
|
|
}
|
|
|
|
|
}, TimeTicket);
|
|
|
|
|
socketInstance.onclose = function (evt) {
|
|
|
|
|
if (tid) {
|
|
|
|
|
clearInterval(tid);
|
|
|
|
|
}
|
|
|
|
|
console.log(tid, 'tid', index_tab);
|
|
|
|
|
term.write('\r\nconnection closed');
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
var unSubCreate = mediator/* default.subscribe */.Z.subscribe("create-socket-".concat(index_tab), function () {
|
|
|
|
|
createSocket();
|
|
|
|
|
});
|
|
|
|
|
var unSubResize = mediator/* default.subscribe */.Z.subscribe("ssh-xterm-resize-".concat(index_tab), function (option) {
|
|
|
|
|
if (socket.current && socket.current.readyState === 1) {
|
|
|
|
|
socket.current.send(JSON.stringify({
|
|
|
|
|
tp: 'resize',
|
|
|
|
|
data: objectSpread2_default()({}, option)
|
|
|
|
|
}));
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
return function () {
|
|
|
|
|
unSubCreate();
|
|
|
|
|
unSubResize();
|
|
|
|
|
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 ***!
|
|
|
|
|
|