|
@@ -2,16 +2,13 @@ import React,{ useState, useCallback, useEffect } from 'react';
|
|
|
import { useQuery } from '@tanstack/react-query';
|
|
import { useQuery } from '@tanstack/react-query';
|
|
|
import { useSearchParams, useNavigate } from "react-router";
|
|
import { useSearchParams, useNavigate } from "react-router";
|
|
|
import dayjs from 'dayjs';
|
|
import dayjs from 'dayjs';
|
|
|
-import { message } from 'antd';
|
|
|
|
|
import { useSocketClient } from './hooks/useSocketClient';
|
|
import { useSocketClient } from './hooks/useSocketClient';
|
|
|
import { classroomDataClient } from '@/client/api';
|
|
import { classroomDataClient } from '@/client/api';
|
|
|
import type { QuizState } from './types';
|
|
import type { QuizState } from './types';
|
|
|
import type { AnswerRecord, Answer } from './types';
|
|
import type { AnswerRecord, Answer } from './types';
|
|
|
import { useAuth } from '@/client/mobile/hooks/AuthProvider';
|
|
import { useAuth } from '@/client/mobile/hooks/AuthProvider';
|
|
|
import { ClassroomStatus } from '@/server/modules/classroom/classroom-data.entity';
|
|
import { ClassroomStatus } from '@/server/modules/classroom/classroom-data.entity';
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+import { toast } from 'react-toastify';
|
|
|
|
|
|
|
|
// 答题卡页面
|
|
// 答题卡页面
|
|
|
export default function ExamCard() {
|
|
export default function ExamCard() {
|
|
@@ -39,7 +36,7 @@ export default function ExamCard() {
|
|
|
query: { filters: JSON.stringify({ classroomNo: classroom }) }
|
|
query: { filters: JSON.stringify({ classroomNo: classroom }) }
|
|
|
});
|
|
});
|
|
|
if (response.status !== 200) {
|
|
if (response.status !== 200) {
|
|
|
- message.error('获取教室数据失败');
|
|
|
|
|
|
|
+ toast.error('获取教室数据失败');
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
const data = await response.json();
|
|
const data = await response.json();
|
|
@@ -51,13 +48,14 @@ export default function ExamCard() {
|
|
|
// 初始化答题卡数据
|
|
// 初始化答题卡数据
|
|
|
const initExamCard = useCallback(async () => {
|
|
const initExamCard = useCallback(async () => {
|
|
|
if (!classroom || !user?.username) {
|
|
if (!classroom || !user?.username) {
|
|
|
|
|
+ toast.error('参数缺少');
|
|
|
// globalThis.location.href = '/exam';
|
|
// globalThis.location.href = '/exam';
|
|
|
navigate('/mobile')
|
|
navigate('/mobile')
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (classroomData && classroomData.status !== ClassroomStatus.OPEN) {
|
|
if (classroomData && classroomData.status !== ClassroomStatus.OPEN) {
|
|
|
- message.error('该教室已关闭');
|
|
|
|
|
|
|
+ toast.error('该教室已关闭');
|
|
|
// globalThis.location.href = '/exam';
|
|
// globalThis.location.href = '/exam';
|
|
|
navigate('/mobile')
|
|
navigate('/mobile')
|
|
|
return;
|
|
return;
|
|
@@ -160,7 +158,7 @@ export default function ExamCard() {
|
|
|
}
|
|
}
|
|
|
);
|
|
);
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
- message.error('提交答案失败');
|
|
|
|
|
|
|
+ toast.error('提交答案失败');
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}, [classroom, user, currentDate, currentPrice, answerManagement]);
|
|
}, [classroom, user, currentDate, currentPrice, answerManagement]);
|
|
@@ -198,7 +196,7 @@ export default function ExamCard() {
|
|
|
}
|
|
}
|
|
|
);
|
|
);
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
- message.error('提交答案失败');
|
|
|
|
|
|
|
+ toast.error('提交答案失败');
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}, [classroom, user, currentDate, currentPrice, answerManagement]);
|
|
}, [classroom, user, currentDate, currentPrice, answerManagement]);
|