支持继续未完成的每日一练答题

主要改动:
1. 点击每日一练前先查询是否有未完成的考试记录
2. 如果存在 in_progress 状态的记录,直接跳转继续答题
3. 如果没有未完成的记录,创建新的考试记录
4. 提升用户体验,避免重复开始考试导致进度丢失
This commit is contained in:
燕陇琪 2025-12-02 01:01:35 +08:00
parent 2d778364e2
commit d04de0190c

View File

@ -647,7 +647,22 @@ const Home: React.FC = () => {
// 检查今日每日一练是否存在
if (dailyExamRanking.exam_id) {
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)
if (res.success && res.data) {
// 跳转到考试答题页面(注意路由是 /taking 不是 /take