## 后端修复
- 修复教师端课程查询 - 包含系统课程和租户课程
- 修复系统课程创建 - isSystem 标志正确保存到数据库
- 新增套餐授权接口 POST /api/v1/admin/packages/{id}/grant
## 新增 Controller
- SchoolStatsController - 学校端统计数据
- SchoolCourseController - 学校端课程管理
- TeacherStatsController - 教师端统计数据
## 前端修复
- 修复 API 客户端导入 - getApi → getReadingPlatformAPI
- 修复三端 API 调用方法名
- 更新 Orval 生成配置和 API 类型
- 修复学校端视图 - result.items → result.list
## 测试结果
- ✅ 超管端:课程创建/发布、套餐完整流程、授权
- ✅ 学校端:登录、统计、课程、套餐查看
- ✅ 教师端:登录、Dashboard、班级、课程查看
## 文档更新
- 新增测试记录:/docs/test-logs/
- 更新 CHANGELOG.md
- 更新今日开发日志
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
6.0 KiB
6.0 KiB
学校端功能测试记录
日期: 2026-03-13 测试人员: Claude 测试环境: http://localhost:5173
测试目标
按模块详细测试学校端功能。
测试账号
| 角色 | 账号 | 密码 |
|---|---|---|
| 学校 | school1 | 123456 |
测试进度
基础功能 ✅
- 登录验证
- Dashboard 查看统计数据
课程管理 ✅
- 进入课程管理页面
- 课程列表 API 正常响应
教师管理 ✅
- 进入教师管理页面
- 教师列表 API 正常响应
学生管理 ✅
- 进入学生管理页面
- 学生列表 API 正常响应
班级管理 ✅
- 进入班级管理页面
- 班级列表 API 正常响应
家长管理 ✅
- 家长列表 API 正常响应
任务管理 ✅
- 任务列表 API 正常响应
测试记录
1. 登录验证 ✅
- 学校账号登录成功
- 跳转到 Dashboard 页面
- Token 存储正常
2. Dashboard 查看 ✅
- Dashboard 加载成功
- 显示 25 个统计卡片
- 统计 API 正常响应
/api/school/stats- 返回{teacherCount, studentCount, classCount, lessonCount}/api/school/stats/teachers- 活跃教师排行/api/school/stats/courses- 课程使用统计/api/school/stats/activities- 近期活动/api/school/stats/lesson-trend- 授课趋势/api/school/stats/course-distribution- 课程分布
3. 课程包管理 ✅
- 进入课程管理页面成功
- 课程列表 API 正常响应
/api/school/courses- 返回课程列表
4. 教师管理 ✅
- 进入教师管理页面成功
- 教师列表 API 正常响应
/api/school/teachers- 返回分页教师数据
5. 学生管理 ✅
- 进入学生管理页面成功
- 学生列表 API 正常响应
/api/school/students- 返回分页学生数据
6. 班级管理 ✅
- 进入班级管理页面成功
- 班级列表 API 正常响应
/api/school/classes- 返回分页班级数据
7. 家长管理 ✅
- 家长列表 API 正常响应
/api/school/parents- 返回分页家长数据
8. 任务管理 ✅
- 任务列表 API 正常响应
/api/school/tasks- 返回分页任务数据
9. 成长记录 ✅
- 成长记录列表 API 正常响应
/api/school/growth-records- 返回分页成长记录数据
修复的问题
问题 1: 数据库表缺失 ✅ 已修复
描述: 学校端所需的表不存在 修复: 创建了以下表
- ✓
classes- 班级表 - ✓
class_teachers- 班级教师关联表 - ✓
student_class_history- 学生班级历史表 - ✓
parent_students- 家长学生关联表 - ✓
tasks- 任务表 - ✓
task_targets- 任务目标表 - ✓
task_completions- 任务完成表 - ✓
growth_records- 成长记录表
问题 2: 用户密码哈希不匹配 ✅ 已修复
描述: 数据库中的密码哈希与测试密码不匹配
修复: 使用 Python 脚本将所有用户密码重置为 123456
问题 3: 缺少 School Stats API ✅ 已修复
描述: 前端调用的统计 API 不存在
修复: 创建了 SchoolStatsController,实现以下接口:
GET /api/school/stats- 学校统计数据GET /api/school/stats/teachers- 活跃教师排行GET /api/school/stats/courses- 课程使用统计GET /api/school/stats/activities- 近期活动GET /api/school/stats/lesson-trend- 授课趋势GET /api/school/stats/course-distribution- 课程分布
问题 4: 缺少 School Course API ✅ 已修复
描述: 前端调用的课程 API 不存在
修复: 创建了 SchoolCourseController,实现以下接口:
GET /api/school/courses- 学校课程列表GET /api/school/courses/{id}- 课程详情
问题 5: API 响应格式不匹配 ✅ 已修复
描述: 后端返回 {list, total, pageNum, ...} 但前端期望 {items, total, page, ...}
修复:
- 更新前端
src/api/school.ts,将所有items改为list,page改为pageNum - 更新所有视图文件,将
result.items改为result.list
问题 6: SchoolPackageController 路径错误 ✅ 已修复
描述: SchoolPackageController 使用 /api/v1/school/packages 但应为 /api/school/packages
修复: 更新 @RequestMapping 为 /api/school/packages
API 状态汇总
| API 端点 | 状态 | 说明 |
|---|---|---|
/api/auth/login |
✅ 正常 | 登录功能正常 |
/api/school/stats |
✅ 正常 | 统计数据 |
/api/school/stats/teachers |
✅ 正常 | 活跃教师排行 |
/api/school/stats/courses |
✅ 正常 | 课程使用统计 |
/api/school/stats/activities |
✅ 正常 | 近期活动 |
/api/school/stats/lesson-trend |
✅ 正常 | 授课趋势 |
/api/school/stats/course-distribution |
✅ 正常 | 课程分布 |
/api/school/teachers |
✅ 正常 | 教师列表(分页) |
/api/school/students |
✅ 正常 | 学生列表(分页) |
/api/school/classes |
✅ 正常 | 班级列表(分页) |
/api/school/parents |
✅ 正常 | 家长列表(分页) |
/api/school/tasks |
✅ 正常 | 任务列表(分页) |
/api/school/growth-records |
✅ 正常 | 成长记录(分页) |
/api/school/packages |
✅ 正常 | 套餐列表 |
待完成功能
- 添加教师功能 - 前端 UI 已完成,需要测试实际添加
- 编辑教师信息功能
- 重置教师密码功能
- 添加学生功能
- 编辑学生信息功能
- 创建班级功能
- 分配教师到班级功能
- 添加学生到班级功能
- 查看学生成长记录功能
- 创建任务功能
- 查看任务完成情况功能
测试截图
/tmp/school_test_01_login.png- 登录页/tmp/school_test_02_after_login.png- 登录后/tmp/school_test_03_dashboard.png- Dashboard/tmp/school_test_04_courses.png- 课程管理/tmp/school_test_06_teachers.png- 教师管理/tmp/school_test_08_students.png- 学生管理/tmp/school_test_10_classes.png- 班级管理