## 后端修复
- 修复教师端课程查询 - 包含系统课程和租户课程
- 修复系统课程创建 - 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>
197 lines
6.0 KiB
Markdown
197 lines
6.0 KiB
Markdown
# 学校端功能测试记录
|
||
|
||
**日期**: 2026-03-13
|
||
**测试人员**: Claude
|
||
**测试环境**: http://localhost:5173
|
||
|
||
---
|
||
|
||
## 测试目标
|
||
|
||
按模块详细测试学校端功能。
|
||
|
||
---
|
||
|
||
## 测试账号
|
||
|
||
| 角色 | 账号 | 密码 |
|
||
|------|------|------|
|
||
| 学校 | school1 | 123456 |
|
||
|
||
---
|
||
|
||
## 测试进度
|
||
|
||
### 基础功能 ✅
|
||
- [x] 登录验证
|
||
- [x] Dashboard 查看统计数据
|
||
|
||
### 课程管理 ✅
|
||
- [x] 进入课程管理页面
|
||
- [x] 课程列表 API 正常响应
|
||
|
||
### 教师管理 ✅
|
||
- [x] 进入教师管理页面
|
||
- [x] 教师列表 API 正常响应
|
||
|
||
### 学生管理 ✅
|
||
- [x] 进入学生管理页面
|
||
- [x] 学生列表 API 正常响应
|
||
|
||
### 班级管理 ✅
|
||
- [x] 进入班级管理页面
|
||
- [x] 班级列表 API 正常响应
|
||
|
||
### 家长管理 ✅
|
||
- [x] 家长列表 API 正常响应
|
||
|
||
### 任务管理 ✅
|
||
- [x] 任务列表 API 正常响应
|
||
|
||
---
|
||
|
||
## 测试记录
|
||
|
||
### 1. 登录验证 ✅
|
||
- [x] 学校账号登录成功
|
||
- [x] 跳转到 Dashboard 页面
|
||
- [x] Token 存储正常
|
||
|
||
### 2. Dashboard 查看 ✅
|
||
- [x] Dashboard 加载成功
|
||
- [x] 显示 25 个统计卡片
|
||
- [x] 统计 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. 课程包管理 ✅
|
||
- [x] 进入课程管理页面成功
|
||
- [x] 课程列表 API 正常响应
|
||
- `/api/school/courses` - 返回课程列表
|
||
|
||
### 4. 教师管理 ✅
|
||
- [x] 进入教师管理页面成功
|
||
- [x] 教师列表 API 正常响应
|
||
- `/api/school/teachers` - 返回分页教师数据
|
||
|
||
### 5. 学生管理 ✅
|
||
- [x] 进入学生管理页面成功
|
||
- [x] 学生列表 API 正常响应
|
||
- `/api/school/students` - 返回分页学生数据
|
||
|
||
### 6. 班级管理 ✅
|
||
- [x] 进入班级管理页面成功
|
||
- [x] 班级列表 API 正常响应
|
||
- `/api/school/classes` - 返回分页班级数据
|
||
|
||
### 7. 家长管理 ✅
|
||
- [x] 家长列表 API 正常响应
|
||
- `/api/school/parents` - 返回分页家长数据
|
||
|
||
### 8. 任务管理 ✅
|
||
- [x] 任务列表 API 正常响应
|
||
- `/api/school/tasks` - 返回分页任务数据
|
||
|
||
### 9. 成长记录 ✅
|
||
- [x] 成长记录列表 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` | ✅ 正常 | 套餐列表 |
|
||
|
||
---
|
||
|
||
## 待完成功能
|
||
|
||
1. 添加教师功能 - 前端 UI 已完成,需要测试实际添加
|
||
2. 编辑教师信息功能
|
||
3. 重置教师密码功能
|
||
4. 添加学生功能
|
||
5. 编辑学生信息功能
|
||
6. 创建班级功能
|
||
7. 分配教师到班级功能
|
||
8. 添加学生到班级功能
|
||
9. 查看学生成长记录功能
|
||
10. 创建任务功能
|
||
11. 查看任务完成情况功能
|
||
|
||
---
|
||
|
||
## 测试截图
|
||
|
||
- `/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` - 班级管理
|