@ -0,0 +1,3 @@ |
|||||||
|
> 1% |
||||||
|
last 2 versions |
||||||
|
not ie <= 8 |
@ -0,0 +1,22 @@ |
|||||||
|
.DS_Store |
||||||
|
node_modules |
||||||
|
/dist |
||||||
|
example.html |
||||||
|
favicon.ico |
||||||
|
# local env files |
||||||
|
.env.local |
||||||
|
.env.*.local |
||||||
|
|
||||||
|
# Log files |
||||||
|
npm-debug.log* |
||||||
|
yarn-debug.log* |
||||||
|
yarn-error.log* |
||||||
|
|
||||||
|
# Editor directories and files |
||||||
|
.idea |
||||||
|
.vscode |
||||||
|
*.suo |
||||||
|
*.ntvs* |
||||||
|
*.njsproj |
||||||
|
*.sln |
||||||
|
*.sw* |
@ -0,0 +1,6 @@ |
|||||||
|
{ |
||||||
|
"tabWidth": 4, |
||||||
|
"singleQuote": true, |
||||||
|
"trailingComma": "none", |
||||||
|
"printWidth": 140 |
||||||
|
} |
@ -0,0 +1,21 @@ |
|||||||
|
MIT License |
||||||
|
|
||||||
|
Copyright (c) 2016-2019 vue-manage-system |
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy |
||||||
|
of this software and associated documentation files (the "Software"), to deal |
||||||
|
in the Software without restriction, including without limitation the rights |
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
||||||
|
copies of the Software, and to permit persons to whom the Software is |
||||||
|
furnished to do so, subject to the following conditions: |
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all |
||||||
|
copies or substantial portions of the Software. |
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
||||||
|
SOFTWARE. |
@ -0,0 +1,5 @@ |
|||||||
|
module.exports = { |
||||||
|
presets: [ |
||||||
|
'@vue/app' |
||||||
|
] |
||||||
|
} |
@ -0,0 +1,41 @@ |
|||||||
|
{ |
||||||
|
"name": "vue-manage-system", |
||||||
|
"version": "4.2.0", |
||||||
|
"private": true, |
||||||
|
"scripts": { |
||||||
|
"dev": "npm run serve", |
||||||
|
"serve": "vue-cli-service serve", |
||||||
|
"build": "vue-cli-service build" |
||||||
|
}, |
||||||
|
"dependencies": { |
||||||
|
"axios": "^0.26.1", |
||||||
|
"babel-polyfill": "^6.26.0", |
||||||
|
"core-js": "^2.6.10", |
||||||
|
"echarts": "^4.9.0", |
||||||
|
"element-theme": "^2.0.1", |
||||||
|
"element-ui": "^2.15.6", |
||||||
|
"html2canvas": "^1.3.2", |
||||||
|
"js-cookie": "^2.2.1", |
||||||
|
"jspdf": "^2.4.0", |
||||||
|
"mavon-editor": "^2.9.1", |
||||||
|
"vue": "^2.6.14", |
||||||
|
"vue-cropperjs": "^3.0.0", |
||||||
|
"vue-i18n": "^8.26.5", |
||||||
|
"vue-pdf": "^4.3.0", |
||||||
|
"vue-quill-editor": "^3.0.6", |
||||||
|
"vue-router": "^3.5.3", |
||||||
|
"vuedraggable": "^2.24.3", |
||||||
|
"vuex": "^3.6.2", |
||||||
|
"wow.js": "^1.2.2" |
||||||
|
}, |
||||||
|
"devDependencies": { |
||||||
|
"@vue/cli-plugin-babel": "^3.9.0", |
||||||
|
"@vue/cli-service": "^3.9.0", |
||||||
|
"browserslist": "^4.17.5", |
||||||
|
"caniuse-lite": "^1.0.30001271", |
||||||
|
"element-theme-chalk": "^2.15.6", |
||||||
|
"node-sass": "^4.14.0", |
||||||
|
"sass-loader": "^8.0.2", |
||||||
|
"vue-template-compiler": "^2.6.14" |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,5 @@ |
|||||||
|
module.exports = { |
||||||
|
plugins: { |
||||||
|
autoprefixer: {} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,21 @@ |
|||||||
|
<!DOCTYPE html> |
||||||
|
<html lang="en"> |
||||||
|
<head> |
||||||
|
<meta charset="utf-8"> |
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
||||||
|
<meta name="keywords" content="职站,教学,教育,在线编程"> |
||||||
|
<meta name="description" content="职站是一款辅助院校教师开展虚拟仿真实验教学的智能云实践平台。平台采用了大数据,云计算等技术,为学校搭建信息化平台提供了基础,可助力院校实现教学智能化升级。职站平台设计遵循着极简、高效的理念,可帮助老师轻松开展实验教学,并支持自定义发布考核和练习,智能统计和检验学生的日常实训练习效果;老师还可以通过可视化图表报告直观查看学生实训成绩,评估教学成果。"/> |
||||||
|
<meta name="baidu-site-verification" content="code-TRfXe8xIkJ" /> |
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"> |
||||||
|
<link rel="stylesheet" href="//at.alicdn.com/t/font_830376_qzecyukz0s.css"> |
||||||
|
<title>或然官网</title> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<noscript> |
||||||
|
<strong>We're sorry but vms doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> |
||||||
|
</noscript> |
||||||
|
<div id="app"></div> |
||||||
|
<!-- built files will be auto injected --> |
||||||
|
</body> |
||||||
|
|
||||||
|
</html> |
@ -0,0 +1,25 @@ |
|||||||
|
<template> |
||||||
|
<div id="app"> |
||||||
|
<router-view></router-view> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import Setting from "@/setting"; |
||||||
|
import util from "@/libs/util"; |
||||||
|
|
||||||
|
export default { |
||||||
|
name: "App", |
||||||
|
created() { |
||||||
|
//在页面加载时读取localStorage里的状态信息 |
||||||
|
if (util.local.get(Setting.storeKey)) { |
||||||
|
this.$store.replaceState(Object.assign({}, this.$store.state, util.local.get(Setting.storeKey))); |
||||||
|
} |
||||||
|
|
||||||
|
//在页面刷新时将vuex里的信息保存到localStorage里 |
||||||
|
window.addEventListener("beforeunload", () => { |
||||||
|
util.local.get(Setting.tokenKey) && util.local.set(Setting.storeKey, this.$store.state); |
||||||
|
}); |
||||||
|
} |
||||||
|
}; |
||||||
|
</script> |
@ -0,0 +1,115 @@ |
|||||||
|
import Setting from "@/setting"; |
||||||
|
|
||||||
|
const host = Setting.apiBaseURL; |
||||||
|
const uploadURL = location.origin + '/' |
||||||
|
|
||||||
|
export default { |
||||||
|
logins: `users/users/user/login`, |
||||||
|
verification: `${host}users/users/user/captcha`,// 验证码图片
|
||||||
|
logoDetail: `occupationlab/occupationlab/sys/logo/detail`, //查看系统设置信息
|
||||||
|
isClient: `${host}users/users/user/isClient`, |
||||||
|
sendPhoneVerificationCode: `users/users/user/sendPhoneVerificationCode`, |
||||||
|
getToken: `users/users/user/getToken`, |
||||||
|
getOtherAccountByPhone: `users/users/user/getOtherAccountByPhone`, |
||||||
|
unbindAccounts: `users/users/user/unbindAccounts`, |
||||||
|
|
||||||
|
platformLogList: `nakadai/nakadai/log/platformLogList`, |
||||||
|
logNotification: `nakadai/nakadai/log/logNotification`, |
||||||
|
//实验台
|
||||||
|
curriculumDetail: `nakadai/nakadai/curriculum/curriculumDetail`, // 课程详情
|
||||||
|
curriculumChapter: `nakadai/nakadai/curriculum/chapter/queryChaptersAndSubsections`, // 根据课程id查询章节小节,树状结构
|
||||||
|
curriculumGetSubsection: `nakadai/nakadai/curriculum/subsection/getSubsection`, // 根据小节id获取预览文件地址
|
||||||
|
getProjectBySystemId: 'occupationlab/occupationlab/projectManage/getProjectBySystemId', |
||||||
|
getTheMostRecentlyRunProject: 'python/python/getTheMostRecentlyRunProject', |
||||||
|
|
||||||
|
// 能力测评
|
||||||
|
canExperiment: `occupationlab/occupationlab/evaluationrecord/can_experiment`, // 查询是否能够开启实验
|
||||||
|
experimentDetail: `occupationlab/occupationlab/evaluationrecord/detail`, // 成绩详情
|
||||||
|
experimentNext: `occupationlab/occupationlab/evaluationrecord/next`, // 下一题
|
||||||
|
experimentNotmade: `occupationlab/occupationlab/evaluationrecord/not_made`, // 提交之前查询是否还有未做完的试题
|
||||||
|
openExercise: `occupationlab/occupationlab/evaluationrecord/openExercise`, // 查询是否能开启虚拟仿真实验
|
||||||
|
openTeaching: `occupationlab/occupationlab/evaluationrecord/openTeaching`, // 查询是否能开启教学实验
|
||||||
|
experimentPrevious: `occupationlab/occupationlab/evaluationrecord/previous`, // 上一题
|
||||||
|
experimentRemaining: `occupationlab/occupationlab/evaluationrecord/remaining`, // 获取测评剩余时间
|
||||||
|
experimentStart: `occupationlab/occupationlab/evaluationrecord/start`, // 开始测评
|
||||||
|
experimentSubmit: `occupationlab/occupationlab/evaluationrecord/submit`, // 提交测评
|
||||||
|
|
||||||
|
// 实验记录
|
||||||
|
schoolCourse: `nakadai/nakadai/curriculum/schoolCourse`, // 获取学校购买订单后的课程
|
||||||
|
experimentOverview: `occupationlab/occupationlab/achievement/experimentOverview`, //实验概览
|
||||||
|
queryAssessmentByStudent: `occupationlab/occupationlab/achievement/queryAssessmentByStudent`, //学生端考核成绩
|
||||||
|
queryPracticeByStudent: `occupationlab/occupationlab/achievement/queryPracticeByStudent`, //学生端练习成绩
|
||||||
|
exportAssessmentByStudent: `occupationlab/occupationlab/achievement/exportAssessmentByStudent`, // 批量导出考核成绩
|
||||||
|
exportPracticeByStudent: `${host}occupationlab/occupationlab/achievement/exportPracticeByStudent`, // 批量导出练习成绩
|
||||||
|
practiceByStudentDetail: `occupationlab/occupationlab/achievement/practiceByStudentDetail`, // 学生端练习实验情况
|
||||||
|
exportPracticeByStudentDetail: `${host}occupationlab/occupationlab/achievement/exportPracticeByStudentDetail`, // 导出学生端练习实验情况
|
||||||
|
reportDetail: `occupationlab/occupationlab/achievement/reportDetail`, // 成绩报告详情
|
||||||
|
updateReport: `occupationlab/occupationlab/achievement/updateReport`, // 更新成绩报告
|
||||||
|
schoolCourseByAchievement: `nakadai/nakadai/curriculum/schoolCourseByAchievement`, // 获取学校购买订单后的课程
|
||||||
|
exportLabReport: `occupationlab/occupationlab/achievement/exportLabReport`, |
||||||
|
exportBankExperimentReport: `occupationlab/occupationlab/achievement/exportBankExperimentReport`, |
||||||
|
queryBcJudgmentPointByBcId: 'judgment/judgment/bcJudgmentPoint/queryBcJudgmentPointByBcId', |
||||||
|
editExperimentalData: 'occupationlab/occupationlab/experimentalReport/editExperimentalData', |
||||||
|
|
||||||
|
// 考核列表
|
||||||
|
pageStuAssessment: `occupationlab/occupationlab/assessment/pageStuAssessment`, // 学生端——学生考核列表
|
||||||
|
getPythonSysByStuAccountId: `occupationlab/occupationlab/assessment/getPythonSysByStuAccountId`, // 学生端——课程名称
|
||||||
|
myClassByStudent: `occupationlab/occupationlab/achievement/myClassByStudent`, // 学生端:我的班级
|
||||||
|
getStudentInfoByAccountId: `occupationlab/occupationlab/architecture/getStudentInfoByAccountId`, // 查看学生信息
|
||||||
|
enterExam: `occupationlab/occupationlab/assessment/enterExam`, // 学生端——进入考试
|
||||||
|
collectPaper: `occupationlab/occupationlab/assessment/collectPaper`, // 自动结束考试
|
||||||
|
|
||||||
|
// 课程学习
|
||||||
|
queryGlClassification: `occupationlab/occupationlab/management/edu/courseClassification/queryGlClassification`, // 查询课程分类
|
||||||
|
queryCourseByCondition: `occupationlab/occupationlab/management/edu/course/queryCourseByCondition`, // 课程列表分页条件查询
|
||||||
|
getCourseById: `occupationlab/occupationlab/management/edu/course/getCourse`, // 根据id查询课程
|
||||||
|
queryChaptersAndSubsections: `occupationlab/occupationlab/management/edu/courseChapter/queryChaptersAndSubsections`, // 根据课程id查询章节小节,树状结构
|
||||||
|
getSubsection: `occupationlab/occupationlab/management/edu/courseSubsection/getSubsection`, // 根据小节id获取预览文件地址
|
||||||
|
|
||||||
|
// 资讯
|
||||||
|
queryAllColumns: `occupationlab/occupationlab/enterprise/information/column/queryAllColumns`, // 栏目树
|
||||||
|
queryArticleByCondition: `occupationlab/occupationlab/enterprise/information/article/queryArticleByCondition`, // 文章列表分页条件查询
|
||||||
|
getArticle: `occupationlab/occupationlab/enterprise/information/article/getArticle`, // 根据id查询文章
|
||||||
|
firstLevelColumn: `occupationlab/occupationlab/enterprise/information/column/firstLevelColumn`, |
||||||
|
secondaryColumnsByFirst: `occupationlab/occupationlab/enterprise/information/column/secondaryColumnsByFirst`, |
||||||
|
|
||||||
|
// 线上赛事
|
||||||
|
notLoggedInBeforeStudentEvents: `occupationlab/occupationlab/enterprise/match/contest/notLoggedInBeforeStudentEvents`, |
||||||
|
contestPageConditionQueryByOccupationlabStu: `occupationlab/occupationlab/enterprise/match/contest/contestPageConditionQueryByOccupationlabStu`, |
||||||
|
contestPageConditionQueryByOccupationlab: `occupationlab/occupationlab/enterprise/match/contest/onlineCompetitionByStudent`, |
||||||
|
listOfRegisteredEvents: `occupationlab/occupationlab/enterprise/match/contest/listOfRegisteredEvents`, |
||||||
|
addApplicant: `occupationlab/occupationlab/enterprise/match/applicant/addApplicant`, // 添加报名人员
|
||||||
|
getContestProgress: `occupationlab/occupationlab/enterprise/match/contest-progress/getContestProgress`, // 根据赛事id查询竞赛进展
|
||||||
|
getContest: `occupationlab/occupationlab/enterprise/match/contest/getContest`, // 根据id查询赛事
|
||||||
|
queryAnnouncementByContestId: `occupationlab/occupationlab/contest/announcement/queryAnnouncementByContestId`, |
||||||
|
queryAnnouncementDetails: `occupationlab/occupationlab/contest/announcement/queryAnnouncementDetails`, |
||||||
|
contestAfterLogin: `occupationlab/occupationlab/enterprise/match/contest/contestAfterLogin`, |
||||||
|
|
||||||
|
// 阿里云文件/视频管理
|
||||||
|
fileDeletion: `${uploadURL}oss/manage/fileDeletion`, // 删除OSS文件
|
||||||
|
fileupload: `${uploadURL}oss/manage/fileupload`, // 文件上传
|
||||||
|
getPlayAuth: `${uploadURL}oss/manage/getPlayAuth`, // 获取播放凭证
|
||||||
|
|
||||||
|
queryProvince: `nakadai/nakadai/province/queryProvince`, //查询省份
|
||||||
|
queryCity: `nakadai/nakadai/city/queryCity`, //查询城市
|
||||||
|
querySchool: `nakadai/nakadai/school/querySchool`, //根据学校名称查询学校信息
|
||||||
|
queryCourseDiscipline: `nakadai/nakadai/subject/courseDiscipline`, //查询课程学科
|
||||||
|
queryCourseProfessionalClass: `nakadai/nakadai/subject/courseProfessionalClass`, //查询专业类
|
||||||
|
queryCourseProfessional: `nakadai/nakadai/subject/courseProfessional`, //查询专业
|
||||||
|
|
||||||
|
// 个人中心
|
||||||
|
uploadUserAvatars: `${host}users/users/userAccount/updateUserAvatars`, //更改头像
|
||||||
|
queryUserInfoDetails: `users/users/userAccount/queryUserInfoDetails`,//个人中心信息展示
|
||||||
|
updatePersonCenter: `users/users/userAccount/updatePersonCenter`,//个人中心信息修改
|
||||||
|
examinePassword: `users/users/userAccount/examinePassword`,//更换密码
|
||||||
|
bindPhoneOrEmail: `users/users/userAccount/bindPhoneOrEmail`,// 绑定手机或邮箱
|
||||||
|
sendPhoneOrEmailCode: `users/users/userAccount/sendPhoneOrEmailCode`,// 更换手机号或邮箱--发送手机验证码
|
||||||
|
unbindMobilePhone: `users/users/userAccount/unbindMobilePhone`, |
||||||
|
|
||||||
|
joinPractice: `tms/classTech/joinPractice`, //通过邀请码进入实验
|
||||||
|
queryArchievement: `tms/classTech/queryExperimentalReport`, //查看教学实验报告
|
||||||
|
queryVirtualReport: `tms/classTech/queryVirtualReport`, //查看虚仿实验报告
|
||||||
|
checkInvitationCode: `tms/classTech/checkInvitationCode`, //校验是否需要邀请码
|
||||||
|
userRecord: `tms/classTech/userRecord`, //查询班级实验列表信息
|
||||||
|
modifyReport: `Achievement/modify` |
||||||
|
}; |
After Width: | Height: | Size: 201 B |
After Width: | Height: | Size: 288 B |
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 9.3 KiB |
After Width: | Height: | Size: 122 KiB |
After Width: | Height: | Size: 9.1 KiB |
After Width: | Height: | Size: 95 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 364 B |
After Width: | Height: | Size: 8.5 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 181 B |
After Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 275 B |
After Width: | Height: | Size: 336 B |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 408 B |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 90 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 147 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 8.3 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 243 B |
After Width: | Height: | Size: 244 B |
After Width: | Height: | Size: 709 B |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 403 B |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 107 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 133 KiB |
After Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 102 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 129 KiB |
After Width: | Height: | Size: 135 KiB |
After Width: | Height: | Size: 460 B |
After Width: | Height: | Size: 691 B |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 363 B |
After Width: | Height: | Size: 696 B |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 3.3 KiB |