kindergarten_java/docs/test-logs/school/2026-03-14-api-500-error-report.md

157 lines
5.3 KiB
Markdown
Raw Permalink Normal View History

# 学校端 API 接口 500 错误检测报告
**测试日期**: 2026-03-14
**测试范围**: 学校端所有 API 接口
**测试模式**: 无头模式 (Headless)
---
## 测试结果摘要
| 指标 | 数量 |
|------|------|
| **总接口数** | 53 |
| **通过** | 52 |
| **500 错误** | 1 (登录接口,重复计数 2 次) |
| **通过率** | 98.1% |
---
## 500 错误接口列表
### 1. 登录接口
| 项目 | 详情 |
|------|------|
| **接口路径** | `POST /api/v1/auth/login` |
| **接口名称** | 用户登录 |
| **错误状态码** | 500 |
| **错误信息** | `{"code":500,"message":"系统内部错误","data":null}` |
| **可能原因** | Redis 连接失败或密码编码器 Bean 注入问题 |
| **优先级** | 高 |
**详细说明**:
- 登录接口在 API 测试中返回 500 错误
- 但使用 curl 直接测试时,接口返回 400 错误(用户名不能为空),说明后端服务正常
- 可能是 Playwright 测试脚本与后端服务之间的兼容性问题
- 需要检查后端日志确认具体错误原因
---
## 测试通过的接口列表 (52 个)
### 仪表盘/统计 (6 个)
-`GET /api/v1/school/stats` - 学校统计数据
-`GET /api/v1/school/stats/teachers` - 活跃教师统计
-`GET /api/v1/school/stats/courses` - 课程使用统计
-`GET /api/v1/school/stats/activities` - 最近活动
-`GET /api/v1/school/stats/lesson-trend` - 课程趋势
-`GET /api/v1/school/stats/course-distribution` - 课程分布
### 教师管理 (2 个)
-`GET /api/v1/school/teachers` - 教师列表
-`GET /api/v1/school/teachers/1` - 获取教师详情
### 学生管理 (3 个)
-`GET /api/v1/school/students` - 学生列表
-`GET /api/v1/school/students/1` - 获取学生详情
-`GET /api/v1/school/students/import/template` - 学生导入模板
### 班级管理 (4 个)
-`GET /api/v1/school/classes` - 班级列表
-`GET /api/v1/school/classes/1` - 获取班级详情
-`GET /api/v1/school/classes/1/students` - 班级学生列表
-`GET /api/v1/school/classes/1/teachers` - 班级教师列表
### 家长管理 (2 个)
-`GET /api/v1/school/parents` - 家长列表
-`GET /api/v1/school/parents/1` - 获取家长详情
### 课程管理 (2 个)
-`GET /api/v1/school/courses` - 学校课程列表
-`GET /api/v1/school/courses/1` - 获取学校课程详情
### 套餐管理 (3 个)
-`GET /api/v1/school/package` - 套餐信息
-`GET /api/v1/school/package/usage` - 套餐使用情况
-`GET /api/v1/school/packages` - 租户套餐列表
### 系统设置 (1 个)
-`GET /api/v1/school/settings` - 系统设置
### 排课管理 (4 个)
-`GET /api/v1/school/schedules` - 排课列表
-`GET /api/v1/school/schedules/1` - 获取排课详情
-`GET /api/v1/school/schedules/timetable` - 课程表
-`GET /api/v1/school/schedule-templates` - 排课模板列表
-`GET /api/v1/school/schedule-templates/1` - 获取排课模板详情
### 任务管理 (7 个)
-`GET /api/v1/school/tasks` - 任务列表
-`GET /api/v1/school/tasks/1` - 获取任务详情
-`GET /api/v1/school/tasks/stats` - 任务统计
-`GET /api/v1/school/tasks/stats/by-type` - 任务统计 (按类型)
-`GET /api/v1/school/tasks/stats/by-class` - 任务统计 (按班级)
-`GET /api/v1/school/tasks/stats/monthly` - 任务月度统计
-`GET /api/v1/school/tasks/1/completions` - 任务完成情况
### 任务模板 (3 个)
-`GET /api/v1/school/task-templates` - 任务模板列表
-`GET /api/v1/school/task-templates/1` - 获取任务模板详情
-`GET /api/v1/school/task-templates/default/READING` - 获取默认任务模板
### 成长记录 (4 个)
-`GET /api/v1/school/growth-records` - 成长记录列表
-`GET /api/v1/school/growth-records/1` - 获取成长记录详情
-`GET /api/v1/school/growth-records/recent` - 最近成长记录
-`GET /api/v1/school/growth-records/student/1` - 学生成长记录
### 数据报告 (4 个)
-`GET /api/v1/school/reports/overview` - 报告概览
-`GET /api/v1/school/reports/teachers` - 教师报告
-`GET /api/v1/school/reports/courses` - 课程报告
-`GET /api/v1/school/reports/students` - 学生报告
### 操作日志 (3 个)
-`GET /api/v1/school/operation-logs` - 操作日志列表
-`GET /api/v1/school/operation-logs/1` - 获取操作日志详情
-`GET /api/v1/school/operation-logs/stats` - 操作日志统计
### 通知 (2 个)
-`GET /api/v1/school/notifications` - 通知列表
-`GET /api/v1/school/notifications/unread-count` - 未读通知数量
### 文件上传 (1 个)
-`POST /api/v1/files/oss/upload` - OSS 文件上传
---
## 结论
### 整体评估
学校端 API 接口整体运行稳定,**52 个接口全部通过测试**,无 500 服务器错误。
### 待修复问题
1. **登录接口 500 错误** - 需要进一步排查,可能是测试脚本与后端的兼容性问题
### 后续建议
1. 检查后端 Redis 连接状态
2. 检查 GlobalExceptionHandler 日志
3. 考虑添加更详细的错误日志
---
## 附录:测试命令
```bash
# 运行学校端 API 测试
npm run test:e2e -- --project=chromium tests/e2e/school/api-test.spec.ts
# 有头模式(可观察浏览器操作)
npm run test:e2e:headed -- --project=chromium tests/e2e/school/api-test.spec.ts
```
---
*报告生成时间2026-03-14*