/** * 课程学习的相关处理接口 * **/ import ajax from '@/utils/xajax.js' /** * 检查是否已报名,,此处不会返回学习的id,会返回报名信息, 使用于录播课的报名检查。 * @param {Object} courseId 课程 的id * 返回 检查报名状态 */ const hasSignup = function(courseId) { return ajax.get('/xboe/school/study/signup/has?cid='+courseId); } /** * 课程报名,微课,录播课 * @param {Object} data * { courseId: courseName: courseType: 课程类型,对应微课,录播课 signType:1,后名方式,默认是1自主报名,可以不传 signInfo: 报名说明,当前无此值对应,可以为空 } */ const signup = function(data) { return ajax.post('/xboe/school/study/signup/self', data); } /** * 分页获取报名列表-课程管理 * @param {Object} data * { courseId:课程的id status: 状态 name: 姓名 } */ const findSignup = function(data) { return ajax.post('/xboe/school/study/signup/pagelist', data); } /** * 只有未审核通过或未审核的才可以删除 * @param {Object} id 报名的id */ const deleteSignup = function(id) { return ajax.post('/xboe/school/study/signup/delete?id='+id); } /** * 导入报名,前如何生成对象列表也需要接口处理,未实现 * @param {Object} data * Signup 对象集合, list */ const importSignup = function(data) { return ajax.post('/xboe/school/study/signup/import',data); } /**进入学习首页的后的调用*/ const studyIndex = function(courseId) { return ajax.get('/xboe/school/study/course/studyIndex?cid='+courseId+'&addView=true'); } /** * 课程学习,根据课程id来获取, * @param {Object} courseId */ const studyInfo = function(courseId) { return ajax.get('/xboe/school/study/course/info?cid='+courseId); } /** * 课程当前课程的学习的内容条目信息 * @param {Object} studyId * @param {Object} contentId */ const getStudyContentItem = function(studyId,contentId) { console.log(1111) return ajax.post('/xboe/school/study/course/study-course-content',{studyId,contentId}); } /** * 视频记录视频的播放时间点 * @param {Object} data * { * itemId: 学习内容id,对应studyItemId * videoTime: 整数,记录视频的播放进度 * } * @returns */ const studyVideoTime = function(data) { return ajax.post('/xboe/school/study/course/study-video-time',data); } /** * 获取上一次的学习内容 * @returns */ const lastStudy = function() { return ajax.get('/xboe/school/study/course/last-study'); } /** * 学习内容记录。注意,已经完成的就不要请求了,避免重复记录请求 * @param {Object} data * studyId: 学习id, * courseId: 课程id, * csectionId 章id, * contentId: 内容id, * contentName:内容名称 * aid : 学习人id * progress: 学习进度 0-100的数字,此字段用于视频类的课程学习,当前未用到,直接设置为100就可以 100% * contentTotal:课程总的内容数量 4 * */ const studyContent = function(data) { return ajax.postJson('/xboe/school/study/course/study',data); } /** * 追加学习时长 * @param {Object} data * studyId: 学习id, * courseId: 课程id, * contentId: 内容id, * studyInfo:学习信息 * duration 持续时间 * */ const appendStudyTime = function(data) { return ajax.post('/xboe/school/study/course/appendtime',data); } /** * 分页查询课程的学习记录-课程管理学习记录 * @param {Object} data * courseId: 课程的id * status:状态 * name: 学习人的姓名 */ const studyRecords = function(data) { return ajax.post('/xboe/school/study/course/pagelist',data); } /** * 分页查询课程的资源(内容)学习记录 * @param {Object} data * courseId: 课程的id * contentId: 课程内容id * status:状态 * name: 学习人的姓名 */ const studyContentRecords = function(data) { return ajax.post('/xboe/school/study/course/contents',data); } /** * 课程学习记录的导出,此功能 还未实现,导出是下载excel * @param {Object} data * { courseId: type: 1表导出汇总,2表导出详细记录 } */ const studyExport = function(data) { return ajax.post('/xboe/school/study/course/export',data); } /** * 我的课程学习记录 * @param {Object} query * { status:1未开始,2学习中,9已学完 courseName:课程名称,关键字查询,模糊查询 courseType:课程类型,对应微课,录播课 isFinish true,false } */ const myStudyList = function(query) { return ajax.post('/xboe/school/study/course/mylist',query); } const myStudyListFromES = function(query) { return ajax.post('/xboe/school/study/es/search',query); } /** * 保存课程考试 * @param {Object} data * studyItemId: 学习内容记录id, * studyId: 学习id, * courseId: 课程id, * contentId: 内容id, * studyInfo:学习信息 * studentId:学习人id, * studentName 学习人姓名 * startTime : 开始时间, * testDuration 持续时间, * arrange:试题排列 1试题乱序,2选项乱序,3全部乱序 * randomMode * testId * testName * passLine * paperJson * answerJson */ const saveExam = function(data) { return ajax.postJson('/xboe/school/study/exam/save',data); } /** * 保存课程作业答卷 * @param {Object} data * studyItemId: 学习内容记录id, * studyId: 学习id, * courseId: 课程id, * contentId: 内容id, * studyInfo:学习信息 * studentId:学习人id, * studentName 学习人姓名 * hwId:作业的id * hwName: 作业的名称 * hwContent:作业的内容 * filePat: 文件的路径,可以为空, * hwAnswer: 文本提交的信息 */ const saveHomework = function(data) { return ajax.postJson('/xboe/school/study/homework/save',data); } /** * 保存课程评估 * @param {Object} data * studyItemId: 学习内容记录id, * studyId: 学习id, * courseId: 课程id, * contentId: 内容id, * studyInfo:学习信息 * studentId:学习人id, * studentName 学习人姓名 * asContent:评估内容 * asAnswer:评估答案,如果答案直接放在asContent中了,这里可以不用了, * asScore:评估得分 */ const saveAssess = function(data) { return ajax.postJson('/xboe/school/study/assess/save',data); } /** * 查询我的课程作业信息 * @param {Object} id * id:记录的id */ const myHomework = function(id) { return ajax.post('/xboe/school/study/homework/detail?id='+id); } /** * 查询我的课程考试的试卷 * @param {Object} id * id:记录的id */ const myExamPaper = function(id) { return ajax.get('/xboe/school/study/exam/detail?id='+id); } /** * 查询我的课程评估信息 * @param {Object} id * id:记录的id */ const myAssess = function(id) { return ajax.get('/xboe/school/study/assess/detail?id='+id); } /** * 查询我的课程作业信息 * @param {Object} data * { studyId:'', contentId:'' } */ const myHomeworkList = function(data) { return ajax.post('/xboe/school/study/homework/list-study',data); } /** * 查询我的课件考试信息 * @param {Object} itemId * 对应的提交记录的id, */ const myExamList = function(itemId) { return ajax.post('/xboe/school/study/exam/list',{itemId}); } /** * 查询我的课件考试信息 * @param {Object} data * { studyId:'', contentId:'' } */ const myExamList2 = function(data) { return ajax.post('/xboe/school/study/exam/list-study',data); } /** * 查询我的课程评估信息 * @param {Object} data * { studyId:'', contentId:'' } */ const myAssessList = function(data) { return ajax.post('/xboe/school/study/assess/list-study',data); } /* 删除课程学习记录 @param id 学习id @param courseId 课程id 用于删除课程报名信息和修改课程学习人数 */ const deleteSignUp=function(id,courseId){ return ajax.post(`/xboe/school/study/course/delete-signup?id=${id}&couserId=${courseId}`); } /**课程详细页面的推荐课程*/ const courseRecommends=function(query) { return ajax.post('/xboe/portal/index/course-for-recommend',query); } export default { hasSignup, signup, findSignup, deleteSignup, importSignup, studyIndex, studyInfo, studyVideoTime, lastStudy, studyContent, appendStudyTime, studyRecords, studyContentRecords, getStudyContentItem, studyExport, myStudyList, myStudyListFromES, saveHomework, saveExam, saveAssess, myHomework, myExamPaper, myAssess, myHomeworkList, myExamList, myAssessList, myExamList2, deleteSignUp, courseRecommends }