Files
learning-system-mobile/api/modules/courseStudy.js
2023-03-06 19:18:44 +08:00

370 lines
8.5 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 课程学习的相关处理接口
*
**/
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
}