## 后端修复
- 修复教师端课程查询 - 包含系统课程和租户课程
- 修复系统课程创建 - 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>
92 lines
2.2 KiB
TypeScript
92 lines
2.2 KiB
TypeScript
/**
|
|
* Generated by orval v8.5.3 🍺
|
|
* Do not edit manually.
|
|
* Reading Platform API
|
|
* Reading Platform Backend Service API Documentation
|
|
* OpenAPI spec version: 1.0.0
|
|
*/
|
|
|
|
/**
|
|
* Course Update Request
|
|
*/
|
|
export interface CourseUpdateRequest {
|
|
/** Course name */
|
|
name?: string;
|
|
/** Course code */
|
|
code?: string;
|
|
/** Description */
|
|
description?: string;
|
|
/** Cover URL */
|
|
coverUrl?: string;
|
|
/** Cover image path */
|
|
coverImagePath?: string;
|
|
/** Category */
|
|
category?: string;
|
|
/** Age range */
|
|
ageRange?: string;
|
|
/** Difficulty level */
|
|
difficultyLevel?: string;
|
|
/** Duration in minutes */
|
|
durationMinutes?: number;
|
|
/** Objectives */
|
|
objectives?: string;
|
|
/** Status */
|
|
status?: string;
|
|
/** Core content */
|
|
coreContent?: string;
|
|
/** Course summary */
|
|
introSummary?: string;
|
|
/** Course highlights */
|
|
introHighlights?: string;
|
|
/** Course goals */
|
|
introGoals?: string;
|
|
/** Content schedule */
|
|
introSchedule?: string;
|
|
/** Key points and difficulties */
|
|
introKeyPoints?: string;
|
|
/** Teaching methods */
|
|
introMethods?: string;
|
|
/** Evaluation methods */
|
|
introEvaluation?: string;
|
|
/** Notes and precautions */
|
|
introNotes?: string;
|
|
/** Schedule reference data (JSON) */
|
|
scheduleRefData?: string;
|
|
/** Environment construction content */
|
|
environmentConstruction?: string;
|
|
/** Theme ID */
|
|
themeId?: number;
|
|
/** Picture book name */
|
|
pictureBookName?: string;
|
|
/** Ebook paths (JSON array) */
|
|
ebookPaths?: string;
|
|
/** Audio paths (JSON array) */
|
|
audioPaths?: string;
|
|
/** Video paths (JSON array) */
|
|
videoPaths?: string;
|
|
/** Other resources (JSON array) */
|
|
otherResources?: string;
|
|
/** PPT file path */
|
|
pptPath?: string;
|
|
/** PPT file name */
|
|
pptName?: string;
|
|
/** Poster paths (JSON array) */
|
|
posterPaths?: string;
|
|
/** Teaching tools (JSON array) */
|
|
tools?: string;
|
|
/** Student materials */
|
|
studentMaterials?: string;
|
|
/** Lesson plan data (JSON) */
|
|
lessonPlanData?: string;
|
|
/** Activities data (JSON) */
|
|
activitiesData?: string;
|
|
/** Assessment data (JSON) */
|
|
assessmentData?: string;
|
|
/** Grade tags (JSON array) */
|
|
gradeTags?: string;
|
|
/** Domain tags (JSON array) */
|
|
domainTags?: string;
|
|
/** Has collective lesson */
|
|
hasCollectiveLesson?: boolean;
|
|
}
|