|
|
|
@ -25,7 +25,6 @@ import { notification } from "antd";
|
|
|
|
|
// 进入编程页面时,首先调用开启编程题接口
|
|
|
|
|
export const startProgramQuestion = (id, props) => {
|
|
|
|
|
return (dispatch, getState) => {
|
|
|
|
|
const {searchParams} = getState().ojFormReducer;
|
|
|
|
|
fetchStartProgram(id).then(res => {
|
|
|
|
|
const { status, data } = res;
|
|
|
|
|
if (status === 200) {
|
|
|
|
@ -41,13 +40,6 @@ export const startProgramQuestion = (id, props) => {
|
|
|
|
|
});
|
|
|
|
|
// 跳转至开启编程
|
|
|
|
|
if (identifier) {
|
|
|
|
|
// let data = Object.assign({}, props);
|
|
|
|
|
// const path = {
|
|
|
|
|
// pathname: `/myproblems/${identifier}`,
|
|
|
|
|
// state: data
|
|
|
|
|
// }
|
|
|
|
|
// console.log(path);
|
|
|
|
|
// props.history.push(`/myproblems/${identifier}`);
|
|
|
|
|
props.history.push({
|
|
|
|
|
pathname: `/myproblems/${identifier}`,
|
|
|
|
|
});
|
|
|
|
@ -115,24 +107,18 @@ export const saveUserCodeForInterval = (identifier, code) => {
|
|
|
|
|
type: types.AUTO_UPDATE_CODE,
|
|
|
|
|
payload: true
|
|
|
|
|
});
|
|
|
|
|
// console.log('+++', userCode);
|
|
|
|
|
fetchUpdateCode(identifier, {
|
|
|
|
|
code: Base64.encode(userCode)
|
|
|
|
|
}).then(res => {
|
|
|
|
|
if (res.data.status === 401) {
|
|
|
|
|
return;
|
|
|
|
|
};
|
|
|
|
|
// dispatch({
|
|
|
|
|
// type: types.RESTORE_INITIAL_CODE,
|
|
|
|
|
// payload: userCode
|
|
|
|
|
// });
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
dispatch({
|
|
|
|
|
type: types.AUTO_UPDATE_CODE,
|
|
|
|
|
payload: false
|
|
|
|
|
})
|
|
|
|
|
}, 1000);
|
|
|
|
|
// console.log('代码保存成功', res);
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
dispatch({
|
|
|
|
|
type: types.AUTO_UPDATE_CODE,
|
|
|
|
@ -337,11 +323,13 @@ export const debuggerCode = (identifier,value, type) => {
|
|
|
|
|
// 获取提交记录
|
|
|
|
|
export const getUserCommitRecord = (identifier) => {
|
|
|
|
|
return (dispatch, getState) => {
|
|
|
|
|
try {
|
|
|
|
|
const { pages: { limit, page } } = getState().ojForUserReducer;
|
|
|
|
|
fetchUserCommitRecord(identifier, {
|
|
|
|
|
limit,
|
|
|
|
|
page
|
|
|
|
|
}).then(res => {
|
|
|
|
|
if (res) {
|
|
|
|
|
const { status, data } = res;
|
|
|
|
|
if (status === 200) {
|
|
|
|
|
dispatch({
|
|
|
|
@ -349,7 +337,12 @@ export const getUserCommitRecord = (identifier) => {
|
|
|
|
|
payload: data
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.log(error, '-------')
|
|
|
|
|
}
|
|
|
|
|
;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 获取提交记录详情
|
|
|
|
@ -405,7 +398,6 @@ export const submitUserCode = (identifier, inputValue, type) => {
|
|
|
|
|
|
|
|
|
|
function userCodeSubmit() {
|
|
|
|
|
fetchUserCodeSubmit(identifier).then(res => {
|
|
|
|
|
// console.log('用户提交代码成功======》》》》》', res);
|
|
|
|
|
if (res.status === 200) {
|
|
|
|
|
if (res.data.status === 401) {
|
|
|
|
|
dispatch({
|
|
|
|
@ -415,7 +407,6 @@ export const submitUserCode = (identifier, inputValue, type) => {
|
|
|
|
|
return;
|
|
|
|
|
};
|
|
|
|
|
// 测评
|
|
|
|
|
console.log('hack=====', hack);
|
|
|
|
|
codeEvaluate(dispatch, identifier, type, hack.time_limit, hack.status, hack.score, hack.passed);
|
|
|
|
|
}
|
|
|
|
|
}).catch(() => {
|
|
|
|
@ -427,10 +418,9 @@ export const submitUserCode = (identifier, inputValue, type) => {
|
|
|
|
|
}
|
|
|
|
|
if (isUpdateCode) {
|
|
|
|
|
fetchUpdateCode(identifier, {
|
|
|
|
|
code: userCode
|
|
|
|
|
code: Base64.encode(userCode)
|
|
|
|
|
}).then(res => {
|
|
|
|
|
// 是否更新了代码, 目的是当代码没有更新时不调用更新代码接口,目录没有实现
|
|
|
|
|
// TODO 需要优化
|
|
|
|
|
if (res.data.status === 401) {
|
|
|
|
|
dispatch({
|
|
|
|
|
type: types.SUBMIT_LOADING_STATUS,
|
|
|
|
@ -460,7 +450,6 @@ export const restoreInitialCode = (identifier, msg) => {
|
|
|
|
|
return (dispatch) => {
|
|
|
|
|
fetchRestoreInitialCode(identifier).then(res => {
|
|
|
|
|
if (res.data.status === 401) return;
|
|
|
|
|
// console.log('恢复初始代码====》》》》', res);
|
|
|
|
|
const { status, data } = res;
|
|
|
|
|
if (status === 200) {
|
|
|
|
|
dispatch({
|
|
|
|
@ -515,7 +504,6 @@ export const changeRecordPagination = (page) => {
|
|
|
|
|
export const addNotes = (identifier, params, cb) => {
|
|
|
|
|
return (dispatch) => {
|
|
|
|
|
fetchAddNotes(identifier, params).then(res => {
|
|
|
|
|
// console.log('添加笔记成功===>>', res);
|
|
|
|
|
dispatch({
|
|
|
|
|
type: types.LOADING_STATUS,
|
|
|
|
|
payload: false
|
|
|
|
|