|
|
|
@ -4,7 +4,7 @@
|
|
|
|
|
* @Github:
|
|
|
|
|
* @Date: 2020-01-15 09:56:34
|
|
|
|
|
* @LastEditors : tangjiang
|
|
|
|
|
* @LastEditTime : 2020-01-18 09:54:54
|
|
|
|
|
* @LastEditTime : 2020-01-18 11:40:26
|
|
|
|
|
*/
|
|
|
|
|
import './index.scss';
|
|
|
|
|
import React, {useState, useEffect, useRef} from 'react';
|
|
|
|
@ -67,6 +67,7 @@ const App = (props) => {
|
|
|
|
|
const [isActive, setIsActive] = useState(-1);
|
|
|
|
|
const [tip, setTip] = useState('');
|
|
|
|
|
const [codes, setCodes] = useState(wxCode);
|
|
|
|
|
// const [showInfo, setShowInfo] = useState(false);
|
|
|
|
|
// const [isVisible, setIsVisible] = useState(false);
|
|
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
@ -137,6 +138,8 @@ const App = (props) => {
|
|
|
|
|
}
|
|
|
|
|
// 初始化
|
|
|
|
|
const handleResetCode = () => {
|
|
|
|
|
clearInterval(timer);
|
|
|
|
|
timer = null;
|
|
|
|
|
const result = window.confirm('你在本文件中修改的内容将丢失, 是否确定重新加载初始代码?');
|
|
|
|
|
if (result) {
|
|
|
|
|
setTip('初始化中...');
|
|
|
|
@ -175,7 +178,9 @@ const App = (props) => {
|
|
|
|
|
let resultTxt = (_val) ? '全部通过' : `${sets_error_count}组测试结果不匹配`;
|
|
|
|
|
const iclasses = _val ? 'iconfont icon-wancheng icon success' : 'iconfont icon-tishi1 icon fail';
|
|
|
|
|
const tclasses = _val ? 'result-txt success' : 'result-txt fail';
|
|
|
|
|
const ulClasses = last_compile_output ? 'case-list hasResult' : 'case-list';
|
|
|
|
|
const ulClasses = !!last_compile_output ? 'case-list hasResult' : 'case-list';
|
|
|
|
|
const resultFlag = !!last_compile_output ? 'wxcode-test-result active' : 'wxcode-test-result';
|
|
|
|
|
console.log('==========>>>>>>>> 评测结果样式', last_compile_output, resultFlag);
|
|
|
|
|
return (
|
|
|
|
|
<div className="wx-code-area">
|
|
|
|
|
<div className="wx-code-flex">
|
|
|
|
@ -216,7 +221,7 @@ const App = (props) => {
|
|
|
|
|
<span className="header-title">共{testCase.length}个测试用例</span>
|
|
|
|
|
<span className="header-close" onClick={handleCloseTestCase}>关闭</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div className="wxcode-test-result" style={{ display: last_compile_output ? 'block' : 'none'}}>
|
|
|
|
|
<div className={resultFlag}>
|
|
|
|
|
<i className={iclasses}></i>
|
|
|
|
|
<span className={tclasses}>{test_sets_count - sets_error_count}/{test_sets_count}</span>
|
|
|
|
|
<span className={`${tclasses} result-txt-desc`}>{resultTxt}</span>
|
|
|
|
@ -224,7 +229,7 @@ const App = (props) => {
|
|
|
|
|
<ul className={ulClasses}>
|
|
|
|
|
{
|
|
|
|
|
testCase.map((item, i) => {
|
|
|
|
|
const {input, output, actual_output, is_public, result} = item;
|
|
|
|
|
const {input, output, actual_output, is_public, result, compile_success} = item;
|
|
|
|
|
const _classes = isActive === i ? 'case-item-desc active' : 'case-item-desc';
|
|
|
|
|
const iconclasses = isActive === i ? 'iconfont icon-sanjiaoxing-down icon active' : 'iconfont icon-triangle icon';
|
|
|
|
|
const headerClasses = is_public ? 'item-header-desc active' : 'item-header-desc';
|
|
|
|
@ -238,16 +243,22 @@ const App = (props) => {
|
|
|
|
|
</h2>
|
|
|
|
|
{
|
|
|
|
|
is_public
|
|
|
|
|
? (last_compile_output ?
|
|
|
|
|
(result ? <span className="iconfont icon-wancheng case_item_success"></span>
|
|
|
|
|
: <span className="iconfont icon-jinggao1 case_item_fail"></span>) : '')
|
|
|
|
|
: (<span className="case-item-tips">
|
|
|
|
|
隐藏测试集,暂不支持解锁和查看
|
|
|
|
|
{/* {result
|
|
|
|
|
? <span className="iconfont icon-wancheng case_item_success"></span>
|
|
|
|
|
: <span className="iconfont icon-jinggao1 case_item_fail"></span>
|
|
|
|
|
} */}
|
|
|
|
|
</span>)
|
|
|
|
|
? compile_success > 0
|
|
|
|
|
? result ? <span className="iconfont icon-wancheng case_item_success"></span>
|
|
|
|
|
: <span className="iconfont icon-jinggao1 case_item_fail"></span>
|
|
|
|
|
: ''
|
|
|
|
|
:
|
|
|
|
|
<span className="case-item-tips">隐藏测试集,暂不支持解锁和查看 </span>
|
|
|
|
|
// is_public
|
|
|
|
|
// ? result ? <span className="iconfont icon-wancheng case_item_success"></span>
|
|
|
|
|
// : <span className="iconfont icon-jinggao1 case_item_fail"></span>)
|
|
|
|
|
// : (
|
|
|
|
|
// 隐藏测试集,暂不支持解锁和查看
|
|
|
|
|
// {/* {result
|
|
|
|
|
// ? <span className="iconfont icon-wancheng case_item_success"></span>
|
|
|
|
|
// : <span className="iconfont icon-jinggao1 case_item_fail"></span>
|
|
|
|
|
// } */}
|
|
|
|
|
// </span>)
|
|
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|