修复记录:前台显示“未知题型”问题
问题现象
有用户反馈,部分题目在前台列表和刷题页面显示题型为“未知题型”,但数据库里题型字段是有值的。
排查过程
-
先查了数据库,
questions表的type字段确实有值,比如single、multiple、judge、fill、program,不是空值。 -
再看前端题型映射表,问题出在这里。前端维护了一个
typeMap对象,把数据库的英文值映射成中文显示名。但最近一次更新题库时,导入的数据里出现了single_choice、multi_choice这样的写法,和typeMap里定义的single、multiple对不上。 -
另外,AI 出题功能生成的题型字段有时会带空格或大小写不一致,比如
Single、multiple,同样匹配不到。
修复方案
-
前端做容错映射:在
typeMap查找前,先对type值做trim和toLowerCase处理,并补充single_choice → 单选题、multi_choice → 多选题等别名映射。 -
后端加校验:在题目入库接口(人工录入、Excel 导入、AI 出题)统一加了一层题型标准化处理,把各种写法归一到
single、multiple、judge、fill、program五个标准值,不符合的返回错误提示。 -
兜底显示:如果前端实在匹配不到,不再显示“未知题型”,而是显示原始
type值,方便排查。
验证
用之前导入的题库数据重新跑了一遍列表页和刷题页,题型显示正常。AI 出题生成的 20 道题也全部正确显示。
后续
把题型标准化逻辑抽成了一个工具函数,前后端共用,避免以后再出现同类问题。
修复完成,已部署。
- 点赞
- 收藏
- 关注作者
评论(0)