update style

chromesetting
tangjiang 5 years ago
parent 1be6f7651d
commit a9c3bc81b0

@ -4,7 +4,7 @@
* @Github: * @Github:
* @Date: 2019-12-04 08:36:21 * @Date: 2019-12-04 08:36:21
* @LastEditors: tangjiang * @LastEditors: tangjiang
* @LastEditTime: 2019-12-10 18:55:02 * @LastEditTime: 2019-12-20 10:38:00
*/ */
import './index.scss'; import './index.scss';
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
@ -79,7 +79,7 @@ function RecordDetail (props) {
</div> </div>
<div className="detail_ctx_status"> <div className="detail_ctx_status">
<span className="status_label"> <span className="status_label">
状态: <span className="status_label_error">{reviewResult[detail.status]}</span> 状态: <span className={detail.status === 0 ? 'status_label_success' : 'status_label_error'}>{reviewResult[detail.status]}</span>
</span> </span>
<span className="status_label"> <span className="status_label">
提交时间: <span className="status_label_sub"> 提交时间: <span className="status_label_sub">
@ -89,6 +89,7 @@ function RecordDetail (props) {
<span className="status_label"> <span className="status_label">
语言: <span className="status_label_sub">C</span> 语言: <span className="status_label_sub">C</span>
</span> </span>
{/* <span className> */}
</div> </div>
<div className="result_error_area"> <div className="result_error_area">
<ErrorResult detail={detail}/> <ErrorResult detail={detail}/>

@ -4,7 +4,7 @@
* @Github: * @Github:
* @Date: 2019-11-27 13:42:11 * @Date: 2019-11-27 13:42:11
* @LastEditors: tangjiang * @LastEditors: tangjiang
* @LastEditTime: 2019-12-19 15:11:56 * @LastEditTime: 2019-12-20 10:25:42
*/ */
import types from "./actionTypes"; import types from "./actionTypes";
import { Base64 } from 'js-base64'; import { Base64 } from 'js-base64';
@ -171,29 +171,8 @@ export const updateCode = (identifier, inputValue, type) => {
} }
} }
/** // 代码评测
* @description 调试代码 export const codeEvaluate = (dispatch, identifier, type, time_limit) => {
* @param {*} identifier
* @param {*} inputValue 输入值: 自定义 | 系统返回的
* @param {*} type 测评类型 debug | submit
*/
export const debuggerCode = (identifier,value, type) => {
return (dispatch, getState) => {
// 调用之前 先保存 code
// TODO
// console.log(identifier, value);
const {hack: {time_limit = 0}} = getState().ojForUserReducer;
if (!type || type === 'debug') {
dispatch({ // 加载中...
type: types.TEST_CODE_STATUS,
payload: 'loading'
});
}
fetchDebuggerCode(identifier, value).then(res => {
// console.log('调用调试代码成功并返回结果: ', res);
const { status } = res;
if (status === 200) {
// 调试代码成功后,调用轮循接口, 注意: 代码执行的时间要小于设置的时间限制 // 调试代码成功后,调用轮循接口, 注意: 代码执行的时间要小于设置的时间限制
const intervalTime = 500; const intervalTime = 500;
let count = 1; let count = 1;
@ -203,13 +182,6 @@ export const debuggerCode = (identifier,value, type) => {
* @param {*} count 执行次数 * @param {*} count 执行次数
* @param {*} timer 定时器 * @param {*} timer 定时器
*/ */
if (res.data.status === 401) {
dispatch({ // 改变 loading 值
type: types.LOADING_STATUS,
payload: false
});
return;
};
function getCodeSubmit (intervalTime, finalTime, count, timer){ function getCodeSubmit (intervalTime, finalTime, count, timer){
const excuteTime = (count++) * intervalTime; // 当前执行时间 const excuteTime = (count++) * intervalTime; // 当前执行时间
fetchCodeSubmit(identifier, { mode: type }).then(res => { fetchCodeSubmit(identifier, { mode: type }).then(res => {
@ -286,6 +258,40 @@ export const debuggerCode = (identifier,value, type) => {
getCodeSubmit(intervalTime, time_limit, count++, timer); getCodeSubmit(intervalTime, time_limit, count++, timer);
}, intervalTime); }, intervalTime);
} }
/**
* @description 调试代码
* @param {*} identifier
* @param {*} inputValue 输入值: 自定义 | 系统返回的
* @param {*} type 测评类型 debug | submit
*/
export const debuggerCode = (identifier,value, type) => {
return (dispatch, getState) => {
// 调用之前 先保存 code
// TODO
// console.log(identifier, value);
const {hack: {time_limit = 0}} = getState().ojForUserReducer;
if (!type || type === 'debug') {
dispatch({ // 加载中...
type: types.TEST_CODE_STATUS,
payload: 'loading'
});
}
fetchDebuggerCode(identifier, value).then(res => {
// console.log('调用调试代码成功并返回结果: ', res);
const { status } = res;
if (status === 200) {
if (res.data.status === 401) {
dispatch({ // 改变 loading 值
type: types.LOADING_STATUS,
payload: false
});
return;
};
// 测评
codeEvaluate(dispatch, identifier, type, time_limit);
}
}).catch(() => { }).catch(() => {
dispatch({ dispatch({
type: types.TEST_CODE_STATUS, type: types.TEST_CODE_STATUS,
@ -362,7 +368,8 @@ export const changeUserCodeTab = (key) => {
*/ */
export const submitUserCode = (identifier, inputValue, type) => { export const submitUserCode = (identifier, inputValue, type) => {
return (dispatch, getState) => { return (dispatch, getState) => {
const { userCode, isUpdateCode } = getState().ojForUserReducer; const { userCode, isUpdateCode, hack: {time_limit = 0} } = getState().ojForUserReducer;
function userCodeSubmit () { function userCodeSubmit () {
fetchUserCodeSubmit(identifier).then(res => { fetchUserCodeSubmit(identifier).then(res => {
// console.log('用户提交代码成功======》》》》》', res); // console.log('用户提交代码成功======》》》》》', res);
@ -374,12 +381,8 @@ export const submitUserCode = (identifier, inputValue, type) => {
}); });
return; return;
}; };
// 将编辑代码清空 // 测评
dispatch({ codeEvaluate(dispatch, identifier, type, time_limit);
type: types.SAVE_EDITOR_CODE,
payload: ''
});
dispatch(debuggerCode(identifier, inputValue, type || 'submit'));
} }
}).catch(() => { }).catch(() => {
dispatch({ dispatch({

@ -4,11 +4,10 @@
* @Github: * @Github:
* @Date: 2019-11-20 10:55:38 * @Date: 2019-11-20 10:55:38
* @LastEditors: tangjiang * @LastEditors: tangjiang
* @LastEditTime: 2019-12-17 14:10:37 * @LastEditTime: 2019-12-20 10:10:53
*/ */
import axios from 'axios'; import axios from 'axios';
import { func } from 'prop-types';
export async function fetchOJList (params) { export async function fetchOJList (params) {
console.log('传递的参数: ', params); console.log('传递的参数: ', params);

Loading…
Cancel
Save