OL-LearnPlatform-Frontend/tatus --porcelain

194 lines
8.0 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

diff --git a/src/api/examples/usage.ts b/src/api/examples/usage.ts
index 0363f0d..64dbce6 100644
--- a/src/api/examples/usage.ts
+++ b/src/api/examples/usage.ts
@@ -93,13 +93,8 @@ export const searchCoursesExample = async () => {
try {
const response = await CourseApi.searchCourses({
keyword: 'Vue.js',
- category: '前端开发',
- level: 'intermediate',
- price: 'paid',
- rating: 4,
- sortBy: 'newest',
- page: 1,
- pageSize: 10
+ limit: '20',
+ page: 1
})

if (response.code === 200) {
diff --git a/src/api/modules/course.ts b/src/api/modules/course.ts
index 9d3a3e1..e8cdde2 100644
--- a/src/api/modules/course.ts
+++ b/src/api/modules/course.ts
@@ -23,7 +23,7 @@ import type {
CourseComment,
Quiz,
LearningProgress,
- SearchRequest,
+
Instructor,
} from '../types'

diff --git a/src/api/modules/exam.ts b/src/api/modules/exam.ts
index 5a1865f..f7be93a 100644
--- a/src/api/modules/exam.ts
+++ b/src/api/modules/exam.ts
@@ -333,6 +333,420 @@ export class ExamApi {
console.log('✅ 批量添加题目答案成功:', responses)
return responses
}
+
+ // ========== 试卷管理相关接口 ==========
+
+ /**
+ * 获取试卷列表
+ */
+ static async getExamPaperList(params: {
+ page?: number
+ pageSize?: number
+ keyword?: string
+ category?: string
+ status?: string
+ difficulty?: string
+ creator?: string
+ } = {}): Promise<ApiResponseWithResult<{
+ list: any[]
+ total: number
+ page: number
+ pageSize: number
+ }>> {
+ console.log('🚀 获取试卷列表:', params)
+ const response = await ApiRequest.get<{
+ result: {
+ records: any[]
+ total: number
+ current: number
+ size: number
+ }
+ }>('/aiol/aiolPaper/list', { params })
+ console.log('✅ 获取试卷列表成功:', response)
+ return response
+ }
+
+ /**
+ * 获取试卷详情
+ */
+ static async getExamPaperDetail(id: string): Promise<ApiResponse<any>> {
+ console.log('🚀 获取试卷详情:', id)
+ const response = await ApiRequest.get<any>(`/aiol/aiolExam/paperDetail/${id}`)
+ console.log('✅ 获取试卷详情成功:', response)
+ return response
+ }
+
+ /**
+ * 创建试卷
+ */
+ static async createExamPaper(data: {
+ name: string
+ category: string
+ description?: string
+ totalScore: number
+ difficulty: string
+ duration: number
+ questions: any[]
+ }): Promise<ApiResponse<string>> {
+ console.log('🚀 创建试卷:', data)
+ const response = await ApiRequest.post<string>('/aiol/aiolPaper/add', data)
+ console.log('✅ 创建试卷成功:', response)
+ return response
+ }
+
+ /**
+ * 更新试卷
+ */
+ static async updateExamPaper(id: string, data: {
+ name?: string
+ category?: string
+ description?: string
+ totalScore?: number
+ difficulty?: string
+ duration?: number
+ questions?: any[]
+ }): Promise<ApiResponse<string>> {
+ console.log('🚀 更新试卷:', { id, data })
+ const response = await ApiRequest.put<string>(`/aiol/aiolExam/paperUpdate/${id}`, data)
+ console.log('✅ 更新试卷成功:', response)
+ return response
+ }
+
+ /**
+ * 删除试卷
+ */
+ static async deleteExamPaper(id: string): Promise<ApiResponse<string>> {
+ console.log('🚀 删除试卷:', id)
+ const response = await ApiRequest.delete<string>(`/aiol/aiolExam/paperDelete/${id}`)
+ console.log('✅ 删除试卷成功:', response)
+ return response
+ }
+
+ /**
+ * 批量删除试卷
+ */
+ static async batchDeleteExamPapers(ids: string[]): Promise<ApiResponse<string>> {
+ console.log('🚀 批量删除试卷:', ids)
+ const response = await ApiRequest.post<string>('/aiol/aiolExam/paperBatchDelete', { ids })
+ console.log('✅ 批量删除试卷成功:', response)
+ return response
+ }
+
+ /**
+ * 发布试卷
+ */
+ static async publishExamPaper(id: string, data: {
+ startTime: string
+ endTime: string
+ classIds?: string[]
+ }): Promise<ApiResponse<string>> {
+ console.log('🚀 发布试卷:', { id, data })
+ const response = await ApiRequest.post<string>(`/aiol/aiolExam/paperPublish/${id}`, data)
+ console.log('✅ 发布试卷成功:', response)
+ return response
+ }
+
+ /**
+ * 取消发布试卷
+ */
+ static async unpublishExamPaper(id: string): Promise<ApiResponse<string>> {
+ console.log('🚀 取消发布试卷:', id)
+ const response = await ApiRequest.post<string>(`/aiol/aiolExam/paperUnpublish/${id}`)
+ console.log('✅ 取消发布试卷成功:', response)
+ return response
+ }
+
+ /**
+ * 结束试卷
+ */
+ static async endExamPaper(id: string): Promise<ApiResponse<string>> {
+ console.log('🚀 结束试卷:', id)
+ const response = await ApiRequest.post<string>(`/aiol/aiolExam/paperEnd/${id}`)
+ console.log('✅ 结束试卷成功:', response)
+ return response
+ }
+
+ /**
+ * 导入试卷
+ */
+ static async importExamPaper(file: File): Promise<ApiResponse<string>> {
+ console.log('🚀 导入试卷:', file.name)
+ const formData = new FormData()
+ formData.append('file', file)
+ const response = await ApiRequest.post<string>('/aiol/aiolExam/paperImport', formData, {
+ headers: {
+ 'Content-Type': 'multipart/form-data'
+ }
+ })
+ console.log('✅ 导入试卷成功:', response)
+ return response
+ }
+
+ /**
+ * 导出试卷
+ */
+ static async exportE