Parcourir la source

新增 mobile 课堂数据 api

yourname il y a 6 mois
Parent
commit
511aa0861a
1 fichiers modifiés avec 85 ajouts et 0 suppressions
  1. 85 0
      client/mobile/api/classroom_data.ts

+ 85 - 0
client/mobile/api/classroom_data.ts

@@ -0,0 +1,85 @@
+import axios from 'axios';
+import type {
+  ClassroomData,
+  ClassroomDataListResponse,
+  ClassroomStatus
+} from '../../share/types_stock.ts';
+
+interface ClassroomDataResponse {
+  data: ClassroomData;
+  message?: string;
+}
+
+interface ClassroomDataCreateResponse {
+  message: string;
+  data: ClassroomData;
+}
+
+interface ClassroomDataUpdateResponse {
+  message: string;
+  data: ClassroomData;
+}
+
+interface ClassroomDataDeleteResponse {
+  message: string;
+  id: number;
+}
+
+// 教室数据API
+export const ClassroomDataAPI = {
+  // 获取教室数据列表
+  getClassroomDatas: async (params?: {
+    page?: number;
+    pageSize?: number;
+    classroom_no?: string;
+    training_date?: string;
+    status?: ClassroomStatus;
+  }): Promise<ClassroomDataListResponse> => {
+    try {
+      const response = await axios.get('/classroom-datas', { params });
+      return response.data;
+    } catch (error) {
+      throw error;
+    }
+  },
+
+  // 获取单个教室数据
+  getClassroomData: async (id: number): Promise<ClassroomDataResponse> => {
+    try {
+      const response = await axios.get(`/classroom-datas/${id}`);
+      return response.data;
+    } catch (error) {
+      throw error;
+    }
+  },
+
+  // 创建教室数据
+  createClassroomData: async (data: Partial<ClassroomData>): Promise<ClassroomDataCreateResponse> => {
+    try {
+      const response = await axios.post('/classroom-datas', data);
+      return response.data;
+    } catch (error) {
+      throw error;
+    }
+  },
+
+  // 更新教室数据
+  updateClassroomData: async (id: number, data: Partial<ClassroomData>): Promise<ClassroomDataUpdateResponse> => {
+    try {
+      const response = await axios.put(`/classroom-datas/${id}`, data);
+      return response.data;
+    } catch (error) {
+      throw error;
+    }
+  },
+
+  // 删除教室数据
+  deleteClassroomData: async (id: number): Promise<ClassroomDataDeleteResponse> => {
+    try {
+      const response = await axios.delete(`/classroom-datas/${id}`);
+      return response.data;
+    } catch (error) {
+      throw error;
+    }
+  }
+};