## 1. 登录记录
- [ ] 1.1 确保仅在登录成功时写入最近登录记录
- [ ] 1.2 确保最近登录记录不包含密码等敏感字段
- [ ] 1.3 确保选择历史记录仅回填用户名并清空密码

## 2. 管理员仪表盘改造
- [ ] 2.1 重构指标卡片并移除“答题记录/平均得分”
- [ ] 2.2 总用户数卡片支持点击跳转 `/admin/users`
- [ ] 2.3 题库统计卡片使用饼图展示题目类别占比并跳转 `/admin/question-bank`
- [ ] 2.4 考试科目卡片展示活跃科目数量并跳转 `/admin/subjects`
- [ ] 2.5 考试任务卡片用饼图展示任务状态分布并跳转 `/admin/exam-tasks`
- [ ] 2.6 新增“历史考试任务统计”并移除“当前有效考试任务统计”
- [ ] 2.7 历史考试任务统计按结束时间倒序且分页每页 5 条
- [ ] 2.8 新增“未开始考试任务统计”并按开始时间正序分页每页 5 条

## 3. 后端接口与聚合数据
- [ ] 3.1 为仪表盘卡片新增聚合数据接口或扩展现有统计接口
- [ ] 3.2 新增历史考试任务统计分页查询接口（含排序与分页参数）
- [ ] 3.3 确保新接口返回符合统一响应结构并包含 `pagination`
- [ ] 3.4 新增未开始考试任务统计分页查询接口（含排序与分页参数）

## 4. 统计页调整与数据拉取统一
- [ ] 4.1 移除题型正确率统计模块
- [ ] 4.2 统计页数据拉取复用现有 API 封装并移除手写 token 逻辑
- [ ] 4.3 仪表盘最近答题记录使用 `quizAPI.getAllRecords`

## 5. 测试与校验
- [ ] 5.1 补充可执行的前端单测覆盖登录记录写入逻辑
- [ ] 5.2 补充可执行的接口测试覆盖历史/未开始任务分页查询接口
- [ ] 5.3 运行 `npm run check` 与 `npm run build`

