2022年5月29日从svn移到git

This commit is contained in:
daihh
2022-05-29 18:56:34 +08:00
commit b050613020
488 changed files with 68444 additions and 0 deletions

32
src/api/account.js Normal file
View File

@@ -0,0 +1,32 @@
import ajax from '@/utils/xajax.js'
/**
* 更新头像
* @param {
* id:'',
* avatar:''
* } data
* @returns
*/
const updateAvatar = function(data) {
return ajax.post('/xboe/account/update-avatar',data);
}
/**
* 更新密码
* @param {
* id:'',
* oldPass:'',// 旧密码
* newPass:'' // 新密码
* } data
* @returns
*/
const updatePass = function(data) {
return ajax.post('/xboe/account/update-pass',data);
}
export default{
updateAvatar,
updatePass
}

208
src/api/boe/boeApiAjax.js Normal file
View File

@@ -0,0 +1,208 @@
import axios from 'axios'
import { getToken } from '@/utils/token'
import qs from 'qs'
import { Notification, MessageBox, Message } from 'element-ui'
import store from '@/store'
import errorCode from '@/utils/errorCode'
/**
*request请求 axios.request(config)
*requestJson请求 axios.request(config)
*get请求 axios.get(url[, config])
*post请求 axios.post(url[, data[, config]])
*postJson请求 axios.post(url[, data[, config]])
*put请求 axios.put(url[, data[, config]])
*putJson请求 axios.put(url[, data[, config]])
*patch请求 axios.patch(url[, data[, config]])
*patchJson请求 axios.patch(url[, data[, config]])
*delete请求 axios.delete(url[, config])
*/
const ReLoginUrl=process.env.VUE_APP_LOGIN_URL;
const TokenName='token';
/**axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'**/
//只是用于发送json对象数据时使用post,put,patch
const jsonRequest=axios.create({
headers:{'Content-Type':'application/json;charset=utf-8'},
// axios中请求配置有baseURL选项表示请求URL公共部分
baseURL: process.env.VUE_APP_BOE_BASE_API,
//超时
timeout: 10000,
});
//发送json对象的拦截器
jsonRequest.interceptors.request.use(config => {
//是否需要设置 token
const isToken = (config.headers || {}).isToken === false
if (getToken() && !isToken) {
config.headers[TokenName] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
}
return config
}, error => {
console.log(error)
Promise.reject(error)
})
// 响应拦截器
jsonRequest.interceptors.response.use(res => {
const code1 = res.data.status || 200;
const code=parseInt(code1);
if(code===200){
return res.data
}else{
if(code == 6001){ //对方是字符串,所以这里不要使用三个等号
store.dispatch('LogOut').then(() => {
location.href = ReLoginUrl;
})
}else if(code===403){
var msg='当前操作没有权限';
Message({message: msg, type: 'error'});
return Promise.reject(new Error(msg))
//return res.data;
}else{
//Message({message: res.data.message, type: 'error'});
//console.log('err:' + res.data.error);
//return Promise.reject(new Error(res.data.message))
return res.data;
}
}
},
error => {
console.log('err' + error)
let { message } = error;
if (message == "Network Error") {
message = "后端接口连接异常";
}
else if (message.includes("timeout")) {
message = "系统接口请求超时";
//location.href = this.webBaseUrl + ReLoginUrl;
}
else if (message.includes("Request failed with status code")) {
message = "系统接口" + message.substr(message.length - 3) + "异常";
}
Message({
message: message,
type: 'error',
duration: 5 * 1000
})
return Promise.reject(error)
}
)
//用于普通的发送请求
const formRequest=axios.create({
headers:{'Content-Type':'application/x-www-form-urlencoded'},
// axios中请求配置有baseURL选项表示请求URL公共部分
baseURL: process.env.VUE_APP_BOE_BASE_API,
//超时
timeout: 10000,
})
//发送json对象的拦截器
formRequest.interceptors.request.use(config => {
//是否需要设置 token
const isToken = (config.headers || {}).isToken === false
if (getToken() && !isToken) {
config.headers[TokenName] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
}
return config
}, error => {
console.log(error)
Promise.reject(error)
});
formRequest.interceptors.response.use(res => {
const code = res.data.status || 200;
if(code===200){
return res.data
}else{
if(code == 6001){ //对方是字符串,所以这里不要使用三个等号
store.dispatch('LogOut').then(() => {
location.href = ReLoginUrl;
})
}else if(code===403){
var msg='当前操作没有权限';
Message({message: msg, type: 'error'});
return Promise.reject(new Error(msg))
}else{
//Message({message: res.data.message, type: 'error'});
//console.log('err' + res.data.error);
//return Promise.reject(new Error(res.data.message))
return res.data;//返回给用户做业务处理
}
}
},
error => {
console.log('err' + error)
let { message } = error;
if (message == "Network Error") {
message = "后端接口连接异常";
}
else if (message.includes("timeout")) {
message = "系统接口请求超时";
//location.href = this.webBaseUrl + ReLoginUrl;
}
else if (message.includes("Request failed with status code")) {
message = "系统接口" + message.substr(message.length - 3) + "异常";
}
Message({
message: message,
type: 'error',
duration: 5 * 1000
})
return Promise.reject(error)
}
)
//request请求
const request=function(cfg){
if(cfg.data){
cfg.data=qs.stringify(cfg.data);
}
};
//requestJson请求
const requestJson=jsonRequest.request;
//get请求
const get=formRequest.request;
//post请求
const post=function(url,data,config){
if(data){
data=qs.stringify(data);
}
return formRequest.post(url,data,config);
}
//postJson请求
const postJson=jsonRequest.post;
//put请求
const put=function(url,data,config){
if(data){
data=qs.stringify(data);
}
return formRequest.put(url,data,config);
}
//putJson请求
const putJson=jsonRequest.put;
//patch请求
const patch=function(url,data,config){
if(data){
data=qs.stringify(data);
}
return formRequest.patch(url,data,config);
}
//patchJson请求
const patchJson=jsonRequest.patch;
//delete请求
const del=formRequest.delete;
export default {
request,
requestJson,
get,
post,
postJson,
put,
putJson,
patch,
patchJson,
del
}

62
src/api/boe/course.js Normal file
View File

@@ -0,0 +1,62 @@
/**控制台相关的控制数据*/
import ajax from '@/api/boe/boeApiAjax.js'
/**
* 我的学习列表
* @param {
* type:'online-course'
* page:1,
* size:10
* } data 查询条件
*/
const myLearning = function(data) {
return ajax.postJson('/b1/system/user/my-learning',data);
}
/**
* 必修任务列表
* @param {
* cmtask_status:状态 0未开始1进行中2已完成,4已过期(不需要此项)
* cmtask_name:名称
* page:1,
* size:10
* } data 查询条件
*/
const cmtaskList = function(data) {
return ajax.postJson('/b1/system/cmtask/cmtask-list',data);
}
/**
* 测评报告
* @param {Object} data
* {
* keyword: 查询关键字
* page:1,
* size:10
}
*/
const reportList = function(data) {
return ajax.postJson('/b1/system/quiz/report-list',data);
}
/**
* 课程库的列表查询
* @param {Object} data
* {
* keyword: 关键词
type: online-course 在线课face-course面授班,project 学习项目camp-course 学习班(训练班)
* page:1,
* size:10
}
*/
const courseList = function(data) {
return ajax.postJson('/b1/system/search/list',data);
}
export default {
myLearning,
cmtaskList,
reportList,
courseList
}

24
src/api/boe/login.js Normal file
View File

@@ -0,0 +1,24 @@
/**控制台相关的控制数据*/
import ajax from '@/api/boe/boeApiAjax.js'
/**
* 退出登录
*/
const logout = function() {
return ajax.post('/b1/system/user/logout',{});
}
/**修改密码
* oldPassword:'',
* newPassword:'',
* confirmPassword:''
*/
const modifyPassword = function(data) {
return ajax.postJson('/b1/system/user/update-password',data);
}
export default {
logout,
modifyPassword
}

73
src/api/boe/teacher.js Normal file
View File

@@ -0,0 +1,73 @@
/**控制台相关的控制数据*/
import ajax from '@/api/boe/boeApiAjax.js'
/**
* 添加编辑接口
* @param {
{
"teacher_user_id":"",// 教师对应的用户的id
"teacher_id":"", // 教师id ,有则编辑,没有则新建教师
"teacher_type":"", // 教师类型0内部讲师1外聘讲师2助教
"teacher_name":"", // 教师名称
"teacher_thumb_url":"", // 头像地址
"description":"", // 介绍
"teacher_system_id":"", // 体系id
"teacher_system":"", // 体系名称
"default_teaching_time":"", //初始授课时长
"teacher_level_id":"", // 讲师级别id
"teacher_level":"", // 讲师级别名称
"is_certify":"", //是否认证 0:未认证 1:已认证)
"certification":"", //认证资料图片地址
"remark":"", // 备注
"email":"", // 邮件(外部讲师填写)
"mobile_no":"" // 手机号码(外部讲师填写)
}
* } data 查询条件
*/
const editTeacher = function(data) {
return ajax.postJson('/b1/system/teacher/add-and-edit-teacher',data);
}
/**
* 教师体系和级别接口
* @param {
longin_user_id
* } data 查询条件
*/
const teacherSystem = function(id) {
return ajax.get('/b1/system/teacher/teacher-system?longin_user_id='+ id);
}
/**
* 教师详情查询接口
* @param {
teacher_id 教师id
* } data 查询条件
*/
const teacherInfo = function(data) {
return ajax.get('/b1/system/teacher/teacher-info',data);
}
/**
* 教师删除接口
* @param {
teacher_id 教师id
* } 查询条件
*/
const deleteTeacher = function(id) {
return ajax.get('/b1/system/teacher/delete-teacher?teacher_id='+id);
}
/**
* 教师启用禁用接口
* @param {
teacher_id
status 状态0临时1正式2停用
* } 查询条件
*/
const updateStatus = function(data) {
return ajax.postJson('/b1/system/teacher/update-status',data);
}
export default {
editTeacher,
teacherSystem,
teacherInfo,
deleteTeacher,
updateStatus
}

25
src/api/console.js Normal file
View File

@@ -0,0 +1,25 @@
/**控制台相关的控制数据*/
import ajax from '@/utils/xajax.js'
/**
* 初始化门户信息
*/
const initData = function() {
return ajax.get('/xboe/portal/init');
}
//获取router菜单
const getRouters = function() {
return ajax.post('/xboe/portal/console/routers', data);
}
const getAppRouters = function(orgId) {
const data = { orgId }
return ajax.post('/xboe/portal/console/approuters', data);
}
export default {
initData,
getRouters,
getAppRouters
}

9
src/api/dictionary.js Normal file
View File

@@ -0,0 +1,9 @@
import ajax from '@/utils/xajax.js'
const items=function(dict) {
return ajax.get('/xboe/standard/dictionary/items/'+dict);
}
export default{
items
}

83
src/api/district.js Normal file

File diff suppressed because one or more lines are too long

44
src/api/login.js Normal file
View File

@@ -0,0 +1,44 @@
import ajax from '@/utils/xajax.js'
/**
* 账号的登录,退出
*/
//用户的账号登录
const login=function(loginName, password, code, key) {
const data = {
loginName,
password,
code,
key
}
return ajax.post('/xboe/account/login',data);
}
// 退出方法
const logout =function() {
return ajax.get('/xboe/account/logout');
}
// 验证码
const captcha =function() {
return ajax.get('/xboe/account/captcha');
}
// 刷新token
const refreshToken = function(token){
return ajax.post('/xboe/account/refreshtoken',{token:token});
}
// boe登录
const boeLogin = function(token){
return ajax.post('/xboe/account/boelogin',{token:token});
}
export default{
login,
logout,
captcha,
refreshToken,
boeLogin
}

138
src/api/modules/article.js Normal file
View File

@@ -0,0 +1,138 @@
/**文章模块的相关处理*/
import ajax from '@/utils/xajax.js'
/**
* 文章列表,不分页查询,门户查询
* @param {Object} num
* @param {Object} type 1表最新2表最热3表推荐
*/
const portalList = function(num, type) {
return ajax.get(`/xboe/m/article/list?num=${num}&type=${type}`);
}
/*
文章列表,门户页面
@param{Objece} query 查询的json{pageIndex:1,pageSize:20,keyword:'',}
*/
const findPortal=function(query){
return ajax.post('/xboe/m/article/findPortal',query);
}
/**
* 分页查询 个人中心页面
* @param {Object} query 查询的json {pageIndex:1,pageSize:20,keyword:'',status:
enabled ture或者false 代表上架下架/
* **状态 1 表草稿2表已提交待审核3表审核不通过9表已发布}
*/
const portalPageList = function(query) {
return ajax.post('/xboe/m/article/page', query);
}
/**
* 分页查询我的文章
* {status,keyword,sysCreateAid
enabled ture或者false 代表上架下架
} 状态,关键词,用户id
*/
const myPageList = function(query) {
return ajax.post('/xboe/m/article/userlist', query);
}
/*
*文章排行榜
@param pageSize
*/
const usernameList=function(pageSize){
return ajax.get(`/xboe/m/article/article-username?pageSize=${pageSize}`);
}
/**
* 推荐设置
* @param {Array} ids
* @param {Boolean} flag
*/
const recommend = function(ids, flag) {
if (flag) {
return ajax.postJson('/xboe/m/article/recommend', ids);
} else {
return ajax.postJson('/xboe/m/article/recommend/cancel', ids);
}
}
/**
* 保存
* @param {Object} data
* title标题必填
* content内容必填
* coverurl封面图的地址上传后返回的存储地址 ,可以为空
* summary摘要 非必填
* keyword关键字 非必填
* source来源非必填
* status:1表草稿2表提交
*/
const save = function(data) {
return ajax.postJson('/xboe/m/article/save', data);
}
/**
* 更新
* @param {Object} data
* title标题必填
* content内容必填
* coverurl封面图的地址上传后返回的存储地址 ,可以为空
* summary摘要 非必填
* keyword关键字 非必填
*/
const update = function(data) {
return ajax.postJson('/xboe/m/article/update', data);
}
/**
* 得到文章的详细信息,
* @param {String} id
* @param {String} addView 是否增加浏览数
*/
const detail = function(id, addView) {
return ajax.get(`/xboe/m/article/detail?id=${id}&addView=${addView}`);
}
/**
* 删除文章,注意只能自己删除自己的文章
* @param {Object} id addView
*/
const del = function(id) {
return ajax.post('/xboe/m/article/delete?id='+id);
}
// 审核 id 文章id auditRemark审核意见 auditState审核状态
const savaAudit = function(id,auditRemark,auditState) {
return ajax.get(`/xboe/m/article/savaAudit?id=${id}&auditRemark=${auditRemark}&auditState=${auditState}`);
}
// 上架下架 id 文章id enabled 上级或下架 true 或false
const isEnabled = function(id,enabled) {
return ajax.get(`/xboe/m/article/isEnabled?id=${id}&enabled=${enabled}`);
}
/*
贡献排行榜
pageSize 你需要的条数
*/
const countsUsername=function(pageSize){
return ajax.get('/xboe/m/article/counts-username?pageSize='+pageSize);
}
export default {
portalList,
portalPageList,
// userPageList,
myPageList,
save,
update,
detail,
recommend,
del,
savaAudit,
isEnabled,
findPortal,
usernameList,
countsUsername
}

108
src/api/modules/cases.js Normal file
View File

@@ -0,0 +1,108 @@
/* 案例模块的相关处理*/
import ajax from '@/utils/xajax.js'
/**首页查询
* pageSize
* orderField
* orderAsc
*/
const indexList = function(query) {
return ajax.post('/xboe/m/boe/cases/case-random', query);
}
/*
*案例分页搜索查询 是否推荐
*@param(String) keyWord 关键词
*@param(String orderField 需要排序的字段 不传默认是最新
*@param (boolean) orderAsc 升序还是倒叙
*@param(Boolean) breCommend 是否推荐 true或者false
*@param(String) orgDomain 组织机构
*@param(String) majorType 专业分类
* @param(String) majorDomain 专业领域
*/
const queryList = function(query) {
return ajax.post('/xboe/m/boe/cases/queryList', query);
}
/* 案例分页搜索查询 是否置顶
*@param(String) keyWord 关键词
@param(Boolean) isTop 是否置顶 true或false
@param(String) orgDomain 组织机构
*@param(String) majorType 专业分类
* @param(String) majorDomain 专业领域
*/
const isTopList = function(query) {
return ajax.post('/xboe/m/boe/cases/isTopList', query);
}
/* 设置置顶 取消置顶
@param(String) id
@param(Integer) isTop 是否置顶 0未置顶1已置顶
*/
const updateTop = function(id, isTop) {
return ajax.get(`/xboe/m/boe/cases/updateTop?id=${id}&isTop=${isTop}`);
}
/* 删除案例
*param(String) id 案例的id
*/
const del = function(id) {
return ajax.get('/xboe/m/boe/cases/delete?id=' + id);
}
/*案例详情
@param(String) id 案例的id
@param(Boolean) addView 是否增加浏览量
*/
const detail = function(id,addView) {
let pars='id=' + id;
if(addView){
pars+='&addView='+addView
}
return ajax.get('/xboe/m/boe/cases/detail?'+pars);
}
/*推荐
*@param (String) id 案例的id
*@param (String) title 案例的标题
*@param (String) acceptAid 受众id
*@param (String) recommentThat 推荐说明
*/
const savaRecommend = function(data) {
return ajax.post('/xboe/m/boe/recommend/save', data);
}
/* 推荐列表
*没有参数
*/
const query = function() {
return ajax.get('/xboe/m/boe/recommend/query');
}
/*
*作者排行榜
@param pageSize 长度
*/
const usernameList= function(pageSize){
return ajax.get(`/xboe/m/boe/cases/usernamelist?pageSize=${pageSize}`);
}
/*
人气榜
@param pageSize 长度
*/
const queryPraises=function(pageSize){
return ajax.get(`/xboe/m/boe/cases/query-praises?pageSize=${pageSize}`);
}
/*
好评榜
@param pageSize 长度
*/
const queryComments=function(pageSize){
return ajax.get(`/xboe/m/boe/cases/query-comments?pageSize=${pageSize}`);
}
export default {
indexList,
queryList,
isTopList,
updateTop,
del,
detail,
savaRecommend,
query,
usernameList,
queryPraises,
queryComments
}

111
src/api/modules/comments.js Normal file
View File

@@ -0,0 +1,111 @@
/* 评论的相关处理*/
import ajax from '@/utils/xajax.js'
/*
查询评论
get post请求都可以
@param(Object) query
pageIndex页数,
pageSize每页展示多少行
type 评论类型 可以是课程,文章
id 对象id
clevel 一级评论或者二级回复
author 当前用户id
*/
const pageQuery=function(query){
return ajax.post('/xboe/m/comment/page',query);
}
/*
查询@我的
get post请求都可以
@param(Object) query
pageIndex页数
pageSize每页展示多少行
type 评论类型 可以是课程,文章
send 姓名
*/
const pagelist=function(query){
return ajax.post('/xboe/m/comment/tome/page',query);
}
/*设置已读
*@param id 当前回复或者评论id
*/
const isread=function(id){
return ajax.get(`/xboe/m/comment/isread?id=${id}`);
}
/*
保存评论
{Object }
*/
const add=function(data){
return ajax.postJson('/xboe/m/comment/add',data);
}
/* 修改评论
@param
id 当前评论id,
content,修改的内容
*/
const update=function(id,content){
return ajax.post(`/xboe/m/comment/update?id=${id}&content=${content}`);
}
/*
*param
*id,评论id
*user 当前账户id
*/
const del=function(id,user){
return ajax.del(`/xboe/m/comment/delete?id=${id}&user=${user}`);
}
/**
* 回复评论
* @param {Object} data
*/
const reply=function(data){
return ajax.postJson('/xboe/m/comment/reply',data);
}
/**
* 分页查询
* @param {Object} data
*/
const replyList=function(data){
return ajax.post('/xboe/m/comment/reply-page',data);
}
/**
* 用户的回复
* @param {Object} data
* {
num: 第个查询几条
ids: 多个使用逗号分隔评论的id,要查询的它的回复
type: 类型
}
*/
const userReplyList=function(data){
return ajax.post('/xboe/m/comment/user-reply-list',data);
}
/*
*param
*id,评论id
*user 当前账户id
pid:所属回复的id
*/
const delReply=function(data){
return ajax.post('/xboe/m/comment/delete-reply',data);
}
export default{
del,
update,
add,
pagelist,
pageQuery,
reply,
replyList,
userReplyList,
delReply
}

424
src/api/modules/course.js Normal file
View File

@@ -0,0 +1,424 @@
/**
* 课程的操作,课程的添加,修改,列表查询,课程的审核发布等操作。
* 针对于管理员,教师的功能
*
**/
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: 1PC端可见2移动端可见3多端可见
status: 1:未提交(草稿);2:已提交;
publishedtrue/false 是否发布
enabledtrue/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作业信息 单个对象{
courseIdcontentId上面对象的id后台会控制,name,content,file,deadTime,
submitMode:1表提交附件2直接填写3表两者都可以
}
exam考试信息 单个对象
{
courseIdcontentId上面对象的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 多条记录.
[
{ courseIdcontentId,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/manage/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应用场景多个使用 - 分隔
publishtrue/false 是否发布,空值或不传就是全部
aid创建人 aid
sysCreateUser: 创建人姓名
keyword查询关键词
sysTypes系统的分类多级使用 - 分隔,注一期功能是分类的最后一级值,不支持多个的查询
orderField排序字段 id s
orderAsctrue/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);
}
/**
* 设置top
* @param {Object} query {ids:课程id,多个使用逗号分隔,title:课程的名称, Boolean top 是否置顶}
*/
const setTop = function(data) {
return ajax.post('/xboe/m/course/manage/top', 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);
}
/*
教师授课记录
*/
const teacherCourse=function(teacherId){
return ajax.get('/xboe/m/course/manage/teacher-course?teacherId='+teacherId);
}
/*
教师授课记录导出
@param teacherId 教师id
*/
const exportTeacherCourse=function(teacherId){
return ajax.post('/xboe/m/course/manage/export-teacher-course?teacherId='+teacherId)
}
/*
*待审核课程记录导出
* resOwner1:资源归属一级的id
resOwner2:资源归属二级的id
resOwner3:资源归属三级的id
types授课方式多个使用 - 分隔
scenes应用场景多个使用 - 分隔
publishtrue/false 是否发布,空值或不传就是全部
aid创建人 aid
sysCreateUser: 创建人姓名
keyword查询关键词
sysTypes系统的分类多级使用 - 分隔,注一期功能是分类的最后一级值,不支持多个的查询
orderField排序字段 id s
orderAsctrue/false 是否是正序,从小到大
status状态,多个使用 - 分隔 1代表待审核 5代表已审核 1 未提交 2 已提交 5 审核完成
type课程类型10微课21在线课(直播)20:在线课( 录播)30:面授课40:混合式,
name 课程名称
*/
const exportCourseAudit=function(query){
return ajax.post('/xboe/m/course/manage/exportCourseAudit',query);
}
/*
参数同上待审核课程记录导出
课程的导出和已审核的课程导出
*/
const exportCourse=function(query){
return ajax.post('/xboe/m/course/manage/exportCourse',query);
}
//判断受众id是否有关联
const queryCrowd=function(query){
return ajax.postJson('/xboe/m/course/manage/queryCrowd',query);
}
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,
teacherCourse,
exportTeacherCourse,
exportCourseAudit,
exportCourse,
queryCrowd
}

View File

@@ -0,0 +1,91 @@
/**
* 课件文件内容的相关处理,当前只是业务管理员和教师功能使用<br/>
* 下载课件,一期是直接在新的窗口打开文件的地址就可以了。不采用流的方式下载
*/
import ajax from '@/utils/xajax.js'
/**
* 分页查询,课件的管理列表
* @param {Object} data
* {
name:查询的名称的关键字
self:true/false,默认是true,是否只查询自己上传的课件
resOwner1:资源归属一级的id
resOwner2:资源归属二级的id
resOwner3:资源归属三级的id
resType: 文件类型,10视频20音频30图片 40 文档41表图文50表scrom包,90表其它
}
*/
const pageList = function(data) {
return ajax.post('/xboe/m/course/file/pagelist', data);
}
/**
* 选择课件的查询,这里也是分页查询,只是返回的内容,字段会很少,用于课件制作那选择已有课件内容。
*
* @param {Object} data
* 查询参数如上面pageList方法
*/
const findList = function(data) {
//一期返回内容就对象,之后优化只是返回需要的几字段,不是全部
return ajax.post('/xboe/m/course/file/pagelist', data);
}
/**
* 上传保存,上传课件成功后,再调用此接口,保存上传的文件信息。
* 接口返回课件记录json对象,直接追加到列表中。
* @param {Object} data
* {
fileName:上传文件的名称
fileType: 文件的后缀名,比如:.mp4
filePath: 文件的保存路径
resOwner1:资源归属一级的id
resOwner2:资源归属二级的id
resOwner3:资源归属三级的id
resType: 文件类型,10视频20音频30图片 40 文档50表图文60表scrom包,90表其它
remark: 备注说明,可以为空,不填
}
*/
const saveUpload = function(data) {
return ajax.post('/xboe/m/course/file/upload/save', data);
}
/**
* 批量更新,上传时,一个一个上传,下面的列表的保存,使用此方法
* @param {Object} data list集合
*saveUpload方法返回的对象
*/
const batchUpdate = function(data) {
return ajax.postJson('/xboe/m/course/file/batch/update', data);
}
/**
* 删除一个课件文件
* @param {Object} data
* {
id:删除记录的id,
filePath: 文件的路径
flag: true/false, 是否是物理删除,在上传那是物理删除,在列表中是逻辑删除
}
*/
const delFile = function(data) {
return ajax.post('/xboe/m/course/file/delete', data);
}
/**
* 根据id获取详细信息用于显示课件内容时播放时
* @param {Object} id
*/
const detail = function(id) {
return ajax.get('/xboe/m/course/file/detail?id='+id);
}
export default {
pageList,
saveUpload,
batchUpdate,
detail,
delFile
}

View File

@@ -0,0 +1,22 @@
/* 评分的相关处理*/
import ajax from '@/utils/xajax.js'
/*评分
@param courseId 课程id
@param score 分数
@studyId 学习id
*/
const grade=function(query){
return ajax.post('/xboe/m/grade/grade',query);
}
/*查看当前用户是否评分
@param courseId 课程id
*/
const has=function(id){
return ajax.get(`/xboe/m/grade/has?courseId=${id}`);
}
export default{
grade,
has
}

View File

@@ -0,0 +1,90 @@
/**
* 门户上的课程相关的操作,主要是查询
*
**/
import ajax from '@/utils/xajax.js'
/**
* 查询指定条数的课程,用于首页提取
* @param {Object} query
* num多少条记录
* orderType排序方式1表最新3表最热
*/
const list = function(query) {
return ajax.post('/xboe/m/course/portal/list', query);
}
/**
* 列表查询
* @param {Object} query
* pageIndex:第几页
* pageSize:每页多少条
* resOwner1:资源归属一级的id
resOwner2:资源归属二级的id
resOwner3:资源归属三级的id
types授课方式多个使用 - 分隔
scenes应用场景多个使用 - 分隔
createUser创建人
keyword查询关键词
sysTypes系统的分类多级使用 - 分隔,注一期功能是分类的最后一级值,不支持多个的查询
orderField排序字段
orderAsctrue/false 是否是正序,从小到大
status状态,多个使用 - 分隔
topOrder:true,置顶排序
*/
const pageList = function(query) {
return ajax.post('/xboe/m/course/portal/pagelist', query);
}
/**
* 课程的详细信息
* @param {String} id
*/
const detail = function(id) {
return ajax.get('/xboe/m/course/portal/detail?id=' + id);
}
/**
* 人气排行榜
* @param {Object} data
* {
type1表最新2表最热
time1表周2表月3表年
}
*/
const ranking = function(data) {
return ajax.post('/xboe/m/course/portal/ranking',data);
}
/*
评分榜
@param num 要几条传几条 不传默认五条
*/
const scorelist=function(num){
return ajax.get(`/xboe/m/course/portal/score-list?num=${num}`);
}
/**
* 按课程IDs获取教师
* @param {课程IDs} ids
* @returns
*/
const getTeacherByCourseIDs = function(ids){
return ajax.postJson('/xboe/m/course/portal/query-teacher', ids);
}
/*
@param num 需要展示条数,不传默认为三条
*/
const studyCounts=function(num){
return ajax.get('/xboe/school/study/course/studyCounts?num='+num);
}
export default {
list,
pageList,
detail,
ranking,
scorelist,
getTeacherByCourseIDs,
studyCounts
}

View File

@@ -0,0 +1,377 @@
/**
* 课程学习的相关处理接口
*
**/
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);
}
/**
* 统计报名人数
* @param {Object} courseId 课程 的id
*/
const countSignup = function(courseId) {
return ajax.post('/xboe/school/study/signup/count-by-course',{courseId});
}
/**
* 课程学习根据课程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) {
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课程类型对应微课录播课
startTime 开始学习时间
isFinish true,false
}
*/
const myStudyList = function(query) {
return ajax.post('/xboe/school/study/course/mylist',query);
}
/**
* 当前课程学习记录
* @param {Object} query
* {
courseId 课程id
status:1未开始2学习中9已学完
courseName课程名称关键字查询模糊查询
courseType课程类型对应微课录播课
startTime 开始学习时间
isFinish true,false
}
*/
const myCourseStudy = function(query) {
return ajax.post('/xboe/school/study/course/course-users',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}`);
}
export default {
hasSignup,
signup,
findSignup,
deleteSignup,
importSignup,
countSignup,
studyInfo,
studyVideoTime,
lastStudy,
studyContent,
appendStudyTime,
studyRecords,
studyContentRecords,
getStudyContentItem,
studyExport,
myStudyList,
saveHomework,
saveExam,
saveAssess,
myHomework,
myExamPaper,
myAssess,
myHomeworkList,
myExamList,
myAssessList,
myExamList2,
myCourseStudy,
deleteSignUp
}

View File

@@ -0,0 +1,35 @@
/**
* 课程修改信息的相关接口
*
**/
import ajax from '@/utils/xajax.js'
/*
@param pageIndex 页数
@param pageSize 条数
startTime endTime 开始时间结束时间 暂时不传,以后拓展
*/
const pageList=function(query){
return ajax.post('/xboe/m/course/log/pageList',query);
}
/*
@param num 条数 默认不传是十条
startTime endTime 开始时间结束时间,暂时不传
*/
const list=function(query){
return ajax.post('/xboe/m/course/log/list',query);
}
/*
@param courseId 课程id
@param beforeData 修改前
@param afterData 修改后
*/
const save=function(data){
return ajax.postJson('/xboe/m/course/log/save',data);
}
export default{
pageList,
list,
save
}

47
src/api/modules/dict.js Normal file
View File

@@ -0,0 +1,47 @@
import ajax from '@/utils/xajax.js'
//param key 字典后缀名
// 案例的组织机构字典 org_domain
//案例的内容分类字段 major_type
// 传对应key查出对应值
const items=function(key){
return ajax.get('/xboe/m/dictionary/items?key='+key);
}
// 修改
//@param key 对应字段后缀
//
// 案例的组织机构字典 org_domain key
//案例的内容分类字段 major_type key
// @param code
// @param name
// @param filter
// @param group
// @param explanation
// @param norder
// @param deletable
// @param deleted
//
const update=function(data){
return ajax.post('/xboe/m/dictionary/update',data);
}
const save=function(data){
return ajax.post('/xboe/m/dictionary/save',data);
}
const del=function(key,id){
return ajax.get(`/xboe/m/dictionary/delete?key=${key}&&id=${id}`);
}
const findAll=function(){
return ajax.get('/xboe/m/dictionary/findAll');
}
export default{
items,
update,
del,
save,
findAll
}

View File

@@ -0,0 +1,39 @@
import ajax from '@/utils/xajax.js'
/**
* testId
* testName
* groupId
* groupName
* duration
* startTime
* endTime
* @param {*} data
*/
const pushExecute = function(data) {
return ajax.post('/xboe/m/exam/task/execute',data);
}
/**
* 分页查询独立考试任务,用于当前用户自己的查询
* @param {*} data
*/
const myList = function(data) {
return ajax.post('/xboe/m/exam/alone//user/pagelist',data);
}
/**
* 获取最后一次的考试信息
* @param {考试id} examId
*/
const getLast = function(examId){
return ajax.get('/xboe/m/exam/alone/user/last?testId='+examId);
}
export default {
pushExecute,
myList,
getLast
}

View File

@@ -0,0 +1,101 @@
/**
* 试题
*/
import ajax from '@/utils/xajax.js'
/**
* 分页查询
* @param {
* pageIndex 起始页
* pageSize 每页条数
* title 题干
* type 类型
* resSysId 资源归属
* } query
* @returns
*/
const page = function(query) {
return ajax.post('/xboe/m/exam/question/page', query);
}
/**
* 保存
* @param {
* title 题干
* type 类型
* resSysId 资源归属
* difficulty 难度
* defaultScore 默认分
* analysis 解析
* answer 答案
* optionList:[
* {options 选项
* content 选项内容
* isAnswer 是否正确答案 0表不是 1表是
* score 分值}
* ]
* } data
* @returns
*/
const save = function(data) {
return ajax.postJson('/xboe/m/exam/question/save', data);
}
/**
* 修改
* @param {
* id 试题ID
* title 题干
* type 类型
* resSysId 资源归属
* difficulty 难度
* defaultScore 默认分
* analysis 解析
* answer 答案
* optionList:[
* {options 选项
* content 选项内容
* isAnswer 是否正确答案 0表不是 1表是
* score 分值}
* ]
* } data
* @returns
*/
const update = function(data) {
return ajax.postJson('/xboe/m/exam/question/update', data);
}
/**
* 删除
* @param {试题ID} id
* @returns
*/
const del = function(id) {
return ajax.del('/xboe/exam/m/question/delete?id=' + id);
}
/**
* 详情
* @param {试题ID} id
* @returns
*/
const detail = function(id) {
return ajax.get('/xboe/exam/question/detail?id=' + id);
}
/*
file excel 文件
导入选择题
*/
const import = function(file) {
return ajax.post('/xboe/exam/question/import,file);
}
export default {
page,
save,
update,
del,
detail,
import
}

View File

@@ -0,0 +1,111 @@
/* 收藏的相关处理*/
import ajax from '@/utils/xajax.js'
/*查询收藏
getpost请求都可以
pageIndex 页数
pageSize 每页展示条数
查询条件暂时未确定,后续补充
*/
const querylist=function(query){
return ajax.post('/xboe/m/favorite/mylist',query);
}
/**
* 分页查询 收藏的问答信息
* @param {Object} query
* {
resolve是否已解决如果不查就不要传或传null值
keyword对应关键字查询
}
*/
const qaPageList=function(query){
return ajax.post('/xboe/m/favorite/myqalist',query);
}
/*分页查询 收藏的案例信息
* @param {Object} query
@param Integer type 根据什么类型搜索,这块暂时可以不传
@param pageIndex 第几页 pageSize 每页展示多少行
keyword对应关键字查询
*/
const casePageList=function(query){
return ajax.post('/xboe/m/favorite/mycaselist',query);
}
/*分页查询 收藏的文章信息
*@param {Object} query
@param Integer type 根据什么类型搜索,这块暂时不传
@param pageIndex 第几页 pageSize 每页展示多少行
keyword对应关键字查询
*/
const articlePageList=function(query){
return ajax.post('/xboe/m/favorite/myarticlelist',query);
}
/*分页查询 收藏的课程信息
@param {Object} query
@param Integer type 根据什么类型搜索,暂时不传
@param pageIndex 第几页 pageSize 每页展示多少行
keyword对应关键字查询
*/
const coursePageList=function(query){
return ajax.post('/xboe/m/favorite/mycourselist',query);
}
/*添加
* objType 点赞对象类型, 1课程 2文章,3案例, 4问答
objId 对象id
title 标题
*/
const save=function(data){
return ajax.post('/xboe/m/favorite/add',data);
}
/*移除收藏
*objType点赞对象类型 1课程 2文章,3案例, 4问答
*objId,点赞对象id
*/
const remove=function(objType,objId){
return ajax.del(`/xboe/m/favorite/remove?objType=${objType}&objId=${objId}`);
}
/*删除收藏
*id 收藏id
*/
const del=function(id){
return ajax.del(`/xboe/m/favorite/delete?id=${id}`)
}
//查询当前用户是否已收藏
// objType 类型 1课程 2文章,3案例, 4问答
// objId 对象id
const has=function(objType,objId){
return ajax.post(`/xboe/m/favorite/has?objType=${objType}&objId=${objId}`);
}
/*
我的收藏 全部 旧
@param pageIndex 第几页
@param pageSize 每页展示多少行
@param keyword 关键字
*/
const findAll=function(query){
return ajax.post('/xboe/m/favorite/findAll',query);
}
/*
我的收藏 全部
@param pageIndex 第几页
@param pageSize 每页行数
@param keyword 关键字
*/
const queryAll=function(query){
return ajax.post('/xboe/m/favorite/queryAll',query);
}
export default{
has,
remove,
del,
save,
querylist,
qaPageList,
casePageList,
articlePageList,
coursePageList,
findAll,
queryAll
}

View File

@@ -0,0 +1,59 @@
/**问题反馈*/
import ajax from '@/utils/xajax.js'
/**
* 分页查询
* @param {
* pageIndex 起始页
* pageSize 每页条数
* replyBy 回复人
* isReply 是否回复 1是0否
* sysCreateTimeStart 开始时间 yyyy-MM-dd
* sysCreateTimeEnd 结束时间 yyyy-MM-dd
* } query
* @returns
*/
const list=function(query) {
return ajax.post('/xboe/feedback/page',query);
}
/**
* 反馈详情
* @param {反馈ID} id
* @returns
*/
const detail=function(id) {
return ajax.post('/xboe/feedback/get?id='+id);
}
/**
* 保存
* @param {
* type 类型
* content 内容
* } data
* @returns
*/
const save=function(data) {
return ajax.post('/xboe/feedback/save',data);
}
/**
* 回复
* @param {
* id 反馈ID
* replyContent 回复内容
* } data
* @returns
*/
const reply=function(data) {
return ajax.post('/xboe/feedback/reply',data);
}
export default{
list,
detail,
save,
reply
}

View File

@@ -0,0 +1,87 @@
import ajax from '@/utils/xajax.js'
/**
* @param {文件夹} folder
*/
const list = function (folder) {
return ajax.post('/api/m/xfile/base/all/list', {folder});
}
const findByName = function (name) {
return ajax.post('/api/m/xfile/base/all/find', {name});
}
/**
* 文件夹树
*/
const folderTree = function () {
return ajax.get('/api/m/xfile/base/folder/tree');
}
/**
* 创建文件夹
* @param {*} data
*/
const folderCreate = function (data) {
return ajax.post('/api/m/xfile/base/folder/create',data);
}
/**
* 重命名
* @param {*} id
* @param {*} name
*/
const folderRename = function (id,name) {
return ajax.post('/api/m/xfile/base/folder/rename',{id,name});
}
/**
* 删除文件夹
* @param {*} id
*/
const folderDelete = function (id) {
return ajax.del('/api/m/xfile/base/folder/delete?id='+id);
}
/**
* 文章分页查询
* @param {*} data
*/
const filePageList = function (data) {
return ajax.post('/api/m/xfile/base/file/pagelist',data);
}
const fileRename = function (id,name) {
return ajax.post('/api/m/xfile/base/file/rename',{id,name});
}
const fileDelete = function (id,path) {
return ajax.post('/api/m/xfile/base/file/delete',{id,path});
}
const fileMove = function (id,folderId) {
return ajax.post('/api/m/xfile/base/file/rename',{id,folderId});
}
const fileDetail = function (id) {
return ajax.get('/api/m/xfile/base/file/detail?id='+id);
}
const fileSetDelete = function (id) {
return ajax.del('/api/m/xfile/base/file/setdelete?id='+id);
}
export default {
list,
folderTree,
folderCreate,
folderRename,
folderDelete,
filePageList,
fileRename,
fileDelete,
fileMove,
fileDetail,
fileSetDelete,
findByName
}

85
src/api/modules/paper.js Normal file
View File

@@ -0,0 +1,85 @@
// 试卷
import ajax from '@/utils/xajax.js'
// 分页查询,资源归属,试题模式,关键词查询
// pageIndex 第几页
// pageSize 一页展示多少行
//参数:// ownership22级资源归属
// ownership11级资源归属
// ownership33级资源归属paperMode(试卷模式)keyWord(关键词)
const querylist = function(query) {
return ajax.post('/xboe/m/exam/paper/querylist', query);
}
// 添加
// ownership22级资源归属
// ownership11级资源归属
// ownership33级资源归属testName(试卷名称),paperType试卷分类
// paperContent(试卷内容) remark 备注 difficulty难度
const save = function(data) {
return ajax.postJson('/xboe/m/exam/paper/save', data);
}
// 删除
// id 试卷id
const del = function(id) {
return ajax.get('/xboe/m/exam/paper/delete?id=' + id);
}
// 编辑
//当前id// ownership22级资源归属
// ownership11级资源归属
// ownership33级资源归属testName(试卷名称),paperType试卷分类
// paperContent(试卷内容) remark 备注 difficulty难度
const update = function(data) {
return ajax.postJson('/xboe/m/exam/paper/update', data);
}
/* 编辑详情 */
const detail = function(id) {
return ajax.get('/xboe/m/exam/paper/query?id=' + id);
}
/* 试卷批量导入计算
* num 数目
* score 总分
* diff1 容易的试题数量
* diff2 中等的试题数量
* diff3 困难的试题数量
* type1 单选的试题数量
* type2 单选的试题数量
* type3 单选的试题数量
*/
const batchImportCount = function(data) {
return ajax.postJson('/xboe/m/exam/paper/batch-count', data);
}
/**
* 根据生成的试题的id查询所有的试题
* @param {试题的集合array} ids
*/
const batchImportData = function(ids) {
return ajax.postJson('/xboe/m/exam/paper/batch-count', ids);
}
/**
* 查询试卷
* @param {pageSize,name} data
*/
const querypaper = function(data) {
return ajax.post('/xboe/m/exam/paper/queryPaper',data);
}
/**
* 返回试卷的json内容字符串
* @param {Object} id
*/
const getPaperContent = function(id) {
return ajax.get('/xboe/m/exam/paper/paper-content?id=' + id);
}
export default {
detail,
update,
del,
save,
querylist,
querypaper,
getPaperContent,
batchImportCount,
batchImportData
}

View File

@@ -0,0 +1,29 @@
/* 点赞的相关处理*/
import ajax from '@/utils/xajax.js'
/*点赞
* objType点赞对象类型 1课程 2文章,3案例, 4问答
* objId 点赞对象id
* title 点赞对象标题
*
*/
const save=function(data){
return ajax.post('/xboe/m/praise/add',data);
}
// 是否已经点赞
// objType点赞对象类型 1课程 2文章,3案例, 4问答
// objId 点赞对象id
const has=function(objType,objId){
return ajax.post(`/xboe/m/praise/has?objType=${objType}&objId=${objId}`)
}
//取消点赞
// objType点赞对象类型 1课程 2文章,3案例, 4问答
// objId 点赞对象id
const remove=function(objType,objId){
return ajax.post(`/xboe/m/praise/remove?objType=${objType}&objId=${objId}`)
}
export default{
save,
remove,
has
}

View File

@@ -0,0 +1,36 @@
import ajax from '@/utils/xajax.js'
//查看当前协议
//type 查看的类型
const query = function(type){
return ajax.get('/xboe/m/assistance/protocol/query?type='+type);
}
//添加协议
const save = function(date){
return ajax.postJson('/xboe/m/assistance/protocol/save',date);
}
//修改协议
const update = function(date){
return ajax.postJson('/xboe/m/assistance/protocol/update',date);
}
//删除协议
const del = function(type){
return ajax.get('/xboe/m/assistance/protocol/dalete?type='+type);
}
//查询全部
//@ type 类型,可以不传
const list = function(type){
return ajax.get('/xboe/m/assistance/protocol/list?type='+type);
}
export default{
query,
save,
update,
del,
list
}

View File

@@ -0,0 +1,58 @@
import ajax from '@/utils/xajax.js'
/**
* 查询已有记录
* @param objId 对象的id
*/
const getHas = function(objId) {
return ajax.get('/xboe/push/user/record/has?objId=' + objId);
}
/**
* testId
* testName
* groupId
* groupName
* @param {*} data
*/
const pushExecute = function(data) {
return ajax.post('/xboe/m/exam/task/execute',data);
}
/**
* 提取推送记录
* @param {考试id} objId
*/
const pushList = function(objId) {
return ajax.post('/xboe/m/exam/task/list',{testId:objId});
}
/**
* 分页查询
* @param {
aid:用户的id , 可以不传
objId: 对象的id
objType: int 对象的类型 1考试
} data
*/
const findRecords = function(data) {
return ajax.post('/xboe/push/user/record/pagelist',data);
}
/**
* 查询我的记录,分页查询,和上面一致
* @param {} data
*/
const myRecords = function(data) {
return ajax.post('/xboe/push/user/record/mylist',data);
}
export default {
getHas,
findRecords,
pushExecute,
pushList,
myRecords
}

214
src/api/modules/qa.js Normal file
View File

@@ -0,0 +1,214 @@
/**消息处理*/
import ajax from '@/utils/xajax.js'
/**首页查询
* pageSize
* orderField
* orderAsc
*/
const indexList=function(query) {
return ajax.post('/xboe/m/qa/question/query-random',query);
}
// 问答分页,关键词搜索,已解决和待解决列表
//pageIndex,pageSize,keyWord(关键词)isResolve(待解决和已解决false,true),
//isEssence(是否是精华问题,true或者false,),orderField 排序字段,前端给什么字段,根据什么字段查询
//排序顺序 orderAsc(顺序或者倒叙),true顺序
//
const pageList=function(query) {
return ajax.post('/xboe/m/qa/question/pagelist',query);
}
//搞定
/**
* 问题排行榜
* @param {Object} pageSize 需要几条数据
*/
const queryList=function(pageSize) {
return ajax.get(`/xboe/m/qa/question/querylist?pageSize=${pageSize}`);
}
/**
* 获取问题详细信息
* @param {Object} id 问题的id
* @param(Boolean) addView 是否增加浏览量
*/
const detail=function(id,addView) {
let pars='id=' + id;
if(addView){
pars+='&addView='+addView
}
return ajax.get('/xboe/m/qa/question/detail?'+pars);
}
//搞定
/**
*删除问题
*@param {Object} id 问题id
*/
const del=function(id) {
return ajax.get('/xboe/m/qa/question/delete?id='+id);
}
/**
* 添加问题
* {title:'',content:''de,images:'多个逗号分隔'}
* @param {Object} data
*/
const save=function(data) {
return ajax.post('/xboe/m/qa/question/save',data);
}
/**
* 设置精华
* ids 数组
* isEssence 布尔
* @param {Object} data
*/
const isEssence=function(data){
return ajax.postJson('/xboe/m/qa/question/isEssence',data);
}
/**
* 添加答案
* {answercontent'',答案的内容}
* @param {Object} data
*/
const saveAnswer=function(data) {
return ajax.postJson('/xboe/m/qa/answer/save',data);
}
/**
* 修改答案
* {content'',答案的内容}
* @param {Object} data
*/
const updateAnswer=function(data) {
return ajax.postJson('/xboe/m/qa/answer/update',data);
}
/**
* 获取回答详细信息
* @param {Object} id 问题的id
*/
const detailAnswer=function(id) {
return ajax.get('/xboe/m/qa/answer/detail?id='+id);
}
/**
*删除答案
*@param {Object} id 问题id
*/
const delAnswer=function(id) {
return ajax.get('/xboe/m/qa/answer/delete?id='+id);
}
/**
* 与问题对应的答案列表
* @param {Object} id 问题id
* @param {Object} pageSize 需要几条数据
*/
const answerList=function(query) {
return ajax.post('/xboe/m/qa/answer/answerList',query);
}
/*
*@param id 当前答案id
设置最佳
*/
const isBest=function(id){
return ajax.get('/xboe/m/qa/answer/isBest?id='+id);
}
/**
* 删除最佳
* @param {Object} id
*/
const cancelBest=function(id){
return ajax.get('/xboe/m/qa/answer/isBest?id='+id);
}
/*
判断是否是最佳回答,前端展示做判断用、
*/
const has=function(id){
return ajax.get('/xboe/m/qa/answer/has?id='+id);
}
/*
*审核
*@param id
*@param aduitRemark备注 aduitState审核状态
*/
const savaAudit=function(data){
return ajax.post('/xboe/m/qa/question/savaAudit',data);
}
/*
*
*@param pageIndex 页数 pageSize 一页展示多少行
keyWord 关键词 状态 我回答的
*/
const queryAnswer=function(query){
return ajax.post('/xboe/m/qa/question/query-answer',query);
}
/*
*
*@param pageIndex 页数 pageSize 一页展示多少行
keyWord 关键词 状态 我提问的
*/
const queryQuestion=function(query){
return ajax.post('/xboe/m/qa/question/query-question',query);
}
const potallist=function(query){
return ajax.post('/xboe/m/qa/question/potallist',query);
}
/*
编辑问答
{title:'',content:'',images:'多个逗号分隔'}
*/
const update=function(data){
return ajax.postJson('/xboe/m/qa/question/update',data);
}
/*
答案分页
@param pageIndex 页数
@param pageSize 每页展示条数
@param qid 问题id
@param keyword 关键词
@param orderType
*/
const page=function(query){
return ajax.post('/xboe/m/qa/answer/page',query);
}
/**
* 查询多个三级的回复
* @param {commentId的数组} query
*/
const replayClevel3=function(data){
return ajax.postJson('/xboe/m/qa/answer/list-clevel3',data);
}
/*
/**
* 添加答案
* {answercontent'',答案的内容}
* @param {Object} data
*/
const saveComment=function(data) {
return ajax.postJson('/xboe/m/qa/answer/save-comment',data);
}
export default{
indexList,
pageList,
detail,
save,
del,
queryList,
answerList,
saveAnswer,
updateAnswer,
delAnswer,
detailAnswer,
isBest,
cancelBest,
savaAudit,
isEssence,
queryAnswer,
queryQuestion,
potallist,
update,
page,
has,
saveComment,
replayClevel3
}

View File

@@ -0,0 +1,40 @@
// 试题
import ajax from '@/utils/xajax.js'
// 分页查询
// pageIndex 第几页
// pageSize 一页展示多少行
// type类型 title 题干 // ownership22级资源归属
// ownership11级资源归属
// ownership33级资源归属
const querylist = function(query) {
return ajax.post('/xboe/m/exam/question/page', query);
}
// 添加,参数给截图
const save = function(data) {
return ajax.postJson('/xboe/m/exam/question/save', data);
}
// 详情
// 参数 id
const detail = function(id) {
return ajax.get('/xboe/m/exam/question/detail?id=' + id);
}
// 修改 参数给截图
const update = function(data) {
return ajax.postJson('/xboe/m/exam/question/update', data);
}
// 删除 id
const del = function(id) {
return ajax.get('/xboe/m/exam/question/delete?id=' + id);
}
// 查所有试题
const query=function(){
return ajax.get('/xboe/m/exam/question/query');
}
export default {
detail,
update,
del,
save,
querylist,
query
}

View File

@@ -0,0 +1,31 @@
/**快捷入口*/
import ajax from '@/utils/xajax.js'
/**
* 分页查询
* @param {
* pageIndex 起始页
* pageSize 每页条数
* name 名称
* linkType 连接类型 1:url 2:图片3:视频
* type 类型 1、教师 2、学员
* } query
* @returns
*/
const list=function(query) {
return ajax.post('/xboe/quicklink/page',query);
}
/**
* 反馈详情
* @param {反馈ID} id
* @returns
*/
const detail=function(id) {
return ajax.post('/xboe/quicklink/get?id='+id);
}
export default{
list,
detail
}

View File

@@ -0,0 +1,26 @@
/**资源归属*/
import ajax from '@/utils/xajax.js'
/**
* 按体系目录提取全量树形结构数据
* 包含数据全
* @param {*} catalog 体系目录 1组织体系目录 2培训体系目录
*/
const tree = function(catalog) {
return ajax.get(`/xboe/resowner/tree-list?catalog=${catalog}&status=1`);
}
/**
* 按体系目录查询列表
* @param {*} parentId 上级ID 根目录为 -1,如果为空,就是查询全部了
* @param {*} catalog 体系目录 1组织体系目录 2培训体系目录
* @returns
*/
const list = function(catalog, parentId) {
return ajax.get(`/xboe/resowner/list?catalog=${catalog}&parentId=${parentId}`);
}
export default {
tree,
list
}

18
src/api/modules/scene.js Normal file
View File

@@ -0,0 +1,18 @@
/**
* 应用场景
*/
import ajax from '@/utils/xajax.js'
/**
* 按有效性查询列表
* @param resType 有效性 1课程2文章3案例4问答
* @returns
*/
const list = function(resType) {
return ajax.get('/xboe/scene/list?resType=' + resType);
}
export default {
list
}

View File

@@ -0,0 +1,24 @@
/**搜索词处理*/
import ajax from '@/utils/xajax.js'
/*
查看当前模块的热门搜索词
@param pageSize 查看几条
@param type 类型 1课程 2文章 3案例 4问答
默认按搜索次数高的排在前面
如果类型不传默认查所有
*/
const list=function(pageSize,type){
return ajax.get(`/xboe/m/searchterms/list?pageSize=${pageSize}&type=${type}`);
}
/*
添加热门搜索词
@param keyword 搜索词
@param type 类型 1课程 2文章 3案例 4问答
*/
const save=function(data){
return ajax.post('/xboe/m/searchterms/save',data);
}
export default{
list,
save
}

138
src/api/modules/shares.js Normal file
View File

@@ -0,0 +1,138 @@
/* 分享的相关处理*/
import ajax from '@/utils/xajax.js'
/*点赞
* objType点赞对象类型 1课程 2文章,3案例, 4问答
* objId 分享对象id
* content 分享内容
* addTime 分享名称
toAid 分享给人的id
toAname 分享给人的名称
*
*/
const save=function(data){
return ajax.post('/xboe/m/share/add',data);
}
// 删除分享
// 参数 id
const del=function(id){
return ajax.get(`/xboe/m/share/delete?id=${id}`);
}
//移除
const remove=function(objId,objType){
return ajax.get(`/xboe/m/share/remove?objId=${objId}&objType=${objType}`);
}
// 查看我的分享
// pageIndex 第几页
// pageSize 一页展示多少行
// objType点赞对象类型 1课程 2文章,3案例, 4问答
// * objId 分享对象id
// * keyword 分享内容
// * addTime 分享名称
// toAid 分享给人的id
// toAname 分享给人的名称
//
const querylist=function(query){
return ajax.post('/xboe/m/share/list',data);
}
// 当前用户是否已分享
// // objType点赞对象类型 1课程 2文章,3案例, 4问答
// * objId 分享对象id
const has=function(objType,objId){
return ajax.post(`/xboe/m/share/has?objType=${objType}&objId=${objId}`);
}
/*
分页查询 我分享的问答信息
@param {Object} query
@param isResolve 是否已解决 true或者false 如果不查就不要传或传null值
@param keyword 对应关键字查询
@param pageIndex 第几页,pageSize每页展示多少行
@param isRead 已查看未查看 true或者false
*/
const myqalist=function(query){
return ajax.post('/xboe/m/share/myQaList',query);
}
/*
分页查询 我分享的文章信息
@param {Object} query
@param type 查询的条件,暂时未确定
@param keyword 关键词搜索
@param pageIndex 第几页 pageSize 每页展示多少行
@param isRead 已查看未查看 true或者false
*/
const myarticlelist=function(query){
return ajax.post('/xboe/m/share/myArticleList',query);
}
/*分页查询 我分享的课程信息
@param {Object} query
@param type 查询的条件,暂时未确定
@param keyword 关键词搜索
@param pageIndex 第几页pageSize 每页展示多少行
@param isRead 已查看未查看 true或者false
*/
const mycourselist=function(query){
return ajax.post('/xboe/m/share/myCourseList',query);
}
/*分页查询 分享给我的问答
@param {Object} query
@isResolve 是否已解决 true或者false 如果不查就不要传或传null值
@param keyword 对应关键字查询
@param pageIndex 第几页,pageSize每页展示多少行
@param isRead 已查看未查看 true或者false
*/
const mymeqalist=function(query){
return ajax.post('/xboe/m/share/myMeQaList',query);
}
/*分页查询 分享给我的课程信息
@param {Object} query
@param type 查询的条件,暂时未确定
@param keyword 关键词搜索
@param pageIndex 第几页pageSize 每页展示多少行
@param isRead 已查看未查看 true或者false
*/
const mymecourselist=function(query){
return ajax.post('/xboe/m/share/myMeCourseList',query);
}
/*
分页查询 分享给我的文章
@param {Object} query
@param type 查询的条件,暂时未确定
@param keyword 关键词搜索
@param pageIndex 第几页 pageSize 每页展示多少行
@param isRead 已查看未查看 true或者false
*/
const mymearticlelist=function(query){
return ajax.post('/xboe/m/share/myMeArticleList',query);
}
/*
设置已读
@param id 分享id
*/
const updateIsRead=function(id){
return ajax.get(`/xboe/m/share/updateIsRead?id=${id}`);
}
/*
撤回分享
@param id 分享id
*/
const deleteshares=function(id){
return ajax.get(`/xboe/m/share/delete-shares?id=${id}`);
}
export default{
save,
has,
del,
remove,
querylist,
myqalist,
myarticlelist,
mycourselist,
mymeqalist,
mymecourselist,
mymearticlelist,
updateIsRead,
deleteshares
}

24
src/api/modules/survey.js Normal file
View File

@@ -0,0 +1,24 @@
/**问卷*/
import ajax from '@/utils/xajax.js'
// 问卷列表
const pageList=function(query) {
return ajax.post('/xboe/survey/pagelist',query);
}
//问卷内容
const detail=function(id) {
return ajax.get('/xboe/survey/detail?id='+id);
}
//问卷统计
const stat=function() {
return ajax.get('/xboe/survey/stat');
}
export default{
pageList,
detail,
stat
}

44
src/api/modules/tag.js Normal file
View File

@@ -0,0 +1,44 @@
/**
* 标签
*/
import ajax from '@/utils/xajax.js'
/**
* 根据名称查询,按开始字匹配
* @param {Object} sysResType 有效性 1课程2文章3案例4问答
* @param {Object} name 标签名
*/
const findByName = function(sysResType, name) {
return ajax.get('/xboe/tag/list?sysResType=' + sysResType + '&name=' + name);
}
/**
* 提取全量树形结构数据
* 包含数据全
* @param sysResType 有效性 1课程2文章3案例4问答
* @param tagType 1表系统标签2表自定义标签
*/
const tree = function(sysResType, tagType) {
return ajax.get(`/xboe/tag/tree-list?sysResType=${sysResType}&tagType=${tagType}`);
}
/**
* 按有效性查询列表
* @param {*} sysResType 有效性 1课程2文章3案例4问答
* @param {*} tagType 1表系统标签2表自定义标签
* @param {*} parentId 上级ID 根目录为 -1,如果为空,就是查询全部了
* @returns
*/
const list = function(sysResType, tagType, parentId) {
return ajax.get(`/xboe/tag/list?=${sysResType}&tagType=${tagType}&parentId=${parentId}`);
}
export default {
list,
findByName,
tree
}

190
src/api/modules/teacher.js Normal file
View File

@@ -0,0 +1,190 @@
import ajax from '@/utils/xajax.js'
/**
* 按名称查询
* @param name
*/
const findByName = function(name) {
return ajax.get('/xboe/teacher/name?name=' + name);
}
/**
* 根据id得到教师的显示信息只是几个基本的显示字段
* @param {Object} id
*/
const getInfoById = function(id) {
return ajax.get('/xboe/teacher/simple?id=' + id);
}
/**
* 分页查询
* @param {
* pageIndex 起始页
* pageSize 每页条数
* name 姓名
* } query
* @returns
*/
const page = function(query) {
return ajax.post('/xboe/teacher/page', query);
}
/**
* 保存
* 字段较多,大部分是通过查询方法返回的,除页面可修改项外其他字段不用处理
* @param {
* account:{
* id:'',//id
* sysId:'';//原系统中的id
* loginName:'';//登录名
* avatar:'';//用户头像地址
* mobile:'';//手机号
* email:'';//email
* nickName:'';//昵称
* companyId:'';//关联的公司id
* status:1;//状态1, 正常2停用
* },
* user:{
* id:'',//id
* sysId:'';//旧系统id
* sysDepartId:'';//旧系统机构id
* name:'';//姓名
* userNo:'';//员工编号
* gender:1;//性别 1:男 2
* birthday:'';//生日 yyyy-MM-dd
* idNumber:'';//身份证号
* mobileNo:'';//手机号
* homePhoneNo:'';//家庭电话
* nationality:'';//国籍
* graduatedFrom:'';//毕业院校
* graduatedMajor:'';//毕业专业
* highestEducation:'';//最高学历
* telephoneNo:'';//办公电话
* duty:'';//职务
* rank:'';//职级
* description:'';//描述
* companyId:'';//所在公司
* departId:''; //所在部门
* domainId:'';//所在域
* sassId:'';//扩展字段,多租户系统的标识值
* userType:2;//用户类型1表学员2表教师3表管理员
* studyTotal:'';//学习总时长
* online:1;//在线状态0离线1在线
* },
* id:'',
* sysId:'',//系统id
* name:'',//姓名
* departId:'',//所属机构
* gender:1,//性别 1:男 2
* idNumber:'',//身份证号
* birthday:'',//生日 yyyy-MM-dd
* mobile:'';//手机号
* email:'';
* homePhoneNo:'';//家庭电话
* personalLabel:'';//个人标签
* companyId:'';//所在公司
* domainId:'';//所在域
* operatingPost:'';//岗位
* superiorManager:'';//直线经理
* address:'';//位置
* description:'';//描述
* teaching:'';//授课时长
* waitStatus:0;//在职状态 在职: 0 离职: 1
* courses:'';//擅长课程
* } data
* @returns
*/
const save = function(data) {
return ajax.postJson('/xboe/teacher/save', data);
}
/**
*
* @param {aid,本地教师的id} id
* @param {teacherId->sysId : 原系统的id,接口返回} sysId
*/
const updateSysId = function(id,sysId) {
return ajax.postJson('/xboe/teacher/update-sysid',{id,sysId});
}
/**
* 修改
* @param {
* 同保存接口一样
* } data
* @returns
*/
const update = function(data) {
return ajax.postJson('/xboe/teacher/update', data);
}
/**
* 删除
* @param {
* 教师ID
* } id
* @returns
*/
const del = function(id) {
return ajax.post('/xboe/teacher/delete?id=' + id);
}
/**
* 详情
* @param {
* 教师ID
* } id
* @returns
*/
const detail = function(id) {
return ajax.get('/xboe/teacher/detail?id=' + id);
}
/*
判断当前用户身份是否是教师
@param id 教师id
*/
const has=function(id){
return ajax.get('/xboe/teacher/has?id=' + id);
}
/*
启用
*/
const start=function(id){
return ajax.get('/xboe/teacher/start?id='+id);
}
/*
停用
*/
const end=function(id){
return ajax.get('/xboe/teacher/end?id='+id);
}
/*
导出
* @param {
* ids 教师id数组
* name 姓名
* } query
* @returns
*/
const exports=function(query){
return ajax.post('/xboe/teacher/export',query);
}
export default {
findByName,
getInfoById,
page,
save,
update,
del,
detail,
findByName,
updateSysId,
has,
start,
end,
exports
}

55
src/api/modules/test.js Normal file
View File

@@ -0,0 +1,55 @@
// 考试管理
import ajax from '@/utils/xajax.js'
// 分页查询
// 参数 pageIndex 第几页
// pageSize 每页展示条数
// keyWord 关键字
// published true或者false
// // ownership22级资源归属
// ownership11级资源归属
// ownership33级资源归属
//
const querylist = function(query) {
return ajax.post('/xboe/m/exam/test/pageList', query);
}
// 新建考试
// 参数这块我给截图
const save = function(data) {
return ajax.postJson('/xboe/m/exam/test/save', data);
}
// 修改考试,参数和添加一样
const update = function(data) {
return ajax.postJson('/xboe/m/exam/test/update', data);
}
// 考试详情
// 参数 考试id
const detail = function(id) {
return ajax.get('/xboe/m/exam/test/detail?id=' + id);
}
// 删除
const del = function(id) {
return ajax.get('/xboe/m/exam/test/delete?id=' + id);
}
/**
* 发布考试
* @param {Object} id
* @param {Object} publish 如果不传就是true
*/
const pulish = function(id, publish) {
let flag = true;
if (!publish) {
flag = publish;
}
return ajax.post('/xboe/m/exam/test/publish?id=' + id + '&publish=' + flag);
}
export default {
detail,
update,
del,
save,
querylist,
pulish
}

View File

@@ -0,0 +1,103 @@
/**
* 独立考试处理
*/
import ajax from '@/utils/xajax.js'
/**
* 获取考试内容
* @param {考试的id} examId
*/
const getTestInfo = function(examId) {
return ajax.get('/xboe/m/exam/alone/test-info?examId='+examId);
}
/**
* 进入考试,开始考试
* @param {exam,task,last} data
*/
const getTestStart = function(data) {
return ajax.post('/xboe/m/exam/alone/test-start',data);
}
/**
* 分页查询答卷列表
* @param {*} data
* {
testId 考试 的id
aid 答卷人ID
name:答卷人
testName 考试名称
}
*/
const findAnswers = function(data) {
return ajax.post('/xboe/m/exam/alone/answer/pagelist', data);
}
/**
* 查询我的答卷记录
* @param {试卷的id} testId
*/
const myTestAnswers = function(testId) {
return ajax.post('/xboe/m/exam/alone/user/answers', {testId});
}
/**
* 获取答卷的详细信息
* @param {*} id
*/
const getAnswerDetail = function(id) {
return ajax.post('/xboe/m/exam/alone/answer/detail?id='+id);
}
/**
* 开始考试
* @param {
* testId 对应考试的id
* testName 考试名称
* testDuration 考试时长 分钟
* arrange 试题排列 1试题乱序2选项乱序3全部乱序
* passLine 及格线
* paperJson 试卷内容
* } data
* @returns
*/
const start = function(data) {
return ajax.postJson('/xboe/m/exam/alone/start', data);
}
/**
* 提交答案
* @param {
* id 单独的考试答卷信息id
* json 答案内容
* } data
* @returns
*/
const updateAnswer = function(data) {
return ajax.post('/xboe/m/exam/alone/update-answer', data);
}
/**
* 提交
* @param {
* id 单独的考试答卷信息id
* json 答案内容
* } data
* @returns
*/
const submit = function(data) {
return ajax.post('/xboe/m/exam/alone/submit', data);
}
export default {
getTestInfo,
getTestStart,
start,
updateAnswer,
submit,
findAnswers,
myTestAnswers,
getAnswerDetail
}

42
src/api/modules/tools.js Normal file
View File

@@ -0,0 +1,42 @@
/**百宝箱*/
import ajax from '@/utils/xajax.js'
/**
* 全量树形结构数据
* 包含数据全
*/
const tree = function () {
return ajax.get(`/xboe/tools/tree-list`);
}
/**
* 查询列表
* @param {
* toolsType 工具类型 1课程开发教程2开发工具下载3课程开发模板
* name 名称
* } query
* @returns
*/
const list=function(query) {
return ajax.get('/xboe/tools/list',{params:query});
}
/**
* 下载
* @param id
* @returns
*/
const download=function(id) {
let requestParam ={
url: '/xboe/tools/download?id='+id,
timeout: 0, // 下载不设置超时
responseType: 'blob', // 表明返回服务器返回的数据类型
}
return ajax.get(requestParam);
}
export default {
tree,
list,
download
}

View File

@@ -0,0 +1,42 @@
/* 踩的相关处理*/
import ajax from '@/utils/xajax.js'
/*
*踩赞记录分页
*@param pageIndex 第几页
*@param pageSize 长度
查询条件暂时未确定
*/
const page=function(query){
return ajax.post('/xboe/m/trample/page',query);
}
/*
*踩
@param id 目前是课程id
*/
const trample=function(id){
return ajax.get(`/xboe/m/trample/trample?id=${id}`);
}
/**
* 取消
* @param {Object} id
*/
const remove=function(id){
return ajax.get(`/xboe/m/trample/remove?id=${id}`);
}
/*
查询当前用户是否已踩
@param objId 目前课程id
*/
const has=function(id){
return ajax.get(`/xboe/m/trample/has?objId=${id}`);
}
export default{
page,
trample,
remove,
has
}

28
src/api/modules/type.js Normal file
View File

@@ -0,0 +1,28 @@
/**
* 分类
*/
import ajax from '@/utils/xajax.js'
/**
* 提取全量树形结构数据
* 包含数据全
* @param sysResType 有效性 1课程2文章3案例4问答
*/
const tree = function(sysResType) {
return ajax.get(`/xboe/type/tree-list?sysResType=${sysResType}&status=1`);
}
/**
* 按父ID查询列表
* @param sysResType 有效性 1课程2文章3案例4问答
* @param parentId 上级ID 根目录为 -1,如果为空,就是查询全部了
* @returns
*/
const list = function(sysResType, parentId) {
return ajax.get(`/xboe/type/list?sysResType=${sysResType}&parentId=${parentId}`);
}
export default {
tree,
list
}

View File

@@ -0,0 +1,143 @@
import ajax from '@/utils/xajax.js'
/**
* 分页查询
* @param {
* pageIndex 起始页
* pageSize 每页条数
* name 名称
* gtype 类型 1表普通受众2表自动受众
* status 状态 1表发布0表未发布
* } query
* @returns
*/
const list=function(query) {
return ajax.get('/xboe/usergroup/page',{params:query});
}
/**
* 按父节点ID查询机构列表适合构建动态机构树
* @param parentId 父节点ID 根目录为 -1
* @returns
*/
const userOrgs=function(parentId) {
return ajax.get('/xboe/sys/user/org/list-by-parent?parentId='+parentId);
}
/**
*
* @param {*} name
*/
const findByName=function(name) {
return ajax.get('/xboe/usergroup/find',{name});
}
/**
* 详情
* @param {受众ID} id
* @returns
*/
const detail=function(id) {
return ajax.get('/xboe/usergroup/detail?id='+id);
}
/**
* 保存
* @param {
* name:'';//名称 长50
* gtype:1;//类型 1表普通受众2表自动受众
* description:''; // 描述 长200
* filterJson:''; //过滤条件
* status:1; //状态 是否发布 1表发布0表未发布
* userGroupItems[
* {
* aid:'',//人员ID
* }
* ];// 受众人员信息
* } data
* @returns
*/
const save=function(data) {
return ajax.postJson('/xboe/usergroup/save',data);
}
/**
* 修改
* @param {
* id:'',//受众ID
* name:'';//名称 长50
* gtype:1;//类型 1表普通受众2表自动受众
* description:''; // 描述 长200
* filterJson:''; //过滤条件
* status:1; //状态 是否发布 1表发布0表未发布
* userGroupItems[
* {
* aid:'',//人员ID
* }
* ];// 受众人员信息
* } data
* @returns
*/
const update=function(data) {
return ajax.postJson('/xboe/usergroup/update',data);
}
/**
* 复制
* @param {
* name 复制后的名称
* id 需要复制的受众ID
* } data
* @returns
*/
const copy=function(data) {
return ajax.post('/xboe/usergroup/copy',data);
}
/**
* 发布
* @param {
* 1表发布0表未发布
* } status
* @param {
* 受众ID
* } id
* @returns
*/
const publish=function(status,id) {
let data = {};
data.status = status;
data.id = id;
return ajax.post('/xboe/usergroup/publish',data);
}
/**
* 删除
* @param {受众ID} id
* @returns
*/
const del=function(id) {
return ajax.post('/xboe/usergroup/delete?id='+id);
}
const downloadTemplate=function(){
let requestParam ={
url: '/xboe/usergroup/download',
timeout: 0, // 下载不设置超时
responseType: 'blob', // 表明返回服务器返回的数据类型
}
return ajax.get(requestParam);
}
export default{
list,
findByName,
detail,
save,
update,
copy,
publish,
del,
downloadTemplate,
userOrgs
}

View File

@@ -0,0 +1,36 @@
/**
* 课程视频学习的处理接口。
* 保存学习内容,更新学习内容进度,完成内容条目学习
*
*/
import ajax from '@/utils/xajax.js'
/**
* 保存课程内容条目学习
* @param {学习的内容} data
*/
const saveStudyItem=function(data){
return ajax.post('/xboe/school/study/course/study-video-save',data);
}
/**
* 更新学习条目的时间
* @param {itemId,videoTime} data
*/
const updateStudyItemTime=function(data){
return ajax.post('/xboe/school/study/course/study-video-time',data);
}
/**
* 完成单个课程内容的学习
* @param {itemId,studyId,courseId} data
*/
const finishStudyItem=function(data){
return ajax.post('/xboe/school/study/course/study-video-finish',data);
}
export default {
saveStudyItem,
updateStudyItemTime,
finishStudyItem
}

27
src/api/system/audit.js Normal file
View File

@@ -0,0 +1,27 @@
/* 审核 */
import ajax from '@/utils/xajax.js'
/*
审核记录
@param objType 类型 1课程2文章3案例4.问答
@param objId 对象id
*/
const page=function(objType,objId){
return ajax.get(`/xboe/log/audit/list?objType=${objType}&objId=${objId}`);
}
/*
审核分页查询
@param pageIndex 页数
@param pageSize 长度
@param objType 类型
@param name
@param start 开始时间
@param end 结束时间
*/
const pagelist=function(query){
return ajax.get('/xboe/log/audit/pagelist',{param:query});
}
export default{
page,
pagelist
}

52
src/api/system/message.js Normal file
View File

@@ -0,0 +1,52 @@
/* 消息的处理 */
import ajax from '@/utils/xajax.js'
/*
消息分页
@param pageIndex 第几页
@param pageSize 每页展示条数
@param isRead 是否已读
*/
const list=function(query){
return ajax.post('/xboe/sys/message/list',query);
}
/*
删除消息
@param ids 勾选的多个消息id
*/
const del=function(ids){
return ajax.postJson('/xboe/sys/message/delete',ids);
}
/*
查看当前消息详细信息
点击查看后如果是未读变成已读
@param id 当前消息id
*/
const detail=function(id){
return ajax.get('/xboe/sys/message/detail?id=${id}');
}
/*发送消息
*/
const save=function(data){
return ajax.postJson('/xboe/sys/message/save',data);
}
/*
当前未读条数 当前用户
*/
const isRead=function(){
return ajax.get('/xboe/sys/message/isRead');
}
/*
批量设置已读 ids
*/
const updateIsRead=function(ids){
return ajax.postJson('/xboe/sys/message/updateIsRead',ids)
}
export default{
list,
del,
detail,
save,
isRead,
updateIsRead
}

View File

@@ -0,0 +1,28 @@
import ajax from '@/utils/xajax.js'
/**
* 全量列表树,返回所有的机构树形数据,且机构数据项多
* @param {
* name 机构名称
* parentId 父节点ID
* } query
* @returns
*/
const treeList = function (query) {
return ajax.get('/xboe/org/tree-list', {params:query});
}
/**
* 按父节点ID查询机构列表适合构建动态机构树
* @param parentId 父节点ID 根目录为 -1
* @returns
*/
const listByParent = function (parentId) {
return ajax.get('/xboe/org/list-by-parent?parentId='+parentId);
}
export default {
treeList,
listByParent
}

72
src/api/system/user.js Normal file
View File

@@ -0,0 +1,72 @@
import ajax from '@/utils/xajax.js'
/**
* 分页查询
* @param {
* pageIndex 起始页
* pageSize 每页条数
* name 姓名
* userNo 工号
* departId 部门ID
* } query
* @returns
*/
const list=function(query) {
return ajax.get('/xboe/sys/user/page',{params:query});
}
/**
* 通过用户名查询用户信息(该接口限定使用场景为先查本地库后查旧系统)
* @param {
* 用户名
* } name
* @returns
*/
const searchLoginName = function(name) {
return ajax.get('/xboe/sys/user/search-loginname?loginName='+name);
}
/**
* 根据多个人员的id得到用户的信息简要信息
* @param {账号ID数组} ids
* @returns
*/
const getByIds = function(ids) {
return ajax.postJson('/xboe/sys/user/ids',ids);
}
/**
* 根据loginName得到用户的信息简要信息
* @param {用户名} loginName
* @returns
*/
const getByLoginName = function(loginName) {
return ajax.get('/xboe/sys/user/loginname?loginName='+loginName);
}
/**
* 根据name得到用户的信息简要信息
* @param {用户姓名} name
* @returns 返回列表
*/
const findByName = function(name) {
return ajax.get('/xboe/sys/user/name?name='+name);
}
/**
* 得到用户详情(详细信息)
* @param {*} id
* @returns
*/
const detail = function(id) {
return ajax.get('/xboe/sys/user/detail?id='+id);
}
export default{
list,
searchLoginName,
getByIds,
getByLoginName,
findByName,
detail
}

15
src/api/tools.js Normal file
View File

@@ -0,0 +1,15 @@
import ajax from '@/utils/xajax.js'
export function uploadImage(code,urlformat) {
var u=true;
if(urlformat){
u=urlformat;
}
return ajax.post('/xboe/sys/xuploader/file/upload',{url:u,size:150,code:code});
}
export function upload(file) {
return ajax.postForm('/xboe/sys/xuploader/file/upload',file,{timeout: 0})
}