Explorar o código

项目Detail的展示头部分mock完成

Prevalence %!s(int64=7) %!d(string=hai) anos
pai
achega
8a71c4724e

+ 9 - 1
mock/modules/dlwork/index.js

@@ -1,6 +1,7 @@
 const express = require("express");
 const router = express.Router();
-const DLWorkSerializer = require("../../serializers/assignment/DLWorkSerializer");
+const DLWorkSerializer = require("../../serializers/dlwork/DLWorkSerializer");
+const ProjectSerializer = require("../../serializers/dlwork/DLProjectSerializer");
 // 机器学习作业
 router.route("/student/course/:courseId/dlwork").get((req, res) => {
   res.send({
@@ -8,4 +9,11 @@ router.route("/student/course/:courseId/dlwork").get((req, res) => {
     data: [DLWorkSerializer(), DLWorkSerializer(), DLWorkSerializer()]
   });
 });
+
+router.route("/:dlworkId").get((req, res) => {
+  res.send({
+    id: req.params.id,
+    data: ProjectSerializer({ id: req.params.id })
+  });
+});
 module.exports = router;

+ 41 - 0
mock/serializers/dlwork/DLProjectSerializer.js

@@ -0,0 +1,41 @@
+const makeId = require("../../util/makeId");
+const buildSerializer = require("../codehw/BuildSerializer");
+const deploySerializer = require("../codehw/DeploySerializer");
+
+/**
+ * @description 代码作业项目的基本信息
+ * @typedef {Object} ProjectSerializerType
+ * @property {number} id 代码作业项目 id
+ * @property {number} codeId 代码作业 id
+ * @property {string} url 项目 git 地址
+ * @property {string} name 项目名称
+ * @property {BuildSerializerType[]} buildList 构建 list
+ * @property {DeploySerializerType[]} deployList 部署 list
+ * @property {UnitTestSerializerType[]} unitTestList 单元测试 list
+ * @property {FunctionalTestSerializerType[]} functionTestList 页面功能测试 list
+ */
+
+/**
+ * @description 生成ProjectSerializerType
+ * @returns {ProjectSerializerType}
+ */
+module.exports = ({ id = makeId(), codeId = makeId() }) => {
+  return {
+    id,
+    codeId,
+    url: "www.url.com/xiaobai/handsome/smart/dl",
+    name: "project-name",
+    buildList: [
+      buildSerializer({ buildState: 0 }),
+      buildSerializer({ buildState: 1 }),
+      buildSerializer({ buildState: -1 })
+    ],
+    deployList: [
+      deploySerializer({ deployState: 0 }),
+      deploySerializer({ deployState: 1 }),
+      deploySerializer({ deployState: -1 })
+    ],
+    config: {},
+    pageUrl: "www.pageUrl.com/xiaobai/handsome/smart/dl"
+  };
+};

+ 1 - 1
mock/serializers/assignment/DLWorkSerializer.js → mock/serializers/dlwork/DLWorkSerializer.js

@@ -1,5 +1,5 @@
 const makeId = require("../../util/makeId");
-const nestedProblemSerializer = require("./NestedProblemSerializer");
+const nestedProblemSerializer = require("../assignment/NestedProblemSerializer");
 const dayjs = require("dayjs");
 
 /**

+ 9 - 0
src/api/dlwork.js

@@ -11,3 +11,12 @@ import { DL_WORK_MODULE } from "./_prefix";
 export const getDLAssignmentListByStu = courseId => {
   return request(`${DL_WORK_MODULE}/student/course/${courseId}/dlwork`);
 };
+/**
+ * 获得Project的详细信息
+ * @param dlworkId
+ * @returns {Promise<*>}
+ */
+export const getDLProjectDetail = dlworkId => {
+  console.log(dlworkId);
+  return request(`${DL_WORK_MODULE}/:dlworkId`);
+};

+ 3 - 3
src/views/student/DlWork/detail.vue

@@ -32,7 +32,7 @@
 </template>
 
 <script>
-import { getProjectDetail } from "@/api/codehw";
+import { getDLProjectDetail } from "@/api/dlwork";
 import PageHeader from "@/components/PageHeader";
 import PageBody from "@/components/PageBody/index";
 export default {
@@ -47,9 +47,9 @@ export default {
     };
   },
   async mounted() {
-    const { projectId } = this.$route.params;
+    const { dlworkId } = this.$route.params.homeworkId;
     this.detailLoading = true;
-    const detail = await getProjectDetail(projectId);
+    const detail = await getDLProjectDetail(dlworkId);
     this.projectDetail = detail.data;
     this.detailLoading = false;
   }