3.9 KiB
3.9 KiB
试卷答案问题修复说明
已修复的问题
1. 答案判断逻辑错误
问题描述
- 所有题目都显示做错(红色标记)
- 实际有些题目做对了但系统判断为错误
原因分析
单选题答案判断时,没有处理"A. 选项内容"这种格式:
- 学生答案:
"A. 选项内容" - 正确答案:
"A" - 导致匹配失败
修复方案
修改 StudyScoreController.java 的 normalizeSingleAnswer 方法:
- 自动去除"A. "、"B. "等前缀
- 只比较选项字母(A、B、C等)
- 支持格式:
- "A. 选项内容" → "A"
- "A.选项内容" → "A"
- "A" → "A"
修复文件
Study-Vue-redis/ry-study-admin/src/main/java/com/ddnai/web/controller/study/StudyScoreController.java
2. 不显示正确答案
问题描述
- 做完试卷后只显示学生的答案
- 正确答案不显示
原因分析
前端只在答错时显示正确答案:
<view v-if="detail.isCorrect === '0'">
正确答案:{{ detail.correctAnswer }}
</view>
修复方案
修改前端代码,始终显示正确答案(无论答对答错)
修复文件
fronted_uniapp/pages/score/detail.vue
浏览器端成绩不显示问题
问题描述
- 做完试卷后,在后台管理系统中看不到成绩
- 刚做完的试卷找不到
可能原因
原因1:页面没有刷新
解决方案:
- 在后台管理系统点击"成绩管理"菜单
- 点击"查询"按钮刷新列表
- 或按F5刷新整个页面
原因2:权限问题
检查方法:
- 打开浏览器控制台(F12)
- 查看Network标签
- 看是否有401或403错误
原因3:查询条件过滤
检查方法:
- 检查页面上的筛选条件
- 清空所有筛选条件
- 重新查询
原因4:数据实际没有保存
检查方法: 执行SQL查询:
-- 查看最新的成绩记录
SELECT
id,
student_id,
exam_id,
obtained_score,
total_score,
submit_time
FROM study_score
ORDER BY submit_time DESC
LIMIT 10;
-- 查看学生答案详情
SELECT
id,
student_id,
exam_id,
question_id,
student_answer,
is_correct,
score
FROM study_student_answer
WHERE student_id = {你的学生ID}
ORDER BY create_time DESC
LIMIT 20;
重新编译和测试
步骤1:重新编译后端
cd C:\Users\Administrator\Desktop\Project\ry_study-v_03\Study-Vue-redis
mvn clean package -DskipTests
# 重启后端服务
步骤2:重新编译前端App
cd C:\Users\Administrator\Desktop\Project\ry_study-v_03\fronted_uniapp
# 停止当前服务(Ctrl+C)
npm run dev:app
步骤3:清除缓存
- 完全关闭App
- 卸载后重新安装
- 或清除数据
步骤4:测试
- 登录App
- 做一份试卷
- 提交试卷
- 查看成绩详情
- 检查:
- ✅ 答对的题目显示绿色
- ✅ 答错的题目显示红色
- ✅ 所有题目都显示正确答案
验证答案判断是否正确
测试用例
单选题
- 正确答案:
A - 学生答案可能的格式:
"A"→ 应该判断为正确 ✅"A. 选项内容"→ 应该判断为正确 ✅"B"→ 应该判断为错误 ❌
判断题
- 正确答案:
正确 - 学生答案:
"正确"→ 应该判断为正确 ✅"错误"→ 应该判断为错误 ❌
多选题
- 正确答案:
A,B,C - 学生答案:
"A,B,C"→ 应该判断为正确 ✅"A,B"→ 应该判断为错误 ❌"B,A,C"→ 应该判断为正确 ✅(顺序不影响)
如果还有问题
1. 检查后端日志
查看后端控制台,看是否有错误信息
2. 检查前端日志
打开App的调试控制台,查看是否有错误
3. 执行SQL检查数据
使用上面的SQL脚本检查数据是否正确保存
4. 提供以下信息
- 答题时选择的答案
- 题目的正确答案
- 判断结果(对/错)
- 后端日志
- 前端日志