From a5e0e8761189ecdc9b70459b77552bfc2db8726f Mon Sep 17 00:00:00 2001 From: tangjiang <465264938@qq.com> Date: Sat, 18 Jan 2020 11:49:17 +0800 Subject: [PATCH] update wxcode testcase --- public/react/src/modules/wxcode/index.js | 41 ++++++++++++++-------- public/react/src/modules/wxcode/index.scss | 8 +++-- public/react/src/redux/actions/wxCode.js | 4 +-- 3 files changed, 34 insertions(+), 19 deletions(-) diff --git a/public/react/src/modules/wxcode/index.js b/public/react/src/modules/wxcode/index.js index 60eb973d3..49d4d9aa9 100644 --- a/public/react/src/modules/wxcode/index.js +++ b/public/react/src/modules/wxcode/index.js @@ -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 (
@@ -216,7 +221,7 @@ const App = (props) => { 共{testCase.length}个测试用例 关闭
-
+
{test_sets_count - sets_error_count}/{test_sets_count} {resultTxt} @@ -224,7 +229,7 @@ const App = (props) => {
    { 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'; @@ -237,17 +242,23 @@ const App = (props) => { 测试集{i + 1} { - is_public - ? (last_compile_output ? - (result ? - : ) : '') - : ( - 隐藏测试集,暂不支持解锁和查看 - {/* {result - ? - : - } */} - ) + is_public + ? compile_success > 0 + ? result ? + : + : '' + : + 隐藏测试集,暂不支持解锁和查看 + // is_public + // ? result ? + // : ) + // : ( + // 隐藏测试集,暂不支持解锁和查看 + // {/* {result + // ? + // : + // } */} + // ) }
diff --git a/public/react/src/modules/wxcode/index.scss b/public/react/src/modules/wxcode/index.scss index 071bc1708..dd47b3f7a 100644 --- a/public/react/src/modules/wxcode/index.scss +++ b/public/react/src/modules/wxcode/index.scss @@ -116,7 +116,8 @@ } .wxcode-test-result{ - display: flex; + // display: flex; + display: none; height: 72px; // background: gold; align-items: center; @@ -130,7 +131,7 @@ .icon{ font-size: 36px !important; position: relative; - top: -8px; + // top: -8px; margin-right: 10px; } .result-txt{ @@ -144,6 +145,9 @@ white-space: nowrap; margin: 20px; } + &.active{ + display: flex;; + } } .case-list{ diff --git a/public/react/src/redux/actions/wxCode.js b/public/react/src/redux/actions/wxCode.js index 8d240b0d9..19bf7f8b4 100644 --- a/public/react/src/redux/actions/wxCode.js +++ b/public/react/src/redux/actions/wxCode.js @@ -4,7 +4,7 @@ * @Github: * @Date: 2020-01-15 15:41:10 * @LastEditors : tangjiang - * @LastEditTime : 2020-01-18 09:52:55 + * @LastEditTime : 2020-01-18 11:43:43 */ import types from './actionTypes.js'; import { @@ -148,7 +148,7 @@ export const evaluateWxCode = (identifier, path) => { console.log(finalTime, count, excuteTime); if ((excuteTime / 1000) > (finalTime + 1)) time_out = true; fetchWxCodeGameStatus(identifier, {resubmit: _resubmit, time_out}).then(r => { - const { status, test_sets = [], gold, experience, next_game, sets_error_count } = r.data; + const { status, test_sets = [], gold, experience, next_game, sets_error_count, test_sets_count, last_compile_output} = r.data; if (+status > -1 || ((excuteTime / 1000) > (finalTime + 1))) { clearInterval(timer); timer = null;