refactor(api): 将小作业列表接口从teacher模块移至checkin模块
将获取小作业列表的功能从teacher模块迁移到checkin模块,保持接口功能与模块职责的一致性 更新相关接口文档描述,移除teacher模块中不再使用的接口
Showing
3 changed files
with
33 additions
and
36 deletions
| 1 | /* | 1 | /* |
| 2 | * @Date: 2025-06-06 09:26:16 | 2 | * @Date: 2025-06-06 09:26:16 |
| 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com | 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com |
| 4 | - * @LastEditTime: 2025-12-11 14:43:44 | 4 | + * @LastEditTime: 2025-12-12 14:47:36 |
| 5 | * @FilePath: /mlaj/src/api/checkin.js | 5 | * @FilePath: /mlaj/src/api/checkin.js |
| 6 | * @Description: 签到模块相关接口 | 6 | * @Description: 签到模块相关接口 |
| 7 | */ | 7 | */ |
| ... | @@ -10,6 +10,7 @@ import { fn, fetch } from './fn' | ... | @@ -10,6 +10,7 @@ import { fn, fetch } from './fn' |
| 10 | const Api = { | 10 | const Api = { |
| 11 | GET_TASK_LIST: '/srv/?a=task&t=my_list', | 11 | GET_TASK_LIST: '/srv/?a=task&t=my_list', |
| 12 | GET_TASK_DETAIL: '/srv/?a=task&t=detail', | 12 | GET_TASK_DETAIL: '/srv/?a=task&t=detail', |
| 13 | + GET_SUBTASK_LIST: '/srv/?a=subtask&t=list', | ||
| 13 | TASK_CHECKIN: '/srv/?a=checkin&t=checkin', | 14 | TASK_CHECKIN: '/srv/?a=checkin&t=checkin', |
| 14 | TASK_UPLOAD_ADD: '/srv/?a=checkin&t=upload_add', | 15 | TASK_UPLOAD_ADD: '/srv/?a=checkin&t=upload_add', |
| 15 | TASK_UPLOAD_LIST: '/srv/?a=checkin&t=upload_list', | 16 | TASK_UPLOAD_LIST: '/srv/?a=checkin&t=upload_list', |
| ... | @@ -24,23 +25,31 @@ const Api = { | ... | @@ -24,23 +25,31 @@ const Api = { |
| 24 | } | 25 | } |
| 25 | 26 | ||
| 26 | /** | 27 | /** |
| 27 | - * @description: 获取签到类型列表 | 28 | + * @description: 我的大作业列表 |
| 28 | - * @param: keyword 搜索课程名称 | 29 | + * @param: keyword 搜索作业名称 |
| 29 | - * @return: data: [{ id 作业id, title 作业名称, begin_date 开始时间, end_date 结束时间, task_type 任务类型 [checkin=签到 | file=上传附件], is_gray 作业是否应该置灰 }] | 30 | + * @return: data: [{ id 大作业id, cover 作业封面, title 大作业名称, begin_date 开始时间, end_date 结束时间, task_type 任务类型 [checkin=签到 | upload=上传附件 | count=计数], is_gray 作业是否应该置灰, is_finish 作业在当前周期是否已经达标 }] |
| 30 | */ | 31 | */ |
| 31 | 32 | ||
| 32 | export const getTaskListAPI = (params) => fn(fetch.get(Api.GET_TASK_LIST, params)) | 33 | export const getTaskListAPI = (params) => fn(fetch.get(Api.GET_TASK_LIST, params)) |
| 33 | 34 | ||
| 34 | /** | 35 | /** |
| 35 | - * @description: 获取作业详情 | 36 | + * @description: 大作业详情 |
| 36 | - * @param: i 作业id | 37 | + * @param: i 作业ID |
| 37 | * @param: month 月份 | 38 | * @param: month 月份 |
| 38 | * @param: subtask_id 小作业ID | 39 | * @param: subtask_id 小作业ID |
| 39 | - * @returns data: { id 作业id, title 作业名称, note 作业描述, frequency 交作业的频次, cycle 交作业的周期 {0=本周期 | 30=每月 | 7=每周 | 1=每日}, attachment_type 上传附件的类型 [text=文本 image=图片 video=视频 audio=音频], begin_date 开始时间, end_date 结束时间, task_type 任务类型 [checkin=签到 | file=上传附件], is_gray 作业是否应该置灰, my_checkin_dates 我在日历中打过卡的日期, target_number 打卡的目标数量, checkin_number 已经打卡的数量, checkin_avatars 最后打卡的10个人的头像, subtask_list 小作业列表 [{id,title,cycle,frequency,attachment_type,begin_date,end_date,is_finish}] } | 40 | + * @returns data: { id 大作业id, cover 封面图, title 大作业名称, note 大作业描述, frequency 交作业的频次, cycle 交作业的周期 {0=本周期 | 30=每月 | 7=每周 | 1=每日}, attachment_type 上传附件的类型 [text=文本 image=图片 video=视频 audio=音频], begin_date 开始时间, end_date 结束时间, task_type 任务类型 [checkin=签到 | upload=上传附件 | count=计数], is_gray 作业是否应该置灰, is_finish 作业在当前周期是否已经达标, my_checkin_dates[] 我在日历中打过卡的日期, makeup_checkin_dates[] 我在日历中,可以补卡的日期, target_number 打卡的目标数量, checkin_number 已经打卡的数量, checkin_avatars 最后打卡的10个人的头像, subtask_list 小作业列表 [{id,title,cycle,frequency,attachment_type,begin_date,end_date,is_finish}] } |
| 40 | */ | 41 | */ |
| 41 | export const getTaskDetailAPI = (params) => fn(fetch.get(Api.GET_TASK_DETAIL, params)) | 42 | export const getTaskDetailAPI = (params) => fn(fetch.get(Api.GET_TASK_DETAIL, params)) |
| 42 | 43 | ||
| 43 | /** | 44 | /** |
| 45 | + * @description: 小作业列表 | ||
| 46 | + * @param task_id 大作业ID | ||
| 47 | + * @param date 日期(用来判断是否可以补卡) | ||
| 48 | + * @returns data: [{id 作业id,title 作业名称 ,cycle 作业周期 [0=本周期 | 30=每月 | 7=每周 | 1=每日],frequency 交作业的频次,attachment_type 上传附件的类型 [text=文本 image=图片 video=视频 audio=音频],begin_date 开始时间,end_date 结束时间,is_finish 作业在当前周期是否已经达标, is_gray 作业是否应该置灰, is_makeup 是否可以补卡}] | ||
| 49 | + */ | ||
| 50 | +export const getSubtaskListAPI = (params) => fn(fetch.get(Api.GET_SUBTASK_LIST, params)) | ||
| 51 | + | ||
| 52 | +/** | ||
| 44 | * @description: 签到打卡 | 53 | * @description: 签到打卡 |
| 45 | * @param task_id 签到作业ID | 54 | * @param task_id 签到作业ID |
| 46 | * @returns | 55 | * @returns | ... | ... |
| 1 | /* | 1 | /* |
| 2 | * @Date: 2025-06-23 11:46:21 | 2 | * @Date: 2025-06-23 11:46:21 |
| 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com | 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com |
| 4 | - * @LastEditTime: 2025-12-11 15:08:04 | 4 | + * @LastEditTime: 2025-12-12 14:55:03 |
| 5 | * @FilePath: /mlaj/src/api/teacher.js | 5 | * @FilePath: /mlaj/src/api/teacher.js |
| 6 | * @Description: 文件描述 | 6 | * @Description: 文件描述 |
| 7 | */ | 7 | */ |
| ... | @@ -13,7 +13,6 @@ const Api = { | ... | @@ -13,7 +13,6 @@ const Api = { |
| 13 | TEACHER_ADD_TASK: '/srv/?a=task&t=teacher_add', | 13 | TEACHER_ADD_TASK: '/srv/?a=task&t=teacher_add', |
| 14 | TEACHER_LIST_TASK: '/srv/?a=task&t=teacher_list', | 14 | TEACHER_LIST_TASK: '/srv/?a=task&t=teacher_list', |
| 15 | TEACHER_DETAIL_TASK: '/srv/?a=task&t=teacher_detail', | 15 | TEACHER_DETAIL_TASK: '/srv/?a=task&t=teacher_detail', |
| 16 | - TEACHER_SUBTASK_LIST: '/srv/?a=subtask&t=list', | ||
| 17 | STUDENT_LIST: '/srv/?a=user&t=student_list', | 16 | STUDENT_LIST: '/srv/?a=user&t=student_list', |
| 18 | STUDENT_DETAIL: '/srv/?a=user&t=student_detail', | 17 | STUDENT_DETAIL: '/srv/?a=user&t=student_detail', |
| 19 | STUDENT_STAT: '/srv/?a=user&t=student_stat', | 18 | STUDENT_STAT: '/srv/?a=user&t=student_stat', |
| ... | @@ -59,54 +58,43 @@ export const getTeacherFindSettingsAPI = (params) => fn(fetch.get(Api.TEACHER_FI | ... | @@ -59,54 +58,43 @@ export const getTeacherFindSettingsAPI = (params) => fn(fetch.get(Api.TEACHER_FI |
| 59 | export const setTeacherTaskAPI = (params) => fn(fetch.post(Api.TEACHER_ADD_TASK, params)) | 58 | export const setTeacherTaskAPI = (params) => fn(fetch.post(Api.TEACHER_ADD_TASK, params)) |
| 60 | 59 | ||
| 61 | /** | 60 | /** |
| 62 | - * 获取老师的作业列表 | 61 | + * 获取老师的大作业列表 |
| 63 | * @param {*} group_id 课程ID | 62 | * @param {*} group_id 课程ID |
| 64 | * @param {*} team_id 大分组ID | 63 | * @param {*} team_id 大分组ID |
| 65 | * @param {*} subteam_id 小分组ID | 64 | * @param {*} subteam_id 小分组ID |
| 66 | * @param {*} limit 条数 100 | 65 | * @param {*} limit 条数 100 |
| 67 | * @param {*} page 页码 0 | 66 | * @param {*} page 页码 0 |
| 68 | - * @returns {Object} data { | 67 | + * @returns array{object} data [{ |
| 69 | * id integer 作业id | 68 | * id integer 作业id |
| 70 | * title string 作业名称 | 69 | * title string 作业名称 |
| 71 | - * cycle string 作业周期 0=本周期 30=每月 7=每周 1=每日 | ||
| 72 | - * frequency integer 每周期交作业的次数 | ||
| 73 | - * attachment_type array[string] 提交类型 text=文本 image=图片 video=视频 audio=音频 | ||
| 74 | * begin_date string 开始时间 | 70 | * begin_date string 开始时间 |
| 75 | * end_date number 结束时间 | 71 | * end_date number 结束时间 |
| 76 | - * task_type string 任务类型 checkin=签到 file=上传附件 | 72 | + * task_type string 任务类型 checkin=签到 upload=上传附件 count=计数 |
| 77 | - * } | 73 | + * }] |
| 78 | */ | 74 | */ |
| 79 | export const getTeacherTaskListAPI = (params) => fn(fetch.get(Api.TEACHER_LIST_TASK, params)) | 75 | export const getTeacherTaskListAPI = (params) => fn(fetch.get(Api.TEACHER_LIST_TASK, params)) |
| 80 | 76 | ||
| 81 | /** | 77 | /** |
| 82 | - * 获取老师的作业详情 | 78 | + * 获取老师大作业详情 |
| 83 | * @param {*} id 作业ID | 79 | * @param {*} id 作业ID |
| 84 | - * @param {*} date 日期。默认是今天 示例值: [""] | 80 | + * @param {*} subtask_id 小作业ID |
| 85 | * @returns {Object} data { | 81 | * @returns {Object} data { |
| 86 | - * id integer 作业id | 82 | + * id integer 大作业id |
| 83 | + * cover string 大作业封面 | ||
| 84 | + * title string 大作业名称 | ||
| 87 | * begin_date string 开始时间 | 85 | * begin_date string 开始时间 |
| 88 | * end_date string 结束时间 | 86 | * end_date string 结束时间 |
| 89 | - * task_type string 任务类型 checkin=签到 file=上传附件 | 87 | + * task_type string 任务类型 checkin=签到 upload=上传附件 count=计数 |
| 90 | - * title string 作业名称 | ||
| 91 | - * cycle string 作业周期 0=本周期 30=每月 7=每周 1=每日 | ||
| 92 | - * frequency integer 每周期交作业的次数 | ||
| 93 | - * attachment_type array[string] 提交类型 text=文本 image=图片 video=视频 audio=音频 | ||
| 94 | * note string 作业描述 | 88 | * note string 作业描述 |
| 95 | - * need_commit_count integer 需要提交次数 | 89 | + * need_commit_count integer 应该提交次数 |
| 96 | - * real_commit_count integer 已提交次数 | 90 | + * real_commit_count integer 实际提交次数 |
| 97 | * user_list [{id 用户ID, name 姓名, avatar 头像, is_commit 是否提交了作业}] | 91 | * user_list [{id 用户ID, name 姓名, avatar 头像, is_commit 是否提交了作业}] |
| 92 | + * subtask_list [{id 小作业ID, title 小作业名称, begin_date 开始时间, end_date 结束时间, note string 作业描述, cycle string 作业周期 0=本周期 30=每月 7=每周 1=每日, frequency integer 每周期交作业的次数, attachment_type array[string] 提交类型 text=文本 image=图片 video=视频 audio=音频}] | ||
| 98 | * } | 93 | * } |
| 99 | */ | 94 | */ |
| 100 | export const getTeacherTaskDetailAPI = (params) => fn(fetch.get(Api.TEACHER_DETAIL_TASK, params)) | 95 | export const getTeacherTaskDetailAPI = (params) => fn(fetch.get(Api.TEACHER_DETAIL_TASK, params)) |
| 101 | 96 | ||
| 102 | /** | 97 | /** |
| 103 | - * 获取小作业列表 | ||
| 104 | - * @param {*} task_id 大作业ID | ||
| 105 | - * @returns {Object} data [{id,title,cycle,frequency,attachment_type,begin_date,end_date,is_finish}] | ||
| 106 | - */ | ||
| 107 | -export const getTeacherSubtaskListAPI = (params) => fn(fetch.get(Api.TEACHER_SUBTASK_LIST, params)) | ||
| 108 | - | ||
| 109 | -/** | ||
| 110 | * 获取学员列表 | 98 | * 获取学员列表 |
| 111 | * @param {*} grade_id 年级ID | 99 | * @param {*} grade_id 年级ID |
| 112 | * @param {*} class_id 班级ID | 100 | * @param {*} class_id 班级ID | ... | ... |
| ... | @@ -184,8 +184,8 @@ | ... | @@ -184,8 +184,8 @@ |
| 184 | <script setup> | 184 | <script setup> |
| 185 | import { ref, computed, onMounted, nextTick, reactive, watch } from 'vue' | 185 | import { ref, computed, onMounted, nextTick, reactive, watch } from 'vue' |
| 186 | import { useRoute, useRouter } from 'vue-router' | 186 | import { useRoute, useRouter } from 'vue-router' |
| 187 | -import { getTaskDetailAPI, getUploadTaskInfoAPI } from "@/api/checkin" | 187 | +import { getTaskDetailAPI, getUploadTaskInfoAPI, getSubtaskListAPI } from "@/api/checkin" |
| 188 | -import { getTeacherFindSettingsAPI, getTeacherSubtaskListAPI } from '@/api/teacher' | 188 | +import { getTeacherFindSettingsAPI } from '@/api/teacher' |
| 189 | import { useTitle } from '@vueuse/core' | 189 | import { useTitle } from '@vueuse/core' |
| 190 | import { useCheckin } from '@/composables/useCheckin' | 190 | import { useCheckin } from '@/composables/useCheckin' |
| 191 | import AudioPlayer from '@/components/ui/AudioPlayer.vue' | 191 | import AudioPlayer from '@/components/ui/AudioPlayer.vue' |
| ... | @@ -797,7 +797,7 @@ onMounted(async () => { | ... | @@ -797,7 +797,7 @@ onMounted(async () => { |
| 797 | } | 797 | } |
| 798 | 798 | ||
| 799 | // TODO: 获取小作业列表 | 799 | // TODO: 获取小作业列表 |
| 800 | - const subtask_list = await getTeacherSubtaskListAPI({ task_id: route.query.id }) | 800 | + const subtask_list = await getSubtaskListAPI({ task_id: route.query.id }) |
| 801 | if (subtask_list.code) { | 801 | if (subtask_list.code) { |
| 802 | taskOptions.value = [...subtask_list.data.map(item => ({ | 802 | taskOptions.value = [...subtask_list.data.map(item => ({ |
| 803 | text: item.title, | 803 | text: item.title, | ... | ... |
-
Please register or login to post a comment