guoyu/Test/备份/_已清理文件备份_周六 22512/md/试卷答案问题修复说明.md

3.9 KiB
Raw Blame History

试卷答案问题修复说明

已修复的问题

1. 答案判断逻辑错误

问题描述

  • 所有题目都显示做错(红色标记)
  • 实际有些题目做对了但系统判断为错误

原因分析

单选题答案判断时,没有处理"A. 选项内容"这种格式:

  • 学生答案:"A. 选项内容"
  • 正确答案:"A"
  • 导致匹配失败

修复方案

修改 StudyScoreController.javanormalizeSingleAnswer 方法:

  • 自动去除"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页面没有刷新

解决方案

  1. 在后台管理系统点击"成绩管理"菜单
  2. 点击"查询"按钮刷新列表
  3. 或按F5刷新整个页面

原因2权限问题

检查方法

  1. 打开浏览器控制台F12
  2. 查看Network标签
  3. 看是否有401或403错误

原因3查询条件过滤

检查方法

  1. 检查页面上的筛选条件
  2. 清空所有筛选条件
  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测试

  1. 登录App
  2. 做一份试卷
  3. 提交试卷
  4. 查看成绩详情
  5. 检查:
    • 答对的题目显示绿色
    • 答错的题目显示红色
    • 所有题目都显示正确答案

验证答案判断是否正确

测试用例

单选题

  • 正确答案:A
  • 学生答案可能的格式:
    • "A" → 应该判断为正确
    • "A. 选项内容" → 应该判断为正确
    • "B" → 应该判断为错误

判断题

  • 正确答案:正确
  • 学生答案:
    • "正确" → 应该判断为正确
    • "错误" → 应该判断为错误

多选题

  • 正确答案:A,B,C
  • 学生答案:
    • "A,B,C" → 应该判断为正确
    • "A,B" → 应该判断为错误
    • "B,A,C" → 应该判断为正确 (顺序不影响)

如果还有问题

1. 检查后端日志

查看后端控制台,看是否有错误信息

2. 检查前端日志

打开App的调试控制台查看是否有错误

3. 执行SQL检查数据

使用上面的SQL脚本检查数据是否正确保存

4. 提供以下信息

  • 答题时选择的答案
  • 题目的正确答案
  • 判断结果(对/错)
  • 后端日志
  • 前端日志