openapi: 3.0.1 info: title: Reading Platform API description: Reading Platform Backend Service API Documentation contact: name: Reading Platform Team email: support@reading-platform.com version: 1.0.0 servers: - url: http://8.148.151.56:3002 description: Generated server url security: - Bearer: [] tags: - 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: 学校 - 设置 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: - 教师 - 任务 summary: 根据ID获取任务 operationId: getTask parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultTask' '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: updateTask parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskUpdateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultTask' '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: deleteTask 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/lessons/{id}: get: tags: - 教师 - 课时 summary: 根据ID获取课时 operationId: getLesson parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultLesson' '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: updateLesson parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/LessonUpdateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultLesson' '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/growth-records/{id}: get: tags: - 教师 - 成长档案 summary: 根据ID获取成长档案 operationId: getGrowthRecord parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultGrowthRecord' '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: updateGrowthRecord parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/GrowthRecordUpdateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultGrowthRecord' '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: deleteGrowthRecord 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/school/teachers/{id}: get: tags: - 学校 - 教师 summary: 根据ID获取教师 operationId: getTeacher parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultTeacher' '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: updateTeacher parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/TeacherUpdateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultTeacher' '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: deleteTeacher 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/school/tasks/{id}: get: tags: - 学校 - 任务 summary: 根据ID获取任务 operationId: getTask_1 parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultTask' '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: updateTask_1 parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskUpdateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultTask' '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: deleteTask_1 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/school/students/{id}: get: tags: - 学校 - 学生 summary: 根据ID获取学生 operationId: getStudent parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultStudent' '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: updateStudent parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/StudentUpdateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultStudent' '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: deleteStudent 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/school/settings: get: tags: - 学校 - 设置 summary: Get school settings operationId: getSettings responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultMapStringString' '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: Update school settings operationId: updateSettings requestBody: content: application/json: schema: type: object additionalProperties: type: string 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/school/school-courses/{id}: get: tags: - 学校 - 校本课程 summary: 根据ID获取校本课程 operationId: getCourse_2 parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultSchoolCourse' '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: updateCourse parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/SchoolCourse' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultSchoolCourse' '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: deleteCourse 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/school/schedules/{id}: get: tags: - 学校 - 课表 summary: 根据ID获取课表计划 operationId: getSchedulePlan_1 parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultSchedulePlan' '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: updateSchedulePlan parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/SchedulePlan' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultSchedulePlan' '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: deleteSchedulePlan 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/school/parents/{id}: get: tags: - 学校 - 家长 summary: Get parent by ID operationId: getParent parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultParent' '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: updateParent parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/ParentUpdateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultParent' '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: deleteParent 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/school/growth-records/{id}: get: tags: - 学校 - 成长档案 summary: 根据ID获取成长档案 operationId: getGrowthRecord_1 parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultGrowthRecord' '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: updateGrowthRecord_1 parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/GrowthRecordUpdateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultGrowthRecord' '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: deleteGrowthRecord_1 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/school/classes/{id}: get: tags: - 学校 - 班级 summary: Get class by ID operationId: getClass parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultClazz' '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: updateClass parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/ClassUpdateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultClazz' '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: deleteClass 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/parent/growth-records/{id}: get: tags: - Parent - Growth Record summary: 根据ID获取成长档案 operationId: getGrowthRecord_2 parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultGrowthRecord' '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: - Parent - Growth Record summary: 更新成长档案 operationId: updateGrowthRecord_2 parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/GrowthRecordUpdateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultGrowthRecord' '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: - Parent - Growth Record summary: 删除成长档案 operationId: deleteGrowthRecord_2 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/themes/{id}: get: tags: - 管理员 - 主题 summary: 根据ID获取主题 operationId: getTheme parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultTheme' '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: updateTheme parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/Theme' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultTheme' '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: deleteTheme 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/tenants/{id}: get: tags: - 管理员 - 租户 summary: 根据ID获取租户 operationId: getTenant parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultTenant' '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: updateTenant parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/TenantUpdateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultTenant' '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: deleteTenant 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/tenants/{id}/status: put: tags: - 管理员 - 租户 summary: 更新租户状态 operationId: updateTenantStatus parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: type: object additionalProperties: type: string required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultMapStringObject' '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/tenants/{id}/quota: put: tags: - 管理员 - 租户 summary: 更新租户配额 operationId: updateTenantQuota 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/ResultTenant' '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/settings: get: tags: - 管理员 - 设置 summary: 获取管理员系统设置 operationId: getSettings_1 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultMapStringString' '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: updateSettings_1 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/resources/libraries/{id}: put: tags: - 管理员 - 资源 summary: 更新资源库 operationId: updateLibrary parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/ResourceLibrary' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultResourceLibrary' '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: deleteLibrary 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/resources/items/{id}: put: tags: - 管理员 - 资源 summary: 更新资源项 operationId: updateItem parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/ResourceItem' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultResourceItem' '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: deleteItem 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}: 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: - 管理员 - 课程 summary: 根据ID获取课程 operationId: getCourse_3 parameters: - name: id in: path required: true schema: type: integer format: int64 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' put: tags: - 管理员 - 课程 summary: 更新课程 operationId: updateCourse_1 parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/CourseUpdateRequest' 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' delete: tags: - 管理员 - 课程 summary: 删除课程 operationId: deleteCourse_1 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/{id}: get: tags: - 管理员 - 课程课时 summary: 根据ID获取课时 operationId: getLesson_2 parameters: - name: courseId in: path required: true schema: type: integer format: int64 - name: id in: path required: true schema: type: integer format: int64 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' put: tags: - 管理员 - 课程课时 summary: 更新课程课时 operationId: updateLesson_1 parameters: - name: courseId in: path required: true schema: type: integer format: int64 - name: id 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' delete: tags: - 管理员 - 课程课时 summary: 删除课程课时 operationId: deleteLesson parameters: - name: courseId in: path required: true schema: type: integer format: int64 - 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: - 教师 - 任务 summary: 获取任务分页 operationId: getTaskPage 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: type 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/ResultPageResultTask' '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: createTask requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskCreateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultTask' '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/notifications/{id}/read: post: tags: - 教师 - 通知 summary: 标记通知为已读 operationId: markAsRead 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/notifications/read-all: post: tags: - 教师 - 通知 summary: 标记所有通知为已读 operationId: markAllAsRead 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/lessons: get: tags: - 教师 - 课时 summary: 获取我的课时 operationId: getMyLessons parameters: - name: page in: query required: false schema: type: integer format: int32 - name: pageSize in: query required: false schema: type: integer format: int32 - name: status in: query required: false schema: type: string - name: startDate in: query required: false schema: type: string format: date - name: endDate in: query required: false schema: type: string format: date responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultPageResultLesson' '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 requestBody: content: application/json: schema: $ref: '#/components/schemas/LessonCreateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultLesson' '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/lessons/{id}/start: post: tags: - 教师 - 课时 summary: 开始课时 operationId: startLesson 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/lessons/{id}/complete: post: tags: - 教师 - 课时 summary: Complete lesson operationId: completeLesson 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/lessons/{id}/cancel: post: tags: - 教师 - 课时 summary: 取消课时 operationId: cancelLesson 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/growth-records: get: tags: - 教师 - 成长档案 summary: 获取成长档案分页 operationId: getGrowthRecordPage parameters: - name: page in: query required: false schema: type: integer format: int32 - name: pageSize in: query required: false schema: type: integer format: int32 - name: studentId in: query required: false schema: type: integer format: int64 - name: type in: query required: false schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultPageResultGrowthRecord' '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: createGrowthRecord requestBody: content: application/json: schema: $ref: '#/components/schemas/GrowthRecordCreateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultGrowthRecord' '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/teachers: get: tags: - 学校 - 教师 summary: 获取教师分页 operationId: getTeacherPage 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: status in: query required: false schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultPageResultTeacher' '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: createTeacher requestBody: content: application/json: schema: $ref: '#/components/schemas/TeacherCreateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultTeacher' '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/teachers/{id}/reset-password: post: tags: - 学校 - 教师 summary: 重置教师密码 operationId: resetPassword parameters: - name: id in: path required: true schema: type: integer format: int64 - name: newPassword in: query required: true 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/school/tasks: get: tags: - 学校 - 任务 summary: 获取任务分页 operationId: getTaskPage_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: type 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/ResultPageResultTask' '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: createTask_1 requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskCreateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultTask' '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/students: get: tags: - 学校 - 学生 summary: 获取学生分页 operationId: getStudentPage 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: grade 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/ResultPageResultStudent' '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: createStudent requestBody: content: application/json: schema: $ref: '#/components/schemas/StudentCreateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultStudent' '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/school-courses: get: tags: - 学校 - 校本课程 summary: 获取校本课程 operationId: getCourses_1 parameters: - name: pageNum in: query required: false schema: type: integer format: int32 default: 1 - name: pageSize in: query required: false schema: type: integer format: int32 default: 20 - name: keyword in: query required: false schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultPageResultSchoolCourse' '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 requestBody: content: application/json: schema: $ref: '#/components/schemas/SchoolCourse' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultSchoolCourse' '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: get: tags: - 学校 - 课表 summary: 获取课表计划 operationId: getSchedulePlans_1 parameters: - name: pageNum in: query required: false schema: type: integer format: int32 default: 1 - name: pageSize in: query required: false schema: type: integer format: int32 default: 20 - name: classId in: query required: false schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultPageResultSchedulePlan' '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: createSchedulePlan requestBody: content: application/json: schema: $ref: '#/components/schemas/SchedulePlan' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultSchedulePlan' '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: get: tags: - 学校 - 课表 summary: 获取课表模板 operationId: getScheduleTemplates parameters: - name: pageNum in: query required: false schema: type: integer format: int32 default: 1 - name: pageSize in: query required: false schema: type: integer format: int32 default: 20 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultPageResultScheduleTemplate' '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: createScheduleTemplate requestBody: content: application/json: schema: $ref: '#/components/schemas/ScheduleTemplate' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultScheduleTemplate' '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/parents: get: tags: - 学校 - 家长 summary: 获取家长分页 operationId: getParentPage 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: status in: query required: false schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultPageResultParent' '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: createParent requestBody: content: application/json: schema: $ref: '#/components/schemas/ParentCreateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultParent' '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/parents/{parentId}/students/{studentId}: post: tags: - 学校 - 家长 summary: 绑定学生到家长 operationId: bindStudent parameters: - name: parentId in: path required: true schema: type: integer format: int64 - name: studentId in: path required: true schema: type: integer format: int64 - name: relationship in: query required: false schema: type: string - name: isPrimary in: query required: false schema: type: boolean 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' delete: tags: - 学校 - 家长 summary: 解绑家长与学生关系 operationId: unbindStudent parameters: - name: parentId in: path required: true schema: type: integer format: int64 - name: studentId 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/school/parents/{id}/reset-password: post: tags: - 学校 - 家长 summary: 重置家长密码 operationId: resetPassword_1 parameters: - name: id in: path required: true schema: type: integer format: int64 - name: newPassword in: query required: true 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/school/growth-records: get: tags: - 学校 - 成长档案 summary: 获取成长档案分页 operationId: getGrowthRecordPage_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: studentId in: query required: false schema: type: integer format: int64 - name: type in: query required: false schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultPageResultGrowthRecord' '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: createGrowthRecord_1 requestBody: content: application/json: schema: $ref: '#/components/schemas/GrowthRecordCreateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultGrowthRecord' '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/classes: get: tags: - 学校 - 班级 summary: Get class page operationId: getClassPage 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: grade 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/ResultPageResultClazz' '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: createClass requestBody: content: application/json: schema: $ref: '#/components/schemas/ClassCreateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultClazz' '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/classes/{id}/teachers: post: tags: - 学校 - 班级 summary: 分配教师到班级 operationId: assignTeachers parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: type: array items: type: integer format: int64 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/school/classes/{id}/students: post: tags: - 学校 - 班级 summary: 分配学生到班级 operationId: assignStudents parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: type: array items: type: integer format: int64 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/parent/tasks/{taskId}/complete: post: tags: - 家长 - 任务 summary: 完成任务 operationId: completeTask parameters: - name: taskId in: path required: true schema: type: integer format: int64 - name: studentId in: query required: true schema: type: integer format: int64 - name: content in: query required: false schema: type: string - name: attachments 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/parent/notifications/{id}/read: post: tags: - 家长 - 通知 summary: 标记通知为已读 operationId: markAsRead_1 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/parent/notifications/read-all: post: tags: - 家长 - 通知 summary: 标记所有通知为已读 operationId: markAllAsRead_1 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/parent/growth-records: post: tags: - Parent - Growth Record summary: 创建成长档案 operationId: createGrowthRecord_2 requestBody: content: application/json: schema: $ref: '#/components/schemas/GrowthRecordCreateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultGrowthRecord' '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/files/upload: post: tags: - 文件上传 summary: 上传文件 operationId: uploadFile requestBody: content: application/json: schema: required: - file type: object properties: file: type: string format: binary responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultMapStringString' '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/auth/logout: post: tags: - 认证 summary: 用户登出 operationId: logout 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/auth/login: post: tags: - 认证 summary: 用户登录 operationId: login requestBody: content: application/json: schema: $ref: '#/components/schemas/LoginRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultLoginResponse' '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/auth/change-password: post: tags: - 认证 summary: 修改密码 operationId: changePassword parameters: - name: oldPassword in: query required: true schema: type: string - name: newPassword in: query required: true 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/themes: get: tags: - 管理员 - 主题 summary: 获取所有主题 operationId: getThemes parameters: - name: enabledOnly in: query required: false schema: type: boolean responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultListTheme' '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: createTheme requestBody: content: application/json: schema: $ref: '#/components/schemas/Theme' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultTheme' '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/tenants: get: tags: - 管理员 - 租户 summary: 获取租户分页 operationId: getTenantPage 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: status in: query required: false schema: type: string - name: packageType in: query required: false schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultPageResultTenant' '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: createTenant requestBody: content: application/json: schema: $ref: '#/components/schemas/TenantCreateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultTenant' '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/tenants/{id}/reset-password: post: tags: - 管理员 - 租户 summary: 重置租户学校账号密码 operationId: resetTenantPassword parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultMapStringString' '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/resources/libraries: get: tags: - 管理员 - 资源 summary: 获取所有资源库 operationId: getLibraries parameters: - name: tenantId in: query required: false schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultListResourceLibrary' '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: createLibrary requestBody: content: application/json: schema: $ref: '#/components/schemas/ResourceLibrary' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultResourceLibrary' '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/resources/items: get: tags: - 管理员 - 资源 summary: 获取资源项 operationId: getItems parameters: - name: pageNum in: query required: false schema: type: integer format: int32 default: 1 - name: pageSize in: query required: false schema: type: integer format: int32 default: 20 - name: libraryId in: query required: false schema: type: integer format: int64 - name: keyword in: query required: false schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultPageResultResourceItem' '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: createItem requestBody: content: application/json: schema: $ref: '#/components/schemas/ResourceItem' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultResourceItem' '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: get: tags: - 管理员 - 课程包 summary: 获取课程包列表 operationId: getPackages_1 parameters: - name: page in: query required: false schema: type: integer format: int32 default: 1 - name: pageSize in: query required: false schema: type: integer format: int32 default: 20 - name: keyword 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/ResultPageResultCoursePackage' '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: createPackage 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' /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: - 教师 - 校本课程 summary: 获取校本课程 operationId: getCourses parameters: - name: pageNum in: query required: false schema: type: integer format: int32 default: 1 - name: pageSize in: query required: false schema: type: integer format: int32 default: 20 - name: keyword in: query required: false schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultPageResultSchoolCourse' '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/{id}: get: tags: - 教师 - 校本课程 summary: 根据ID获取校本课程 operationId: getCourse parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultSchoolCourse' '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/schedules: get: tags: - 教师 - 课表 summary: 获取教师课表计划 operationId: getSchedulePlans parameters: - name: pageNum in: query required: false schema: type: integer format: int32 default: 1 - name: pageSize in: query required: false schema: type: integer format: int32 default: 20 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultPageResultSchedulePlan' '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/schedules/{id}: get: tags: - 教师 - 课表 summary: 根据ID获取课表计划 operationId: getSchedulePlan parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultSchedulePlan' '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/notifications: get: tags: - 教师 - 通知 summary: 获取我的通知 operationId: getMyNotifications parameters: - name: page in: query required: false schema: type: integer format: int32 - name: pageSize in: query required: false schema: type: integer format: int32 - name: isRead in: query required: false schema: type: integer format: int32 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultPageResultNotification' '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/notifications/{id}: get: tags: - 教师 - 通知 summary: 根据ID获取通知 operationId: getNotification parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultNotification' '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/notifications/unread-count: get: tags: - 教师 - 通知 summary: 获取未读通知数量 operationId: getUnreadCount responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultLong' '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/lessons/today: get: tags: - 教师 - 课时 summary: 获取今天课时 operationId: getTodayLessons responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultListLesson' '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/dashboard: get: tags: - 教师 - 仪表盘 summary: 获取教师仪表盘概览 operationId: getDashboard responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultMapStringObject' '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/dashboard/weekly: get: tags: - 教师 - 仪表盘 summary: 获取本周课时 operationId: getWeeklyLessons responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultListMapStringObject' '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/dashboard/today: get: tags: - 教师 - 仪表盘 summary: 获取今天课时 operationId: getTodayLessons_1 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultListMapStringObject' '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/courses: get: tags: - 教师 - 课程 summary: 获取课程分页 operationId: getCoursePage 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' /api/v1/teacher/courses/{id}: get: tags: - 教师 - 课程 summary: 根据ID获取课程 operationId: getCourse_1 parameters: - name: id in: path required: true schema: type: integer format: int64 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/teacher/courses/{courseId}/lessons: get: tags: - 教师 - 课程课时 summary: 获取课程的课时列表 operationId: getLessons 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' /api/v1/teacher/courses/{courseId}/lessons/{id}: get: tags: - 教师 - 课程课时 summary: 根据ID获取课时 operationId: getLesson_1 parameters: - name: courseId in: path required: true schema: type: integer format: int64 - name: id in: path required: true schema: type: integer format: int64 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/courses/all: get: tags: - 教师 - 课程 summary: 获取所有课程 operationId: getAllCourses responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultListCourse' '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/stats: get: tags: - 学校 - 统计 summary: 获取学校统计数据 operationId: getStats responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultMapStringObject' '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/operation-logs: get: tags: - 学校 - 操作日志 summary: 获取学校操作日志 operationId: getLogs parameters: - name: pageNum in: query required: false schema: type: integer format: int32 default: 1 - name: pageSize in: query required: false schema: type: integer format: int32 default: 20 - name: module in: query required: false schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultPageResultOperationLog' '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/export/teachers: get: tags: - 学校 - 导出 summary: 导出教师信息到Excel operationId: exportTeachers responses: '200': description: OK content: '*/*': schema: type: array items: type: string format: byte '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/export/students: get: tags: - 学校 - 导出 summary: 导出学生信息到Excel operationId: exportStudents responses: '200': description: OK content: '*/*': schema: type: array items: type: string format: byte '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/export/lessons: get: tags: - 学校 - 导出 summary: 导出课时信息到Excel operationId: exportLessons responses: '200': description: OK content: '*/*': schema: type: array items: type: string format: byte '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/export/growth-records: get: tags: - 学校 - 导出 summary: 导出成长档案到Excel operationId: exportGrowthRecords responses: '200': description: OK content: '*/*': schema: type: array items: type: string format: byte '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/course-packages: get: tags: - 学校 - 课程包 summary: 获取可用课程包列表 operationId: getPackages parameters: - name: pageNum in: query required: false schema: type: integer format: int32 default: 1 - name: pageSize in: query required: false schema: type: integer format: int32 default: 20 - name: keyword in: query required: false schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultPageResultCoursePackage' '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/course-packages/{id}: get: tags: - 学校 - 课程包 summary: 根据ID获取课程包 operationId: getPackage 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' /api/v1/parent/tasks/{id}: get: tags: - 家长 - 任务 summary: 根据ID获取任务 operationId: getTask_2 parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultTask' '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/parent/tasks/student/{studentId}: get: tags: - 家长 - 任务 summary: 根据学生ID获取任务 operationId: getTasksByStudent parameters: - name: studentId in: path required: true schema: type: integer format: int64 - name: page in: query required: false schema: type: integer format: int32 - name: pageSize in: query required: false schema: type: integer format: int32 - name: status in: query required: false schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultPageResultTask' '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/parent/notifications: get: tags: - 家长 - 通知 summary: 获取我的通知 operationId: getMyNotifications_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: isRead in: query required: false schema: type: integer format: int32 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultPageResultNotification' '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/parent/notifications/{id}: get: tags: - 家长 - 通知 summary: 根据ID获取通知 operationId: getNotification_1 parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultNotification' '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/parent/notifications/unread-count: get: tags: - 家长 - 通知 summary: 获取未读通知数量 operationId: getUnreadCount_1 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultLong' '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/parent/growth-records/student/{studentId}: get: tags: - Parent - Growth Record summary: 根据学生ID获取成长档案 operationId: getGrowthRecordsByStudent parameters: - name: studentId in: path required: true schema: type: integer format: int64 - name: page in: query required: false schema: type: integer format: int32 - name: pageSize in: query required: false schema: type: integer format: int32 - name: type in: query required: false schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultPageResultGrowthRecord' '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/parent/growth-records/student/{studentId}/recent: get: tags: - Parent - Growth Record summary: 获取最近成长档案 operationId: getRecentGrowthRecords parameters: - name: studentId in: path required: true schema: type: integer format: int64 - name: limit in: query required: false schema: type: integer format: int32 default: 10 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultListGrowthRecord' '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/parent/children: get: tags: - 家长 - 孩子 summary: 获取我的孩子 operationId: getMyChildren responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultListStudent' '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/parent/children/{id}: get: tags: - 家长 - 孩子 summary: 根据ID获取孩子 operationId: getChild parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultStudent' '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/auth/me: get: tags: - 认证 summary: 获取当前用户信息 operationId: getCurrentUser responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultUserInfoResponse' '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/tenants/active: get: tags: - 管理员 - 租户 summary: 获取所有活跃租户 operationId: getAllActiveTenants responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultListTenantResponse' '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/stats: get: tags: - 管理员 - 统计 summary: 获取整体统计数据 operationId: getStats_1 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultMapStringObject' '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/stats/trend: get: tags: - 管理员 - 统计 summary: 获取趋势数据(近6个月) operationId: getTrendData responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultListMapStringObject' '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/stats/tenants/active: get: tags: - 管理员 - 统计 summary: 获取活跃租户 operationId: getActiveTenants parameters: - name: limit in: query required: false schema: type: integer format: int32 default: 10 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultListMapStringObject' '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/stats/courses/popular: get: tags: - 管理员 - 统计 summary: 获取热门课程 operationId: getPopularCourses parameters: - name: limit in: query required: false schema: type: integer format: int32 default: 10 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultListMapStringObject' '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/stats/activities: get: tags: - 管理员 - 统计 summary: 获取最近活动 operationId: getActivities parameters: - name: limit in: query required: false schema: type: integer format: int32 default: 10 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultListMapStringObject' '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/operation-logs: get: tags: - 管理员 - 操作日志 summary: 获取操作日志 operationId: getLogs_1 parameters: - name: pageNum in: query required: false schema: type: integer format: int32 default: 1 - name: pageSize in: query required: false schema: type: integer format: int32 default: 20 - name: tenantId in: query required: false schema: type: integer format: int64 - name: module in: query required: false schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResultPageResultOperationLog' '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/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: - 学校 - 课表 summary: 删除课表模板 operationId: deleteScheduleTemplate 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/files/delete: delete: tags: - 文件上传 summary: 删除文件 operationId: deleteFile parameters: - name: filePath in: query required: true 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' components: schemas: ResultVoid: type: object properties: code: type: integer format: int32 message: type: string data: type: object TaskUpdateRequest: type: object properties: title: type: string description: 任务标题 description: type: string description: 描述 type: type: string description: 任务类型 startDate: type: string description: 开始日期 format: date dueDate: type: string description: 截止日期 format: date status: type: string description: 状态 attachments: type: string description: 附件(JSON数组) description: 任务更新请求 ResultTask: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/Task' Task: type: object properties: id: type: integer format: int64 tenantId: type: integer format: int64 title: type: string description: type: string type: type: string courseId: type: integer format: int64 creatorId: type: integer format: int64 creatorRole: type: string startDate: type: string format: date dueDate: type: string format: date status: type: string attachments: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleted: type: integer format: int32 LessonUpdateRequest: type: object properties: title: type: string description: Lesson title lessonDate: type: string description: Lesson date format: date startTime: $ref: '#/components/schemas/LocalTime' endTime: $ref: '#/components/schemas/LocalTime' location: type: string description: Location status: type: string description: Status notes: type: string description: Notes description: 课时更新请求 LocalTime: type: object properties: hour: type: integer format: int32 minute: type: integer format: int32 second: type: integer format: int32 nano: type: integer format: int32 description: End time Lesson: type: object properties: id: type: integer format: int64 tenantId: type: integer format: int64 courseId: type: integer format: int64 classId: type: integer format: int64 teacherId: type: integer format: int64 title: type: string lessonDate: type: string format: date startTime: $ref: '#/components/schemas/LocalTime' endTime: $ref: '#/components/schemas/LocalTime' location: type: string status: type: string notes: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleted: type: integer format: int32 ResultLesson: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/Lesson' GrowthRecordUpdateRequest: type: object properties: type: type: string description: 类型 title: type: string description: 标题 content: type: string description: 内容 images: type: string description: 图片(JSON数组) recordDate: type: string description: 记录日期 format: date tags: type: array description: 标签 items: type: string description: 标签 description: 成长档案更新请求 GrowthRecord: type: object properties: id: type: integer format: int64 tenantId: type: integer format: int64 studentId: type: integer format: int64 type: type: string title: type: string content: type: string images: type: string recordedBy: type: integer format: int64 recorderRole: type: string recordDate: type: string format: date tags: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleted: type: integer format: int32 ResultGrowthRecord: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/GrowthRecord' TeacherUpdateRequest: type: object properties: name: type: string description: 姓名 phone: type: string description: 电话 email: type: string description: 邮箱 avatarUrl: type: string description: 头像URL gender: type: string description: 性别 bio: type: string description: 个人简介 status: type: string description: 状态 description: 教师更新请求 ResultTeacher: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/Teacher' Teacher: type: object properties: id: type: integer format: int64 tenantId: type: integer format: int64 username: type: string password: type: string name: type: string phone: type: string email: type: string avatarUrl: type: string gender: type: string bio: type: string status: type: string lastLoginAt: type: string format: date-time createdAt: type: string format: date-time updatedAt: type: string format: date-time deleted: type: integer format: int32 StudentUpdateRequest: type: object properties: name: type: string description: 姓名 gender: type: string description: 性别 birthDate: type: string description: 出生日期 format: date avatarUrl: type: string description: 头像URL grade: type: string description: 年级 studentNo: type: string description: 学号 readingLevel: type: string description: 阅读水平 interests: type: string description: 兴趣爱好 notes: type: string description: 备注 status: type: string description: 状态 description: 学生更新请求 ResultStudent: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/Student' Student: type: object properties: id: type: integer format: int64 tenantId: type: integer format: int64 name: type: string gender: type: string birthDate: type: string format: date avatarUrl: type: string grade: type: string studentNo: type: string readingLevel: type: string interests: type: string notes: type: string status: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleted: type: integer format: int32 SchoolCourse: type: object properties: id: type: integer format: int64 tenantId: type: integer format: int64 name: type: string description: type: string coverUrl: type: string category: type: string ageRange: type: string status: type: string createdBy: type: integer format: int64 createdAt: type: string format: date-time updatedAt: type: string format: date-time deleted: type: integer format: int32 ResultSchoolCourse: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/SchoolCourse' SchedulePlan: type: object properties: id: type: integer format: int64 tenantId: type: integer format: int64 name: type: string classId: type: integer format: int64 startDate: type: string format: date endDate: type: string format: date status: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleted: type: integer format: int32 ResultSchedulePlan: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/SchedulePlan' ParentUpdateRequest: type: object properties: name: type: string description: 姓名 phone: type: string description: 电话 email: type: string description: 邮箱 avatarUrl: type: string description: 头像URL gender: type: string description: 性别 status: type: string description: 状态 description: 家长更新请求 Parent: type: object properties: id: type: integer format: int64 tenantId: type: integer format: int64 username: type: string password: type: string name: type: string phone: type: string email: type: string avatarUrl: type: string gender: type: string status: type: string lastLoginAt: type: string format: date-time createdAt: type: string format: date-time updatedAt: type: string format: date-time deleted: type: integer format: int32 ResultParent: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/Parent' ClassUpdateRequest: type: object properties: name: type: string description: 班级名称 grade: type: string description: 年级 description: type: string description: 描述 capacity: type: integer description: 容量 format: int32 status: type: string description: 状态 description: 班级更新请求 Clazz: type: object properties: id: type: integer format: int64 tenantId: type: integer format: int64 name: type: string grade: type: string description: type: string capacity: type: integer format: int32 status: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleted: type: integer format: int32 ResultClazz: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/Clazz' Theme: type: object properties: id: type: integer format: int64 name: type: string displayName: type: string color: type: string icon: type: string sortOrder: type: integer format: int32 isEnabled: type: integer format: int32 createdAt: type: string format: date-time updatedAt: type: string format: date-time deleted: type: integer format: int32 ResultTheme: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/Theme' TenantUpdateRequest: type: object properties: name: type: string description: 租户名称 contactName: type: string description: 联系人 contactPhone: type: string description: 联系电话 contactEmail: type: string description: 联系邮箱 address: type: string description: 地址 logoUrl: type: string description: Logo URL status: type: string description: 状态 expireAt: type: string description: 过期日期 format: date-time maxStudents: type: integer description: 最大学生数 format: int32 maxTeachers: type: integer description: 最大教师数 format: int32 packageType: type: string description: 套餐类型(可选) startDate: type: string description: 开始日期(可选) description: 租户更新请求 ResultTenant: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/Tenant' Tenant: type: object properties: id: type: integer format: int64 name: type: string contactPhone: type: string contactEmail: type: string address: type: string logoUrl: type: string status: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleted: type: integer format: int32 tempPassword: type: string loginAccount: type: string contactPerson: type: string expireDate: type: string format: date-time studentQuota: type: integer format: int32 teacherQuota: type: integer format: int32 ResultMapStringObject: type: object properties: code: type: integer format: int32 message: type: string data: type: object additionalProperties: type: object ResourceLibrary: type: object properties: id: type: integer format: int64 tenantId: type: integer format: int64 name: type: string description: type: string type: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleted: type: integer format: int32 ResultResourceLibrary: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/ResourceLibrary' ResourceItem: type: object properties: id: type: integer format: int64 libraryId: type: integer format: int64 name: type: string code: type: string description: type: string quantity: type: integer format: int32 availableQuantity: type: integer format: int32 location: type: string status: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleted: type: integer format: int32 ResultResourceItem: type: object properties: code: type: integer format: int32 message: 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: 课程名称 code: type: string description: 课程编码 description: type: string description: 描述 coverUrl: type: string description: 封面URL coverImagePath: type: string description: 封面图片路径 category: type: string description: 分类 ageRange: type: string description: 年龄段 difficultyLevel: type: string description: 难度等级 durationMinutes: type: integer description: 时长(分钟) format: int32 objectives: type: string description: 教学目标 status: type: string description: 状态 coreContent: type: string description: 核心内容 introSummary: type: string description: 课程摘要 introHighlights: type: string description: 课程亮点 introGoals: type: string description: 课程目标 introSchedule: type: string description: 内容安排 introKeyPoints: type: string description: 重点难点 introMethods: type: string description: 教学方法 introEvaluation: type: string description: 评估方法 introNotes: type: string description: 注意事项 scheduleRefData: type: string description: 课表参考数据(JSON) environmentConstruction: type: string description: 环境创设内容 themeId: type: integer description: 主题ID format: int64 pictureBookName: type: string description: 绘本名称 ebookPaths: type: string description: 电子书路径(JSON数组) audioPaths: type: string description: 音频路径(JSON数组) videoPaths: type: string description: 视频路径(JSON数组) otherResources: type: string description: 其他资源(JSON数组) pptPath: type: string description: PPT文件路径 pptName: type: string description: PPT文件名 posterPaths: type: string description: 海报路径(JSON数组) tools: type: string description: 教具(JSON数组) studentMaterials: type: string description: 学生材料 lessonPlanData: type: string description: 教案数据(JSON) activitiesData: type: string description: 活动数据(JSON) assessmentData: type: string description: 评估数据(JSON) gradeTags: type: string description: 年级标签(JSON数组) domainTags: type: string description: 领域标签(JSON数组) hasCollectiveLesson: type: boolean description: 是否有集体课 description: 课程更新请求 Course: type: object properties: id: type: integer format: int64 tenantId: type: integer format: int64 name: type: string code: type: string description: type: string coverUrl: type: string category: type: string ageRange: type: string difficultyLevel: type: string durationMinutes: type: integer format: int32 objectives: type: string status: type: string isSystem: type: integer format: int32 coreContent: type: string introSummary: type: string introHighlights: type: string introGoals: type: string introSchedule: type: string introKeyPoints: type: string introMethods: type: string introEvaluation: type: string introNotes: type: string scheduleRefData: type: string environmentConstruction: type: string themeId: type: integer format: int64 pictureBookName: type: string coverImagePath: type: string ebookPaths: type: string audioPaths: type: string videoPaths: type: string otherResources: type: string pptPath: type: string pptName: type: string posterPaths: type: string tools: type: string studentMaterials: type: string lessonPlanData: type: string activitiesData: type: string assessmentData: type: string gradeTags: type: string domainTags: type: string hasCollectiveLesson: type: integer format: int32 version: type: string parentId: type: integer format: int64 isLatest: type: integer format: int32 submittedAt: type: string format: date-time submittedBy: type: integer format: int64 reviewedAt: type: string format: date-time reviewedBy: type: integer format: int64 reviewComment: type: string reviewChecklist: type: string publishedAt: type: string format: date-time usageCount: type: integer format: int32 teacherCount: type: integer format: int32 avgRating: type: number createdBy: type: integer format: int64 createdAt: type: string format: date-time updatedAt: type: string format: date-time deleted: type: integer format: int32 ResultCourse: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/Course' CourseLesson: type: object properties: id: type: integer format: int64 courseId: type: integer format: int64 title: type: string description: type: string content: type: string sortOrder: type: integer format: int32 durationMinutes: type: integer format: int32 videoUrl: type: string status: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleted: type: integer format: int32 ResultCourseLesson: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/CourseLesson' TaskCreateRequest: required: - title type: object properties: title: type: string description: 任务标题 description: type: string description: 描述 type: type: string description: '任务类型: 阅读、作业、活动' courseId: type: integer description: 课程ID format: int64 startDate: type: string description: 开始日期 format: date dueDate: type: string description: 截止日期 format: date attachments: type: string description: 附件(JSON数组) targetType: type: string description: '目标类型: 班级、学生' targetIds: type: array description: 目标ID列表 items: type: integer description: 目标ID列表 format: int64 description: 任务创建请求 LessonCreateRequest: required: - courseId - lessonDate - teacherId - title type: object properties: courseId: type: integer description: 课程ID format: int64 classId: type: integer description: 班级ID format: int64 teacherId: type: integer description: 教师ID format: int64 title: type: string description: 课时标题 lessonDate: type: string description: 课时日期 format: date startTime: $ref: '#/components/schemas/LocalTime' endTime: $ref: '#/components/schemas/LocalTime' location: type: string description: 地点 notes: type: string description: 备注 description: 课时创建请求 GrowthRecordCreateRequest: required: - studentId - title - type type: object properties: studentId: type: integer description: Student ID format: int64 type: type: string description: 'Type: reading, behavior, achievement, milestone' title: type: string description: Title content: type: string description: Content images: type: string description: Images (JSON array) recordDate: type: string description: Record date format: date tags: type: array description: Tags items: type: string description: Tags description: 成长档案创建请求 TeacherCreateRequest: required: - name - password - username type: object properties: username: type: string description: 用户名 password: type: string description: 密码 name: type: string description: 姓名 phone: type: string description: 电话 email: type: string description: 邮箱 gender: type: string description: 性别 bio: type: string description: 个人简介 description: 教师创建请求 StudentCreateRequest: required: - name type: object properties: name: type: string description: Name gender: type: string description: Gender birthDate: type: string description: Birth date format: date grade: type: string description: Grade studentNo: type: string description: Student number readingLevel: type: string description: Reading level interests: type: string description: Interests notes: type: string description: Notes description: 学生创建请求 ScheduleTemplate: type: object properties: id: type: integer format: int64 tenantId: type: integer format: int64 name: type: string description: type: string content: type: string isPublic: type: integer format: int32 createdAt: type: string format: date-time updatedAt: type: string format: date-time deleted: type: integer format: int32 ResultScheduleTemplate: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/ScheduleTemplate' ParentCreateRequest: required: - name - password - username type: object properties: username: type: string description: 用户名 password: type: string description: 密码 name: type: string description: 姓名 phone: type: string description: 电话 email: type: string description: 邮箱 gender: type: string description: 性别 description: Parent Create Request ClassCreateRequest: required: - name type: object properties: name: type: string description: 班级名称 grade: type: string description: 年级 description: type: string description: 描述 capacity: type: integer description: 容量 format: int32 description: 班级创建请求 ResultMapStringString: type: object properties: code: type: integer format: int32 message: type: string data: type: object additionalProperties: type: string LoginRequest: required: - password - username type: object properties: username: type: string description: 用户名 example: admin password: type: string description: 密码 example: admin123 role: type: string description: 登录角色 example: admin description: 登录请求 LoginResponse: type: object properties: token: type: string description: JWT令牌 userId: type: integer description: 用户ID format: int64 username: type: string description: 用户名 name: type: string description: 用户姓名 role: type: string description: 用户角色 tenantId: type: integer description: 租户ID format: int64 description: 登录响应 ResultLoginResponse: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/LoginResponse' TenantCreateRequest: required: - code - name type: object properties: name: type: string description: 租户名称 code: type: string description: 租户编码 / 登录账号 contactName: type: string description: 联系人 contactPhone: type: string description: 联系电话 contactEmail: type: string description: 联系邮箱 address: type: string description: 地址 logoUrl: type: string description: Logo URL expireAt: type: string description: 过期日期 format: date-time maxStudents: type: integer description: 最大学生数 format: int32 maxTeachers: type: integer description: 最大教师数 format: int32 password: type: string description: '初始密码(默认: 123456)' packageType: type: string description: 套餐类型(可选) startDate: type: string description: 开始日期(可选) description: 租户创建请求 CourseCreateRequest: required: - name type: object properties: name: type: string description: 课程名称 code: type: string description: 课程编码 description: type: string description: 描述 coverUrl: type: string description: 封面URL coverImagePath: type: string description: 封面图片路径 category: type: string description: 分类 ageRange: type: string description: 年龄段 difficultyLevel: type: string description: 难度等级 durationMinutes: type: integer description: 时长(分钟) format: int32 objectives: type: string description: 教学目标 coreContent: type: string description: 核心内容 introSummary: type: string description: 课程摘要 introHighlights: type: string description: 课程亮点 introGoals: type: string description: 课程目标 introSchedule: type: string description: 内容安排 introKeyPoints: type: string description: 重点难点 introMethods: type: string description: 教学方法 introEvaluation: type: string description: 评估方法 introNotes: type: string description: 注意事项 scheduleRefData: type: string description: 课表参考数据(JSON) environmentConstruction: type: string description: 环境创设内容 themeId: type: integer description: 主题ID format: int64 pictureBookName: type: string description: 绘本名称 ebookPaths: type: string description: 电子书路径(JSON数组) audioPaths: type: string description: 音频路径(JSON数组) videoPaths: type: string description: 视频路径(JSON数组) otherResources: type: string description: 其他资源(JSON数组) pptPath: type: string description: PPT文件路径 pptName: type: string description: PPT文件名 posterPaths: type: string description: 海报路径(JSON数组) tools: type: string description: 教具(JSON数组) studentMaterials: type: string description: 学生材料 lessonPlanData: type: string description: 教案数据(JSON) activitiesData: type: string description: 活动数据(JSON) assessmentData: type: string description: 评估数据(JSON) gradeTags: type: string description: 年级标签(JSON数组) domainTags: type: string description: 领域标签(JSON数组) hasCollectiveLesson: type: boolean description: 是否有集体课 description: 课程创建请求 PageResultTask: type: object properties: total: type: integer format: int64 pageSize: type: integer format: int64 items: type: array items: $ref: '#/components/schemas/Task' page: type: integer format: int64 totalPages: type: integer format: int64 ResultPageResultTask: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/PageResultTask' PageResultSchoolCourse: type: object properties: total: type: integer format: int64 pageSize: type: integer format: int64 items: type: array items: $ref: '#/components/schemas/SchoolCourse' page: type: integer format: int64 totalPages: type: integer format: int64 ResultPageResultSchoolCourse: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/PageResultSchoolCourse' PageResultSchedulePlan: type: object properties: total: type: integer format: int64 pageSize: type: integer format: int64 items: type: array items: $ref: '#/components/schemas/SchedulePlan' page: type: integer format: int64 totalPages: type: integer format: int64 ResultPageResultSchedulePlan: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/PageResultSchedulePlan' Notification: type: object properties: id: type: integer format: int64 tenantId: type: integer format: int64 title: type: string content: type: string type: type: string senderId: type: integer format: int64 senderRole: type: string recipientType: type: string recipientId: type: integer format: int64 isRead: type: integer format: int32 readAt: type: string format: date-time createdAt: type: string format: date-time deleted: type: integer format: int32 PageResultNotification: type: object properties: total: type: integer format: int64 pageSize: type: integer format: int64 items: type: array items: $ref: '#/components/schemas/Notification' page: type: integer format: int64 totalPages: type: integer format: int64 ResultPageResultNotification: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/PageResultNotification' ResultNotification: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/Notification' ResultLong: type: object properties: code: type: integer format: int32 message: type: string data: type: integer format: int64 PageResultLesson: type: object properties: total: type: integer format: int64 pageSize: type: integer format: int64 items: type: array items: $ref: '#/components/schemas/Lesson' page: type: integer format: int64 totalPages: type: integer format: int64 ResultPageResultLesson: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/PageResultLesson' ResultListLesson: type: object properties: code: type: integer format: int32 message: type: string data: type: array items: $ref: '#/components/schemas/Lesson' PageResultGrowthRecord: type: object properties: total: type: integer format: int64 pageSize: type: integer format: int64 items: type: array items: $ref: '#/components/schemas/GrowthRecord' page: type: integer format: int64 totalPages: type: integer format: int64 ResultPageResultGrowthRecord: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/PageResultGrowthRecord' ResultListMapStringObject: type: object properties: code: type: integer format: int32 message: type: string data: type: array items: type: object additionalProperties: type: object PageResultCourse: type: object properties: total: type: integer format: int64 pageSize: type: integer format: int64 items: type: array items: $ref: '#/components/schemas/Course' page: type: integer format: int64 totalPages: type: integer format: int64 ResultPageResultCourse: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/PageResultCourse' ResultListCourseLesson: type: object properties: code: type: integer format: int32 message: type: string data: type: array items: $ref: '#/components/schemas/CourseLesson' ResultListCourse: type: object properties: code: type: integer format: int32 message: type: string data: type: array items: $ref: '#/components/schemas/Course' PageResultTeacher: type: object properties: total: type: integer format: int64 pageSize: type: integer format: int64 items: type: array items: $ref: '#/components/schemas/Teacher' page: type: integer format: int64 totalPages: type: integer format: int64 ResultPageResultTeacher: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/PageResultTeacher' PageResultStudent: type: object properties: total: type: integer format: int64 pageSize: type: integer format: int64 items: type: array items: $ref: '#/components/schemas/Student' page: type: integer format: int64 totalPages: type: integer format: int64 ResultPageResultStudent: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/PageResultStudent' PageResultScheduleTemplate: type: object properties: total: type: integer format: int64 pageSize: type: integer format: int64 items: type: array items: $ref: '#/components/schemas/ScheduleTemplate' page: type: integer format: int64 totalPages: type: integer format: int64 ResultPageResultScheduleTemplate: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/PageResultScheduleTemplate' PageResultParent: type: object properties: total: type: integer format: int64 pageSize: type: integer format: int64 items: type: array items: $ref: '#/components/schemas/Parent' page: type: integer format: int64 totalPages: type: integer format: int64 ResultPageResultParent: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/PageResultParent' OperationLog: type: object properties: id: type: integer format: int64 tenantId: type: integer format: int64 userId: type: integer format: int64 userRole: type: string action: type: string module: type: string targetType: type: string targetId: type: integer format: int64 details: type: string ipAddress: type: string userAgent: type: string createdAt: type: string format: date-time PageResultOperationLog: type: object properties: total: type: integer format: int64 pageSize: type: integer format: int64 items: type: array items: $ref: '#/components/schemas/OperationLog' page: type: integer format: int64 totalPages: type: integer format: int64 ResultPageResultOperationLog: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/PageResultOperationLog' PageResultCoursePackage: type: object properties: total: type: integer format: int64 pageSize: type: integer format: int64 items: type: array items: $ref: '#/components/schemas/CoursePackage' page: type: integer format: int64 totalPages: type: integer format: int64 ResultPageResultCoursePackage: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/PageResultCoursePackage' PageResultClazz: type: object properties: total: type: integer format: int64 pageSize: type: integer format: int64 items: type: array items: $ref: '#/components/schemas/Clazz' page: type: integer format: int64 totalPages: type: integer format: int64 ResultPageResultClazz: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/PageResultClazz' ResultListGrowthRecord: type: object properties: code: type: integer format: int32 message: type: string data: type: array items: $ref: '#/components/schemas/GrowthRecord' ResultListStudent: type: object properties: code: type: integer format: int32 message: type: string data: type: array items: $ref: '#/components/schemas/Student' ResultUserInfoResponse: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/UserInfoResponse' UserInfoResponse: type: object properties: id: type: integer description: 用户ID format: int64 username: type: string description: 用户名 name: type: string description: 用户姓名 email: type: string description: 邮箱 phone: type: string description: 电话 avatarUrl: type: string description: 头像URL role: type: string description: 用户角色 tenantId: type: integer description: 租户ID format: int64 description: 用户信息响应 ResultListTheme: type: object properties: code: type: integer format: int32 message: type: string data: type: array items: $ref: '#/components/schemas/Theme' PageResultTenant: type: object properties: total: type: integer format: int64 pageSize: type: integer format: int64 items: type: array items: $ref: '#/components/schemas/Tenant' page: type: integer format: int64 totalPages: type: integer format: int64 ResultPageResultTenant: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/PageResultTenant' ResultListTenantResponse: type: object properties: code: type: integer format: int32 message: type: string data: type: array items: $ref: '#/components/schemas/TenantResponse' TenantResponse: type: object properties: id: type: integer description: 租户ID format: int64 name: type: string description: 租户名称 loginAccount: type: string description: 登录账号(租户编码) contactPerson: type: string description: 联系人 contactPhone: type: string description: 联系电话 contactEmail: type: string description: 联系邮箱 address: type: string description: 地址 logoUrl: type: string description: Logo URL status: type: string description: 状态 expireDate: type: string description: 过期日期 format: date-time studentQuota: type: integer description: 最大学生数 / 学生配额 format: int32 teacherQuota: type: integer description: 最大教师数 / 教师配额 format: int32 createdAt: type: string description: 创建时间 format: date-time description: 租户响应 ResultListResourceLibrary: type: object properties: code: type: integer format: int32 message: type: string data: type: array items: $ref: '#/components/schemas/ResourceLibrary' PageResultResourceItem: type: object properties: total: type: integer format: int64 pageSize: type: integer format: int64 items: type: array items: $ref: '#/components/schemas/ResourceItem' page: type: integer format: int64 totalPages: type: integer format: int64 ResultPageResultResourceItem: type: object properties: code: type: integer format: int32 message: type: string data: $ref: '#/components/schemas/PageResultResourceItem' securitySchemes: Bearer: type: http scheme: bearer bearerFormat: JWT x-openapi: x-setting: customCode: 200 language: zh-CN enableSwaggerModels: true swaggerModelName: Swagger Models enableReloadCacheParameter: false enableAfterScript: true enableDocumentManage: true enableVersion: false enableRequestCache: true enableFilterMultipartApis: false enableFilterMultipartApiMethodType: POST enableHost: false enableHostText: '' enableDynamicParameter: false enableDebug: true enableFooter: true enableFooterCustom: false enableSearch: true enableOpenApi: true enableHomeCustom: false enableGroup: true enableResponseCode: true x-markdownFiles: []