From aa71d18dd438b1229e614eaa3e4bb28868b27541 Mon Sep 17 00:00:00 2001 From: zhonghua Date: Tue, 10 Mar 2026 17:28:31 +0800 Subject: [PATCH] =?UTF-8?q?feat(stats):=20=E5=AE=8C=E5=96=84=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E7=BB=9F=E8=AE=A1=E4=B8=8E=E4=BB=BB=E5=8A=A1=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made-with: Cursor --- reading-platform-frontend/api-spec.yml | 2889 ++++++++++++++++- reading-platform-frontend/src/api/admin.ts | 98 +- reading-platform-frontend/src/api/auth.ts | 50 +- reading-platform-frontend/src/api/client.ts | 24 + reading-platform-frontend/src/api/course.ts | 133 +- .../src/api/generated/api.ts | 661 +++- .../generated/model/approveCourseParams.ts | 2 +- .../api/generated/model/bindStudentParams.ts | 2 +- .../generated/model/changePasswordParams.ts | 2 +- .../api/generated/model/classCreateRequest.ts | 2 +- .../api/generated/model/classUpdateRequest.ts | 2 +- .../src/api/generated/model/clazz.ts | 2 +- .../api/generated/model/completeTaskParams.ts | 2 +- .../src/api/generated/model/course.ts | 2 +- .../generated/model/courseCreateRequest.ts | 2 +- .../src/api/generated/model/courseLesson.ts | 2 +- .../src/api/generated/model/coursePackage.ts | 2 +- .../generated/model/courseUpdateRequest.ts | 2 +- .../model/createTaskFromTemplateRequest.ts | 23 + .../api/generated/model/deleteFileParams.ts | 2 +- .../model/getActiveTeachersParams.ts | 11 + .../generated/model/getActiveTenantsParams.ts | 2 +- .../generated/model/getActivitiesParams.ts | 2 +- .../api/generated/model/getClassPageParams.ts | 2 +- .../generated/model/getCompletions1Params.ts | 13 + .../generated/model/getCompletionsParams.ts | 13 + .../generated/model/getCoursePage1Params.ts | 2 +- .../generated/model/getCoursePageParams.ts | 2 +- .../api/generated/model/getCourses1Params.ts | 2 +- .../api/generated/model/getCoursesParams.ts | 2 +- .../model/getGrowthRecordPage1Params.ts | 2 +- .../model/getGrowthRecordPageParams.ts | 2 +- .../model/getGrowthRecordsByStudentParams.ts | 2 +- .../src/api/generated/model/getItemsParams.ts | 2 +- .../generated/model/getLessonTrendParams.ts | 11 + .../api/generated/model/getLibrariesParams.ts | 2 +- .../src/api/generated/model/getLogs1Params.ts | 2 +- .../src/api/generated/model/getLogsParams.ts | 2 +- .../generated/model/getMonthlyStats1Params.ts | 11 + .../generated/model/getMonthlyStatsParams.ts | 11 + .../api/generated/model/getMyLessonsParams.ts | 2 +- .../model/getMyNotifications1Params.ts | 2 +- .../model/getMyNotifications2Params.ts | 13 + .../model/getMyNotificationsParams.ts | 2 +- .../api/generated/model/getPackages1Params.ts | 2 +- .../api/generated/model/getPackagesParams.ts | 2 +- .../generated/model/getParentPageParams.ts | 2 +- .../model/getPopularCoursesParams.ts | 2 +- .../model/getRecentActivitiesParams.ts | 11 + .../model/getRecentGrowthRecordsParams.ts | 2 +- .../model/getReviewCoursePageParams.ts | 2 +- .../model/getSchedulePlans1Params.ts | 4 +- .../generated/model/getSchedulePlansParams.ts | 2 +- .../model/getScheduleTemplatesParams.ts | 2 +- .../generated/model/getStudentPageParams.ts | 2 +- .../api/generated/model/getTaskPage1Params.ts | 2 +- .../api/generated/model/getTaskPageParams.ts | 2 +- .../model/getTasksByStudentParams.ts | 2 +- .../generated/model/getTeacherPageParams.ts | 2 +- .../generated/model/getTemplates1Params.ts | 14 + .../api/generated/model/getTemplatesParams.ts | 14 + .../generated/model/getTenantPageParams.ts | 2 +- .../api/generated/model/getThemesParams.ts | 2 +- .../api/generated/model/getTimetableParams.ts | 13 + .../src/api/generated/model/growthRecord.ts | 2 +- .../model/growthRecordCreateRequest.ts | 2 +- .../model/growthRecordUpdateRequest.ts | 2 +- .../src/api/generated/model/index.ts | 29 +- .../src/api/generated/model/lesson.ts | 2 +- .../generated/model/lessonCreateRequest.ts | 2 +- .../generated/model/lessonUpdateRequest.ts | 2 +- .../src/api/generated/model/localTime.ts | 2 +- .../src/api/generated/model/loginRequest.ts | 2 +- .../src/api/generated/model/loginResponse.ts | 2 +- .../src/api/generated/model/notification.ts | 2 +- .../src/api/generated/model/operationLog.ts | 2 +- .../api/generated/model/pageResultClazz.ts | 2 +- .../api/generated/model/pageResultCourse.ts | 2 +- .../model/pageResultCoursePackage.ts | 2 +- .../generated/model/pageResultGrowthRecord.ts | 2 +- .../api/generated/model/pageResultLesson.ts | 2 +- .../generated/model/pageResultNotification.ts | 2 +- .../generated/model/pageResultOperationLog.ts | 2 +- .../api/generated/model/pageResultParent.ts | 2 +- .../generated/model/pageResultResourceItem.ts | 2 +- .../generated/model/pageResultSchedulePlan.ts | 2 +- .../model/pageResultScheduleTemplate.ts | 2 +- .../generated/model/pageResultSchoolCourse.ts | 2 +- .../api/generated/model/pageResultStudent.ts | 2 +- .../src/api/generated/model/pageResultTask.ts | 2 +- .../model/pageResultTaskCompletion.ts | 16 + .../generated/model/pageResultTaskTemplate.ts | 16 + .../api/generated/model/pageResultTeacher.ts | 2 +- .../api/generated/model/pageResultTenant.ts | 2 +- .../src/api/generated/model/parent.ts | 2 +- .../generated/model/parentCreateRequest.ts | 2 +- .../generated/model/parentUpdateRequest.ts | 2 +- .../api/generated/model/rejectCourseParams.ts | 2 +- .../generated/model/resetPassword1Params.ts | 2 +- .../generated/model/resetPasswordParams.ts | 2 +- .../src/api/generated/model/resourceItem.ts | 2 +- .../api/generated/model/resourceLibrary.ts | 2 +- .../src/api/generated/model/resultClazz.ts | 2 +- .../src/api/generated/model/resultCourse.ts | 2 +- .../api/generated/model/resultCourseLesson.ts | 2 +- .../generated/model/resultCoursePackage.ts | 2 +- .../api/generated/model/resultGrowthRecord.ts | 2 +- .../src/api/generated/model/resultLesson.ts | 2 +- .../api/generated/model/resultListCourse.ts | 2 +- .../generated/model/resultListCourseLesson.ts | 2 +- .../generated/model/resultListGrowthRecord.ts | 2 +- .../api/generated/model/resultListLesson.ts | 2 +- .../model/resultListMapStringObject.ts | 2 +- .../resultListMapStringObjectDataItem.ts | 2 +- .../model/resultListResourceLibrary.ts | 2 +- .../generated/model/resultListSchedulePlan.ts | 14 + .../api/generated/model/resultListStudent.ts | 2 +- .../model/resultListTenantResponse.ts | 2 +- .../api/generated/model/resultListTheme.ts | 2 +- .../generated/model/resultLoginResponse.ts | 2 +- .../src/api/generated/model/resultLong.ts | 2 +- .../generated/model/resultMapStringObject.ts | 2 +- .../model/resultMapStringObjectData.ts | 2 +- .../generated/model/resultMapStringString.ts | 2 +- .../model/resultMapStringStringData.ts | 2 +- .../api/generated/model/resultNotification.ts | 2 +- .../generated/model/resultPageResultClazz.ts | 2 +- .../generated/model/resultPageResultCourse.ts | 2 +- .../model/resultPageResultCoursePackage.ts | 2 +- .../model/resultPageResultGrowthRecord.ts | 2 +- .../generated/model/resultPageResultLesson.ts | 2 +- .../model/resultPageResultNotification.ts | 2 +- .../model/resultPageResultOperationLog.ts | 2 +- .../generated/model/resultPageResultParent.ts | 2 +- .../model/resultPageResultResourceItem.ts | 2 +- .../model/resultPageResultSchedulePlan.ts | 2 +- .../model/resultPageResultScheduleTemplate.ts | 2 +- .../model/resultPageResultSchoolCourse.ts | 2 +- .../model/resultPageResultStudent.ts | 2 +- .../generated/model/resultPageResultTask.ts | 2 +- .../model/resultPageResultTaskCompletion.ts | 14 + .../model/resultPageResultTaskTemplate.ts | 14 + .../model/resultPageResultTeacher.ts | 2 +- .../generated/model/resultPageResultTenant.ts | 2 +- .../src/api/generated/model/resultParent.ts | 2 +- .../api/generated/model/resultResourceItem.ts | 2 +- .../generated/model/resultResourceLibrary.ts | 2 +- .../api/generated/model/resultSchedulePlan.ts | 2 +- .../generated/model/resultScheduleTemplate.ts | 2 +- .../api/generated/model/resultSchoolCourse.ts | 2 +- .../src/api/generated/model/resultStudent.ts | 2 +- .../src/api/generated/model/resultTask.ts | 2 +- .../generated/model/resultTaskCompletion.ts | 14 + .../api/generated/model/resultTaskTemplate.ts | 14 + .../src/api/generated/model/resultTeacher.ts | 2 +- .../src/api/generated/model/resultTenant.ts | 2 +- .../src/api/generated/model/resultTheme.ts | 2 +- .../generated/model/resultUserInfoResponse.ts | 2 +- .../src/api/generated/model/resultVoid.ts | 2 +- .../src/api/generated/model/resultVoidData.ts | 2 +- .../api/generated/model/reviewPackageBody.ts | 2 +- .../src/api/generated/model/schedulePlan.ts | 11 +- .../model/schedulePlanCreateRequest.ts | 34 + .../api/generated/model/scheduleTemplate.ts | 2 +- .../model/scheduleTemplateApplyRequest.ts | 19 + .../src/api/generated/model/schoolCourse.ts | 2 +- .../src/api/generated/model/student.ts | 2 +- .../generated/model/studentCreateRequest.ts | 2 +- .../generated/model/studentUpdateRequest.ts | 2 +- .../src/api/generated/model/task.ts | 2 +- .../src/api/generated/model/taskCompletion.ts | 22 + .../api/generated/model/taskCreateRequest.ts | 2 +- .../src/api/generated/model/taskTemplate.ts | 20 + .../model/taskTemplateCreateRequest.ts | 23 + .../model/taskTemplateUpdateRequest.ts | 23 + .../api/generated/model/taskUpdateRequest.ts | 2 +- .../src/api/generated/model/teacher.ts | 2 +- .../generated/model/teacherCreateRequest.ts | 2 +- .../generated/model/teacherUpdateRequest.ts | 2 +- .../src/api/generated/model/tenant.ts | 2 +- .../generated/model/tenantCreateRequest.ts | 2 +- .../src/api/generated/model/tenantResponse.ts | 2 +- .../generated/model/tenantUpdateRequest.ts | 2 +- .../src/api/generated/model/theme.ts | 2 +- .../model/updateCompletion1Params.ts | 12 + .../generated/model/updateCompletionParams.ts | 12 + .../generated/model/updateSettings1Body.ts | 2 +- .../api/generated/model/updateSettingsBody.ts | 2 +- .../generated/model/updateTenantQuotaBody.ts | 2 +- .../generated/model/updateTenantStatusBody.ts | 2 +- .../src/api/generated/model/uploadFileBody.ts | 2 +- .../api/generated/model/userInfoResponse.ts | 2 +- reading-platform-frontend/src/api/growth.ts | 122 +- reading-platform-frontend/src/api/lesson.ts | 85 +- reading-platform-frontend/src/api/package.ts | 90 +- reading-platform-frontend/src/api/parent.ts | 72 +- reading-platform-frontend/src/api/resource.ts | 67 +- .../src/api/school-course.ts | 63 +- reading-platform-frontend/src/api/school.ts | 345 +- reading-platform-frontend/src/api/task.ts | 93 +- reading-platform-frontend/src/api/teacher.ts | 263 +- reading-platform-frontend/src/api/theme.ts | 5 +- 202 files changed, 5030 insertions(+), 811 deletions(-) create mode 100644 reading-platform-frontend/src/api/generated/model/createTaskFromTemplateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getActiveTeachersParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getCompletions1Params.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getCompletionsParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getLessonTrendParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getMonthlyStats1Params.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getMonthlyStatsParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getMyNotifications2Params.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getRecentActivitiesParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getTemplates1Params.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getTemplatesParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getTimetableParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/pageResultTaskCompletion.ts create mode 100644 reading-platform-frontend/src/api/generated/model/pageResultTaskTemplate.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultListSchedulePlan.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultPageResultTaskCompletion.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultPageResultTaskTemplate.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultTaskCompletion.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultTaskTemplate.ts create mode 100644 reading-platform-frontend/src/api/generated/model/schedulePlanCreateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/scheduleTemplateApplyRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/taskCompletion.ts create mode 100644 reading-platform-frontend/src/api/generated/model/taskTemplate.ts create mode 100644 reading-platform-frontend/src/api/generated/model/taskTemplateCreateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/taskTemplateUpdateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/updateCompletion1Params.ts create mode 100644 reading-platform-frontend/src/api/generated/model/updateCompletionParams.ts diff --git a/reading-platform-frontend/api-spec.yml b/reading-platform-frontend/api-spec.yml index bae7c8a..6bdb761 100644 --- a/reading-platform-frontend/api-spec.yml +++ b/reading-platform-frontend/api-spec.yml @@ -32,6 +32,8 @@ tags: description: 教师仪表盘 - name: 管理员 - 课程课时 description: 课程课时管理接口(管理员专用) + - name: 学校 - 通知 + description: 通知接口(学校管理员专用) - name: 教师 - 课程 description: 课程接口(教师专用) - name: 学校 - 导出 @@ -87,11 +89,83 @@ tags: - name: 教师 - 通知 description: 通知接口(教师专用) paths: + /api/v1/teacher/tasks/{taskId}/completions/{studentId}: + put: + tags: + - 教师 - 任务 + summary: 更新任务完成状态 + operationId: updateCompletion + parameters: + - name: taskId + in: path + required: true + schema: + type: integer + format: int64 + - name: studentId + in: path + required: true + schema: + type: integer + format: int64 + - name: status + in: query + required: true + schema: + type: string + - name: feedback + in: query + required: false + schema: + type: string + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultTaskCompletion' + '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/{id}: get: tags: - 教师 - 任务 - summary: 根据ID获取任务 + summary: 根据 ID 获取任务 operationId: getTask parameters: - name: id @@ -720,11 +794,83 @@ paths: '*/*': schema: $ref: '#/components/schemas/ResultVoid' + /api/v1/school/tasks/{taskId}/completions/{studentId}: + put: + tags: + - 学校 - 任务 + summary: 更新任务完成状态 + operationId: updateCompletion_1 + parameters: + - name: taskId + in: path + required: true + schema: + type: integer + format: int64 + - name: studentId + in: path + required: true + schema: + type: integer + format: int64 + - name: status + in: query + required: true + schema: + type: string + - name: feedback + in: query + required: false + schema: + type: string + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultTaskCompletion' + '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获取任务 + summary: 根据 ID 获取任务 operationId: getTask_1 parameters: - name: id @@ -892,6 +1038,178 @@ paths: '*/*': schema: $ref: '#/components/schemas/ResultVoid' + /api/v1/school/tasks/task-templates/{id}: + get: + tags: + - 学校 - 任务 + summary: 根据 ID 获取任务模板 + operationId: getTemplate_1 + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultTaskTemplate' + '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: updateTemplate + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaskTemplateUpdateRequest' + required: true + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultTaskTemplate' + '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: deleteTemplate + 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: @@ -1345,7 +1663,7 @@ paths: get: tags: - 学校 - 课表 - summary: 根据ID获取课表计划 + summary: 根据 ID 获取课表计划 operationId: getSchedulePlan_1 parameters: - name: id @@ -1513,6 +1831,178 @@ paths: '*/*': schema: $ref: '#/components/schemas/ResultVoid' + /api/v1/school/schedules/templates/{id}: + get: + tags: + - 学校 - 课表 + summary: 根据 ID 获取课表模板 + operationId: getScheduleTemplate + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + 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' + put: + tags: + - 学校 - 课表 + summary: 更新课表模板 + operationId: updateScheduleTemplate + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + 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' + 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/school/parents/{id}: get: tags: @@ -3677,6 +4167,61 @@ paths: '*/*': schema: $ref: '#/components/schemas/ResultVoid' + /api/v1/teacher/tasks/from-template: + post: + tags: + - 教师 - 任务 + summary: 从模板创建任务 + operationId: createFromTemplate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTaskFromTemplateRequest' + 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: @@ -4528,6 +5073,187 @@ paths: '*/*': schema: $ref: '#/components/schemas/ResultVoid' + /api/v1/school/tasks/task-templates: + get: + tags: + - 学校 - 任务 + summary: 获取任务模板列表 + operationId: getTemplates_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 + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultPageResultTaskTemplate' + '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: createTemplate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaskTemplateCreateRequest' + required: true + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultTaskTemplate' + '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/from-template: + post: + tags: + - 学校 - 任务 + summary: 从模板创建任务 + operationId: createFromTemplate_1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTaskFromTemplateRequest' + 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: @@ -4659,6 +5385,63 @@ paths: '*/*': schema: $ref: '#/components/schemas/ResultVoid' + /api/v1/school/students/import: + post: + tags: + - 学校 - 学生 + summary: 批量导入学生 + operationId: importStudents + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/StudentCreateRequest' + required: true + 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/school/school-courses: get: tags: @@ -4809,6 +5592,18 @@ paths: schema: type: integer format: int64 + - 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 @@ -4861,7 +5656,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SchedulePlan' + $ref: '#/components/schemas/SchedulePlanCreateRequest' required: true responses: '200': @@ -5024,6 +5819,125 @@ paths: '*/*': schema: $ref: '#/components/schemas/ResultVoid' + /api/v1/school/schedules/templates/{id}/apply: + post: + tags: + - 学校 - 课表 + summary: 应用课表模板 + operationId: applyScheduleTemplate + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScheduleTemplateApplyRequest' + required: true + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultListSchedulePlan' + '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/batch: + post: + tags: + - 学校 - 课表 + summary: 批量创建排课 + operationId: batchCreateSchedules + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SchedulePlanCreateRequest' + required: true + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultListSchedulePlan' + '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: @@ -5344,6 +6258,111 @@ paths: '*/*': schema: $ref: '#/components/schemas/ResultVoid' + /api/v1/school/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/school/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/school/growth-records: get: tags: @@ -5809,7 +6828,7 @@ paths: tags: - 家长 - 通知 summary: 标记通知为已读 - operationId: markAsRead_1 + operationId: markAsRead_2 parameters: - name: id in: path @@ -5865,7 +6884,7 @@ paths: tags: - 家长 - 通知 summary: 标记所有通知为已读 - operationId: markAllAsRead_1 + operationId: markAllAsRead_2 responses: '200': description: OK @@ -7845,6 +8864,466 @@ paths: '*/*': schema: $ref: '#/components/schemas/ResultVoid' + /api/v1/teacher/tasks/{id}/completions: + get: + tags: + - 教师 - 任务 + summary: 获取任务完成情况分页 + operationId: getCompletions + parameters: + - name: id + 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/ResultPageResultTaskCompletion' + '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/task-templates: + get: + tags: + - 教师 - 任务 + summary: 获取任务模板列表 + operationId: getTemplates + 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 + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultPageResultTaskTemplate' + '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/task-templates/{id}: + get: + tags: + - 教师 - 任务 + summary: 根据 ID 获取任务模板 + operationId: getTemplate + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultTaskTemplate' + '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/task-templates/default/{taskType}: + get: + tags: + - 教师 - 任务 + summary: 获取默认模板(按类型) + operationId: getDefaultTemplate + parameters: + - name: taskType + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultTaskTemplate' + '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/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/teacher/tasks/stats/monthly: + get: + tags: + - 教师 - 任务 + summary: 获取月度统计趋势 + operationId: getMonthlyStats + parameters: + - name: months + in: query + required: false + schema: + type: integer + format: int32 + default: 6 + 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/tasks/stats/by-type: + get: + tags: + - 教师 - 任务 + summary: 按任务类型统计 + operationId: getStatsByType + 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/tasks/stats/by-class: + get: + tags: + - 教师 - 任务 + summary: 按班级统计 + operationId: getStatsByClass + 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/school-courses: get: tags: @@ -8754,12 +10233,140 @@ paths: '*/*': schema: $ref: '#/components/schemas/ResultVoid' - /api/v1/school/stats: + /api/v1/school/tasks/{id}/completions: get: tags: - - 学校 - 统计 - summary: 获取学校统计数据 - operationId: getStats + - 学校 - 任务 + summary: 获取任务完成情况分页 + operationId: getCompletions_1 + parameters: + - name: id + 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/ResultPageResultTaskCompletion' + '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/task-templates/default/{taskType}: + get: + tags: + - 学校 - 任务 + summary: 获取默认模板(按类型) + operationId: getDefaultTemplate_1 + parameters: + - name: taskType + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/ResultTaskTemplate' + '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/stats: + get: + tags: + - 学校 - 任务 + summary: 获取任务统计数据 + operationId: getStats_1 responses: '200': description: OK @@ -8803,6 +10410,596 @@ paths: '*/*': schema: $ref: '#/components/schemas/ResultVoid' + /api/v1/school/tasks/stats/monthly: + get: + tags: + - 学校 - 任务 + summary: 获取月度统计趋势 + operationId: getMonthlyStats_1 + parameters: + - name: months + in: query + required: false + schema: + type: integer + format: int32 + default: 6 + 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/school/tasks/stats/by-type: + get: + tags: + - 学校 - 任务 + summary: 按任务类型统计 + operationId: getStatsByType_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/school/tasks/stats/by-class: + get: + tags: + - 学校 - 任务 + summary: 按班级统计 + operationId: getStatsByClass_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/school/students/import/template: + get: + tags: + - 学校 - 学生 + summary: 获取导入模板 + operationId: getImportTemplate + 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/stats: + get: + tags: + - 学校 - 统计 + summary: 获取学校统计数据 + operationId: getStats_2 + 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/stats/teachers: + get: + tags: + - 学校 - 统计 + summary: 获取活跃教师统计 + operationId: getActiveTeachers + parameters: + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 5 + 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/school/stats/lesson-trend: + get: + tags: + - 学校 - 统计 + summary: 获取课时趋势(最近 N 个月) + operationId: getLessonTrend + parameters: + - name: months + in: query + required: false + schema: + type: integer + format: int32 + default: 6 + 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/school/stats/courses: + get: + tags: + - 学校 - 统计 + summary: 获取课程使用统计 + operationId: getCourseUsageStats + 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/school/stats/course-distribution: + get: + tags: + - 学校 - 统计 + summary: 获取课程分布统计(饼图数据) + operationId: getCourseDistribution + 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/school/stats/activities: + get: + tags: + - 学校 - 统计 + summary: 获取最近活动记录 + operationId: getRecentActivities + 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/school/schedules/timetable: + get: + tags: + - 学校 - 课表 + summary: 获取课表(按日期范围) + operationId: getTimetable + parameters: + - name: startDate + in: query + required: false + schema: + type: string + format: date + - name: endDate + in: query + required: false + schema: + type: string + format: date + - name: classId + in: query + required: false + schema: + type: integer + format: int64 + 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/school/operation-logs: get: tags: @@ -8872,6 +11069,179 @@ paths: '*/*': schema: $ref: '#/components/schemas/ResultVoid' + /api/v1/school/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/school/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/school/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/school/export/teachers: get: tags: @@ -9339,7 +11709,7 @@ paths: tags: - 家长 - 通知 summary: 获取我的通知 - operationId: getMyNotifications_1 + operationId: getMyNotifications_2 parameters: - name: page in: query @@ -9407,7 +11777,7 @@ paths: tags: - 家长 - 通知 summary: 根据ID获取通知 - operationId: getNotification_1 + operationId: getNotification_2 parameters: - name: id in: path @@ -9463,7 +11833,7 @@ paths: tags: - 家长 - 通知 summary: 获取未读通知数量 - operationId: getUnreadCount_1 + operationId: getUnreadCount_2 responses: '200': description: OK @@ -9851,7 +12221,7 @@ paths: tags: - 管理员 - 统计 summary: 获取整体统计数据 - operationId: getStats_1 + operationId: getStats_3 responses: '200': description: OK @@ -10252,12 +12622,12 @@ paths: '*/*': schema: $ref: '#/components/schemas/ResultVoid' - /api/v1/school/schedules/templates/{id}: + /api/v1/school/classes/{id}/teachers/{teacherId}: delete: tags: - - 学校 - 课表 - summary: 删除课表模板 - operationId: deleteScheduleTemplate + - 学校 - 班级 + summary: 移除班级教师 + operationId: removeTeacher parameters: - name: id in: path @@ -10265,6 +12635,74 @@ paths: schema: type: integer format: int64 + - name: teacherId + 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}/students/{studentId}: + delete: + tags: + - 学校 - 班级 + summary: 移除班级学生 + operationId: removeStudent + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + - name: studentId + in: path + required: true + schema: + type: integer + format: int64 responses: '200': description: OK @@ -10375,6 +12813,51 @@ components: type: string data: type: object + ResultTaskCompletion: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + data: + $ref: '#/components/schemas/TaskCompletion' + TaskCompletion: + type: object + properties: + id: + type: integer + format: int64 + taskId: + type: integer + format: int64 + studentId: + type: integer + format: int64 + status: + type: string + completedAt: + type: string + format: date-time + content: + type: string + attachments: + type: string + rating: + type: integer + format: int32 + feedback: + type: string + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + deleted: + type: integer + format: int32 TaskUpdateRequest: type: object properties: @@ -10695,6 +13178,65 @@ components: deleted: type: integer format: int32 + TaskTemplateUpdateRequest: + type: object + properties: + name: + type: string + description: 模板名称 + description: + type: string + description: 模板描述 + type: + type: string + description: 任务类型:阅读、作业、活动 + content: + type: string + description: 任务内容模板 + isPublic: + type: integer + description: 是否公共模板:0-私有,1-公共 + format: int32 + description: 任务模板更新请求 + ResultTaskTemplate: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + data: + $ref: '#/components/schemas/TaskTemplate' + TaskTemplate: + type: object + properties: + id: + type: integer + format: int64 + tenantId: + type: integer + format: int64 + name: + type: string + description: + type: string + type: + 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 StudentUpdateRequest: type: object properties: @@ -10836,12 +13378,32 @@ components: classId: type: integer format: int64 + courseId: + type: integer + format: int64 + teacherId: + type: integer + format: int64 + dayOfWeek: + type: integer + format: int32 + period: + type: integer + format: int32 + startTime: + $ref: '#/components/schemas/LocalTime' + endTime: + $ref: '#/components/schemas/LocalTime' startDate: type: string format: date endDate: type: string format: date + location: + type: string + note: + type: string status: type: string createdAt: @@ -10863,6 +13425,43 @@ components: type: string data: $ref: '#/components/schemas/SchedulePlan' + 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' ParentUpdateRequest: type: object properties: @@ -11613,6 +14212,34 @@ components: description: 目标ID列表 format: int64 description: 任务创建请求 + CreateTaskFromTemplateRequest: + required: + - targetIds + type: object + properties: + templateId: + type: integer + description: 模板 ID + format: int64 + targetIds: + type: array + description: 目标 ID 列表(班级 ID 或学生 ID) + items: + type: integer + description: 目标 ID 列表(班级 ID 或学生 ID) + format: int64 + targetType: + type: string + description: 目标类型:CLASS-班级,STUDENT-学生 + startDate: + type: string + description: 任务开始日期 + format: date + endDate: + type: string + description: 任务截止日期 + format: date + description: 从模板创建任务请求 LessonCreateRequest: required: - courseId @@ -11714,6 +14341,28 @@ components: type: string description: 个人简介 description: 教师创建请求 + TaskTemplateCreateRequest: + required: + - name + type: object + properties: + name: + type: string + description: 模板名称 + description: + type: string + description: 模板描述 + type: + type: string + description: 任务类型:阅读、作业、活动 + content: + type: string + description: 任务内容模板 + isPublic: + type: integer + description: 是否公共模板:0-私有,1-公共 + format: int32 + description: 任务模板创建请求 StudentCreateRequest: required: - name @@ -11745,34 +14394,7 @@ components: 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: + ResultListStudent: type: object properties: code: @@ -11781,7 +14403,82 @@ components: message: type: string data: - $ref: '#/components/schemas/ScheduleTemplate' + type: array + items: + $ref: '#/components/schemas/Student' + SchedulePlanCreateRequest: + type: object + properties: + classId: + type: integer + description: 班级 ID + format: int64 + courseId: + type: integer + description: 课程 ID + format: int64 + dayOfWeek: + type: integer + description: 星期几:1-7 + format: int32 + period: + type: integer + description: 节次 + format: int32 + startTime: + $ref: '#/components/schemas/LocalTime' + endTime: + $ref: '#/components/schemas/LocalTime' + teacherId: + type: integer + description: 授课教师 ID + format: int64 + startDate: + type: string + description: 开始日期 + format: date + endDate: + type: string + description: 结束日期 + format: date + location: + type: string + description: 教室/地点 + note: + type: string + description: 备注 + description: 课表计划创建请求 + ScheduleTemplateApplyRequest: + required: + - classId + - startDate + type: object + properties: + classId: + type: integer + description: 班级 ID + format: int64 + startDate: + type: string + description: 应用开始日期 + format: date + weeks: + type: integer + description: 应用周数 + format: int32 + description: 课表模板应用请求 + ResultListSchedulePlan: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/SchedulePlan' ParentCreateRequest: required: - name @@ -12092,6 +14789,78 @@ components: type: string data: $ref: '#/components/schemas/PageResultTask' + PageResultTaskCompletion: + type: object + properties: + total: + type: integer + format: int64 + pageSize: + type: integer + format: int64 + items: + type: array + items: + $ref: '#/components/schemas/TaskCompletion' + page: + type: integer + format: int64 + totalPages: + type: integer + format: int64 + ResultPageResultTaskCompletion: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + data: + $ref: '#/components/schemas/PageResultTaskCompletion' + PageResultTaskTemplate: + type: object + properties: + total: + type: integer + format: int64 + pageSize: + type: integer + format: int64 + items: + type: array + items: + $ref: '#/components/schemas/TaskTemplate' + page: + type: integer + format: int64 + totalPages: + type: integer + format: int64 + ResultPageResultTaskTemplate: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + data: + $ref: '#/components/schemas/PageResultTaskTemplate' + ResultListMapStringObject: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + data: + type: array + items: + type: object + additionalProperties: + type: object PageResultSchoolCourse: type: object properties: @@ -12307,20 +15076,6 @@ components: 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: @@ -12621,18 +15376,6 @@ components: 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: diff --git a/reading-platform-frontend/src/api/admin.ts b/reading-platform-frontend/src/api/admin.ts index 32ec169..f6de287 100644 --- a/reading-platform-frontend/src/api/admin.ts +++ b/reading-platform-frontend/src/api/admin.ts @@ -1,4 +1,5 @@ import { http } from './index'; +import { readingApi, GetTenantPageResult } from './client'; // ==================== 类型定义 ==================== @@ -165,51 +166,86 @@ export interface AdminSettings { // ==================== 租户管理 ==================== -export const getTenants = (params: TenantQueryParams) => - http.get<{ items: Tenant[]; total: number; page: number; pageSize: number; totalPages: number }>( - '/admin/tenants', - { params } - ); +export const getTenants = ( + params: TenantQueryParams, +): Promise => + readingApi.getTenantPage(params as any).then((res) => res.data as any); -export const getTenant = (id: number) => - http.get(`/admin/tenants/${id}`); +export const getTenant = (id: number): Promise => + readingApi.getTenant(id).then((res) => res.data as any); -export const createTenant = (data: CreateTenantDto) => - http.post('/admin/tenants', data); +export const createTenant = ( + data: CreateTenantDto, +): Promise => + readingApi.createTenant(data as any).then((res) => { + const map = res.data as any; + // Orval 将返回值定义为 ResultTenant / ResultMapStringString,这里按现有前端期望结构进行兼容转换 + return { + ...(map as Tenant), + tempPassword: (map as any).tempPassword ?? '', + }; + }); -export const updateTenant = (id: number, data: UpdateTenantDto) => - http.put(`/admin/tenants/${id}`, data); +export const updateTenant = ( + id: number, + data: UpdateTenantDto, +): Promise => + readingApi.updateTenant(id, data as any).then((res) => res.data as any); -export const updateTenantQuota = (id: number, data: UpdateTenantQuotaDto) => - http.put(`/admin/tenants/${id}/quota`, data); +export const updateTenantQuota = ( + id: number, + data: UpdateTenantQuotaDto, +): Promise => + readingApi + .updateTenantQuota(id, data as any) + .then((res) => res.data as any); -export const updateTenantStatus = (id: number, status: string) => - http.put<{ id: number; name: string; status: string }>(`/admin/tenants/${id}/status`, { status }); +export const updateTenantStatus = ( + id: number, + status: string, +): Promise<{ id: number; name: string; status: string }> => + readingApi + .updateTenantStatus(id, { status } as any) + .then((res) => res.data as any); -export const resetTenantPassword = (id: number) => - http.post<{ tempPassword: string }>(`/admin/tenants/${id}/reset-password`); +export const resetTenantPassword = ( + id: number, +): Promise<{ tempPassword: string }> => + readingApi.resetTenantPassword(id).then((res) => res.data as any); -export const deleteTenant = (id: number) => - http.delete<{ success: boolean }>(`/admin/tenants/${id}`); +export const deleteTenant = (id: number): Promise<{ success: boolean }> => + readingApi.deleteTenant(id).then(() => ({ success: true })); // ==================== 统计数据 ==================== -export const getAdminStats = () => - http.get('/admin/stats'); +export const getAdminStats = (): Promise => + readingApi.getStats3().then((res) => res.data as any); -export const getTrendData = () => - http.get('/admin/stats/trend'); +export const getTrendData = (): Promise => + readingApi.getTrendData().then((res) => res.data as any); -export const getActiveTenants = (limit?: number) => - http.get('/admin/stats/tenants/active', { params: { limit } }); +export const getActiveTenants = ( + limit?: number, +): Promise => + readingApi + .getActiveTenants({ limit } as any) + .then((res) => res.data as any); -export const getPopularCourses = (limit?: number) => - http.get('/admin/stats/courses/popular', { params: { limit } }); +export const getPopularCourses = ( + limit?: number, +): Promise => + readingApi + .getPopularCourses({ limit } as any) + .then((res) => res.data as any); // ==================== 系统设置 ==================== -export const getAdminSettings = () => - http.get('/admin/settings'); +export const getAdminSettings = (): Promise => + readingApi.getSettings1().then((res) => res.data as any); -export const updateAdminSettings = (data: Record) => - http.put('/admin/settings', data); +export const updateAdminSettings = ( + data: Record, +): Promise => + readingApi + .updateSettings1(data as any) + .then(() => getAdminSettings()); diff --git a/reading-platform-frontend/src/api/auth.ts b/reading-platform-frontend/src/api/auth.ts index 8ad79b5..d09d63a 100644 --- a/reading-platform-frontend/src/api/auth.ts +++ b/reading-platform-frontend/src/api/auth.ts @@ -1,24 +1,26 @@ -import { readingApi } from './client' +import { readingApi } from "./client"; import type { LoginRequest, LoginResponse as ApiLoginResponse, ResultLoginResponse, ResultUserInfoResponse, UserInfoResponse, -} from './generated/model' +} from "./generated/model"; -export type LoginParams = LoginRequest +export type LoginParams = LoginRequest; // Java 后端返回的平铺结构(保持与现有业务使用一致) -export interface LoginResponse extends Required> { - role: 'admin' | 'school' | 'teacher' | 'parent' - tenantId?: number +export interface LoginResponse extends Required< + Omit +> { + role: "admin" | "school" | "teacher" | "parent"; + tenantId?: number; } export interface UserProfile { id: number; name: string; - role: 'admin' | 'school' | 'teacher'; + role: "admin" | "school" | "teacher"; tenantId?: number; tenantName?: string; email?: string; @@ -29,47 +31,47 @@ export interface UserProfile { // 登录 export function login(params: LoginParams): Promise { return readingApi.login(params).then((res) => { - const wrapped = res as ResultLoginResponse - const data = (wrapped.data ?? {}) as ApiLoginResponse + const wrapped = res as ResultLoginResponse; + const data = (wrapped.data ?? {}) as ApiLoginResponse; return { - token: data.token ?? '', + token: data.token ?? "", userId: data.userId ?? 0, - username: data.username ?? '', - name: data.name ?? '', - role: (data.role as LoginResponse['role']) ?? 'teacher', + username: data.username ?? "", + name: data.name ?? "", + role: (data.role as LoginResponse["role"]) ?? "teacher", tenantId: data.tenantId, - } - }) + }; + }); } // 登出 export function logout(): Promise { - return readingApi.logout().then(() => undefined) + return readingApi.logout().then(() => undefined); } // 刷新Token export function refreshToken(): Promise<{ token: string }> { // OpenAPI 目前未定义 refresh 接口,暂时保留原有调用路径以兼容后端 - const { http } = require('./index') - return http.post('/auth/refresh') + const { http } = require("./index"); + return http.post("/api/v1/auth/refresh"); } // 获取当前用户信息 export function getProfile(): Promise { return readingApi.getCurrentUser().then((res) => { - const wrapped = res as ResultUserInfoResponse - const data = (wrapped.data ?? {}) as UserInfoResponse + const wrapped = res as ResultUserInfoResponse; + const data = (wrapped.data ?? {}) as UserInfoResponse; return { id: data.id ?? 0, - name: data.name ?? '', - role: (data.role as UserProfile['role']) ?? 'teacher', + name: data.name ?? "", + role: (data.role as UserProfile["role"]) ?? "teacher", tenantId: data.tenantId, tenantName: undefined, email: data.email, phone: data.phone, avatar: data.avatarUrl, - } - }) + }; + }); } diff --git a/reading-platform-frontend/src/api/client.ts b/reading-platform-frontend/src/api/client.ts index 8549279..0424fd5 100644 --- a/reading-platform-frontend/src/api/client.ts +++ b/reading-platform-frontend/src/api/client.ts @@ -11,6 +11,30 @@ export type ApiResultOf // 如果后端统一使用 Result 包裹,这个类型可以从中解包出 data export type UnwrapResult = R extends { data: infer D } ? D : R +// 针对分页 Result> 的统一解包类型 +export type PageDataOf = UnwrapResult extends { + items: any[] + total: number + page: number + pageSize: number +} + ? UnwrapResult + : never + +// 常用 Orval 分页结果类型别名(便于在各模块中统一使用) +export type GetTenantPageResult = PageDataOf> +export type GetTaskPageResult = PageDataOf> +export type GetTaskPage1Result = PageDataOf> +export type GetTeacherPageResult = PageDataOf> +export type GetStudentPageResult = PageDataOf> +export type GetSchedulePlansResult = PageDataOf> +export type GetSchedulePlans1Result = PageDataOf> +export type GetPackagesResult = PageDataOf> +export type GetPackages1Result = PageDataOf> +export type GetMyNotificationsResult = PageDataOf> +export type GetMyNotifications1Result = PageDataOf> +export type GetMyNotifications2Result = PageDataOf> + // 示例:当前登录用户信息的解包类型 export type CurrentUserInfo = UnwrapResult diff --git a/reading-platform-frontend/src/api/course.ts b/reading-platform-frontend/src/api/course.ts index 2c2ad92..7395832 100644 --- a/reading-platform-frontend/src/api/course.ts +++ b/reading-platform-frontend/src/api/course.ts @@ -1,15 +1,15 @@ -import { readingApi } from './client' +import { readingApi } from "./client"; import type { GetCoursePage1Params, ResultPageResultCourse, Course as ApiCourse, ApproveCourseParams, RejectCourseParams, -} from './generated/model' +} from "./generated/model"; -export type CourseQueryParams = GetCoursePage1Params +export type CourseQueryParams = GetCoursePage1Params; -export type Course = ApiCourse +export type Course = ApiCourse; export interface CourseLesson { id: number; @@ -64,25 +64,23 @@ export interface ValidationWarning { } // 获取课程包列表(使用 Orval 生成的分页接口,并适配为原有扁平结构) -export function getCourses( - params: CourseQueryParams, -): Promise<{ - items: Course[] - total: number - page: number - pageSize: number +export function getCourses(params: CourseQueryParams): Promise<{ + items: Course[]; + total: number; + page: number; + pageSize: number; }> { return readingApi.getCoursePage1(params).then((res) => { - const wrapped = res as ResultPageResultCourse - const pageData = wrapped.data + const wrapped = res as ResultPageResultCourse; + const pageData = wrapped.data; return { items: (pageData?.items as Course[]) ?? [], total: pageData?.total ?? 0, page: pageData?.page ?? params.page ?? 1, pageSize: pageData?.pageSize ?? params.pageSize ?? 10, - } - }) + }; + }); } // 获取审核列表 @@ -94,116 +92,131 @@ export function getReviewList(params: CourseQueryParams): Promise<{ }> { // 审核列表对应 Orval 的 getReviewCoursePage,返回结构同课程分页 return readingApi.getReviewCoursePage(params as any).then((res) => { - const wrapped = res as ResultPageResultCourse - const pageData = wrapped.data + const wrapped = res as ResultPageResultCourse; + const pageData = wrapped.data; return { items: (pageData?.items as Course[]) ?? [], total: pageData?.total ?? 0, page: pageData?.page ?? params.page ?? 1, pageSize: pageData?.pageSize ?? params.pageSize ?? 10, - } - }) + }; + }); } // 获取课程包详情 -export function getCourse(id: number): Promise { - return readingApi.getCourse3(id).then((res) => res) +export function getCourse(id: number): Promise { + return readingApi.getCourse3(id).then((res) => res); } // 创建课程包 -export function createCourse(data: any): Promise { - return readingApi.createCourse1(data).then((res) => res) +export function createCourse(data: unknown): Promise { + return readingApi.createCourse1(data as any).then((res) => res); } // 更新课程包 -export function updateCourse(id: number, data: any): Promise { - return readingApi.updateCourse1(id, data).then((res) => res) +export function updateCourse(id: number, data: unknown): Promise { + return readingApi.updateCourse1(id, data as any).then((res) => res); } // 删除课程包 -export function deleteCourse(id: number): Promise { - return readingApi.deleteCourse1(id).then((res) => res) +export function deleteCourse(id: number): Promise { + return readingApi.deleteCourse1(id).then((res) => res); } // 验证课程完整性 export function validateCourse(id: number): Promise { // 暂无对应 Orval 接口,继续使用旧路径 - const { http } = require('./index') - return http.get(`/admin/courses/${id}/validate`) + const { http } = require("./index"); + return http.get(`/api/v1/admin/courses/${id}/validate`); } // 提交审核 -export function submitCourse(id: number, _copyrightConfirmed: boolean): Promise { +export function submitCourse( + id: number, + _copyrightConfirmed: boolean, +): Promise { // 后端接口签名只需要 ID,版权确认逻辑在前端自行控制 - return readingApi.submitCourse(id).then((res) => res) + return readingApi.submitCourse(id).then((res) => res); } // 撤销审核 -export function withdrawCourse(id: number): Promise { - return readingApi.withdrawCourse(id).then((res) => res) +export function withdrawCourse(id: number): Promise { + return readingApi.withdrawCourse(id).then((res) => res); } // 审核通过 -export function approveCourse(id: number, data: { checklist?: any; comment?: string }): Promise { +export function approveCourse( + id: number, + data: { checklist?: any; comment?: string }, +): Promise { const params: ApproveCourseParams = { comment: data.comment, - } - return readingApi.approveCourse(id, params).then((res) => res) + }; + return readingApi.approveCourse(id, params).then((res) => res); } // 审核驳回 -export function rejectCourse(id: number, data: { checklist?: any; comment: string }): Promise { +export function rejectCourse( + id: number, + data: { checklist?: any; comment: string }, +): Promise { const params: RejectCourseParams = { comment: data.comment, - } - return readingApi.rejectCourse(id, params).then((res) => res) + }; + return readingApi.rejectCourse(id, params).then((res) => res); } // 直接发布(超级管理员) -export function directPublishCourse(id: number, _skipValidation?: boolean): Promise { +export function directPublishCourse( + id: number, + _skipValidation?: boolean, +): Promise { // skipValidation 由后端接口定义控制,这里总是调用“直接发布”接口 - return readingApi.directPublishCourse(id).then((res) => res) + return readingApi.directPublishCourse(id).then((res) => res); } // 发布课程包(兼容旧API) -export function publishCourse(id: number): Promise { - return readingApi.publishCourse(id).then((res) => res) +export function publishCourse(id: number): Promise { + return readingApi.publishCourse(id).then((res) => res); } // 下架课程包 -export function unpublishCourse(id: number): Promise { - return readingApi.unpublishCourse(id).then((res) => res) +export function unpublishCourse(id: number): Promise { + return readingApi.unpublishCourse(id).then((res) => res); } // 重新发布 -export function republishCourse(id: number): Promise { - return readingApi.republishCourse(id).then((res) => res) +export function republishCourse(id: number): Promise { + return readingApi.republishCourse(id).then((res) => res); } // 获取课程包统计数据 -export function getCourseStats(id: number): Promise { +export function getCourseStats(id: number): Promise { // 统计接口在 OpenAPI 中与当前使用的字段含义略有差异,暂时保留旧实现 - const { http } = require('./index') - return http.get(`/admin/courses/${id}/stats`); + const { http } = require("./index"); + return http.get(`/api/v1/admin/courses/${id}/stats`); } // 获取版本历史 -export function getCourseVersions(id: number): Promise { - const { http } = require('./index') - return http.get(`/admin/courses/${id}/versions`); +export function getCourseVersions(id: number): Promise { + const { http } = require("./index"); + return http.get(`/api/v1/admin/courses/${id}/versions`); } // 课程状态映射 -export const COURSE_STATUS_MAP: Record = { - DRAFT: { label: '草稿', color: 'default' }, - PENDING: { label: '审核中', color: 'processing' }, - REJECTED: { label: '已驳回', color: 'error' }, - PUBLISHED: { label: '已发布', color: 'success' }, - ARCHIVED: { label: '已下架', color: 'warning' }, +export const COURSE_STATUS_MAP: Record< + string, + { label: string; color: string } +> = { + DRAFT: { label: "草稿", color: "default" }, + PENDING: { label: "审核中", color: "processing" }, + REJECTED: { label: "已驳回", color: "error" }, + PUBLISHED: { label: "已发布", color: "success" }, + ARCHIVED: { label: "已下架", color: "warning" }, }; // 获取状态显示信息 export function getCourseStatusInfo(status: string) { - return COURSE_STATUS_MAP[status] || { label: status, color: 'default' }; + return COURSE_STATUS_MAP[status] || { label: status, color: "default" }; } diff --git a/reading-platform-frontend/src/api/generated/api.ts b/reading-platform-frontend/src/api/generated/api.ts index 660b2b8..63c7894 100644 --- a/reading-platform-frontend/src/api/generated/api.ts +++ b/reading-platform-frontend/src/api/generated/api.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation @@ -16,10 +16,14 @@ import type { CourseLesson, CoursePackage, CourseUpdateRequest, + CreateTaskFromTemplateRequest, DeleteFileParams, + GetActiveTeachersParams, GetActiveTenantsParams, GetActivitiesParams, GetClassPageParams, + GetCompletions1Params, + GetCompletionsParams, GetCoursePage1Params, GetCoursePageParams, GetCourses1Params, @@ -28,16 +32,21 @@ import type { GetGrowthRecordPageParams, GetGrowthRecordsByStudentParams, GetItemsParams, + GetLessonTrendParams, GetLibrariesParams, GetLogs1Params, GetLogsParams, + GetMonthlyStats1Params, + GetMonthlyStatsParams, GetMyLessonsParams, GetMyNotifications1Params, + GetMyNotifications2Params, GetMyNotificationsParams, GetPackages1Params, GetPackagesParams, GetParentPageParams, GetPopularCoursesParams, + GetRecentActivitiesParams, GetRecentGrowthRecordsParams, GetReviewCoursePageParams, GetSchedulePlans1Params, @@ -48,8 +57,11 @@ import type { GetTaskPageParams, GetTasksByStudentParams, GetTeacherPageParams, + GetTemplates1Params, + GetTemplatesParams, GetTenantPageParams, GetThemesParams, + GetTimetableParams, GrowthRecordCreateRequest, GrowthRecordUpdateRequest, LessonCreateRequest, @@ -74,6 +86,7 @@ import type { ResultListLesson, ResultListMapStringObject, ResultListResourceLibrary, + ResultListSchedulePlan, ResultListStudent, ResultListTenantResponse, ResultListTheme, @@ -96,6 +109,8 @@ import type { ResultPageResultSchoolCourse, ResultPageResultStudent, ResultPageResultTask, + ResultPageResultTaskCompletion, + ResultPageResultTaskTemplate, ResultPageResultTeacher, ResultPageResultTenant, ResultParent, @@ -106,6 +121,8 @@ import type { ResultSchoolCourse, ResultStudent, ResultTask, + ResultTaskCompletion, + ResultTaskTemplate, ResultTeacher, ResultTenant, ResultTheme, @@ -113,17 +130,23 @@ import type { ResultVoid, ReviewPackageBody, SchedulePlan, + SchedulePlanCreateRequest, ScheduleTemplate, + ScheduleTemplateApplyRequest, SchoolCourse, StudentCreateRequest, StudentUpdateRequest, TaskCreateRequest, + TaskTemplateCreateRequest, + TaskTemplateUpdateRequest, TaskUpdateRequest, TeacherCreateRequest, TeacherUpdateRequest, TenantCreateRequest, TenantUpdateRequest, Theme, + UpdateCompletion1Params, + UpdateCompletionParams, UpdateSettings1Body, UpdateSettingsBody, UpdateTenantQuotaBody, @@ -134,7 +157,22 @@ import type { import { request } from '../request'; export const getReadingPlatformAPI = () => { /** - * @summary 根据ID获取任务 + * @summary 更新任务完成状态 + */ +const updateCompletion = ( + taskId: number, + studentId: number, + params: UpdateCompletionParams, + ) => { + return request( + {url: `/api/v1/teacher/tasks/${taskId}/completions/${studentId}`, method: 'PUT', + params + }, + ); + } + +/** + * @summary 根据 ID 获取任务 */ const getTask = ( id: number, @@ -278,7 +316,22 @@ const deleteTeacher = ( } /** - * @summary 根据ID获取任务 + * @summary 更新任务完成状态 + */ +const updateCompletion1 = ( + taskId: number, + studentId: number, + params: UpdateCompletion1Params, + ) => { + return request( + {url: `/api/v1/school/tasks/${taskId}/completions/${studentId}`, method: 'PUT', + params + }, + ); + } + +/** + * @summary 根据 ID 获取任务 */ const getTask1 = ( id: number, @@ -316,6 +369,45 @@ const deleteTask1 = ( ); } +/** + * @summary 根据 ID 获取任务模板 + */ +const getTemplate1 = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/tasks/task-templates/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary 更新任务模板 + */ +const updateTemplate = ( + id: number, + taskTemplateUpdateRequest: TaskTemplateUpdateRequest, + ) => { + return request( + {url: `/api/v1/school/tasks/task-templates/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: taskTemplateUpdateRequest + }, + ); + } + +/** + * @summary 删除任务模板 + */ +const deleteTemplate = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/tasks/task-templates/${id}`, method: 'DELETE' + }, + ); + } + /** * @summary 根据ID获取学生 */ @@ -421,7 +513,7 @@ const deleteCourse = ( } /** - * @summary 根据ID获取课表计划 + * @summary 根据 ID 获取课表计划 */ const getSchedulePlan1 = ( id: number, @@ -459,6 +551,45 @@ const deleteSchedulePlan = ( ); } +/** + * @summary 根据 ID 获取课表模板 + */ +const getScheduleTemplate = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/schedules/templates/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary 更新课表模板 + */ +const updateScheduleTemplate = ( + id: number, + scheduleTemplate: ScheduleTemplate, + ) => { + return request( + {url: `/api/v1/school/schedules/templates/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: scheduleTemplate + }, + ); + } + +/** + * @summary 删除课表模板 + */ +const deleteScheduleTemplate = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/schedules/templates/${id}`, method: 'DELETE' + }, + ); + } + /** * @summary Get parent by ID */ @@ -950,6 +1081,20 @@ const createTask = ( ); } +/** + * @summary 从模板创建任务 + */ +const createFromTemplate = ( + createTaskFromTemplateRequest: CreateTaskFromTemplateRequest, + ) => { + return request( + {url: `/api/v1/teacher/tasks/from-template`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: createTaskFromTemplateRequest + }, + ); + } + /** * @summary 标记通知为已读 */ @@ -1132,6 +1277,47 @@ const createTask1 = ( ); } +/** + * @summary 获取任务模板列表 + */ +const getTemplates1 = ( + params?: GetTemplates1Params, + ) => { + return request( + {url: `/api/v1/school/tasks/task-templates`, method: 'GET', + params + }, + ); + } + +/** + * @summary 创建任务模板 + */ +const createTemplate = ( + taskTemplateCreateRequest: TaskTemplateCreateRequest, + ) => { + return request( + {url: `/api/v1/school/tasks/task-templates`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: taskTemplateCreateRequest + }, + ); + } + +/** + * @summary 从模板创建任务 + */ +const createFromTemplate1 = ( + createTaskFromTemplateRequest: CreateTaskFromTemplateRequest, + ) => { + return request( + {url: `/api/v1/school/tasks/from-template`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: createTaskFromTemplateRequest + }, + ); + } + /** * @summary 获取学生分页 */ @@ -1159,6 +1345,20 @@ const createStudent = ( ); } +/** + * @summary 批量导入学生 + */ +const importStudents = ( + studentCreateRequest: StudentCreateRequest[], + ) => { + return request( + {url: `/api/v1/school/students/import`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: studentCreateRequest + }, + ); + } + /** * @summary 获取校本课程 */ @@ -1203,12 +1403,12 @@ const getSchedulePlans1 = ( * @summary 创建课表计划 */ const createSchedulePlan = ( - schedulePlan: SchedulePlan, + schedulePlanCreateRequest: SchedulePlanCreateRequest, ) => { return request( {url: `/api/v1/school/schedules`, method: 'POST', headers: {'Content-Type': 'application/json', }, - data: schedulePlan + data: schedulePlanCreateRequest }, ); } @@ -1240,6 +1440,35 @@ const createScheduleTemplate = ( ); } +/** + * @summary 应用课表模板 + */ +const applyScheduleTemplate = ( + id: number, + scheduleTemplateApplyRequest: ScheduleTemplateApplyRequest, + ) => { + return request( + {url: `/api/v1/school/schedules/templates/${id}/apply`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: scheduleTemplateApplyRequest + }, + ); + } + +/** + * @summary 批量创建排课 + */ +const batchCreateSchedules = ( + schedulePlanCreateRequest: SchedulePlanCreateRequest[], + ) => { + return request( + {url: `/api/v1/school/schedules/batch`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: schedulePlanCreateRequest + }, + ); + } + /** * @summary 获取家长分页 */ @@ -1309,6 +1538,30 @@ const resetPassword1 = ( ); } +/** + * @summary 标记通知为已读 + */ +const markAsRead1 = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/notifications/${id}/read`, method: 'POST' + }, + ); + } + +/** + * @summary 标记所有通知为已读 + */ +const markAllAsRead1 = ( + + ) => { + return request( + {url: `/api/v1/school/notifications/read-all`, method: 'POST' + }, + ); + } + /** * @summary 获取成长档案分页 */ @@ -1410,7 +1663,7 @@ const completeTask = ( /** * @summary 标记通知为已读 */ -const markAsRead1 = ( +const markAsRead2 = ( id: number, ) => { return request( @@ -1422,7 +1675,7 @@ const markAsRead1 = ( /** * @summary 标记所有通知为已读 */ -const markAllAsRead1 = ( +const markAllAsRead2 = ( ) => { return request( @@ -1862,6 +2115,106 @@ const createLesson1 = ( ); } +/** + * @summary 获取任务完成情况分页 + */ +const getCompletions = ( + id: number, + params?: GetCompletionsParams, + ) => { + return request( + {url: `/api/v1/teacher/tasks/${id}/completions`, method: 'GET', + params + }, + ); + } + +/** + * @summary 获取任务模板列表 + */ +const getTemplates = ( + params?: GetTemplatesParams, + ) => { + return request( + {url: `/api/v1/teacher/tasks/task-templates`, method: 'GET', + params + }, + ); + } + +/** + * @summary 根据 ID 获取任务模板 + */ +const getTemplate = ( + id: number, + ) => { + return request( + {url: `/api/v1/teacher/tasks/task-templates/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary 获取默认模板(按类型) + */ +const getDefaultTemplate = ( + taskType: string, + ) => { + return request( + {url: `/api/v1/teacher/tasks/task-templates/default/${taskType}`, method: 'GET' + }, + ); + } + +/** + * @summary 获取任务统计数据 + */ +const getStats = ( + + ) => { + return request( + {url: `/api/v1/teacher/tasks/stats`, method: 'GET' + }, + ); + } + +/** + * @summary 获取月度统计趋势 + */ +const getMonthlyStats = ( + params?: GetMonthlyStatsParams, + ) => { + return request( + {url: `/api/v1/teacher/tasks/stats/monthly`, method: 'GET', + params + }, + ); + } + +/** + * @summary 按任务类型统计 + */ +const getStatsByType = ( + + ) => { + return request( + {url: `/api/v1/teacher/tasks/stats/by-type`, method: 'GET' + }, + ); + } + +/** + * @summary 按班级统计 + */ +const getStatsByClass = ( + + ) => { + return request( + {url: `/api/v1/teacher/tasks/stats/by-class`, method: 'GET' + }, + ); + } + /** * @summary 获取校本课程 */ @@ -2059,10 +2412,97 @@ const getAllCourses = ( ); } +/** + * @summary 获取任务完成情况分页 + */ +const getCompletions1 = ( + id: number, + params?: GetCompletions1Params, + ) => { + return request( + {url: `/api/v1/school/tasks/${id}/completions`, method: 'GET', + params + }, + ); + } + +/** + * @summary 获取默认模板(按类型) + */ +const getDefaultTemplate1 = ( + taskType: string, + ) => { + return request( + {url: `/api/v1/school/tasks/task-templates/default/${taskType}`, method: 'GET' + }, + ); + } + +/** + * @summary 获取任务统计数据 + */ +const getStats1 = ( + + ) => { + return request( + {url: `/api/v1/school/tasks/stats`, method: 'GET' + }, + ); + } + +/** + * @summary 获取月度统计趋势 + */ +const getMonthlyStats1 = ( + params?: GetMonthlyStats1Params, + ) => { + return request( + {url: `/api/v1/school/tasks/stats/monthly`, method: 'GET', + params + }, + ); + } + +/** + * @summary 按任务类型统计 + */ +const getStatsByType1 = ( + + ) => { + return request( + {url: `/api/v1/school/tasks/stats/by-type`, method: 'GET' + }, + ); + } + +/** + * @summary 按班级统计 + */ +const getStatsByClass1 = ( + + ) => { + return request( + {url: `/api/v1/school/tasks/stats/by-class`, method: 'GET' + }, + ); + } + +/** + * @summary 获取导入模板 + */ +const getImportTemplate = ( + + ) => { + return request( + {url: `/api/v1/school/students/import/template`, method: 'GET' + }, + ); + } + /** * @summary 获取学校统计数据 */ -const getStats = ( +const getStats2 = ( ) => { return request( @@ -2071,6 +2511,82 @@ const getStats = ( ); } +/** + * @summary 获取活跃教师统计 + */ +const getActiveTeachers = ( + params?: GetActiveTeachersParams, + ) => { + return request( + {url: `/api/v1/school/stats/teachers`, method: 'GET', + params + }, + ); + } + +/** + * @summary 获取课时趋势(最近 N 个月) + */ +const getLessonTrend = ( + params?: GetLessonTrendParams, + ) => { + return request( + {url: `/api/v1/school/stats/lesson-trend`, method: 'GET', + params + }, + ); + } + +/** + * @summary 获取课程使用统计 + */ +const getCourseUsageStats = ( + + ) => { + return request( + {url: `/api/v1/school/stats/courses`, method: 'GET' + }, + ); + } + +/** + * @summary 获取课程分布统计(饼图数据) + */ +const getCourseDistribution = ( + + ) => { + return request( + {url: `/api/v1/school/stats/course-distribution`, method: 'GET' + }, + ); + } + +/** + * @summary 获取最近活动记录 + */ +const getRecentActivities = ( + params?: GetRecentActivitiesParams, + ) => { + return request( + {url: `/api/v1/school/stats/activities`, method: 'GET', + params + }, + ); + } + +/** + * @summary 获取课表(按日期范围) + */ +const getTimetable = ( + params?: GetTimetableParams, + ) => { + return request( + {url: `/api/v1/school/schedules/timetable`, method: 'GET', + params + }, + ); + } + /** * @summary 获取学校操作日志 */ @@ -2084,6 +2600,43 @@ const getLogs = ( ); } +/** + * @summary 获取我的通知 + */ +const getMyNotifications1 = ( + params?: GetMyNotifications1Params, + ) => { + return request( + {url: `/api/v1/school/notifications`, method: 'GET', + params + }, + ); + } + +/** + * @summary 根据 ID 获取通知 + */ +const getNotification1 = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/notifications/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary 获取未读通知数量 + */ +const getUnreadCount1 = ( + + ) => { + return request( + {url: `/api/v1/school/notifications/unread-count`, method: 'GET' + }, + ); + } + /** * @summary 导出教师信息到Excel */ @@ -2186,8 +2739,8 @@ const getTasksByStudent = ( /** * @summary 获取我的通知 */ -const getMyNotifications1 = ( - params?: GetMyNotifications1Params, +const getMyNotifications2 = ( + params?: GetMyNotifications2Params, ) => { return request( {url: `/api/v1/parent/notifications`, method: 'GET', @@ -2199,7 +2752,7 @@ const getMyNotifications1 = ( /** * @summary 根据ID获取通知 */ -const getNotification1 = ( +const getNotification2 = ( id: number, ) => { return request( @@ -2211,7 +2764,7 @@ const getNotification1 = ( /** * @summary 获取未读通知数量 */ -const getUnreadCount1 = ( +const getUnreadCount2 = ( ) => { return request( @@ -2299,7 +2852,7 @@ const getAllActiveTenants = ( /** * @summary 获取整体统计数据 */ -const getStats1 = ( +const getStats3 = ( ) => { return request( @@ -2386,13 +2939,27 @@ const getReviewCoursePage = ( } /** - * @summary 删除课表模板 + * @summary 移除班级教师 */ -const deleteScheduleTemplate = ( +const removeTeacher = ( id: number, + teacherId: number, ) => { return request( - {url: `/api/v1/school/schedules/templates/${id}`, method: 'DELETE' + {url: `/api/v1/school/classes/${id}/teachers/${teacherId}`, method: 'DELETE' + }, + ); + } + +/** + * @summary 移除班级学生 + */ +const removeStudent = ( + id: number, + studentId: number, + ) => { + return request( + {url: `/api/v1/school/classes/${id}/students/${studentId}`, method: 'DELETE' }, ); } @@ -2410,7 +2977,8 @@ const deleteFile = ( ); } -return {getTask,updateTask,deleteTask,getLesson,updateLesson,getGrowthRecord,updateGrowthRecord,deleteGrowthRecord,getTeacher,updateTeacher,deleteTeacher,getTask1,updateTask1,deleteTask1,getStudent,updateStudent,deleteStudent,getSettings,updateSettings,getCourse2,updateCourse,deleteCourse,getSchedulePlan1,updateSchedulePlan,deleteSchedulePlan,getParent,updateParent,deleteParent,getGrowthRecord1,updateGrowthRecord1,deleteGrowthRecord1,getClass,updateClass,deleteClass,getGrowthRecord2,updateGrowthRecord2,deleteGrowthRecord2,getTheme,updateTheme,deleteTheme,getTenant,updateTenant,deleteTenant,updateTenantStatus,updateTenantQuota,getSettings1,updateSettings1,updateLibrary,deleteLibrary,updateItem,deleteItem,getPackage1,updatePackage,deletePackage,getCourse3,updateCourse1,deleteCourse1,getLesson2,updateLesson1,deleteLesson,getTaskPage,createTask,markAsRead,markAllAsRead,getMyLessons,createLesson,startLesson,completeLesson,cancelLesson,getGrowthRecordPage,createGrowthRecord,getTeacherPage,createTeacher,resetPassword,getTaskPage1,createTask1,getStudentPage,createStudent,getCourses1,createCourse,getSchedulePlans1,createSchedulePlan,getScheduleTemplates,createScheduleTemplate,getParentPage,createParent,bindStudent,unbindStudent,resetPassword1,getGrowthRecordPage1,createGrowthRecord1,getClassPage,createClass,assignTeachers,assignStudents,completeTask,markAsRead1,markAllAsRead1,createGrowthRecord2,uploadFile,logout,login,changePassword,getThemes,createTheme,getTenantPage,createTenant,resetTenantPassword,getLibraries,createLibrary,getItems,createItem,getPackages1,createPackage,submitPackage,reviewPackage,publishPackage,offlinePackage,getCoursePage1,createCourse1,withdrawCourse,unpublishCourse,submitCourse,republishCourse,rejectCourse,publishCourse,directPublishCourse,archiveCourse,approveCourse,getLessons1,createLesson1,getCourses,getCourse,getSchedulePlans,getSchedulePlan,getMyNotifications,getNotification,getUnreadCount,getTodayLessons,getDashboard,getWeeklyLessons,getTodayLessons1,getCoursePage,getCourse1,getLessons,getLesson1,getAllCourses,getStats,getLogs,exportTeachers,exportStudents,exportLessons,exportGrowthRecords,getPackages,getPackage,getTask2,getTasksByStudent,getMyNotifications1,getNotification1,getUnreadCount1,getGrowthRecordsByStudent,getRecentGrowthRecords,getMyChildren,getChild,getCurrentUser,getAllActiveTenants,getStats1,getTrendData,getActiveTenants,getPopularCourses,getActivities,getLogs1,getReviewCoursePage,deleteScheduleTemplate,deleteFile}}; +return {updateCompletion,getTask,updateTask,deleteTask,getLesson,updateLesson,getGrowthRecord,updateGrowthRecord,deleteGrowthRecord,getTeacher,updateTeacher,deleteTeacher,updateCompletion1,getTask1,updateTask1,deleteTask1,getTemplate1,updateTemplate,deleteTemplate,getStudent,updateStudent,deleteStudent,getSettings,updateSettings,getCourse2,updateCourse,deleteCourse,getSchedulePlan1,updateSchedulePlan,deleteSchedulePlan,getScheduleTemplate,updateScheduleTemplate,deleteScheduleTemplate,getParent,updateParent,deleteParent,getGrowthRecord1,updateGrowthRecord1,deleteGrowthRecord1,getClass,updateClass,deleteClass,getGrowthRecord2,updateGrowthRecord2,deleteGrowthRecord2,getTheme,updateTheme,deleteTheme,getTenant,updateTenant,deleteTenant,updateTenantStatus,updateTenantQuota,getSettings1,updateSettings1,updateLibrary,deleteLibrary,updateItem,deleteItem,getPackage1,updatePackage,deletePackage,getCourse3,updateCourse1,deleteCourse1,getLesson2,updateLesson1,deleteLesson,getTaskPage,createTask,createFromTemplate,markAsRead,markAllAsRead,getMyLessons,createLesson,startLesson,completeLesson,cancelLesson,getGrowthRecordPage,createGrowthRecord,getTeacherPage,createTeacher,resetPassword,getTaskPage1,createTask1,getTemplates1,createTemplate,createFromTemplate1,getStudentPage,createStudent,importStudents,getCourses1,createCourse,getSchedulePlans1,createSchedulePlan,getScheduleTemplates,createScheduleTemplate,applyScheduleTemplate,batchCreateSchedules,getParentPage,createParent,bindStudent,unbindStudent,resetPassword1,markAsRead1,markAllAsRead1,getGrowthRecordPage1,createGrowthRecord1,getClassPage,createClass,assignTeachers,assignStudents,completeTask,markAsRead2,markAllAsRead2,createGrowthRecord2,uploadFile,logout,login,changePassword,getThemes,createTheme,getTenantPage,createTenant,resetTenantPassword,getLibraries,createLibrary,getItems,createItem,getPackages1,createPackage,submitPackage,reviewPackage,publishPackage,offlinePackage,getCoursePage1,createCourse1,withdrawCourse,unpublishCourse,submitCourse,republishCourse,rejectCourse,publishCourse,directPublishCourse,archiveCourse,approveCourse,getLessons1,createLesson1,getCompletions,getTemplates,getTemplate,getDefaultTemplate,getStats,getMonthlyStats,getStatsByType,getStatsByClass,getCourses,getCourse,getSchedulePlans,getSchedulePlan,getMyNotifications,getNotification,getUnreadCount,getTodayLessons,getDashboard,getWeeklyLessons,getTodayLessons1,getCoursePage,getCourse1,getLessons,getLesson1,getAllCourses,getCompletions1,getDefaultTemplate1,getStats1,getMonthlyStats1,getStatsByType1,getStatsByClass1,getImportTemplate,getStats2,getActiveTeachers,getLessonTrend,getCourseUsageStats,getCourseDistribution,getRecentActivities,getTimetable,getLogs,getMyNotifications1,getNotification1,getUnreadCount1,exportTeachers,exportStudents,exportLessons,exportGrowthRecords,getPackages,getPackage,getTask2,getTasksByStudent,getMyNotifications2,getNotification2,getUnreadCount2,getGrowthRecordsByStudent,getRecentGrowthRecords,getMyChildren,getChild,getCurrentUser,getAllActiveTenants,getStats3,getTrendData,getActiveTenants,getPopularCourses,getActivities,getLogs1,getReviewCoursePage,removeTeacher,removeStudent,deleteFile}}; +export type UpdateCompletionResult = NonNullable['updateCompletion']>>> export type GetTaskResult = NonNullable['getTask']>>> export type UpdateTaskResult = NonNullable['updateTask']>>> export type DeleteTaskResult = NonNullable['deleteTask']>>> @@ -2422,9 +2990,13 @@ export type DeleteGrowthRecordResult = NonNullable['getTeacher']>>> export type UpdateTeacherResult = NonNullable['updateTeacher']>>> export type DeleteTeacherResult = NonNullable['deleteTeacher']>>> +export type UpdateCompletion1Result = NonNullable['updateCompletion1']>>> export type GetTask1Result = NonNullable['getTask1']>>> export type UpdateTask1Result = NonNullable['updateTask1']>>> export type DeleteTask1Result = NonNullable['deleteTask1']>>> +export type GetTemplate1Result = NonNullable['getTemplate1']>>> +export type UpdateTemplateResult = NonNullable['updateTemplate']>>> +export type DeleteTemplateResult = NonNullable['deleteTemplate']>>> export type GetStudentResult = NonNullable['getStudent']>>> export type UpdateStudentResult = NonNullable['updateStudent']>>> export type DeleteStudentResult = NonNullable['deleteStudent']>>> @@ -2436,6 +3008,9 @@ export type DeleteCourseResult = NonNullable['getSchedulePlan1']>>> export type UpdateSchedulePlanResult = NonNullable['updateSchedulePlan']>>> export type DeleteSchedulePlanResult = NonNullable['deleteSchedulePlan']>>> +export type GetScheduleTemplateResult = NonNullable['getScheduleTemplate']>>> +export type UpdateScheduleTemplateResult = NonNullable['updateScheduleTemplate']>>> +export type DeleteScheduleTemplateResult = NonNullable['deleteScheduleTemplate']>>> export type GetParentResult = NonNullable['getParent']>>> export type UpdateParentResult = NonNullable['updateParent']>>> export type DeleteParentResult = NonNullable['deleteParent']>>> @@ -2473,6 +3048,7 @@ export type UpdateLesson1Result = NonNullable['deleteLesson']>>> export type GetTaskPageResult = NonNullable['getTaskPage']>>> export type CreateTaskResult = NonNullable['createTask']>>> +export type CreateFromTemplateResult = NonNullable['createFromTemplate']>>> export type MarkAsReadResult = NonNullable['markAsRead']>>> export type MarkAllAsReadResult = NonNullable['markAllAsRead']>>> export type GetMyLessonsResult = NonNullable['getMyLessons']>>> @@ -2487,19 +3063,27 @@ export type CreateTeacherResult = NonNullable['resetPassword']>>> export type GetTaskPage1Result = NonNullable['getTaskPage1']>>> export type CreateTask1Result = NonNullable['createTask1']>>> +export type GetTemplates1Result = NonNullable['getTemplates1']>>> +export type CreateTemplateResult = NonNullable['createTemplate']>>> +export type CreateFromTemplate1Result = NonNullable['createFromTemplate1']>>> export type GetStudentPageResult = NonNullable['getStudentPage']>>> export type CreateStudentResult = NonNullable['createStudent']>>> +export type ImportStudentsResult = NonNullable['importStudents']>>> export type GetCourses1Result = NonNullable['getCourses1']>>> export type CreateCourseResult = NonNullable['createCourse']>>> export type GetSchedulePlans1Result = NonNullable['getSchedulePlans1']>>> export type CreateSchedulePlanResult = NonNullable['createSchedulePlan']>>> export type GetScheduleTemplatesResult = NonNullable['getScheduleTemplates']>>> export type CreateScheduleTemplateResult = NonNullable['createScheduleTemplate']>>> +export type ApplyScheduleTemplateResult = NonNullable['applyScheduleTemplate']>>> +export type BatchCreateSchedulesResult = NonNullable['batchCreateSchedules']>>> export type GetParentPageResult = NonNullable['getParentPage']>>> export type CreateParentResult = NonNullable['createParent']>>> export type BindStudentResult = NonNullable['bindStudent']>>> export type UnbindStudentResult = NonNullable['unbindStudent']>>> export type ResetPassword1Result = NonNullable['resetPassword1']>>> +export type MarkAsRead1Result = NonNullable['markAsRead1']>>> +export type MarkAllAsRead1Result = NonNullable['markAllAsRead1']>>> export type GetGrowthRecordPage1Result = NonNullable['getGrowthRecordPage1']>>> export type CreateGrowthRecord1Result = NonNullable['createGrowthRecord1']>>> export type GetClassPageResult = NonNullable['getClassPage']>>> @@ -2507,8 +3091,8 @@ export type CreateClassResult = NonNullable['assignTeachers']>>> export type AssignStudentsResult = NonNullable['assignStudents']>>> export type CompleteTaskResult = NonNullable['completeTask']>>> -export type MarkAsRead1Result = NonNullable['markAsRead1']>>> -export type MarkAllAsRead1Result = NonNullable['markAllAsRead1']>>> +export type MarkAsRead2Result = NonNullable['markAsRead2']>>> +export type MarkAllAsRead2Result = NonNullable['markAllAsRead2']>>> export type CreateGrowthRecord2Result = NonNullable['createGrowthRecord2']>>> export type UploadFileResult = NonNullable['uploadFile']>>> export type LogoutResult = NonNullable['logout']>>> @@ -2542,6 +3126,14 @@ export type ArchiveCourseResult = NonNullable['approveCourse']>>> export type GetLessons1Result = NonNullable['getLessons1']>>> export type CreateLesson1Result = NonNullable['createLesson1']>>> +export type GetCompletionsResult = NonNullable['getCompletions']>>> +export type GetTemplatesResult = NonNullable['getTemplates']>>> +export type GetTemplateResult = NonNullable['getTemplate']>>> +export type GetDefaultTemplateResult = NonNullable['getDefaultTemplate']>>> +export type GetStatsResult = NonNullable['getStats']>>> +export type GetMonthlyStatsResult = NonNullable['getMonthlyStats']>>> +export type GetStatsByTypeResult = NonNullable['getStatsByType']>>> +export type GetStatsByClassResult = NonNullable['getStatsByClass']>>> export type GetCoursesResult = NonNullable['getCourses']>>> export type GetCourseResult = NonNullable['getCourse']>>> export type GetSchedulePlansResult = NonNullable['getSchedulePlans']>>> @@ -2558,8 +3150,24 @@ export type GetCourse1Result = NonNullable['getLessons']>>> export type GetLesson1Result = NonNullable['getLesson1']>>> export type GetAllCoursesResult = NonNullable['getAllCourses']>>> -export type GetStatsResult = NonNullable['getStats']>>> +export type GetCompletions1Result = NonNullable['getCompletions1']>>> +export type GetDefaultTemplate1Result = NonNullable['getDefaultTemplate1']>>> +export type GetStats1Result = NonNullable['getStats1']>>> +export type GetMonthlyStats1Result = NonNullable['getMonthlyStats1']>>> +export type GetStatsByType1Result = NonNullable['getStatsByType1']>>> +export type GetStatsByClass1Result = NonNullable['getStatsByClass1']>>> +export type GetImportTemplateResult = NonNullable['getImportTemplate']>>> +export type GetStats2Result = NonNullable['getStats2']>>> +export type GetActiveTeachersResult = NonNullable['getActiveTeachers']>>> +export type GetLessonTrendResult = NonNullable['getLessonTrend']>>> +export type GetCourseUsageStatsResult = NonNullable['getCourseUsageStats']>>> +export type GetCourseDistributionResult = NonNullable['getCourseDistribution']>>> +export type GetRecentActivitiesResult = NonNullable['getRecentActivities']>>> +export type GetTimetableResult = NonNullable['getTimetable']>>> export type GetLogsResult = NonNullable['getLogs']>>> +export type GetMyNotifications1Result = NonNullable['getMyNotifications1']>>> +export type GetNotification1Result = NonNullable['getNotification1']>>> +export type GetUnreadCount1Result = NonNullable['getUnreadCount1']>>> export type ExportTeachersResult = NonNullable['exportTeachers']>>> export type ExportStudentsResult = NonNullable['exportStudents']>>> export type ExportLessonsResult = NonNullable['exportLessons']>>> @@ -2568,21 +3176,22 @@ export type GetPackagesResult = NonNullable['getPackage']>>> export type GetTask2Result = NonNullable['getTask2']>>> export type GetTasksByStudentResult = NonNullable['getTasksByStudent']>>> -export type GetMyNotifications1Result = NonNullable['getMyNotifications1']>>> -export type GetNotification1Result = NonNullable['getNotification1']>>> -export type GetUnreadCount1Result = NonNullable['getUnreadCount1']>>> +export type GetMyNotifications2Result = NonNullable['getMyNotifications2']>>> +export type GetNotification2Result = NonNullable['getNotification2']>>> +export type GetUnreadCount2Result = NonNullable['getUnreadCount2']>>> export type GetGrowthRecordsByStudentResult = NonNullable['getGrowthRecordsByStudent']>>> export type GetRecentGrowthRecordsResult = NonNullable['getRecentGrowthRecords']>>> export type GetMyChildrenResult = NonNullable['getMyChildren']>>> export type GetChildResult = NonNullable['getChild']>>> export type GetCurrentUserResult = NonNullable['getCurrentUser']>>> export type GetAllActiveTenantsResult = NonNullable['getAllActiveTenants']>>> -export type GetStats1Result = NonNullable['getStats1']>>> +export type GetStats3Result = NonNullable['getStats3']>>> export type GetTrendDataResult = NonNullable['getTrendData']>>> export type GetActiveTenantsResult = NonNullable['getActiveTenants']>>> export type GetPopularCoursesResult = NonNullable['getPopularCourses']>>> export type GetActivitiesResult = NonNullable['getActivities']>>> export type GetLogs1Result = NonNullable['getLogs1']>>> export type GetReviewCoursePageResult = NonNullable['getReviewCoursePage']>>> -export type DeleteScheduleTemplateResult = NonNullable['deleteScheduleTemplate']>>> +export type RemoveTeacherResult = NonNullable['removeTeacher']>>> +export type RemoveStudentResult = NonNullable['removeStudent']>>> export type DeleteFileResult = NonNullable['deleteFile']>>> diff --git a/reading-platform-frontend/src/api/generated/model/approveCourseParams.ts b/reading-platform-frontend/src/api/generated/model/approveCourseParams.ts index 36b59ff..7c48e33 100644 --- a/reading-platform-frontend/src/api/generated/model/approveCourseParams.ts +++ b/reading-platform-frontend/src/api/generated/model/approveCourseParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/bindStudentParams.ts b/reading-platform-frontend/src/api/generated/model/bindStudentParams.ts index 884b2ba..e289c88 100644 --- a/reading-platform-frontend/src/api/generated/model/bindStudentParams.ts +++ b/reading-platform-frontend/src/api/generated/model/bindStudentParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/changePasswordParams.ts b/reading-platform-frontend/src/api/generated/model/changePasswordParams.ts index 59babeb..9c0c98e 100644 --- a/reading-platform-frontend/src/api/generated/model/changePasswordParams.ts +++ b/reading-platform-frontend/src/api/generated/model/changePasswordParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/classCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/classCreateRequest.ts index 65486e5..b6da618 100644 --- a/reading-platform-frontend/src/api/generated/model/classCreateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/classCreateRequest.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/classUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/classUpdateRequest.ts index 106c578..89922ac 100644 --- a/reading-platform-frontend/src/api/generated/model/classUpdateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/classUpdateRequest.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/clazz.ts b/reading-platform-frontend/src/api/generated/model/clazz.ts index 99b8ef1..550d0b4 100644 --- a/reading-platform-frontend/src/api/generated/model/clazz.ts +++ b/reading-platform-frontend/src/api/generated/model/clazz.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/completeTaskParams.ts b/reading-platform-frontend/src/api/generated/model/completeTaskParams.ts index 4eaeeee..36cea60 100644 --- a/reading-platform-frontend/src/api/generated/model/completeTaskParams.ts +++ b/reading-platform-frontend/src/api/generated/model/completeTaskParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/course.ts b/reading-platform-frontend/src/api/generated/model/course.ts index 19729c3..657bf49 100644 --- a/reading-platform-frontend/src/api/generated/model/course.ts +++ b/reading-platform-frontend/src/api/generated/model/course.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/courseCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/courseCreateRequest.ts index a1deb54..9b028ac 100644 --- a/reading-platform-frontend/src/api/generated/model/courseCreateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/courseCreateRequest.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/courseLesson.ts b/reading-platform-frontend/src/api/generated/model/courseLesson.ts index 482057d..7c0eb8b 100644 --- a/reading-platform-frontend/src/api/generated/model/courseLesson.ts +++ b/reading-platform-frontend/src/api/generated/model/courseLesson.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/coursePackage.ts b/reading-platform-frontend/src/api/generated/model/coursePackage.ts index e02e142..8347462 100644 --- a/reading-platform-frontend/src/api/generated/model/coursePackage.ts +++ b/reading-platform-frontend/src/api/generated/model/coursePackage.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/courseUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/courseUpdateRequest.ts index b2be311..d736be9 100644 --- a/reading-platform-frontend/src/api/generated/model/courseUpdateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/courseUpdateRequest.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/createTaskFromTemplateRequest.ts b/reading-platform-frontend/src/api/generated/model/createTaskFromTemplateRequest.ts new file mode 100644 index 0000000..cf886ed --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/createTaskFromTemplateRequest.ts @@ -0,0 +1,23 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * 从模板创建任务请求 + */ +export interface CreateTaskFromTemplateRequest { + /** 模板 ID */ + templateId?: number; + /** 目标 ID 列表(班级 ID 或学生 ID) */ + targetIds: number[]; + /** 目标类型:CLASS-班级,STUDENT-学生 */ + targetType?: string; + /** 任务开始日期 */ + startDate?: string; + /** 任务截止日期 */ + endDate?: string; +} diff --git a/reading-platform-frontend/src/api/generated/model/deleteFileParams.ts b/reading-platform-frontend/src/api/generated/model/deleteFileParams.ts index 1562ada..2fd6991 100644 --- a/reading-platform-frontend/src/api/generated/model/deleteFileParams.ts +++ b/reading-platform-frontend/src/api/generated/model/deleteFileParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getActiveTeachersParams.ts b/reading-platform-frontend/src/api/generated/model/getActiveTeachersParams.ts new file mode 100644 index 0000000..906009b --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getActiveTeachersParams.ts @@ -0,0 +1,11 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetActiveTeachersParams = { +limit?: number; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getActiveTenantsParams.ts b/reading-platform-frontend/src/api/generated/model/getActiveTenantsParams.ts index 1b8c791..40ea417 100644 --- a/reading-platform-frontend/src/api/generated/model/getActiveTenantsParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getActiveTenantsParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getActivitiesParams.ts b/reading-platform-frontend/src/api/generated/model/getActivitiesParams.ts index f6c3b27..a7f6bdc 100644 --- a/reading-platform-frontend/src/api/generated/model/getActivitiesParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getActivitiesParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getClassPageParams.ts b/reading-platform-frontend/src/api/generated/model/getClassPageParams.ts index 36ff88c..ac5855e 100644 --- a/reading-platform-frontend/src/api/generated/model/getClassPageParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getClassPageParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getCompletions1Params.ts b/reading-platform-frontend/src/api/generated/model/getCompletions1Params.ts new file mode 100644 index 0000000..2d44c78 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getCompletions1Params.ts @@ -0,0 +1,13 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetCompletions1Params = { +page?: number; +pageSize?: number; +status?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getCompletionsParams.ts b/reading-platform-frontend/src/api/generated/model/getCompletionsParams.ts new file mode 100644 index 0000000..5294fb0 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getCompletionsParams.ts @@ -0,0 +1,13 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetCompletionsParams = { +page?: number; +pageSize?: number; +status?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getCoursePage1Params.ts b/reading-platform-frontend/src/api/generated/model/getCoursePage1Params.ts index 9ede597..a4fe368 100644 --- a/reading-platform-frontend/src/api/generated/model/getCoursePage1Params.ts +++ b/reading-platform-frontend/src/api/generated/model/getCoursePage1Params.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getCoursePageParams.ts b/reading-platform-frontend/src/api/generated/model/getCoursePageParams.ts index ff100e3..5b5412b 100644 --- a/reading-platform-frontend/src/api/generated/model/getCoursePageParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getCoursePageParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getCourses1Params.ts b/reading-platform-frontend/src/api/generated/model/getCourses1Params.ts index 1dace18..47f00c6 100644 --- a/reading-platform-frontend/src/api/generated/model/getCourses1Params.ts +++ b/reading-platform-frontend/src/api/generated/model/getCourses1Params.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getCoursesParams.ts b/reading-platform-frontend/src/api/generated/model/getCoursesParams.ts index 8e76c98..afa95ed 100644 --- a/reading-platform-frontend/src/api/generated/model/getCoursesParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getCoursesParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getGrowthRecordPage1Params.ts b/reading-platform-frontend/src/api/generated/model/getGrowthRecordPage1Params.ts index 748a71d..6778282 100644 --- a/reading-platform-frontend/src/api/generated/model/getGrowthRecordPage1Params.ts +++ b/reading-platform-frontend/src/api/generated/model/getGrowthRecordPage1Params.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getGrowthRecordPageParams.ts b/reading-platform-frontend/src/api/generated/model/getGrowthRecordPageParams.ts index 08b3dc0..e543e8d 100644 --- a/reading-platform-frontend/src/api/generated/model/getGrowthRecordPageParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getGrowthRecordPageParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getGrowthRecordsByStudentParams.ts b/reading-platform-frontend/src/api/generated/model/getGrowthRecordsByStudentParams.ts index fc86c21..ee5ac0b 100644 --- a/reading-platform-frontend/src/api/generated/model/getGrowthRecordsByStudentParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getGrowthRecordsByStudentParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getItemsParams.ts b/reading-platform-frontend/src/api/generated/model/getItemsParams.ts index 5a17bb9..8214b1d 100644 --- a/reading-platform-frontend/src/api/generated/model/getItemsParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getItemsParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getLessonTrendParams.ts b/reading-platform-frontend/src/api/generated/model/getLessonTrendParams.ts new file mode 100644 index 0000000..aac8795 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getLessonTrendParams.ts @@ -0,0 +1,11 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetLessonTrendParams = { +months?: number; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getLibrariesParams.ts b/reading-platform-frontend/src/api/generated/model/getLibrariesParams.ts index 64b112e..db879c2 100644 --- a/reading-platform-frontend/src/api/generated/model/getLibrariesParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getLibrariesParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getLogs1Params.ts b/reading-platform-frontend/src/api/generated/model/getLogs1Params.ts index 81d4865..cfed552 100644 --- a/reading-platform-frontend/src/api/generated/model/getLogs1Params.ts +++ b/reading-platform-frontend/src/api/generated/model/getLogs1Params.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getLogsParams.ts b/reading-platform-frontend/src/api/generated/model/getLogsParams.ts index 78928cd..3fa5f0b 100644 --- a/reading-platform-frontend/src/api/generated/model/getLogsParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getLogsParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getMonthlyStats1Params.ts b/reading-platform-frontend/src/api/generated/model/getMonthlyStats1Params.ts new file mode 100644 index 0000000..e62746b --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getMonthlyStats1Params.ts @@ -0,0 +1,11 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetMonthlyStats1Params = { +months?: number; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getMonthlyStatsParams.ts b/reading-platform-frontend/src/api/generated/model/getMonthlyStatsParams.ts new file mode 100644 index 0000000..e80d5f9 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getMonthlyStatsParams.ts @@ -0,0 +1,11 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetMonthlyStatsParams = { +months?: number; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getMyLessonsParams.ts b/reading-platform-frontend/src/api/generated/model/getMyLessonsParams.ts index d40f18e..7055a5f 100644 --- a/reading-platform-frontend/src/api/generated/model/getMyLessonsParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getMyLessonsParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getMyNotifications1Params.ts b/reading-platform-frontend/src/api/generated/model/getMyNotifications1Params.ts index 3229eaf..6426e57 100644 --- a/reading-platform-frontend/src/api/generated/model/getMyNotifications1Params.ts +++ b/reading-platform-frontend/src/api/generated/model/getMyNotifications1Params.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getMyNotifications2Params.ts b/reading-platform-frontend/src/api/generated/model/getMyNotifications2Params.ts new file mode 100644 index 0000000..38a0865 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getMyNotifications2Params.ts @@ -0,0 +1,13 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetMyNotifications2Params = { +page?: number; +pageSize?: number; +isRead?: number; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getMyNotificationsParams.ts b/reading-platform-frontend/src/api/generated/model/getMyNotificationsParams.ts index d4aa05c..65a3192 100644 --- a/reading-platform-frontend/src/api/generated/model/getMyNotificationsParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getMyNotificationsParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getPackages1Params.ts b/reading-platform-frontend/src/api/generated/model/getPackages1Params.ts index ae9ff2c..281e870 100644 --- a/reading-platform-frontend/src/api/generated/model/getPackages1Params.ts +++ b/reading-platform-frontend/src/api/generated/model/getPackages1Params.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getPackagesParams.ts b/reading-platform-frontend/src/api/generated/model/getPackagesParams.ts index 5cf7228..c855daa 100644 --- a/reading-platform-frontend/src/api/generated/model/getPackagesParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getPackagesParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getParentPageParams.ts b/reading-platform-frontend/src/api/generated/model/getParentPageParams.ts index 51e9ced..4e9b487 100644 --- a/reading-platform-frontend/src/api/generated/model/getParentPageParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getParentPageParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getPopularCoursesParams.ts b/reading-platform-frontend/src/api/generated/model/getPopularCoursesParams.ts index 50efb16..a73d77f 100644 --- a/reading-platform-frontend/src/api/generated/model/getPopularCoursesParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getPopularCoursesParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getRecentActivitiesParams.ts b/reading-platform-frontend/src/api/generated/model/getRecentActivitiesParams.ts new file mode 100644 index 0000000..fdac59a --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getRecentActivitiesParams.ts @@ -0,0 +1,11 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetRecentActivitiesParams = { +limit?: number; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getRecentGrowthRecordsParams.ts b/reading-platform-frontend/src/api/generated/model/getRecentGrowthRecordsParams.ts index 8445aaa..a9062e1 100644 --- a/reading-platform-frontend/src/api/generated/model/getRecentGrowthRecordsParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getRecentGrowthRecordsParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getReviewCoursePageParams.ts b/reading-platform-frontend/src/api/generated/model/getReviewCoursePageParams.ts index 349fd2e..7020e9c 100644 --- a/reading-platform-frontend/src/api/generated/model/getReviewCoursePageParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getReviewCoursePageParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getSchedulePlans1Params.ts b/reading-platform-frontend/src/api/generated/model/getSchedulePlans1Params.ts index 8ec05f2..ecc0a87 100644 --- a/reading-platform-frontend/src/api/generated/model/getSchedulePlans1Params.ts +++ b/reading-platform-frontend/src/api/generated/model/getSchedulePlans1Params.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation @@ -10,4 +10,6 @@ export type GetSchedulePlans1Params = { pageNum?: number; pageSize?: number; classId?: number; +startDate?: string; +endDate?: string; }; diff --git a/reading-platform-frontend/src/api/generated/model/getSchedulePlansParams.ts b/reading-platform-frontend/src/api/generated/model/getSchedulePlansParams.ts index ebc3507..583cf0b 100644 --- a/reading-platform-frontend/src/api/generated/model/getSchedulePlansParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getSchedulePlansParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getScheduleTemplatesParams.ts b/reading-platform-frontend/src/api/generated/model/getScheduleTemplatesParams.ts index d38c2d0..acf81b5 100644 --- a/reading-platform-frontend/src/api/generated/model/getScheduleTemplatesParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getScheduleTemplatesParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getStudentPageParams.ts b/reading-platform-frontend/src/api/generated/model/getStudentPageParams.ts index 756b4c8..a8f8e52 100644 --- a/reading-platform-frontend/src/api/generated/model/getStudentPageParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getStudentPageParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getTaskPage1Params.ts b/reading-platform-frontend/src/api/generated/model/getTaskPage1Params.ts index 25bf6e6..4de0118 100644 --- a/reading-platform-frontend/src/api/generated/model/getTaskPage1Params.ts +++ b/reading-platform-frontend/src/api/generated/model/getTaskPage1Params.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getTaskPageParams.ts b/reading-platform-frontend/src/api/generated/model/getTaskPageParams.ts index d080615..bb8d874 100644 --- a/reading-platform-frontend/src/api/generated/model/getTaskPageParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getTaskPageParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getTasksByStudentParams.ts b/reading-platform-frontend/src/api/generated/model/getTasksByStudentParams.ts index d30df3a..cf9b698 100644 --- a/reading-platform-frontend/src/api/generated/model/getTasksByStudentParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getTasksByStudentParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getTeacherPageParams.ts b/reading-platform-frontend/src/api/generated/model/getTeacherPageParams.ts index 646477a..f86f637 100644 --- a/reading-platform-frontend/src/api/generated/model/getTeacherPageParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getTeacherPageParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getTemplates1Params.ts b/reading-platform-frontend/src/api/generated/model/getTemplates1Params.ts new file mode 100644 index 0000000..efcbb88 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getTemplates1Params.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetTemplates1Params = { +page?: number; +pageSize?: number; +keyword?: string; +type?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getTemplatesParams.ts b/reading-platform-frontend/src/api/generated/model/getTemplatesParams.ts new file mode 100644 index 0000000..44ae86f --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getTemplatesParams.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetTemplatesParams = { +page?: number; +pageSize?: number; +keyword?: string; +type?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getTenantPageParams.ts b/reading-platform-frontend/src/api/generated/model/getTenantPageParams.ts index c93c1c4..f3076a6 100644 --- a/reading-platform-frontend/src/api/generated/model/getTenantPageParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getTenantPageParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getThemesParams.ts b/reading-platform-frontend/src/api/generated/model/getThemesParams.ts index cdbf9a3..69728d3 100644 --- a/reading-platform-frontend/src/api/generated/model/getThemesParams.ts +++ b/reading-platform-frontend/src/api/generated/model/getThemesParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/getTimetableParams.ts b/reading-platform-frontend/src/api/generated/model/getTimetableParams.ts new file mode 100644 index 0000000..f73a74d --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getTimetableParams.ts @@ -0,0 +1,13 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetTimetableParams = { +startDate?: string; +endDate?: string; +classId?: number; +}; diff --git a/reading-platform-frontend/src/api/generated/model/growthRecord.ts b/reading-platform-frontend/src/api/generated/model/growthRecord.ts index f49bbf7..3e70cba 100644 --- a/reading-platform-frontend/src/api/generated/model/growthRecord.ts +++ b/reading-platform-frontend/src/api/generated/model/growthRecord.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/growthRecordCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/growthRecordCreateRequest.ts index 9e47c7f..a415ad2 100644 --- a/reading-platform-frontend/src/api/generated/model/growthRecordCreateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/growthRecordCreateRequest.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/growthRecordUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/growthRecordUpdateRequest.ts index ac0f1e8..614f3af 100644 --- a/reading-platform-frontend/src/api/generated/model/growthRecordUpdateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/growthRecordUpdateRequest.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/index.ts b/reading-platform-frontend/src/api/generated/model/index.ts index 381e4fd..9037e6f 100644 --- a/reading-platform-frontend/src/api/generated/model/index.ts +++ b/reading-platform-frontend/src/api/generated/model/index.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation @@ -18,10 +18,14 @@ export * from './courseCreateRequest'; export * from './courseLesson'; export * from './coursePackage'; export * from './courseUpdateRequest'; +export * from './createTaskFromTemplateRequest'; export * from './deleteFileParams'; +export * from './getActiveTeachersParams'; export * from './getActiveTenantsParams'; export * from './getActivitiesParams'; export * from './getClassPageParams'; +export * from './getCompletions1Params'; +export * from './getCompletionsParams'; export * from './getCoursePage1Params'; export * from './getCoursePageParams'; export * from './getCourses1Params'; @@ -30,16 +34,21 @@ export * from './getGrowthRecordPage1Params'; export * from './getGrowthRecordPageParams'; export * from './getGrowthRecordsByStudentParams'; export * from './getItemsParams'; +export * from './getLessonTrendParams'; export * from './getLibrariesParams'; export * from './getLogs1Params'; export * from './getLogsParams'; +export * from './getMonthlyStats1Params'; +export * from './getMonthlyStatsParams'; export * from './getMyLessonsParams'; export * from './getMyNotifications1Params'; +export * from './getMyNotifications2Params'; export * from './getMyNotificationsParams'; export * from './getPackages1Params'; export * from './getPackagesParams'; export * from './getParentPageParams'; export * from './getPopularCoursesParams'; +export * from './getRecentActivitiesParams'; export * from './getRecentGrowthRecordsParams'; export * from './getReviewCoursePageParams'; export * from './getSchedulePlans1Params'; @@ -50,8 +59,11 @@ export * from './getTaskPage1Params'; export * from './getTaskPageParams'; export * from './getTasksByStudentParams'; export * from './getTeacherPageParams'; +export * from './getTemplates1Params'; +export * from './getTemplatesParams'; export * from './getTenantPageParams'; export * from './getThemesParams'; +export * from './getTimetableParams'; export * from './growthRecord'; export * from './growthRecordCreateRequest'; export * from './growthRecordUpdateRequest'; @@ -77,6 +89,8 @@ export * from './pageResultScheduleTemplate'; export * from './pageResultSchoolCourse'; export * from './pageResultStudent'; export * from './pageResultTask'; +export * from './pageResultTaskCompletion'; +export * from './pageResultTaskTemplate'; export * from './pageResultTeacher'; export * from './pageResultTenant'; export * from './parent'; @@ -100,6 +114,7 @@ export * from './resultListLesson'; export * from './resultListMapStringObject'; export * from './resultListMapStringObjectDataItem'; export * from './resultListResourceLibrary'; +export * from './resultListSchedulePlan'; export * from './resultListStudent'; export * from './resultListTenantResponse'; export * from './resultListTheme'; @@ -124,6 +139,8 @@ export * from './resultPageResultScheduleTemplate'; export * from './resultPageResultSchoolCourse'; export * from './resultPageResultStudent'; export * from './resultPageResultTask'; +export * from './resultPageResultTaskCompletion'; +export * from './resultPageResultTaskTemplate'; export * from './resultPageResultTeacher'; export * from './resultPageResultTenant'; export * from './resultParent'; @@ -134,6 +151,8 @@ export * from './resultScheduleTemplate'; export * from './resultSchoolCourse'; export * from './resultStudent'; export * from './resultTask'; +export * from './resultTaskCompletion'; +export * from './resultTaskTemplate'; export * from './resultTeacher'; export * from './resultTenant'; export * from './resultTheme'; @@ -142,13 +161,19 @@ export * from './resultVoid'; export * from './resultVoidData'; export * from './reviewPackageBody'; export * from './schedulePlan'; +export * from './schedulePlanCreateRequest'; export * from './scheduleTemplate'; +export * from './scheduleTemplateApplyRequest'; export * from './schoolCourse'; export * from './student'; export * from './studentCreateRequest'; export * from './studentUpdateRequest'; export * from './task'; +export * from './taskCompletion'; export * from './taskCreateRequest'; +export * from './taskTemplate'; +export * from './taskTemplateCreateRequest'; +export * from './taskTemplateUpdateRequest'; export * from './taskUpdateRequest'; export * from './teacher'; export * from './teacherCreateRequest'; @@ -158,6 +183,8 @@ export * from './tenantCreateRequest'; export * from './tenantResponse'; export * from './tenantUpdateRequest'; export * from './theme'; +export * from './updateCompletion1Params'; +export * from './updateCompletionParams'; export * from './updateSettings1Body'; export * from './updateSettingsBody'; export * from './updateTenantQuotaBody'; diff --git a/reading-platform-frontend/src/api/generated/model/lesson.ts b/reading-platform-frontend/src/api/generated/model/lesson.ts index f006622..64127fe 100644 --- a/reading-platform-frontend/src/api/generated/model/lesson.ts +++ b/reading-platform-frontend/src/api/generated/model/lesson.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/lessonCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/lessonCreateRequest.ts index da7a55a..622ffda 100644 --- a/reading-platform-frontend/src/api/generated/model/lessonCreateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/lessonCreateRequest.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/lessonUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/lessonUpdateRequest.ts index fef7c38..ec72edb 100644 --- a/reading-platform-frontend/src/api/generated/model/lessonUpdateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/lessonUpdateRequest.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/localTime.ts b/reading-platform-frontend/src/api/generated/model/localTime.ts index 053df12..914081d 100644 --- a/reading-platform-frontend/src/api/generated/model/localTime.ts +++ b/reading-platform-frontend/src/api/generated/model/localTime.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/loginRequest.ts b/reading-platform-frontend/src/api/generated/model/loginRequest.ts index fe9a9c5..2acefbd 100644 --- a/reading-platform-frontend/src/api/generated/model/loginRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/loginRequest.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/loginResponse.ts b/reading-platform-frontend/src/api/generated/model/loginResponse.ts index 9c0afed..4b72bff 100644 --- a/reading-platform-frontend/src/api/generated/model/loginResponse.ts +++ b/reading-platform-frontend/src/api/generated/model/loginResponse.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/notification.ts b/reading-platform-frontend/src/api/generated/model/notification.ts index f4517e7..7539e90 100644 --- a/reading-platform-frontend/src/api/generated/model/notification.ts +++ b/reading-platform-frontend/src/api/generated/model/notification.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/operationLog.ts b/reading-platform-frontend/src/api/generated/model/operationLog.ts index f78536a..d3fd4df 100644 --- a/reading-platform-frontend/src/api/generated/model/operationLog.ts +++ b/reading-platform-frontend/src/api/generated/model/operationLog.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/pageResultClazz.ts b/reading-platform-frontend/src/api/generated/model/pageResultClazz.ts index 438aecf..87c6acf 100644 --- a/reading-platform-frontend/src/api/generated/model/pageResultClazz.ts +++ b/reading-platform-frontend/src/api/generated/model/pageResultClazz.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/pageResultCourse.ts b/reading-platform-frontend/src/api/generated/model/pageResultCourse.ts index 60a62a8..b0aa382 100644 --- a/reading-platform-frontend/src/api/generated/model/pageResultCourse.ts +++ b/reading-platform-frontend/src/api/generated/model/pageResultCourse.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/pageResultCoursePackage.ts b/reading-platform-frontend/src/api/generated/model/pageResultCoursePackage.ts index feb089a..5125fce 100644 --- a/reading-platform-frontend/src/api/generated/model/pageResultCoursePackage.ts +++ b/reading-platform-frontend/src/api/generated/model/pageResultCoursePackage.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/pageResultGrowthRecord.ts b/reading-platform-frontend/src/api/generated/model/pageResultGrowthRecord.ts index d0386bd..2fa8551 100644 --- a/reading-platform-frontend/src/api/generated/model/pageResultGrowthRecord.ts +++ b/reading-platform-frontend/src/api/generated/model/pageResultGrowthRecord.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/pageResultLesson.ts b/reading-platform-frontend/src/api/generated/model/pageResultLesson.ts index 5bb1fbf..33da94b 100644 --- a/reading-platform-frontend/src/api/generated/model/pageResultLesson.ts +++ b/reading-platform-frontend/src/api/generated/model/pageResultLesson.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/pageResultNotification.ts b/reading-platform-frontend/src/api/generated/model/pageResultNotification.ts index aa8d231..f5bfb15 100644 --- a/reading-platform-frontend/src/api/generated/model/pageResultNotification.ts +++ b/reading-platform-frontend/src/api/generated/model/pageResultNotification.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/pageResultOperationLog.ts b/reading-platform-frontend/src/api/generated/model/pageResultOperationLog.ts index 136932d..7fb1af5 100644 --- a/reading-platform-frontend/src/api/generated/model/pageResultOperationLog.ts +++ b/reading-platform-frontend/src/api/generated/model/pageResultOperationLog.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/pageResultParent.ts b/reading-platform-frontend/src/api/generated/model/pageResultParent.ts index 13ddab2..3b3b4ba 100644 --- a/reading-platform-frontend/src/api/generated/model/pageResultParent.ts +++ b/reading-platform-frontend/src/api/generated/model/pageResultParent.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/pageResultResourceItem.ts b/reading-platform-frontend/src/api/generated/model/pageResultResourceItem.ts index a6026f0..6f4e0aa 100644 --- a/reading-platform-frontend/src/api/generated/model/pageResultResourceItem.ts +++ b/reading-platform-frontend/src/api/generated/model/pageResultResourceItem.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/pageResultSchedulePlan.ts b/reading-platform-frontend/src/api/generated/model/pageResultSchedulePlan.ts index a0b7954..271a93d 100644 --- a/reading-platform-frontend/src/api/generated/model/pageResultSchedulePlan.ts +++ b/reading-platform-frontend/src/api/generated/model/pageResultSchedulePlan.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/pageResultScheduleTemplate.ts b/reading-platform-frontend/src/api/generated/model/pageResultScheduleTemplate.ts index 672f804..e9e72de 100644 --- a/reading-platform-frontend/src/api/generated/model/pageResultScheduleTemplate.ts +++ b/reading-platform-frontend/src/api/generated/model/pageResultScheduleTemplate.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/pageResultSchoolCourse.ts b/reading-platform-frontend/src/api/generated/model/pageResultSchoolCourse.ts index 32b3f3f..4d9b3aa 100644 --- a/reading-platform-frontend/src/api/generated/model/pageResultSchoolCourse.ts +++ b/reading-platform-frontend/src/api/generated/model/pageResultSchoolCourse.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/pageResultStudent.ts b/reading-platform-frontend/src/api/generated/model/pageResultStudent.ts index e067c9d..153b2e8 100644 --- a/reading-platform-frontend/src/api/generated/model/pageResultStudent.ts +++ b/reading-platform-frontend/src/api/generated/model/pageResultStudent.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/pageResultTask.ts b/reading-platform-frontend/src/api/generated/model/pageResultTask.ts index f9c3d9e..ca23b1d 100644 --- a/reading-platform-frontend/src/api/generated/model/pageResultTask.ts +++ b/reading-platform-frontend/src/api/generated/model/pageResultTask.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/pageResultTaskCompletion.ts b/reading-platform-frontend/src/api/generated/model/pageResultTaskCompletion.ts new file mode 100644 index 0000000..20bb9af --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/pageResultTaskCompletion.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { TaskCompletion } from './taskCompletion'; + +export interface PageResultTaskCompletion { + total?: number; + pageSize?: number; + items?: TaskCompletion[]; + page?: number; + totalPages?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/pageResultTaskTemplate.ts b/reading-platform-frontend/src/api/generated/model/pageResultTaskTemplate.ts new file mode 100644 index 0000000..3c4b91a --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/pageResultTaskTemplate.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { TaskTemplate } from './taskTemplate'; + +export interface PageResultTaskTemplate { + total?: number; + pageSize?: number; + items?: TaskTemplate[]; + page?: number; + totalPages?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/pageResultTeacher.ts b/reading-platform-frontend/src/api/generated/model/pageResultTeacher.ts index 7681455..bc42083 100644 --- a/reading-platform-frontend/src/api/generated/model/pageResultTeacher.ts +++ b/reading-platform-frontend/src/api/generated/model/pageResultTeacher.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/pageResultTenant.ts b/reading-platform-frontend/src/api/generated/model/pageResultTenant.ts index 751105a..c0049cb 100644 --- a/reading-platform-frontend/src/api/generated/model/pageResultTenant.ts +++ b/reading-platform-frontend/src/api/generated/model/pageResultTenant.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/parent.ts b/reading-platform-frontend/src/api/generated/model/parent.ts index 9fe12ff..4b381e9 100644 --- a/reading-platform-frontend/src/api/generated/model/parent.ts +++ b/reading-platform-frontend/src/api/generated/model/parent.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/parentCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/parentCreateRequest.ts index 72e98ad..160bec6 100644 --- a/reading-platform-frontend/src/api/generated/model/parentCreateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/parentCreateRequest.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/parentUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/parentUpdateRequest.ts index 85f9262..05e15f1 100644 --- a/reading-platform-frontend/src/api/generated/model/parentUpdateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/parentUpdateRequest.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/rejectCourseParams.ts b/reading-platform-frontend/src/api/generated/model/rejectCourseParams.ts index ed01577..11b0c96 100644 --- a/reading-platform-frontend/src/api/generated/model/rejectCourseParams.ts +++ b/reading-platform-frontend/src/api/generated/model/rejectCourseParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resetPassword1Params.ts b/reading-platform-frontend/src/api/generated/model/resetPassword1Params.ts index 96c20a8..6c8ce72 100644 --- a/reading-platform-frontend/src/api/generated/model/resetPassword1Params.ts +++ b/reading-platform-frontend/src/api/generated/model/resetPassword1Params.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resetPasswordParams.ts b/reading-platform-frontend/src/api/generated/model/resetPasswordParams.ts index ca4bf65..8f28461 100644 --- a/reading-platform-frontend/src/api/generated/model/resetPasswordParams.ts +++ b/reading-platform-frontend/src/api/generated/model/resetPasswordParams.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resourceItem.ts b/reading-platform-frontend/src/api/generated/model/resourceItem.ts index 3543607..bea3f4c 100644 --- a/reading-platform-frontend/src/api/generated/model/resourceItem.ts +++ b/reading-platform-frontend/src/api/generated/model/resourceItem.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resourceLibrary.ts b/reading-platform-frontend/src/api/generated/model/resourceLibrary.ts index 619dd30..5dc6a9f 100644 --- a/reading-platform-frontend/src/api/generated/model/resourceLibrary.ts +++ b/reading-platform-frontend/src/api/generated/model/resourceLibrary.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultClazz.ts b/reading-platform-frontend/src/api/generated/model/resultClazz.ts index f76ce78..c375f52 100644 --- a/reading-platform-frontend/src/api/generated/model/resultClazz.ts +++ b/reading-platform-frontend/src/api/generated/model/resultClazz.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultCourse.ts b/reading-platform-frontend/src/api/generated/model/resultCourse.ts index 0269a03..3d049ae 100644 --- a/reading-platform-frontend/src/api/generated/model/resultCourse.ts +++ b/reading-platform-frontend/src/api/generated/model/resultCourse.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultCourseLesson.ts b/reading-platform-frontend/src/api/generated/model/resultCourseLesson.ts index 10ad592..00878a9 100644 --- a/reading-platform-frontend/src/api/generated/model/resultCourseLesson.ts +++ b/reading-platform-frontend/src/api/generated/model/resultCourseLesson.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultCoursePackage.ts b/reading-platform-frontend/src/api/generated/model/resultCoursePackage.ts index 430ffe0..1a488f3 100644 --- a/reading-platform-frontend/src/api/generated/model/resultCoursePackage.ts +++ b/reading-platform-frontend/src/api/generated/model/resultCoursePackage.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultGrowthRecord.ts b/reading-platform-frontend/src/api/generated/model/resultGrowthRecord.ts index d8b8564..db6b565 100644 --- a/reading-platform-frontend/src/api/generated/model/resultGrowthRecord.ts +++ b/reading-platform-frontend/src/api/generated/model/resultGrowthRecord.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultLesson.ts b/reading-platform-frontend/src/api/generated/model/resultLesson.ts index 9bc626f..2e93693 100644 --- a/reading-platform-frontend/src/api/generated/model/resultLesson.ts +++ b/reading-platform-frontend/src/api/generated/model/resultLesson.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultListCourse.ts b/reading-platform-frontend/src/api/generated/model/resultListCourse.ts index a9d83c9..b81fe96 100644 --- a/reading-platform-frontend/src/api/generated/model/resultListCourse.ts +++ b/reading-platform-frontend/src/api/generated/model/resultListCourse.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultListCourseLesson.ts b/reading-platform-frontend/src/api/generated/model/resultListCourseLesson.ts index 9ee7a9f..67329f7 100644 --- a/reading-platform-frontend/src/api/generated/model/resultListCourseLesson.ts +++ b/reading-platform-frontend/src/api/generated/model/resultListCourseLesson.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultListGrowthRecord.ts b/reading-platform-frontend/src/api/generated/model/resultListGrowthRecord.ts index cebda88..d77d484 100644 --- a/reading-platform-frontend/src/api/generated/model/resultListGrowthRecord.ts +++ b/reading-platform-frontend/src/api/generated/model/resultListGrowthRecord.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultListLesson.ts b/reading-platform-frontend/src/api/generated/model/resultListLesson.ts index 03bc91c..5dfa032 100644 --- a/reading-platform-frontend/src/api/generated/model/resultListLesson.ts +++ b/reading-platform-frontend/src/api/generated/model/resultListLesson.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultListMapStringObject.ts b/reading-platform-frontend/src/api/generated/model/resultListMapStringObject.ts index 04b2f70..aec66ba 100644 --- a/reading-platform-frontend/src/api/generated/model/resultListMapStringObject.ts +++ b/reading-platform-frontend/src/api/generated/model/resultListMapStringObject.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultListMapStringObjectDataItem.ts b/reading-platform-frontend/src/api/generated/model/resultListMapStringObjectDataItem.ts index 9c629d5..b3c3328 100644 --- a/reading-platform-frontend/src/api/generated/model/resultListMapStringObjectDataItem.ts +++ b/reading-platform-frontend/src/api/generated/model/resultListMapStringObjectDataItem.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultListResourceLibrary.ts b/reading-platform-frontend/src/api/generated/model/resultListResourceLibrary.ts index f65f06e..366edfa 100644 --- a/reading-platform-frontend/src/api/generated/model/resultListResourceLibrary.ts +++ b/reading-platform-frontend/src/api/generated/model/resultListResourceLibrary.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultListSchedulePlan.ts b/reading-platform-frontend/src/api/generated/model/resultListSchedulePlan.ts new file mode 100644 index 0000000..a83e140 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultListSchedulePlan.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { SchedulePlan } from './schedulePlan'; + +export interface ResultListSchedulePlan { + code?: number; + message?: string; + data?: SchedulePlan[]; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultListStudent.ts b/reading-platform-frontend/src/api/generated/model/resultListStudent.ts index bfc1031..2eaf890 100644 --- a/reading-platform-frontend/src/api/generated/model/resultListStudent.ts +++ b/reading-platform-frontend/src/api/generated/model/resultListStudent.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultListTenantResponse.ts b/reading-platform-frontend/src/api/generated/model/resultListTenantResponse.ts index cfa68d0..0e7537c 100644 --- a/reading-platform-frontend/src/api/generated/model/resultListTenantResponse.ts +++ b/reading-platform-frontend/src/api/generated/model/resultListTenantResponse.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultListTheme.ts b/reading-platform-frontend/src/api/generated/model/resultListTheme.ts index 058ff7f..f1a5358 100644 --- a/reading-platform-frontend/src/api/generated/model/resultListTheme.ts +++ b/reading-platform-frontend/src/api/generated/model/resultListTheme.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultLoginResponse.ts b/reading-platform-frontend/src/api/generated/model/resultLoginResponse.ts index 338fafb..f071031 100644 --- a/reading-platform-frontend/src/api/generated/model/resultLoginResponse.ts +++ b/reading-platform-frontend/src/api/generated/model/resultLoginResponse.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultLong.ts b/reading-platform-frontend/src/api/generated/model/resultLong.ts index b6af0a3..752c25f 100644 --- a/reading-platform-frontend/src/api/generated/model/resultLong.ts +++ b/reading-platform-frontend/src/api/generated/model/resultLong.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultMapStringObject.ts b/reading-platform-frontend/src/api/generated/model/resultMapStringObject.ts index b9b33d9..5954d9a 100644 --- a/reading-platform-frontend/src/api/generated/model/resultMapStringObject.ts +++ b/reading-platform-frontend/src/api/generated/model/resultMapStringObject.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultMapStringObjectData.ts b/reading-platform-frontend/src/api/generated/model/resultMapStringObjectData.ts index 21a0ac3..3bb4889 100644 --- a/reading-platform-frontend/src/api/generated/model/resultMapStringObjectData.ts +++ b/reading-platform-frontend/src/api/generated/model/resultMapStringObjectData.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultMapStringString.ts b/reading-platform-frontend/src/api/generated/model/resultMapStringString.ts index 8c2511a..5f7f205 100644 --- a/reading-platform-frontend/src/api/generated/model/resultMapStringString.ts +++ b/reading-platform-frontend/src/api/generated/model/resultMapStringString.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultMapStringStringData.ts b/reading-platform-frontend/src/api/generated/model/resultMapStringStringData.ts index c6f3b1f..6f573f5 100644 --- a/reading-platform-frontend/src/api/generated/model/resultMapStringStringData.ts +++ b/reading-platform-frontend/src/api/generated/model/resultMapStringStringData.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultNotification.ts b/reading-platform-frontend/src/api/generated/model/resultNotification.ts index d91d136..706b90f 100644 --- a/reading-platform-frontend/src/api/generated/model/resultNotification.ts +++ b/reading-platform-frontend/src/api/generated/model/resultNotification.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultClazz.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultClazz.ts index 66f880e..afcf682 100644 --- a/reading-platform-frontend/src/api/generated/model/resultPageResultClazz.ts +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultClazz.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultCourse.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultCourse.ts index a1ce8c2..5bd550e 100644 --- a/reading-platform-frontend/src/api/generated/model/resultPageResultCourse.ts +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultCourse.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultCoursePackage.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultCoursePackage.ts index 377d054..ef4e14a 100644 --- a/reading-platform-frontend/src/api/generated/model/resultPageResultCoursePackage.ts +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultCoursePackage.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultGrowthRecord.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultGrowthRecord.ts index fdff698..1979e7f 100644 --- a/reading-platform-frontend/src/api/generated/model/resultPageResultGrowthRecord.ts +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultGrowthRecord.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultLesson.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultLesson.ts index 36ef939..cc4b3d8 100644 --- a/reading-platform-frontend/src/api/generated/model/resultPageResultLesson.ts +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultLesson.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultNotification.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultNotification.ts index 4dde901..894a766 100644 --- a/reading-platform-frontend/src/api/generated/model/resultPageResultNotification.ts +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultNotification.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultOperationLog.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultOperationLog.ts index d8cd0c8..1029b81 100644 --- a/reading-platform-frontend/src/api/generated/model/resultPageResultOperationLog.ts +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultOperationLog.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultParent.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultParent.ts index 69a3d91..dbd5b67 100644 --- a/reading-platform-frontend/src/api/generated/model/resultPageResultParent.ts +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultParent.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultResourceItem.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultResourceItem.ts index 9880e46..ceda460 100644 --- a/reading-platform-frontend/src/api/generated/model/resultPageResultResourceItem.ts +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultResourceItem.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultSchedulePlan.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultSchedulePlan.ts index cffec68..020f5e6 100644 --- a/reading-platform-frontend/src/api/generated/model/resultPageResultSchedulePlan.ts +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultSchedulePlan.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultScheduleTemplate.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultScheduleTemplate.ts index 145cbee..e8cfe43 100644 --- a/reading-platform-frontend/src/api/generated/model/resultPageResultScheduleTemplate.ts +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultScheduleTemplate.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultSchoolCourse.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultSchoolCourse.ts index 3f49a15..ceb6805 100644 --- a/reading-platform-frontend/src/api/generated/model/resultPageResultSchoolCourse.ts +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultSchoolCourse.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultStudent.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultStudent.ts index 0a47817..8ee2173 100644 --- a/reading-platform-frontend/src/api/generated/model/resultPageResultStudent.ts +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultStudent.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultTask.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultTask.ts index c8bb85f..f2ceaca 100644 --- a/reading-platform-frontend/src/api/generated/model/resultPageResultTask.ts +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultTask.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultTaskCompletion.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultTaskCompletion.ts new file mode 100644 index 0000000..00ddaae --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultTaskCompletion.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { PageResultTaskCompletion } from './pageResultTaskCompletion'; + +export interface ResultPageResultTaskCompletion { + code?: number; + message?: string; + data?: PageResultTaskCompletion; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultTaskTemplate.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultTaskTemplate.ts new file mode 100644 index 0000000..7eb8f09 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultTaskTemplate.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { PageResultTaskTemplate } from './pageResultTaskTemplate'; + +export interface ResultPageResultTaskTemplate { + code?: number; + message?: string; + data?: PageResultTaskTemplate; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultTeacher.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultTeacher.ts index 566cb70..c257e24 100644 --- a/reading-platform-frontend/src/api/generated/model/resultPageResultTeacher.ts +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultTeacher.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultTenant.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultTenant.ts index 94c8021..d35e035 100644 --- a/reading-platform-frontend/src/api/generated/model/resultPageResultTenant.ts +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultTenant.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultParent.ts b/reading-platform-frontend/src/api/generated/model/resultParent.ts index fdb1fce..40180c7 100644 --- a/reading-platform-frontend/src/api/generated/model/resultParent.ts +++ b/reading-platform-frontend/src/api/generated/model/resultParent.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultResourceItem.ts b/reading-platform-frontend/src/api/generated/model/resultResourceItem.ts index f107646..4a820dc 100644 --- a/reading-platform-frontend/src/api/generated/model/resultResourceItem.ts +++ b/reading-platform-frontend/src/api/generated/model/resultResourceItem.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultResourceLibrary.ts b/reading-platform-frontend/src/api/generated/model/resultResourceLibrary.ts index 0243f6c..2277729 100644 --- a/reading-platform-frontend/src/api/generated/model/resultResourceLibrary.ts +++ b/reading-platform-frontend/src/api/generated/model/resultResourceLibrary.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultSchedulePlan.ts b/reading-platform-frontend/src/api/generated/model/resultSchedulePlan.ts index d865b76..1cb2745 100644 --- a/reading-platform-frontend/src/api/generated/model/resultSchedulePlan.ts +++ b/reading-platform-frontend/src/api/generated/model/resultSchedulePlan.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultScheduleTemplate.ts b/reading-platform-frontend/src/api/generated/model/resultScheduleTemplate.ts index 1a9cd4a..96e9178 100644 --- a/reading-platform-frontend/src/api/generated/model/resultScheduleTemplate.ts +++ b/reading-platform-frontend/src/api/generated/model/resultScheduleTemplate.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultSchoolCourse.ts b/reading-platform-frontend/src/api/generated/model/resultSchoolCourse.ts index 845fa65..e53e06e 100644 --- a/reading-platform-frontend/src/api/generated/model/resultSchoolCourse.ts +++ b/reading-platform-frontend/src/api/generated/model/resultSchoolCourse.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultStudent.ts b/reading-platform-frontend/src/api/generated/model/resultStudent.ts index 2089154..44886ea 100644 --- a/reading-platform-frontend/src/api/generated/model/resultStudent.ts +++ b/reading-platform-frontend/src/api/generated/model/resultStudent.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultTask.ts b/reading-platform-frontend/src/api/generated/model/resultTask.ts index 8320e14..c5da3d0 100644 --- a/reading-platform-frontend/src/api/generated/model/resultTask.ts +++ b/reading-platform-frontend/src/api/generated/model/resultTask.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultTaskCompletion.ts b/reading-platform-frontend/src/api/generated/model/resultTaskCompletion.ts new file mode 100644 index 0000000..e73f153 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultTaskCompletion.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { TaskCompletion } from './taskCompletion'; + +export interface ResultTaskCompletion { + code?: number; + message?: string; + data?: TaskCompletion; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultTaskTemplate.ts b/reading-platform-frontend/src/api/generated/model/resultTaskTemplate.ts new file mode 100644 index 0000000..2cf2432 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultTaskTemplate.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { TaskTemplate } from './taskTemplate'; + +export interface ResultTaskTemplate { + code?: number; + message?: string; + data?: TaskTemplate; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultTeacher.ts b/reading-platform-frontend/src/api/generated/model/resultTeacher.ts index 6bb3f04..c987319 100644 --- a/reading-platform-frontend/src/api/generated/model/resultTeacher.ts +++ b/reading-platform-frontend/src/api/generated/model/resultTeacher.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultTenant.ts b/reading-platform-frontend/src/api/generated/model/resultTenant.ts index e5d1f6e..c39f28e 100644 --- a/reading-platform-frontend/src/api/generated/model/resultTenant.ts +++ b/reading-platform-frontend/src/api/generated/model/resultTenant.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultTheme.ts b/reading-platform-frontend/src/api/generated/model/resultTheme.ts index c072a5a..225caff 100644 --- a/reading-platform-frontend/src/api/generated/model/resultTheme.ts +++ b/reading-platform-frontend/src/api/generated/model/resultTheme.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultUserInfoResponse.ts b/reading-platform-frontend/src/api/generated/model/resultUserInfoResponse.ts index 0f82212..6945d4f 100644 --- a/reading-platform-frontend/src/api/generated/model/resultUserInfoResponse.ts +++ b/reading-platform-frontend/src/api/generated/model/resultUserInfoResponse.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultVoid.ts b/reading-platform-frontend/src/api/generated/model/resultVoid.ts index f212e5a..342ae35 100644 --- a/reading-platform-frontend/src/api/generated/model/resultVoid.ts +++ b/reading-platform-frontend/src/api/generated/model/resultVoid.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/resultVoidData.ts b/reading-platform-frontend/src/api/generated/model/resultVoidData.ts index b36f087..86f58a1 100644 --- a/reading-platform-frontend/src/api/generated/model/resultVoidData.ts +++ b/reading-platform-frontend/src/api/generated/model/resultVoidData.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/reviewPackageBody.ts b/reading-platform-frontend/src/api/generated/model/reviewPackageBody.ts index 507228c..f32570b 100644 --- a/reading-platform-frontend/src/api/generated/model/reviewPackageBody.ts +++ b/reading-platform-frontend/src/api/generated/model/reviewPackageBody.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/schedulePlan.ts b/reading-platform-frontend/src/api/generated/model/schedulePlan.ts index 3b044a0..e26fad1 100644 --- a/reading-platform-frontend/src/api/generated/model/schedulePlan.ts +++ b/reading-platform-frontend/src/api/generated/model/schedulePlan.ts @@ -1,18 +1,27 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation * OpenAPI spec version: 1.0.0 */ +import type { LocalTime } from './localTime'; export interface SchedulePlan { id?: number; tenantId?: number; name?: string; classId?: number; + courseId?: number; + teacherId?: number; + dayOfWeek?: number; + period?: number; + startTime?: LocalTime; + endTime?: LocalTime; startDate?: string; endDate?: string; + location?: string; + note?: string; status?: string; createdAt?: string; updatedAt?: string; diff --git a/reading-platform-frontend/src/api/generated/model/schedulePlanCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/schedulePlanCreateRequest.ts new file mode 100644 index 0000000..9d4ee2f --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/schedulePlanCreateRequest.ts @@ -0,0 +1,34 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { LocalTime } from './localTime'; + +/** + * 课表计划创建请求 + */ +export interface SchedulePlanCreateRequest { + /** 班级 ID */ + classId?: number; + /** 课程 ID */ + courseId?: number; + /** 星期几:1-7 */ + dayOfWeek?: number; + /** 节次 */ + period?: number; + startTime?: LocalTime; + endTime?: LocalTime; + /** 授课教师 ID */ + teacherId?: number; + /** 开始日期 */ + startDate?: string; + /** 结束日期 */ + endDate?: string; + /** 教室/地点 */ + location?: string; + /** 备注 */ + note?: string; +} diff --git a/reading-platform-frontend/src/api/generated/model/scheduleTemplate.ts b/reading-platform-frontend/src/api/generated/model/scheduleTemplate.ts index 2dfd2a7..11dd3eb 100644 --- a/reading-platform-frontend/src/api/generated/model/scheduleTemplate.ts +++ b/reading-platform-frontend/src/api/generated/model/scheduleTemplate.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/scheduleTemplateApplyRequest.ts b/reading-platform-frontend/src/api/generated/model/scheduleTemplateApplyRequest.ts new file mode 100644 index 0000000..c000284 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/scheduleTemplateApplyRequest.ts @@ -0,0 +1,19 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * 课表模板应用请求 + */ +export interface ScheduleTemplateApplyRequest { + /** 班级 ID */ + classId: number; + /** 应用开始日期 */ + startDate: string; + /** 应用周数 */ + weeks?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/schoolCourse.ts b/reading-platform-frontend/src/api/generated/model/schoolCourse.ts index 7e218f4..096025c 100644 --- a/reading-platform-frontend/src/api/generated/model/schoolCourse.ts +++ b/reading-platform-frontend/src/api/generated/model/schoolCourse.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/student.ts b/reading-platform-frontend/src/api/generated/model/student.ts index 7c55678..8be8183 100644 --- a/reading-platform-frontend/src/api/generated/model/student.ts +++ b/reading-platform-frontend/src/api/generated/model/student.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/studentCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/studentCreateRequest.ts index f29edbc..fee0f8c 100644 --- a/reading-platform-frontend/src/api/generated/model/studentCreateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/studentCreateRequest.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/studentUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/studentUpdateRequest.ts index 2815cbf..0bdcc76 100644 --- a/reading-platform-frontend/src/api/generated/model/studentUpdateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/studentUpdateRequest.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/task.ts b/reading-platform-frontend/src/api/generated/model/task.ts index 8463cb3..ee91204 100644 --- a/reading-platform-frontend/src/api/generated/model/task.ts +++ b/reading-platform-frontend/src/api/generated/model/task.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/taskCompletion.ts b/reading-platform-frontend/src/api/generated/model/taskCompletion.ts new file mode 100644 index 0000000..6509431 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/taskCompletion.ts @@ -0,0 +1,22 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface TaskCompletion { + id?: number; + taskId?: number; + studentId?: number; + status?: string; + completedAt?: string; + content?: string; + attachments?: string; + rating?: number; + feedback?: string; + createdAt?: string; + updatedAt?: string; + deleted?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/taskCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/taskCreateRequest.ts index 90e36ec..5bb593f 100644 --- a/reading-platform-frontend/src/api/generated/model/taskCreateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/taskCreateRequest.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/taskTemplate.ts b/reading-platform-frontend/src/api/generated/model/taskTemplate.ts new file mode 100644 index 0000000..c386a0b --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/taskTemplate.ts @@ -0,0 +1,20 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface TaskTemplate { + id?: number; + tenantId?: number; + name?: string; + description?: string; + type?: string; + content?: string; + isPublic?: number; + createdAt?: string; + updatedAt?: string; + deleted?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/taskTemplateCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/taskTemplateCreateRequest.ts new file mode 100644 index 0000000..a8db4b2 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/taskTemplateCreateRequest.ts @@ -0,0 +1,23 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * 任务模板创建请求 + */ +export interface TaskTemplateCreateRequest { + /** 模板名称 */ + name: string; + /** 模板描述 */ + description?: string; + /** 任务类型:阅读、作业、活动 */ + type?: string; + /** 任务内容模板 */ + content?: string; + /** 是否公共模板:0-私有,1-公共 */ + isPublic?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/taskTemplateUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/taskTemplateUpdateRequest.ts new file mode 100644 index 0000000..7a2d7e9 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/taskTemplateUpdateRequest.ts @@ -0,0 +1,23 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * 任务模板更新请求 + */ +export interface TaskTemplateUpdateRequest { + /** 模板名称 */ + name?: string; + /** 模板描述 */ + description?: string; + /** 任务类型:阅读、作业、活动 */ + type?: string; + /** 任务内容模板 */ + content?: string; + /** 是否公共模板:0-私有,1-公共 */ + isPublic?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/taskUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/taskUpdateRequest.ts index cd484c0..4aeb643 100644 --- a/reading-platform-frontend/src/api/generated/model/taskUpdateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/taskUpdateRequest.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/teacher.ts b/reading-platform-frontend/src/api/generated/model/teacher.ts index 5d220ab..dcb8119 100644 --- a/reading-platform-frontend/src/api/generated/model/teacher.ts +++ b/reading-platform-frontend/src/api/generated/model/teacher.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/teacherCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/teacherCreateRequest.ts index a38ca3a..7ec8e67 100644 --- a/reading-platform-frontend/src/api/generated/model/teacherCreateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/teacherCreateRequest.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/teacherUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/teacherUpdateRequest.ts index b62dd82..1785e4e 100644 --- a/reading-platform-frontend/src/api/generated/model/teacherUpdateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/teacherUpdateRequest.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/tenant.ts b/reading-platform-frontend/src/api/generated/model/tenant.ts index 30e069f..56a3448 100644 --- a/reading-platform-frontend/src/api/generated/model/tenant.ts +++ b/reading-platform-frontend/src/api/generated/model/tenant.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/tenantCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/tenantCreateRequest.ts index eae0cc3..fff8beb 100644 --- a/reading-platform-frontend/src/api/generated/model/tenantCreateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/tenantCreateRequest.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/tenantResponse.ts b/reading-platform-frontend/src/api/generated/model/tenantResponse.ts index f87aa3b..74ca8ee 100644 --- a/reading-platform-frontend/src/api/generated/model/tenantResponse.ts +++ b/reading-platform-frontend/src/api/generated/model/tenantResponse.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/tenantUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/tenantUpdateRequest.ts index 579ff38..a96ef29 100644 --- a/reading-platform-frontend/src/api/generated/model/tenantUpdateRequest.ts +++ b/reading-platform-frontend/src/api/generated/model/tenantUpdateRequest.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/theme.ts b/reading-platform-frontend/src/api/generated/model/theme.ts index defb30a..9d7ac52 100644 --- a/reading-platform-frontend/src/api/generated/model/theme.ts +++ b/reading-platform-frontend/src/api/generated/model/theme.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/updateCompletion1Params.ts b/reading-platform-frontend/src/api/generated/model/updateCompletion1Params.ts new file mode 100644 index 0000000..ffe835b --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/updateCompletion1Params.ts @@ -0,0 +1,12 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type UpdateCompletion1Params = { +status: string; +feedback?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/updateCompletionParams.ts b/reading-platform-frontend/src/api/generated/model/updateCompletionParams.ts new file mode 100644 index 0000000..6e0a8b4 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/updateCompletionParams.ts @@ -0,0 +1,12 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type UpdateCompletionParams = { +status: string; +feedback?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/updateSettings1Body.ts b/reading-platform-frontend/src/api/generated/model/updateSettings1Body.ts index 90bb3bb..304c458 100644 --- a/reading-platform-frontend/src/api/generated/model/updateSettings1Body.ts +++ b/reading-platform-frontend/src/api/generated/model/updateSettings1Body.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/updateSettingsBody.ts b/reading-platform-frontend/src/api/generated/model/updateSettingsBody.ts index d13df32..f7b8d23 100644 --- a/reading-platform-frontend/src/api/generated/model/updateSettingsBody.ts +++ b/reading-platform-frontend/src/api/generated/model/updateSettingsBody.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/updateTenantQuotaBody.ts b/reading-platform-frontend/src/api/generated/model/updateTenantQuotaBody.ts index 3fa28d3..ec02189 100644 --- a/reading-platform-frontend/src/api/generated/model/updateTenantQuotaBody.ts +++ b/reading-platform-frontend/src/api/generated/model/updateTenantQuotaBody.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/updateTenantStatusBody.ts b/reading-platform-frontend/src/api/generated/model/updateTenantStatusBody.ts index 4d4097d..e78bb46 100644 --- a/reading-platform-frontend/src/api/generated/model/updateTenantStatusBody.ts +++ b/reading-platform-frontend/src/api/generated/model/updateTenantStatusBody.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/uploadFileBody.ts b/reading-platform-frontend/src/api/generated/model/uploadFileBody.ts index b93b306..88117e5 100644 --- a/reading-platform-frontend/src/api/generated/model/uploadFileBody.ts +++ b/reading-platform-frontend/src/api/generated/model/uploadFileBody.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/generated/model/userInfoResponse.ts b/reading-platform-frontend/src/api/generated/model/userInfoResponse.ts index fb4cf43..a571615 100644 --- a/reading-platform-frontend/src/api/generated/model/userInfoResponse.ts +++ b/reading-platform-frontend/src/api/generated/model/userInfoResponse.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v7.13.2 🍺 + * Generated by orval v7.21.0 🍺 * Do not edit manually. * Reading Platform API * Reading Platform Backend Service API Documentation diff --git a/reading-platform-frontend/src/api/growth.ts b/reading-platform-frontend/src/api/growth.ts index c506b18..7edba0d 100644 --- a/reading-platform-frontend/src/api/growth.ts +++ b/reading-platform-frontend/src/api/growth.ts @@ -1,33 +1,16 @@ -import { http } from './index'; +import { readingApi } from './client' +import type { + GrowthRecord as ApiGrowthRecord, + ResultGrowthRecord, + ResultPageResultGrowthRecord, +} from './generated/model' // ==================== 类型定义 ==================== export type RecordType = 'STUDENT' | 'CLASS'; -export interface GrowthRecord { - id: number; - tenantId: number; - studentId: number; - classId?: number; - recordType: RecordType; - title: string; - content?: string; - images: string[]; - recordDate: string; - createdBy: number; - createdAt: string; - updatedAt: string; - student?: { - id: number; - name: string; - gender?: string; - }; - class?: { - id: number; - name: string; - grade?: string; - }; -} +// 统一使用 OpenAPI 中的成长档案实体类型 +export type GrowthRecord = ApiGrowthRecord export interface CreateGrowthRecordDto { studentId: number; @@ -56,30 +39,49 @@ export const getGrowthRecords = (params?: { recordType?: RecordType; keyword?: string; }) => - http.get<{ items: GrowthRecord[]; total: number; page: number; pageSize: number }>( - '/school/growth-records', - { params } - ); + readingApi.getGrowthRecordPage1(params as any).then((res) => { + const wrapped = res as ResultPageResultGrowthRecord + const page = wrapped.data + + return { + items: (page?.items as GrowthRecord[]) ?? [], + total: page?.total ?? 0, + page: page?.page ?? params?.page ?? 1, + pageSize: page?.pageSize ?? params?.pageSize ?? 10, + } + }); export const getGrowthRecord = (id: number) => - http.get(`/school/growth-records/${id}`); + readingApi.getGrowthRecord1(id).then((res) => { + const wrapped = res as ResultGrowthRecord + return (wrapped.data ?? res) as GrowthRecord + }); export const createGrowthRecord = (data: CreateGrowthRecordDto) => - http.post('/school/growth-records', data); + readingApi.createGrowthRecord1(data as any).then((res) => { + const wrapped = res as ResultGrowthRecord + return (wrapped.data ?? res) as GrowthRecord + }); export const updateGrowthRecord = (id: number, data: UpdateGrowthRecordDto) => - http.put(`/school/growth-records/${id}`, data); + readingApi.updateGrowthRecord1(id, data as any).then((res) => { + const wrapped = res as ResultGrowthRecord + return (wrapped.data ?? res) as GrowthRecord + }); export const deleteGrowthRecord = (id: number) => - http.delete(`/school/growth-records/${id}`); + readingApi.deleteGrowthRecord1(id).then((res) => res); export const getStudentGrowthRecords = (studentId: number, params?: { page?: number; pageSize?: number; }) => - http.get<{ items: GrowthRecord[]; total: number; page: number; pageSize: number }>( - `/school/students/${studentId}/growth-records`, - { params } + // OpenAPI 暂未提供该维度接口,这里先仅修正为带 /api/v1 前缀的路径 + import('./index').then(({ http }) => + http.get<{ items: GrowthRecord[]; total: number; page: number; pageSize: number }>( + `/api/v1/school/students/${studentId}/growth-records`, + { params } + ) ); export const getClassGrowthRecords = (classId: number, params?: { @@ -87,9 +89,11 @@ export const getClassGrowthRecords = (classId: number, params?: { pageSize?: number; recordDate?: string; }) => - http.get<{ items: GrowthRecord[]; total: number; page: number; pageSize: number }>( - `/school/classes/${classId}/growth-records`, - { params } + import('./index').then(({ http }) => + http.get<{ items: GrowthRecord[]; total: number; page: number; pageSize: number }>( + `/api/v1/school/classes/${classId}/growth-records`, + { params } + ) ); // ==================== 教师端 API ==================== @@ -102,29 +106,47 @@ export const getTeacherGrowthRecords = (params?: { recordType?: RecordType; keyword?: string; }) => - http.get<{ items: GrowthRecord[]; total: number; page: number; pageSize: number }>( - '/teacher/growth-records', - { params } - ); + readingApi.getGrowthRecordPage(params as any).then((res) => { + const wrapped = res as ResultPageResultGrowthRecord + const page = wrapped.data + + return { + items: (page?.items as GrowthRecord[]) ?? [], + total: page?.total ?? 0, + page: page?.page ?? params?.page ?? 1, + pageSize: page?.pageSize ?? params?.pageSize ?? 10, + } + }); export const getTeacherGrowthRecord = (id: number) => - http.get(`/teacher/growth-records/${id}`); + readingApi.getGrowthRecord(id).then((res) => { + const wrapped = res as ResultGrowthRecord + return (wrapped.data ?? res) as GrowthRecord + }); export const createTeacherGrowthRecord = (data: CreateGrowthRecordDto) => - http.post('/teacher/growth-records', data); + readingApi.createGrowthRecord(data as any).then((res) => { + const wrapped = res as ResultGrowthRecord + return (wrapped.data ?? res) as GrowthRecord + }); export const updateTeacherGrowthRecord = (id: number, data: UpdateGrowthRecordDto) => - http.put(`/teacher/growth-records/${id}`, data); + readingApi.updateGrowthRecord(id, data as any).then((res) => { + const wrapped = res as ResultGrowthRecord + return (wrapped.data ?? res) as GrowthRecord + }); export const deleteTeacherGrowthRecord = (id: number) => - http.delete(`/teacher/growth-records/${id}`); + readingApi.deleteGrowthRecord(id).then((res) => res); export const getTeacherClassGrowthRecords = (classId: number, params?: { page?: number; pageSize?: number; recordDate?: string; }) => - http.get<{ items: GrowthRecord[]; total: number; page: number; pageSize: number }>( - `/teacher/classes/${classId}/growth-records`, - { params } + import('./index').then(({ http }) => + http.get<{ items: GrowthRecord[]; total: number; page: number; pageSize: number }>( + `/api/v1/teacher/classes/${classId}/growth-records`, + { params } + ) ); diff --git a/reading-platform-frontend/src/api/lesson.ts b/reading-platform-frontend/src/api/lesson.ts index 8bf2a9e..ea9add6 100644 --- a/reading-platform-frontend/src/api/lesson.ts +++ b/reading-platform-frontend/src/api/lesson.ts @@ -1,12 +1,12 @@ -import { readingApi } from './client' +import { readingApi } from "./client"; import type { ResultListCourseLesson, CourseLesson as ApiCourseLesson, -} from './generated/model' +} from "./generated/model"; // ==================== 课程类型 ==================== -export type CourseLesson = ApiCourseLesson +export type CourseLesson = ApiCourseLesson; export interface LessonStep { id: number; @@ -70,84 +70,111 @@ export interface CreateStepData { // 获取课程列表(系统课程课时) export function getLessonList(courseId: number) { return readingApi.getLessons1(courseId).then((res) => { - const wrapped = res as ResultListCourseLesson - return wrapped.data?.items ?? [] - }) + const wrapped = res as ResultListCourseLesson; + return wrapped.data?.items ?? []; + }); } // 获取课程详情 export function getLessonDetail(courseId: number, lessonId: number) { - return readingApi.getLesson2(courseId, lessonId).then((res) => res.data ?? res) + return readingApi + .getLesson2(courseId, lessonId) + .then((res) => res.data ?? res); } // 按类型获取课程 export function getLessonByType(courseId: number, lessonType: string) { - return http.get(`/admin/courses/${courseId}/lessons/type/${lessonType}`); + return http.get( + `/api/v1/admin/courses/${courseId}/lessons/type/${lessonType}`, + ); } // 创建课程 export function createLesson(courseId: number, data: CreateLessonData) { - return readingApi.createLesson1(courseId, data as any).then((res) => res) + return readingApi.createLesson1(courseId, data as any).then((res) => res); } // 更新课程 -export function updateLesson(lessonId: number, data: Partial) { +export function updateLesson( + lessonId: number, + data: Partial, +) { // Orval 接口需要同时提供 courseId 和 lessonId,这里仅有 lessonId 时保留旧实现 - const { http } = require('./index') - return http.put(`/admin/courses/0/lessons/${lessonId}`, data); + const { http } = require("./index"); + return http.put(`/api/v1/admin/courses/0/lessons/${lessonId}`, data); } // 删除课程 export function deleteLesson(courseId: number, lessonId: number) { - return readingApi.deleteLesson(courseId, lessonId).then((res) => res) + return readingApi.deleteLesson(courseId, lessonId).then((res) => res); } // 重新排序课程 export function reorderLessons(courseId: number, lessonIds: number[]) { - const { http } = require('./index') - return http.put(`/admin/courses/${courseId}/lessons/reorder`, { lessonIds }); + const { http } = require("./index"); + return http.put(`/api/v1/admin/courses/${courseId}/lessons/reorder`, { + lessonIds, + }); } // ==================== 教学环节 API ==================== // 获取环节列表 export function getStepList(courseId: number, lessonId: number) { - const { http } = require('./index') - return http.get(`/admin/courses/${courseId}/lessons/${lessonId}/steps`); + const { http } = require("./index"); + return http.get( + `/api/v1/admin/courses/${courseId}/lessons/${lessonId}/steps`, + ); } // 创建环节 -export function createStep(courseId: number, lessonId: number, data: CreateStepData) { - const { http } = require('./index') - return http.post(`/admin/courses/${courseId}/lessons/${lessonId}/steps`, data); +export function createStep( + courseId: number, + lessonId: number, + data: CreateStepData, +) { + const { http } = require("./index"); + return http.post( + `/api/v1/admin/courses/${courseId}/lessons/${lessonId}/steps`, + data, + ); } // 更新环节 export function updateStep(stepId: number, data: Partial) { - const { http } = require('./index') - return http.put(`/admin/courses/0/lessons/steps/${stepId}`, data); + const { http } = require("./index"); + return http.put(`/api/v1/admin/courses/0/lessons/steps/${stepId}`, data); } // 删除环节 export function deleteStep(courseId: number, lessonId: number, stepId: number) { - const { http } = require('./index') - return http.delete(`/admin/courses/${courseId}/lessons/steps/${stepId}`); + const { http } = require("./index"); + return http.delete( + `/api/v1/admin/courses/${courseId}/lessons/steps/${stepId}`, + ); } // 重新排序环节 -export function reorderSteps(courseId: number, lessonId: number, stepIds: number[]) { - const { http } = require('./index') - return http.put(`/admin/courses/${courseId}/lessons/${lessonId}/steps/reorder`, { stepIds }); +export function reorderSteps( + courseId: number, + lessonId: number, + stepIds: number[], +) { + const { http } = require("./index"); + return http.put( + `/admin/courses/${courseId}/lessons/${lessonId}/steps/reorder`, + { stepIds }, + ); } // ==================== 教师端 API ==================== // 获取教师端课程列表 export function getTeacherLessonList(courseId: number) { - return http.get(`/teacher/courses/${courseId}/lessons`); + return http.get(`/api/v1/teacher/courses/${courseId}/lessons`); } // 获取教师端课程详情 export function getTeacherLessonDetail(courseId: number, lessonId: number) { - return http.get(`/teacher/courses/${courseId}/lessons/${lessonId}`); + return http.get(`/api/v1/teacher/courses/${courseId}/lessons/${lessonId}`); } diff --git a/reading-platform-frontend/src/api/package.ts b/reading-platform-frontend/src/api/package.ts index 1a13047..880b0e5 100644 --- a/reading-platform-frontend/src/api/package.ts +++ b/reading-platform-frontend/src/api/package.ts @@ -1,4 +1,5 @@ -import { http } from './index'; +import { http } from "./index"; +import { readingApi, UnwrapResult, ApiResultOf, GetPackages1Result } from "./client"; // ==================== 套餐管理 ==================== @@ -47,70 +48,90 @@ export interface CreatePackageData { gradeLevels: string[]; } -// 获取套餐列表 -export function getPackageList(params?: PackageListParams) { - return http.get('/admin/packages', { params }); +type AdminPackageResult = UnwrapResult> +type AdminPackageListResult = GetPackages1Result + +// 获取套餐列表(管理员端) +export function getPackageList( + params?: PackageListParams, +): Promise { + return readingApi.getPackages1(params as any).then((res) => res.data as any); } -// 获取套餐详情 -export function getPackageDetail(id: number) { - return http.get(`/admin/packages/${id}`); +// 获取套餐详情(管理员端) +export function getPackageDetail(id: number): Promise { + return readingApi.getPackage1(id).then((res) => res.data as any); } -// 创建套餐 -export function createPackage(data: CreatePackageData) { - return http.post('/admin/packages', data); +// 创建套餐(管理员端) +export function createPackage( + data: CreatePackageData, +): Promise { + return readingApi.createPackage(data as any).then((res) => res.data as any); } -// 更新套餐 -export function updatePackage(id: number, data: Partial) { - return http.put(`/admin/packages/${id}`, data); +// 更新套餐(管理员端) +export function updatePackage( + id: number, + data: Partial, +): Promise { + return readingApi + .updatePackage(id, data as any) + .then((res) => res.data as any); } -// 删除套餐 -export function deletePackage(id: number) { - return http.delete(`/admin/packages/${id}`); +// 删除套餐(管理员端) +export function deletePackage(id: number): Promise { + return readingApi.deletePackage(id).then(() => undefined); } -// 设置套餐课程 +// 设置套餐课程(仍使用自定义 HTTP 接口) export function setPackageCourses( packageId: number, courses: { courseId: number; gradeLevel: string; sortOrder?: number }[], ) { - return http.put(`/admin/packages/${packageId}/courses`, { courses }); + return http.put(`/api/v1/admin/packages/${packageId}/courses`, { courses }); } -// 添加课程到套餐 +// 添加课程到套餐(仍使用自定义 HTTP 接口) export function addCourseToPackage( packageId: number, data: { courseId: number; gradeLevel: string; sortOrder?: number }, ) { - return http.post(`/admin/packages/${packageId}/courses`, data); + return http.post(`/api/v1/admin/packages/${packageId}/courses`, data); } -// 从套餐移除课程 +// 从套餐移除课程(仍使用自定义 HTTP 接口) export function removeCourseFromPackage(packageId: number, courseId: number) { - return http.delete(`/admin/packages/${packageId}/courses/${courseId}`); + return http.delete(`/api/v1/admin/packages/${packageId}/courses/${courseId}`); } // 提交审核 -export function submitPackage(id: number) { - return http.post(`/admin/packages/${id}/submit`); +export function submitPackage(id: number): Promise { + return readingApi.submitPackage(id).then(() => undefined); } // 审核套餐 -export function reviewPackage(id: number, data: { approved: boolean; comment?: string }) { - return http.post(`/admin/packages/${id}/review`, data); +export function reviewPackage( + id: number, + data: { approved: boolean; comment?: string }, +): Promise { + return readingApi + .reviewPackage(id, { + approved: data.approved, + comment: data.comment, + } as any) + .then(() => undefined); } // 发布套餐 -export function publishPackage(id: number) { - return http.post(`/admin/packages/${id}/publish`); +export function publishPackage(id: number): Promise { + return readingApi.publishPackage(id).then(() => undefined); } // 下架套餐 -export function offlinePackage(id: number) { - return http.post(`/admin/packages/${id}/offline`); +export function offlinePackage(id: number): Promise { + return readingApi.offlinePackage(id).then(() => undefined); } // ==================== 学校端套餐 ==================== @@ -128,10 +149,13 @@ export interface TenantPackage { // 获取学校已授权套餐 export function getTenantPackages() { - return http.get('/school/packages'); + return http.get("/api/v1/school/packages"); } // 续订套餐 -export function renewPackage(packageId: number, data: { endDate: string; pricePaid?: number }) { - return http.post(`/school/packages/${packageId}/renew`, data); +export function renewPackage( + packageId: number, + data: { endDate: string; pricePaid?: number }, +) { + return http.post(`/api/v1/school/packages/${packageId}/renew`, data); } diff --git a/reading-platform-frontend/src/api/parent.ts b/reading-platform-frontend/src/api/parent.ts index c261006..8c84564 100644 --- a/reading-platform-frontend/src/api/parent.ts +++ b/reading-platform-frontend/src/api/parent.ts @@ -1,4 +1,4 @@ -import { http } from './index'; +import { http } from "./index"; // ==================== 类型定义 ==================== @@ -93,60 +93,82 @@ export interface Notification { // ==================== 孩子信息 API ==================== export const getChildren = (): Promise => - http.get('/parent/children'); + http.get("/api/v1/parent/children"); export const getChildProfile = (childId: number): Promise => - http.get(`/parent/children/${childId}`); + http.get(`/api/v1/parent/children/${childId}`); // ==================== 阅读记录 API ==================== export const getChildLessons = ( childId: number, - params?: { page?: number; pageSize?: number } -): Promise<{ items: LessonRecord[]; total: number; page: number; pageSize: number }> => - http.get(`/parent/children/${childId}/lessons`, { params }); + params?: { page?: number; pageSize?: number }, +): Promise<{ + items: LessonRecord[]; + total: number; + page: number; + pageSize: number; +}> => http.get(`/api/v1/parent/children/${childId}/lessons`, { params }); // ==================== 任务 API ==================== export const getChildTasks = ( childId: number, - params?: { page?: number; pageSize?: number; status?: string } -): Promise<{ items: TaskWithCompletion[]; total: number; page: number; pageSize: number }> => - http.get(`/parent/children/${childId}/tasks`, { params }); + params?: { page?: number; pageSize?: number; status?: string }, +): Promise<{ + items: TaskWithCompletion[]; + total: number; + page: number; + pageSize: number; +}> => http.get(`/api/v1/parent/children/${childId}/tasks`, { params }); export const submitTaskFeedback = ( childId: number, taskId: number, - feedback: string -): Promise => - http.put(`/parent/children/${childId}/tasks/${taskId}/feedback`, { feedback }); + feedback: string, +): Promise => + http.put( + `/api/v1/parent/children/${childId}/tasks/${taskId}/feedback`, + { + feedback, + }, + ); // ==================== 成长档案 API ==================== export const getChildGrowthRecords = ( childId: number, - params?: { page?: number; pageSize?: number } -): Promise<{ items: GrowthRecord[]; total: number; page: number; pageSize: number }> => - http.get(`/parent/children/${childId}/growth-records`, { params }); + params?: { page?: number; pageSize?: number }, +): Promise<{ + items: GrowthRecord[]; + total: number; + page: number; + pageSize: number; +}> => + http.get(`/api/v1/parent/children/${childId}/growth-records`, { + params, + }); // ==================== 通知 API ==================== -export const getNotifications = ( - params?: { page?: number; pageSize?: number; isRead?: boolean; notificationType?: string } -): Promise<{ +export const getNotifications = (params?: { + page?: number; + pageSize?: number; + isRead?: boolean; + notificationType?: string; +}): Promise<{ items: Notification[]; total: number; unreadCount: number; page: number; pageSize: number; -}> => - http.get('/parent/notifications', { params }); +}> => http.get("/api/v1/parent/notifications", { params }); export const getUnreadCount = (): Promise => - http.get('/parent/notifications/unread-count'); + http.get("/api/v1/parent/notifications/unread-count"); -export const markNotificationAsRead = (id: number): Promise => - http.put(`/parent/notifications/${id}/read`); +export const markNotificationAsRead = (id: number): Promise => + http.put(`/api/v1/parent/notifications/${id}/read`); -export const markAllNotificationsAsRead = (): Promise => - http.put('/parent/notifications/read-all'); +export const markAllNotificationsAsRead = (): Promise => + http.put("/api/v1/parent/notifications/read-all"); diff --git a/reading-platform-frontend/src/api/resource.ts b/reading-platform-frontend/src/api/resource.ts index b1fd971..84970b1 100644 --- a/reading-platform-frontend/src/api/resource.ts +++ b/reading-platform-frontend/src/api/resource.ts @@ -1,9 +1,10 @@ -import { http } from './index'; +import { http } from "./index"; +import { readingApi } from "./client"; // ==================== 类型定义 ==================== -export type LibraryType = 'PICTURE_BOOK' | 'MATERIAL' | 'TEMPLATE'; -export type FileType = 'IMAGE' | 'PDF' | 'VIDEO' | 'AUDIO' | 'PPT' | 'OTHER'; +export type LibraryType = "PICTURE_BOOK" | "MATERIAL" | "TEMPLATE"; +export type FileType = "IMAGE" | "PDF" | "VIDEO" | "AUDIO" | "PPT" | "OTHER"; export interface ResourceLibrary { id: number; @@ -83,22 +84,35 @@ export const getLibraries = (params?: { libraryType?: LibraryType; keyword?: string; }) => - http.get<{ items: ResourceLibrary[]; total: number; page: number; pageSize: number }>( - '/admin/resources/libraries', - { params } - ); + readingApi.getLibraries(params as any).then((res) => { + const list = (res.data as any as ResourceLibrary[]) || []; + const page = params?.page ?? 1; + const pageSize = params?.pageSize ?? list.length || 10; + return { + items: list, + total: list.length, + page, + pageSize, + }; + }); export const getLibrary = (id: number) => - http.get(`/admin/resources/libraries/${id}`); + http.get( + `/api/v1/admin/resources/libraries/${id}`, + ); export const createLibrary = (data: CreateLibraryDto) => - http.post('/admin/resources/libraries', data); + readingApi + .createLibrary(data as any) + .then((res) => res.data as any as ResourceLibrary); export const updateLibrary = (id: number, data: UpdateLibraryDto) => - http.put(`/admin/resources/libraries/${id}`, data); + readingApi + .updateLibrary(id, data as any) + .then((res) => res.data as any as ResourceLibrary); export const deleteLibrary = (id: number) => - http.delete(`/admin/resources/libraries/${id}`); + readingApi.deleteLibrary(id).then(() => undefined); // ==================== 资源项目管理 ==================== @@ -109,27 +123,38 @@ export const getResourceItems = (params?: { fileType?: FileType; keyword?: string; }) => - http.get<{ items: ResourceItem[]; total: number; page: number; pageSize: number }>( - '/admin/resources/items', - { params } - ); + readingApi.getItems(params as any).then((res) => { + const page = res.data as any; + return { + items: (page?.items as ResourceItem[]) ?? [], + total: page?.total ?? 0, + page: page?.page ?? params?.page ?? 1, + pageSize: page?.pageSize ?? params?.pageSize ?? 10, + }; + }); export const getResourceItem = (id: number) => - http.get(`/admin/resources/items/${id}`); + http.get(`/api/v1/admin/resources/items/${id}`); export const createResourceItem = (data: CreateResourceItemDto) => - http.post('/admin/resources/items', data); + readingApi + .createItem(data as any) + .then((res) => res.data as any as ResourceItem); export const updateResourceItem = (id: number, data: UpdateResourceItemDto) => - http.put(`/admin/resources/items/${id}`, data); + readingApi + .updateItem(id, data as any) + .then((res) => res.data as any as ResourceItem); export const deleteResourceItem = (id: number) => - http.delete(`/admin/resources/items/${id}`); + readingApi.deleteItem(id).then(() => undefined); export const batchDeleteResourceItems = (ids: number[]) => - http.post<{ message: string }>('/admin/resources/items/batch-delete', { ids }); + http.post<{ message: string }>("/api/v1/admin/resources/items/batch-delete", { + ids, + }); // ==================== 统计数据 ==================== export const getResourceStats = () => - http.get('/admin/resources/stats'); + http.get("/api/v1/admin/resources/stats"); diff --git a/reading-platform-frontend/src/api/school-course.ts b/reading-platform-frontend/src/api/school-course.ts index 3b6e4d1..4279653 100644 --- a/reading-platform-frontend/src/api/school-course.ts +++ b/reading-platform-frontend/src/api/school-course.ts @@ -1,4 +1,4 @@ -import { http } from './index'; +import { http } from "./index"; // ==================== 类型定义 ==================== @@ -74,37 +74,37 @@ export interface CreateReservationData { // 获取校本课程包列表 export function getSchoolCourseList() { - return http.get('/school/school-courses'); + return http.get("/api/v1/school/school-courses"); } // 获取可创建校本课程包的源课程列表 export function getSourceCourses() { - return http.get('/school/school-courses/source-courses'); + return http.get("/api/v1/school/school-courses/source-courses"); } // 获取校本课程包详情 export function getSchoolCourseDetail(id: number) { - return http.get(`/school/school-courses/${id}`); + return http.get(`/api/v1/school/school-courses/${id}`); } // 创建校本课程包 export function createSchoolCourse(data: CreateSchoolCourseData) { - return http.post('/school/school-courses', data); + return http.post("/api/v1/school/school-courses", data); } // 更新校本课程包 export function updateSchoolCourse(id: number, data: UpdateSchoolCourseData) { - return http.put(`/school/school-courses/${id}`, data); + return http.put(`/api/v1/school/school-courses/${id}`, data); } // 删除校本课程包 export function deleteSchoolCourse(id: number) { - return http.delete(`/school/school-courses/${id}`); + return http.delete(`/api/v1/school/school-courses/${id}`); } // 获取校本课程列表 export function getSchoolCourseLessons(schoolCourseId: number) { - return http.get(`/school/school-courses/${schoolCourseId}/lessons`); + return http.get(`/api/v1/school/school-courses/${schoolCourseId}/lessons`); } // 更新校本课程 @@ -113,59 +113,75 @@ export function updateSchoolCourseLesson( lessonId: number, data: Partial, ) { - return http.put(`/school/school-courses/${schoolCourseId}/lessons/${lessonId}`, data); + return http.put( + `/school/school-courses/${schoolCourseId}/lessons/${lessonId}`, + data, + ); } // 获取预约列表 export function getReservations(schoolCourseId: number) { - return http.get(`/school/school-courses/${schoolCourseId}/reservations`); + return http.get( + `/api/v1/school/school-courses/${schoolCourseId}/reservations`, + ); } // 创建预约 -export function createReservation(schoolCourseId: number, data: CreateReservationData) { - return http.post(`/school/school-courses/${schoolCourseId}/reservations`, data); +export function createReservation( + schoolCourseId: number, + data: CreateReservationData, +) { + return http.post( + `/api/v1/school/school-courses/${schoolCourseId}/reservations`, + data, + ); } // 取消预约 export function cancelReservation(reservationId: number) { - return http.post(`/school/school-courses/reservations/${reservationId}/cancel`); + return http.post( + `/api/v1/school/school-courses/reservations/${reservationId}/cancel`, + ); } // ==================== 教师端 API ==================== // 获取教师端校本课程包列表 export function getTeacherSchoolCourseList() { - return http.get('/teacher/school-courses'); + return http.get("/api/v1/teacher/school-courses"); } // 获取教师端可创建校本课程包的源课程列表 export function getTeacherSourceCourses() { - return http.get('/teacher/school-courses/source-courses'); + return http.get("/api/v1/teacher/school-courses/source-courses"); } // 获取教师端校本课程包详情 export function getTeacherSchoolCourseDetail(id: number) { - return http.get(`/teacher/school-courses/${id}`); + return http.get(`/api/v1/teacher/school-courses/${id}`); } // 创建教师端校本课程包 export function createTeacherSchoolCourse(data: CreateSchoolCourseData) { - return http.post('/teacher/school-courses', data); + return http.post("/api/v1/teacher/school-courses", data); } // 更新教师端校本课程包 -export function updateTeacherSchoolCourse(id: number, data: UpdateSchoolCourseData) { - return http.put(`/teacher/school-courses/${id}`, data); +export function updateTeacherSchoolCourse( + id: number, + data: UpdateSchoolCourseData, +) { + return http.put(`/api/v1/teacher/school-courses/${id}`, data); } // 删除教师端校本课程包 export function deleteTeacherSchoolCourse(id: number) { - return http.delete(`/teacher/school-courses/${id}`); + return http.delete(`/api/v1/teacher/school-courses/${id}`); } // 获取教师端校本课程列表 export function getTeacherSchoolCourseLessons(schoolCourseId: number) { - return http.get(`/teacher/school-courses/${schoolCourseId}/lessons`); + return http.get(`/api/v1/teacher/school-courses/${schoolCourseId}/lessons`); } // 更新教师端校本课程 @@ -174,5 +190,8 @@ export function updateTeacherSchoolCourseLesson( lessonId: number, data: Partial, ) { - return http.put(`/teacher/school-courses/${schoolCourseId}/lessons/${lessonId}`, data); + return http.put( + `/teacher/school-courses/${schoolCourseId}/lessons/${lessonId}`, + data, + ); } diff --git a/reading-platform-frontend/src/api/school.ts b/reading-platform-frontend/src/api/school.ts index a513d38..87bd8a2 100644 --- a/reading-platform-frontend/src/api/school.ts +++ b/reading-platform-frontend/src/api/school.ts @@ -1,4 +1,4 @@ -import { http } from './index'; +import { http } from "./index"; // ==================== 类型定义 ==================== @@ -71,7 +71,7 @@ export interface ClassInfo { studentCount: number; lessonCount: number; createdAt?: string; - teachers?: ClassTeacher[]; // 新增:教师团队 + teachers?: ClassTeacher[]; // 新增:教师团队 } export interface ClassTeacher { @@ -80,19 +80,19 @@ export interface ClassTeacher { teacherName: string; teacherPhone?: string; teacherEmail?: string; - role: 'MAIN' | 'ASSIST' | 'CARE'; + role: "MAIN" | "ASSIST" | "CARE"; isPrimary: boolean; createdAt?: string; } export interface AddClassTeacherDto { teacherId: number; - role: 'MAIN' | 'ASSIST' | 'CARE'; + role: "MAIN" | "ASSIST" | "CARE"; isPrimary?: boolean; } export interface UpdateClassTeacherDto { - role?: 'MAIN' | 'ASSIST' | 'CARE'; + role?: "MAIN" | "ASSIST" | "CARE"; isPrimary?: boolean; } @@ -157,19 +157,22 @@ export interface PackageUsage { // ==================== 教师管理 ==================== export const getTeachers = (params: TeacherQueryParams) => - http.get<{ items: Teacher[]; total: number; page: number; pageSize: number }>('/school/teachers', { params }); + http.get<{ items: Teacher[]; total: number; page: number; pageSize: number }>( + "/school/teachers", + { params }, + ); export const getTeacher = (id: number) => http.get(`/school/teachers/${id}`); export const createTeacher = (data: CreateTeacherDto) => - http.post('/school/teachers', data); + http.post("/school/teachers", data); export const updateTeacher = (id: number, data: Partial) => http.put(`/school/teachers/${id}`, data); export const deleteTeacher = (id: number) => - http.delete(`/school/teachers/${id}`); + http.delete(`/api/v1/school/teachers/${id}`); export const resetTeacherPassword = (id: number) => http.post<{ tempPassword: string }>(`/school/teachers/${id}/reset-password`); @@ -177,19 +180,22 @@ export const resetTeacherPassword = (id: number) => // ==================== 学生管理 ==================== export const getStudents = (params: StudentQueryParams) => - http.get<{ items: Student[]; total: number; page: number; pageSize: number }>('/school/students', { params }); + http.get<{ items: Student[]; total: number; page: number; pageSize: number }>( + "/school/students", + { params }, + ); export const getStudent = (id: number) => http.get(`/school/students/${id}`); export const createStudent = (data: CreateStudentDto) => - http.post('/school/students', data); + http.post("/school/students", data); export const updateStudent = (id: number, data: Partial) => http.put(`/school/students/${id}`, data); export const deleteStudent = (id: number) => - http.delete(`/school/students/${id}`); + http.delete(`/api/v1/school/students/${id}`); // ==================== 学生批量导入 ==================== @@ -206,16 +212,19 @@ export interface ImportTemplate { } export const getStudentImportTemplate = () => - http.get('/school/students/import/template'); + http.get("/school/students/import/template"); -export const importStudents = (file: File, defaultClassId?: number): Promise => { +export const importStudents = ( + file: File, + defaultClassId?: number, +): Promise => { const formData = new FormData(); - formData.append('file', file); + formData.append("file", file); const params = defaultClassId ? { defaultClassId } : {}; - return http.post('/school/students/import', formData, { + return http.post("/api/v1/school/students/import", formData, { headers: { - 'Content-Type': 'multipart/form-data', + "Content-Type": "multipart/form-data", }, params, }); @@ -223,45 +232,59 @@ export const importStudents = (file: File, defaultClassId?: number): Promise - http.get('/school/classes'); +export const getClasses = () => http.get("/school/classes"); export const getClass = (id: number) => http.get(`/school/classes/${id}`); export const createClass = (data: CreateClassDto) => - http.post('/school/classes', data); + http.post("/school/classes", data); export const updateClass = (id: number, data: Partial) => http.put(`/school/classes/${id}`, data); export const deleteClass = (id: number) => - http.delete(`/school/classes/${id}`); + http.delete(`/api/v1/school/classes/${id}`); -export const getClassStudents = (classId: number, params?: { page?: number; pageSize?: number; keyword?: string }) => - http.get<{ items: Student[]; total: number; page: number; pageSize: number; class?: ClassInfo }>(`/school/classes/${classId}/students`, { params }); +export const getClassStudents = ( + classId: number, + params?: { page?: number; pageSize?: number; keyword?: string }, +) => + http.get<{ + items: Student[]; + total: number; + page: number; + pageSize: number; + class?: ClassInfo; + }>(`/school/classes/${classId}/students`, { params }); // ==================== 统计数据 ==================== -export const getSchoolStats = () => - http.get('/school/stats'); +export const getSchoolStats = () => http.get("/school/stats"); export const getActiveTeachers = (limit?: number) => - http.get>('/school/stats/teachers', { params: { limit } }); + http.get>( + "/school/stats/teachers", + { params: { limit } }, + ); export const getCourseUsageStats = () => - http.get>('/school/stats/courses'); + http.get>( + "/school/stats/courses", + ); export const getRecentActivities = (limit?: number) => - http.get>('/school/stats/activities', { params: { limit } }); + http.get>( + "/school/stats/activities", + { params: { limit } }, + ); // ==================== 套餐信息(旧API,保留兼容) ==================== -export const getPackageInfo = () => - http.get('/school/package'); +export const getPackageInfo = () => http.get("/school/package"); export const getPackageUsage = () => - http.get('/school/package/usage'); + http.get("/school/package/usage"); // ==================== 套餐管理(新API) ==================== @@ -271,7 +294,7 @@ export interface TenantPackage { packageId: number; startDate: string; endDate: string; - status: 'ACTIVE' | 'EXPIRED' | 'CANCELLED'; + status: "ACTIVE" | "EXPIRED" | "CANCELLED"; pricePaid?: number; createdAt: string; package: { @@ -303,7 +326,7 @@ export interface RenewPackageDto { } export const getTenantPackages = () => - http.get('/school/packages'); + http.get("/school/packages"); export const renewPackage = (packageId: number, data: RenewPackageDto) => http.post(`/school/packages/${packageId}/renew`, data); @@ -332,16 +355,14 @@ export interface UpdateSettingsDto { notifyOnGrowth?: boolean; } -export const getSettings = () => - http.get('/school/settings'); +export const getSettings = () => http.get("/school/settings"); export const updateSettings = (data: UpdateSettingsDto) => - http.put('/school/settings', data); + http.put("/school/settings", data); // ==================== 课程管理 ==================== -export const getSchoolCourses = () => - http.get('/school/courses'); +export const getSchoolCourses = () => http.get("/school/courses"); export const getSchoolCourse = (id: number) => http.get(`/school/courses/${id}`); @@ -354,16 +375,28 @@ export const getClassTeachers = (classId: number) => export const addClassTeacher = (classId: number, data: AddClassTeacherDto) => http.post(`/school/classes/${classId}/teachers`, data); -export const updateClassTeacher = (classId: number, teacherId: number, data: UpdateClassTeacherDto) => - http.put(`/school/classes/${classId}/teachers/${teacherId}`, data); +export const updateClassTeacher = ( + classId: number, + teacherId: number, + data: UpdateClassTeacherDto, +) => + http.put( + `/school/classes/${classId}/teachers/${teacherId}`, + data, + ); export const removeClassTeacher = (classId: number, teacherId: number) => - http.delete<{ message: string }>(`/school/classes/${classId}/teachers/${teacherId}`); + http.delete<{ message: string }>( + `/school/classes/${classId}/teachers/${teacherId}`, + ); // ==================== 学生调班 ==================== export const transferStudent = (studentId: number, data: TransferStudentDto) => - http.post<{ message: string }>(`/school/students/${studentId}/transfer`, data); + http.post<{ message: string }>( + `/school/students/${studentId}/transfer`, + data, + ); export const getStudentClassHistory = (studentId: number) => http.get(`/school/students/${studentId}/history`); @@ -382,10 +415,10 @@ export interface SchedulePlan { scheduledDate?: string; scheduledTime?: string; weekDay?: number; - repeatType: 'NONE' | 'DAILY' | 'WEEKLY'; + repeatType: "NONE" | "DAILY" | "WEEKLY"; repeatEndDate?: string; - source: 'SCHOOL' | 'TEACHER'; - status: 'ACTIVE' | 'CANCELLED'; + source: "SCHOOL" | "TEACHER"; + status: "ACTIVE" | "CANCELLED"; note?: string; createdBy: number; createdAt: string; @@ -399,7 +432,7 @@ export interface CreateScheduleDto { scheduledDate?: string; scheduledTime?: string; weekDay?: number; - repeatType: 'NONE' | 'DAILY' | 'WEEKLY'; + repeatType: "NONE" | "DAILY" | "WEEKLY"; repeatEndDate?: string; note?: string; } @@ -409,7 +442,7 @@ export interface UpdateScheduleDto { scheduledDate?: string; scheduledTime?: string; weekDay?: number; - repeatType?: 'NONE' | 'DAILY' | 'WEEKLY'; + repeatType?: "NONE" | "DAILY" | "WEEKLY"; repeatEndDate?: string; note?: string; status?: string; @@ -441,13 +474,18 @@ export interface TimetableQueryParams { } export const getSchedules = (params?: ScheduleQueryParams) => - http.get<{ items: SchedulePlan[]; total: number; page: number; pageSize: number }>('/school/schedules', { params }); + http.get<{ + items: SchedulePlan[]; + total: number; + page: number; + pageSize: number; + }>("/school/schedules", { params }); export const getSchedule = (id: number) => http.get(`/school/schedules/${id}`); export const createSchedule = (data: CreateScheduleDto) => - http.post('/school/schedules', data); + http.post("/school/schedules", data); export const updateSchedule = (id: number, data: UpdateScheduleDto) => http.put(`/school/schedules/${id}`, data); @@ -456,7 +494,7 @@ export const cancelSchedule = (id: number) => http.delete<{ message: string }>(`/school/schedules/${id}`); export const getTimetable = (params: TimetableQueryParams) => - http.get('/school/schedules/timetable', { params }); + http.get("/school/schedules/timetable", { params }); export interface BatchScheduleItem { classId: number; @@ -475,7 +513,7 @@ export interface BatchCreateResult { } export const batchCreateSchedules = (schedules: BatchScheduleItem[]) => - http.post('/school/schedules/batch', { schedules }); + http.post("/school/schedules/batch", { schedules }); // ==================== 趋势与分布统计 ==================== @@ -491,85 +529,93 @@ export interface CourseDistributionItem { } export const getLessonTrend = (months?: number) => - http.get('/school/stats/lesson-trend', { params: { months } }); + http.get("/school/stats/lesson-trend", { + params: { months }, + }); export const getCourseDistribution = () => - http.get('/school/stats/course-distribution'); + http.get("/school/stats/course-distribution"); // ==================== 数据导出 ==================== export const exportLessons = (startDate?: string, endDate?: string) => { const params = new URLSearchParams(); - if (startDate) params.append('startDate', startDate); - if (endDate) params.append('endDate', endDate); + if (startDate) params.append("startDate", startDate); + if (endDate) params.append("endDate", endDate); - const token = localStorage.getItem('token'); + const token = localStorage.getItem("token"); const url = `/api/v1/school/export/lessons?${params.toString()}`; return fetch(url, { headers: { Authorization: `Bearer ${token}`, }, - }).then((res) => { - if (!res.ok) throw new Error('导出失败'); - return res.blob(); - }).then((blob) => { - const url = window.URL.createObjectURL(blob); - const a = document.createElement('a'); - a.href = url; - a.download = `授课记录_${startDate || ''}_${endDate || ''}.xlsx`; - a.click(); - window.URL.revokeObjectURL(url); - }); + }) + .then((res) => { + if (!res.ok) throw new Error("导出失败"); + return res.blob(); + }) + .then((blob) => { + const url = window.URL.createObjectURL(blob); + const a = document.createElement("a"); + a.href = url; + a.download = `授课记录_${startDate || ""}_${endDate || ""}.xlsx`; + a.click(); + window.URL.revokeObjectURL(url); + }); }; export const exportTeacherStats = (startDate?: string, endDate?: string) => { const params = new URLSearchParams(); - if (startDate) params.append('startDate', startDate); - if (endDate) params.append('endDate', endDate); + if (startDate) params.append("startDate", startDate); + if (endDate) params.append("endDate", endDate); - const token = localStorage.getItem('token'); + const token = localStorage.getItem("token"); const url = `/api/v1/school/export/teacher-stats?${params.toString()}`; return fetch(url, { headers: { Authorization: `Bearer ${token}`, }, - }).then((res) => { - if (!res.ok) throw new Error('导出失败'); - return res.blob(); - }).then((blob) => { - const url = window.URL.createObjectURL(blob); - const a = document.createElement('a'); - a.href = url; - a.download = `教师绩效统计_${startDate || ''}_${endDate || ''}.xlsx`; - a.click(); - window.URL.revokeObjectURL(url); - }); + }) + .then((res) => { + if (!res.ok) throw new Error("导出失败"); + return res.blob(); + }) + .then((blob) => { + const url = window.URL.createObjectURL(blob); + const a = document.createElement("a"); + a.href = url; + a.download = `教师绩效统计_${startDate || ""}_${endDate || ""}.xlsx`; + a.click(); + window.URL.revokeObjectURL(url); + }); }; export const exportStudentStats = (classId?: number) => { const params = new URLSearchParams(); - if (classId) params.append('classId', String(classId)); + if (classId) params.append("classId", String(classId)); - const token = localStorage.getItem('token'); + const token = localStorage.getItem("token"); const url = `/api/v1/school/export/student-stats?${params.toString()}`; return fetch(url, { headers: { Authorization: `Bearer ${token}`, }, - }).then((res) => { - if (!res.ok) throw new Error('导出失败'); - return res.blob(); - }).then((blob) => { - const url = window.URL.createObjectURL(blob); - const a = document.createElement('a'); - a.href = url; - a.download = `学生统计.xlsx`; - a.click(); - window.URL.revokeObjectURL(url); - }); + }) + .then((res) => { + if (!res.ok) throw new Error("导出失败"); + return res.blob(); + }) + .then((blob) => { + const url = window.URL.createObjectURL(blob); + const a = document.createElement("a"); + a.href = url; + a.download = `学生统计.xlsx`; + a.click(); + window.URL.revokeObjectURL(url); + }); }; // ==================== 排课模板 ==================== @@ -619,17 +665,21 @@ export interface ApplyTemplateDto { teacherId?: number; } -export const getScheduleTemplates = (params?: { classId?: number; courseId?: number }) => - http.get('/school/schedule-templates', { params }); +export const getScheduleTemplates = (params?: { + classId?: number; + courseId?: number; +}) => http.get("/school/schedule-templates", { params }); export const getScheduleTemplate = (id: number) => http.get(`/school/schedule-templates/${id}`); export const createScheduleTemplate = (data: CreateScheduleTemplateDto) => - http.post('/school/schedule-templates', data); + http.post("/school/schedule-templates", data); -export const updateScheduleTemplate = (id: number, data: UpdateScheduleTemplateDto) => - http.put(`/school/schedule-templates/${id}`, data); +export const updateScheduleTemplate = ( + id: number, + data: UpdateScheduleTemplateDto, +) => http.put(`/school/schedule-templates/${id}`, data); export const deleteScheduleTemplate = (id: number) => http.delete<{ message: string }>(`/school/schedule-templates/${id}`); @@ -667,13 +717,16 @@ export const getOperationLogs = (params?: { action?: string; startDate?: string; endDate?: string; -}) => http.get<{ items: OperationLog[]; total: number; page: number; pageSize: number }>( - '/school/operation-logs', - { params } -); +}) => + http.get<{ + items: OperationLog[]; + total: number; + page: number; + pageSize: number; + }>("/school/operation-logs", { params }); export const getOperationLogStats = (startDate?: string, endDate?: string) => - http.get('/school/operation-logs/stats', { + http.get("/school/operation-logs/stats", { params: { startDate, endDate }, }); @@ -687,7 +740,7 @@ export interface TaskTemplate { tenantId: number; name: string; description?: string; - taskType: 'READING' | 'ACTIVITY' | 'HOMEWORK'; + taskType: "READING" | "ACTIVITY" | "HOMEWORK"; relatedCourseId?: number; defaultDuration: number; isDefault: boolean; @@ -705,7 +758,7 @@ export interface TaskTemplate { export interface CreateTaskTemplateDto { name: string; description?: string; - taskType: 'READING' | 'ACTIVITY' | 'HOMEWORK'; + taskType: "READING" | "ACTIVITY" | "HOMEWORK"; relatedCourseId?: number; defaultDuration?: number; isDefault?: boolean; @@ -725,7 +778,13 @@ export const getTaskTemplates = (params?: { pageSize?: number; taskType?: string; keyword?: string; -}) => http.get<{ items: TaskTemplate[]; total: number; page: number; pageSize: number }>('/school/task-templates', { params }); +}) => + http.get<{ + items: TaskTemplate[]; + total: number; + page: number; + pageSize: number; + }>("/school/task-templates", { params }); export const getTaskTemplate = (id: number) => http.get(`/school/task-templates/${id}`); @@ -734,7 +793,7 @@ export const getDefaultTaskTemplate = (taskType: string) => http.get(`/school/task-templates/default/${taskType}`); export const createTaskTemplate = (data: CreateTaskTemplateDto) => - http.post('/school/task-templates', data); + http.post("/school/task-templates", data); export const updateTaskTemplate = (id: number, data: UpdateTaskTemplateDto) => http.put(`/school/task-templates/${id}`, data); @@ -779,17 +838,18 @@ export interface MonthlyTaskStats { rate: number; } -export const getTaskStats = () => - http.get('/school/tasks/stats'); +export const getTaskStats = () => http.get("/school/tasks/stats"); export const getTaskStatsByType = () => - http.get('/school/tasks/stats/by-type'); + http.get("/school/tasks/stats/by-type"); export const getTaskStatsByClass = () => - http.get('/school/tasks/stats/by-class'); + http.get("/school/tasks/stats/by-class"); export const getMonthlyTaskStats = (months?: number) => - http.get('/school/tasks/stats/monthly', { params: { months } }); + http.get("/school/tasks/stats/monthly", { + params: { months }, + }); // ==================== 任务管理 API ==================== @@ -798,8 +858,8 @@ export interface SchoolTask { tenantId: number; title: string; description?: string; - taskType: 'READING' | 'ACTIVITY' | 'HOMEWORK'; - targetType: 'CLASS' | 'STUDENT'; + taskType: "READING" | "ACTIVITY" | "HOMEWORK"; + targetType: "CLASS" | "STUDENT"; relatedCourseId?: number; course?: { id: number; @@ -807,7 +867,7 @@ export interface SchoolTask { }; startDate: string; endDate: string; - status: 'DRAFT' | 'PUBLISHED' | 'ARCHIVED'; + status: "DRAFT" | "PUBLISHED" | "ARCHIVED"; createdBy: number; targetCount?: number; completionCount?: number; @@ -821,7 +881,7 @@ export interface TaskCompletion { studentId: number; studentName: string; className: string; - status: 'PENDING' | 'IN_PROGRESS' | 'COMPLETED'; + status: "PENDING" | "IN_PROGRESS" | "COMPLETED"; completedAt?: string; parentFeedback?: string; rating?: number; @@ -830,8 +890,8 @@ export interface TaskCompletion { export interface CreateSchoolTaskDto { title: string; description?: string; - taskType: 'READING' | 'ACTIVITY' | 'HOMEWORK'; - targetType: 'CLASS' | 'STUDENT'; + taskType: "READING" | "ACTIVITY" | "HOMEWORK"; + targetType: "CLASS" | "STUDENT"; targetIds: number[]; relatedCourseId?: number; startDate: string; @@ -841,11 +901,11 @@ export interface CreateSchoolTaskDto { export interface UpdateSchoolTaskDto { title?: string; description?: string; - taskType?: 'READING' | 'ACTIVITY' | 'HOMEWORK'; + taskType?: "READING" | "ACTIVITY" | "HOMEWORK"; relatedCourseId?: number; startDate?: string; endDate?: string; - status?: 'DRAFT' | 'PUBLISHED' | 'ARCHIVED'; + status?: "DRAFT" | "PUBLISHED" | "ARCHIVED"; } export const getSchoolTasks = (params?: { @@ -854,13 +914,19 @@ export const getSchoolTasks = (params?: { status?: string; taskType?: string; keyword?: string; -}) => http.get<{ items: SchoolTask[]; total: number; page: number; pageSize: number }>('/school/tasks', { params }); +}) => + http.get<{ + items: SchoolTask[]; + total: number; + page: number; + pageSize: number; + }>("/school/tasks", { params }); export const getSchoolTask = (id: number) => http.get(`/school/tasks/${id}`); export const createSchoolTask = (data: CreateSchoolTaskDto) => - http.post('/school/tasks', data); + http.post("/school/tasks", data); export const updateSchoolTask = (id: number, data: UpdateSchoolTaskDto) => http.put(`/school/tasks/${id}`, data); @@ -871,8 +937,7 @@ export const deleteSchoolTask = (id: number) => export const getSchoolTaskCompletions = (taskId: number) => http.get(`/school/tasks/${taskId}/completions`); -export const getSchoolClasses = () => - http.get('/school/classes'); +export const getSchoolClasses = () => http.get("/school/classes"); // ==================== 数据报告 API ==================== @@ -911,16 +976,16 @@ export interface StudentReport { } export const getReportOverview = () => - http.get('/school/reports/overview'); + http.get("/school/reports/overview"); export const getTeacherReports = () => - http.get('/school/reports/teachers'); + http.get("/school/reports/teachers"); export const getCourseReports = () => - http.get('/school/reports/courses'); + http.get("/school/reports/courses"); export const getStudentReports = () => - http.get('/school/reports/students'); + http.get("/school/reports/students"); // ==================== 家长管理 ==================== @@ -974,13 +1039,16 @@ export interface AddChildDto { } export const getParents = (params?: ParentQueryParams) => - http.get<{ items: Parent[]; total: number; page: number; pageSize: number }>('/school/parents', { params }); + http.get<{ items: Parent[]; total: number; page: number; pageSize: number }>( + "/school/parents", + { params }, + ); export const getParent = (id: number) => http.get(`/school/parents/${id}`); export const createParent = (data: CreateParentDto) => - http.post('/school/parents', data); + http.post("/school/parents", data); export const updateParent = (id: number, data: UpdateParentDto) => http.put(`/school/parents/${id}`, data); @@ -991,13 +1059,22 @@ export const deleteParent = (id: number) => export const resetParentPassword = (id: number) => http.post<{ tempPassword: string }>(`/school/parents/${id}/reset-password`); -export const getParentChildren = async (parentId: number): Promise => { - const parent = await http.get(`/school/parents/${parentId}`); +export const getParentChildren = async ( + parentId: number, +): Promise => { + const parent = await http.get( + `/school/parents/${parentId}`, + ); return parent.children || []; }; export const addChildToParent = (parentId: number, data: AddChildDto) => - http.post(`/school/parents/${parentId}/children/${data.studentId}`, { relationship: data.relationship }); + http.post( + `/school/parents/${parentId}/children/${data.studentId}`, + { relationship: data.relationship }, + ); export const removeChildFromParent = (parentId: number, studentId: number) => - http.delete<{ message: string }>(`/school/parents/${parentId}/children/${studentId}`); + http.delete<{ message: string }>( + `/school/parents/${parentId}/children/${studentId}`, + ); diff --git a/reading-platform-frontend/src/api/task.ts b/reading-platform-frontend/src/api/task.ts index 78b8c2b..e3ebc2d 100644 --- a/reading-platform-frontend/src/api/task.ts +++ b/reading-platform-frontend/src/api/task.ts @@ -1,11 +1,11 @@ -import { http } from './index'; +import { http } from "./index"; // ==================== 类型定义 ==================== -export type TaskType = 'READING' | 'ACTIVITY' | 'HOMEWORK'; -export type TargetType = 'CLASS' | 'STUDENT'; -export type TaskStatus = 'DRAFT' | 'PUBLISHED' | 'ARCHIVED'; -export type CompletionStatus = 'PENDING' | 'IN_PROGRESS' | 'COMPLETED'; +export type TaskType = "READING" | "ACTIVITY" | "HOMEWORK"; +export type TargetType = "CLASS" | "STUDENT"; +export type TaskStatus = "DRAFT" | "PUBLISHED" | "ARCHIVED"; +export type CompletionStatus = "PENDING" | "IN_PROGRESS" | "COMPLETED"; export interface Task { id: number; @@ -92,41 +92,48 @@ export const getTasks = (params?: { keyword?: string; }) => http.get<{ items: Task[]; total: number; page: number; pageSize: number }>( - '/school/tasks', - { params } + "/school/tasks", + { params }, ); -export const getTask = (id: number) => - http.get(`/school/tasks/${id}`); +export const getTask = (id: number) => http.get(`/school/tasks/${id}`); -export const getTaskCompletions = (taskId: number, params?: { - page?: number; - pageSize?: number; - status?: CompletionStatus; -}) => - http.get<{ items: TaskCompletion[]; total: number; page: number; pageSize: number }>( - `/school/tasks/${taskId}/completions`, - { params } - ); +export const getTaskCompletions = ( + taskId: number, + params?: { + page?: number; + pageSize?: number; + status?: CompletionStatus; + }, +) => + http.get<{ + items: TaskCompletion[]; + total: number; + page: number; + pageSize: number; + }>(`/school/tasks/${taskId}/completions`, { params }); export const createTask = (data: CreateTaskDto) => - http.post('/school/tasks', data); + http.post("/school/tasks", data); export const updateTask = (id: number, data: UpdateTaskDto) => http.put(`/school/tasks/${id}`, data); export const deleteTask = (id: number) => - http.delete(`/school/tasks/${id}`); + http.delete(`/api/v1/school/tasks/${id}`); export const updateTaskCompletion = ( taskId: number, studentId: number, - data: UpdateCompletionDto + data: UpdateCompletionDto, ) => - http.put(`/school/tasks/${taskId}/completions/${studentId}`, data); + http.put( + `/school/tasks/${taskId}/completions/${studentId}`, + data, + ); export const getTaskStats = () => - http.get('/school/tasks/stats'); + http.get("/api/v1/school/tasks/stats"); // ==================== 教师端 API ==================== @@ -138,38 +145,46 @@ export const getTeacherTasks = (params?: { keyword?: string; }) => http.get<{ items: Task[]; total: number; page: number; pageSize: number }>( - '/teacher/tasks', - { params } + "/teacher/tasks", + { params }, ); export const getTeacherTask = (id: number) => http.get(`/teacher/tasks/${id}`); -export const getTeacherTaskCompletions = (taskId: number, params?: { - page?: number; - pageSize?: number; - status?: CompletionStatus; -}) => - http.get<{ items: TaskCompletion[]; total: number; page: number; pageSize: number }>( - `/teacher/tasks/${taskId}/completions`, - { params } - ); +export const getTeacherTaskCompletions = ( + taskId: number, + params?: { + page?: number; + pageSize?: number; + status?: CompletionStatus; + }, +) => + http.get<{ + items: TaskCompletion[]; + total: number; + page: number; + pageSize: number; + }>(`/teacher/tasks/${taskId}/completions`, { params }); export const createTeacherTask = (data: CreateTaskDto) => - http.post('/teacher/tasks', data); + http.post("/teacher/tasks", data); export const updateTeacherTask = (id: number, data: UpdateTaskDto) => http.put(`/teacher/tasks/${id}`, data); export const deleteTeacherTask = (id: number) => - http.delete(`/teacher/tasks/${id}`); + http.delete(`/api/v1/teacher/tasks/${id}`); export const updateTeacherTaskCompletion = ( taskId: number, studentId: number, - data: UpdateCompletionDto + data: UpdateCompletionDto, ) => - http.put(`/teacher/tasks/${taskId}/completions/${studentId}`, data); + http.put( + `/teacher/tasks/${taskId}/completions/${studentId}`, + data, + ); export const getTeacherTaskStats = () => - http.get('/teacher/tasks/stats'); + http.get("/api/v1/teacher/tasks/stats"); diff --git a/reading-platform-frontend/src/api/teacher.ts b/reading-platform-frontend/src/api/teacher.ts index 1d6edeb..4345824 100644 --- a/reading-platform-frontend/src/api/teacher.ts +++ b/reading-platform-frontend/src/api/teacher.ts @@ -1,4 +1,9 @@ -import { http } from './index'; +import { http } from "./index"; +import { readingApi } from "./client"; +import type { + ResultPageResultCourse, + Course as ApiCourse, +} from "./generated/model"; // ==================== 教师课程 API ==================== @@ -29,8 +34,8 @@ export interface TeacherClass { grade: string; studentCount: number; lessonCount: number; - myRole: 'MAIN' | 'ASSIST' | 'CARE'; // 我在该班级的角色 - isPrimary: boolean; // 是否班主任 + myRole: "MAIN" | "ASSIST" | "CARE"; // 我在该班级的角色 + isPrimary: boolean; // 是否班主任 } // 班级教师信息 @@ -38,7 +43,7 @@ export interface TeacherClassTeacher { teacherId: number; teacherName: string; teacherPhone?: string; - role: 'MAIN' | 'ASSIST' | 'CARE'; + role: "MAIN" | "ASSIST" | "CARE"; isPrimary: boolean; } @@ -49,21 +54,48 @@ export function getTeacherCourses(params: TeacherCourseQueryParams): Promise<{ page: number; pageSize: number; }> { - return http.get('/teacher/courses', { params }); + // 使用 Orval 生成的教师课程分页接口,并适配为原有扁平结构 + return readingApi.getCoursePage(params as any).then((res) => { + const wrapped = res as ResultPageResultCourse; + const page = wrapped.data; + + return { + items: + (page?.items as ApiCourse[] | undefined)?.map((c) => ({ + id: c.id ?? 0, + name: c.name ?? "", + pictureBookName: (c as any).pictureBookName, + coverImagePath: (c as any).coverImagePath, + gradeTags: ((c as any).gradeTags as string[]) ?? [], + domainTags: ((c as any).domainTags as string[]) ?? [], + duration: (c as any).duration ?? 0, + avgRating: (c as any).avgRating ?? 0, + usageCount: (c as any).usageCount ?? 0, + publishedAt: (c as any).publishedAt ?? "", + })) ?? [], + total: page?.total ?? 0, + page: page?.page ?? params.page ?? 1, + pageSize: page?.pageSize ?? params.pageSize ?? 10, + }; + }); } // 获取课程详情 -export function getTeacherCourse(id: number): Promise { - return http.get(`/teacher/courses/${id}`); +export function getTeacherCourse(id: number): Promise { + return readingApi.getCourse1(id).then((res) => res); } // 获取教师的班级列表 export function getTeacherClasses(): Promise { - return http.get('/teacher/courses/classes'); + return http.get("/teacher/courses/classes"); } // 获取教师所有学生列表(跨班级) -export function getTeacherStudents(params?: { page?: number; pageSize?: number; keyword?: string }): Promise<{ +export function getTeacherStudents(params?: { + page?: number; + pageSize?: number; + keyword?: string; +}): Promise<{ items: Array<{ id: number; name: string; @@ -83,11 +115,14 @@ export function getTeacherStudents(params?: { page?: number; pageSize?: number; page: number; pageSize: number; }> { - return http.get('/teacher/students', { params }); + return http.get("/teacher/students", { params }); } // 获取班级学生列表 -export function getTeacherClassStudents(classId: number, params?: { page?: number; pageSize?: number; keyword?: string }): Promise<{ +export function getTeacherClassStudents( + classId: number, + params?: { page?: number; pageSize?: number; keyword?: string }, +): Promise<{ items: Array<{ id: number; name: string; @@ -110,12 +145,14 @@ export function getTeacherClassStudents(classId: number, params?: { page?: numbe lessonCount: number; }; }> { - return http.get(`/teacher/classes/${classId}/students`, { params }); + return http.get(`/api/v1/teacher/classes/${classId}/students`, { params }); } // 获取班级教师列表 -export function getClassTeachers(classId: number): Promise { - return http.get(`/teacher/classes/${classId}/teachers`); +export function getClassTeachers( + classId: number, +): Promise { + return http.get(`/api/v1/teacher/classes/${classId}/teachers`); } // ==================== 授课记录 API ==================== @@ -153,41 +190,47 @@ export function getLessons(params?: { page: number; pageSize: number; }> { - return http.get('/teacher/lessons', { params }); + return http.get("/teacher/lessons", { params }); } // 获取单个授课记录详情 -export function getLesson(id: number): Promise { - return http.get(`/teacher/lessons/${id}`); +export function getLesson(id: number): Promise { + return http.get(`/api/v1/teacher/lessons/${id}`); } // 创建授课记录(备课) -export function createLesson(data: CreateLessonDto): Promise { - return http.post('/teacher/lessons', data); +export function createLesson(data: CreateLessonDto): Promise { + return http.post("/teacher/lessons", data); } // 开始上课 -export function startLesson(id: number): Promise { - return http.post(`/teacher/lessons/${id}/start`); +export function startLesson(id: number): Promise { + return http.post(`/api/v1/teacher/lessons/${id}/start`); } // 结束上课 -export function finishLesson(id: number, data: FinishLessonDto): Promise { - return http.post(`/teacher/lessons/${id}/finish`, data); +export function finishLesson( + id: number, + data: FinishLessonDto, +): Promise { + return http.post(`/api/v1/teacher/lessons/${id}/finish`, data); } // 取消课程 -export function cancelLesson(id: number): Promise { - return http.post(`/teacher/lessons/${id}/cancel`); +export function cancelLesson(id: number): Promise { + return http.post(`/api/v1/teacher/lessons/${id}/cancel`); } // 保存学生评价记录 export function saveStudentRecord( lessonId: number, studentId: number, - data: StudentRecordDto -): Promise { - return http.post(`/teacher/lessons/${lessonId}/students/${studentId}/record`, data); + data: StudentRecordDto, +): Promise { + return http.post( + `/api/v1/teacher/lessons/${lessonId}/students/${studentId}/record`, + data, + ); } // 获取课程所有学生记录 @@ -214,16 +257,21 @@ export interface StudentRecordsResponse { students: StudentWithRecord[]; } -export function getStudentRecords(lessonId: number): Promise { - return http.get(`/teacher/lessons/${lessonId}/student-records`); +export function getStudentRecords( + lessonId: number, +): Promise { + return http.get(`/api/v1/teacher/lessons/${lessonId}/student-records`); } // 批量保存学生评价记录 export function batchSaveStudentRecords( lessonId: number, - records: Array<{ studentId: number } & StudentRecordDto> + records: Array<{ studentId: number } & StudentRecordDto>, ): Promise<{ count: number; records: any[] }> { - return http.post(`/teacher/lessons/${lessonId}/student-records/batch`, { records }); + return http.post( + `/api/v1/teacher/lessons/${lessonId}/student-records/batch`, + { records }, + ); } // ==================== 教师首页 API ==================== @@ -271,16 +319,16 @@ export interface DashboardData { } export const getTeacherDashboard = () => - http.get('/teacher/dashboard'); + http.get("/teacher/dashboard"); export const getTodayLessons = () => - http.get('/teacher/dashboard/today'); + http.get("/teacher/dashboard/today"); export const getRecommendedCourses = () => - http.get('/teacher/dashboard/recommend'); + http.get("/teacher/dashboard/recommend"); export const getWeeklyStats = () => - http.get('/teacher/dashboard/weekly'); + http.get("/teacher/dashboard/weekly"); // ==================== 教师统计趋势 ==================== @@ -296,10 +344,12 @@ export interface TeacherCourseUsageItem { } export const getTeacherLessonTrend = (months?: number) => - http.get('/teacher/dashboard/lesson-trend', { params: { months } }); + http.get("/teacher/dashboard/lesson-trend", { + params: { months }, + }); export const getTeacherCourseUsage = () => - http.get('/teacher/dashboard/course-usage'); + http.get("/teacher/dashboard/course-usage"); // ==================== 课程反馈 API ==================== @@ -346,13 +396,16 @@ export interface LessonFeedback { } // 提交课程反馈 -export function submitFeedback(lessonId: number, data: FeedbackDto): Promise { - return http.post(`/teacher/lessons/${lessonId}/feedback`, data); +export function submitFeedback( + lessonId: number, + data: FeedbackDto, +): Promise { + return http.post(`/api/v1/teacher/lessons/${lessonId}/feedback`, data); } // 获取课程反馈 export function getFeedback(lessonId: number): Promise { - return http.get(`/teacher/lessons/${lessonId}/feedback`); + return http.get(`/api/v1/teacher/lessons/${lessonId}/feedback`); } // ==================== 学校端反馈 API ==================== @@ -379,12 +432,12 @@ export function getSchoolFeedbacks(params: FeedbackQueryParams): Promise<{ page: number; pageSize: number; }> { - return http.get('/school/feedbacks', { params }); + return http.get("/school/feedbacks", { params }); } // 获取反馈统计 export function getFeedbackStats(): Promise { - return http.get('/school/feedbacks/stats'); + return http.get("/school/feedbacks/stats"); } // 获取教师自己的反馈列表 @@ -394,12 +447,12 @@ export function getTeacherFeedbacks(params: FeedbackQueryParams): Promise<{ page: number; pageSize: number; }> { - return http.get('/teacher/feedbacks', { params }); + return http.get("/teacher/feedbacks", { params }); } // 获取教师自己的反馈统计 export function getTeacherFeedbackStats(): Promise { - return http.get('/teacher/feedbacks/stats'); + return http.get("/teacher/feedbacks/stats"); } // ==================== 排课管理 API ==================== @@ -414,9 +467,9 @@ export interface TeacherSchedule { scheduledDate?: string; scheduledTime?: string; weekDay?: number; - repeatType: 'NONE' | 'DAILY' | 'WEEKLY'; - source: 'SCHOOL' | 'TEACHER'; - status: 'ACTIVE' | 'CANCELLED'; + repeatType: "NONE" | "DAILY" | "WEEKLY"; + source: "SCHOOL" | "TEACHER"; + status: "ACTIVE" | "CANCELLED"; note?: string; hasLesson: boolean; lessonId?: number; @@ -430,7 +483,7 @@ export interface CreateTeacherScheduleDto { scheduledDate?: string; scheduledTime?: string; weekDay?: number; - repeatType?: 'NONE' | 'DAILY' | 'WEEKLY'; + repeatType?: "NONE" | "DAILY" | "WEEKLY"; repeatEndDate?: string; note?: string; } @@ -447,19 +500,30 @@ export const getTeacherSchedules = (params?: { status?: string; page?: number; pageSize?: number; -}) => http.get<{ items: TeacherSchedule[]; total: number; page: number; pageSize: number }>('/teacher/schedules', { params }); +}) => + http.get<{ + items: TeacherSchedule[]; + total: number; + page: number; + pageSize: number; + }>("/teacher/schedules", { params }); -export const getTeacherTimetable = (params: { startDate: string; endDate: string }) => - http.get('/teacher/schedules/timetable', { params }); +export const getTeacherTimetable = (params: { + startDate: string; + endDate: string; +}) => + http.get("/teacher/schedules/timetable", { params }); export const getTodayTeacherSchedules = () => - http.get('/teacher/schedules/today'); + http.get("/teacher/schedules/today"); export const createTeacherSchedule = (data: CreateTeacherScheduleDto) => - http.post('/teacher/schedules', data); + http.post("/teacher/schedules", data); -export const updateTeacherSchedule = (id: number, data: Partial & { status?: string }) => - http.put(`/teacher/schedules/${id}`, data); +export const updateTeacherSchedule = ( + id: number, + data: Partial & { status?: string }, +) => http.put(`/teacher/schedules/${id}`, data); export const cancelTeacherSchedule = (id: number) => http.delete<{ message: string }>(`/teacher/schedules/${id}`); @@ -471,9 +535,9 @@ export interface TeacherTask { tenantId: number; title: string; description?: string; - taskType: 'READING' | 'ACTIVITY' | 'HOMEWORK'; - targetType: 'CLASS' | 'STUDENT'; - status: 'DRAFT' | 'PUBLISHED' | 'ARCHIVED'; + taskType: "READING" | "ACTIVITY" | "HOMEWORK"; + targetType: "CLASS" | "STUDENT"; + status: "DRAFT" | "PUBLISHED" | "ARCHIVED"; relatedCourseId?: number; startDate: string; endDate: string; @@ -492,7 +556,7 @@ export interface TaskCompletion { id: number; taskId: number; studentId: number; - status: 'PENDING' | 'IN_PROGRESS' | 'COMPLETED'; + status: "PENDING" | "IN_PROGRESS" | "COMPLETED"; completedAt?: string; feedback?: string; parentFeedback?: string; @@ -511,8 +575,8 @@ export interface TaskCompletion { export interface CreateTeacherTaskDto { title: string; description?: string; - taskType: 'READING' | 'ACTIVITY' | 'HOMEWORK'; - targetType: 'CLASS' | 'STUDENT'; + taskType: "READING" | "ACTIVITY" | "HOMEWORK"; + targetType: "CLASS" | "STUDENT"; targetIds: number[]; relatedCourseId?: number; startDate: string; @@ -520,7 +584,7 @@ export interface CreateTeacherTaskDto { } export interface UpdateTaskCompletionDto { - status: 'PENDING' | 'IN_PROGRESS' | 'COMPLETED'; + status: "PENDING" | "IN_PROGRESS" | "COMPLETED"; feedback?: string; } @@ -530,28 +594,52 @@ export const getTeacherTasks = (params?: { status?: string; taskType?: string; keyword?: string; -}) => http.get<{ items: TeacherTask[]; total: number; page: number; pageSize: number }>('/teacher/tasks', { params }); +}) => + http.get<{ + items: TeacherTask[]; + total: number; + page: number; + pageSize: number; + }>("/teacher/tasks", { params }); export const getTeacherTask = (id: number) => http.get(`/teacher/tasks/${id}`); -export const getTeacherTaskCompletions = (taskId: number, params?: { - page?: number; - pageSize?: number; - status?: string; -}) => http.get<{ items: TaskCompletion[]; total: number; page: number; pageSize: number }>(`/teacher/tasks/${taskId}/completions`, { params }); +export const getTeacherTaskCompletions = ( + taskId: number, + params?: { + page?: number; + pageSize?: number; + status?: string; + }, +) => + http.get<{ + items: TaskCompletion[]; + total: number; + page: number; + pageSize: number; + }>(`/teacher/tasks/${taskId}/completions`, { params }); export const createTeacherTask = (data: CreateTeacherTaskDto) => - http.post('/teacher/tasks', data); + http.post("/teacher/tasks", data); -export const updateTeacherTask = (id: number, data: Partial & { status?: string }) => - http.put(`/teacher/tasks/${id}`, data); +export const updateTeacherTask = ( + id: number, + data: Partial & { status?: string }, +) => http.put(`/teacher/tasks/${id}`, data); export const deleteTeacherTask = (id: number) => http.delete<{ message: string }>(`/teacher/tasks/${id}`); -export const updateTaskCompletion = (taskId: number, studentId: number, data: UpdateTaskCompletionDto) => - http.put(`/teacher/tasks/${taskId}/completions/${studentId}`, data); +export const updateTaskCompletion = ( + taskId: number, + studentId: number, + data: UpdateTaskCompletionDto, +) => + http.put( + `/teacher/tasks/${taskId}/completions/${studentId}`, + data, + ); export const sendTaskReminder = (taskId: number) => http.post<{ message: string }>(`/teacher/tasks/${taskId}/remind`); @@ -563,7 +651,7 @@ export interface TaskTemplate { tenantId: number; name: string; description?: string; - taskType: 'READING' | 'ACTIVITY' | 'HOMEWORK'; + taskType: "READING" | "ACTIVITY" | "HOMEWORK"; relatedCourseId?: number; defaultDuration: number; isDefault: boolean; @@ -581,7 +669,7 @@ export interface TaskTemplate { export interface CreateTaskTemplateDto { name: string; description?: string; - taskType: 'READING' | 'ACTIVITY' | 'HOMEWORK'; + taskType: "READING" | "ACTIVITY" | "HOMEWORK"; relatedCourseId?: number; defaultDuration?: number; isDefault?: boolean; @@ -590,7 +678,7 @@ export interface CreateTaskTemplateDto { export interface CreateTaskFromTemplateDto { templateId: number; targetIds: number[]; - targetType: 'CLASS' | 'STUDENT'; + targetType: "CLASS" | "STUDENT"; startDate?: string; } @@ -599,7 +687,13 @@ export const getTaskTemplates = (params?: { pageSize?: number; taskType?: string; keyword?: string; -}) => http.get<{ items: TaskTemplate[]; total: number; page: number; pageSize: number }>('/teacher/task-templates', { params }); +}) => + http.get<{ + items: TaskTemplate[]; + total: number; + page: number; + pageSize: number; + }>("/teacher/task-templates", { params }); export const getTaskTemplate = (id: number) => http.get(`/teacher/task-templates/${id}`); @@ -608,7 +702,7 @@ export const getDefaultTaskTemplate = (taskType: string) => http.get(`/teacher/task-templates/default/${taskType}`); export const createTaskFromTemplate = (data: CreateTaskFromTemplateDto) => - http.post('/teacher/tasks/from-template', data); + http.post("/teacher/tasks/from-template", data); // ==================== 任务统计 API ==================== @@ -647,14 +741,15 @@ export interface MonthlyTaskStats { rate: number; } -export const getTaskStats = () => - http.get('/teacher/tasks/stats'); +export const getTaskStats = () => http.get("/teacher/tasks/stats"); export const getTaskStatsByType = () => - http.get('/teacher/tasks/stats/by-type'); + http.get("/teacher/tasks/stats/by-type"); export const getTaskStatsByClass = () => - http.get('/teacher/tasks/stats/by-class'); + http.get("/teacher/tasks/stats/by-class"); export const getMonthlyTaskStats = (months?: number) => - http.get('/teacher/tasks/stats/monthly', { params: { months } }); + http.get("/teacher/tasks/stats/monthly", { + params: { months }, + }); diff --git a/reading-platform-frontend/src/api/theme.ts b/reading-platform-frontend/src/api/theme.ts index 5cdd797..30bd753 100644 --- a/reading-platform-frontend/src/api/theme.ts +++ b/reading-platform-frontend/src/api/theme.ts @@ -49,5 +49,8 @@ export function deleteTheme(id: number) { // 重新排序主题 export function reorderThemes(ids: number[]) { - return http.put('/admin/themes/reorder', { ids }); + // 暂无对应 Orval 接口,这里直接调用底层 http + return import('./index').then(({ http }) => + http.put('/api/v1/admin/themes/reorder', { ids }) + ) }