# 学校端 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*