完善团课相关管理

This commit is contained in:
2026-07-08 17:02:04 +08:00
parent 1e41f31271
commit f5b5724e92
23 changed files with 979 additions and 122 deletions
+25 -2
View File
@@ -91,6 +91,23 @@ export interface GroupCourseType {
updatedAt?: string
}
export interface GroupCourseTypePageRequest {
page: number
size: number
keyword?: string
category?: string
sort?: string
order?: 'asc' | 'desc'
}
export interface CourseLabelPageRequest {
page: number
size: number
keyword?: string
sort?: string
order?: 'asc' | 'desc'
}
export const groupCourseTypeApi = {
getAll: () =>
request.get<GroupCourseType[]>('/groupCourse/types'),
@@ -102,11 +119,14 @@ export const groupCourseTypeApi = {
request.get<string[]>('/groupCourse/types/categories'),
getByCategory: (category: string) =>
request.get<GroupCourseType[]>(`/groupCourse/types/category/${category}`),
request.get<GroupCourseType[]>(`/groupCourse/types/category/${encodeURIComponent(category)}`),
getById: (id: number) =>
request.get<GroupCourseType>(`/groupCourse/types/${id}`),
getPage: (params: GroupCourseTypePageRequest) =>
request.post<PageResponse<GroupCourseType>>('/groupCourse/types/page', params),
create: (data: GroupCourseType) =>
request.post<GroupCourseType>('/groupCourse/types', data),
@@ -143,6 +163,9 @@ export const courseLabelApi = {
getByTypeId: (typeId: number) =>
request.get<CourseLabel[]>(`/groupCourse/types/${typeId}/labels`),
getPage: (params: CourseLabelPageRequest) =>
request.post<PageResponse<CourseLabel>>('/groupCourse/labels/page', params),
create: (data: CourseLabel) =>
request.post<CourseLabel>('/groupCourse/labels', data),
@@ -153,7 +176,7 @@ export const courseLabelApi = {
request.delete<void>(`/groupCourse/labels/${id}`),
addLabelsToType: (typeId: number, labelIds: number[]) =>
request.post<void>(`/groupCourse/types/${typeId}/labels`, labelIds),
request.post<void>(`/groupCourse/types/${typeId}/labels`, { labelIds }),
removeLabelFromType: (typeId: number, labelId: number) =>
request.delete<void>(`/groupCourse/types/${typeId}/labels/${labelId}`),