diff --git a/api-generator.bat b/api-generator.bat new file mode 100644 index 0000000..e086d76 --- /dev/null +++ b/api-generator.bat @@ -0,0 +1,49 @@ +@echo off + +REM 后端接口变更后自动更新前端 API 规范 +REM 使用方式:修改接口后运行 api-generator.bat + +echo === 自动更新前端 API 规格 === + +REM 检查前端目录是否存在 +if not exist "reading-platform-frontend" ( + echo ❌ 错误:前端目录不存在 + exit /b 1 +) + +REM 进入前端目录 +cd reading-platform-frontend + +REM 检查 npm 是否安装 +node --version > NUL 2>&1 +if %errorlevel% neq 0 ( + echo ❌ 错误:未找到 Node.js,请安装 Node.js 18+ + exit /b 1 +) + +REM 检查 package.json 中是否有 api:update 脚本 +findstr "api:update" package.json > NUL +if %errorlevel% neq 0 ( + echo ❌ 错误:package.json 中未找到 api:update 脚本 + exit /b 1 +) + +echo 📦 正在安装依赖... +call npm install + +echo 🔄 正在拉取最新 API 规范并生成代码... +call npm run api:update + +echo ✅ 完成! + +REM 显示修改的文件 +echo. +echo 📝 修改的文件: +git status --short + +REM 提示用户检查并提交 +echo. +echo 💡 请检查生成的文件,然后提交: +echo git add api-spec.yml src/api/generated/ +echo git commit -m "chore(api): 同步最新接口规范" +echo git push diff --git a/api-generator.sh b/api-generator.sh new file mode 100644 index 0000000..b854172 --- /dev/null +++ b/api-generator.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +# 后端接口变更后自动更新前端 API 规范 +# 使用方式:修改接口后运行 ./api-generator.sh + +echo "=== 自动更新前端 API 规范 ===" + +# 检查前端目录是否存在 +if [ ! -d "reading-platform-frontend" ]; then + echo "❌ 错误:前端目录不存在" + exit 1 +fi + +# 进入前端目录 +cd reading-platform-frontend + +# 检查 npm 是否安装 +if ! npm --version > /dev/null 2>&1; then + echo "❌ 错误:未找到 npm,请安装 Node.js 18+" + exit 1 +fi + +# 检查 package.json 中是否有 api:update 脚本 +if ! grep -q "api:update" package.json; then + echo "❌ 错误:package.json 中未找到 api:update 脚本" + exit 1 +fi + +echo "📦 正在安装依赖..." +npm install + +echo "🔄 正在拉取最新 API 规范并生成代码..." +npm run api:update + +echo "✅ 完成!" + +# 显示修改的文件 +echo "" +echo "📝 修改的文件:" +git status --short + +# 提示用户检查并提交 +echo "" +echo "💡 请检查生成的文件,然后提交:" +echo " git add api-spec.yml src/api/generated/" +echo " git commit -m 'chore(api): 同步最新接口规范'" +echo " git push" diff --git a/docs/开发协作指南.md b/docs/开发协作指南.md index 8e15b9d..7b3e68e 100644 --- a/docs/开发协作指南.md +++ b/docs/开发协作指南.md @@ -108,10 +108,36 @@ kindergarten_java/ **前后端唯一的同步方式**:后端改了接口 → 更新 `api-spec.yml` → 前端 `git pull` → TypeScript 报错的地方 = 需要适配的地方。 +### 协作模式说明 + +#### 为什么选择 OpenAPI 规范驱动开发? + +| 协作方式 | 优点 | 缺点 | 适用场景 | +|---------|------|------|---------| +| **OpenAPI 规范驱动**(当前) | 类型安全、零沟通成本、可并行开发 | 需要遵守规范 | **推荐:常规功能开发** | +| 一人全流程开发 | 速度快(单人) | 资源浪费、难以深度优化 | 仅适用于原型验证 | +| 按模块一人包干 | 责任清晰 | 接口对齐成本高、错误发现晚 | 不推荐 | + +**关键优势**: +1. **类型安全** - TypeScript 自动校验接口参数和返回值 +2. **零沟通成本** - 接口定义就是 contract,不需要问"这个字段要不要" +3. **并行开发** - 后端写接口时,前端可以基于规范提前写页面框架 +4. **自动同步** - `npm run api:update` 一键同步,不会有人用旧接口 + --- ## 四、后端工程师 +### 新功能开发检查清单 + +| 步骤 | 后端工程师 | 前端工程师 | 说明 | +|-----|-----------|-----------|------| +| 1. 需求确认 | 评估接口可行性 | 评估页面结构 | 确保需求可实现 | +| 2. 接口设计 | 写 Swagger 注解 | 确认接口需求 | api-spec.yml 作为 contract | +| 3. 代码开发 | 实现 Controller | 开发 Vue 页面 | 可并行开发 | +| 4. 本地联调 | `docker compose up` | `npm run dev` | 对齐测试账号登录 | +| 5. 提交代码 | 提交后端代码 | Git Pull 后提交 | 一次性提交所有改动 | + ### 开发环境要求 - Docker Desktop(必须,用于本地启动服务) @@ -244,6 +270,27 @@ git pull # 拉取最新代码 > 如果遇到 TypeScript 编译报错,说明接口有变化,根据错误提示修改调用代码即可。**不需要问后端接口格式**,类型定义就是答案。 +### 新功能开发检查清单 + +| 步骤 | 前端工程师 | 后端工程师 | 说明 | +|-----|-----------|-----------|------| +| 1. 需求确认 | 评估页面结构 | 评估接口可行性 | 确保需求可实现 | +| 2. 接口设计 | 确认接口需求 | 写 Swagger 注解 | api-spec.yml 作为 contract | +| 3. 代码开发 | 开发 Vue 页面 | 实现 Controller | 可并行开发 | +| 4. 本地联调 | `npm run dev` | `docker compose up` | 对齐测试账号登录 | +| 5. 提交代码 | Git Pull 后提交 | 提交后端代码 | 一次性提交所有改动 | + +### 前端 Mock 数据(可选) + +在后端接口未完成时,前端可基于 api-spec.yml 使用 Mock 数据: + +```typescript +// 使用 mockjs 或 orval 的 mock 功能 +import { mockGetStudentPage } from '@/api/generated/mock' + +const { data } = await mockGetStudentPage({ page: 1, size: 10 }) +``` + ### 新增页面 ``` diff --git a/reading-platform-frontend/README.md b/reading-platform-frontend/README.md new file mode 100644 index 0000000..74e17d9 --- /dev/null +++ b/reading-platform-frontend/README.md @@ -0,0 +1,121 @@ +# 少儿智慧阅读平台 - 前端 + +Vue 3 + TypeScript + Vite + Ant Design Vue + +## 重要提醒(必读) + +### 🚨 接口变更后必须执行的步骤 + +当后端修改了 API 接口后,**必须**执行以下步骤: + +```bash +# 1. 拉取最新代码 +git pull + +# 2. 更新 API 规范并重新生成类型代码 +npm run api:update + +# 3. 检查生成的文件 +git status +# 应该看到 api-spec.yml 和 src/api/generated/ 下的文件有变化 + +# 4. 提交所有改动 +git add api-spec.yml src/api/generated/ +git commit -m "chore(api): 同步最新接口规范" +git push +``` + +### ⚠️ 如果跳过这一步会发生什么? + +- TypeScript 编译报错(类型不匹配) +- 代码中会出现红色波浪线 +- CI 检查无法通过 + +### 🔍 如何确认接口是否有变更? + +```bash +# 查看最近提交 +git log --oneline -10 + +# 查看 api-spec.yml 是否有未提交的改动 +git diff api-spec.yml + +# 查看生成的文件是否与远程一致 +git status src/api/generated/ +``` + +## 本地开发 + +### 环境要求 + +- Node.js 18+ +- npm 9+ + +### 安装依赖 + +```bash +npm install +``` + +### 启动开发服务器 + +```bash +npm run dev +``` + +访问:http://localhost:5173 + +## 构建生产版本 + +```bash +npm run build +``` + +## API 相关命令 + +| 命令 | 说明 | +|------|------| +| `npm run dev` | 启动开发服务器 | +| `npm run build` | 构建生产版本 | +| `npm run api:fetch` | 从后端拉取最新 API 规范 (api-spec.json) | +| `npm run api:gen` | 根据规范生成 TypeScript 代码 | +| `npm run api:update` | **拉取 + 生成**(后端改接口后必须执行) | + +## 项目结构 + +``` +reading-platform-frontend/ +├── src/ +│ ├── views/ # 页面组件 +│ │ ├── admin/ # 超管功能 +│ │ ├── school/ # 学校管理 +│ │ ├── teacher/ # 教师功能 +│ │ └── parent/ # 家长功能 +│ ├── api/ +│ │ ├── generated/ # ⚠️ 自动生成,不要手动修改 +│ │ └── index.ts # axios 实例 +│ └── stores/ # Pinia 状态管理 +├── api-spec.yml # ⚠️ OpenAPI 规范(后端更新后提交) +└── orval.config.ts # API 代码生成配置 +``` + +## 注意事项 + +1. **不要手动修改** `src/api/generated/` 下的文件 +2. **不要提交** 修改后的 `api-spec.yml` 但不提交 `generated/` +3. 每次开始工作前先执行 `git pull && npm run api:update` +4. 提交代码前使用 `git status` 检查是否有多余/遗漏的文件 + +## 常见问题 + +**Q:运行 `npm run api:update` 报错?** +- 确认后端正在运行:http://8.148.151.56:3002 +- 或者直接 `git pull` 使用已提交的规范,运行 `npm run api:gen` + +**Q:TypeScript 报错类型不匹配?** +- 说明后端接口有变化 +- 执行 `npm run api:update` 重新生成类型 + +**Q:想查看某个接口的详细参数?** +- 打开 `src/api/generated/api.ts` 查看 +- 或访问 http://8.148.151.56:3002/doc.html diff --git a/reading-platform-frontend/api-spec.yml b/reading-platform-frontend/api-spec.yml index 83ad726..bae7c8a 100644 --- a/reading-platform-frontend/api-spec.yml +++ b/reading-platform-frontend/api-spec.yml @@ -7,91 +7,91 @@ info: email: support@reading-platform.com version: 1.0.0 servers: - - url: http://localhost:3002 + - url: http://8.148.151.56:3002 description: Generated server url security: - Bearer: [] tags: - - name: School - Course Packages - description: Course Packages for School - - name: Admin - Operation Logs - description: Operation Log Management for Admin - - name: School - School Courses - description: School Custom Course Management - - name: School - Task - description: Task Management APIs for School - - name: Admin - Settings - description: Admin System Settings Management - - name: Parent - Task - description: Task APIs for Parent - - name: Auth - description: Authentication APIs - - name: Admin - Tenant - description: Tenant Management APIs for Admin - - name: Teacher - Schedule - description: Teacher Schedule View - - name: Admin - Stats - description: Admin Statistics Dashboard - - name: Admin - Resources - description: Resource Library Management for Admin - - name: Admin - Course - description: System Course Management APIs for Admin - - name: Teacher - School Courses - description: School Courses for Teacher - - name: School - Operation Logs - description: Operation Log for School - - name: School - Stats - description: School Statistics Dashboard - - name: School - Schedule - description: School Schedule Management - - name: School - Parent - description: Parent Management APIs for School - - name: Parent - Child - description: Child Information APIs for Parent - - name: Teacher - Task - description: Task APIs for Teacher - - name: School - Export - description: School Data Export - - name: Teacher - Notification - description: Notification APIs for Teacher - - name: School - Student - description: Student Management APIs for School - - name: School - Class - description: Class Management APIs for School + - name: 学校 - 课程包 + description: 课程包接口(学校管理员专用) + - name: 家长 - 孩子 + description: 孩子信息接口(家长专用) + - name: 学校 - 教师 + description: 教师管理接口(学校管理员专用) + - name: 管理员 - 操作日志 + description: 操作日志管理接口(管理员专用) + - name: 教师 - 课时 + description: 课时接口(教师专用) + - name: 教师 - 任务 + description: 任务接口(教师专用) + - name: 学校 - 班级 + description: 班级管理接口(学校管理员专用) + - name: 管理员 - 统计 + description: 管理员统计仪表盘 + - name: 教师 - 仪表盘 + description: 教师仪表盘 + - name: 管理员 - 课程课时 + description: 课程课时管理接口(管理员专用) + - name: 教师 - 课程 + description: 课程接口(教师专用) + - name: 学校 - 导出 + description: 学校数据导出接口(学校管理员专用) + - name: 文件上传 + description: 文件上传接口 + - name: 学校 - 校本课程 + description: 校本课程管理接口(学校管理员专用) + - name: 管理员 - 资源 + description: 资源库管理接口(管理员专用) + - name: 管理员 - 主题 + description: 主题管理接口(管理员专用) + - name: 管理员 - 课程包 + description: 课程包管理接口(管理员专用) + - name: 学校 - 任务 + description: 任务管理接口(学校管理员专用) + - name: 家长 - 通知 + description: 通知接口(家长专用) + - name: 认证 + description: 认证相关接口 - name: Parent - Growth Record description: Growth Record APIs for Parent - - name: Teacher - Course - description: Course APIs for Teacher - - name: Admin - Themes - description: Theme Management for Admin - - name: Admin - Course Lessons - description: Course Lesson Management for Admin - - name: School - Settings - description: School Settings Management - - name: Teacher - Course Lessons - description: Course Lessons for Teacher - - name: Teacher - Dashboard - description: Teacher Dashboard - - name: Admin - Course Packages - description: Course Package Management for Admin - - name: School - Teacher - description: Teacher Management APIs for School - - name: File Upload - description: File Upload APIs - - name: Teacher - Growth Record - description: Growth Record APIs for Teacher - - name: Teacher - Lesson - description: Lesson APIs for Teacher - - name: School - Growth Record - description: Growth Record Management APIs for School - - name: Parent - Notification - description: Notification APIs for Parent + - name: 学校 - 设置 + description: 学校设置管理接口(学校管理员专用) + - name: 学校 - 学生 + description: 学生管理接口(学校管理员专用) + - name: 学校 - 统计 + description: 学校统计仪表盘接口(学校管理员专用) + - name: 管理员 - 课程 + description: 系统课程管理接口(管理员专用) + - name: 学校 - 家长 + description: 家长管理接口(学校管理员专用) + - name: 教师 - 校本课程 + description: 校本课程接口(教师专用) + - name: 教师 - 成长档案 + description: 成长档案接口(教师专用) + - name: 教师 - 课程课时 + description: 课程课时接口(教师专用) + - name: 学校 - 操作日志 + description: 操作日志接口(学校管理员专用) + - name: 家长 - 任务 + description: 任务接口(家长专用) + - name: 教师 - 课表 + description: 教师课表视图 + - name: 学校 - 成长档案 + description: 成长档案管理接口(学校管理员专用) + - name: 管理员 - 设置 + description: 管理员系统设置管理 + - name: 学校 - 课表 + description: 课表管理接口(学校管理员专用) + - name: 管理员 - 租户 + description: 租户管理接口(管理员专用) + - name: 教师 - 通知 + description: 通知接口(教师专用) paths: /api/v1/teacher/tasks/{id}: get: tags: - - Teacher - Task - summary: Get task by ID + - 教师 - 任务 + summary: 根据ID获取任务 operationId: getTask parameters: - name: id @@ -145,8 +145,8 @@ paths: $ref: '#/components/schemas/ResultVoid' put: tags: - - Teacher - Task - summary: Update task + - 教师 - 任务 + summary: 更新任务 operationId: updateTask parameters: - name: id @@ -206,8 +206,8 @@ paths: $ref: '#/components/schemas/ResultVoid' delete: tags: - - Teacher - Task - summary: Delete task + - 教师 - 任务 + summary: 删除任务 operationId: deleteTask parameters: - name: id @@ -262,8 +262,8 @@ paths: /api/v1/teacher/lessons/{id}: get: tags: - - Teacher - Lesson - summary: Get lesson by ID + - 教师 - 课时 + summary: 根据ID获取课时 operationId: getLesson parameters: - name: id @@ -317,8 +317,8 @@ paths: $ref: '#/components/schemas/ResultVoid' put: tags: - - Teacher - Lesson - summary: Update lesson + - 教师 - 课时 + summary: 更新课时 operationId: updateLesson parameters: - name: id @@ -379,8 +379,8 @@ paths: /api/v1/teacher/growth-records/{id}: get: tags: - - Teacher - Growth Record - summary: Get growth record by ID + - 教师 - 成长档案 + summary: 根据ID获取成长档案 operationId: getGrowthRecord parameters: - name: id @@ -434,8 +434,8 @@ paths: $ref: '#/components/schemas/ResultVoid' put: tags: - - Teacher - Growth Record - summary: Update growth record + - 教师 - 成长档案 + summary: 更新成长档案 operationId: updateGrowthRecord parameters: - name: id @@ -495,8 +495,8 @@ paths: $ref: '#/components/schemas/ResultVoid' delete: tags: - - Teacher - Growth Record - summary: Delete growth record + - 教师 - 成长档案 + summary: 删除成长档案 operationId: deleteGrowthRecord parameters: - name: id @@ -551,8 +551,8 @@ paths: /api/v1/school/teachers/{id}: get: tags: - - School - Teacher - summary: Get teacher by ID + - 学校 - 教师 + summary: 根据ID获取教师 operationId: getTeacher parameters: - name: id @@ -606,8 +606,8 @@ paths: $ref: '#/components/schemas/ResultVoid' put: tags: - - School - Teacher - summary: Update teacher + - 学校 - 教师 + summary: 更新教师 operationId: updateTeacher parameters: - name: id @@ -667,8 +667,8 @@ paths: $ref: '#/components/schemas/ResultVoid' delete: tags: - - School - Teacher - summary: Delete teacher + - 学校 - 教师 + summary: 删除教师 operationId: deleteTeacher parameters: - name: id @@ -723,8 +723,8 @@ paths: /api/v1/school/tasks/{id}: get: tags: - - School - Task - summary: Get task by ID + - 学校 - 任务 + summary: 根据ID获取任务 operationId: getTask_1 parameters: - name: id @@ -778,8 +778,8 @@ paths: $ref: '#/components/schemas/ResultVoid' put: tags: - - School - Task - summary: Update task + - 学校 - 任务 + summary: 更新任务 operationId: updateTask_1 parameters: - name: id @@ -839,8 +839,8 @@ paths: $ref: '#/components/schemas/ResultVoid' delete: tags: - - School - Task - summary: Delete task + - 学校 - 任务 + summary: 删除任务 operationId: deleteTask_1 parameters: - name: id @@ -895,8 +895,8 @@ paths: /api/v1/school/students/{id}: get: tags: - - School - Student - summary: Get student by ID + - 学校 - 学生 + summary: 根据ID获取学生 operationId: getStudent parameters: - name: id @@ -950,8 +950,8 @@ paths: $ref: '#/components/schemas/ResultVoid' put: tags: - - School - Student - summary: Update student + - 学校 - 学生 + summary: 更新学生 operationId: updateStudent parameters: - name: id @@ -1011,8 +1011,8 @@ paths: $ref: '#/components/schemas/ResultVoid' delete: tags: - - School - Student - summary: Delete student + - 学校 - 学生 + summary: 删除学生 operationId: deleteStudent parameters: - name: id @@ -1067,7 +1067,7 @@ paths: /api/v1/school/settings: get: tags: - - School - Settings + - 学校 - 设置 summary: Get school settings operationId: getSettings responses: @@ -1115,7 +1115,7 @@ paths: $ref: '#/components/schemas/ResultVoid' put: tags: - - School - Settings + - 学校 - 设置 summary: Update school settings operationId: updateSettings requestBody: @@ -1172,8 +1172,8 @@ paths: /api/v1/school/school-courses/{id}: get: tags: - - School - School Courses - summary: Get school course by ID + - 学校 - 校本课程 + summary: 根据ID获取校本课程 operationId: getCourse_2 parameters: - name: id @@ -1227,8 +1227,8 @@ paths: $ref: '#/components/schemas/ResultVoid' put: tags: - - School - School Courses - summary: Update school course + - 学校 - 校本课程 + summary: 更新校本课程 operationId: updateCourse parameters: - name: id @@ -1288,8 +1288,8 @@ paths: $ref: '#/components/schemas/ResultVoid' delete: tags: - - School - School Courses - summary: Delete school course + - 学校 - 校本课程 + summary: 删除校本课程 operationId: deleteCourse parameters: - name: id @@ -1344,8 +1344,8 @@ paths: /api/v1/school/schedules/{id}: get: tags: - - School - Schedule - summary: Get schedule plan by ID + - 学校 - 课表 + summary: 根据ID获取课表计划 operationId: getSchedulePlan_1 parameters: - name: id @@ -1399,8 +1399,8 @@ paths: $ref: '#/components/schemas/ResultVoid' put: tags: - - School - Schedule - summary: Update schedule plan + - 学校 - 课表 + summary: 更新课表计划 operationId: updateSchedulePlan parameters: - name: id @@ -1460,8 +1460,8 @@ paths: $ref: '#/components/schemas/ResultVoid' delete: tags: - - School - Schedule - summary: Delete schedule plan + - 学校 - 课表 + summary: 删除课表计划 operationId: deleteSchedulePlan parameters: - name: id @@ -1516,7 +1516,7 @@ paths: /api/v1/school/parents/{id}: get: tags: - - School - Parent + - 学校 - 家长 summary: Get parent by ID operationId: getParent parameters: @@ -1571,8 +1571,8 @@ paths: $ref: '#/components/schemas/ResultVoid' put: tags: - - School - Parent - summary: Update parent + - 学校 - 家长 + summary: 更新家长 operationId: updateParent parameters: - name: id @@ -1632,8 +1632,8 @@ paths: $ref: '#/components/schemas/ResultVoid' delete: tags: - - School - Parent - summary: Delete parent + - 学校 - 家长 + summary: 删除家长 operationId: deleteParent parameters: - name: id @@ -1688,8 +1688,8 @@ paths: /api/v1/school/growth-records/{id}: get: tags: - - School - Growth Record - summary: Get growth record by ID + - 学校 - 成长档案 + summary: 根据ID获取成长档案 operationId: getGrowthRecord_1 parameters: - name: id @@ -1743,8 +1743,8 @@ paths: $ref: '#/components/schemas/ResultVoid' put: tags: - - School - Growth Record - summary: Update growth record + - 学校 - 成长档案 + summary: 更新成长档案 operationId: updateGrowthRecord_1 parameters: - name: id @@ -1804,8 +1804,8 @@ paths: $ref: '#/components/schemas/ResultVoid' delete: tags: - - School - Growth Record - summary: Delete growth record + - 学校 - 成长档案 + summary: 删除成长档案 operationId: deleteGrowthRecord_1 parameters: - name: id @@ -1860,7 +1860,7 @@ paths: /api/v1/school/classes/{id}: get: tags: - - School - Class + - 学校 - 班级 summary: Get class by ID operationId: getClass parameters: @@ -1915,8 +1915,8 @@ paths: $ref: '#/components/schemas/ResultVoid' put: tags: - - School - Class - summary: Update class + - 学校 - 班级 + summary: 更新班级 operationId: updateClass parameters: - name: id @@ -1976,8 +1976,8 @@ paths: $ref: '#/components/schemas/ResultVoid' delete: tags: - - School - Class - summary: Delete class + - 学校 - 班级 + summary: 删除班级 operationId: deleteClass parameters: - name: id @@ -2033,7 +2033,7 @@ paths: get: tags: - Parent - Growth Record - summary: Get growth record by ID + summary: 根据ID获取成长档案 operationId: getGrowthRecord_2 parameters: - name: id @@ -2088,7 +2088,7 @@ paths: put: tags: - Parent - Growth Record - summary: Update growth record + summary: 更新成长档案 operationId: updateGrowthRecord_2 parameters: - name: id @@ -2149,7 +2149,7 @@ paths: delete: tags: - Parent - Growth Record - summary: Delete growth record + summary: 删除成长档案 operationId: deleteGrowthRecord_2 parameters: - name: id @@ -2204,8 +2204,8 @@ paths: /api/v1/admin/themes/{id}: get: tags: - - Admin - Themes - summary: Get theme by ID + - 管理员 - 主题 + summary: 根据ID获取主题 operationId: getTheme parameters: - name: id @@ -2259,8 +2259,8 @@ paths: $ref: '#/components/schemas/ResultVoid' put: tags: - - Admin - Themes - summary: Update theme + - 管理员 - 主题 + summary: 更新主题 operationId: updateTheme parameters: - name: id @@ -2320,8 +2320,8 @@ paths: $ref: '#/components/schemas/ResultVoid' delete: tags: - - Admin - Themes - summary: Delete theme + - 管理员 - 主题 + summary: 删除主题 operationId: deleteTheme parameters: - name: id @@ -2376,8 +2376,8 @@ paths: /api/v1/admin/tenants/{id}: get: tags: - - Admin - Tenant - summary: Get tenant by ID + - 管理员 - 租户 + summary: 根据ID获取租户 operationId: getTenant parameters: - name: id @@ -2431,8 +2431,8 @@ paths: $ref: '#/components/schemas/ResultVoid' put: tags: - - Admin - Tenant - summary: Update tenant + - 管理员 - 租户 + summary: 更新租户 operationId: updateTenant parameters: - name: id @@ -2492,8 +2492,8 @@ paths: $ref: '#/components/schemas/ResultVoid' delete: tags: - - Admin - Tenant - summary: Delete tenant + - 管理员 - 租户 + summary: 删除租户 operationId: deleteTenant parameters: - name: id @@ -2548,8 +2548,8 @@ paths: /api/v1/admin/tenants/{id}/status: put: tags: - - Admin - Tenant - summary: Update tenant status + - 管理员 - 租户 + summary: 更新租户状态 operationId: updateTenantStatus parameters: - name: id @@ -2612,8 +2612,8 @@ paths: /api/v1/admin/tenants/{id}/quota: put: tags: - - Admin - Tenant - summary: Update tenant quota + - 管理员 - 租户 + summary: 更新租户配额 operationId: updateTenantQuota parameters: - name: id @@ -2676,8 +2676,8 @@ paths: /api/v1/admin/settings: get: tags: - - Admin - Settings - summary: Get admin system settings + - 管理员 - 设置 + summary: 获取管理员系统设置 operationId: getSettings_1 responses: '200': @@ -2724,8 +2724,8 @@ paths: $ref: '#/components/schemas/ResultVoid' put: tags: - - Admin - Settings - summary: Update admin system settings + - 管理员 - 设置 + summary: 更新管理员系统设置 operationId: updateSettings_1 requestBody: content: @@ -2781,8 +2781,8 @@ paths: /api/v1/admin/resources/libraries/{id}: put: tags: - - Admin - Resources - summary: Update resource library + - 管理员 - 资源 + summary: 更新资源库 operationId: updateLibrary parameters: - name: id @@ -2842,8 +2842,8 @@ paths: $ref: '#/components/schemas/ResultVoid' delete: tags: - - Admin - Resources - summary: Delete resource library + - 管理员 - 资源 + summary: 删除资源库 operationId: deleteLibrary parameters: - name: id @@ -2898,8 +2898,8 @@ paths: /api/v1/admin/resources/items/{id}: put: tags: - - Admin - Resources - summary: Update resource item + - 管理员 - 资源 + summary: 更新资源项 operationId: updateItem parameters: - name: id @@ -2959,8 +2959,8 @@ paths: $ref: '#/components/schemas/ResultVoid' delete: tags: - - Admin - Resources - summary: Delete resource item + - 管理员 - 资源 + summary: 删除资源项 operationId: deleteItem parameters: - name: id @@ -3012,11 +3012,183 @@ paths: '*/*': schema: $ref: '#/components/schemas/ResultVoid' + /api/v1/admin/packages/{id}: + get: + tags: + - 管理员 - 课程包 + summary: 根据ID获取课程包 + operationId: getPackage_1 + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultCoursePackage' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + put: + tags: + - 管理员 - 课程包 + summary: 更新课程包 + operationId: updatePackage + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CoursePackage' + required: true + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultCoursePackage' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + delete: + tags: + - 管理员 - 课程包 + summary: 删除课程包 + operationId: deletePackage + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' /api/v1/admin/courses/{id}: get: tags: - - Admin - Course - summary: Get course by ID + - 管理员 - 课程 + summary: 根据ID获取课程 operationId: getCourse_3 parameters: - name: id @@ -3070,8 +3242,8 @@ paths: $ref: '#/components/schemas/ResultVoid' put: tags: - - Admin - Course - summary: Update course + - 管理员 - 课程 + summary: 更新课程 operationId: updateCourse_1 parameters: - name: id @@ -3131,8 +3303,8 @@ paths: $ref: '#/components/schemas/ResultVoid' delete: tags: - - Admin - Course - summary: Delete course + - 管理员 - 课程 + summary: 删除课程 operationId: deleteCourse_1 parameters: - name: id @@ -3187,8 +3359,8 @@ paths: /api/v1/admin/courses/{courseId}/lessons/{id}: get: tags: - - Admin - Course Lessons - summary: Get lesson by ID + - 管理员 - 课程课时 + summary: 根据ID获取课时 operationId: getLesson_2 parameters: - name: courseId @@ -3248,8 +3420,8 @@ paths: $ref: '#/components/schemas/ResultVoid' put: tags: - - Admin - Course Lessons - summary: Update course lesson + - 管理员 - 课程课时 + summary: 更新课程课时 operationId: updateLesson_1 parameters: - name: courseId @@ -3315,8 +3487,8 @@ paths: $ref: '#/components/schemas/ResultVoid' delete: tags: - - Admin - Course Lessons - summary: Delete course lesson + - 管理员 - 课程课时 + summary: 删除课程课时 operationId: deleteLesson parameters: - name: courseId @@ -3374,183 +3546,11 @@ paths: '*/*': schema: $ref: '#/components/schemas/ResultVoid' - /api/v1/admin/course-packages/{id}: - get: - tags: - - Admin - Course Packages - summary: Get course package by ID - operationId: getPackage_1 - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int64 - responses: - '200': - description: OK - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultCoursePackage' - '400': - description: Bad Request - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '401': - description: Unauthorized - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '403': - description: Forbidden - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '404': - description: Not Found - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '405': - description: Method Not Allowed - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '500': - description: Internal Server Error - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - put: - tags: - - Admin - Course Packages - summary: Update course package - operationId: updatePackage - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int64 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CoursePackage' - required: true - responses: - '200': - description: OK - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultCoursePackage' - '400': - description: Bad Request - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '401': - description: Unauthorized - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '403': - description: Forbidden - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '404': - description: Not Found - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '405': - description: Method Not Allowed - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '500': - description: Internal Server Error - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - delete: - tags: - - Admin - Course Packages - summary: Delete course package - operationId: deletePackage - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int64 - responses: - '200': - description: OK - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '400': - description: Bad Request - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '401': - description: Unauthorized - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '403': - description: Forbidden - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '404': - description: Not Found - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '405': - description: Method Not Allowed - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '500': - description: Internal Server Error - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' /api/v1/teacher/tasks: get: tags: - - Teacher - Task - summary: Get task page + - 教师 - 任务 + summary: 获取任务分页 operationId: getTaskPage parameters: - name: page @@ -3625,8 +3625,8 @@ paths: $ref: '#/components/schemas/ResultVoid' post: tags: - - Teacher - Task - summary: Create task + - 教师 - 任务 + summary: 创建任务 operationId: createTask requestBody: content: @@ -3680,8 +3680,8 @@ paths: /api/v1/teacher/notifications/{id}/read: post: tags: - - Teacher - Notification - summary: Mark notification as read + - 教师 - 通知 + summary: 标记通知为已读 operationId: markAsRead parameters: - name: id @@ -3736,8 +3736,8 @@ paths: /api/v1/teacher/notifications/read-all: post: tags: - - Teacher - Notification - summary: Mark all notifications as read + - 教师 - 通知 + summary: 标记所有通知为已读 operationId: markAllAsRead responses: '200': @@ -3785,8 +3785,8 @@ paths: /api/v1/teacher/lessons: get: tags: - - Teacher - Lesson - summary: Get my lessons + - 教师 - 课时 + summary: 获取我的课时 operationId: getMyLessons parameters: - name: page @@ -3863,8 +3863,8 @@ paths: $ref: '#/components/schemas/ResultVoid' post: tags: - - Teacher - Lesson - summary: Create lesson + - 教师 - 课时 + summary: 创建课时 operationId: createLesson requestBody: content: @@ -3918,8 +3918,8 @@ paths: /api/v1/teacher/lessons/{id}/start: post: tags: - - Teacher - Lesson - summary: Start lesson + - 教师 - 课时 + summary: 开始课时 operationId: startLesson parameters: - name: id @@ -3974,7 +3974,7 @@ paths: /api/v1/teacher/lessons/{id}/complete: post: tags: - - Teacher - Lesson + - 教师 - 课时 summary: Complete lesson operationId: completeLesson parameters: @@ -4030,8 +4030,8 @@ paths: /api/v1/teacher/lessons/{id}/cancel: post: tags: - - Teacher - Lesson - summary: Cancel lesson + - 教师 - 课时 + summary: 取消课时 operationId: cancelLesson parameters: - name: id @@ -4086,8 +4086,8 @@ paths: /api/v1/teacher/growth-records: get: tags: - - Teacher - Growth Record - summary: Get growth record page + - 教师 - 成长档案 + summary: 获取成长档案分页 operationId: getGrowthRecordPage parameters: - name: page @@ -4158,8 +4158,8 @@ paths: $ref: '#/components/schemas/ResultVoid' post: tags: - - Teacher - Growth Record - summary: Create growth record + - 教师 - 成长档案 + summary: 创建成长档案 operationId: createGrowthRecord requestBody: content: @@ -4213,8 +4213,8 @@ paths: /api/v1/school/teachers: get: tags: - - School - Teacher - summary: Get teacher page + - 学校 - 教师 + summary: 获取教师分页 operationId: getTeacherPage parameters: - name: page @@ -4284,8 +4284,8 @@ paths: $ref: '#/components/schemas/ResultVoid' post: tags: - - School - Teacher - summary: Create teacher + - 学校 - 教师 + summary: 创建教师 operationId: createTeacher requestBody: content: @@ -4339,8 +4339,8 @@ paths: /api/v1/school/teachers/{id}/reset-password: post: tags: - - School - Teacher - summary: Reset teacher password + - 学校 - 教师 + summary: 重置教师密码 operationId: resetPassword parameters: - name: id @@ -4400,8 +4400,8 @@ paths: /api/v1/school/tasks: get: tags: - - School - Task - summary: Get task page + - 学校 - 任务 + summary: 获取任务分页 operationId: getTaskPage_1 parameters: - name: page @@ -4476,8 +4476,8 @@ paths: $ref: '#/components/schemas/ResultVoid' post: tags: - - School - Task - summary: Create task + - 学校 - 任务 + summary: 创建任务 operationId: createTask_1 requestBody: content: @@ -4531,8 +4531,8 @@ paths: /api/v1/school/students: get: tags: - - School - Student - summary: Get student page + - 学校 - 学生 + summary: 获取学生分页 operationId: getStudentPage parameters: - name: page @@ -4607,8 +4607,8 @@ paths: $ref: '#/components/schemas/ResultVoid' post: tags: - - School - Student - summary: Create student + - 学校 - 学生 + summary: 创建学生 operationId: createStudent requestBody: content: @@ -4662,8 +4662,8 @@ paths: /api/v1/school/school-courses: get: tags: - - School - School Courses - summary: Get school courses + - 学校 - 校本课程 + summary: 获取校本课程 operationId: getCourses_1 parameters: - name: pageNum @@ -4730,8 +4730,8 @@ paths: $ref: '#/components/schemas/ResultVoid' post: tags: - - School - School Courses - summary: Create school course + - 学校 - 校本课程 + summary: 创建校本课程 operationId: createCourse requestBody: content: @@ -4785,8 +4785,8 @@ paths: /api/v1/school/schedules: get: tags: - - School - Schedule - summary: Get schedule plans + - 学校 - 课表 + summary: 获取课表计划 operationId: getSchedulePlans_1 parameters: - name: pageNum @@ -4854,8 +4854,8 @@ paths: $ref: '#/components/schemas/ResultVoid' post: tags: - - School - Schedule - summary: Create schedule plan + - 学校 - 课表 + summary: 创建课表计划 operationId: createSchedulePlan requestBody: content: @@ -4909,8 +4909,8 @@ paths: /api/v1/school/schedules/templates: get: tags: - - School - Schedule - summary: Get schedule templates + - 学校 - 课表 + summary: 获取课表模板 operationId: getScheduleTemplates parameters: - name: pageNum @@ -4972,8 +4972,8 @@ paths: $ref: '#/components/schemas/ResultVoid' post: tags: - - School - Schedule - summary: Create schedule template + - 学校 - 课表 + summary: 创建课表模板 operationId: createScheduleTemplate requestBody: content: @@ -5027,8 +5027,8 @@ paths: /api/v1/school/parents: get: tags: - - School - Parent - summary: Get parent page + - 学校 - 家长 + summary: 获取家长分页 operationId: getParentPage parameters: - name: page @@ -5098,8 +5098,8 @@ paths: $ref: '#/components/schemas/ResultVoid' post: tags: - - School - Parent - summary: Create parent + - 学校 - 家长 + summary: 创建家长 operationId: createParent requestBody: content: @@ -5153,8 +5153,8 @@ paths: /api/v1/school/parents/{parentId}/students/{studentId}: post: tags: - - School - Parent - summary: Bind student to parent + - 学校 - 家长 + summary: 绑定学生到家长 operationId: bindStudent parameters: - name: parentId @@ -5224,8 +5224,8 @@ paths: $ref: '#/components/schemas/ResultVoid' delete: tags: - - School - Parent - summary: Unbind student from parent + - 学校 - 家长 + summary: 解绑家长与学生关系 operationId: unbindStudent parameters: - name: parentId @@ -5286,8 +5286,8 @@ paths: /api/v1/school/parents/{id}/reset-password: post: tags: - - School - Parent - summary: Reset parent password + - 学校 - 家长 + summary: 重置家长密码 operationId: resetPassword_1 parameters: - name: id @@ -5347,8 +5347,8 @@ paths: /api/v1/school/growth-records: get: tags: - - School - Growth Record - summary: Get growth record page + - 学校 - 成长档案 + summary: 获取成长档案分页 operationId: getGrowthRecordPage_1 parameters: - name: page @@ -5419,8 +5419,8 @@ paths: $ref: '#/components/schemas/ResultVoid' post: tags: - - School - Growth Record - summary: Create growth record + - 学校 - 成长档案 + summary: 创建成长档案 operationId: createGrowthRecord_1 requestBody: content: @@ -5474,7 +5474,7 @@ paths: /api/v1/school/classes: get: tags: - - School - Class + - 学校 - 班级 summary: Get class page operationId: getClassPage parameters: @@ -5550,8 +5550,8 @@ paths: $ref: '#/components/schemas/ResultVoid' post: tags: - - School - Class - summary: Create class + - 学校 - 班级 + summary: 创建班级 operationId: createClass requestBody: content: @@ -5605,8 +5605,8 @@ paths: /api/v1/school/classes/{id}/teachers: post: tags: - - School - Class - summary: Assign teachers to class + - 学校 - 班级 + summary: 分配教师到班级 operationId: assignTeachers parameters: - name: id @@ -5670,8 +5670,8 @@ paths: /api/v1/school/classes/{id}/students: post: tags: - - School - Class - summary: Assign students to class + - 学校 - 班级 + summary: 分配学生到班级 operationId: assignStudents parameters: - name: id @@ -5735,8 +5735,8 @@ paths: /api/v1/parent/tasks/{taskId}/complete: post: tags: - - Parent - Task - summary: Complete task + - 家长 - 任务 + summary: 完成任务 operationId: completeTask parameters: - name: taskId @@ -5807,8 +5807,8 @@ paths: /api/v1/parent/notifications/{id}/read: post: tags: - - Parent - Notification - summary: Mark notification as read + - 家长 - 通知 + summary: 标记通知为已读 operationId: markAsRead_1 parameters: - name: id @@ -5863,8 +5863,8 @@ paths: /api/v1/parent/notifications/read-all: post: tags: - - Parent - Notification - summary: Mark all notifications as read + - 家长 - 通知 + summary: 标记所有通知为已读 operationId: markAllAsRead_1 responses: '200': @@ -5913,7 +5913,7 @@ paths: post: tags: - Parent - Growth Record - summary: Create growth record + summary: 创建成长档案 operationId: createGrowthRecord_2 requestBody: content: @@ -5967,8 +5967,8 @@ paths: /api/v1/files/upload: post: tags: - - File Upload - summary: Upload file + - 文件上传 + summary: 上传文件 operationId: uploadFile requestBody: content: @@ -6027,8 +6027,8 @@ paths: /api/v1/auth/logout: post: tags: - - Auth - summary: User logout + - 认证 + summary: 用户登出 operationId: logout responses: '200': @@ -6076,8 +6076,8 @@ paths: /api/v1/auth/login: post: tags: - - Auth - summary: User login + - 认证 + summary: 用户登录 operationId: login requestBody: content: @@ -6131,8 +6131,8 @@ paths: /api/v1/auth/change-password: post: tags: - - Auth - summary: Change password + - 认证 + summary: 修改密码 operationId: changePassword parameters: - name: oldPassword @@ -6191,8 +6191,8 @@ paths: /api/v1/admin/themes: get: tags: - - Admin - Themes - summary: Get all themes + - 管理员 - 主题 + summary: 获取所有主题 operationId: getThemes parameters: - name: enabledOnly @@ -6245,8 +6245,8 @@ paths: $ref: '#/components/schemas/ResultVoid' post: tags: - - Admin - Themes - summary: Create theme + - 管理员 - 主题 + summary: 创建主题 operationId: createTheme requestBody: content: @@ -6300,8 +6300,8 @@ paths: /api/v1/admin/tenants: get: tags: - - Admin - Tenant - summary: Get tenant page + - 管理员 - 租户 + summary: 获取租户分页 operationId: getTenantPage parameters: - name: page @@ -6376,8 +6376,8 @@ paths: $ref: '#/components/schemas/ResultVoid' post: tags: - - Admin - Tenant - summary: Create tenant + - 管理员 - 租户 + summary: 创建租户 operationId: createTenant requestBody: content: @@ -6431,8 +6431,8 @@ paths: /api/v1/admin/tenants/{id}/reset-password: post: tags: - - Admin - Tenant - summary: Reset tenant school account password + - 管理员 - 租户 + summary: 重置租户学校账号密码 operationId: resetTenantPassword parameters: - name: id @@ -6487,8 +6487,8 @@ paths: /api/v1/admin/resources/libraries: get: tags: - - Admin - Resources - summary: Get all resource libraries + - 管理员 - 资源 + summary: 获取所有资源库 operationId: getLibraries parameters: - name: tenantId @@ -6542,8 +6542,8 @@ paths: $ref: '#/components/schemas/ResultVoid' post: tags: - - Admin - Resources - summary: Create resource library + - 管理员 - 资源 + summary: 创建资源库 operationId: createLibrary requestBody: content: @@ -6597,8 +6597,8 @@ paths: /api/v1/admin/resources/items: get: tags: - - Admin - Resources - summary: Get resource items + - 管理员 - 资源 + summary: 获取资源项 operationId: getItems parameters: - name: pageNum @@ -6671,8 +6671,8 @@ paths: $ref: '#/components/schemas/ResultVoid' post: tags: - - Admin - Resources - summary: Create resource item + - 管理员 - 资源 + summary: 创建资源项 operationId: createItem requestBody: content: @@ -6723,369 +6723,14 @@ paths: '*/*': schema: $ref: '#/components/schemas/ResultVoid' - /api/v1/admin/courses: + /api/v1/admin/packages: get: tags: - - Admin - Course - summary: Get system course page - operationId: getCoursePage_1 - parameters: - - name: page - in: query - required: false - schema: - type: integer - format: int32 - - name: pageSize - in: query - required: false - schema: - type: integer - format: int32 - - name: keyword - in: query - required: false - schema: - type: string - - name: category - in: query - required: false - schema: - type: string - responses: - '200': - description: OK - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultPageResultCourse' - '400': - description: Bad Request - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '401': - description: Unauthorized - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '403': - description: Forbidden - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '404': - description: Not Found - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '405': - description: Method Not Allowed - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '500': - description: Internal Server Error - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - post: - tags: - - Admin - Course - summary: Create system course - operationId: createCourse_1 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CourseCreateRequest' - required: true - responses: - '200': - description: OK - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultCourse' - '400': - description: Bad Request - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '401': - description: Unauthorized - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '403': - description: Forbidden - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '404': - description: Not Found - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '405': - description: Method Not Allowed - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '500': - description: Internal Server Error - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - /api/v1/admin/courses/{id}/publish: - post: - tags: - - Admin - Course - summary: Publish course - operationId: publishCourse - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int64 - responses: - '200': - description: OK - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '400': - description: Bad Request - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '401': - description: Unauthorized - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '403': - description: Forbidden - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '404': - description: Not Found - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '405': - description: Method Not Allowed - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '500': - description: Internal Server Error - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - /api/v1/admin/courses/{id}/archive: - post: - tags: - - Admin - Course - summary: Archive course - operationId: archiveCourse - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int64 - responses: - '200': - description: OK - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '400': - description: Bad Request - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '401': - description: Unauthorized - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '403': - description: Forbidden - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '404': - description: Not Found - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '405': - description: Method Not Allowed - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '500': - description: Internal Server Error - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - /api/v1/admin/courses/{courseId}/lessons: - get: - tags: - - Admin - Course Lessons - summary: Get lessons for a course - operationId: getLessons_1 - parameters: - - name: courseId - in: path - required: true - schema: - type: integer - format: int64 - responses: - '200': - description: OK - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultListCourseLesson' - '400': - description: Bad Request - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '401': - description: Unauthorized - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '403': - description: Forbidden - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '404': - description: Not Found - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '405': - description: Method Not Allowed - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '500': - description: Internal Server Error - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - post: - tags: - - Admin - Course Lessons - summary: Create course lesson - operationId: createLesson_1 - parameters: - - name: courseId - in: path - required: true - schema: - type: integer - format: int64 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CourseLesson' - required: true - responses: - '200': - description: OK - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultCourseLesson' - '400': - description: Bad Request - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '401': - description: Unauthorized - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '403': - description: Forbidden - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '404': - description: Not Found - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '405': - description: Method Not Allowed - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - '500': - description: Internal Server Error - content: - '*/*': - schema: - $ref: '#/components/schemas/ResultVoid' - /api/v1/admin/course-packages: - get: - tags: - - Admin - Course Packages - summary: Get course packages + - 管理员 - 课程包 + summary: 获取课程包列表 operationId: getPackages_1 parameters: - - name: pageNum + - name: page in: query required: false schema: @@ -7154,8 +6799,8 @@ paths: $ref: '#/components/schemas/ResultVoid' post: tags: - - Admin - Course Packages - summary: Create course package + - 管理员 - 课程包 + summary: 创建课程包 operationId: createPackage requestBody: content: @@ -7206,11 +6851,1005 @@ paths: '*/*': schema: $ref: '#/components/schemas/ResultVoid' + /api/v1/admin/packages/{id}/submit: + post: + tags: + - 管理员 - 课程包 + summary: 提交课程包审核 + operationId: submitPackage + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + /api/v1/admin/packages/{id}/review: + post: + tags: + - 管理员 - 课程包 + summary: 审核课程包(通过或拒绝) + operationId: reviewPackage + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + requestBody: + content: + application/json: + schema: + type: object + additionalProperties: + type: object + required: true + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + /api/v1/admin/packages/{id}/publish: + post: + tags: + - 管理员 - 课程包 + summary: 发布课程包 + operationId: publishPackage + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + /api/v1/admin/packages/{id}/offline: + post: + tags: + - 管理员 - 课程包 + summary: 下架课程包 + operationId: offlinePackage + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + /api/v1/admin/courses: + get: + tags: + - 管理员 - 课程 + summary: 获取系统课程分页(所有状态) + operationId: getCoursePage_1 + parameters: + - name: page + in: query + required: false + schema: + type: integer + format: int32 + - name: pageSize + in: query + required: false + schema: + type: integer + format: int32 + - name: keyword + in: query + required: false + schema: + type: string + - name: category + in: query + required: false + schema: + type: string + - name: status + in: query + required: false + schema: + type: string + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultPageResultCourse' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + post: + tags: + - 管理员 - 课程 + summary: 创建系统课程 + operationId: createCourse_1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CourseCreateRequest' + required: true + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultCourse' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + /api/v1/admin/courses/{id}/withdraw: + post: + tags: + - 管理员 - 课程 + summary: 撤销课程审核 + operationId: withdrawCourse + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + /api/v1/admin/courses/{id}/unpublish: + post: + tags: + - 管理员 - 课程 + summary: 取消发布(归档)课程 + operationId: unpublishCourse + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + /api/v1/admin/courses/{id}/submit: + post: + tags: + - 管理员 - 课程 + summary: 提交课程审核 + operationId: submitCourse + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + /api/v1/admin/courses/{id}/republish: + post: + tags: + - 管理员 - 课程 + summary: 重新发布课程 + operationId: republishCourse + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + /api/v1/admin/courses/{id}/reject: + post: + tags: + - 管理员 - 课程 + summary: 驳回课程 + operationId: rejectCourse + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + - name: comment + in: query + required: false + schema: + type: string + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + /api/v1/admin/courses/{id}/publish: + post: + tags: + - 管理员 - 课程 + summary: 发布课程 + operationId: publishCourse + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + /api/v1/admin/courses/{id}/direct-publish: + post: + tags: + - 管理员 - 课程 + summary: 直接发布课程(跳过审核) + operationId: directPublishCourse + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + /api/v1/admin/courses/{id}/archive: + post: + tags: + - 管理员 - 课程 + summary: 归档课程 + operationId: archiveCourse + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + /api/v1/admin/courses/{id}/approve: + post: + tags: + - 管理员 - 课程 + summary: 审批课程 + operationId: approveCourse + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + - name: comment + in: query + required: false + schema: + type: string + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + /api/v1/admin/courses/{courseId}/lessons: + get: + tags: + - 管理员 - 课程课时 + summary: 获取课程的课时列表 + operationId: getLessons_1 + parameters: + - name: courseId + in: path + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultListCourseLesson' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + post: + tags: + - 管理员 - 课程课时 + summary: 创建课程课时 + operationId: createLesson_1 + parameters: + - name: courseId + in: path + required: true + schema: + type: integer + format: int64 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CourseLesson' + required: true + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultCourseLesson' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' /api/v1/teacher/school-courses: get: tags: - - Teacher - School Courses - summary: Get school courses + - 教师 - 校本课程 + summary: 获取校本课程 operationId: getCourses parameters: - name: pageNum @@ -7278,8 +7917,8 @@ paths: /api/v1/teacher/school-courses/{id}: get: tags: - - Teacher - School Courses - summary: Get school course by ID + - 教师 - 校本课程 + summary: 根据ID获取校本课程 operationId: getCourse parameters: - name: id @@ -7334,8 +7973,8 @@ paths: /api/v1/teacher/schedules: get: tags: - - Teacher - Schedule - summary: Get teacher schedule plans + - 教师 - 课表 + summary: 获取教师课表计划 operationId: getSchedulePlans parameters: - name: pageNum @@ -7398,8 +8037,8 @@ paths: /api/v1/teacher/schedules/{id}: get: tags: - - Teacher - Schedule - summary: Get schedule plan by ID + - 教师 - 课表 + summary: 根据ID获取课表计划 operationId: getSchedulePlan parameters: - name: id @@ -7454,8 +8093,8 @@ paths: /api/v1/teacher/notifications: get: tags: - - Teacher - Notification - summary: Get my notifications + - 教师 - 通知 + summary: 获取我的通知 operationId: getMyNotifications parameters: - name: page @@ -7522,8 +8161,8 @@ paths: /api/v1/teacher/notifications/{id}: get: tags: - - Teacher - Notification - summary: Get notification by ID + - 教师 - 通知 + summary: 根据ID获取通知 operationId: getNotification parameters: - name: id @@ -7578,8 +8217,8 @@ paths: /api/v1/teacher/notifications/unread-count: get: tags: - - Teacher - Notification - summary: Get unread count + - 教师 - 通知 + summary: 获取未读通知数量 operationId: getUnreadCount responses: '200': @@ -7627,8 +8266,8 @@ paths: /api/v1/teacher/lessons/today: get: tags: - - Teacher - Lesson - summary: Get today's lessons + - 教师 - 课时 + summary: 获取今天课时 operationId: getTodayLessons responses: '200': @@ -7676,8 +8315,8 @@ paths: /api/v1/teacher/dashboard: get: tags: - - Teacher - Dashboard - summary: Get teacher dashboard overview + - 教师 - 仪表盘 + summary: 获取教师仪表盘概览 operationId: getDashboard responses: '200': @@ -7725,8 +8364,8 @@ paths: /api/v1/teacher/dashboard/weekly: get: tags: - - Teacher - Dashboard - summary: Get weekly lessons + - 教师 - 仪表盘 + summary: 获取本周课时 operationId: getWeeklyLessons responses: '200': @@ -7774,8 +8413,8 @@ paths: /api/v1/teacher/dashboard/today: get: tags: - - Teacher - Dashboard - summary: Get today's lessons + - 教师 - 仪表盘 + summary: 获取今天课时 operationId: getTodayLessons_1 responses: '200': @@ -7823,8 +8462,8 @@ paths: /api/v1/teacher/courses: get: tags: - - Teacher - Course - summary: Get course page + - 教师 - 课程 + summary: 获取课程分页 operationId: getCoursePage parameters: - name: page @@ -7895,8 +8534,8 @@ paths: /api/v1/teacher/courses/{id}: get: tags: - - Teacher - Course - summary: Get course by ID + - 教师 - 课程 + summary: 根据ID获取课程 operationId: getCourse_1 parameters: - name: id @@ -7951,8 +8590,8 @@ paths: /api/v1/teacher/courses/{courseId}/lessons: get: tags: - - Teacher - Course Lessons - summary: Get lessons for a course + - 教师 - 课程课时 + summary: 获取课程的课时列表 operationId: getLessons parameters: - name: courseId @@ -8007,8 +8646,8 @@ paths: /api/v1/teacher/courses/{courseId}/lessons/{id}: get: tags: - - Teacher - Course Lessons - summary: Get lesson by ID + - 教师 - 课程课时 + summary: 根据ID获取课时 operationId: getLesson_1 parameters: - name: courseId @@ -8069,8 +8708,8 @@ paths: /api/v1/teacher/courses/all: get: tags: - - Teacher - Course - summary: Get all courses + - 教师 - 课程 + summary: 获取所有课程 operationId: getAllCourses responses: '200': @@ -8118,8 +8757,8 @@ paths: /api/v1/school/stats: get: tags: - - School - Stats - summary: Get school statistics + - 学校 - 统计 + summary: 获取学校统计数据 operationId: getStats responses: '200': @@ -8167,8 +8806,8 @@ paths: /api/v1/school/operation-logs: get: tags: - - School - Operation Logs - summary: Get school operation logs + - 学校 - 操作日志 + summary: 获取学校操作日志 operationId: getLogs parameters: - name: pageNum @@ -8236,8 +8875,8 @@ paths: /api/v1/school/export/teachers: get: tags: - - School - Export - summary: Export teachers to Excel + - 学校 - 导出 + summary: 导出教师信息到Excel operationId: exportTeachers responses: '200': @@ -8288,8 +8927,8 @@ paths: /api/v1/school/export/students: get: tags: - - School - Export - summary: Export students to Excel + - 学校 - 导出 + summary: 导出学生信息到Excel operationId: exportStudents responses: '200': @@ -8340,8 +8979,8 @@ paths: /api/v1/school/export/lessons: get: tags: - - School - Export - summary: Export lessons to Excel + - 学校 - 导出 + summary: 导出课时信息到Excel operationId: exportLessons responses: '200': @@ -8392,8 +9031,8 @@ paths: /api/v1/school/export/growth-records: get: tags: - - School - Export - summary: Export growth records to Excel + - 学校 - 导出 + summary: 导出成长档案到Excel operationId: exportGrowthRecords responses: '200': @@ -8444,8 +9083,8 @@ paths: /api/v1/school/course-packages: get: tags: - - School - Course Packages - summary: Get available course packages + - 学校 - 课程包 + summary: 获取可用课程包列表 operationId: getPackages parameters: - name: pageNum @@ -8513,8 +9152,8 @@ paths: /api/v1/school/course-packages/{id}: get: tags: - - School - Course Packages - summary: Get course package by ID + - 学校 - 课程包 + summary: 根据ID获取课程包 operationId: getPackage parameters: - name: id @@ -8569,8 +9208,8 @@ paths: /api/v1/parent/tasks/{id}: get: tags: - - Parent - Task - summary: Get task by ID + - 家长 - 任务 + summary: 根据ID获取任务 operationId: getTask_2 parameters: - name: id @@ -8625,8 +9264,8 @@ paths: /api/v1/parent/tasks/student/{studentId}: get: tags: - - Parent - Task - summary: Get tasks by student ID + - 家长 - 任务 + summary: 根据学生ID获取任务 operationId: getTasksByStudent parameters: - name: studentId @@ -8698,8 +9337,8 @@ paths: /api/v1/parent/notifications: get: tags: - - Parent - Notification - summary: Get my notifications + - 家长 - 通知 + summary: 获取我的通知 operationId: getMyNotifications_1 parameters: - name: page @@ -8766,8 +9405,8 @@ paths: /api/v1/parent/notifications/{id}: get: tags: - - Parent - Notification - summary: Get notification by ID + - 家长 - 通知 + summary: 根据ID获取通知 operationId: getNotification_1 parameters: - name: id @@ -8822,8 +9461,8 @@ paths: /api/v1/parent/notifications/unread-count: get: tags: - - Parent - Notification - summary: Get unread count + - 家长 - 通知 + summary: 获取未读通知数量 operationId: getUnreadCount_1 responses: '200': @@ -8872,7 +9511,7 @@ paths: get: tags: - Parent - Growth Record - summary: Get growth records by student ID + summary: 根据学生ID获取成长档案 operationId: getGrowthRecordsByStudent parameters: - name: studentId @@ -8945,7 +9584,7 @@ paths: get: tags: - Parent - Growth Record - summary: Get recent growth records + summary: 获取最近成长档案 operationId: getRecentGrowthRecords parameters: - name: studentId @@ -9007,8 +9646,8 @@ paths: /api/v1/parent/children: get: tags: - - Parent - Child - summary: Get my children + - 家长 - 孩子 + summary: 获取我的孩子 operationId: getMyChildren responses: '200': @@ -9056,8 +9695,8 @@ paths: /api/v1/parent/children/{id}: get: tags: - - Parent - Child - summary: Get child by ID + - 家长 - 孩子 + summary: 根据ID获取孩子 operationId: getChild parameters: - name: id @@ -9112,8 +9751,8 @@ paths: /api/v1/auth/me: get: tags: - - Auth - summary: Get current user info + - 认证 + summary: 获取当前用户信息 operationId: getCurrentUser responses: '200': @@ -9161,8 +9800,8 @@ paths: /api/v1/admin/tenants/active: get: tags: - - Admin - Tenant - summary: Get all active tenants + - 管理员 - 租户 + summary: 获取所有活跃租户 operationId: getAllActiveTenants responses: '200': @@ -9210,8 +9849,8 @@ paths: /api/v1/admin/stats: get: tags: - - Admin - Stats - summary: Get overall statistics + - 管理员 - 统计 + summary: 获取整体统计数据 operationId: getStats_1 responses: '200': @@ -9259,8 +9898,8 @@ paths: /api/v1/admin/stats/trend: get: tags: - - Admin - Stats - summary: Get trend data (last 6 months) + - 管理员 - 统计 + summary: 获取趋势数据(近6个月) operationId: getTrendData responses: '200': @@ -9308,8 +9947,8 @@ paths: /api/v1/admin/stats/tenants/active: get: tags: - - Admin - Stats - summary: Get active tenants + - 管理员 - 统计 + summary: 获取活跃租户 operationId: getActiveTenants parameters: - name: limit @@ -9365,8 +10004,8 @@ paths: /api/v1/admin/stats/courses/popular: get: tags: - - Admin - Stats - summary: Get popular courses + - 管理员 - 统计 + summary: 获取热门课程 operationId: getPopularCourses parameters: - name: limit @@ -9422,8 +10061,8 @@ paths: /api/v1/admin/stats/activities: get: tags: - - Admin - Stats - summary: Get recent activities + - 管理员 - 统计 + summary: 获取最近活动 operationId: getActivities parameters: - name: limit @@ -9479,8 +10118,8 @@ paths: /api/v1/admin/operation-logs: get: tags: - - Admin - Operation Logs - summary: Get operation logs + - 管理员 - 操作日志 + summary: 获取操作日志 operationId: getLogs_1 parameters: - name: pageNum @@ -9551,11 +10190,73 @@ paths: '*/*': schema: $ref: '#/components/schemas/ResultVoid' + /api/v1/admin/courses/review: + get: + tags: + - 管理员 - 课程 + summary: 获取待审核课程 + operationId: getReviewCoursePage + parameters: + - name: page + in: query + required: false + schema: + type: integer + format: int32 + - name: pageSize + in: query + required: false + schema: + type: integer + format: int32 + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultPageResultCourse' + '400': + description: Bad Request + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '401': + description: Unauthorized + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '403': + description: Forbidden + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '404': + description: Not Found + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '405': + description: Method Not Allowed + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' + '500': + description: Internal Server Error + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultVoid' /api/v1/school/schedules/templates/{id}: delete: tags: - - School - Schedule - summary: Delete schedule template + - 学校 - 课表 + summary: 删除课表模板 operationId: deleteScheduleTemplate parameters: - name: id @@ -9610,8 +10311,8 @@ paths: /api/v1/files/delete: delete: tags: - - File Upload - summary: Delete file + - 文件上传 + summary: 删除文件 operationId: deleteFile parameters: - name: filePath @@ -9679,28 +10380,28 @@ components: properties: title: type: string - description: Task title + description: 任务标题 description: type: string - description: Description + description: 描述 type: type: string - description: Task type + description: 任务类型 startDate: type: string - description: Start date + description: 开始日期 format: date dueDate: type: string - description: Due date + description: 截止日期 format: date status: type: string - description: Status + description: 状态 attachments: type: string - description: Attachments (JSON array) - description: Task Update Request + description: 附件(JSON数组) + description: 任务更新请求 ResultTask: type: object properties: @@ -9776,7 +10477,7 @@ components: notes: type: string description: Notes - description: Lesson Update Request + description: 课时更新请求 LocalTime: type: object properties: @@ -9850,27 +10551,27 @@ components: properties: type: type: string - description: Type + description: 类型 title: type: string - description: Title + description: 标题 content: type: string - description: Content + description: 内容 images: type: string - description: Images (JSON array) + description: 图片(JSON数组) recordDate: type: string - description: Record date + description: 记录日期 format: date tags: type: array - description: Tags + description: 标签 items: type: string - description: Tags - description: Growth Record Update Request + description: 标签 + description: 成长档案更新请求 GrowthRecord: type: object properties: @@ -9925,26 +10626,26 @@ components: properties: name: type: string - description: Name + description: 姓名 phone: type: string - description: Phone + description: 电话 email: type: string - description: Email + description: 邮箱 avatarUrl: type: string - description: Avatar URL + description: 头像URL gender: type: string - description: Gender + description: 性别 bio: type: string - description: Bio + description: 个人简介 status: type: string - description: Status - description: Teacher Update Request + description: 状态 + description: 教师更新请求 ResultTeacher: type: object properties: @@ -9999,36 +10700,36 @@ components: properties: name: type: string - description: Name + description: 姓名 gender: type: string - description: Gender + description: 性别 birthDate: type: string - description: Birth date + description: 出生日期 format: date avatarUrl: type: string - description: Avatar URL + description: 头像URL grade: type: string - description: Grade + description: 年级 studentNo: type: string - description: Student number + description: 学号 readingLevel: type: string - description: Reading level + description: 阅读水平 interests: type: string - description: Interests + description: 兴趣爱好 notes: type: string - description: Notes + description: 备注 status: type: string - description: Status - description: Student Update Request + description: 状态 + description: 学生更新请求 ResultStudent: type: object properties: @@ -10167,23 +10868,23 @@ components: properties: name: type: string - description: Name + description: 姓名 phone: type: string - description: Phone + description: 电话 email: type: string - description: Email + description: 邮箱 avatarUrl: type: string - description: Avatar URL + description: 头像URL gender: type: string - description: Gender + description: 性别 status: type: string - description: Status - description: Parent Update Request + description: 状态 + description: 家长更新请求 Parent: type: object properties: @@ -10236,21 +10937,21 @@ components: properties: name: type: string - description: Class name + description: 班级名称 grade: type: string - description: Grade + description: 年级 description: type: string - description: Description + description: 描述 capacity: type: integer - description: Capacity + description: 容量 format: int32 status: type: string - description: Status - description: Class Update Request + description: 状态 + description: 班级更新请求 Clazz: type: object properties: @@ -10334,44 +11035,44 @@ components: properties: name: type: string - description: Tenant name + description: 租户名称 contactName: type: string - description: Contact person + description: 联系人 contactPhone: type: string - description: Contact phone + description: 联系电话 contactEmail: type: string - description: Contact email + description: 联系邮箱 address: type: string - description: Address + description: 地址 logoUrl: type: string description: Logo URL status: type: string - description: Status + description: 状态 expireAt: type: string - description: Expiration date + description: 过期日期 format: date-time maxStudents: type: integer - description: Max students + description: 最大学生数 format: int32 maxTeachers: type: integer - description: Max teachers + description: 最大教师数 format: int32 packageType: type: string - description: Package type (optional) + description: 套餐类型(可选) startDate: type: string - description: Start date (optional) - description: Tenant Update Request + description: 开始日期(可选) + description: 租户更新请求 ResultTenant: type: object properties: @@ -10514,129 +11215,170 @@ components: type: string data: $ref: '#/components/schemas/ResourceItem' + CoursePackage: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + description: + type: string + coverUrl: + type: string + courseCount: + type: integer + format: int32 + price: + type: number + status: + type: string + isSystem: + type: integer + format: int32 + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + deleted: + type: integer + format: int32 + ResultCoursePackage: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + data: + $ref: '#/components/schemas/CoursePackage' CourseUpdateRequest: type: object properties: name: type: string - description: Course name + description: 课程名称 code: type: string - description: Course code + description: 课程编码 description: type: string - description: Description + description: 描述 coverUrl: type: string - description: Cover URL + description: 封面URL coverImagePath: type: string - description: Cover image path + description: 封面图片路径 category: type: string - description: Category + description: 分类 ageRange: type: string - description: Age range + description: 年龄段 difficultyLevel: type: string - description: Difficulty level + description: 难度等级 durationMinutes: type: integer - description: Duration in minutes + description: 时长(分钟) format: int32 objectives: type: string - description: Objectives + description: 教学目标 status: type: string - description: Status + description: 状态 coreContent: type: string - description: Core content + description: 核心内容 introSummary: type: string - description: Course summary + description: 课程摘要 introHighlights: type: string - description: Course highlights + description: 课程亮点 introGoals: type: string - description: Course goals + description: 课程目标 introSchedule: type: string - description: Content schedule + description: 内容安排 introKeyPoints: type: string - description: Key points and difficulties + description: 重点难点 introMethods: type: string - description: Teaching methods + description: 教学方法 introEvaluation: type: string - description: Evaluation methods + description: 评估方法 introNotes: type: string - description: Notes and precautions + description: 注意事项 scheduleRefData: type: string - description: Schedule reference data (JSON) + description: 课表参考数据(JSON) environmentConstruction: type: string - description: Environment construction content + description: 环境创设内容 themeId: type: integer - description: Theme ID + description: 主题ID format: int64 pictureBookName: type: string - description: Picture book name + description: 绘本名称 ebookPaths: type: string - description: Ebook paths (JSON array) + description: 电子书路径(JSON数组) audioPaths: type: string - description: Audio paths (JSON array) + description: 音频路径(JSON数组) videoPaths: type: string - description: Video paths (JSON array) + description: 视频路径(JSON数组) otherResources: type: string - description: Other resources (JSON array) + description: 其他资源(JSON数组) pptPath: type: string - description: PPT file path + description: PPT文件路径 pptName: type: string - description: PPT file name + description: PPT文件名 posterPaths: type: string - description: Poster paths (JSON array) + description: 海报路径(JSON数组) tools: type: string - description: Teaching tools (JSON array) + description: 教具(JSON数组) studentMaterials: type: string - description: Student materials + description: 学生材料 lessonPlanData: type: string - description: Lesson plan data (JSON) + description: 教案数据(JSON) activitiesData: type: string - description: Activities data (JSON) + description: 活动数据(JSON) assessmentData: type: string - description: Assessment data (JSON) + description: 评估数据(JSON) gradeTags: type: string - description: Grade tags (JSON array) + description: 年级标签(JSON数组) domainTags: type: string - description: Domain tags (JSON array) + description: 领域标签(JSON数组) hasCollectiveLesson: type: boolean - description: Has collective lesson - description: Course Update Request + description: 是否有集体课 + description: 课程更新请求 Course: type: object properties: @@ -10831,47 +11573,6 @@ components: type: string data: $ref: '#/components/schemas/CourseLesson' - CoursePackage: - type: object - properties: - id: - type: integer - format: int64 - name: - type: string - description: - type: string - coverUrl: - type: string - courseCount: - type: integer - format: int32 - price: - type: number - status: - type: string - isSystem: - type: integer - format: int32 - createdAt: - type: string - format: date-time - updatedAt: - type: string - format: date-time - deleted: - type: integer - format: int32 - ResultCoursePackage: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - data: - $ref: '#/components/schemas/CoursePackage' TaskCreateRequest: required: - title @@ -10879,39 +11580,39 @@ components: properties: title: type: string - description: Task title + description: 任务标题 description: type: string - description: Description + description: 描述 type: type: string - description: 'Task type: reading, homework, activity' + description: '任务类型: 阅读、作业、活动' courseId: type: integer - description: Course ID + description: 课程ID format: int64 startDate: type: string - description: Start date + description: 开始日期 format: date dueDate: type: string - description: Due date + description: 截止日期 format: date attachments: type: string - description: Attachments (JSON array) + description: 附件(JSON数组) targetType: type: string - description: 'Target type: class, student' + description: '目标类型: 班级、学生' targetIds: type: array - description: Target IDs + description: 目标ID列表 items: type: integer - description: Target IDs + description: 目标ID列表 format: int64 - description: Task Create Request + description: 任务创建请求 LessonCreateRequest: required: - courseId @@ -10922,22 +11623,22 @@ components: properties: courseId: type: integer - description: Course ID + description: 课程ID format: int64 classId: type: integer - description: Class ID + description: 班级ID format: int64 teacherId: type: integer - description: Teacher ID + description: 教师ID format: int64 title: type: string - description: Lesson title + description: 课时标题 lessonDate: type: string - description: Lesson date + description: 课时日期 format: date startTime: $ref: '#/components/schemas/LocalTime' @@ -10945,11 +11646,11 @@ components: $ref: '#/components/schemas/LocalTime' location: type: string - description: Location + description: 地点 notes: type: string - description: Notes - description: Lesson Create Request + description: 备注 + description: 课时创建请求 GrowthRecordCreateRequest: required: - studentId @@ -10983,7 +11684,7 @@ components: items: type: string description: Tags - description: Growth Record Create Request + description: 成长档案创建请求 TeacherCreateRequest: required: - name @@ -10993,26 +11694,26 @@ components: properties: username: type: string - description: Username + description: 用户名 password: type: string - description: Password + description: 密码 name: type: string - description: Name + description: 姓名 phone: type: string - description: Phone + description: 电话 email: type: string - description: Email + description: 邮箱 gender: type: string - description: Gender + description: 性别 bio: type: string - description: Bio - description: Teacher Create Request + description: 个人简介 + description: 教师创建请求 StudentCreateRequest: required: - name @@ -11043,7 +11744,7 @@ components: notes: type: string description: Notes - description: Student Create Request + description: 学生创建请求 ScheduleTemplate: type: object properties: @@ -11090,22 +11791,22 @@ components: properties: username: type: string - description: Username + description: 用户名 password: type: string - description: Password + description: 密码 name: type: string - description: Name + description: 姓名 phone: type: string - description: Phone + description: 电话 email: type: string - description: Email + description: 邮箱 gender: type: string - description: Gender + description: 性别 description: Parent Create Request ClassCreateRequest: required: @@ -11114,18 +11815,18 @@ components: properties: name: type: string - description: Class name + description: 班级名称 grade: type: string - description: Grade + description: 年级 description: type: string - description: Description + description: 描述 capacity: type: integer - description: Capacity + description: 容量 format: int32 - description: Class Create Request + description: 班级创建请求 ResultMapStringString: type: object properties: @@ -11146,41 +11847,41 @@ components: properties: username: type: string - description: Username + description: 用户名 example: admin password: type: string - description: Password + description: 密码 example: admin123 role: type: string - description: Login role + description: 登录角色 example: admin - description: Login Request + description: 登录请求 LoginResponse: type: object properties: token: type: string - description: JWT Token + description: JWT令牌 userId: type: integer - description: User ID + description: 用户ID format: int64 username: type: string - description: Username + description: 用户名 name: type: string - description: User name + description: 用户姓名 role: type: string - description: User role + description: 用户角色 tenantId: type: integer - description: Tenant ID + description: 租户ID format: int64 - description: Login Response + description: 登录响应 ResultLoginResponse: type: object properties: @@ -11199,47 +11900,47 @@ components: properties: name: type: string - description: Tenant name + description: 租户名称 code: type: string - description: Tenant code / login account + description: 租户编码 / 登录账号 contactName: type: string - description: Contact person + description: 联系人 contactPhone: type: string - description: Contact phone + description: 联系电话 contactEmail: type: string - description: Contact email + description: 联系邮箱 address: type: string - description: Address + description: 地址 logoUrl: type: string description: Logo URL expireAt: type: string - description: Expiration date + description: 过期日期 format: date-time maxStudents: type: integer - description: Max students + description: 最大学生数 format: int32 maxTeachers: type: integer - description: Max teachers + description: 最大教师数 format: int32 password: type: string - description: 'Initial password (default: 123456)' + description: '初始密码(默认: 123456)' packageType: type: string - description: Package type (optional) + description: 套餐类型(可选) startDate: type: string - description: Start date (optional) - description: Tenant Create Request + description: 开始日期(可选) + description: 租户创建请求 CourseCreateRequest: required: - name @@ -11247,121 +11948,121 @@ components: properties: name: type: string - description: Course name + description: 课程名称 code: type: string - description: Course code + description: 课程编码 description: type: string - description: Description + description: 描述 coverUrl: type: string - description: Cover URL + description: 封面URL coverImagePath: type: string - description: Cover image path + description: 封面图片路径 category: type: string - description: Category + description: 分类 ageRange: type: string - description: Age range + description: 年龄段 difficultyLevel: type: string - description: Difficulty level + description: 难度等级 durationMinutes: type: integer - description: Duration in minutes + description: 时长(分钟) format: int32 objectives: type: string - description: Objectives + description: 教学目标 coreContent: type: string - description: Core content + description: 核心内容 introSummary: type: string - description: Course summary + description: 课程摘要 introHighlights: type: string - description: Course highlights + description: 课程亮点 introGoals: type: string - description: Course goals + description: 课程目标 introSchedule: type: string - description: Content schedule + description: 内容安排 introKeyPoints: type: string - description: Key points and difficulties + description: 重点难点 introMethods: type: string - description: Teaching methods + description: 教学方法 introEvaluation: type: string - description: Evaluation methods + description: 评估方法 introNotes: type: string - description: Notes and precautions + description: 注意事项 scheduleRefData: type: string - description: Schedule reference data (JSON) + description: 课表参考数据(JSON) environmentConstruction: type: string - description: Environment construction content + description: 环境创设内容 themeId: type: integer - description: Theme ID + description: 主题ID format: int64 pictureBookName: type: string - description: Picture book name + description: 绘本名称 ebookPaths: type: string - description: Ebook paths (JSON array) + description: 电子书路径(JSON数组) audioPaths: type: string - description: Audio paths (JSON array) + description: 音频路径(JSON数组) videoPaths: type: string - description: Video paths (JSON array) + description: 视频路径(JSON数组) otherResources: type: string - description: Other resources (JSON array) + description: 其他资源(JSON数组) pptPath: type: string - description: PPT file path + description: PPT文件路径 pptName: type: string - description: PPT file name + description: PPT文件名 posterPaths: type: string - description: Poster paths (JSON array) + description: 海报路径(JSON数组) tools: type: string - description: Teaching tools (JSON array) + description: 教具(JSON数组) studentMaterials: type: string - description: Student materials + description: 学生材料 lessonPlanData: type: string - description: Lesson plan data (JSON) + description: 教案数据(JSON) activitiesData: type: string - description: Activities data (JSON) + description: 活动数据(JSON) assessmentData: type: string - description: Assessment data (JSON) + description: 评估数据(JSON) gradeTags: type: string - description: Grade tags (JSON array) + description: 年级标签(JSON数组) domainTags: type: string - description: Domain tags (JSON array) + description: 领域标签(JSON数组) hasCollectiveLesson: type: boolean - description: Has collective lesson - description: Course Create Request + description: 是否有集体课 + description: 课程创建请求 PageResultTask: type: object properties: @@ -11947,31 +12648,31 @@ components: properties: id: type: integer - description: User ID + description: 用户ID format: int64 username: type: string - description: Username + description: 用户名 name: type: string - description: User name + description: 用户姓名 email: type: string - description: Email + description: 邮箱 phone: type: string - description: Phone + description: 电话 avatarUrl: type: string - description: Avatar URL + description: 头像URL role: type: string - description: User role + description: 用户角色 tenantId: type: integer - description: Tenant ID + description: 租户ID format: int64 - description: User Info Response + description: 用户信息响应 ResultListTheme: type: object properties: @@ -12030,49 +12731,49 @@ components: properties: id: type: integer - description: Tenant ID + description: 租户ID format: int64 name: type: string - description: Tenant name + description: 租户名称 loginAccount: type: string - description: Login account (tenant code) + description: 登录账号(租户编码) contactPerson: type: string - description: Contact person + description: 联系人 contactPhone: type: string - description: Contact phone + description: 联系电话 contactEmail: type: string - description: Contact email + description: 联系邮箱 address: type: string - description: Address + description: 地址 logoUrl: type: string description: Logo URL status: type: string - description: Status + description: 状态 expireDate: type: string - description: Expiration date + description: 过期日期 format: date-time studentQuota: type: integer - description: Max students / student quota + description: 最大学生数 / 学生配额 format: int32 teacherQuota: type: integer - description: Max teachers / teacher quota + description: 最大教师数 / 教师配额 format: int32 createdAt: type: string - description: Created at + description: 创建时间 format: date-time - description: Tenant Response + description: 租户响应 ResultListResourceLibrary: type: object properties: diff --git a/reading-platform-frontend/src/api/generated/api.ts b/reading-platform-frontend/src/api/generated/api.ts index fd4da88..660b2b8 100644 --- a/reading-platform-frontend/src/api/generated/api.ts +++ b/reading-platform-frontend/src/api/generated/api.ts @@ -6,6 +6,7 @@ * OpenAPI spec version: 1.0.0 */ import type { + ApproveCourseParams, BindStudentParams, ChangePasswordParams, ClassCreateRequest, @@ -38,6 +39,7 @@ import type { GetParentPageParams, GetPopularCoursesParams, GetRecentGrowthRecordsParams, + GetReviewCoursePageParams, GetSchedulePlans1Params, GetSchedulePlansParams, GetScheduleTemplatesParams, @@ -55,6 +57,7 @@ import type { LoginRequest, ParentCreateRequest, ParentUpdateRequest, + RejectCourseParams, ResetPassword1Params, ResetPasswordParams, ResourceItem, @@ -108,6 +111,7 @@ import type { ResultTheme, ResultUserInfoResponse, ResultVoid, + ReviewPackageBody, SchedulePlan, ScheduleTemplate, SchoolCourse, @@ -130,7 +134,7 @@ import type { import { request } from '../request'; export const getReadingPlatformAPI = () => { /** - * @summary Get task by ID + * @summary 根据ID获取任务 */ const getTask = ( id: number, @@ -142,7 +146,7 @@ const getTask = ( } /** - * @summary Update task + * @summary 更新任务 */ const updateTask = ( id: number, @@ -157,7 +161,7 @@ const updateTask = ( } /** - * @summary Delete task + * @summary 删除任务 */ const deleteTask = ( id: number, @@ -169,7 +173,7 @@ const deleteTask = ( } /** - * @summary Get lesson by ID + * @summary 根据ID获取课时 */ const getLesson = ( id: number, @@ -181,7 +185,7 @@ const getLesson = ( } /** - * @summary Update lesson + * @summary 更新课时 */ const updateLesson = ( id: number, @@ -196,7 +200,7 @@ const updateLesson = ( } /** - * @summary Get growth record by ID + * @summary 根据ID获取成长档案 */ const getGrowthRecord = ( id: number, @@ -208,7 +212,7 @@ const getGrowthRecord = ( } /** - * @summary Update growth record + * @summary 更新成长档案 */ const updateGrowthRecord = ( id: number, @@ -223,7 +227,7 @@ const updateGrowthRecord = ( } /** - * @summary Delete growth record + * @summary 删除成长档案 */ const deleteGrowthRecord = ( id: number, @@ -235,7 +239,7 @@ const deleteGrowthRecord = ( } /** - * @summary Get teacher by ID + * @summary 根据ID获取教师 */ const getTeacher = ( id: number, @@ -247,7 +251,7 @@ const getTeacher = ( } /** - * @summary Update teacher + * @summary 更新教师 */ const updateTeacher = ( id: number, @@ -262,7 +266,7 @@ const updateTeacher = ( } /** - * @summary Delete teacher + * @summary 删除教师 */ const deleteTeacher = ( id: number, @@ -274,7 +278,7 @@ const deleteTeacher = ( } /** - * @summary Get task by ID + * @summary 根据ID获取任务 */ const getTask1 = ( id: number, @@ -286,7 +290,7 @@ const getTask1 = ( } /** - * @summary Update task + * @summary 更新任务 */ const updateTask1 = ( id: number, @@ -301,7 +305,7 @@ const updateTask1 = ( } /** - * @summary Delete task + * @summary 删除任务 */ const deleteTask1 = ( id: number, @@ -313,7 +317,7 @@ const deleteTask1 = ( } /** - * @summary Get student by ID + * @summary 根据ID获取学生 */ const getStudent = ( id: number, @@ -325,7 +329,7 @@ const getStudent = ( } /** - * @summary Update student + * @summary 更新学生 */ const updateStudent = ( id: number, @@ -340,7 +344,7 @@ const updateStudent = ( } /** - * @summary Delete student + * @summary 删除学生 */ const deleteStudent = ( id: number, @@ -378,7 +382,7 @@ const updateSettings = ( } /** - * @summary Get school course by ID + * @summary 根据ID获取校本课程 */ const getCourse2 = ( id: number, @@ -390,7 +394,7 @@ const getCourse2 = ( } /** - * @summary Update school course + * @summary 更新校本课程 */ const updateCourse = ( id: number, @@ -405,7 +409,7 @@ const updateCourse = ( } /** - * @summary Delete school course + * @summary 删除校本课程 */ const deleteCourse = ( id: number, @@ -417,7 +421,7 @@ const deleteCourse = ( } /** - * @summary Get schedule plan by ID + * @summary 根据ID获取课表计划 */ const getSchedulePlan1 = ( id: number, @@ -429,7 +433,7 @@ const getSchedulePlan1 = ( } /** - * @summary Update schedule plan + * @summary 更新课表计划 */ const updateSchedulePlan = ( id: number, @@ -444,7 +448,7 @@ const updateSchedulePlan = ( } /** - * @summary Delete schedule plan + * @summary 删除课表计划 */ const deleteSchedulePlan = ( id: number, @@ -468,7 +472,7 @@ const getParent = ( } /** - * @summary Update parent + * @summary 更新家长 */ const updateParent = ( id: number, @@ -483,7 +487,7 @@ const updateParent = ( } /** - * @summary Delete parent + * @summary 删除家长 */ const deleteParent = ( id: number, @@ -495,7 +499,7 @@ const deleteParent = ( } /** - * @summary Get growth record by ID + * @summary 根据ID获取成长档案 */ const getGrowthRecord1 = ( id: number, @@ -507,7 +511,7 @@ const getGrowthRecord1 = ( } /** - * @summary Update growth record + * @summary 更新成长档案 */ const updateGrowthRecord1 = ( id: number, @@ -522,7 +526,7 @@ const updateGrowthRecord1 = ( } /** - * @summary Delete growth record + * @summary 删除成长档案 */ const deleteGrowthRecord1 = ( id: number, @@ -546,7 +550,7 @@ const getClass = ( } /** - * @summary Update class + * @summary 更新班级 */ const updateClass = ( id: number, @@ -561,7 +565,7 @@ const updateClass = ( } /** - * @summary Delete class + * @summary 删除班级 */ const deleteClass = ( id: number, @@ -573,7 +577,7 @@ const deleteClass = ( } /** - * @summary Get growth record by ID + * @summary 根据ID获取成长档案 */ const getGrowthRecord2 = ( id: number, @@ -585,7 +589,7 @@ const getGrowthRecord2 = ( } /** - * @summary Update growth record + * @summary 更新成长档案 */ const updateGrowthRecord2 = ( id: number, @@ -600,7 +604,7 @@ const updateGrowthRecord2 = ( } /** - * @summary Delete growth record + * @summary 删除成长档案 */ const deleteGrowthRecord2 = ( id: number, @@ -612,7 +616,7 @@ const deleteGrowthRecord2 = ( } /** - * @summary Get theme by ID + * @summary 根据ID获取主题 */ const getTheme = ( id: number, @@ -624,7 +628,7 @@ const getTheme = ( } /** - * @summary Update theme + * @summary 更新主题 */ const updateTheme = ( id: number, @@ -639,7 +643,7 @@ const updateTheme = ( } /** - * @summary Delete theme + * @summary 删除主题 */ const deleteTheme = ( id: number, @@ -651,7 +655,7 @@ const deleteTheme = ( } /** - * @summary Get tenant by ID + * @summary 根据ID获取租户 */ const getTenant = ( id: number, @@ -663,7 +667,7 @@ const getTenant = ( } /** - * @summary Update tenant + * @summary 更新租户 */ const updateTenant = ( id: number, @@ -678,7 +682,7 @@ const updateTenant = ( } /** - * @summary Delete tenant + * @summary 删除租户 */ const deleteTenant = ( id: number, @@ -690,7 +694,7 @@ const deleteTenant = ( } /** - * @summary Update tenant status + * @summary 更新租户状态 */ const updateTenantStatus = ( id: number, @@ -705,7 +709,7 @@ const updateTenantStatus = ( } /** - * @summary Update tenant quota + * @summary 更新租户配额 */ const updateTenantQuota = ( id: number, @@ -720,7 +724,7 @@ const updateTenantQuota = ( } /** - * @summary Get admin system settings + * @summary 获取管理员系统设置 */ const getSettings1 = ( @@ -732,7 +736,7 @@ const getSettings1 = ( } /** - * @summary Update admin system settings + * @summary 更新管理员系统设置 */ const updateSettings1 = ( updateSettings1Body: UpdateSettings1Body, @@ -746,7 +750,7 @@ const updateSettings1 = ( } /** - * @summary Update resource library + * @summary 更新资源库 */ const updateLibrary = ( id: number, @@ -761,7 +765,7 @@ const updateLibrary = ( } /** - * @summary Delete resource library + * @summary 删除资源库 */ const deleteLibrary = ( id: number, @@ -773,7 +777,7 @@ const deleteLibrary = ( } /** - * @summary Update resource item + * @summary 更新资源项 */ const updateItem = ( id: number, @@ -788,7 +792,7 @@ const updateItem = ( } /** - * @summary Delete resource item + * @summary 删除资源项 */ const deleteItem = ( id: number, @@ -800,7 +804,46 @@ const deleteItem = ( } /** - * @summary Get course by ID + * @summary 根据ID获取课程包 + */ +const getPackage1 = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/packages/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary 更新课程包 + */ +const updatePackage = ( + id: number, + coursePackage: CoursePackage, + ) => { + return request( + {url: `/api/v1/admin/packages/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: coursePackage + }, + ); + } + +/** + * @summary 删除课程包 + */ +const deletePackage = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/packages/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary 根据ID获取课程 */ const getCourse3 = ( id: number, @@ -812,7 +855,7 @@ const getCourse3 = ( } /** - * @summary Update course + * @summary 更新课程 */ const updateCourse1 = ( id: number, @@ -827,7 +870,7 @@ const updateCourse1 = ( } /** - * @summary Delete course + * @summary 删除课程 */ const deleteCourse1 = ( id: number, @@ -839,7 +882,7 @@ const deleteCourse1 = ( } /** - * @summary Get lesson by ID + * @summary 根据ID获取课时 */ const getLesson2 = ( courseId: number, @@ -852,7 +895,7 @@ const getLesson2 = ( } /** - * @summary Update course lesson + * @summary 更新课程课时 */ const updateLesson1 = ( courseId: number, @@ -868,7 +911,7 @@ const updateLesson1 = ( } /** - * @summary Delete course lesson + * @summary 删除课程课时 */ const deleteLesson = ( courseId: number, @@ -881,46 +924,7 @@ const deleteLesson = ( } /** - * @summary Get course package by ID - */ -const getPackage1 = ( - id: number, - ) => { - return request( - {url: `/api/v1/admin/course-packages/${id}`, method: 'GET' - }, - ); - } - -/** - * @summary Update course package - */ -const updatePackage = ( - id: number, - coursePackage: CoursePackage, - ) => { - return request( - {url: `/api/v1/admin/course-packages/${id}`, method: 'PUT', - headers: {'Content-Type': 'application/json', }, - data: coursePackage - }, - ); - } - -/** - * @summary Delete course package - */ -const deletePackage = ( - id: number, - ) => { - return request( - {url: `/api/v1/admin/course-packages/${id}`, method: 'DELETE' - }, - ); - } - -/** - * @summary Get task page + * @summary 获取任务分页 */ const getTaskPage = ( params?: GetTaskPageParams, @@ -933,7 +937,7 @@ const getTaskPage = ( } /** - * @summary Create task + * @summary 创建任务 */ const createTask = ( taskCreateRequest: TaskCreateRequest, @@ -947,7 +951,7 @@ const createTask = ( } /** - * @summary Mark notification as read + * @summary 标记通知为已读 */ const markAsRead = ( id: number, @@ -959,7 +963,7 @@ const markAsRead = ( } /** - * @summary Mark all notifications as read + * @summary 标记所有通知为已读 */ const markAllAsRead = ( @@ -971,7 +975,7 @@ const markAllAsRead = ( } /** - * @summary Get my lessons + * @summary 获取我的课时 */ const getMyLessons = ( params?: GetMyLessonsParams, @@ -984,7 +988,7 @@ const getMyLessons = ( } /** - * @summary Create lesson + * @summary 创建课时 */ const createLesson = ( lessonCreateRequest: LessonCreateRequest, @@ -998,7 +1002,7 @@ const createLesson = ( } /** - * @summary Start lesson + * @summary 开始课时 */ const startLesson = ( id: number, @@ -1022,7 +1026,7 @@ const completeLesson = ( } /** - * @summary Cancel lesson + * @summary 取消课时 */ const cancelLesson = ( id: number, @@ -1034,7 +1038,7 @@ const cancelLesson = ( } /** - * @summary Get growth record page + * @summary 获取成长档案分页 */ const getGrowthRecordPage = ( params?: GetGrowthRecordPageParams, @@ -1047,7 +1051,7 @@ const getGrowthRecordPage = ( } /** - * @summary Create growth record + * @summary 创建成长档案 */ const createGrowthRecord = ( growthRecordCreateRequest: GrowthRecordCreateRequest, @@ -1061,7 +1065,7 @@ const createGrowthRecord = ( } /** - * @summary Get teacher page + * @summary 获取教师分页 */ const getTeacherPage = ( params?: GetTeacherPageParams, @@ -1074,7 +1078,7 @@ const getTeacherPage = ( } /** - * @summary Create teacher + * @summary 创建教师 */ const createTeacher = ( teacherCreateRequest: TeacherCreateRequest, @@ -1088,7 +1092,7 @@ const createTeacher = ( } /** - * @summary Reset teacher password + * @summary 重置教师密码 */ const resetPassword = ( id: number, @@ -1102,7 +1106,7 @@ const resetPassword = ( } /** - * @summary Get task page + * @summary 获取任务分页 */ const getTaskPage1 = ( params?: GetTaskPage1Params, @@ -1115,7 +1119,7 @@ const getTaskPage1 = ( } /** - * @summary Create task + * @summary 创建任务 */ const createTask1 = ( taskCreateRequest: TaskCreateRequest, @@ -1129,7 +1133,7 @@ const createTask1 = ( } /** - * @summary Get student page + * @summary 获取学生分页 */ const getStudentPage = ( params?: GetStudentPageParams, @@ -1142,7 +1146,7 @@ const getStudentPage = ( } /** - * @summary Create student + * @summary 创建学生 */ const createStudent = ( studentCreateRequest: StudentCreateRequest, @@ -1156,7 +1160,7 @@ const createStudent = ( } /** - * @summary Get school courses + * @summary 获取校本课程 */ const getCourses1 = ( params?: GetCourses1Params, @@ -1169,7 +1173,7 @@ const getCourses1 = ( } /** - * @summary Create school course + * @summary 创建校本课程 */ const createCourse = ( schoolCourse: SchoolCourse, @@ -1183,7 +1187,7 @@ const createCourse = ( } /** - * @summary Get schedule plans + * @summary 获取课表计划 */ const getSchedulePlans1 = ( params?: GetSchedulePlans1Params, @@ -1196,7 +1200,7 @@ const getSchedulePlans1 = ( } /** - * @summary Create schedule plan + * @summary 创建课表计划 */ const createSchedulePlan = ( schedulePlan: SchedulePlan, @@ -1210,7 +1214,7 @@ const createSchedulePlan = ( } /** - * @summary Get schedule templates + * @summary 获取课表模板 */ const getScheduleTemplates = ( params?: GetScheduleTemplatesParams, @@ -1223,7 +1227,7 @@ const getScheduleTemplates = ( } /** - * @summary Create schedule template + * @summary 创建课表模板 */ const createScheduleTemplate = ( scheduleTemplate: ScheduleTemplate, @@ -1237,7 +1241,7 @@ const createScheduleTemplate = ( } /** - * @summary Get parent page + * @summary 获取家长分页 */ const getParentPage = ( params?: GetParentPageParams, @@ -1250,7 +1254,7 @@ const getParentPage = ( } /** - * @summary Create parent + * @summary 创建家长 */ const createParent = ( parentCreateRequest: ParentCreateRequest, @@ -1264,7 +1268,7 @@ const createParent = ( } /** - * @summary Bind student to parent + * @summary 绑定学生到家长 */ const bindStudent = ( parentId: number, @@ -1279,7 +1283,7 @@ const bindStudent = ( } /** - * @summary Unbind student from parent + * @summary 解绑家长与学生关系 */ const unbindStudent = ( parentId: number, @@ -1292,7 +1296,7 @@ const unbindStudent = ( } /** - * @summary Reset parent password + * @summary 重置家长密码 */ const resetPassword1 = ( id: number, @@ -1306,7 +1310,7 @@ const resetPassword1 = ( } /** - * @summary Get growth record page + * @summary 获取成长档案分页 */ const getGrowthRecordPage1 = ( params?: GetGrowthRecordPage1Params, @@ -1319,7 +1323,7 @@ const getGrowthRecordPage1 = ( } /** - * @summary Create growth record + * @summary 创建成长档案 */ const createGrowthRecord1 = ( growthRecordCreateRequest: GrowthRecordCreateRequest, @@ -1346,7 +1350,7 @@ const getClassPage = ( } /** - * @summary Create class + * @summary 创建班级 */ const createClass = ( classCreateRequest: ClassCreateRequest, @@ -1360,7 +1364,7 @@ const createClass = ( } /** - * @summary Assign teachers to class + * @summary 分配教师到班级 */ const assignTeachers = ( id: number, @@ -1375,7 +1379,7 @@ const assignTeachers = ( } /** - * @summary Assign students to class + * @summary 分配学生到班级 */ const assignStudents = ( id: number, @@ -1390,7 +1394,7 @@ const assignStudents = ( } /** - * @summary Complete task + * @summary 完成任务 */ const completeTask = ( taskId: number, @@ -1404,7 +1408,7 @@ const completeTask = ( } /** - * @summary Mark notification as read + * @summary 标记通知为已读 */ const markAsRead1 = ( id: number, @@ -1416,7 +1420,7 @@ const markAsRead1 = ( } /** - * @summary Mark all notifications as read + * @summary 标记所有通知为已读 */ const markAllAsRead1 = ( @@ -1428,7 +1432,7 @@ const markAllAsRead1 = ( } /** - * @summary Create growth record + * @summary 创建成长档案 */ const createGrowthRecord2 = ( growthRecordCreateRequest: GrowthRecordCreateRequest, @@ -1442,7 +1446,7 @@ const createGrowthRecord2 = ( } /** - * @summary Upload file + * @summary 上传文件 */ const uploadFile = ( uploadFileBody: UploadFileBody, @@ -1456,7 +1460,7 @@ const uploadFile = ( } /** - * @summary User logout + * @summary 用户登出 */ const logout = ( @@ -1468,7 +1472,7 @@ const logout = ( } /** - * @summary User login + * @summary 用户登录 */ const login = ( loginRequest: LoginRequest, @@ -1482,7 +1486,7 @@ const login = ( } /** - * @summary Change password + * @summary 修改密码 */ const changePassword = ( params: ChangePasswordParams, @@ -1495,7 +1499,7 @@ const changePassword = ( } /** - * @summary Get all themes + * @summary 获取所有主题 */ const getThemes = ( params?: GetThemesParams, @@ -1508,7 +1512,7 @@ const getThemes = ( } /** - * @summary Create theme + * @summary 创建主题 */ const createTheme = ( theme: Theme, @@ -1522,7 +1526,7 @@ const createTheme = ( } /** - * @summary Get tenant page + * @summary 获取租户分页 */ const getTenantPage = ( params?: GetTenantPageParams, @@ -1535,7 +1539,7 @@ const getTenantPage = ( } /** - * @summary Create tenant + * @summary 创建租户 */ const createTenant = ( tenantCreateRequest: TenantCreateRequest, @@ -1549,7 +1553,7 @@ const createTenant = ( } /** - * @summary Reset tenant school account password + * @summary 重置租户学校账号密码 */ const resetTenantPassword = ( id: number, @@ -1561,7 +1565,7 @@ const resetTenantPassword = ( } /** - * @summary Get all resource libraries + * @summary 获取所有资源库 */ const getLibraries = ( params?: GetLibrariesParams, @@ -1574,7 +1578,7 @@ const getLibraries = ( } /** - * @summary Create resource library + * @summary 创建资源库 */ const createLibrary = ( resourceLibrary: ResourceLibrary, @@ -1588,7 +1592,7 @@ const createLibrary = ( } /** - * @summary Get resource items + * @summary 获取资源项 */ const getItems = ( params?: GetItemsParams, @@ -1601,7 +1605,7 @@ const getItems = ( } /** - * @summary Create resource item + * @summary 创建资源项 */ const createItem = ( resourceItem: ResourceItem, @@ -1615,7 +1619,85 @@ const createItem = ( } /** - * @summary Get system course page + * @summary 获取课程包列表 + */ +const getPackages1 = ( + params?: GetPackages1Params, + ) => { + return request( + {url: `/api/v1/admin/packages`, method: 'GET', + params + }, + ); + } + +/** + * @summary 创建课程包 + */ +const createPackage = ( + coursePackage: CoursePackage, + ) => { + return request( + {url: `/api/v1/admin/packages`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: coursePackage + }, + ); + } + +/** + * @summary 提交课程包审核 + */ +const submitPackage = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/packages/${id}/submit`, method: 'POST' + }, + ); + } + +/** + * @summary 审核课程包(通过或拒绝) + */ +const reviewPackage = ( + id: number, + reviewPackageBody: ReviewPackageBody, + ) => { + return request( + {url: `/api/v1/admin/packages/${id}/review`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: reviewPackageBody + }, + ); + } + +/** + * @summary 发布课程包 + */ +const publishPackage = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/packages/${id}/publish`, method: 'POST' + }, + ); + } + +/** + * @summary 下架课程包 + */ +const offlinePackage = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/packages/${id}/offline`, method: 'POST' + }, + ); + } + +/** + * @summary 获取系统课程分页(所有状态) */ const getCoursePage1 = ( params?: GetCoursePage1Params, @@ -1628,7 +1710,7 @@ const getCoursePage1 = ( } /** - * @summary Create system course + * @summary 创建系统课程 */ const createCourse1 = ( courseCreateRequest: CourseCreateRequest, @@ -1642,7 +1724,69 @@ const createCourse1 = ( } /** - * @summary Publish course + * @summary 撤销课程审核 + */ +const withdrawCourse = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/courses/${id}/withdraw`, method: 'POST' + }, + ); + } + +/** + * @summary 取消发布(归档)课程 + */ +const unpublishCourse = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/courses/${id}/unpublish`, method: 'POST' + }, + ); + } + +/** + * @summary 提交课程审核 + */ +const submitCourse = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/courses/${id}/submit`, method: 'POST' + }, + ); + } + +/** + * @summary 重新发布课程 + */ +const republishCourse = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/courses/${id}/republish`, method: 'POST' + }, + ); + } + +/** + * @summary 驳回课程 + */ +const rejectCourse = ( + id: number, + params?: RejectCourseParams, + ) => { + return request( + {url: `/api/v1/admin/courses/${id}/reject`, method: 'POST', + params + }, + ); + } + +/** + * @summary 发布课程 */ const publishCourse = ( id: number, @@ -1654,7 +1798,19 @@ const publishCourse = ( } /** - * @summary Archive course + * @summary 直接发布课程(跳过审核) + */ +const directPublishCourse = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/courses/${id}/direct-publish`, method: 'POST' + }, + ); + } + +/** + * @summary 归档课程 */ const archiveCourse = ( id: number, @@ -1666,7 +1822,21 @@ const archiveCourse = ( } /** - * @summary Get lessons for a course + * @summary 审批课程 + */ +const approveCourse = ( + id: number, + params?: ApproveCourseParams, + ) => { + return request( + {url: `/api/v1/admin/courses/${id}/approve`, method: 'POST', + params + }, + ); + } + +/** + * @summary 获取课程的课时列表 */ const getLessons1 = ( courseId: number, @@ -1678,7 +1848,7 @@ const getLessons1 = ( } /** - * @summary Create course lesson + * @summary 创建课程课时 */ const createLesson1 = ( courseId: number, @@ -1693,34 +1863,7 @@ const createLesson1 = ( } /** - * @summary Get course packages - */ -const getPackages1 = ( - params?: GetPackages1Params, - ) => { - return request( - {url: `/api/v1/admin/course-packages`, method: 'GET', - params - }, - ); - } - -/** - * @summary Create course package - */ -const createPackage = ( - coursePackage: CoursePackage, - ) => { - return request( - {url: `/api/v1/admin/course-packages`, method: 'POST', - headers: {'Content-Type': 'application/json', }, - data: coursePackage - }, - ); - } - -/** - * @summary Get school courses + * @summary 获取校本课程 */ const getCourses = ( params?: GetCoursesParams, @@ -1733,7 +1876,7 @@ const getCourses = ( } /** - * @summary Get school course by ID + * @summary 根据ID获取校本课程 */ const getCourse = ( id: number, @@ -1745,7 +1888,7 @@ const getCourse = ( } /** - * @summary Get teacher schedule plans + * @summary 获取教师课表计划 */ const getSchedulePlans = ( params?: GetSchedulePlansParams, @@ -1758,7 +1901,7 @@ const getSchedulePlans = ( } /** - * @summary Get schedule plan by ID + * @summary 根据ID获取课表计划 */ const getSchedulePlan = ( id: number, @@ -1770,7 +1913,7 @@ const getSchedulePlan = ( } /** - * @summary Get my notifications + * @summary 获取我的通知 */ const getMyNotifications = ( params?: GetMyNotificationsParams, @@ -1783,7 +1926,7 @@ const getMyNotifications = ( } /** - * @summary Get notification by ID + * @summary 根据ID获取通知 */ const getNotification = ( id: number, @@ -1795,7 +1938,7 @@ const getNotification = ( } /** - * @summary Get unread count + * @summary 获取未读通知数量 */ const getUnreadCount = ( @@ -1807,7 +1950,7 @@ const getUnreadCount = ( } /** - * @summary Get today's lessons + * @summary 获取今天课时 */ const getTodayLessons = ( @@ -1819,7 +1962,7 @@ const getTodayLessons = ( } /** - * @summary Get teacher dashboard overview + * @summary 获取教师仪表盘概览 */ const getDashboard = ( @@ -1831,7 +1974,7 @@ const getDashboard = ( } /** - * @summary Get weekly lessons + * @summary 获取本周课时 */ const getWeeklyLessons = ( @@ -1843,7 +1986,7 @@ const getWeeklyLessons = ( } /** - * @summary Get today's lessons + * @summary 获取今天课时 */ const getTodayLessons1 = ( @@ -1855,7 +1998,7 @@ const getTodayLessons1 = ( } /** - * @summary Get course page + * @summary 获取课程分页 */ const getCoursePage = ( params?: GetCoursePageParams, @@ -1868,7 +2011,7 @@ const getCoursePage = ( } /** - * @summary Get course by ID + * @summary 根据ID获取课程 */ const getCourse1 = ( id: number, @@ -1880,7 +2023,7 @@ const getCourse1 = ( } /** - * @summary Get lessons for a course + * @summary 获取课程的课时列表 */ const getLessons = ( courseId: number, @@ -1892,7 +2035,7 @@ const getLessons = ( } /** - * @summary Get lesson by ID + * @summary 根据ID获取课时 */ const getLesson1 = ( courseId: number, @@ -1905,7 +2048,7 @@ const getLesson1 = ( } /** - * @summary Get all courses + * @summary 获取所有课程 */ const getAllCourses = ( @@ -1917,7 +2060,7 @@ const getAllCourses = ( } /** - * @summary Get school statistics + * @summary 获取学校统计数据 */ const getStats = ( @@ -1929,7 +2072,7 @@ const getStats = ( } /** - * @summary Get school operation logs + * @summary 获取学校操作日志 */ const getLogs = ( params?: GetLogsParams, @@ -1942,7 +2085,7 @@ const getLogs = ( } /** - * @summary Export teachers to Excel + * @summary 导出教师信息到Excel */ const exportTeachers = ( @@ -1954,7 +2097,7 @@ const exportTeachers = ( } /** - * @summary Export students to Excel + * @summary 导出学生信息到Excel */ const exportStudents = ( @@ -1966,7 +2109,7 @@ const exportStudents = ( } /** - * @summary Export lessons to Excel + * @summary 导出课时信息到Excel */ const exportLessons = ( @@ -1978,7 +2121,7 @@ const exportLessons = ( } /** - * @summary Export growth records to Excel + * @summary 导出成长档案到Excel */ const exportGrowthRecords = ( @@ -1990,7 +2133,7 @@ const exportGrowthRecords = ( } /** - * @summary Get available course packages + * @summary 获取可用课程包列表 */ const getPackages = ( params?: GetPackagesParams, @@ -2003,7 +2146,7 @@ const getPackages = ( } /** - * @summary Get course package by ID + * @summary 根据ID获取课程包 */ const getPackage = ( id: number, @@ -2015,7 +2158,7 @@ const getPackage = ( } /** - * @summary Get task by ID + * @summary 根据ID获取任务 */ const getTask2 = ( id: number, @@ -2027,7 +2170,7 @@ const getTask2 = ( } /** - * @summary Get tasks by student ID + * @summary 根据学生ID获取任务 */ const getTasksByStudent = ( studentId: number, @@ -2041,7 +2184,7 @@ const getTasksByStudent = ( } /** - * @summary Get my notifications + * @summary 获取我的通知 */ const getMyNotifications1 = ( params?: GetMyNotifications1Params, @@ -2054,7 +2197,7 @@ const getMyNotifications1 = ( } /** - * @summary Get notification by ID + * @summary 根据ID获取通知 */ const getNotification1 = ( id: number, @@ -2066,7 +2209,7 @@ const getNotification1 = ( } /** - * @summary Get unread count + * @summary 获取未读通知数量 */ const getUnreadCount1 = ( @@ -2078,7 +2221,7 @@ const getUnreadCount1 = ( } /** - * @summary Get growth records by student ID + * @summary 根据学生ID获取成长档案 */ const getGrowthRecordsByStudent = ( studentId: number, @@ -2092,7 +2235,7 @@ const getGrowthRecordsByStudent = ( } /** - * @summary Get recent growth records + * @summary 获取最近成长档案 */ const getRecentGrowthRecords = ( studentId: number, @@ -2106,7 +2249,7 @@ const getRecentGrowthRecords = ( } /** - * @summary Get my children + * @summary 获取我的孩子 */ const getMyChildren = ( @@ -2118,7 +2261,7 @@ const getMyChildren = ( } /** - * @summary Get child by ID + * @summary 根据ID获取孩子 */ const getChild = ( id: number, @@ -2130,7 +2273,7 @@ const getChild = ( } /** - * @summary Get current user info + * @summary 获取当前用户信息 */ const getCurrentUser = ( @@ -2142,7 +2285,7 @@ const getCurrentUser = ( } /** - * @summary Get all active tenants + * @summary 获取所有活跃租户 */ const getAllActiveTenants = ( @@ -2154,7 +2297,7 @@ const getAllActiveTenants = ( } /** - * @summary Get overall statistics + * @summary 获取整体统计数据 */ const getStats1 = ( @@ -2166,7 +2309,7 @@ const getStats1 = ( } /** - * @summary Get trend data (last 6 months) + * @summary 获取趋势数据(近6个月) */ const getTrendData = ( @@ -2178,7 +2321,7 @@ const getTrendData = ( } /** - * @summary Get active tenants + * @summary 获取活跃租户 */ const getActiveTenants = ( params?: GetActiveTenantsParams, @@ -2191,7 +2334,7 @@ const getActiveTenants = ( } /** - * @summary Get popular courses + * @summary 获取热门课程 */ const getPopularCourses = ( params?: GetPopularCoursesParams, @@ -2204,7 +2347,7 @@ const getPopularCourses = ( } /** - * @summary Get recent activities + * @summary 获取最近活动 */ const getActivities = ( params?: GetActivitiesParams, @@ -2217,7 +2360,7 @@ const getActivities = ( } /** - * @summary Get operation logs + * @summary 获取操作日志 */ const getLogs1 = ( params?: GetLogs1Params, @@ -2230,7 +2373,20 @@ const getLogs1 = ( } /** - * @summary Delete schedule template + * @summary 获取待审核课程 + */ +const getReviewCoursePage = ( + params?: GetReviewCoursePageParams, + ) => { + return request( + {url: `/api/v1/admin/courses/review`, method: 'GET', + params + }, + ); + } + +/** + * @summary 删除课表模板 */ const deleteScheduleTemplate = ( id: number, @@ -2242,7 +2398,7 @@ const deleteScheduleTemplate = ( } /** - * @summary Delete file + * @summary 删除文件 */ const deleteFile = ( params: DeleteFileParams, @@ -2254,7 +2410,7 @@ const deleteFile = ( ); } -return {getTask,updateTask,deleteTask,getLesson,updateLesson,getGrowthRecord,updateGrowthRecord,deleteGrowthRecord,getTeacher,updateTeacher,deleteTeacher,getTask1,updateTask1,deleteTask1,getStudent,updateStudent,deleteStudent,getSettings,updateSettings,getCourse2,updateCourse,deleteCourse,getSchedulePlan1,updateSchedulePlan,deleteSchedulePlan,getParent,updateParent,deleteParent,getGrowthRecord1,updateGrowthRecord1,deleteGrowthRecord1,getClass,updateClass,deleteClass,getGrowthRecord2,updateGrowthRecord2,deleteGrowthRecord2,getTheme,updateTheme,deleteTheme,getTenant,updateTenant,deleteTenant,updateTenantStatus,updateTenantQuota,getSettings1,updateSettings1,updateLibrary,deleteLibrary,updateItem,deleteItem,getCourse3,updateCourse1,deleteCourse1,getLesson2,updateLesson1,deleteLesson,getPackage1,updatePackage,deletePackage,getTaskPage,createTask,markAsRead,markAllAsRead,getMyLessons,createLesson,startLesson,completeLesson,cancelLesson,getGrowthRecordPage,createGrowthRecord,getTeacherPage,createTeacher,resetPassword,getTaskPage1,createTask1,getStudentPage,createStudent,getCourses1,createCourse,getSchedulePlans1,createSchedulePlan,getScheduleTemplates,createScheduleTemplate,getParentPage,createParent,bindStudent,unbindStudent,resetPassword1,getGrowthRecordPage1,createGrowthRecord1,getClassPage,createClass,assignTeachers,assignStudents,completeTask,markAsRead1,markAllAsRead1,createGrowthRecord2,uploadFile,logout,login,changePassword,getThemes,createTheme,getTenantPage,createTenant,resetTenantPassword,getLibraries,createLibrary,getItems,createItem,getCoursePage1,createCourse1,publishCourse,archiveCourse,getLessons1,createLesson1,getPackages1,createPackage,getCourses,getCourse,getSchedulePlans,getSchedulePlan,getMyNotifications,getNotification,getUnreadCount,getTodayLessons,getDashboard,getWeeklyLessons,getTodayLessons1,getCoursePage,getCourse1,getLessons,getLesson1,getAllCourses,getStats,getLogs,exportTeachers,exportStudents,exportLessons,exportGrowthRecords,getPackages,getPackage,getTask2,getTasksByStudent,getMyNotifications1,getNotification1,getUnreadCount1,getGrowthRecordsByStudent,getRecentGrowthRecords,getMyChildren,getChild,getCurrentUser,getAllActiveTenants,getStats1,getTrendData,getActiveTenants,getPopularCourses,getActivities,getLogs1,deleteScheduleTemplate,deleteFile}}; +return {getTask,updateTask,deleteTask,getLesson,updateLesson,getGrowthRecord,updateGrowthRecord,deleteGrowthRecord,getTeacher,updateTeacher,deleteTeacher,getTask1,updateTask1,deleteTask1,getStudent,updateStudent,deleteStudent,getSettings,updateSettings,getCourse2,updateCourse,deleteCourse,getSchedulePlan1,updateSchedulePlan,deleteSchedulePlan,getParent,updateParent,deleteParent,getGrowthRecord1,updateGrowthRecord1,deleteGrowthRecord1,getClass,updateClass,deleteClass,getGrowthRecord2,updateGrowthRecord2,deleteGrowthRecord2,getTheme,updateTheme,deleteTheme,getTenant,updateTenant,deleteTenant,updateTenantStatus,updateTenantQuota,getSettings1,updateSettings1,updateLibrary,deleteLibrary,updateItem,deleteItem,getPackage1,updatePackage,deletePackage,getCourse3,updateCourse1,deleteCourse1,getLesson2,updateLesson1,deleteLesson,getTaskPage,createTask,markAsRead,markAllAsRead,getMyLessons,createLesson,startLesson,completeLesson,cancelLesson,getGrowthRecordPage,createGrowthRecord,getTeacherPage,createTeacher,resetPassword,getTaskPage1,createTask1,getStudentPage,createStudent,getCourses1,createCourse,getSchedulePlans1,createSchedulePlan,getScheduleTemplates,createScheduleTemplate,getParentPage,createParent,bindStudent,unbindStudent,resetPassword1,getGrowthRecordPage1,createGrowthRecord1,getClassPage,createClass,assignTeachers,assignStudents,completeTask,markAsRead1,markAllAsRead1,createGrowthRecord2,uploadFile,logout,login,changePassword,getThemes,createTheme,getTenantPage,createTenant,resetTenantPassword,getLibraries,createLibrary,getItems,createItem,getPackages1,createPackage,submitPackage,reviewPackage,publishPackage,offlinePackage,getCoursePage1,createCourse1,withdrawCourse,unpublishCourse,submitCourse,republishCourse,rejectCourse,publishCourse,directPublishCourse,archiveCourse,approveCourse,getLessons1,createLesson1,getCourses,getCourse,getSchedulePlans,getSchedulePlan,getMyNotifications,getNotification,getUnreadCount,getTodayLessons,getDashboard,getWeeklyLessons,getTodayLessons1,getCoursePage,getCourse1,getLessons,getLesson1,getAllCourses,getStats,getLogs,exportTeachers,exportStudents,exportLessons,exportGrowthRecords,getPackages,getPackage,getTask2,getTasksByStudent,getMyNotifications1,getNotification1,getUnreadCount1,getGrowthRecordsByStudent,getRecentGrowthRecords,getMyChildren,getChild,getCurrentUser,getAllActiveTenants,getStats1,getTrendData,getActiveTenants,getPopularCourses,getActivities,getLogs1,getReviewCoursePage,deleteScheduleTemplate,deleteFile}}; export type GetTaskResult = NonNullable['getTask']>>> export type UpdateTaskResult = NonNullable['updateTask']>>> export type DeleteTaskResult = NonNullable['deleteTask']>>> @@ -2306,15 +2462,15 @@ export type UpdateLibraryResult = NonNullable['deleteLibrary']>>> export type UpdateItemResult = NonNullable['updateItem']>>> export type DeleteItemResult = NonNullable['deleteItem']>>> +export type GetPackage1Result = NonNullable['getPackage1']>>> +export type UpdatePackageResult = NonNullable['updatePackage']>>> +export type DeletePackageResult = NonNullable['deletePackage']>>> export type GetCourse3Result = NonNullable['getCourse3']>>> export type UpdateCourse1Result = NonNullable['updateCourse1']>>> export type DeleteCourse1Result = NonNullable['deleteCourse1']>>> export type GetLesson2Result = NonNullable['getLesson2']>>> export type UpdateLesson1Result = NonNullable['updateLesson1']>>> export type DeleteLessonResult = NonNullable['deleteLesson']>>> -export type GetPackage1Result = NonNullable['getPackage1']>>> -export type UpdatePackageResult = NonNullable['updatePackage']>>> -export type DeletePackageResult = NonNullable['deletePackage']>>> export type GetTaskPageResult = NonNullable['getTaskPage']>>> export type CreateTaskResult = NonNullable['createTask']>>> export type MarkAsReadResult = NonNullable['markAsRead']>>> @@ -2367,14 +2523,25 @@ export type GetLibrariesResult = NonNullable['createLibrary']>>> export type GetItemsResult = NonNullable['getItems']>>> export type CreateItemResult = NonNullable['createItem']>>> -export type GetCoursePage1Result = NonNullable['getCoursePage1']>>> -export type CreateCourse1Result = NonNullable['createCourse1']>>> -export type PublishCourseResult = NonNullable['publishCourse']>>> -export type ArchiveCourseResult = NonNullable['archiveCourse']>>> -export type GetLessons1Result = NonNullable['getLessons1']>>> -export type CreateLesson1Result = NonNullable['createLesson1']>>> export type GetPackages1Result = NonNullable['getPackages1']>>> export type CreatePackageResult = NonNullable['createPackage']>>> +export type SubmitPackageResult = NonNullable['submitPackage']>>> +export type ReviewPackageResult = NonNullable['reviewPackage']>>> +export type PublishPackageResult = NonNullable['publishPackage']>>> +export type OfflinePackageResult = NonNullable['offlinePackage']>>> +export type GetCoursePage1Result = NonNullable['getCoursePage1']>>> +export type CreateCourse1Result = NonNullable['createCourse1']>>> +export type WithdrawCourseResult = NonNullable['withdrawCourse']>>> +export type UnpublishCourseResult = NonNullable['unpublishCourse']>>> +export type SubmitCourseResult = NonNullable['submitCourse']>>> +export type RepublishCourseResult = NonNullable['republishCourse']>>> +export type RejectCourseResult = NonNullable['rejectCourse']>>> +export type PublishCourseResult = NonNullable['publishCourse']>>> +export type DirectPublishCourseResult = NonNullable['directPublishCourse']>>> +export type ArchiveCourseResult = NonNullable['archiveCourse']>>> +export type ApproveCourseResult = NonNullable['approveCourse']>>> +export type GetLessons1Result = NonNullable['getLessons1']>>> +export type CreateLesson1Result = NonNullable['createLesson1']>>> export type GetCoursesResult = NonNullable['getCourses']>>> export type GetCourseResult = NonNullable['getCourse']>>> export type GetSchedulePlansResult = NonNullable['getSchedulePlans']>>> @@ -2416,5 +2583,6 @@ export type GetActiveTenantsResult = NonNullable['getPopularCourses']>>> export type GetActivitiesResult = NonNullable['getActivities']>>> export type GetLogs1Result = NonNullable['getLogs1']>>> +export type GetReviewCoursePageResult = NonNullable['getReviewCoursePage']>>> export type DeleteScheduleTemplateResult = NonNullable['deleteScheduleTemplate']>>> export type DeleteFileResult = NonNullable['deleteFile']>>> diff --git a/reading-platform-frontend/src/api/generated/model/approveCourseParams.ts b/reading-platform-frontend/src/api/generated/model/approveCourseParams.ts new file mode 100644 index 0000000..36b59ff --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/approveCourseParams.ts @@ -0,0 +1,11 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type ApproveCourseParams = { +comment?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/classCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/classCreateRequest.ts index aee9598..65486e5 100644 --- a/reading-platform-frontend/src/api/generated/model/classCreateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/classCreateRequest.ts @@ -7,15 +7,15 @@ */ /** - * Class Create Request + * 班级创建请求 */ export interface ClassCreateRequest { - /** Class name */ + /** 班级名称 */ name: string; - /** Grade */ + /** 年级 */ grade?: string; - /** Description */ + /** 描述 */ description?: string; - /** Capacity */ + /** 容量 */ capacity?: number; } diff --git a/reading-platform-frontend/src/api/generated/model/classUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/classUpdateRequest.ts index 00d6b49..106c578 100644 --- a/reading-platform-frontend/src/api/generated/model/classUpdateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/classUpdateRequest.ts @@ -7,17 +7,17 @@ */ /** - * Class Update Request + * 班级更新请求 */ export interface ClassUpdateRequest { - /** Class name */ + /** 班级名称 */ name?: string; - /** Grade */ + /** 年级 */ grade?: string; - /** Description */ + /** 描述 */ description?: string; - /** Capacity */ + /** 容量 */ capacity?: number; - /** Status */ + /** 状态 */ status?: string; } diff --git a/reading-platform-frontend/src/api/generated/model/courseCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/courseCreateRequest.ts index b80465d..a1deb54 100644 --- a/reading-platform-frontend/src/api/generated/model/courseCreateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/courseCreateRequest.ts @@ -7,83 +7,83 @@ */ /** - * Course Create Request + * 课程创建请求 */ export interface CourseCreateRequest { - /** Course name */ + /** 课程名称 */ name: string; - /** Course code */ + /** 课程编码 */ code?: string; - /** Description */ + /** 描述 */ description?: string; - /** Cover URL */ + /** 封面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; - /** 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) */ + /** 课表参考数据(JSON) */ scheduleRefData?: string; - /** Environment construction content */ + /** 环境创设内容 */ environmentConstruction?: string; - /** Theme ID */ + /** 主题ID */ themeId?: number; - /** Picture book name */ + /** 绘本名称 */ pictureBookName?: string; - /** Ebook paths (JSON array) */ + /** 电子书路径(JSON数组) */ ebookPaths?: string; - /** Audio paths (JSON array) */ + /** 音频路径(JSON数组) */ audioPaths?: string; - /** Video paths (JSON array) */ + /** 视频路径(JSON数组) */ videoPaths?: string; - /** Other resources (JSON array) */ + /** 其他资源(JSON数组) */ otherResources?: string; - /** PPT file path */ + /** PPT文件路径 */ pptPath?: string; - /** PPT file name */ + /** PPT文件名 */ pptName?: string; - /** Poster paths (JSON array) */ + /** 海报路径(JSON数组) */ posterPaths?: string; - /** Teaching tools (JSON array) */ + /** 教具(JSON数组) */ tools?: string; - /** Student materials */ + /** 学生材料 */ studentMaterials?: string; - /** Lesson plan data (JSON) */ + /** 教案数据(JSON) */ lessonPlanData?: string; - /** Activities data (JSON) */ + /** 活动数据(JSON) */ activitiesData?: string; - /** Assessment data (JSON) */ + /** 评估数据(JSON) */ assessmentData?: string; - /** Grade tags (JSON array) */ + /** 年级标签(JSON数组) */ gradeTags?: string; - /** Domain tags (JSON array) */ + /** 领域标签(JSON数组) */ domainTags?: string; - /** Has collective lesson */ + /** 是否有集体课 */ hasCollectiveLesson?: boolean; } diff --git a/reading-platform-frontend/src/api/generated/model/courseUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/courseUpdateRequest.ts index 0a1ab63..b2be311 100644 --- a/reading-platform-frontend/src/api/generated/model/courseUpdateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/courseUpdateRequest.ts @@ -7,85 +7,85 @@ */ /** - * Course Update Request + * 课程更新请求 */ export interface CourseUpdateRequest { - /** Course name */ + /** 课程名称 */ name?: string; - /** Course code */ + /** 课程编码 */ code?: string; - /** Description */ + /** 描述 */ description?: string; - /** Cover URL */ + /** 封面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) */ + /** 课表参考数据(JSON) */ scheduleRefData?: string; - /** Environment construction content */ + /** 环境创设内容 */ environmentConstruction?: string; - /** Theme ID */ + /** 主题ID */ themeId?: number; - /** Picture book name */ + /** 绘本名称 */ pictureBookName?: string; - /** Ebook paths (JSON array) */ + /** 电子书路径(JSON数组) */ ebookPaths?: string; - /** Audio paths (JSON array) */ + /** 音频路径(JSON数组) */ audioPaths?: string; - /** Video paths (JSON array) */ + /** 视频路径(JSON数组) */ videoPaths?: string; - /** Other resources (JSON array) */ + /** 其他资源(JSON数组) */ otherResources?: string; - /** PPT file path */ + /** PPT文件路径 */ pptPath?: string; - /** PPT file name */ + /** PPT文件名 */ pptName?: string; - /** Poster paths (JSON array) */ + /** 海报路径(JSON数组) */ posterPaths?: string; - /** Teaching tools (JSON array) */ + /** 教具(JSON数组) */ tools?: string; - /** Student materials */ + /** 学生材料 */ studentMaterials?: string; - /** Lesson plan data (JSON) */ + /** 教案数据(JSON) */ lessonPlanData?: string; - /** Activities data (JSON) */ + /** 活动数据(JSON) */ activitiesData?: string; - /** Assessment data (JSON) */ + /** 评估数据(JSON) */ assessmentData?: string; - /** Grade tags (JSON array) */ + /** 年级标签(JSON数组) */ gradeTags?: string; - /** Domain tags (JSON array) */ + /** 领域标签(JSON数组) */ domainTags?: string; - /** Has collective lesson */ + /** 是否有集体课 */ hasCollectiveLesson?: boolean; } diff --git a/reading-platform-frontend/src/api/generated/model/getCoursePage1Params.ts b/reading-platform-frontend/src/api/generated/model/getCoursePage1Params.ts index 569cd69..9ede597 100644 --- a/reading-platform-frontend/src/api/generated/model/getCoursePage1Params.ts +++ b/reading-platform-frontend/src/api/generated/model/getCoursePage1Params.ts @@ -11,4 +11,5 @@ page?: number; pageSize?: number; keyword?: string; category?: string; +status?: string; }; diff --git a/reading-platform-frontend/src/api/generated/model/getPackages1Params.ts b/reading-platform-frontend/src/api/generated/model/getPackages1Params.ts index 68f44c1..ae9ff2c 100644 --- a/reading-platform-frontend/src/api/generated/model/getPackages1Params.ts +++ b/reading-platform-frontend/src/api/generated/model/getPackages1Params.ts @@ -7,7 +7,7 @@ */ export type GetPackages1Params = { -pageNum?: number; +page?: number; pageSize?: number; keyword?: string; status?: string; diff --git a/reading-platform-frontend/src/api/generated/model/getReviewCoursePageParams.ts b/reading-platform-frontend/src/api/generated/model/getReviewCoursePageParams.ts new file mode 100644 index 0000000..349fd2e --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getReviewCoursePageParams.ts @@ -0,0 +1,12 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetReviewCoursePageParams = { +page?: number; +pageSize?: number; +}; diff --git a/reading-platform-frontend/src/api/generated/model/growthRecordCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/growthRecordCreateRequest.ts index 4c66fa5..9e47c7f 100644 --- a/reading-platform-frontend/src/api/generated/model/growthRecordCreateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/growthRecordCreateRequest.ts @@ -7,7 +7,7 @@ */ /** - * Growth Record Create Request + * 成长档案创建请求 */ export interface GrowthRecordCreateRequest { /** Student ID */ diff --git a/reading-platform-frontend/src/api/generated/model/growthRecordUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/growthRecordUpdateRequest.ts index 7f6ee83..ac0f1e8 100644 --- a/reading-platform-frontend/src/api/generated/model/growthRecordUpdateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/growthRecordUpdateRequest.ts @@ -7,19 +7,19 @@ */ /** - * Growth Record Update Request + * 成长档案更新请求 */ export interface GrowthRecordUpdateRequest { - /** Type */ + /** 类型 */ type?: string; - /** Title */ + /** 标题 */ title?: string; - /** Content */ + /** 内容 */ content?: string; - /** Images (JSON array) */ + /** 图片(JSON数组) */ images?: string; - /** Record date */ + /** 记录日期 */ recordDate?: string; - /** Tags */ + /** 标签 */ tags?: string[]; } diff --git a/reading-platform-frontend/src/api/generated/model/index.ts b/reading-platform-frontend/src/api/generated/model/index.ts index 243e987..381e4fd 100644 --- a/reading-platform-frontend/src/api/generated/model/index.ts +++ b/reading-platform-frontend/src/api/generated/model/index.ts @@ -6,6 +6,7 @@ * OpenAPI spec version: 1.0.0 */ +export * from './approveCourseParams'; export * from './bindStudentParams'; export * from './changePasswordParams'; export * from './classCreateRequest'; @@ -40,6 +41,7 @@ export * from './getPackagesParams'; export * from './getParentPageParams'; export * from './getPopularCoursesParams'; export * from './getRecentGrowthRecordsParams'; +export * from './getReviewCoursePageParams'; export * from './getSchedulePlans1Params'; export * from './getSchedulePlansParams'; export * from './getScheduleTemplatesParams'; @@ -80,6 +82,7 @@ export * from './pageResultTenant'; export * from './parent'; export * from './parentCreateRequest'; export * from './parentUpdateRequest'; +export * from './rejectCourseParams'; export * from './resetPassword1Params'; export * from './resetPasswordParams'; export * from './resourceItem'; @@ -137,6 +140,7 @@ export * from './resultTheme'; export * from './resultUserInfoResponse'; export * from './resultVoid'; export * from './resultVoidData'; +export * from './reviewPackageBody'; export * from './schedulePlan'; export * from './scheduleTemplate'; export * from './schoolCourse'; diff --git a/reading-platform-frontend/src/api/generated/model/lessonCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/lessonCreateRequest.ts index a5d816c..da7a55a 100644 --- a/reading-platform-frontend/src/api/generated/model/lessonCreateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/lessonCreateRequest.ts @@ -8,23 +8,23 @@ import type { LocalTime } from './localTime'; /** - * Lesson Create Request + * 课时创建请求 */ export interface LessonCreateRequest { - /** Course ID */ + /** 课程ID */ courseId: number; - /** Class ID */ + /** 班级ID */ classId?: number; - /** Teacher ID */ + /** 教师ID */ teacherId: number; - /** Lesson title */ + /** 课时标题 */ title: string; - /** Lesson date */ + /** 课时日期 */ lessonDate: string; startTime?: LocalTime; endTime?: LocalTime; - /** Location */ + /** 地点 */ location?: string; - /** Notes */ + /** 备注 */ notes?: string; } diff --git a/reading-platform-frontend/src/api/generated/model/lessonUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/lessonUpdateRequest.ts index 6fbe02d..fef7c38 100644 --- a/reading-platform-frontend/src/api/generated/model/lessonUpdateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/lessonUpdateRequest.ts @@ -8,7 +8,7 @@ import type { LocalTime } from './localTime'; /** - * Lesson Update Request + * 课时更新请求 */ export interface LessonUpdateRequest { /** Lesson title */ diff --git a/reading-platform-frontend/src/api/generated/model/loginRequest.ts b/reading-platform-frontend/src/api/generated/model/loginRequest.ts index 1280168..fe9a9c5 100644 --- a/reading-platform-frontend/src/api/generated/model/loginRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/loginRequest.ts @@ -7,13 +7,13 @@ */ /** - * Login Request + * 登录请求 */ export interface LoginRequest { - /** Username */ + /** 用户名 */ username: string; - /** Password */ + /** 密码 */ password: string; - /** Login role */ + /** 登录角色 */ role?: string; } diff --git a/reading-platform-frontend/src/api/generated/model/loginResponse.ts b/reading-platform-frontend/src/api/generated/model/loginResponse.ts index 40e6597..9c0afed 100644 --- a/reading-platform-frontend/src/api/generated/model/loginResponse.ts +++ b/reading-platform-frontend/src/api/generated/model/loginResponse.ts @@ -7,19 +7,19 @@ */ /** - * Login Response + * 登录响应 */ export interface LoginResponse { - /** JWT Token */ + /** JWT令牌 */ token?: string; - /** User ID */ + /** 用户ID */ userId?: number; - /** Username */ + /** 用户名 */ username?: string; - /** User name */ + /** 用户姓名 */ name?: string; - /** User role */ + /** 用户角色 */ role?: string; - /** Tenant ID */ + /** 租户ID */ tenantId?: number; } diff --git a/reading-platform-frontend/src/api/generated/model/parentCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/parentCreateRequest.ts index 2f83335..72e98ad 100644 --- a/reading-platform-frontend/src/api/generated/model/parentCreateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/parentCreateRequest.ts @@ -10,16 +10,16 @@ * Parent Create Request */ export interface ParentCreateRequest { - /** Username */ + /** 用户名 */ username: string; - /** Password */ + /** 密码 */ password: string; - /** Name */ + /** 姓名 */ name: string; - /** Phone */ + /** 电话 */ phone?: string; - /** Email */ + /** 邮箱 */ email?: string; - /** Gender */ + /** 性别 */ gender?: string; } diff --git a/reading-platform-frontend/src/api/generated/model/parentUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/parentUpdateRequest.ts index 9a56a0c..85f9262 100644 --- a/reading-platform-frontend/src/api/generated/model/parentUpdateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/parentUpdateRequest.ts @@ -7,19 +7,19 @@ */ /** - * Parent Update Request + * 家长更新请求 */ export interface ParentUpdateRequest { - /** Name */ + /** 姓名 */ name?: string; - /** Phone */ + /** 电话 */ phone?: string; - /** Email */ + /** 邮箱 */ email?: string; - /** Avatar URL */ + /** 头像URL */ avatarUrl?: string; - /** Gender */ + /** 性别 */ gender?: string; - /** Status */ + /** 状态 */ status?: string; } diff --git a/reading-platform-frontend/src/api/generated/model/rejectCourseParams.ts b/reading-platform-frontend/src/api/generated/model/rejectCourseParams.ts new file mode 100644 index 0000000..ed01577 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/rejectCourseParams.ts @@ -0,0 +1,11 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type RejectCourseParams = { +comment?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/reviewPackageBody.ts b/reading-platform-frontend/src/api/generated/model/reviewPackageBody.ts new file mode 100644 index 0000000..507228c --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/reviewPackageBody.ts @@ -0,0 +1,9 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type ReviewPackageBody = {[key: string]: { [key: string]: unknown }}; diff --git a/reading-platform-frontend/src/api/generated/model/studentCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/studentCreateRequest.ts index caf8653..f29edbc 100644 --- a/reading-platform-frontend/src/api/generated/model/studentCreateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/studentCreateRequest.ts @@ -7,7 +7,7 @@ */ /** - * Student Create Request + * 学生创建请求 */ export interface StudentCreateRequest { /** Name */ diff --git a/reading-platform-frontend/src/api/generated/model/studentUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/studentUpdateRequest.ts index ee744fc..2815cbf 100644 --- a/reading-platform-frontend/src/api/generated/model/studentUpdateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/studentUpdateRequest.ts @@ -7,27 +7,27 @@ */ /** - * Student Update Request + * 学生更新请求 */ export interface StudentUpdateRequest { - /** Name */ + /** 姓名 */ name?: string; - /** Gender */ + /** 性别 */ gender?: string; - /** Birth date */ + /** 出生日期 */ birthDate?: string; - /** Avatar URL */ + /** 头像URL */ avatarUrl?: string; - /** Grade */ + /** 年级 */ grade?: string; - /** Student number */ + /** 学号 */ studentNo?: string; - /** Reading level */ + /** 阅读水平 */ readingLevel?: string; - /** Interests */ + /** 兴趣爱好 */ interests?: string; - /** Notes */ + /** 备注 */ notes?: string; - /** Status */ + /** 状态 */ status?: string; } diff --git a/reading-platform-frontend/src/api/generated/model/taskCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/taskCreateRequest.ts index eff357a..90e36ec 100644 --- a/reading-platform-frontend/src/api/generated/model/taskCreateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/taskCreateRequest.ts @@ -7,25 +7,25 @@ */ /** - * Task Create Request + * 任务创建请求 */ export interface TaskCreateRequest { - /** Task title */ + /** 任务标题 */ title: string; - /** Description */ + /** 描述 */ description?: string; - /** Task type: reading, homework, activity */ + /** 任务类型: 阅读、作业、活动 */ type?: string; - /** Course ID */ + /** 课程ID */ courseId?: number; - /** Start date */ + /** 开始日期 */ startDate?: string; - /** Due date */ + /** 截止日期 */ dueDate?: string; - /** Attachments (JSON array) */ + /** 附件(JSON数组) */ attachments?: string; - /** Target type: class, student */ + /** 目标类型: 班级、学生 */ targetType?: string; - /** Target IDs */ + /** 目标ID列表 */ targetIds?: number[]; } diff --git a/reading-platform-frontend/src/api/generated/model/taskUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/taskUpdateRequest.ts index 8b8c6bc..cd484c0 100644 --- a/reading-platform-frontend/src/api/generated/model/taskUpdateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/taskUpdateRequest.ts @@ -7,21 +7,21 @@ */ /** - * Task Update Request + * 任务更新请求 */ export interface TaskUpdateRequest { - /** Task title */ + /** 任务标题 */ title?: string; - /** Description */ + /** 描述 */ description?: string; - /** Task type */ + /** 任务类型 */ type?: string; - /** Start date */ + /** 开始日期 */ startDate?: string; - /** Due date */ + /** 截止日期 */ dueDate?: string; - /** Status */ + /** 状态 */ status?: string; - /** Attachments (JSON array) */ + /** 附件(JSON数组) */ attachments?: string; } diff --git a/reading-platform-frontend/src/api/generated/model/teacherCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/teacherCreateRequest.ts index e9165de..a38ca3a 100644 --- a/reading-platform-frontend/src/api/generated/model/teacherCreateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/teacherCreateRequest.ts @@ -7,21 +7,21 @@ */ /** - * Teacher Create Request + * 教师创建请求 */ export interface TeacherCreateRequest { - /** Username */ + /** 用户名 */ username: string; - /** Password */ + /** 密码 */ password: string; - /** Name */ + /** 姓名 */ name: string; - /** Phone */ + /** 电话 */ phone?: string; - /** Email */ + /** 邮箱 */ email?: string; - /** Gender */ + /** 性别 */ gender?: string; - /** Bio */ + /** 个人简介 */ bio?: string; } diff --git a/reading-platform-frontend/src/api/generated/model/teacherUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/teacherUpdateRequest.ts index f371a7a..b62dd82 100644 --- a/reading-platform-frontend/src/api/generated/model/teacherUpdateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/teacherUpdateRequest.ts @@ -7,21 +7,21 @@ */ /** - * Teacher Update Request + * 教师更新请求 */ export interface TeacherUpdateRequest { - /** Name */ + /** 姓名 */ name?: string; - /** Phone */ + /** 电话 */ phone?: string; - /** Email */ + /** 邮箱 */ email?: string; - /** Avatar URL */ + /** 头像URL */ avatarUrl?: string; - /** Gender */ + /** 性别 */ gender?: string; - /** Bio */ + /** 个人简介 */ bio?: string; - /** Status */ + /** 状态 */ status?: string; } diff --git a/reading-platform-frontend/src/api/generated/model/tenantCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/tenantCreateRequest.ts index 126f235..eae0cc3 100644 --- a/reading-platform-frontend/src/api/generated/model/tenantCreateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/tenantCreateRequest.ts @@ -7,33 +7,33 @@ */ /** - * Tenant Create Request + * 租户创建请求 */ export interface TenantCreateRequest { - /** Tenant name */ + /** 租户名称 */ name: string; - /** Tenant code / login account */ + /** 租户编码 / 登录账号 */ code: string; - /** Contact person */ + /** 联系人 */ contactName?: string; - /** Contact phone */ + /** 联系电话 */ contactPhone?: string; - /** Contact email */ + /** 联系邮箱 */ contactEmail?: string; - /** Address */ + /** 地址 */ address?: string; /** Logo URL */ logoUrl?: string; - /** Expiration date */ + /** 过期日期 */ expireAt?: string; - /** Max students */ + /** 最大学生数 */ maxStudents?: number; - /** Max teachers */ + /** 最大教师数 */ maxTeachers?: number; - /** Initial password (default: 123456) */ + /** 初始密码(默认: 123456) */ password?: string; - /** Package type (optional) */ + /** 套餐类型(可选) */ packageType?: string; - /** Start date (optional) */ + /** 开始日期(可选) */ startDate?: string; } diff --git a/reading-platform-frontend/src/api/generated/model/tenantResponse.ts b/reading-platform-frontend/src/api/generated/model/tenantResponse.ts index 18918d5..f87aa3b 100644 --- a/reading-platform-frontend/src/api/generated/model/tenantResponse.ts +++ b/reading-platform-frontend/src/api/generated/model/tenantResponse.ts @@ -7,33 +7,33 @@ */ /** - * Tenant Response + * 租户响应 */ export interface TenantResponse { - /** Tenant ID */ + /** 租户ID */ id?: number; - /** Tenant name */ + /** 租户名称 */ name?: string; - /** Login account (tenant code) */ + /** 登录账号(租户编码) */ loginAccount?: string; - /** Contact person */ + /** 联系人 */ contactPerson?: string; - /** Contact phone */ + /** 联系电话 */ contactPhone?: string; - /** Contact email */ + /** 联系邮箱 */ contactEmail?: string; - /** Address */ + /** 地址 */ address?: string; /** Logo URL */ logoUrl?: string; - /** Status */ + /** 状态 */ status?: string; - /** Expiration date */ + /** 过期日期 */ expireDate?: string; - /** Max students / student quota */ + /** 最大学生数 / 学生配额 */ studentQuota?: number; - /** Max teachers / teacher quota */ + /** 最大教师数 / 教师配额 */ teacherQuota?: number; - /** Created at */ + /** 创建时间 */ createdAt?: string; } diff --git a/reading-platform-frontend/src/api/generated/model/tenantUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/tenantUpdateRequest.ts index 1b3ebab..579ff38 100644 --- a/reading-platform-frontend/src/api/generated/model/tenantUpdateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/tenantUpdateRequest.ts @@ -7,31 +7,31 @@ */ /** - * Tenant Update Request + * 租户更新请求 */ export interface TenantUpdateRequest { - /** Tenant name */ + /** 租户名称 */ name?: string; - /** Contact person */ + /** 联系人 */ contactName?: string; - /** Contact phone */ + /** 联系电话 */ contactPhone?: string; - /** Contact email */ + /** 联系邮箱 */ contactEmail?: string; - /** Address */ + /** 地址 */ address?: string; /** Logo URL */ logoUrl?: string; - /** Status */ + /** 状态 */ status?: string; - /** Expiration date */ + /** 过期日期 */ expireAt?: string; - /** Max students */ + /** 最大学生数 */ maxStudents?: number; - /** Max teachers */ + /** 最大教师数 */ maxTeachers?: number; - /** Package type (optional) */ + /** 套餐类型(可选) */ packageType?: string; - /** Start date (optional) */ + /** 开始日期(可选) */ startDate?: string; } diff --git a/reading-platform-frontend/src/api/generated/model/userInfoResponse.ts b/reading-platform-frontend/src/api/generated/model/userInfoResponse.ts index 394b443..fb4cf43 100644 --- a/reading-platform-frontend/src/api/generated/model/userInfoResponse.ts +++ b/reading-platform-frontend/src/api/generated/model/userInfoResponse.ts @@ -7,23 +7,23 @@ */ /** - * User Info Response + * 用户信息响应 */ export interface UserInfoResponse { - /** User ID */ + /** 用户ID */ id?: number; - /** Username */ + /** 用户名 */ username?: string; - /** User name */ + /** 用户姓名 */ name?: string; - /** Email */ + /** 邮箱 */ email?: string; - /** Phone */ + /** 电话 */ phone?: string; - /** Avatar URL */ + /** 头像URL */ avatarUrl?: string; - /** User role */ + /** 用户角色 */ role?: string; - /** Tenant ID */ + /** 租户ID */ tenantId?: number; }