支持继续未完成的每日一练答题
主要改动: 1. 点击每日一练前先查询是否有未完成的考试记录 2. 如果存在 in_progress 状态的记录,直接跳转继续答题 3. 如果没有未完成的记录,创建新的考试记录 4. 提升用户体验,避免重复开始考试导致进度丢失
This commit is contained in:
parent
2d778364e2
commit
d04de0190c
@ -647,7 +647,22 @@ const Home: React.FC = () => {
|
|||||||
// 检查今日每日一练是否存在
|
// 检查今日每日一练是否存在
|
||||||
if (dailyExamRanking.exam_id) {
|
if (dailyExamRanking.exam_id) {
|
||||||
try {
|
try {
|
||||||
// 调用开始考试API,创建考试记录
|
// 先查询该试卷是否有未完成的考试记录
|
||||||
|
const recordListRes = await examApi.getExamRecordList(dailyExamRanking.exam_id)
|
||||||
|
if (recordListRes.success && recordListRes.data) {
|
||||||
|
// 查找状态为 in_progress 的记录
|
||||||
|
const inProgressRecord = recordListRes.data.find(
|
||||||
|
record => record.status === 'in_progress'
|
||||||
|
)
|
||||||
|
|
||||||
|
if (inProgressRecord) {
|
||||||
|
// 如果有未完成的记录,继续之前的答题
|
||||||
|
navigate(`/exam/${dailyExamRanking.exam_id}/taking/${inProgressRecord.id}`)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果没有未完成的记录,调用开始考试API创建新记录
|
||||||
const res = await examApi.startExam(dailyExamRanking.exam_id)
|
const res = await examApi.startExam(dailyExamRanking.exam_id)
|
||||||
if (res.success && res.data) {
|
if (res.success && res.data) {
|
||||||
// 跳转到考试答题页面(注意路由是 /taking 不是 /take)
|
// 跳转到考试答题页面(注意路由是 /taking 不是 /take)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user