mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-mobile.git
synced 2025-12-06 17:36:45 +08:00
373 lines
10 KiB
JavaScript
373 lines
10 KiB
JavaScript
/**
|
||
* 课程的操作,课程的添加,修改,列表查询,课程的审核发布等操作。
|
||
* 针对于管理员,教师的功能
|
||
*
|
||
**/
|
||
import ajax from '@/utils/xajax.js'
|
||
|
||
/**
|
||
* 保存课程基本信息,新增和更新都是此方式
|
||
* @param {Object} data
|
||
*{
|
||
course:{
|
||
课程的基本信息,具体字段内容另外提供
|
||
name:课程名称
|
||
type:课程类型,10微课,21在线课(直播);20:在线课( 录播);30:面授课;40:混合式,
|
||
summary:摘人
|
||
overview: 课程简介
|
||
coverImg:封面图
|
||
sysType:系统分类,只存储最后一级,
|
||
resOwner1:资源归属一级的id
|
||
resOwner2:资源归属二级的id
|
||
resOwner3:资源归属三级的id
|
||
forUsers: 目标人群
|
||
forScene:应用场景
|
||
openObject: 开放权限
|
||
value:课程价值
|
||
tags:标签,多个使用-分隔
|
||
keywords:关键字
|
||
device: 1:PC端可见;2:移动端可见;3:多端可见
|
||
status: 1:未提交(草稿);2:已提交;
|
||
published:true/false 是否发布
|
||
enabled:true/false 启用、停用
|
||
isTop: true/false 是否置顶
|
||
source:整数,课程来源,1:内部;2;外部
|
||
|
||
},
|
||
teachers:[
|
||
{
|
||
teacherId:教师的id,
|
||
teacherName:教师的名称
|
||
}
|
||
]
|
||
}
|
||
*/
|
||
const saveBase = function(data) {
|
||
return ajax.postJson('/xboe/m/course/manage/save', data);
|
||
}
|
||
|
||
|
||
|
||
/**
|
||
* 仅仅是保存课程信息,不包括教师信息
|
||
* @param {Object} data
|
||
*/
|
||
const saveOnlyCourse = function(data) {
|
||
return ajax.postJson('/xboe/m/course/manage/save-only-course', data);
|
||
}
|
||
|
||
/**提交课程*/
|
||
const submitCourse = function(data) {
|
||
return ajax.postJson('/xboe/m/course/manage/submit', data);
|
||
}
|
||
|
||
/**撤销已提交审核的课程*/
|
||
const revokeSubmit = function(id) {
|
||
return ajax.post('/xboe/m/course/manage/revoke', {id});
|
||
}
|
||
|
||
/**
|
||
* 复制课程
|
||
* @param {Object} id
|
||
*/
|
||
const copyCourse = function(id) {
|
||
return ajax.post('/xboe/m/course/manage/copy', {id});
|
||
}
|
||
/*
|
||
查询课程是否有重复名称
|
||
*/
|
||
const isRedoName=function(){
|
||
return ajax.get('/xboe/m/course/manage/isRedoName');
|
||
}
|
||
/*
|
||
查询当前添加课程是否已有
|
||
courseName 要添加的课程姓名
|
||
*/
|
||
const isCourseName=function(courseName,courseId){
|
||
return ajax.get(`/xboe/m/course/manage/isCourseName?courseName=${courseName}&courseId=${courseId}`);
|
||
}
|
||
/**
|
||
* 查询修改日志,列表,不分页
|
||
* @param {Object} params
|
||
* {
|
||
num:数量,可以不传,默认是10条,最新的10条
|
||
courseId:课程的id
|
||
name: 修改人
|
||
}
|
||
*/
|
||
const findUpdateLogs = function(params) {
|
||
return ajax.post('/xboe/m/course/manage/upldate-logs',params);
|
||
}
|
||
|
||
/**
|
||
* 根据id获取修改的详细信息
|
||
* @param {Object} id
|
||
*/
|
||
const getUpdateLog = function(id) {
|
||
return ajax.get('/xboe/m/course/manage/upldate-log-detail?id='+id);
|
||
}
|
||
|
||
/**
|
||
* 保存课程的一条学习内容信息,新增和更新都是此方式
|
||
* @param {Object} data
|
||
* {
|
||
content:内容 {
|
||
courseId,csectionId章节id(微课为空),sortIndex排序顺序(微课为空),contentType 内容类型(图文41,连接52,作业60,考试61,评估62)
|
||
contentName,contentRefId无关联内容时为空(此字段内容后台会控制),content具体的内容
|
||
}
|
||
|
||
homework:作业信息 单个对象{
|
||
courseId,contentId上面对象的id(后台会控制),name,content,file,deadTime,
|
||
submitMode:1表提交附件,2直接填写,3表两者都可以
|
||
}
|
||
exam:考试信息 单个对象
|
||
{
|
||
courseId,contentId上面对象的id(后台会控制),testName,testDuration考试时长,
|
||
paperType试卷类型 1自定义,2使用已有试卷
|
||
paperId试题的id,使用已有试卷时保存选择试卷的id
|
||
showAnalysis是否显示解析,showAnswer否显示答案,times尝试次数
|
||
arrange试题排序 0表不乱序,1试题乱序,2选项乱序,3全部乱序
|
||
scoringType评分方式 1最高一次,2最后一次
|
||
passLine及格线整数
|
||
randomMode是否随机模式true/false
|
||
paperContent试卷的内容,json存储的对象{items:[]}
|
||
|
||
}
|
||
assess:评估信息,list 多条记录.
|
||
[
|
||
{ courseId,contentId,assessId评估id(一期为空),question问题,qType问题类型}
|
||
]
|
||
}
|
||
*/
|
||
const saveContent = function(data) {
|
||
return ajax.postJson('/xboe/m/course/content/save', data);
|
||
}
|
||
|
||
|
||
/**
|
||
* 更新课程内容的顺序
|
||
* @param {String} cid //课程的id
|
||
* @param {Array} items
|
||
* [
|
||
* {
|
||
* id:章的id
|
||
* index:整数,顺序值
|
||
* items:[
|
||
* {id:内容的id,index:顺序值}
|
||
* ]
|
||
* }
|
||
* ]
|
||
* @returns
|
||
*/
|
||
const updateContentOrders = function(cid,items) {
|
||
return ajax.postJson('/xboe/m/course/content/update-orders/'+cid, items);
|
||
}
|
||
|
||
/**
|
||
* 课程的详细信息
|
||
* @param {String} id
|
||
*/
|
||
const detail = function(id) {
|
||
return ajax.get('/xboe/m/course/portal/detail?id=' + id);
|
||
}
|
||
|
||
/**
|
||
* 更新内容的名称
|
||
* @param {Object} data
|
||
* {
|
||
id:'',
|
||
name:''
|
||
}
|
||
*/
|
||
const updateContentName = function(data) {
|
||
return ajax.post('/xboe/m/course/content/update-name', data);
|
||
}
|
||
|
||
/**
|
||
* 删除一条学习内容
|
||
* @param {Object} data
|
||
* {
|
||
id: 内容的id,
|
||
ctype:对应内容的类型contentType
|
||
erasable:是否物理删除,此值是课程信息中系统带过来的字段,直接使用它就可以了
|
||
}
|
||
*/
|
||
const delContent = function(data) {
|
||
return ajax.post('/xboe/m/course/content/delete', data);
|
||
}
|
||
|
||
/**
|
||
* 保存课程的章信息,新增和修改保存都是一个
|
||
* @param {Object} data
|
||
* courseId:课程的id
|
||
* name:章节名称
|
||
description:章节说明
|
||
parentId: 上级id。如果没有可以填“-1”字符串
|
||
orderIndex:显示顺序,顺序索引,整数
|
||
*/
|
||
const saveSection = function(data) {
|
||
return ajax.post('/xboe/m/course/content/save-section', data);
|
||
}
|
||
|
||
/**
|
||
* 删除章节目录,注意只有目录下没有学习内容时才允许删除
|
||
* @param {Object} data
|
||
*/
|
||
const delSection = function(id) {
|
||
return ajax.post('/xboe/m/course/content/delete-section?id=' + id);
|
||
}
|
||
|
||
/**
|
||
* 根据课程学习内容的id。获取作业信息,只有学习内容是作业时才会有信息
|
||
* @param {Object} ccid
|
||
*/
|
||
const getHomework = function(ccid) {
|
||
return ajax.post('/xboe/m/course/content/homework?ccid=' + ccid);
|
||
}
|
||
|
||
/**
|
||
* 根据课程学习内容的id。获取考试信息,只有学习内容是考试时才会有信息
|
||
* @param {Object} ccid
|
||
*/
|
||
const getExam = function(ccid) {
|
||
return ajax.post('/xboe/m/course/content/exam?ccid=' + ccid);
|
||
}
|
||
|
||
/**
|
||
* 根据课程学习内容的id。获取评估信息,评估内容可以获取
|
||
* @param {Object} ccid
|
||
*/
|
||
const getAssess = function(ccid) {
|
||
return ajax.post('/xboe/m/course/content/assess?ccid=' + ccid);
|
||
}
|
||
|
||
/**
|
||
* 管理列表查询
|
||
* @param {Object} query
|
||
* pageIndex:第几页
|
||
* pageSize:每页多少条
|
||
* resOwner1:资源归属一级的id
|
||
resOwner2:资源归属二级的id
|
||
resOwner3:资源归属三级的id
|
||
types:授课方式,多个使用 - 分隔
|
||
scenes:应用场景,多个使用 - 分隔
|
||
publish:true/false 是否发布,空值或不传就是全部
|
||
aid:创建人 aid
|
||
sysCreateUser: 创建人姓名
|
||
keyword:查询关键词
|
||
sysTypes:系统的分类,多级使用 - 分隔,注一期功能是分类的最后一级值,不支持多个的查询
|
||
orderField:排序字段 id s
|
||
orderAsc:true/false 是否是正序,从小到大
|
||
status:状态,多个使用 - 分隔 1代表待审核 5代表已审核 1 未提交 2 已提交 5 审核完成
|
||
type:课程类型,10微课,21在线课(直播);20:在线课( 录播);30:面授课;40:混合式,
|
||
name 课程名称
|
||
|
||
*/
|
||
const pageList = function(query) {
|
||
return ajax.post('/xboe/m/course/manage/pagelist', query);
|
||
}
|
||
|
||
|
||
/**计算待审核课程*/
|
||
const countWaitAudit = function() {
|
||
return ajax.get('/xboe/m/course/manage/wait-audit-num');
|
||
}
|
||
|
||
/**
|
||
* @param {Object} query 同pageList
|
||
*/
|
||
const auditList = function(query) {
|
||
return ajax.post('/xboe/m/course/manage/audit-pagelist', query);
|
||
}
|
||
|
||
/**
|
||
* 管理员的课程审核处理
|
||
* @param {Object} query {id:课程id,title:课程的名称, Boolean pass 是否通过,remark 备注}
|
||
*/
|
||
const audit = function(data) {
|
||
return ajax.post('/xboe/m/course/manage/audit', data);
|
||
}
|
||
|
||
/**
|
||
* 管理员的课程发布
|
||
* @param {Object} query {ids:课程id,多个使用逗号分隔,title:课程的名称, Boolean pass 是否发布}
|
||
*/
|
||
const publish = function(data) {
|
||
return ajax.post('/xboe/m/course/manage/publish', data);
|
||
}
|
||
|
||
const auditAndPublish=function(data) {
|
||
return ajax.post('/xboe/m/course/manage/audit-publish', data);
|
||
}
|
||
|
||
/**
|
||
* 管理员的课程发布
|
||
* @param {Object} query {ids:课程id,多个使用逗号分隔,title:课程的名称, Boolean top 是否置顶}
|
||
*/
|
||
const setTop = function(data) {
|
||
return ajax.post('/xboe/m/course/manage/publish', data);
|
||
}
|
||
|
||
/**
|
||
* 管理员的设置启用停用
|
||
* @param {Object} query {ids:课程id,多个使用逗号分隔,title:课程的名称, Boolean enabled 是否启用}
|
||
*/
|
||
const setEnabled = function(data) {
|
||
return ajax.post('/xboe/m/course/manage/enabled', data);
|
||
}
|
||
|
||
/**
|
||
* 管理员的删除课程
|
||
* erasable 此值是课程信息带过来的,直接传就可以
|
||
* @param {Object} query {id:课程id,多个使用逗号分隔,Boolean erasable 是否物理删除,title:课程的名称, remark 备注}
|
||
*/
|
||
const del = function(data) {
|
||
return ajax.post('/xboe/m/course/manage/delete', data);
|
||
}
|
||
/*
|
||
详情
|
||
*/
|
||
const detailFew=function(id){
|
||
return ajax.get('/xboe/m/course/portal/detail-few?id=' + id);
|
||
}
|
||
|
||
/*
|
||
直接审核
|
||
*/
|
||
const sumbits=function(id){
|
||
return ajax.get('/xboe/m/course/manage/sumbits?id='+id);
|
||
}
|
||
|
||
export default {
|
||
saveBase,
|
||
submitCourse,
|
||
revokeSubmit,
|
||
copyCourse,
|
||
findUpdateLogs,
|
||
getUpdateLog,
|
||
detail,
|
||
saveContent,
|
||
pageList,
|
||
setEnabled,
|
||
del,
|
||
publish,
|
||
saveSection,
|
||
getHomework,
|
||
countWaitAudit,
|
||
auditList,
|
||
audit,
|
||
auditAndPublish,
|
||
getAssess,
|
||
setTop,
|
||
delSection,
|
||
getExam,
|
||
delContent,
|
||
updateContentName,
|
||
updateContentOrders,
|
||
saveOnlyCourse,
|
||
isRedoName,
|
||
isCourseName,
|
||
detailFew,
|
||
sumbits
|
||
}
|