项目冲刺 - day4
1. 每天举行站立式会议![image]()
2. 昨天已完成的工作
邢子昂:完成 T02(认证 API)开发,与前端完成 T05(用户认证模块联调),解决日期格式不匹配问题。
庄成杰:完成 T03(登录页面)联调,实现 T04(路由守卫)的 Token 校验逻辑。
张翔:完成 T07(学科 API)全量 CRUD 开发,完成 T12(试卷表、试卷 - 题目关系表)设计。
3. 今天计划完成的工作
邢子昂:完成 T09(题目表设计),搭建 T10(题目增删改查 API)的实体类与 Mapper 层,同时完成题目选项 JSON 格式校验工具类开发;
庄成杰:完成 T08(学科管理页面)的列表与新增表单开发,适配分页组件的前端数据渲染逻辑;
张翔:完成 T13(试卷增删改查 API)的控制器层开发,实现 “新增试卷” 接口,同时补充试卷与学科的关联字段(paper.subject_id) 设计。
4. 工作中遇到的困难
邢子昂:题目选项的 JSON 格式在不同前端传入时存在格式差异(部分选项带多余空格),导致后端解析失败;解决方案:后端接收数据后,统一调用 JSON 格式化工具类去除空格、规范结构。
庄成杰:学科管理页面的 “删除” 按钮点击后无二次确认,易出现误删操作;解决方案:添加 Element-Plus 的MessageBox.confirm确认弹窗,避免误操作。
张翔:试卷表关联学科时,学科 ID 下拉选择的数据加载延迟(前端每次点击都请求接口);解决方案:将学科列表数据缓存到前端 Vuex 中,仅首次加载时请求接口。
5. 发布项目燃尽图

6. 最新模块
T09 题目表设计
java:
public class QuestionOptionValidator {
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
public static boolean validateOptions(String options) {try {JsonNode node = OBJECT_MAPPER.readTree(options);return node.isArray() && node.size() > 0;} catch (JsonProcessingException e) {return false;}
}public static String formatOptions(String options) throws JsonProcessingException {JsonNode node = OBJECT_MAPPER.readTree(options);return OBJECT_MAPPER.writeValueAsString(node);
}
}
7. 每日每人总结
邢子昂:题目表设计落地,后续 API 开发有了清晰的结构,效率会提升。
庄成杰:路由守卫的坑点解决,学科页面的基础框架已搭好,明天可快速补全 CRUD。
张翔:试卷表的基础接口跑通,多对多关联的索引设计为后续性能打了基础。
