Parcourir la source

refactor: 整理所有的接口文件

ChenYangfan il y a 6 ans
Parent
commit
80698a8406

+ 1 - 2
src/App.vue

@@ -28,9 +28,8 @@ export default {
     }, (error) => {
       if (error.response.status === 401 && this.$route.matched.some(record => record.meta.roles)) {
         this.$router.push({ name: 'login' })
-      } else {
-        return Promise.reject(error)
       }
+      return Promise.reject(error)
     })
 
     this.$router.beforeEach((to, from, next) => {

+ 42 - 27
src/config/server-info.js

@@ -1,57 +1,72 @@
+/**
+ * 前端项目 API 配置文件
+ */
+
 // const host = 'http://106.14.178.184:8080/seec_helper'
 // const host = 'http://192.168.3.70:18080'
 const host = process.env.NODE_ENV === 'development' ? 'http://localhost:8080' : ''
 const wsHost = process.env.NODE_ENV === 'development' ? 'ws://localhost:8080' : 'ws://' + location.host
 
-const slideUrl = host + '/api/slide'
-const useSlideServer = postfix => postfix ? slideUrl + postfix : slideUrl
-
-const courseFileUrl = host + '/api/course-file'
-const useCourseFileServer = postfix => postfix ? courseFileUrl + postfix : courseFileUrl
-
-const courseUrl = host + '/api/course'
-const useCourseServer = postfix => postfix ? courseUrl + postfix : courseUrl
+const adminUrl = host + '/api/admin'
+const useAdminUrl = (postfix = '') => adminUrl + postfix
 
+// 验证码
 const codeUrl = host + '/api/code'
 const useCodeServer = postfix => postfix ? codeUrl + postfix : codeUrl
 
-const userUrl = host + '/api/user'
-const useUserServer = postfix => postfix ? userUrl + postfix : userUrl
-
 const commentUrl = host + '/api/comment'
 const useCommentServer = postfix => postfix ? commentUrl + postfix : commentUrl
 
+const commentWsUrl = wsHost + '/api/ws/comment'
+const useCommentWsServer = postfix => postfix ? commentWsUrl + postfix : commentWsUrl
+
+const courseUrl = host + '/api/course'
+const useCourseServer = postfix => postfix ? courseUrl + postfix : courseUrl
+
+// 附件相关接口
+const courseFileUrl = host + '/api/course-file'
+const useCourseFileServer = postfix => postfix ? courseFileUrl + postfix : courseFileUrl
+
+// 系统提示消息
 const messageUrl = host + '/api/message'
 const useMessageServer = postfix => postfix ? messageUrl + postfix : messageUrl
 
-const NoticeUrl = host + '/api/notice'
-const useNoticeServer = postfix => postfix ? NoticeUrl + postfix : NoticeUrl
-
-const replyUrl = host + '/api/reply'
-const useReplyServer = postfix => postfix ? replyUrl + postfix : replyUrl
+// 教师设置的公告
+const noticeUrl = host + '/api/notice'
+const useNoticeServer = postfix => postfix ? noticeUrl + postfix : noticeUrl
 
-const commentWsUrl = wsHost + '/api/ws/comment'
-const useCommentWsServer = postfix => postfix ? commentWsUrl + postfix : commentWsUrl
+// 题库(问题)
+// const questionUrl = host + '/api/question'
+const questionUrl = '/api/question'
+const useQuestionServer = (postfix = '') => questionUrl + postfix
 
+// 测试
 // const quizUrl = host + '/api/quiz'
 const quizUrl = '/api/quiz'
 const useQuizServer = (postfix = '') => quizUrl + postfix
 
-// const questionUrl = host + '/api/question'
-const questionUrl = '/api/question'
-const useQuestionServer = (postfix = '') => questionUrl + postfix
+// 教师回复学生问题
+const replyUrl = host + '/api/reply'
+const useReplyServer = postfix => postfix ? replyUrl + postfix : replyUrl
+
+const slideUrl = host + '/api/slide'
+const useSlideServer = postfix => postfix ? slideUrl + postfix : slideUrl
+
+const userUrl = host + '/api/user'
+const useUserServer = postfix => postfix ? userUrl + postfix : userUrl
 
 export {
-  useSlideServer,
-  useCourseFileServer,
-  useCourseServer,
+  useAdminUrl,
   useCodeServer,
-  useUserServer,
   useCommentServer,
-  useReplyServer,
   useCommentWsServer,
+  useCourseServer,
+  useCourseFileServer,
   useMessageServer,
   useNoticeServer,
+  useQuestionServer,
   useQuizServer,
-  useQuestionServer
+  useReplyServer,
+  useSlideServer,
+  useUserServer
 }

+ 36 - 0
src/server/admin.js

@@ -0,0 +1,36 @@
+import axios from '@/plugins/axios'
+import { useAdminUrl } from '@/config/server-info'
+import generateSearchParams from '@/server/utils/generate-search-params'
+
+export function login ({ username, password }) {
+  return axios.post(useAdminUrl('/login'), null, {
+    params: {
+      username,
+      password
+    }
+  })
+}
+
+// 获取注册教师列表
+export function getUsers ({ type, state, key = '', page = 1, size = 10, sort = '' }) {
+  const params = generateSearchParams({ key, page, size, sort })
+  params.append('type', type)
+  params.append('state', state)
+  return axios.get(useAdminUrl('/user'), { params })
+    .then(res => res.data)
+}
+
+// 审核通过用户
+export function passUser ({ userId }) {
+  return axios.put(useAdminUrl(`/user/${userId}/pass`))
+}
+
+// 封禁用户
+export function lockUser ({ userId }) {
+  return axios.put(useAdminUrl(`/user/${userId}/lock`))
+}
+
+// 解封用户
+export function unlockUser ({ userId }) {
+  return axios.put(useAdminUrl(`/user/${userId}/unlock`))
+}

+ 2 - 0
src/server/code.js

@@ -3,6 +3,7 @@ import {
 } from '@/config/server-info'
 import axios from '@/plugins/axios'
 
+// 发送邮箱验证码
 export function sendEmailCode ({ email }) {
   return axios
     .post(useCodeServer('/email'), null, {
@@ -12,6 +13,7 @@ export function sendEmailCode ({ email }) {
     })
 }
 
+// 发送手机验证码
 export function sendPhoneCode ({ phone }) {
   return axios
     .post(useCodeServer('/phone'), null, {

+ 12 - 2
src/server/comment.js

@@ -2,6 +2,7 @@ import { useCommentServer } from '@/config/server-info'
 import axios from '@/plugins/axios'
 import generateSearchParams from '@/server/utils/generate-search-params'
 
+// 发表评论
 export function createComment ({ slideId, pageNumber, title, content }) {
   const data = {
     slideId,
@@ -14,31 +15,40 @@ export function createComment ({ slideId, pageNumber, title, content }) {
     .then(res => res.data)
 }
 
+// 删除评论
 export function removeComment ({ commentId }) {
   return axios
     .delete(useCommentServer('/' + commentId))
     .then(res => {})
 }
 
+// 教师置顶评论
 export function topComment ({ commentId }) {
   return axios
     .post(useCommentServer('/' + commentId + '/top'))
     .then(res => {})
 }
 
+// 教师取消置顶评论
 export function unTopComment ({ commentId }) {
   return axios
     .post(useCommentServer('/' + commentId + '/unTop'))
-    .then(res => {})
 }
 
+// 取得某一页的评论信息
 export function getComments ({ slideId, pageNumber, key = '', page = 1, size = 10, sort = '' }) {
   const params = generateSearchParams({ key, page, size, sort })
   params.append('pageNumber', pageNumber)
 
   return axios
     .get(useCommentServer('/slide/' + slideId), {
-      params: params
+      params
     })
     .then(res => res.data)
 }
+
+export function getOneComment ({ commentId }) {
+  return axios
+    .get(useCommentServer(`/${commentId}`))
+    .then(res => res.data)
+}

+ 7 - 8
src/server/course-file.js

@@ -1,6 +1,8 @@
 import axios from '@/plugins/axios'
 import { useCourseFileServer } from '@/config/server-info'
+import generateSearchParams from '@/server/utils/generate-search-params'
 
+// 上传附件
 export function uploadCourseFile ({ courseId, file }) {
   let data = new FormData()
   data.append('courseId', courseId)
@@ -15,25 +17,22 @@ export function uploadCourseFile ({ courseId, file }) {
     .then(res => res.data)
 }
 
+// 删除课程附件
 export function deleteCourseFile ({ courseFileId }) {
   return axios
     .delete(useCourseFileServer('/' + courseFileId))
     .then(res => {})
 }
 
+// 获取某个课程附件的详细信息
 export function getOneCourseFile ({ courseId, key = '', page = 1, size = 10, sort = '' }) {
+  const params = generateSearchParams({ key, page, size, sort })
   return axios
-    .get(useCourseFileServer('/course/' + courseId), {
-      params: {
-        key,
-        page,
-        size,
-        sort
-      }
-    })
+    .get(useCourseFileServer('/course/' + courseId), { params })
     .then(res => res.data)
 }
 
+// 获取课程附件的url
 export function getCourseFileUrl ({ courseFileId }) {
   return axios
     .get(useCourseFileServer('/' + courseFileId + '/url'))

+ 34 - 37
src/server/course.js

@@ -2,8 +2,10 @@ import {
   useCourseServer
 } from '@/config/server-info'
 import axios from '@/plugins/axios'
+import generateSearchParams from '@/server/utils/generate-search-params'
 
-export function createCourse({ name, bio, code }) {
+// 教师创建课程
+export function createCourse ({ name, bio, code }) {
   const data = {
     name,
     bio,
@@ -15,13 +17,15 @@ export function createCourse({ name, bio, code }) {
     .then(res => res.data)
 }
 
-export function removeCourse({ courseId }) {
+// 教师删除课程
+export function removeCourse ({ courseId }) {
   return axios
     .delete(useCourseServer(`/${courseId}`))
     .then(res => {})
 }
 
-export function modifyCourse({ id, name, bio, code }) {
+// 教师修改课程
+export function modifyCourse ({ id, name, bio, code }) {
   const data = {
     name,
     bio,
@@ -33,62 +37,55 @@ export function modifyCourse({ id, name, bio, code }) {
     .then(res => res.data)
 }
 
-export function chooseCourse({ courseId, code }) {
-  const data = {
-    code
-  }
+// 学生选课
+export function chooseCourse ({ courseId, code }) {
+  const data = { code }
 
   return axios
     .post(useCourseServer(`/${courseId}/choose`), data)
     .then(res => {})
 }
 
-export function quitCourse({ courseId }) {
+// 学生退课
+export function quitCourse ({ courseId }) {
   return axios
     .post(useCourseServer(`/${courseId}/quit`))
 }
 
-export function getCourseCode({ courseId }) {
+// 获取课程列表(无需登录)
+export function getCourses ({ key = '', page = 1, size = 10, sort = '' }) {
+  const params = generateSearchParams({ key, page, size, sort })
   return axios
-    .get(useCourseServer(`/${courseId}/code`))
+    .get(useCourseServer(), { params })
     .then(res => res.data)
 }
 
-export function getCourses({ key = '', page = 1, size = 10, sort = '' }) {
+// 教师获取创建的课件
+export function getCreatedCourses ({ key = '', page = 1, size = 10, sort = '' }) {
+  const params = generateSearchParams({ key, page, size, sort })
   return axios
-    .get(useCourseServer('/all'), {
-      params: {
-        key,
-        page,
-        size,
-        sort
-      }
-    })
+    .get(useCourseServer('/created'), { params })
     .then(res => res.data)
 }
 
-export function teacherGetCourses({ key = '', page = 1, size = 10, sort = '' }) {
+// 学生获取自己的选课列表
+export function getChosenCourses ({ key = '', page = 1, size = 10, sort = '' }) {
+  const params = generateSearchParams({ key, page, size, sort })
   return axios
-    .get(useCourseServer(), {
-      params: {
-        key,
-        page,
-        size,
-        sort
-      }
-    })
+    .get(useCourseServer('/chosen'), { params })
+    .then(res => res.data)
+}
+
+// 获取课程选课码
+export function getCourseCode ({ courseId }) {
+  return axios
+    .get(useCourseServer(`/${courseId}/code`))
     .then(res => res.data)
 }
 
-export function studentGetCourses({ key = '', page = 1, size = 10, sort = '' }) {
+// 获取某课程信息
+export function getOneCourse ({ courseId }) {
   return axios
-    .get(useCourseServer(), {
-      params: {
-        key,
-        page,
-        size,
-        sort
-      }
-    })
+    .get(useCourseServer(`/${courseId}`))
     .then(res => res.data)
 }

+ 2 - 1
src/server/enums/user-type.js

@@ -1,4 +1,5 @@
 export default {
   teacher: 'TEACHER',
-  student: 'STUDENT'
+  student: 'STUDENT',
+  admin: 'ADMIN'
 }

+ 11 - 16
src/server/message.js

@@ -1,6 +1,8 @@
 import axios from '@/plugins/axios'
 import { useMessageServer } from '@/config/server-info'
+import generateSearchParams from '@/server/utils/generate-search-params'
 
+// 将消息设置为已读
 export function readMessages ({ ids }) {
   const data = {
     ids
@@ -10,6 +12,7 @@ export function readMessages ({ ids }) {
     .put(useMessageServer('/read'), data)
 }
 
+// 删除消息
 export function deleteMessages ({ ids }) {
   const data = {
     ids
@@ -19,28 +22,20 @@ export function deleteMessages ({ ids }) {
     .put(useMessageServer('/delete'), data)
 }
 
+// 获取未读消息
 export function getUnreadMessages ({ key = '', page = 1, size = 100, sort = '' }) {
+  const params = generateSearchParams({ key, page, size, sort })
+
   return axios
-    .get(useMessageServer('/unread'), {
-      params: {
-        key,
-        page,
-        size,
-        sort
-      }
-    })
+    .get(useMessageServer('/unread'), { params })
     .then(res => res.data)
 }
 
+// 获取已读消息
 export function getReadMessages ({ key = '', page = 1, size = 10, sort = '' }) {
+  const params = generateSearchParams({ key, page, size, sort })
+
   return axios
-    .get(useMessageServer('/read'), {
-      params: {
-        key,
-        page,
-        size,
-        sort
-      }
-    })
+    .get(useMessageServer('/read'), { params })
     .then(res => res.data)
 }

+ 5 - 0
src/server/notice.js

@@ -2,6 +2,7 @@ import axios from '@/plugins/axios'
 import { useNoticeServer } from '@/config/server-info'
 import generateSearchParams from '@/server/utils/generate-search-params'
 
+// 发布公告
 export function createNotice ({ courseId, title, content }) {
   const data = {
     courseId,
@@ -14,6 +15,7 @@ export function createNotice ({ courseId, title, content }) {
     .then(res => res.data)
 }
 
+// 修改公告
 export function modifyNotice ({ id, courseId, title, content }) {
   const data = {
     title,
@@ -25,12 +27,14 @@ export function modifyNotice ({ id, courseId, title, content }) {
     .then(res => res.data)
 }
 
+// 删除公告
 export function deleteNotice ({ noticeId }) {
   return axios
     .delete(useNoticeServer(`/${noticeId}`))
     .then(res => res.data)
 }
 
+// 获取某个课程的所有公告
 export function getNotices ({ courseId, key = '', page = 1, size = 100, sort = '' }) {
   const params = generateSearchParams({ key, page, size, sort })
   return axios
@@ -40,6 +44,7 @@ export function getNotices ({ courseId, key = '', page = 1, size = 100, sort = '
     .then(res => res.data)
 }
 
+// 获取某个公告的具体信息
 export function getNoticeByNoticeId ({ noticeId }) {
   return axios
     .get(useNoticeServer('/' + noticeId))

+ 0 - 37
src/server/question-backup.js

@@ -1,37 +0,0 @@
-// import axios from '@/plugins/axios'
-// import { useQuestionServer } from '@/config/server-info'
-//
-// export function getQuestionList({
-//   stem,
-//   size,
-//   page,
-//   sort
-// }) {
-//   const params = { stem, size, page, sort }
-//   return axios
-//     .get(useQuestionServer(), { params })
-//     .then(res => res.data)
-// }
-//
-// export function getQuestionById(questionId) {
-//   return axios
-//     .get(useQuestionServer(`/${questionId}`))
-//     .then(res => res.data)
-// }
-//
-// export function createQuestion(questionBody) {
-//   return axios
-//     .post(useQuestionServer(), questionBody)
-//     .then(res => res.data)
-// }
-//
-// export function updateQuestion({ questionId, questionBody }) {
-//   return axios
-//     .put(useQuestionServer(`/${questionId}`), questionBody)
-//     .then(res => res.data)
-// }
-//
-// export function deleteQuestion(questionId) {
-//   return axios
-//     .delete(useQuestionServer(`/${questionId}`))
-// }

+ 8 - 1
src/server/question.js

@@ -14,7 +14,7 @@ export function getQuestionList ({ key = '', page = 1, size = 10, sort = '' }) {
 }
 
 // 教师获取某一测试的题目
-export function getQuestionsOfQuiz ({ quizId }) {
+export function getQuestionsByQuiz ({ quizId }) {
   return axios
     .get(useQuestionServer('/quiz/' + quizId))
     .then(res => res.data)
@@ -72,3 +72,10 @@ export function getCreatedQuestions ({ key = '', page = 1, size = 10, sort = ''
     .get(useQuestionServer('/created'), { params })
     .then(res => res.data)
 }
+
+// todo use it!
+export function getCreatedQuestionIds () {
+  return axios
+    .get(useQuestionServer('/created/ids'))
+    .then(res => res.data)
+}

+ 0 - 63
src/server/quiz-backup.js

@@ -1,63 +0,0 @@
-// import axios from '@/plugins/axios'
-// import { useQuizServer } from '@/config/server-info'
-//
-// export function getQuizList({
-//   slideId,
-//   state,
-//   size = 100000, // TODO: 分页功能暂时不做,因此取很大值
-//   page = 1,
-//   sort
-// }) {
-//   const params = { slideId, state, size, page, sort }
-//   return axios
-//     .get(useQuizServer(), { params })
-//     .then(res => res.data)
-// }
-//
-// export function getQuizById(quizId) {
-//   return axios
-//     .get(useQuizServer(`/${quizId}`))
-//     .then(res => res.data)
-// }
-//
-// export function createQuiz({
-//   name, // 测试名
-//   quizTime, // 测试时间
-//   slideId, // 幻灯片 id
-//   questions = [] // 题目 id;
-// }) {
-//   const data = { name, quizTime, slideId, questions }
-//   return axios
-//     .post(useQuizServer(), data)
-//     .then(res => res.data)
-// }
-//
-// export function updateQuiz({
-//   id, // 考试 id
-//   name, // 测试名
-//   quizTime, // 测试时间
-//   slideId, // 幻灯片 id
-//   questions = [] // 题目 id;
-// }) {
-//   const data = { id, name, quizTime, slideId, questions }
-//   return axios
-//     .put(useQuizServer(`/${id}`), data)
-//     .then(res => res.data)
-// }
-//
-// export function deleteQuiz(quizId) {
-//   return axios
-//     .delete(useQuizServer(`/${quizId}`))
-// }
-//
-// export function submitQuiz({ quizId, answers = [] }) {
-//   return axios
-//     .put(useQuizServer(`/${quizId}/student-answer`), { answers })
-//     .then(res => res.data)
-// }
-//
-// export function getQuizResult(quizId) {
-//   return axios
-//     .get(useQuizServer(`/${quizId}/result`))
-//     .then(res => res.data)
-// }

+ 9 - 0
src/server/quiz.js

@@ -9,6 +9,15 @@ export function teacherGetQuizzes ({ slideId, key = '', page = 1, size = 200, so
     .then(res => res.data)
 }
 
+// todo use it!
+export function getQuizzesByState ({ state, key = '', page = 1, size = 200, sort = '' }) {
+  const params = generateSearchParams({ key, page, size, sort })
+  params.append('state', state)
+  return axios
+    .get(useQuizServer('state'))
+    .then(res => res.data)
+}
+
 // 学生获取测试列表
 export function studentGetQuizzes ({ slideId, key = '', page = 1, size = 100, sort = '' }) {
   const params = generateSearchParams({ key, page, size, sort })

+ 2 - 0
src/server/reply.js

@@ -3,6 +3,7 @@ import {
 } from '@/config/server-info'
 import axios from '@/plugins/axios'
 
+// 教师创建回复
 export function createReply({ commentId, content }) {
   const data = {
     commentId,
@@ -13,6 +14,7 @@ export function createReply({ commentId, content }) {
     .then(res => res.data)
 }
 
+// 教师删除回复
 export function removeReply({ replyId }) {
   return axios
     .delete(useReplyServer() + '/' + replyId)

+ 24 - 37
src/server/slide.js

@@ -2,8 +2,10 @@ import {
   useSlideServer
 } from '@/config/server-info'
 import axios from '@/plugins/axios'
+import generateSearchParams from '@/server/utils/generate-search-params'
 
-export function createSlide({ courseId, name, file, state = 'BEFORE_CLASS' }) {
+// 创建新课件
+export function createSlide ({ courseId, name, file, state = 'BEFORE_CLASS' }) {
   let data = new FormData()
   data.append('courseId', courseId)
   data.append('name', name)
@@ -19,13 +21,15 @@ export function createSlide({ courseId, name, file, state = 'BEFORE_CLASS' }) {
     .then(res => res.data)
 }
 
-export function removeSlide({ id }) {
+// 删除课件
+export function deleteSlide ({ id }) {
   return axios
     .delete(useSlideServer('/' + id))
     .then(res => {})
 }
 
-export function modifySlide({ id, name }) {
+// 修改课件内容
+export function modifySlide ({ id, name }) {
   const data = {
     name
   }
@@ -34,7 +38,8 @@ export function modifySlide({ id, name }) {
     .then(res => res.data)
 }
 
-export function modifySlideState({ id, state }) {
+// 教师修改课件状态
+export function modifySlideState ({ id, state }) {
   const data = {
     state
   }
@@ -43,7 +48,8 @@ export function modifySlideState({ id, state }) {
     .then(res => res.data)
 }
 
-export function modifySlideFile({ id, file }) {
+// 教师修改课件文件
+export function modifySlideFile ({ id, file }) {
   let data = new FormData()
   data.append('file', file)
   return axios
@@ -55,52 +61,33 @@ export function modifySlideFile({ id, file }) {
     .then(res => res.data)
 }
 
-export function teacherGetSlides({ key = '', page = 1, size = 10, sort = '' }) {
-  return axios
-    .get(useSlideServer(), {
-      params: {
-        key,
-        page,
-        size,
-        sort
-      }
-    })
-    .then(res => res.data)
-}
+// 教师获取课件
+export function teacherGetSlides ({ key = '', page = 1, size = 10, sort = '' }) {
+  const params = generateSearchParams({ key, page, size, sort })
 
-export function teacherGetSlidesByCourse({ courseId, key = '', page = 1, size = 10, sort = '' }) {
   return axios
-    .get(useSlideServer('/course/' + courseId), {
-      params: {
-        key,
-        page,
-        size,
-        sort
-      }
-    })
+    .get(useSlideServer(), { params })
     .then(res => res.data)
 }
 
-export function studentGetSlidesByCourse({ courseId, key = '', page = 1, size = 10, sort = '' }) {
+// 基于课程获取课件
+export function getSlidesByCourse ({ courseId, key = '', page = 1, size = 10, sort = '' }) {
+  const params = generateSearchParams({ key, page, size, sort })
+
   return axios
-    .get(useSlideServer('/course/' + courseId), {
-      params: {
-        key,
-        page,
-        size,
-        sort
-      }
-    })
+    .get(useSlideServer('/course/' + courseId), { params })
     .then(res => res.data)
 }
 
-export function getSlideUrl({ slideId }) {
+// 获取课件的文件链接
+export function getSlideUrl ({ slideId }) {
   return axios
     .get(useSlideServer('/' + slideId + '/url'))
     .then(res => res.data)
 }
 
-export function getSlideInfo({ slideId }) {
+// 获取某个具体课件的信息
+export function getSlideInfo ({ slideId }) {
   return axios
     .get(useSlideServer('/' + slideId))
     .then(res => res.data)

+ 6 - 0
src/server/user.js

@@ -3,6 +3,7 @@ import {
 } from '@/config/server-info'
 import axios from '@/plugins/axios'
 
+// 注册
 export function register ({ name, email, emailCode, phone, phoneCode, password }) {
   const data = {
     name,
@@ -17,6 +18,7 @@ export function register ({ name, email, emailCode, phone, phoneCode, password }
     .then(res => res.data)
 }
 
+// 登录
 export function loginByEmail ({ email, password }) {
   const data = {
     username: email,
@@ -28,12 +30,14 @@ export function loginByEmail ({ email, password }) {
     .then(res => res.data)
 }
 
+// 登出
 export function logout () {
   return axios
     .post(useUserServer('/logout'))
     .then(res => {})
 }
 
+// 修改用户信息(目前只有姓名)
 export function modifyUser ({ name }) {
   const data = {
     name
@@ -43,6 +47,7 @@ export function modifyUser ({ name }) {
     .then(res => res.data)
 }
 
+// 通过邮箱验证重设密码
 export function resetPasswordByEmail({ email, code, password }) {
   const data = {
     username: email,
@@ -55,6 +60,7 @@ export function resetPasswordByEmail({ email, code, password }) {
     .then(res => {})
 }
 
+// 获取用户具体信息(可用于验证登录状态)
 export function getUserInfo () {
   return axios
     .get(useUserServer())

+ 6 - 4
src/views/login/Login.vue

@@ -39,10 +39,12 @@ export default {
     }
   },
   mounted () {
-    getUserInfo().then(res => {
-      this.userInfo = res
-      this.$store.commit(SET_USER_INFO, { userInfo: res })
-    })
+    getUserInfo()
+      .then(res => {
+        this.userInfo = res
+        this.$store.commit(SET_USER_INFO, { userInfo: res })
+      })
+      .catch(() => {})
   },
   methods: {
     formChecked () {

+ 2 - 2
src/views/quiz/StudentDoQuiz.vue

@@ -48,7 +48,7 @@ import MarkdownSection from '@/views/quiz/components/MarkdownSection'
 import CButton from '@/components/Basic/CButton'
 import CIcon from '@/components/Basic/CIcon'
 import { getOneQuiz, getOneQuizStudentAnswer, submitQuizStudentAnswer } from '@/server/quiz'
-import { getQuestionsOfQuiz } from '@/server/question'
+import { getQuestionsByQuiz } from '@/server/question'
 import momentFromNow from '@/utils/moment-from-now'
 import { isEmpty } from '@/utils/types'
 
@@ -86,7 +86,7 @@ export default {
       getOneQuiz({ quizId }).then(res => {
         this.quiz = res
       }).catch(err => this.$setErrorMessage(err.response.data.msg))
-      getQuestionsOfQuiz({ quizId }).then(res => {
+      getQuestionsByQuiz({ quizId }).then(res => {
         this.questions = res
         // 获取之前填写的答案
         getOneQuizStudentAnswer({ quizId }).then(answers => {

+ 2 - 2
src/views/quiz/components/QuizDetailFactory.vue

@@ -40,7 +40,7 @@ import QuestionDetailFactory from '@/views/quiz/components/QuestionDetailFactory
 import { isEmpty } from '@/utils/types'
 import { QuizTypeNaming } from '@/server/enums/quiz-type'
 import momentFromNow from '@/utils/moment-from-now'
-import { getQuestionsOfQuiz } from '@/server/question'
+import { getQuestionsByQuiz } from '@/server/question'
 import CIcon from '@/components/Basic/CIcon'
 
 export default {
@@ -73,7 +73,7 @@ export default {
   },
   mounted () {
     const { quizId } = this.$route.params
-    getQuestionsOfQuiz({ quizId }).then(res => {
+    getQuestionsByQuiz({ quizId }).then(res => {
       this.questions = res
     }).catch(err => { this.$setErrorMessage(err.response.data.msg) })
   },

+ 2 - 2
src/views/quiz/components/QuizEditor.vue

@@ -76,7 +76,7 @@ import CButton from '@/components/Basic/CButton'
 import CSelect from '@/components/Basic/CSelect'
 import BackTitle from '@/components/Basic/BackTitle'
 import { QuizTypeNaming } from '@/server/enums/quiz-type'
-import { getQuestionsOfQuiz } from '@/server/question'
+import { getQuestionsByQuiz } from '@/server/question'
 
 export default {
   name: 'QuizEditor',
@@ -117,7 +117,7 @@ export default {
       immediate: true,
       handler ({ id, name, type, maxSubmitTime } = {}) {
         this.quiz = { id, name, type, maxSubmitTime }
-        id && getQuestionsOfQuiz({ quizId: id }).then(res => {
+        id && getQuestionsByQuiz({ quizId: id }).then(res => {
           this.selectedQuestions = res
         }).catch(err =>
           this.$setErrorMessage(err.response.data.msg)

+ 2 - 2
src/views/student/components/StudentCourseSlides.vue

@@ -46,7 +46,7 @@ import TabSideComponent from '@/components/Layouts/TabSideComponent'
 import BackTitle from '@/components/Basic/BackTitle'
 import SlideCard from '@/components/Cards/SlideCard'
 import CButton from '@/components/Basic/CButton'
-import { studentGetSlidesByCourse } from '@/server/slide'
+import { getSlidesByCourse } from '@/server/slide'
 import { SET_SLIDE_INFO } from '@/store/types/pdf-types'
 import { SET_COURSE, SET_COURSE_FILE_INFO } from '@/store/types/main-types'
 import { mapState } from 'vuex'
@@ -107,7 +107,7 @@ export default {
       })
     },
     getSlides (size) {
-      return studentGetSlidesByCourse({ courseId: this.course.id, size, sort: 'name' }).then(res => {
+      return getSlidesByCourse({ courseId: this.course.id, size, sort: 'name' }).then(res => {
         this.slides = res.data
       }).catch(err => {
         this.$setErrorMessage('获取课程课件列表过程中:' + err.response.data.msg)

+ 2 - 2
src/views/student/tabs/StudentCoursesManager.vue

@@ -52,7 +52,7 @@
 <script>
 import CourseCard from '@/components/Cards/CourseCard'
 import SearchBar from '@/components/Basic/SearchBar'
-import { getCourses, studentGetCourses } from '@/server/course'
+import { getCourses, getChosenCourses } from '@/server/course'
 import { SET_COURSE } from '@/store/types/main-types'
 import debounce from '@/utils/debounce'
 import SlideInDifferentTransition from '@/animations/SlideInDifferentTransition'
@@ -99,7 +99,7 @@ export default {
       })
     },
     getCourses () {
-      return studentGetCourses({ size: 100, sort: 'name' }).then(res => {
+      return getChosenCourses({ size: 100, sort: 'name' }).then(res => {
         this.courses = res.data
       }).catch(err => {
         this.$setErrorMessage(err.response.data.msg)

+ 2 - 2
src/views/student/tabs/StudentExplore.vue

@@ -38,7 +38,7 @@
 
 <script>
 import CourseCard from '@/components/Cards/CourseCard'
-import { studentGetCourses } from '@/server/course'
+import { getChosenCourses } from '@/server/course'
 import CButton from '@/components/Basic/CButton'
 import { SET_COURSE } from '@/store/types/main-types'
 import SlideInDifferentTransition from '@/animations/SlideInDifferentTransition'
@@ -66,7 +66,7 @@ export default {
       })
     },
     getCourses () {
-      return studentGetCourses({ size: 100, sort: 'name' }).then(res => {
+      return getChosenCourses({ size: 100, sort: 'name' }).then(res => {
         this.courses = res.data
       }).catch(err => {
         this.$setErrorMessage(err.response.data.msg)

+ 2 - 2
src/views/teacher/components/TeacherCourseSlides.vue

@@ -49,7 +49,7 @@ import TabSideComponent from '@/components/Layouts/TabSideComponent'
 import BackTitle from '@/components/Basic/BackTitle'
 import SlideCard from '@/components/Cards/SlideCard'
 import CButton from '@/components/Basic/CButton'
-import { teacherGetSlidesByCourse } from '@/server/slide'
+import { getSlidesByCourse } from '@/server/slide'
 import { SET_SLIDE_INFO } from '@/store/types/pdf-types'
 import { SET_COURSE, SET_COURSE_FILE_INFO } from '@/store/types/main-types'
 import { mapState } from 'vuex'
@@ -100,7 +100,7 @@ export default {
       })
     },
     getSlides (size) {
-      return teacherGetSlidesByCourse({ courseId: this.course.id, sort: 'name', size }).then(res => {
+      return getSlidesByCourse({ courseId: this.course.id, sort: 'name', size }).then(res => {
         this.slides = res.data
       }).catch(err => {
         this.slides = []

+ 2 - 2
src/views/teacher/components/TeacherSlideDetail.vue

@@ -54,7 +54,7 @@ import TabSideComponent from '@/components/Layouts/TabSideComponent'
 import CButton from '@/components/Basic/CButton'
 import BackTitle from '@/components/Basic/BackTitle'
 import { mapState } from 'vuex'
-import { getSlideUrl, modifySlide, modifySlideState, removeSlide } from '@/server/slide'
+import { getSlideUrl, modifySlide, modifySlideState, deleteSlide } from '@/server/slide'
 import { SET_SLIDE_INFO, SET_SRC } from '@/store/types/pdf-types'
 import SlideDetail from '@/components/Details/SlideDetail'
 import slideStateTranslation from '@/server/enums/slide-state-translation'
@@ -96,7 +96,7 @@ export default {
     handleDeleteSlide () {
       const msg = '请谨慎操作:确定删除本课件吗:\n\n课件名称:' + this.slide.name
       if (confirm(msg)) {
-        removeSlide({ id: this.slide.id }).then(res => {
+        deleteSlide({ id: this.slide.id }).then(res => {
           this.$setSuccessMessage('删除成功')
           this.$router.push({ name: 'teacher-explore' })
         }).catch(err => {

+ 2 - 2
src/views/teacher/tabs/CreateSlide.vue

@@ -28,7 +28,7 @@
 import CInput from '@/components/Basic/CInput'
 import CButton from '@/components/Basic/CButton'
 import FileUploader from '@/components/Basic/FileUploader'
-import { teacherGetCourses } from '@/server/course'
+import { getCreatedCourses } from '@/server/course'
 import { createSlide } from '@/server/slide'
 import CTag from '@/components/Basic/CTag'
 import CSelect from '@/components/Basic/CSelect'
@@ -47,7 +47,7 @@ export default {
     }
   },
   mounted () {
-    teacherGetCourses({ size: 100, sort: 'name' }).then(res => {
+    getCreatedCourses({ size: 100, sort: 'name' }).then(res => {
       this.courses = res.data
     }).catch(err => {
       this.$setErrorMessage('获取课件列表过程中:' + err.response.data.msg)

+ 2 - 2
src/views/teacher/tabs/TeacherCoursesManager.vue

@@ -34,7 +34,7 @@
 <script>
 import CButton from '@/components/Basic/CButton'
 import CourseCard from '@/components/Cards/CourseCard'
-import { teacherGetCourses } from '@/server/course'
+import { getCreatedCourses } from '@/server/course'
 import { SET_COURSE } from '@/store/types/main-types'
 import SlideInDifferentTransition from '@/animations/SlideInDifferentTransition'
 import TabActions from '@/components/Layouts/TabActions'
@@ -66,7 +66,7 @@ export default {
       })
     },
     getCourses (size) {
-      return teacherGetCourses({ sort: 'name', size }).then(res => {
+      return getCreatedCourses({ sort: 'name', size }).then(res => {
         this.courses = res.data
       }).catch(err => {
         this.$setErrorMessage('获取课程时:' + err.response.data.msg)

+ 2 - 2
src/views/teacher/tabs/TeacherExplore.vue

@@ -54,7 +54,7 @@
 import SlideCard from '@/components/Cards/SlideCard'
 import CourseCard from '@/components/Cards/CourseCard'
 import { teacherGetSlides } from '@/server/slide'
-import { teacherGetCourses } from '@/server/course'
+import { getCreatedCourses } from '@/server/course'
 import CButton from '@/components/Basic/CButton'
 import { SET_SLIDE_INFO } from '@/store/types/pdf-types'
 import { SET_COURSE } from '@/store/types/main-types'
@@ -103,7 +103,7 @@ export default {
       })
     },
     getCourses (size) {
-      return teacherGetCourses({ size, sort: 'createAt' }).then(res => {
+      return getCreatedCourses({ size, sort: 'createAt' }).then(res => {
         this.courses = res.data
       }).catch(err => {
         this.$setErrorMessage('获取课件时:' + err.response.data.msg)