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.
780 lines
32 KiB
780 lines
32 KiB
"use strict";
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[18043],{
|
|
|
|
/***/ 87448:
|
|
/*!*****************************************************************!*\
|
|
!*** ./src/pages/MyProblem/TestCasePanel/index.tsx + 1 modules ***!
|
|
\*****************************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
Y4: function() { return /* binding */ DetailCommitOut; },
|
|
Im: function() { return /* binding */ ExecuteDict; },
|
|
ZP: function() { return /* binding */ TestCasePanel; }
|
|
});
|
|
|
|
// UNUSED EXPORTS: getCommitOut
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
|
|
var slicedToArray = __webpack_require__(79800);
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
|
|
var regeneratorRuntime = __webpack_require__(7557);
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
|
|
var asyncToGenerator = __webpack_require__(41498);
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js
|
|
var objectSpread2 = __webpack_require__(82242);
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/defineProperty.js
|
|
var defineProperty = __webpack_require__(85573);
|
|
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
|
|
var input = __webpack_require__(10249);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
|
|
var es_button = __webpack_require__(3113);
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.6.1@@ant-design/icons/es/icons/DownOutlined.js + 1 modules
|
|
var DownOutlined = __webpack_require__(84105);
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.6.1@@ant-design/icons/es/icons/UpOutlined.js + 1 modules
|
|
var UpOutlined = __webpack_require__(87395);
|
|
// EXTERNAL MODULE: ./src/pages/MyProblem/interface.ts
|
|
var MyProblem_interface = __webpack_require__(34664);
|
|
// EXTERNAL MODULE: ./node_modules/_js-base64@2.6.4@js-base64/base64.js
|
|
var base64 = __webpack_require__(24334);
|
|
;// CONCATENATED MODULE: ./src/pages/MyProblem/TestCasePanel/index.less
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
// EXTERNAL MODULE: ./src/components/Spinner/index.tsx + 1 modules
|
|
var Spinner = __webpack_require__(21731);
|
|
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx + 2 modules
|
|
var RenderHtml = __webpack_require__(95028);
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
var util = __webpack_require__(20731);
|
|
// EXTERNAL MODULE: ./node_modules/_xterm@4.8.1@xterm/lib/xterm.js
|
|
var xterm = __webpack_require__(34376);
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
var utils_fetch = __webpack_require__(58181);
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts
|
|
var _umi_production_exports = __webpack_require__(13032);
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
;// CONCATENATED MODULE: ./src/pages/MyProblem/TestCasePanel/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var TextArea = input/* default */.Z.TextArea;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var initialState = {
|
|
visible: false,
|
|
tabIndex: '0'
|
|
};
|
|
var ExecuteDict = defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()({}, MyProblem_interface/* ExecuteStatus */.h.NOMATCH, '测试用例结果不匹配'), MyProblem_interface/* ExecuteStatus */.h.OK, '调试通过'), 2, '调试超时'), 3, '调试pod失败'), 4, '编译失败'), 5, '执行失败');
|
|
var Types = /*#__PURE__*/function (Types) {
|
|
Types[Types["SET_VISIBLE"] = 0] = "SET_VISIBLE";
|
|
Types[Types["SET_TABINDEX"] = 1] = "SET_TABINDEX";
|
|
return Types;
|
|
}(Types || {});
|
|
function Reducer(state, action) {
|
|
switch (action.type) {
|
|
case Types.SET_VISIBLE:
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
visible: action.payload
|
|
});
|
|
case Types.SET_TABINDEX:
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
tabIndex: action.payload
|
|
});
|
|
default:
|
|
throw new Error();
|
|
}
|
|
}
|
|
function DetailCommitOut(debugResult) {
|
|
var status = debugResult.status,
|
|
error_msg = debugResult.error_msg,
|
|
output = debugResult.output,
|
|
input = debugResult.input,
|
|
expected_output = debugResult.expected_output,
|
|
is_file = debugResult.is_file,
|
|
input_file_url = debugResult.input_file_url,
|
|
output_file_url = debugResult.output_file_url,
|
|
expected_output_file_url = debugResult.expected_output_file_url,
|
|
setMonacoValue = debugResult.setMonacoValue,
|
|
setData = debugResult.setData;
|
|
var outputRef = (0,_react_17_0_2_react.useRef)();
|
|
var inputRef = (0,_react_17_0_2_react.useRef)();
|
|
var expectedOutputRef = (0,_react_17_0_2_react.useRef)();
|
|
var rs = null;
|
|
var mdStyle = {
|
|
minHeight: 150,
|
|
marginBottom: 10,
|
|
paddingLeft: 24,
|
|
background: '#070f19',
|
|
color: '#fff'
|
|
};
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
if (output && !is_file && outputRef.current) {
|
|
var term = new xterm.Terminal({
|
|
fontSize: 14,
|
|
letterSpacing: 1,
|
|
cols: 83,
|
|
rows: 10
|
|
});
|
|
term.open(outputRef.current);
|
|
var actual_output_format = (0,util/* findEndWhitespace */.pp)(base64.Base64.decode(output));
|
|
term.write(actual_output_format);
|
|
term.setOption('theme', {
|
|
background: '#1e1e1e'
|
|
});
|
|
}
|
|
if (input && !is_file && inputRef.current) {
|
|
var term2 = new xterm.Terminal({
|
|
fontSize: 14,
|
|
letterSpacing: 1,
|
|
cols: 83,
|
|
rows: 10
|
|
});
|
|
term2.open(inputRef.current);
|
|
term2.write((0,util/* findEndWhitespace */.pp)(input));
|
|
term2.setOption('theme', {
|
|
background: '#1e1e1e'
|
|
});
|
|
}
|
|
if (expected_output && !is_file && expectedOutputRef.current) {
|
|
var term3 = new xterm.Terminal({
|
|
fontSize: 14,
|
|
letterSpacing: 1,
|
|
cols: 83,
|
|
rows: 10
|
|
});
|
|
term3.open(expectedOutputRef.current);
|
|
term3.write((0,util/* findEndWhitespace */.pp)(base64.Base64.decode(expected_output)));
|
|
term3.setOption('theme', {
|
|
background: '#1e1e1e'
|
|
});
|
|
}
|
|
}, [output]);
|
|
switch (status) {
|
|
case MyProblem_interface/* ExecuteStatus */.h.NOMATCH:
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
className: "c-red",
|
|
children: "\u5B9E\u9645\u8F93\u5165\uFF1A"
|
|
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
ref: inputRef
|
|
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
style: mdStyle,
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
// href={input_file_url}
|
|
style: {
|
|
fontSize: '16px'
|
|
},
|
|
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
var res;
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
_context.next = 2;
|
|
return fetch(input_file_url, {
|
|
method: "Get",
|
|
headers: {
|
|
"Content-Type": "application/octet-stream",
|
|
"Accept": "*/*"
|
|
}
|
|
});
|
|
case 2:
|
|
res = _context.sent;
|
|
_context.t0 = setMonacoValue;
|
|
_context.next = 6;
|
|
return res.text();
|
|
case 6:
|
|
_context.t1 = _context.sent;
|
|
(0, _context.t0)(_context.t1);
|
|
setTimeout(function () {
|
|
setData(input_file_url);
|
|
}, 200);
|
|
// download(input_file_url, input)
|
|
case 9:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee);
|
|
}))
|
|
// download={expected_output}
|
|
// target="_blank"
|
|
,
|
|
children: input
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
className: "c-red",
|
|
children: "\u5B9E\u9645\u8F93\u51FA\uFF1A"
|
|
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
ref: outputRef
|
|
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
style: mdStyle,
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
// href={output_file_url}
|
|
style: {
|
|
fontSize: '16px'
|
|
},
|
|
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
|
|
var res;
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
case 0:
|
|
_context2.next = 2;
|
|
return (0,utils_fetch/* default */.ZP)(output_file_url, {
|
|
method: "Get",
|
|
headers: {
|
|
"Content-Type": "application/xml",
|
|
"Accept": "*/*"
|
|
}
|
|
});
|
|
case 2:
|
|
res = _context2.sent;
|
|
setMonacoValue(res);
|
|
setTimeout(function () {
|
|
setData(output_file_url);
|
|
}, 200);
|
|
|
|
// download(output_file_url, output)
|
|
case 5:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}, _callee2);
|
|
}))
|
|
// download={expected_output} target="_blank"
|
|
,
|
|
children: output
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
className: "c-red",
|
|
children: "\u9884\u671F\u8F93\u51FA\uFF1A"
|
|
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
ref: expectedOutputRef
|
|
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
style: mdStyle,
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
// href={expected_output_file_url}
|
|
style: {
|
|
fontSize: '16px'
|
|
},
|
|
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
|
|
var res;
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
case 0:
|
|
_context3.next = 2;
|
|
return fetch(expected_output_file_url, {
|
|
method: "Get",
|
|
headers: {
|
|
"Content-Type": "application/octet-stream",
|
|
"Accept": "*/*"
|
|
}
|
|
});
|
|
case 2:
|
|
res = _context3.sent;
|
|
_context3.t0 = setMonacoValue;
|
|
_context3.next = 6;
|
|
return res.text();
|
|
case 6:
|
|
_context3.t1 = _context3.sent;
|
|
(0, _context3.t0)(_context3.t1);
|
|
setTimeout(function () {
|
|
setData(expected_output_file_url);
|
|
}, 200);
|
|
case 9:
|
|
case "end":
|
|
return _context3.stop();
|
|
}
|
|
}, _callee3);
|
|
}))
|
|
// download={expected_output} target="_blank"
|
|
,
|
|
children: expected_output
|
|
})
|
|
})]
|
|
});
|
|
break;
|
|
case MyProblem_interface/* ExecuteStatus */.h.EXECUTEFAILURE:
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
style: {
|
|
border: '1px #F6F7F9 solid'
|
|
},
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
style: {
|
|
width: '100%',
|
|
height: 40,
|
|
background: '#F6F7F9',
|
|
lineHeight: '40px',
|
|
color: "#666666",
|
|
paddingLeft: '12px'
|
|
},
|
|
children: "\u6700\u540E\u6267\u884C\u7684\u8F93\u5165\uFF1A"
|
|
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
value: input,
|
|
style: mdStyle
|
|
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
style: mdStyle,
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
// href={input_file_url} style={{fontSize:'16px'}} target="_blank"
|
|
onClick: function onClick() {
|
|
return (0,util/* download */.LR)(input_file_url, input);
|
|
},
|
|
children: input
|
|
})
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
style: {
|
|
border: '1px #F6F7F9 solid',
|
|
marginTop: '10px'
|
|
},
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
style: {
|
|
width: '100%',
|
|
height: 40,
|
|
background: '#F6F7F9',
|
|
lineHeight: '40px',
|
|
color: "#666666",
|
|
paddingLeft: '12px'
|
|
},
|
|
children: "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
className: "error",
|
|
style: {
|
|
color: '#E30000',
|
|
padding: '0 10px'
|
|
},
|
|
children: base64.Base64.decode(error_msg)
|
|
})]
|
|
})]
|
|
});
|
|
break;
|
|
case MyProblem_interface/* ExecuteStatus */.h.COMPILEFAILURE:
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
children: "\u6700\u540E\u6267\u884C\u7684\u8F93\u5165\uFF1A"
|
|
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
ref: inputRef
|
|
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
style: mdStyle,
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
// href={input_file_url} style={{fontSize:'16px'}} target="_blank"
|
|
onClick: function onClick() {
|
|
return (0,util/* download */.LR)(input_file_url, input);
|
|
},
|
|
children: input
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
children: "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
className: "error",
|
|
children: base64.Base64.decode(error_msg)
|
|
})]
|
|
});
|
|
break;
|
|
case MyProblem_interface/* ExecuteStatus */.h.PODFAILURE:
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
children: "\u521B\u5EFApod\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"
|
|
});
|
|
break;
|
|
case MyProblem_interface/* ExecuteStatus */.h.TIMEOUT:
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
children: "\u8BC4\u6D4B\u8D85\u65F6\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"
|
|
});
|
|
break;
|
|
}
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
children: [" ", rs, " "]
|
|
});
|
|
}
|
|
function getCommitOut(debugResult) {
|
|
var status = debugResult.status,
|
|
error_msg = debugResult.error_msg,
|
|
execute_time = debugResult.execute_time,
|
|
output = debugResult.output,
|
|
input = debugResult.input,
|
|
expected_output = debugResult.expected_output,
|
|
is_file = debugResult.is_file,
|
|
input_file_url = debugResult.input_file_url,
|
|
output_file_url = debugResult.output_file_url,
|
|
expected_output_file_url = debugResult.expected_output_file_url;
|
|
var rs = null;
|
|
switch (status) {
|
|
case MyProblem_interface/* ExecuteStatus */.h.OK:
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
children: ["\u6267\u884C\u7528\u65F6\uFF1A", execute_time / 1000, "\u79D2"]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
children: "\u6267\u884C\u7ED3\u679C\uFF1A"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
children: base64.Base64.decode(output)
|
|
})]
|
|
});
|
|
break;
|
|
case MyProblem_interface/* ExecuteStatus */.h.NOMATCH:
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
children: ["\u8F93\u5165\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
children: input
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
children: ["\u8F93\u51FA\uFF1A", output && base64.Base64.decode(output)]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
children: ["\u9884\u671F\u8F93\u51FA\uFF1A", expected_output && base64.Base64.decode(expected_output)]
|
|
})]
|
|
});
|
|
break;
|
|
case MyProblem_interface/* ExecuteStatus */.h.EXECUTEFAILURE:
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
children: ["\u6700\u540E\u6267\u884C\u7684\u8F93\u5165\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
children: input
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
children: "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
className: "error",
|
|
children: base64.Base64.decode(error_msg)
|
|
})]
|
|
});
|
|
break;
|
|
case MyProblem_interface/* ExecuteStatus */.h.COMPILEFAILURE:
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
children: ["\u6700\u540E\u6267\u884C\u7684\u8F93\u5165\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
children: input
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
children: "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
className: "error",
|
|
children: base64.Base64.decode(error_msg)
|
|
})]
|
|
});
|
|
break;
|
|
case MyProblem_interface/* ExecuteStatus */.h.PODFAILURE:
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
children: "\u521B\u5EFApod\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"
|
|
});
|
|
break;
|
|
case MyProblem_interface/* ExecuteStatus */.h.TIMEOUT:
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
children: "\u8BC4\u6D4B\u8D85\u65F6\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"
|
|
});
|
|
break;
|
|
}
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
children: [" ", rs, " "]
|
|
});
|
|
}
|
|
/* harmony default export */ var TestCasePanel = (function (_ref4) {
|
|
var input = _ref4.input,
|
|
debuging = _ref4.debuging,
|
|
submitting = _ref4.submitting,
|
|
executingMessage = _ref4.executingMessage,
|
|
debugResult = _ref4.debugResult,
|
|
onChangeInput = _ref4.onChangeInput,
|
|
onDebugCode = _ref4.onDebugCode,
|
|
onSubmitCode = _ref4.onSubmitCode,
|
|
hack = _ref4.hack,
|
|
user = _ref4.user;
|
|
var _useReducer = (0,_react_17_0_2_react.useReducer)(Reducer, initialState),
|
|
_useReducer2 = slicedToArray_default()(_useReducer, 2),
|
|
state = _useReducer2[0],
|
|
dispatch = _useReducer2[1];
|
|
var visible = state.visible,
|
|
tabIndex = state.tabIndex;
|
|
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
|
|
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
|
|
searchParams = _useSearchParams2[0];
|
|
function onTabIndexChange(e) {
|
|
var id = e.target.id;
|
|
dispatch({
|
|
type: Types.SET_TABINDEX,
|
|
payload: id
|
|
});
|
|
}
|
|
function onTriggerCollapse() {
|
|
dispatch({
|
|
type: Types.SET_VISIBLE,
|
|
payload: !visible
|
|
});
|
|
}
|
|
var executeResult = (0,_react_17_0_2_react.useMemo)(function () {
|
|
if (debugResult) {
|
|
var status = debugResult.status;
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
|
|
children: getCommitOut(debugResult)
|
|
});
|
|
}
|
|
return null;
|
|
}, [debugResult]);
|
|
function onDebug() {
|
|
dispatch({
|
|
type: Types.SET_VISIBLE,
|
|
payload: true
|
|
});
|
|
dispatch({
|
|
type: Types.SET_TABINDEX,
|
|
payload: '1'
|
|
});
|
|
onDebugCode();
|
|
}
|
|
var skip = /*#__PURE__*/function () {
|
|
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4(text) {
|
|
var res;
|
|
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
case 0:
|
|
_context4.next = 2;
|
|
return (0,utils_fetch/* default */.ZP)("/api/problems/".concat(text, "/start.json"), {
|
|
method: 'get',
|
|
params: {
|
|
hack_user_id: user === null || user === void 0 ? void 0 : user.user_id
|
|
}
|
|
});
|
|
case 2:
|
|
res = _context4.sent;
|
|
if (res) {
|
|
window.location.href = "/myproblems/".concat(res === null || res === void 0 ? void 0 : res.identifier, "?type=1");
|
|
}
|
|
case 4:
|
|
case "end":
|
|
return _context4.stop();
|
|
}
|
|
}, _callee4);
|
|
}));
|
|
return function skip(_x) {
|
|
return _ref5.apply(this, arguments);
|
|
};
|
|
}();
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
className: "test-case-panel",
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
className: "test-case-panel-body ".concat(visible ? 'active' : ''),
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("ul", {
|
|
className: "s-navs",
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
className: tabIndex === '0' ? 'active' : '',
|
|
id: "0",
|
|
onClick: onTabIndexChange,
|
|
children: "\u81EA\u5B9A\u4E49\u6D4B\u8BD5\u7528\u4F8B"
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
className: tabIndex === '1' ? 'active' : '',
|
|
id: "1",
|
|
onClick: onTabIndexChange,
|
|
children: "\u4EE3\u7801\u6267\u884C\u7ED3\u679C"
|
|
})
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
className: "tab-panel-body ".concat(tabIndex === '0' ? '' : 'hide'),
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(TextArea, {
|
|
placeholder: "\u8BF7\u586B\u5199\u6D4B\u8BD5\u7528\u4F8B\u7684\u8F93\u5165\u503C\uFF0C\u70B9\u51FB\u201C\u8C03\u8BD5\u4EE3\u7801\u201D",
|
|
value: input,
|
|
onChange: onChangeInput
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
className: "tab-panel-body ".concat(tabIndex === '1' ? '' : 'hide'),
|
|
children: debuging ? /*#__PURE__*/(0,jsx_runtime.jsx)(Spinner/* default */.Z, {
|
|
message: executingMessage
|
|
}) : debugResult ? /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
|
|
style: {
|
|
height: 200
|
|
},
|
|
children: [" ", executeResult, " "]
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
className: "tip",
|
|
children: "\u8BF7\u586B\u5199\u6D4B\u8BD5\u7528\u4F8B\u7684\u8F93\u5165\u503C\uFF0C\u70B9\u51FB\u201C\u8C03\u8BD5\u4EE3\u7801\u201D"
|
|
})
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
className: "btn-collapse ".concat(visible ? 'up' : ''),
|
|
onClick: onTriggerCollapse,
|
|
children: visible ? /*#__PURE__*/(0,jsx_runtime.jsx)(DownOutlined/* default */.Z, {}) : /*#__PURE__*/(0,jsx_runtime.jsx)(UpOutlined/* default */.Z, {})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("footer", {
|
|
className: "footer",
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: "\u63A7\u5236\u53F0"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
className: "flex-container",
|
|
children: [(hack === null || hack === void 0 ? void 0 : hack.is_program) && (hack === null || hack === void 0 ? void 0 : hack.above_question) && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
onClick: function onClick() {
|
|
return skip(hack === null || hack === void 0 ? void 0 : hack.above_question);
|
|
},
|
|
id: "oj-prev",
|
|
className: "btn-blue",
|
|
type: "ghost",
|
|
children: "\u4E0A\u4E00\u9898"
|
|
}), (hack === null || hack === void 0 ? void 0 : hack.is_program) && (hack === null || hack === void 0 ? void 0 : hack.under_question) && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
onClick: function onClick() {
|
|
return skip(hack === null || hack === void 0 ? void 0 : hack.under_question);
|
|
},
|
|
id: "oj-next",
|
|
className: "btn-blue",
|
|
type: "ghost",
|
|
children: "\u4E0B\u4E00\u9898"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
className: "btn-green",
|
|
type: "ghost",
|
|
loading: debuging,
|
|
onClick: onDebug,
|
|
children: "\u8C03\u8BD5\u4EE3\u7801"
|
|
}), searchParams.get("qtype") !== '8' && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
type: "primary",
|
|
className: "custom-ant-disabled",
|
|
loading: submitting,
|
|
disabled: submitting,
|
|
onClick: function onClick() {
|
|
dispatch({
|
|
type: Types.SET_VISIBLE,
|
|
payload: false
|
|
});
|
|
// dispatch({
|
|
// type: Types.SET_TABINDEX,
|
|
// payload: '1'
|
|
// })
|
|
onSubmitCode();
|
|
},
|
|
children: "\u8BC4\u6D4B\u5E76\u63D0\u4EA4"
|
|
})]
|
|
})]
|
|
})]
|
|
});
|
|
});
|
|
|
|
/***/ }),
|
|
|
|
/***/ 34664:
|
|
/*!******************************************!*\
|
|
!*** ./src/pages/MyProblem/interface.ts ***!
|
|
\******************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ h: function() { return /* binding */ ExecuteStatus; }
|
|
/* harmony export */ });
|
|
// created_at: "2020-07-09T19:53:54.000+08:00"
|
|
// execute_memory: null
|
|
// execute_time: 0.269
|
|
// id: 872
|
|
// language: "C"
|
|
// status: 4
|
|
|
|
var ExecuteStatus = /*#__PURE__*/function (ExecuteStatus) {
|
|
ExecuteStatus[ExecuteStatus["NOMATCH"] = -1] = "NOMATCH";
|
|
ExecuteStatus[ExecuteStatus["OK"] = 0] = "OK";
|
|
ExecuteStatus[ExecuteStatus["TIMEOUT"] = 2] = "TIMEOUT";
|
|
ExecuteStatus[ExecuteStatus["PODFAILURE"] = 3] = "PODFAILURE";
|
|
ExecuteStatus[ExecuteStatus["COMPILEFAILURE"] = 4] = "COMPILEFAILURE";
|
|
ExecuteStatus[ExecuteStatus["EXECUTEFAILURE"] = 5] = "EXECUTEFAILURE";
|
|
return ExecuteStatus;
|
|
}({});
|
|
|
|
// "id": "1",
|
|
// "status": 2, # -1测试用例结果不匹配; 0: 评测通过; ;2 评测超时;3 创建pod失败; 4 编译失败;5 执行失败
|
|
// "error_line": 3, # 错误行数
|
|
// "error_msg": "error line 7 input.." , # 报错信息
|
|
// "input": "3 4", # 输入
|
|
// "output": "7", # 输出
|
|
// "execute_time": 3, #执行时间
|
|
// "execute_memory": 300, #消耗内存
|
|
// "expected_output": "7" # 如果提交模式 会多这个参数
|
|
|
|
/***/ }),
|
|
|
|
/***/ 45831:
|
|
/*!****************************************!*\
|
|
!*** ./src/pages/MyProblem/service.ts ***!
|
|
\****************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ H7: function() { return /* binding */ resetCode; },
|
|
/* harmony export */ MK: function() { return /* binding */ addNotes; },
|
|
/* harmony export */ MU: function() { return /* binding */ debugCode; },
|
|
/* harmony export */ X6: function() { return /* binding */ getRecordDetail; },
|
|
/* harmony export */ bM: function() { return /* binding */ sumbitCode; },
|
|
/* harmony export */ fi: function() { return /* binding */ syncCode; },
|
|
/* harmony export */ fu: function() { return /* binding */ getProgrammingTopic; },
|
|
/* harmony export */ n4: function() { return /* binding */ updateCode; },
|
|
/* harmony export */ rX: function() { return /* binding */ getOperationResult; },
|
|
/* harmony export */ vl: function() { return /* binding */ triggerPlus; },
|
|
/* harmony export */ zO: function() { return /* binding */ getSubmitRecords; }
|
|
/* harmony export */ });
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js */ 82242);
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
/* harmony import */ var _utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/utils/fetch.ts */ 58181);
|
|
|
|
|
|
function getProgrammingTopic(id, params) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .get */ .U2)("myproblems/".concat(id, ".json"), _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({
|
|
hidePopLogin: true
|
|
}, params || {}));
|
|
}
|
|
function sumbitCode(id, params) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("myproblems/".concat(id, "/code_submit.json"), params);
|
|
}
|
|
function debugCode(id, params) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("myproblems/".concat(id, "/code_debug.json"), params);
|
|
}
|
|
function getSubmitRecords(id, params) {
|
|
if (params.language) {
|
|
params.language = encodeURIComponent(params.language);
|
|
}
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .get */ .U2)("myproblems/".concat(id, "/submit_records.json"), params);
|
|
}
|
|
function getRecordDetail(id) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .get */ .U2)("myproblems/record_detail.json", {
|
|
id: id
|
|
});
|
|
}
|
|
function getOperationResult(id, mode) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .get */ .U2)("myproblems/".concat(id, "/result.json"), {
|
|
mode: mode
|
|
});
|
|
}
|
|
function addNotes(id, params) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("myproblems/".concat(id, "/add_notes.json"), params);
|
|
}
|
|
function resetCode(id) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("myproblems/".concat(id, "/restore_initial_code.json"));
|
|
}
|
|
function syncCode(id) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("myproblems/".concat(id, "/sync_code.json"));
|
|
}
|
|
function updateCode(id, params) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("myproblems/".concat(id, "/update_code.json"), params);
|
|
}
|
|
function triggerPlus(id, params) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("discusses/".concat(id, "/plus.json"), params);
|
|
}
|
|
|
|
/***/ })
|
|
|
|
}]); |