Selaa lähdekoodia

修改mock部分bug, 完成src/api/assignment

Johnson 7 vuotta sitten
vanhempi
commit
05cb3135fe

+ 23 - 1
mock/modules/assignment/index.js

@@ -6,6 +6,7 @@ const CodeResultSerializer = require("../../serializers/assignment/CodeResultSer
 const DocumentSerializer = require("../../serializers/assignment/DocumentSerializer");
 const DocumentResultSerializer = require("../../serializers/assignment/DocumentResultSerializer");
 
+//新建代码作业
 router.route("/course/:courseId/code").post((req, res) => {
   res.send({
     data: CodeSerializer()
@@ -14,47 +15,55 @@ router.route("/course/:courseId/code").post((req, res) => {
 
 router
   .route("/code/:codeId")
+  //更新代码作业信息
   .put((req, res) => {
     res.send({
       data: CodeSerializer()
     });
   })
+  //删除代码作业
   .delete((req, res) => {
     res.send({
       data: {}
     });
   });
 
+//老师查看代码作业列表
 router.route("/teacher/course/:courseId/code").get((req, res) => {
   res.send({
     data: [CodeSerializer(), CodeSerializer()]
   });
 });
 
+//学生查看代码作业列表
 router.route("/student/course/:courseId/code").get((req, res) => {
   res.send({
     data: [CodeSerializer(), CodeSerializer()]
   });
 });
 
+//学生查看单个代码作业
 router.route("/student/code/:codeId").get((req, res) => {
   res.send({
     data: CodeSerializer()
   });
 });
 
+//学生查看单个代码作业下的项目信息列表
 router.route("/student/code/:codeId/project").get((req, res) => {
   res.send({
     data: [ProjectSerializer(), ProjectSerializer()]
   });
 });
 
+//老师查看单个代码作业的成绩列表(所有组的)
 router.route("/teacher/code/:codeId/result").get((req, res) => {
   res.send({
     data: [CodeResultSerializer, CodeResultSerializer]
   });
 });
 
+//学生查看单个代码作业的成绩
 router.route("/student/code/:codeId/result").get((req, res) => {
   res.send({
     data: CodeResultSerializer
@@ -62,6 +71,7 @@ router.route("/student/code/:codeId/result").get((req, res) => {
 });
 
 // Document
+//新建文档作业
 router.route("/course/:courseId/document").post((req, res) => {
   res.send({
     data: DocumentSerializer()
@@ -70,29 +80,41 @@ router.route("/course/:courseId/document").post((req, res) => {
 
 router
   .route("/document/:documentId")
+  //更新文档作业信息
   .put((req, res) => {
     res.send({
       data: DocumentSerializer()
     });
   })
+  //删除文档作业
   .delete((req, res) => {
     res.send({
       data: {}
     });
   });
 
+//老师查看文档作业列表
+router.route("/teacher/course/:courseId/document").get((req, res) => {
+  res.send({
+    data: [DocumentSerializer(), DocumentSerializer()]
+  });
+});
+
+//学生查看文档作业列表
 router.route("/student/course/:courseId/document").get((req, res) => {
   res.send({
-    data: DocumentSerializer()
+    data: [DocumentSerializer(), DocumentSerializer()]
   });
 });
 
+//老师查看文档作业的成绩列表(所有小组)
 router.route("/teacher/document/:documentId/result").get((req, res) => {
   res.send({
     data: [DocumentResultSerializer(), DocumentResultSerializer()]
   });
 });
 
+//学生查看文档作业的成绩
 router.route("/student/document/:documentId/result").get((req, res) => {
   res.send({
     data: DocumentResultSerializer()

+ 3 - 0
mock/serializers/assignment/ScoreSerializer.js

@@ -13,9 +13,12 @@ const makeId = require("../../util/makeId");
  */
 
 module.exports = () => {
+  // function f() {
   return {
     id: makeId(),
     name: "测试",
     score: "90"
   };
 };
+
+// console.log(f());

+ 1 - 0
src/api/_prefix.js

@@ -7,3 +7,4 @@ export const TAG_MODULE = `${API_VERSION}/tag`;
 export const COURSE_MODULE = `${API_VERSION}/course`;
 export const GROUP_MODULE = `${API_VERSION}/group`;
 export const QUESTION_MODULE = `${API_VERSION}/question`;
+export const ASSIGNMENT_MODULE = `${API_VERSION}/assignment`;

+ 199 - 0
src/api/assignment.js

@@ -0,0 +1,199 @@
+import request from "@/util/request";
+import { ASSIGNMENT_MODULE } from "./_prefix";
+/* 代码作业*/
+/**
+ * 老师新建代码作业
+ * @param type
+ * @param name
+ * @param description
+ * @param startAt
+ * @param endAt
+ * @param problem
+ * @returns {Promise<{data:CodeSerializerType}>}
+ */
+export const postCodeAssignment = ({
+  type,
+  name,
+  description,
+  startAt,
+  endAt,
+  problem
+}) => {
+  return request(`${ASSIGNMENT_MODULE}/course/:courseId/code`, {
+    method: "POST",
+    body: {
+      type: type || null,
+      name: name || null,
+      description: description || null,
+      startAt: startAt || null,
+      endAt: endAt || null,
+      problem: problem || null
+    }
+  });
+};
+/**
+ * 老师更新代码作业信息
+ * @param name
+ * @param description
+ * @param startAt
+ * @param endAt
+ * @returns {Promise<{data:CodeSerializerType}>}
+ */
+export const putCodeAssignment = ({ name, description, startAt, endAt }) => {
+  return request(`${ASSIGNMENT_MODULE}/code/:codeId`, {
+    method: "PUT",
+    body: {
+      name: name || null,
+      description: description || null,
+      startAt: startAt || null,
+      endAt: endAt || null
+    }
+  });
+};
+
+/**
+ * 老师删除代码作业
+ * @returns {Promise<{}>}
+ */
+export const delCodeAssignment = () => {
+  return request(`${ASSIGNMENT_MODULE}/code/:codeId`);
+};
+
+/**
+ * 老师查看代码作业列表
+ * @returns {Promise<{data:CodeSerializerType[]}>}
+ */
+export const getCodeAssignmentListByTeacher = () => {
+  return request(`${ASSIGNMENT_MODULE}/teacher/course/:courseId/code`);
+};
+
+/**
+ * 学生查看代码作业列表
+ * @returns {Promise<{data:CodeSerializerType[]}>}
+ */
+export const getCodeAssignmentListByStu = () => {
+  return request(`${ASSIGNMENT_MODULE}/student/course/:courseId/code`);
+};
+
+/**
+ * 学生查看单个代码作业列表
+ * @returns {Promise<{data:CodeSerializerType}>}
+ */
+export const getCodeAssignmentByStu = () => {
+  return request(`${ASSIGNMENT_MODULE}/student/code/:codeId`);
+};
+
+/**
+ * 学生查看单个代码作业下的项目信息列表
+ * @returns {Promise<{data:ProjectSerializerType}>}
+ */
+export const getProjectListByCode = () => {
+  return request(`${ASSIGNMENT_MODULE}/student/code/:codeId/project`);
+};
+
+/**
+ * 学生查看单个代码作业下的成绩
+ * @returns {Promise<{data:CodeResultSerializerType}>}
+ */
+export const getCodeResultByCode = () => {
+  return request(`${ASSIGNMENT_MODULE}/student/code/:codeId/result`);
+};
+
+/**
+ * 老师查看单个代码作业的成绩列表(所有组的)
+ * @returns {Promise<{data:CodeResultSerializerType}>}
+ */
+export const getCodeResultListByCode = () => {
+  return request(`${ASSIGNMENT_MODULE}/teacher/code/:codeId/result`);
+};
+
+/* 文档作业*/
+/**
+ * 老师新建文档作业
+ * @param type
+ * @param name
+ * @param description
+ * @param startAt
+ * @param endAt
+ * @param problem
+ * @returns {Promise<{data:DocumentSerializerType}>}
+ */
+export const postDocAssignment = ({
+  type,
+  name,
+  description,
+  startAt,
+  endAt,
+  problem
+}) => {
+  return request(`${ASSIGNMENT_MODULE}/course/:courseId/document`, {
+    method: "POST",
+    body: {
+      type: type || null,
+      name: name || null,
+      description: description || null,
+      startAt: startAt || null,
+      endAt: endAt || null,
+      problem: problem || null
+    }
+  });
+};
+/**
+ * 老师更新文档作业信息
+ * @param name
+ * @param description
+ * @param startAt
+ * @param endAt
+ * @returns {Promise<{data:DocumentSerializerType}>}
+ */
+export const putDocAssignment = ({ name, description, startAt, endAt }) => {
+  return request(`${ASSIGNMENT_MODULE}/document/:DocId`, {
+    method: "PUT",
+    body: {
+      name: name || null,
+      description: description || null,
+      startAt: startAt || null,
+      endAt: endAt || null
+    }
+  });
+};
+
+/**
+ * 老师删除文档作业
+ * @returns {Promise<{}>}
+ */
+export const delDocAssignment = () => {
+  return request(`${ASSIGNMENT_MODULE}/document/:documentId`);
+};
+
+/**
+ * 老师查看文档作业列表
+ * @returns {Promise<{data:DocumentSerializerType[]}>}
+ */
+export const getDocAssignmentListByTeacher = () => {
+  return request(`${ASSIGNMENT_MODULE}/teacher/course/:courseId/document`);
+};
+
+/**
+ * 学生查看文档作业列表
+ * @returns {Promise<{data:DocumentSerializerType[]}>}
+ */
+export const getDocAssignmentListByStu = () => {
+  return request(`${ASSIGNMENT_MODULE}/student/course/:courseId/document`);
+};
+
+/**
+ * 学生查看单个文档作业下的成绩
+ * @returns {Promise<{data:DocumentResultSerializerType}>}
+ */
+export const getDocResultByDoc = () => {
+  return request(`${ASSIGNMENT_MODULE}/student/document/:DocId/result`);
+};
+
+/**
+ * 老师查看单个文档作业的成绩列表(所有组的)
+ * @returns {Promise<{data:DocumentResultSerializerType}>}
+ */
+export const getDocResultListByDoc = () => {
+  return request(`${ASSIGNMENT_MODULE}/teacher/document/:DocId/result`);
+};