From 6277ff74356393d5347fd3356ce3ff8999936e78 Mon Sep 17 00:00:00 2001 From: yujialong <479214531@qq.com> Date: Tue, 28 Sep 2021 18:00:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 29 +- src/api/index.js | 369 +++--- src/components/pdf/index.vue | 146 ++- src/components/quill/index.vue | 302 ++--- src/components/quill/options.js | 30 +- src/i18n/index.js | 40 +- src/layouts/footer/index.vue | 47 +- src/layouts/header/index.vue | 66 +- src/layouts/home/index.vue | 56 +- src/layouts/navbar/index.vue | 81 +- src/libs/auth/generateBtnPermission.js | 29 +- src/libs/bus.js | 2 +- src/libs/random_str.js | 6 +- src/libs/resize/index.js | 22 +- src/libs/route/addRoutes.js | 34 +- src/libs/route/generateRoutes.js | 38 +- src/libs/route/resetRouter.js | 8 +- src/libs/util.cookies.js | 12 +- src/libs/util.db.js | 14 +- src/libs/util.js | 323 ++--- src/libs/videoList.js | 1558 +++++++++++------------ src/main.js | 40 +- src/mixins/app.js | 4 +- src/mixins/setBackground/index.js | 6 +- src/pages/account/login/index.vue | 698 +++++----- src/pages/account/register/index.vue | 236 ++-- src/pages/ass/list/index.vue | 456 +++---- src/pages/course/list/index.vue | 274 +++- src/pages/exception/error/403/index.vue | 73 +- src/pages/exception/error/404/index.vue | 89 +- src/pages/exception/i18n/index.vue | 35 +- src/pages/exception/icon/index.vue | 305 ++--- src/pages/index/list/index.vue | 25 +- src/pages/information/list/index.vue | 32 - src/pages/match/list/index.vue | 559 +++++++- src/pages/preview/list/index.vue | 733 ++++++----- src/pages/record/list/ass.vue | 67 +- src/pages/record/list/index.vue | 240 ++-- src/pages/record/list/practice.vue | 79 +- src/pages/record/show/index.vue | 736 ++++++----- src/pages/setting/person/index.vue | 952 +++++++------- src/pages/station/list/index.vue | 419 +++--- src/plugins/auth/index.js | 22 +- src/plugins/filters/index.js | 6 +- src/plugins/index.js | 12 +- src/plugins/requests/index.js | 147 +-- src/plugins/throttle/index.js | 16 +- src/router/index.js | 26 +- src/router/modules/ass.js | 16 +- src/router/modules/index.js | 14 +- src/router/modules/preview.js | 16 +- src/router/modules/record.js | 29 +- src/router/modules/setting.js | 16 +- src/router/modules/station.js | 20 +- src/router/permission.js | 36 +- src/router/routes.js | 62 +- src/setting.env.js | 8 +- src/setting.js | 196 ++- src/store/getters.js | 6 +- src/store/index.js | 24 +- src/store/modules/layout.js | 16 +- src/store/modules/project.js | 22 +- src/store/modules/user.js | 111 +- src/styles/common.scss | 445 ++++--- src/styles/font/icon/demo.css | 460 +++---- src/styles/font/icon/demo_index.html | 798 ++++++------ src/styles/font/icon/iconfont.css | 59 +- src/styles/font/icon/iconfont.svg | 103 +- src/styles/font/iconfont.css | 2 +- src/styles/layout/index.scss | 13 +- src/styles/lib/_flex.scss | 4 + src/styles/lib/_float.scss | 2 + src/styles/lib/_link.scss | 1 + src/styles/lib/_position.scss | 1 - src/styles/lib/_reset.scss | 9 +- src/styles/lib/_var.scss | 58 +- src/styles/var.scss | 31 +- 77 files changed, 6682 insertions(+), 5395 deletions(-) delete mode 100644 src/pages/information/list/index.vue diff --git a/src/App.vue b/src/App.vue index db71ed9..ff6d150 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,24 +1,25 @@ \ No newline at end of file diff --git a/src/api/index.js b/src/api/index.js index 03841f6..2be1f11 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -1,158 +1,215 @@ -import Setting from '@/setting' -let host = `${Setting.apiBaseURL}evaluation/` -let loginhost = `${Setting.apiBaseURL}liuwanr/` +import Setting from "@/setting"; + +// let host = `${Setting.apiBaseURL}evaluation/`; +let loginhost = `${Setting.apiBaseURL}liuwanr/`; + +let host = "http://192.168.31.151:9000/"; // 榕 export default { - host, - logins: `${loginhost}userInfo/logins`, //登录  - updateLogInNumber: `${loginhost}userInfo/updateLogInNumber`, //用户登录修改登录次数和登陆时间 - uploadUserAvatars: `${loginhost}userInfo/uploadUserAvatars`, //上传头像 - loginSchool: `${loginhost}userInfo/loginSchoolClient`, //登陆查询学校 - loginRole: `${loginhost}userInfo/loginRole`, //登陆查询角色 - save: `${host}tms/userInfo/add`, //注册 - - queryToken: `${loginhost}userInfo/queryToken`, - queryWorkNumberIsExist:`${loginhost}userInfo/queryWorkNumberIsExist`,//查询学号、工号是否存在 - queryAccountIsExist:`${loginhost}userInfo/queryAccountIsExist`,//查询员工,学生账号是否存在接口 - - addStuPro: `${host}stuProfessionalArchitecture/addStuProfessionalArchitecture`, //添加学生专业 - queryStuPro: `${host}stuProfessionalArchitecture/queryStuProfessionalArchitecture`, //查询学生专业 - queryStuGrade: `${host}stuProfessionalArchitecture/queryStuGrade`, //查询学生年级 - queryStuClass: `${host}stuProfessionalArchitecture/queryStuClass`, //查询学生班级 - deleteStuPro: `${host}stuProfessionalArchitecture/deleteStuProfessionalArchitecture`, //删除学生专业 - updateStuPro: `${host}stuProfessionalArchitecture/updateStuProfessionalArchitecture`, //编辑学生专业 - - findPasswordByEmail: `${host}tms/userInfo/findPasswordByEmail`, - findPasswordByPhone: `${host}tms/userInfo/findPasswordByPhone`, - resetPassword: `${host}tms/userInfo/resetPassword`, - checkCode: `${host}tms/userInfo/checkCode`, - - queryStudentData: `${host}student/queryStudent`, //查询学生 - queryStudentDetails: `${host}student/queryStudentDetails`, //查询学生详情 - addStudent: `${host}student/addStudent`, //添加学生 - deleteStudent: `${host}student/deleteStudent`, //删除学生 - updateStudent: `${host}student/updateStudent`, //编辑学生 - updateStuGrade: `${host}stuProfessionalArchitecture/updateStuGrade`, //编辑学生年级 - addStuGrade: `${host}stuProfessionalArchitecture/addStuGrade`, //添加学生年级 - deleteStuGrade: `${host}stuProfessionalArchitecture/deleteStuGrade`, //删除学生年级 - updateStuClass: `${host}stuProfessionalArchitecture/updateStuClass`, //编辑学生班级 - addStuClass: `${host}stuProfessionalArchitecture/addStuClass`, //添加学生班级 - deleteStuClass: `${host}stuProfessionalArchitecture/deleteStuClass`, //删除学生班级 - - queryPersonalCenter:`${host}personalCenter/queryPersonalCenter`, - addStaffPro: `${host}staffProfessionalArchitecture/addStaffProfessionalArchitecture`, //添加员工专业 - queryStaffPro: `${host}staffProfessionalArchitecture/queryAllStaffProfessionalArchitecture`, //查询员工专业 - deleteStaffPro: `${host}staffProfessionalArchitecture/deleteStaffProfessionalArchitecture`, //删除员工专业 - deleteStaffGrade: `${host}staffGrade/deleteStaffGrade`, //删除员工部门 - updateStaffPro: `${host}staffProfessionalArchitecture/updateStaffProfessionalArchitecture`, //编辑员工专业 - queryStaffGrade: `${host}staffGrade/queryStaffGrade`, //查询员工部门 - queryStaffGradeDetails: `${host}staffGrade/queryStaffGradeDetails`, //查询员工部门详情 - addStaffGrade: `${host}staffGrade/addStaffGrade`, //新增员工部门 - updateStaffGrade: `${host}staffGrade/updateStaffGrade`, //编辑员工部门 - queryCourseDiscipline: `${loginhost}course/queryCourseDiscipline`, //查询课程学科 - queryCourseProfessionalClass: `${loginhost}course/queryCourseProfessionalClass`, //查询专业类 - queryCourseProfessional: `${loginhost}course/queryCourseProfessional`, //查询专业 - queryPhone: `${loginhost}userInfo/queryPhone`, //查询电话是否存在 - - queryStaff: `${host}staff/queryStaff`, //查询员工 - addStaff: `${host}staff/addStaff`, //添加员工 - queryStaffDetails: `${host}staff/queryStaffDetails`, //员工详情 - deleteStaff: `${host}staff/deleteStaff`, //删除员工 - updateStaff: `${host}staff/updateStaff`, //更新员工 - readStaff: `${host}staff/readStaff`, //上传员工模板 - - queryGetByClassName:`${host}makeuplist/queryGetByClassName`, - deleteExperimentalClass:`${host}experimentalClass/deleteExperimentalClass`,//删除实验班级 - queryAssesmentcondition:`${host}assesment/queryAssesmentcondition`,//考核成绩表格 - queryGetById:`${host}assesment/queryGetById`,//查询考核信息 - updateAssesment:`${host}assesment/updateAssesment`,//修改考核 - updateState:`${host}assesment/updateState`,//点击启动修改考核时间 - updateAssesmentTime:`${host}assesment/updateAssesmentTime`,//点击提前结束获取当前时间 - queryAssesmentScore:`${host}assesment/queryAssesmentScore`,//获取查询成绩页面 - queryAssesmentAchievement:`${host}assesment/queryAssesmentAchievement`,//查询成绩明细板块 - excelExport:`${host}makeuplist/excelExport`,//模板下载 - importMakeuplist:`${host}makeuplist/importMakeuplist`, //模板上传 - queryAllExperiment:`${host}experiment/queryAllExperiment`,//实验项目渲染, - queryAttendanceSignIn:`${host}attendance/queryAttendanceSignIn`,//获得用户ID 及考勤总数 - insertAttendance:`${host}Experimentallearning/insertAttendance`,//改变签到状态 - queryExperimentallearning:`${host}Experimentallearning/queryExperimentallearning`,//获取项目名和签到状态 - queryCourseDetails:`${host}course/queryCourseDetails`,//获取课程简介和课程目标 - queryTeacherName:`${host}Experimentallearning/queryTeacherName`,//获取教师信息 - queryStudentName:`${host}Experimentallearning/queryStudentName`,//获取学生信息 - queryPracticeVo:`${host}experiment/queryPracticeVo`,//获取表格数据 - queryStudentAssessment:`${host}assesmentRecord/queryStudentAssessment`, //查询姓名和个人平均分和最高分 - queryAssesmentRecordMaxScore:`${host}assesmentRecord/queryAssesmentRecordMaxScore`, //查询学校平均分最高分 - queryAssesmentRecordWhole:`${host}assesmentRecord/queryAssesmentRecordWhole`,//查询全国平均考核得分 - queryAssesmentRecordMaxWhole:`${host}assesmentRecord/queryAssesmentRecordMaxWhole`, //查询全国平均分最高分 - queryStudentByPage:`${host}experiment/queryStudentByPage`, //查询练习记录表格数据 - queryProject:`${host}ProjectAndCourse/queryProject`,//实验项目信息展示 - updateIsExperiment:`${host}ProjectAndCourse/updateIsExperiment`,//修改是否开启项目 - updateIsAttendance:`${host}ProjectAndCourse/updateIsAttendance`,//修改是否考勤 - addAssesment:`${host}assesment/addAssesment`,//添加考核 - queryStuProfessionalArchitecture:`${host}stuProfessionalArchitecture/queryStuProfessionalArchitecture`,//修改是否考勤 - queryStuGrade:`${host}stuProfessionalArchitecture/queryStuGrade`,//修改是否考勤 - queryStuClass:`${host}stuProfessionalArchitecture/queryStuClass`,//修改是否考勤 - queryStudent:`${host}stuProfessionalArchitecture/queryStudent`,//修改是否考勤 - queryAttendanceDetailed:`${host}attendance/queryAttendanceDetailed`,//获取考勤列表数据 - - queryExperimentClass:`${host}experimentalClass/queryExperimentalClass`,//查询实验班级 - queryExperimentalClassSP:`${host}experimentalClass/queryExperimentalClassSP`,//查询实验班级学生专业 - queryStudentClass:`${host}experimentalClass/queryStudentClass`,//查询学生行政班级 - queryClassDetails:`${host}experimentalClass/queryExperimentClassDetails`,//查询实验班级详情 - updateClassName:`${host}experimentalClass/updateExperimentClassName`,//修改实验班级名称 - updateState:`${host}assesment/updateState`,//修改考核状态 - experimentClassDeleteStudent:`${host}experimentalClass/experimentClassDeleteStudent`, //移除实验班学生 - addExperimentalClass:`${host}experimentalClass/addExperimentalClass`,//添加实验班级 - platformQueryCourse:`${host}course/platformQueryCourse`, - queryAssesment:`${host}Experimentallearning/queryAssesment`, - getCourse:`${host}course/getCourse`,//获取课程简介,教学目标,课程名称 - getProfessionals:`${host}experimentalClass/getProfessionals`,// 请求专业下拉框数据 - getStudentClass:`${host}experimentalClass/getStudentClass`,//请求行政班级下拉框数据 - getCourseSchedule:`${host}ProjectAndCourse/getCourseSchedule`,//课程进度 - releaseAssesment:`${host}assesment/releaseAssesment`,//发布考核 - experimentClassAddStudent:`${host}experimentalClass/experimentClassAddStudent`,//发布考核 - getExperimentalClass:`${host}assesment/getExperimentalClass`,//实验班级一级标题 - getCreationTime:`${host}assesment/getCreationTime`,//实验班级二级标题 - deleteAssesment:`${host}assesment/deleteAssesment`,//删除考核 - queryStudentCourse:`${host}Experimentallearning/queryStudentCourse`,//学生查询课程 - getByCourseId:`${host}assesment/getByCourseId`,//查询系统列表 - getCoursevideo:`${host}tms/classTech/simulationPlayList`,//开始课程-课程视频 - queryStaffPAN:`${host}staffProfessionalArchitecture/queryStaffPAN`,//查询员工专业是否存在 - queryStudentisAssess:`${host}assesment/queryStudentisAssess`,//查看正在参与考核的学生 - - queryProvince: `${loginhost}province/queryProvince`, //查询省份 - queryCity: `${loginhost}city/queryCity`, //查询城市 - querySchoolData: `${loginhost}customer/querySchool`, //根据学校名称查询学校信息 - - examinePassword:`${host}tms/user/examinePassword`,//更换密码 - userinfoUpdate:`${host}tms/user/update`,//个人中心信息修改 - userinfo:`${host}tms/user/userinfo`,//个人中心信息展示 - sendEmailCode:`${host}tms/user/sendEmailCode`,//发送邮箱验证码 - bingEmail:`${host}tms/user/bingEmail`,//邮箱验证并更新 - sendPhoneCode:`${host}tms/user/sendPhoneCode`,//发送手机验证码 - bindPhone:`${host}tms/user/bindPhone`,//校验手机验证码 - - canExperiment: `${host}tms/evaluationrecord/can_experiment`, //查询是否能够开启实验 - openExercise: `${host}tms/evaluationrecord/openExercise`, //查询是否能够开启虚拟仿真实验 - openTeaching: `${host}tms/evaluationrecord/openTeaching`, //查询是否能够开启教学实验 - experimentDetail: `${host}tms/evaluationrecord/detail`, //成绩详情 - experimentNext: `${host}tms/evaluationrecord/next`, //下一题 - experimentNotmade: `${host}tms/evaluationrecord/not_made`, //提交之前查询是否还有未做完的试题 - experimentPrevious: `${host}tms/evaluationrecord/previous`, //上一题 - experimentRemaining: `${host}tms/evaluationrecord/remaining`, //获取测评剩余时间 - experimentStart: `${host}tms/evaluationrecord/start`, //开始测评 - experimentSubmit: `${host}tms/evaluationrecord/submit`, //提交测评 - - fictitiousRecord: `${host}fictitious/projectrecord/user/record`, //用户端实验记录 - exportProjectRecord: `${host}fictitious/projectrecord/user/exportProjectRecord`, //虚拟实验记录导出 - exportExperimentProjectRecord: `${host}fictitious/projectrecord/user/exportExperimentProjectRecord`, //个人实验记录导出 - fictitiousScore: `${host}fictitious/projectrecord/user/score`, //个人实验概览 - experimentRecord: `${host}fictitious/projectrecord/user/experimentRecord`, //用户端教学实验记录 - - joinPractice: `${host}tms/classTech/joinPractice`, //通过邀请码进入实验 - queryArchievement: `${host}tms/classTech/queryExperimentalReport`, //查看教学实验报告 - queryVirtualReport: `${host}tms/classTech/queryVirtualReport`, //查看虚仿实验报告 - checkInvitationCode: `${host}tms/classTech/checkInvitationCode`, //校验是否需要邀请码 - userRecord: `${host}tms/classTech/userRecord`, //查询班级实验列表信息 - modifyReport: `${host}Achievement/modify`, -} \ No newline at end of file + host, + + // 登录 + logins: `${host}users/users/user/login`, //登录 + verification: `${host}users/users/user/captcha`,// 验证码图片 + + //实验台 + experimentOverview: `${host}occupationlab/achievement/experimentOverview`, //实验概览 + queryAssessmentByStudent: `${host}occupationlab/achievement/queryAssessmentByStudent`, //学生端考核成绩 + queryPracticeByStudent: `${host}occupationlab/achievement/queryPracticeByStudent`, //学生端练习成绩 + exportAssessmentInfo: `${host}occupationlab/achievement/exportAssessmentInfo`, // 批量导出考核成绩 + exportPracticeInfo: `${host}occupationlab/achievement/exportPracticeInfo`, // 批量导出练习成绩 + + // 能力测评 + canExperiment: `${host}occupationlab/occupationlab/evaluationrecord/can_experiment`, // 查询是否能够开启实验 + experimentDetail: `${host}occupationlab/occupationlab/evaluationrecord/detail`, // 成绩详情 + experimentNext: `${host}occupationlab/occupationlab/evaluationrecord/next`, // 下一题 + experimentNotmade: `${host}occupationlab/occupationlab/evaluationrecord/not_made`, // 提交之前查询是否还有未做完的试题 + openExercise: `${host}occupationlab/occupationlab/evaluationrecord/openExercise`, // 查询是否能开启虚拟仿真实验 + openTeaching: `${host}occupationlab/occupationlab/evaluationrecord/openTeaching`, // 查询是否能开启教学实验 + experimentPrevious: `${host}occupationlab/occupationlab/evaluationrecord/previous`, // 上一题 + experimentRemaining: `${host}occupationlab/occupationlab/evaluationrecord/remaining`, // 获取测评剩余时间 + experimentStart: `${host}occupationlab/occupationlab/evaluationrecord/start`, // 开始测评 + experimentSubmit: `${host}occupationlab/occupationlab/evaluationrecord/submit`, // 提交测评 + + // 考核列表 + pageStuAssessment: `${host}occupationlab/assessment/pageStuAssessment`, // 学生端——学生考核列表 + getPythonSysByStuAccountId: `${host}occupationlab/assessment/getPythonSysByStuAccountId`, // 学生端——课程名称 + myClassByStudent: `${host}occupationlab/achievement/myClassByStudent`, // 学生端:我的班级 + getStudentInfoByAccountId: `${host}occupationlab/architecture/getStudentInfoByAccountId`, // 查看学生信息 + enterExam: `${host}occupationlab/assessment/enterExam`, // 学生端——进入考试 + + // 课程学习 + queryGlClassification: `${host}occupationlab/management/edu/courseClassification/queryGlClassification`, // 查询课程分类 + queryCourseByCondition: `${host}occupationlab/management/edu/course/queryCourseByCondition`, // 课程列表分页条件查询 + getCourseById: `${host}occupationlab/management/edu/course/getCourse`, // 根据id查询课程 + queryChaptersAndSubsections: `${host}occupationlab/management/edu/courseChapter/queryChaptersAndSubsections`, // 根据课程id查询章节小节,树状结构 + getSubsection: `${host}occupationlab/management/edu/courseSubsection/getSubsection`, // 根据小节id获取预览文件地址 + + getPlayAuth: `${host}nakadai/nakadai/oss/getPlayAuth`, // 获取播放凭证 + + // 资讯 + queryAllColumns: `${host}occupationlab/enterprise/information/column/queryAllColumns`, // 栏目树 + queryArticleByCondition: `${host}occupationlab/enterprise/information/article/queryArticleByCondition`, // 文章列表分页条件查询 + getArticle: `${host}occupationlab/enterprise/information/article/getArticle`, // 根据id查询文章 + + // 线上赛事 + onlineContestQuery: `${host}occupationlab/enterprise/match/onlineContest/onlineContestQuery`, // 线上赛事列表分页条件查询 + addApplicant: `${host}occupationlab/enterprise/match/applicant/addApplicant`, // 添加报名人员 + getContestProgress: `${host}occupationlab/enterprise/match/contest-progress/getContestProgress`, // 根据赛事id查询竞赛进展 + getContest: `${host}occupationlab/enterprise/match/contest/getContest`, // 根据id查询赛事 + + + + + + + + + + + + + + + + + + // logins: `${loginhost}userInfo/logins`, //登录 + updateLogInNumber: `${loginhost}userInfo/updateLogInNumber`, //用户登录修改登录次数和登陆时间 + uploadUserAvatars: `${loginhost}userInfo/uploadUserAvatars`, //上传头像 + loginSchool: `${loginhost}userInfo/loginSchoolClient`, //登陆查询学校 + loginRole: `${loginhost}userInfo/loginRole`, //登陆查询角色 + save: `${host}tms/userInfo/add`, //注册 + + queryToken: `${loginhost}userInfo/queryToken`, + queryWorkNumberIsExist: `${loginhost}userInfo/queryWorkNumberIsExist`,//查询学号、工号是否存在 + queryAccountIsExist: `${loginhost}userInfo/queryAccountIsExist`,//查询员工,学生账号是否存在接口 + + addStuPro: `${host}stuProfessionalArchitecture/addStuProfessionalArchitecture`, //添加学生专业 + queryStuPro: `${host}stuProfessionalArchitecture/queryStuProfessionalArchitecture`, //查询学生专业 + // queryStuGrade: `${host}stuProfessionalArchitecture/queryStuGrade`, //查询学生年级 + // queryStuClass: `${host}stuProfessionalArchitecture/queryStuClass`, //查询学生班级 + deleteStuPro: `${host}stuProfessionalArchitecture/deleteStuProfessionalArchitecture`, //删除学生专业 + updateStuPro: `${host}stuProfessionalArchitecture/updateStuProfessionalArchitecture`, //编辑学生专业 + + findPasswordByEmail: `${host}tms/userInfo/findPasswordByEmail`, + findPasswordByPhone: `${host}tms/userInfo/findPasswordByPhone`, + resetPassword: `${host}tms/userInfo/resetPassword`, + checkCode: `${host}tms/userInfo/checkCode`, + + queryStudentData: `${host}student/queryStudent`, //查询学生 + queryStudentDetails: `${host}student/queryStudentDetails`, //查询学生详情 + addStudent: `${host}student/addStudent`, //添加学生 + deleteStudent: `${host}student/deleteStudent`, //删除学生 + updateStudent: `${host}student/updateStudent`, //编辑学生 + updateStuGrade: `${host}stuProfessionalArchitecture/updateStuGrade`, //编辑学生年级 + addStuGrade: `${host}stuProfessionalArchitecture/addStuGrade`, //添加学生年级 + deleteStuGrade: `${host}stuProfessionalArchitecture/deleteStuGrade`, //删除学生年级 + updateStuClass: `${host}stuProfessionalArchitecture/updateStuClass`, //编辑学生班级 + addStuClass: `${host}stuProfessionalArchitecture/addStuClass`, //添加学生班级 + deleteStuClass: `${host}stuProfessionalArchitecture/deleteStuClass`, //删除学生班级 + + queryPersonalCenter: `${host}personalCenter/queryPersonalCenter`, + addStaffPro: `${host}staffProfessionalArchitecture/addStaffProfessionalArchitecture`, //添加员工专业 + queryStaffPro: `${host}staffProfessionalArchitecture/queryAllStaffProfessionalArchitecture`, //查询员工专业 + deleteStaffPro: `${host}staffProfessionalArchitecture/deleteStaffProfessionalArchitecture`, //删除员工专业 + deleteStaffGrade: `${host}staffGrade/deleteStaffGrade`, //删除员工部门 + updateStaffPro: `${host}staffProfessionalArchitecture/updateStaffProfessionalArchitecture`, //编辑员工专业 + queryStaffGrade: `${host}staffGrade/queryStaffGrade`, //查询员工部门 + queryStaffGradeDetails: `${host}staffGrade/queryStaffGradeDetails`, //查询员工部门详情 + addStaffGrade: `${host}staffGrade/addStaffGrade`, //新增员工部门 + updateStaffGrade: `${host}staffGrade/updateStaffGrade`, //编辑员工部门 + queryCourseDiscipline: `${loginhost}course/queryCourseDiscipline`, //查询课程学科 + queryCourseProfessionalClass: `${loginhost}course/queryCourseProfessionalClass`, //查询专业类 + queryCourseProfessional: `${loginhost}course/queryCourseProfessional`, //查询专业 + queryPhone: `${loginhost}userInfo/queryPhone`, //查询电话是否存在 + + queryStaff: `${host}staff/queryStaff`, //查询员工 + addStaff: `${host}staff/addStaff`, //添加员工 + queryStaffDetails: `${host}staff/queryStaffDetails`, //员工详情 + deleteStaff: `${host}staff/deleteStaff`, //删除员工 + updateStaff: `${host}staff/updateStaff`, //更新员工 + readStaff: `${host}staff/readStaff`, //上传员工模板 + + queryGetByClassName: `${host}makeuplist/queryGetByClassName`, + deleteExperimentalClass: `${host}experimentalClass/deleteExperimentalClass`,//删除实验班级 + queryAssesmentcondition: `${host}assesment/queryAssesmentcondition`,//考核成绩表格 + queryGetById: `${host}assesment/queryGetById`,//查询考核信息 + updateAssesment: `${host}assesment/updateAssesment`,//修改考核 + // updateState: `${host}assesment/updateState`,//点击启动修改考核时间 + updateAssesmentTime: `${host}assesment/updateAssesmentTime`,//点击提前结束获取当前时间 + queryAssesmentScore: `${host}assesment/queryAssesmentScore`,//获取查询成绩页面 + queryAssesmentAchievement: `${host}assesment/queryAssesmentAchievement`,//查询成绩明细板块 + excelExport: `${host}makeuplist/excelExport`,//模板下载 + importMakeuplist: `${host}makeuplist/importMakeuplist`, //模板上传 + queryAllExperiment: `${host}experiment/queryAllExperiment`,//实验项目渲染, + queryAttendanceSignIn: `${host}attendance/queryAttendanceSignIn`,//获得用户ID 及考勤总数 + insertAttendance: `${host}Experimentallearning/insertAttendance`,//改变签到状态 + queryExperimentallearning: `${host}Experimentallearning/queryExperimentallearning`,//获取项目名和签到状态 + queryCourseDetails: `${host}course/queryCourseDetails`,//获取课程简介和课程目标 + queryTeacherName: `${host}Experimentallearning/queryTeacherName`,//获取教师信息 + queryStudentName: `${host}Experimentallearning/queryStudentName`,//获取学生信息 + queryPracticeVo: `${host}experiment/queryPracticeVo`,//获取表格数据 + queryStudentAssessment: `${host}assesmentRecord/queryStudentAssessment`, //查询姓名和个人平均分和最高分 + queryAssesmentRecordMaxScore: `${host}assesmentRecord/queryAssesmentRecordMaxScore`, //查询学校平均分最高分 + queryAssesmentRecordWhole: `${host}assesmentRecord/queryAssesmentRecordWhole`,//查询全国平均考核得分 + queryAssesmentRecordMaxWhole: `${host}assesmentRecord/queryAssesmentRecordMaxWhole`, //查询全国平均分最高分 + queryStudentByPage: `${host}experiment/queryStudentByPage`, //查询练习记录表格数据 + queryProject: `${host}ProjectAndCourse/queryProject`,//实验项目信息展示 + updateIsExperiment: `${host}ProjectAndCourse/updateIsExperiment`,//修改是否开启项目 + updateIsAttendance: `${host}ProjectAndCourse/updateIsAttendance`,//修改是否考勤 + addAssesment: `${host}assesment/addAssesment`,//添加考核 + queryStuProfessionalArchitecture: `${host}stuProfessionalArchitecture/queryStuProfessionalArchitecture`,//修改是否考勤 + queryStuGrade: `${host}stuProfessionalArchitecture/queryStuGrade`,//修改是否考勤 + queryStuClass: `${host}stuProfessionalArchitecture/queryStuClass`,//修改是否考勤 + queryStudent: `${host}stuProfessionalArchitecture/queryStudent`,//修改是否考勤 + queryAttendanceDetailed: `${host}attendance/queryAttendanceDetailed`,//获取考勤列表数据 + + queryExperimentClass: `${host}experimentalClass/queryExperimentalClass`,//查询实验班级 + queryExperimentalClassSP: `${host}experimentalClass/queryExperimentalClassSP`,//查询实验班级学生专业 + queryStudentClass: `${host}experimentalClass/queryStudentClass`,//查询学生行政班级 + queryClassDetails: `${host}experimentalClass/queryExperimentClassDetails`,//查询实验班级详情 + updateClassName: `${host}experimentalClass/updateExperimentClassName`,//修改实验班级名称 + updateState: `${host}assesment/updateState`,//修改考核状态 + experimentClassDeleteStudent: `${host}experimentalClass/experimentClassDeleteStudent`, //移除实验班学生 + addExperimentalClass: `${host}experimentalClass/addExperimentalClass`,//添加实验班级 + platformQueryCourse: `${host}course/platformQueryCourse`, + queryAssesment: `${host}Experimentallearning/queryAssesment`, + getCourse: `${host}course/getCourse`,//获取课程简介,教学目标,课程名称 + getProfessionals: `${host}experimentalClass/getProfessionals`,// 请求专业下拉框数据 + getStudentClass: `${host}experimentalClass/getStudentClass`,//请求行政班级下拉框数据 + getCourseSchedule: `${host}ProjectAndCourse/getCourseSchedule`,//课程进度 + releaseAssesment: `${host}assesment/releaseAssesment`,//发布考核 + experimentClassAddStudent: `${host}experimentalClass/experimentClassAddStudent`,//发布考核 + getExperimentalClass: `${host}assesment/getExperimentalClass`,//实验班级一级标题 + getCreationTime: `${host}assesment/getCreationTime`,//实验班级二级标题 + deleteAssesment: `${host}assesment/deleteAssesment`,//删除考核 + queryStudentCourse: `${host}Experimentallearning/queryStudentCourse`,//学生查询课程 + getByCourseId: `${host}assesment/getByCourseId`,//查询系统列表 + getCoursevideo: `${host}tms/classTech/simulationPlayList`,//开始课程-课程视频 + queryStaffPAN: `${host}staffProfessionalArchitecture/queryStaffPAN`,//查询员工专业是否存在 + queryStudentisAssess: `${host}assesment/queryStudentisAssess`,//查看正在参与考核的学生 + + queryProvince: `${loginhost}province/queryProvince`, //查询省份 + queryCity: `${loginhost}city/queryCity`, //查询城市 + querySchoolData: `${loginhost}customer/querySchool`, //根据学校名称查询学校信息 + + examinePassword: `${host}tms/user/examinePassword`,//更换密码 + userinfoUpdate: `${host}tms/user/update`,//个人中心信息修改 + userinfo: `${host}tms/user/userinfo`,//个人中心信息展示 + sendEmailCode: `${host}tms/user/sendEmailCode`,//发送邮箱验证码 + bingEmail: `${host}tms/user/bingEmail`,//邮箱验证并更新 + sendPhoneCode: `${host}tms/user/sendPhoneCode`,//发送手机验证码 + bindPhone: `${host}tms/user/bindPhone`,//校验手机验证码 + + + + + + joinPractice: `${host}tms/classTech/joinPractice`, //通过邀请码进入实验 + queryArchievement: `${host}tms/classTech/queryExperimentalReport`, //查看教学实验报告 + queryVirtualReport: `${host}tms/classTech/queryVirtualReport`, //查看虚仿实验报告 + checkInvitationCode: `${host}tms/classTech/checkInvitationCode`, //校验是否需要邀请码 + userRecord: `${host}tms/classTech/userRecord`, //查询班级实验列表信息 + modifyReport: `${host}Achievement/modify` +}; \ No newline at end of file diff --git a/src/components/pdf/index.vue b/src/components/pdf/index.vue index e822cb5..bd70a17 100644 --- a/src/components/pdf/index.vue +++ b/src/components/pdf/index.vue @@ -9,20 +9,23 @@ :modal="false" :append-to-body="true">
- +

- - {{currentPage}} / {{pageCount}} - + + {{ currentPage }} / {{ pageCount }} +

@@ -32,93 +35,100 @@ \ No newline at end of file diff --git a/src/components/quill/index.vue b/src/components/quill/index.vue index f4d2118..6806bc1 100644 --- a/src/components/quill/index.vue +++ b/src/components/quill/index.vue @@ -2,178 +2,180 @@
- + 点击上传
diff --git a/src/components/quill/options.js b/src/components/quill/options.js index 5a90edd..b368bcb 100644 --- a/src/components/quill/options.js +++ b/src/components/quill/options.js @@ -1,16 +1,16 @@ export default [ - ['bold', 'italic', 'underline', 'strike'], - ['blockquote', 'code-block'], - [{ 'header': 1 }, { 'header': 2 }], - [{ 'list': 'ordered' }, { 'list': 'bullet' }], - [{ 'script': 'sub' }, { 'script': 'super' }], - [{ 'indent': '-1' }, { 'indent': '+1' }], - [{ 'direction': 'rtl' }], - [{ 'size': ['small', false, 'large', 'huge'] }], - [{ 'header': [1, 2, 3, 4, 5, 6, false] }], - [{ 'color': [] }, { 'background': [] }], - [{ 'font': [] }], - [{ 'align': [] }], - ['clean'], - ['link', 'image', 'video'] -] \ No newline at end of file + ["bold", "italic", "underline", "strike"], + ["blockquote", "code-block"], + [{ "header": 1 }, { "header": 2 }], + [{ "list": "ordered" }, { "list": "bullet" }], + [{ "script": "sub" }, { "script": "super" }], + [{ "indent": "-1" }, { "indent": "+1" }], + [{ "direction": "rtl" }], + [{ "size": ["small", false, "large", "huge"] }], + [{ "header": [1, 2, 3, 4, 5, 6, false] }], + [{ "color": [] }, { "background": [] }], + [{ "font": [] }], + [{ "align": [] }], + ["clean"], + ["link", "image", "video"] +]; \ No newline at end of file diff --git a/src/i18n/index.js b/src/i18n/index.js index 299d2da..a35ee1e 100644 --- a/src/i18n/index.js +++ b/src/i18n/index.js @@ -1,30 +1,30 @@ export const messages = { - 'zh': { + "zh": { i18n: { - breadcrumb: '国际化产品', - tips: '通过切换语言按钮,来改变当前内容的语言。', - btn: '切换英文', - title1: '常用用法', - p1: '要是你把你的秘密告诉了风,那就别怪风把它带给树。', - p2: '没有什么比信念更能支撑我们度过艰难的时光了。', - p3: '只要能把自己的事做好,并让自己快乐,你就领先于大多数人了。', - title2: '组件插值', - info: 'Element组件需要国际化,请参考 {action}。', - value: '文档' + breadcrumb: "国际化产品", + tips: "通过切换语言按钮,来改变当前内容的语言。", + btn: "切换英文", + title1: "常用用法", + p1: "要是你把你的秘密告诉了风,那就别怪风把它带给树。", + p2: "没有什么比信念更能支撑我们度过艰难的时光了。", + p3: "只要能把自己的事做好,并让自己快乐,你就领先于大多数人了。", + title2: "组件插值", + info: "Element组件需要国际化,请参考 {action}。", + value: "文档" } }, - 'en': { + "en": { i18n: { - breadcrumb: 'International Products', - tips: 'Click on the button to change the current language. ', - btn: 'Switch Chinese', - title1: 'Common usage', + breadcrumb: "International Products", + tips: "Click on the button to change the current language. ", + btn: "Switch Chinese", + title1: "Common usage", p1: "If you reveal your secrets to the wind you should not blame the wind for revealing them to the trees.", p2: "Nothing can help us endure dark times better than our faith. ", p3: "If you can do what you do best and be happy, you're further along in life than most people.", - title2: 'Component interpolation', - info: 'The default language of Element is Chinese. If you wish to use another language, please refer to the {action}.', - value: 'documentation' + title2: "Component interpolation", + info: "The default language of Element is Chinese. If you wish to use another language, please refer to the {action}.", + value: "documentation" } } -} \ No newline at end of file +}; \ No newline at end of file diff --git a/src/layouts/footer/index.vue b/src/layouts/footer/index.vue index b00f26e..c230ffa 100644 --- a/src/layouts/footer/index.vue +++ b/src/layouts/footer/index.vue @@ -8,36 +8,35 @@ \ No newline at end of file diff --git a/src/layouts/header/index.vue b/src/layouts/header/index.vue index fc52876..ddc919f 100644 --- a/src/layouts/header/index.vue +++ b/src/layouts/header/index.vue @@ -1,6 +1,7 @@ \ No newline at end of file diff --git a/src/layouts/navbar/index.vue b/src/layouts/navbar/index.vue index 7ce2097..30eccf9 100644 --- a/src/layouts/navbar/index.vue +++ b/src/layouts/navbar/index.vue @@ -1,82 +1,87 @@ \ No newline at end of file diff --git a/src/libs/auth/generateBtnPermission.js b/src/libs/auth/generateBtnPermission.js index d8ed295..89744a4 100644 --- a/src/libs/auth/generateBtnPermission.js +++ b/src/libs/auth/generateBtnPermission.js @@ -2,24 +2,25 @@ * @description 生成按钮级别权限组 * */ -import store from '@/store'; -export default function(data){ - let result = [] +import store from "@/store"; + +export default function(data) { + let result = []; data.map(e => { - if(e.select){ + if (e.select) { e.children.map(n => { - if(n.select){ - if(n.children.length){ - result.push(`${e.name}:${n.name}`) + if (n.select) { + if (n.children.length) { + result.push(`${e.name}:${n.name}`); n.children.map(j => { - j.select && (e.path ? result.push(`${e.path}:${n.name}:${j.name}`) : result.push(`${n.path}:${j.name}`)) - }) - }else{ - result.push(`${e.path}:${n.name}`) + j.select && (e.path ? result.push(`${e.path}:${n.name}:${j.name}`) : result.push(`${n.path}:${j.name}`)); + }); + } else { + result.push(`${e.path}:${n.name}`); } } - }) + }); } - }) - store.dispatch('auth/addBtnAuth',result) + }); + store.dispatch("auth/addBtnAuth", result); } diff --git a/src/libs/bus.js b/src/libs/bus.js index b433c90..87fc642 100644 --- a/src/libs/bus.js +++ b/src/libs/bus.js @@ -1,4 +1,4 @@ -import Vue from 'vue'; +import Vue from "vue"; // 使用 Event Bus const bus = new Vue(); diff --git a/src/libs/random_str.js b/src/libs/random_str.js index d9b5838..f012ef8 100644 --- a/src/libs/random_str.js +++ b/src/libs/random_str.js @@ -1,8 +1,8 @@ // 生成随机字符串 -export default function (len = 32) { - const $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'; +export default function(len = 32) { + const $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; const maxPos = $chars.length; - let str = ''; + let str = ""; for (let i = 0; i < len; i++) { str += $chars.charAt(Math.floor(Math.random() * maxPos)); } diff --git a/src/libs/resize/index.js b/src/libs/resize/index.js index 0bf38b6..8c2831f 100644 --- a/src/libs/resize/index.js +++ b/src/libs/resize/index.js @@ -1,16 +1,18 @@ // rem等比适配配置文件 // 基准大小 -const baseSize = 16 +const baseSize = 16; + // 设置 rem 函数 -function setRem () { - // 当前页面宽度相对于 1920宽的缩放比例,可根据自己需要修改。 - const scale = document.documentElement.clientWidth / 1920 - // 设置页面根节点字体大小(“Math.min(scale, 2)” 指最高放大比例为2,可根据实际业务需求调整) - document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + 'px' +function setRem() { + // 当前页面宽度相对于 1920宽的缩放比例,可根据自己需要修改。 + const scale = document.documentElement.clientWidth / 1920; + // 设置页面根节点字体大小(“Math.min(scale, 2)” 指最高放大比例为2,可根据实际业务需求调整) + document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + "px"; } + // 初始化 -setRem() +setRem(); // 改变窗口大小时重新设置 rem -window.onresize = function () { - setRem() -} \ No newline at end of file +window.onresize = function() { + setRem(); +}; \ No newline at end of file diff --git a/src/libs/route/addRoutes.js b/src/libs/route/addRoutes.js index 48cbdd9..69dae33 100644 --- a/src/libs/route/addRoutes.js +++ b/src/libs/route/addRoutes.js @@ -1,31 +1,31 @@ -import store from '@/store'; -import router from '@/router'; -import generateBtnPermission from '../auth/generateBtnPermission'; +import store from "@/store"; +import router from "@/router"; +import generateBtnPermission from "../auth/generateBtnPermission"; -const newRoutes = [] +const newRoutes = []; -function createMeta(item){ - let meta = { title: item.name } - return meta +function createMeta(item) { + let meta = { title: item.name }; + return meta; } -function createRoute(data){ +function createRoute(data) { data.map(e => { - if(e.select && e.path){ - let meta = createMeta(e) + if (e.select && e.path) { + let meta = createMeta(e); newRoutes.push({ name: e.path, path: () => import(`@/pages/${e.path}.vue`), meta - }) + }); } - e.children && e.children.length && createRoute(e.children) - }) + e.children && e.children.length && createRoute(e.children); + }); } -export default function(data,path){ - generateBtnPermission(data) - createRoute(data) - store.dispatch('auth/addRoutes',newRoutes) +export default function(data, path) { + generateBtnPermission(data); + createRoute(data); + store.dispatch("auth/addRoutes", newRoutes); // router.addRoutes(routes) } \ No newline at end of file diff --git a/src/libs/route/generateRoutes.js b/src/libs/route/generateRoutes.js index 638f846..9db8a7b 100644 --- a/src/libs/route/generateRoutes.js +++ b/src/libs/route/generateRoutes.js @@ -1,26 +1,26 @@ -import store from '@/store'; -import router from '@/router'; +import store from "@/store"; +import router from "@/router"; -export default function(){ +export default function() { setTimeout(() => { - let routes = store.state.auth.routes + let routes = store.state.auth.routes; routes.forEach(e => { - if(e.path == '/'){ - e.component = () => import('@/layouts/home/index.vue') - }else{ - e.component = () => import(`@/pages/${e.path}.vue`) + if (e.path == "/") { + e.component = () => import("@/layouts/home/index.vue"); + } else { + e.component = () => import(`@/pages/${e.path}.vue`); } - + e.children && e.children.forEach(n => { - n.path && (n.component = () => import(`@/pages/${n.path}.vue`)) - }) - }) - + n.path && (n.component = () => import(`@/pages/${n.path}.vue`)); + }); + }); + routes.push({ - path: '*', - redirect: '404' - }) - - router.addRoutes(routes) - },500) + path: "*", + redirect: "404" + }); + + router.addRoutes(routes); + }, 500); } \ No newline at end of file diff --git a/src/libs/route/resetRouter.js b/src/libs/route/resetRouter.js index 096e4f5..d955318 100644 --- a/src/libs/route/resetRouter.js +++ b/src/libs/route/resetRouter.js @@ -1,6 +1,6 @@ -import router from '@/router'; +import router from "@/router"; -export default function(){ - const newRouter = createRouter() - router.matcher = newRouter.matcher +export default function() { + const newRouter = createRouter(); + router.matcher = newRouter.matcher; } \ No newline at end of file diff --git a/src/libs/util.cookies.js b/src/libs/util.cookies.js index 63c9a8b..75c1c8d 100644 --- a/src/libs/util.cookies.js +++ b/src/libs/util.cookies.js @@ -1,5 +1,5 @@ -import Cookies from 'js-cookie'; -import Setting from '@/setting'; +import Cookies from "js-cookie"; +import Setting from "@/setting"; const cookies = {}; @@ -9,7 +9,7 @@ const cookies = {}; * @param {String} value cookie value * @param {Object} cookieSetting cookie setting */ -cookies.set = function (name = 'default', value = '', cookieSetting = {}) { +cookies.set = function(name = "default", value = "", cookieSetting = {}) { let currentCookieSetting = { expires: Setting.cookiesExpires }; @@ -21,14 +21,14 @@ cookies.set = function (name = 'default', value = '', cookieSetting = {}) { * @description 拿到 cookie 值 * @param {String} name cookie name */ -cookies.get = function (name = 'default') { +cookies.get = function(name = "default") { return Cookies.get(`admin-${name}`); }; /** * @description 拿到 cookie 全部的值 */ -cookies.getAll = function () { +cookies.getAll = function() { return Cookies.get(); }; @@ -36,7 +36,7 @@ cookies.getAll = function () { * @description 删除 cookie * @param {String} name cookie name */ -cookies.remove = function (name = 'default') { +cookies.remove = function(name = "default") { return Cookies.remove(`admin-${name}`); }; diff --git a/src/libs/util.db.js b/src/libs/util.db.js index 944ea81..847371d 100644 --- a/src/libs/util.db.js +++ b/src/libs/util.db.js @@ -13,10 +13,10 @@ var _local = { var data = Object.assign(params, { startTime: new Date().getTime() }); localStorage.setItem(key, JSON.stringify(data)); } else { - if (Object.prototype.toString.call(value) == '[object Object]') { + if (Object.prototype.toString.call(value) == "[object Object]") { value = JSON.stringify(value); } - if (Object.prototype.toString.call(value) == '[object Array]') { + if (Object.prototype.toString.call(value) == "[object Array]") { value = JSON.stringify(value); } localStorage.setItem(key, value); @@ -55,20 +55,20 @@ var _local = { clear() { localStorage.clear(); } -} +}; /** * sessionStorage */ var _session = { - get: function (key) { + get: function(key) { var data = sessionStorage[key]; if (!data || data === "null") { return null; } return data; }, - set: function (key, value) { + set: function(key, value) { sessionStorage[key] = value; }, // 删除 @@ -79,5 +79,5 @@ var _session = { clear() { sessionStorage.clear(); } -} -export { _local, _session } \ No newline at end of file +}; +export { _local, _session }; \ No newline at end of file diff --git a/src/libs/util.js b/src/libs/util.js index ad0d0ba..713a7f5 100644 --- a/src/libs/util.js +++ b/src/libs/util.js @@ -1,159 +1,178 @@ -import cookies from './util.cookies' -import {_local,_session} from './util.db' -import { Message } from 'element-ui' -import store from '@/store' -import axios from 'axios' -import api from '@/api' -import Setting from '@/setting' +import cookies from "./util.cookies"; +import { _local, _session } from "./util.db"; +import { Message } from "element-ui"; +import store from "@/store"; +import axios from "axios"; +import api from "@/api"; +import Setting from "@/setting"; -let logout = false +let logout = false; const util = { - cookies, - local: _local, - session: _session, - // 传入身份证获取生日 - getBirth(idCard) { - var birthday = ""; - if(idCard != null && idCard != ""){ - if(idCard.length == 15){ - birthday = "19"+idCard.slice(6,12); - } else if(idCard.length == 18){ - birthday = idCard.slice(6,14); - } - birthday = birthday.replace(/(.{4})(.{2})/,"$1-$2-"); - //通过正则表达式来指定输出格式为:1990-01-01 - } - return birthday; - }, - // new Date('2020-11-12 00:00:00') 在IE下失效,因此把-替换成/ - dateCompatible(date) { - return date.replace(/\-/g, '/') - }, - // 日期时间前面补零 - formateTime(num) { - return num < 10 ? `0${num}` : num - }, - //返回格式化时间,传参例如:"yyyy-MM-dd hh:mm:ss" - formatDate(fmt,date) { - var date = date ? date : new Date() - var o = { - "M+" : date.getMonth()+1, //月份 - "d+" : date.getDate(), //日 - "h+" : date.getHours(), //小时 - "m+" : date.getMinutes(), //分 - "s+" : date.getSeconds(), //秒 - "q+" : Math.floor((date.getMonth()+3)/3), //季度 - "S" : date.getMilliseconds() //毫秒 - }; - if(/(y+)/.test(fmt)) { - fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length)); - } - for(var k in o) { - if(new RegExp("("+ k +")").test(fmt)){ - fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); + cookies, + local: _local, + session: _session, + // 传入身份证获取生日 + getBirth(idCard) { + var birthday = ""; + if (idCard != null && idCard != "") { + if (idCard.length == 15) { + birthday = "19" + idCard.slice(6, 12); + } else if (idCard.length == 18) { + birthday = idCard.slice(6, 14); + } + birthday = birthday.replace(/(.{4})(.{2})/, "$1-$2-"); + //通过正则表达式来指定输出格式为:1990-01-01 } - } - return fmt; - }, - // 移除数组中指定值 - removeByValue(arr, val) { - for(var i=0; i { - n[attr] = n[attr].replace(/<\/?.+?>/gi,'') - }) - return list - }, - // 传入文件名获取文件后缀 - getFileExt(fileName) { - return fileName.substring(fileName.lastIndexOf('.') + 1) - }, - // 传入文件名和路径,下载图片视频,支持跨域,a标签加download不支持跨域 - downloadFile(fileName,url) { - var x = new XMLHttpRequest() - x.open("GET", url, true) - x.responseType = 'blob' - x.onload=function(e) { - var url = window.URL.createObjectURL(x.response) - var a = document.createElement('a') - a.href = url - a.download = fileName - a.click() - } - x.send() - }, - // 传入文件名和数据,下载文件 - downloadFileDirect(fileName,data) { - if ('download' in document.createElement('a')) { // 非IE下载 - const elink = document.createElement('a') - elink.download = fileName - elink.style.display = 'none' - elink.href = URL.createObjectURL(data) - document.body.appendChild(elink) - elink.click() - URL.revokeObjectURL(elink.href) // 释放URL 对象 - document.body.removeChild(elink) - } else { // IE10+下载 - navigator.msSaveBlob(data, fileName) - } - }, - // 成功提示 - successMsg(message,duration = 3000) { - return Message.success({message,showClose: true,offset: (document.documentElement.clientHeight - 40) / 2,duration}) - }, - // 警告提示 - warningMsg(message,duration = 3000) { - return Message.warning({message,showClose: true,offset: (document.documentElement.clientHeight - 40) / 2,duration}) - }, - // 错误提示 - errorMsg(message,duration = 3000) { - return Message.error({message,showClose: true,offset: (document.documentElement.clientHeight - 40) / 2,duration}) - }, - // 登录互踢 - getToken(){ - if(process.env.NODE_ENV == 'production'){ - if(store.state.user.dataTime && !logout){ - axios.get(`${api.queryToken}?token=${_local.get(Setting.tokenKey)}`).then(res => { - if(store.state.user.dataTime && (res.data.message != store.state.user.dataTime)){ - logout || Message.error('您已在另一台设备登录,本次登录已下线!') - logout = true - setTimeout(() => { - _local.remove(Setting.storeKey) - _local.remove(Setting.tokenKey) - location.reload() - },1500) - } - }).catch(err => {}) + for (var k in o) { + if (new RegExp("(" + k + ")").test(fmt)) { + fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); + } + } + return fmt; + }, + // 移除数组中指定值 + removeByValue(arr, val) { + for (var i = 0; i < arr.length; i++) { + if (arr[i] == val) { + arr.splice(i, 1); + break; + } + } + }, + // 传入文件后缀判断是否是视频 + isVideo(ext) { + if ("mp4,3gp,mov,m4v,avi,dat,mkv,flv,vob,rmvb,rm,qlv".includes(ext)) return true; + return false; + }, + // 传入文件后缀判断是否是音频 + isAudio(ext) { + if ("mp3,aac,ape,flac,wav,wma,amr,mid".includes(ext)) return true; + return false; + }, + // 传入文件后缀判断是否是图片 + isImg(ext) { + if ("jpg,jpeg,png,gif,svg,psd".includes(ext)) return true; + return false; + }, + // 传入文件后缀判断是否是pdf以外的文档 + isDoc(ext) { + if (!util.isVideo(ext) && !util.isAudio(ext) && !util.isImg(ext) && ext != "pdf") return true; + return false; + }, + // 循环去除html标签 + removeHtmlTag(list, attr) { + list.map(n => { + n[attr] = n[attr].replace(/<\/?.+?>/gi, ""); + }); + return list; + }, + // 传入文件名获取文件后缀 + getFileExt(fileName) { + return fileName.substring(fileName.lastIndexOf(".") + 1); + }, + // 传入文件名和路径,下载图片视频,支持跨域,a标签加download不支持跨域 + downloadFile(fileName, url) { + var x = new XMLHttpRequest(); + x.open("GET", url, true); + x.responseType = "blob"; + x.onload = function(e) { + var url = window.URL.createObjectURL(x.response); + var a = document.createElement("a"); + a.href = url; + a.download = fileName; + a.click(); + }; + x.send(); + }, + // 传入文件名和数据,下载文件 + downloadFileDirect(fileName, data) { + if ("download" in document.createElement("a")) { // 非IE下载 + const elink = document.createElement("a"); + elink.download = fileName; + elink.style.display = "none"; + elink.href = URL.createObjectURL(data); + document.body.appendChild(elink); + elink.click(); + URL.revokeObjectURL(elink.href); // 释放URL 对象 + document.body.removeChild(elink); + } else { // IE10+下载 + navigator.msSaveBlob(data, fileName); + } + }, + // 成功提示 + successMsg(message, duration = 3000) { + Message.closeAll(); + return Message.success({ + message, + showClose: true, + offset: (document.documentElement.clientHeight - 40) / 2, + duration + }); + }, + // 警告提示 + warningMsg(message, duration = 3000) { + Message.closeAll(); + return Message.warning({ + message, + showClose: true, + offset: (document.documentElement.clientHeight - 40) / 2, + duration + }); + }, + // 错误提示 + errorMsg(message, duration = 3000) { + Message.closeAll(); + return Message.error({ + message, + showClose: true, + offset: (document.documentElement.clientHeight - 40) / 2, + duration + }); + }, + // 登录互踢 + getToken() { + if (process.env.NODE_ENV == "production") { + if (store.state.user.dataTime && !logout) { + axios.get(`${api.queryToken}?token=${_local.get(Setting.tokenKey)}`).then(res => { + if (store.state.user.dataTime && (res.data.message != store.state.user.dataTime)) { + logout || Message.error("您已在另一台设备登录,本次登录已下线!"); + logout = true; + setTimeout(() => { + _local.remove(Setting.storeKey); + _local.remove(Setting.tokenKey); + location.reload(); + }, 1500); + } + }).catch(err => { + }); + } } } - } -} +}; -export default util \ No newline at end of file +export default util; \ No newline at end of file diff --git a/src/libs/videoList.js b/src/libs/videoList.js index 7e43727..8b704be 100644 --- a/src/libs/videoList.js +++ b/src/libs/videoList.js @@ -1,791 +1,791 @@ export const videoList1 = [{ - 'id': 5, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/print%28%29%E5%87%BD%E6%95%B0.pptx', - 'isdel': 0, - 'title': '项目一 print()函数' -}, { - 'id': 5, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/项目一.mp4', - 'isdel': 0, - 'title': '项目一 print()函数(操作视频)' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E6%95%B0%E6%8D%AE%E8%BD%AC%E6%8D%A2%E4%B8%8E%E6%8B%BC%E6%8E%A5.pptx', - 'isdel': 0, - 'title': '项目二 数据转换与拼接' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/程序设计项目二数据转换与拼接.mp4', - 'isdel': 0, - 'title': '项目二 数据转换与拼接(操作视频)' -}, { - 'id': 3, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/if%E6%9D%A1%E4%BB%B6%E5%88%A4%E6%96%AD%E8%AF%AD%E5%8F%A5.pptx', - 'isdel': 0, - 'title': '项目三 if条件判断语句' -}, { - 'id': 3, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/if.mp4', - 'isdel': 0, - 'title': '项目三 if条件判断语句(操作视频)' -}, { - 'id': 6, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/input%28%29%E5%87%BD%E6%95%B0.pptx', - 'isdel': 0, - 'title': '项目四 input()函数' -}, { - 'id': 6, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/进阶(input)函数.mp4', - 'isdel': 0, - 'title': '项目四 input()函数(操作视频)' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E5%88%97%E8%A1%A8%E5%85%83%E7%BB%84%E5%AD%97%E5%85%B8.pptx', - 'isdel': 0, - 'title': '项目五 列表元组字典' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/列表元组字典.mp4', - 'isdel': 0, - 'title': '项目五 列表元组字典(操作视频)' -}, { - 'id': 1, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/for%E5%BE%AA%E7%8E%AF.pptx', - 'isdel': 0, - 'title': '项目六 for循环' -}, { - 'id': 1, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/for循环.mp4', - 'isdel': 0, - 'title': '项目六 for循环(操作视频)' -}, { - 'id': 2, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/while%E5%BE%AA%E7%8E%AF.pptx', - 'isdel': 0, - 'title': '项目七 while循环' -}, { - 'id': 2, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/while循环.mp4', - 'isdel': 0, - 'title': '项目七 while循环(操作视频)' -}, { - 'id': 7, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E5%87%BD%E6%95%B0.pptx', - 'isdel': 0, - 'title': '项目八 函数' -}, { - 'id': 7, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/函数.mp4', - 'isdel': 0, - 'title': '项目八 函数(操作视频)' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E7%B1%BB%E4%B8%8E%E5%AF%B9%E8%B1%A1%E4%B8%80.pptx', - 'isdel': 0, - 'title': '项目九 类与对象一' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/类与对象1.mp4', - 'isdel': 0, - 'title': '项目九 类与对象一(操作视频)' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E7%B1%BB%E4%B8%8E%E5%AF%B9%E8%B1%A1%E4%BA%8C.pptx', - 'isdel': 0, - 'title': '项目十 类与对象二' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/类与对象2.mp4', - 'isdel': 0, - 'title': '项目十 类与对象二(操作视频)' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E6%A8%A1%E5%9D%97.pptx', - 'isdel': 0, - 'title': '项目十一 模块' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/模块.mp4', - 'isdel': 0, - 'title': '项目十一 模块(操作视频)' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E7%BB%BC%E5%90%88%E8%AE%AD%E7%BB%83.pptx', - 'isdel': 0, - 'title': '项目十二 综合训练' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/综合训练1.mp4', - 'isdel': 0, - 'title': '项目十二 综合训练(操作视频)' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E5%BA%8F%E5%88%97%E5%BA%94%E7%94%A8.pptx', - 'isdel': 0, - 'title': '项目十三 序列应用' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/序列应用.mp4', - 'isdel': 0, - 'title': '项目十三 序列应用(操作视频)' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E6%95%B0%E6%8D%AE%E5%BA%93.pptx', - 'isdel': 0, - 'title': '项目十四 数据库' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/数据库(1).mp4', - 'isdel': 0, - 'title': '项目十四 数据库(操作视频)' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E7%88%AC%E8%99%AB.pptx', - 'isdel': 0, - 'title': '项目十五 爬虫' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/爬虫.mp4', - 'isdel': 0, - 'title': '项目十五 爬虫(操作视频)' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E6%9C%B4%E7%B4%A0%E8%B4%9D%E5%8F%B6%E6%96%AF%E5%88%86%E7%B1%BB%E7%AE%97%E6%B3%95.pptx', - 'isdel': 0, - 'title': '项目十六 朴素贝叶斯分类算法' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/贝叶斯.mp4', - 'isdel': 0, - 'title': '项目十六 朴素贝叶斯分类算法(操作视频)' + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/print%28%29%E5%87%BD%E6%95%B0.pptx", + "isdel": 0, + "title": "项目一 print()函数" +}, { + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/项目一.mp4", + "isdel": 0, + "title": "项目一 print()函数(操作视频)" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E6%95%B0%E6%8D%AE%E8%BD%AC%E6%8D%A2%E4%B8%8E%E6%8B%BC%E6%8E%A5.pptx", + "isdel": 0, + "title": "项目二 数据转换与拼接" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/程序设计项目二数据转换与拼接.mp4", + "isdel": 0, + "title": "项目二 数据转换与拼接(操作视频)" +}, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/if%E6%9D%A1%E4%BB%B6%E5%88%A4%E6%96%AD%E8%AF%AD%E5%8F%A5.pptx", + "isdel": 0, + "title": "项目三 if条件判断语句" +}, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/if.mp4", + "isdel": 0, + "title": "项目三 if条件判断语句(操作视频)" +}, { + "id": 6, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/input%28%29%E5%87%BD%E6%95%B0.pptx", + "isdel": 0, + "title": "项目四 input()函数" +}, { + "id": 6, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/进阶(input)函数.mp4", + "isdel": 0, + "title": "项目四 input()函数(操作视频)" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E5%88%97%E8%A1%A8%E5%85%83%E7%BB%84%E5%AD%97%E5%85%B8.pptx", + "isdel": 0, + "title": "项目五 列表元组字典" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/列表元组字典.mp4", + "isdel": 0, + "title": "项目五 列表元组字典(操作视频)" +}, { + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/for%E5%BE%AA%E7%8E%AF.pptx", + "isdel": 0, + "title": "项目六 for循环" +}, { + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/for循环.mp4", + "isdel": 0, + "title": "项目六 for循环(操作视频)" +}, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/while%E5%BE%AA%E7%8E%AF.pptx", + "isdel": 0, + "title": "项目七 while循环" +}, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/while循环.mp4", + "isdel": 0, + "title": "项目七 while循环(操作视频)" +}, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E5%87%BD%E6%95%B0.pptx", + "isdel": 0, + "title": "项目八 函数" +}, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/函数.mp4", + "isdel": 0, + "title": "项目八 函数(操作视频)" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E7%B1%BB%E4%B8%8E%E5%AF%B9%E8%B1%A1%E4%B8%80.pptx", + "isdel": 0, + "title": "项目九 类与对象一" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/类与对象1.mp4", + "isdel": 0, + "title": "项目九 类与对象一(操作视频)" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E7%B1%BB%E4%B8%8E%E5%AF%B9%E8%B1%A1%E4%BA%8C.pptx", + "isdel": 0, + "title": "项目十 类与对象二" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/类与对象2.mp4", + "isdel": 0, + "title": "项目十 类与对象二(操作视频)" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E6%A8%A1%E5%9D%97.pptx", + "isdel": 0, + "title": "项目十一 模块" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/模块.mp4", + "isdel": 0, + "title": "项目十一 模块(操作视频)" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E7%BB%BC%E5%90%88%E8%AE%AD%E7%BB%83.pptx", + "isdel": 0, + "title": "项目十二 综合训练" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/综合训练1.mp4", + "isdel": 0, + "title": "项目十二 综合训练(操作视频)" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E5%BA%8F%E5%88%97%E5%BA%94%E7%94%A8.pptx", + "isdel": 0, + "title": "项目十三 序列应用" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/序列应用.mp4", + "isdel": 0, + "title": "项目十三 序列应用(操作视频)" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E6%95%B0%E6%8D%AE%E5%BA%93.pptx", + "isdel": 0, + "title": "项目十四 数据库" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/数据库(1).mp4", + "isdel": 0, + "title": "项目十四 数据库(操作视频)" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E7%88%AC%E8%99%AB.pptx", + "isdel": 0, + "title": "项目十五 爬虫" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/爬虫.mp4", + "isdel": 0, + "title": "项目十五 爬虫(操作视频)" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E6%9C%B4%E7%B4%A0%E8%B4%9D%E5%8F%B6%E6%96%AF%E5%88%86%E7%B1%BB%E7%AE%97%E6%B3%95.pptx", + "isdel": 0, + "title": "项目十六 朴素贝叶斯分类算法" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/贝叶斯.mp4", + "isdel": 0, + "title": "项目十六 朴素贝叶斯分类算法(操作视频)" }]; export const videoList4 = [{ - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E8%B4%A7%E5%B8%81%E6%97%B6%E9%97%B4%E4%BB%B7%E5%80%BC.pptx', - 'isdel': 0, - 'title': '项目一 货币时间价值' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E4%B8%80%EF%BC%9A%E8%B4%A7%E5%B8%81%E6%97%B6%E9%97%B4%E4%BB%B7%E5%80%BC.mp4', - 'isdel': 0, - 'title': '项目一 货币时间价值(操作视频)' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E6%95%B0%E6%8D%AE%E9%A9%B1%E5%8A%A8%E7%9A%84%E8%B4%A2%E5%8A%A1%E5%86%B3%E7%AD%96.pptx', - 'isdel': 0, - 'title': '项目二 数据驱动的财务决策' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E4%BA%8C%EF%BC%9A%E6%95%B0%E6%8D%AE%E9%A9%B1%E5%8A%A8%E7%9A%84%E8%B4%A2%E5%8A%A1%E5%86%B3%E7%AD%96.mp4', - 'isdel': 0, - 'title': '项目二 数据驱动的财务决策(操作视频)' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E5%80%BA%E5%88%B8%E7%9A%84%E5%AE%9A%E4%BB%B7.pptx', - 'isdel': 0, - 'title': '项目三 债券的定价' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E4%B8%89%EF%BC%9A%E5%80%BA%E5%88%B8%E7%9A%84%E5%AE%9A%E4%BB%B7.mp4', - 'isdel': 0, - 'title': '项目三 债券的定价(操作视频)' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E6%AC%A7%E5%BC%8F%E6%9C%9F%E6%9D%83%E7%9A%84%E5%AE%9A%E4%BB%B7.pptx', - 'isdel': 0, - 'title': '项目四 欧式期权的定价' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%9B%9B%EF%BC%9A%E6%AC%A7%E5%BC%8F%E6%9C%9F%E6%9D%83%E5%AE%9A%E4%BB%B7.mp4', - 'isdel': 0, - 'title': '项目四 欧式期权的定价(操作视频)' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E8%82%A1%E7%A5%A8%E7%9A%84%E5%AE%9A%E4%BB%B7.pptx', - 'isdel': 0, - 'title': '项目五 股票的定价' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E4%BA%94%EF%BC%9A%E8%82%A1%E7%A5%A8%E5%AE%9A%E4%BB%B7.mp4', - 'isdel': 0, - 'title': '项目五 股票的定价(操作视频)' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E5%9B%BA%E5%AE%9A%E6%94%B6%E7%9B%8A%E8%AF%81%E5%88%B8%E8%AE%A1%E7%AE%97.pptx', - 'isdel': 0, - 'title': '项目六 固定收益证券计算' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%85%AD%EF%BC%9A%E5%9B%BA%E5%AE%9A%E6%94%B6%E7%9B%8A%E8%AF%81%E5%88%B8%E8%AE%A1%E7%AE%97.mp4', - 'isdel': 0, - 'title': '项目六 固定收益证券计算(操作视频)' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E4%BC%B0%E8%AE%A1%CE%B2%E7%B3%BB%E6%95%B0.pptx', - 'isdel': 0, - 'title': '项目七 估计β系数' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E4%B8%83%EF%BC%9A%E4%BC%B0%E8%AE%A1%CE%B2%E7%B3%BB%E6%95%B0.mp4', - 'isdel': 0, - 'title': '项目七 估计β系数(操作视频)' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E5%9B%BD%E5%80%BA%E6%9C%9F%E8%B4%A7.pptx', - 'isdel': 0, - 'title': '项目八 国债期货' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%85%AB%EF%BC%9A%E5%9B%BD%E5%80%BA%E6%9C%9F%E8%B4%A7%E6%A8%A1%E6%8B%9F%E8%AE%BE%E8%AE%A1.mp4', - 'isdel': 0, - 'title': '项目八 国债期货(操作视频)' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E8%82%A1%E6%8C%87%E6%9C%9F%E8%B4%A7%E5%A5%97%E6%9C%9F%E4%BF%9D%E9%9A%9C%E7%AD%96%E7%95%A5%E8%AE%BE%E8%AE%A1.pptx', - 'isdel': 0, - 'title': '项目九 股指期货套期保障策略设计' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E4%B9%9D%EF%BC%9A%E8%82%A1%E6%8C%87%E6%9C%9F%E8%B4%A7%E5%A5%97%E6%9C%9F%E4%BF%9D%E9%9A%9C%E7%AD%96%E7%95%A5%E8%AE%BE%E8%AE%A1.mp4', - 'isdel': 0, - 'title': '项目九 股指期货套期保障策略设计(操作视频)' -}, { - 'id': 6, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/JR%E4%BA%8C%E5%8F%89%E6%A0%91%E6%AC%A7%E5%BC%8F%E6%9C%9F%E6%9D%83%E8%AE%BE%E8%AE%A1.pptx', - 'isdel': 0, - 'title': '项目十 JR二叉树欧式期权设计' -}, { - 'id': 6, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%EF%BC%9A%E4%BA%8C%E5%8F%89%E6%A0%91%E6%AC%A7%E5%BC%8F%E6%9C%9F%E6%9D%83.mp4', - 'isdel': 0, - 'title': '项目十 JR二叉树欧式期权设计(操作视频)' -}, { - 'id': 2, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%B8%80%EF%BC%9A%E5%B8%83%E8%8E%B1%E5%85%8B%E2%80%94%E8%88%92%E5%B0%94%E6%96%AF%E6%AC%A7%E5%BC%8F%E6%9C%9F%E6%9D%83.mp4', - 'isdel': 0, - 'title': '项目十一 布莱克-舒尔斯欧式期权设计' -}, { - 'id': 2, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%B8%80%EF%BC%9A%E5%B8%83%E8%8E%B1%E5%85%8B%E2%80%94%E8%88%92%E5%B0%94%E6%96%AF%E6%AC%A7%E5%BC%8F%E6%9C%9F%E6%9D%83.mp4', - 'isdel': 0, - 'title': '项目十一 布莱克-舒尔斯欧式期权设计(操作视频)' -}, { - 'id': 7, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%BE%8E%E5%BC%8F%E6%9C%9F%E6%9D%83%E8%AE%BE%E8%AE%A1.pptx', - 'isdel': 0, - 'title': '项目十二 二叉树美式期权设计' -}, { - 'id': 7, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%BA%8C%EF%BC%9A%E4%BA%8C%E5%8F%89%E6%A0%91%E7%BE%8E%E5%BC%8F%E6%9C%9F%E6%9D%83%E3%80%81.mp4', - 'isdel': 0, - 'title': '项目十二 二叉树美式期权设计(操作视频)' -}, { - 'id': 5, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E5%B8%83%E8%8E%B1%E5%85%8B-%E8%88%92%E5%B0%94%E6%96%AF%E7%BE%8E%E5%BC%8F%E6%9C%9F%E6%9D%83%E8%AE%BE%E8%AE%A1.pptx', - 'isdel': 0, - 'title': '项目十三 布莱克-舒尔斯美式期权设计' -}, { - 'id': 5, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%B8%89%EF%BC%9A%E5%B8%83%E8%8E%B1%E5%85%8B-%E8%88%92%E5%B0%94%E6%96%AF%E7%BE%8E%E5%BC%8F%E6%9C%9F%E6%9D%83.mp4', - 'isdel': 0, - 'title': '项目十三 布莱克-舒尔斯美式期权设计(操作视频)' -}, { - 'id': 3, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/Covered%20Call.pptx', - 'isdel': 0, - 'title': '项目十四 Covered Call' -}, { - 'id': 3, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%E5%9B%9B%EF%BC%9ACovered%20Call.mp4', - 'isdel': 0, - 'title': '项目十四 Covered Call(操作视频)' -}, { - 'id': 1, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/Butterfiy%20Spread.pptx', - 'isdel': 0, - 'title': '项目十五 Butterfiy Spread' -}, { - 'id': 1, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%BA%94%EF%BC%9A%E7%A2%9F%E5%BC%8F%E4%BB%B7%E5%B7%AE.mp4', - 'isdel': 0, - 'title': '项目十五 Butterfiy Spread(操作视频)' + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E8%B4%A7%E5%B8%81%E6%97%B6%E9%97%B4%E4%BB%B7%E5%80%BC.pptx", + "isdel": 0, + "title": "项目一 货币时间价值" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E4%B8%80%EF%BC%9A%E8%B4%A7%E5%B8%81%E6%97%B6%E9%97%B4%E4%BB%B7%E5%80%BC.mp4", + "isdel": 0, + "title": "项目一 货币时间价值(操作视频)" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E6%95%B0%E6%8D%AE%E9%A9%B1%E5%8A%A8%E7%9A%84%E8%B4%A2%E5%8A%A1%E5%86%B3%E7%AD%96.pptx", + "isdel": 0, + "title": "项目二 数据驱动的财务决策" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E4%BA%8C%EF%BC%9A%E6%95%B0%E6%8D%AE%E9%A9%B1%E5%8A%A8%E7%9A%84%E8%B4%A2%E5%8A%A1%E5%86%B3%E7%AD%96.mp4", + "isdel": 0, + "title": "项目二 数据驱动的财务决策(操作视频)" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E5%80%BA%E5%88%B8%E7%9A%84%E5%AE%9A%E4%BB%B7.pptx", + "isdel": 0, + "title": "项目三 债券的定价" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E4%B8%89%EF%BC%9A%E5%80%BA%E5%88%B8%E7%9A%84%E5%AE%9A%E4%BB%B7.mp4", + "isdel": 0, + "title": "项目三 债券的定价(操作视频)" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E6%AC%A7%E5%BC%8F%E6%9C%9F%E6%9D%83%E7%9A%84%E5%AE%9A%E4%BB%B7.pptx", + "isdel": 0, + "title": "项目四 欧式期权的定价" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%9B%9B%EF%BC%9A%E6%AC%A7%E5%BC%8F%E6%9C%9F%E6%9D%83%E5%AE%9A%E4%BB%B7.mp4", + "isdel": 0, + "title": "项目四 欧式期权的定价(操作视频)" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E8%82%A1%E7%A5%A8%E7%9A%84%E5%AE%9A%E4%BB%B7.pptx", + "isdel": 0, + "title": "项目五 股票的定价" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E4%BA%94%EF%BC%9A%E8%82%A1%E7%A5%A8%E5%AE%9A%E4%BB%B7.mp4", + "isdel": 0, + "title": "项目五 股票的定价(操作视频)" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E5%9B%BA%E5%AE%9A%E6%94%B6%E7%9B%8A%E8%AF%81%E5%88%B8%E8%AE%A1%E7%AE%97.pptx", + "isdel": 0, + "title": "项目六 固定收益证券计算" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%85%AD%EF%BC%9A%E5%9B%BA%E5%AE%9A%E6%94%B6%E7%9B%8A%E8%AF%81%E5%88%B8%E8%AE%A1%E7%AE%97.mp4", + "isdel": 0, + "title": "项目六 固定收益证券计算(操作视频)" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E4%BC%B0%E8%AE%A1%CE%B2%E7%B3%BB%E6%95%B0.pptx", + "isdel": 0, + "title": "项目七 估计β系数" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E4%B8%83%EF%BC%9A%E4%BC%B0%E8%AE%A1%CE%B2%E7%B3%BB%E6%95%B0.mp4", + "isdel": 0, + "title": "项目七 估计β系数(操作视频)" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E5%9B%BD%E5%80%BA%E6%9C%9F%E8%B4%A7.pptx", + "isdel": 0, + "title": "项目八 国债期货" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%85%AB%EF%BC%9A%E5%9B%BD%E5%80%BA%E6%9C%9F%E8%B4%A7%E6%A8%A1%E6%8B%9F%E8%AE%BE%E8%AE%A1.mp4", + "isdel": 0, + "title": "项目八 国债期货(操作视频)" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E8%82%A1%E6%8C%87%E6%9C%9F%E8%B4%A7%E5%A5%97%E6%9C%9F%E4%BF%9D%E9%9A%9C%E7%AD%96%E7%95%A5%E8%AE%BE%E8%AE%A1.pptx", + "isdel": 0, + "title": "项目九 股指期货套期保障策略设计" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E4%B9%9D%EF%BC%9A%E8%82%A1%E6%8C%87%E6%9C%9F%E8%B4%A7%E5%A5%97%E6%9C%9F%E4%BF%9D%E9%9A%9C%E7%AD%96%E7%95%A5%E8%AE%BE%E8%AE%A1.mp4", + "isdel": 0, + "title": "项目九 股指期货套期保障策略设计(操作视频)" +}, { + "id": 6, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/JR%E4%BA%8C%E5%8F%89%E6%A0%91%E6%AC%A7%E5%BC%8F%E6%9C%9F%E6%9D%83%E8%AE%BE%E8%AE%A1.pptx", + "isdel": 0, + "title": "项目十 JR二叉树欧式期权设计" +}, { + "id": 6, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%EF%BC%9A%E4%BA%8C%E5%8F%89%E6%A0%91%E6%AC%A7%E5%BC%8F%E6%9C%9F%E6%9D%83.mp4", + "isdel": 0, + "title": "项目十 JR二叉树欧式期权设计(操作视频)" +}, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%B8%80%EF%BC%9A%E5%B8%83%E8%8E%B1%E5%85%8B%E2%80%94%E8%88%92%E5%B0%94%E6%96%AF%E6%AC%A7%E5%BC%8F%E6%9C%9F%E6%9D%83.mp4", + "isdel": 0, + "title": "项目十一 布莱克-舒尔斯欧式期权设计" +}, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%B8%80%EF%BC%9A%E5%B8%83%E8%8E%B1%E5%85%8B%E2%80%94%E8%88%92%E5%B0%94%E6%96%AF%E6%AC%A7%E5%BC%8F%E6%9C%9F%E6%9D%83.mp4", + "isdel": 0, + "title": "项目十一 布莱克-舒尔斯欧式期权设计(操作视频)" +}, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%BE%8E%E5%BC%8F%E6%9C%9F%E6%9D%83%E8%AE%BE%E8%AE%A1.pptx", + "isdel": 0, + "title": "项目十二 二叉树美式期权设计" +}, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%BA%8C%EF%BC%9A%E4%BA%8C%E5%8F%89%E6%A0%91%E7%BE%8E%E5%BC%8F%E6%9C%9F%E6%9D%83%E3%80%81.mp4", + "isdel": 0, + "title": "项目十二 二叉树美式期权设计(操作视频)" +}, { + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E5%B8%83%E8%8E%B1%E5%85%8B-%E8%88%92%E5%B0%94%E6%96%AF%E7%BE%8E%E5%BC%8F%E6%9C%9F%E6%9D%83%E8%AE%BE%E8%AE%A1.pptx", + "isdel": 0, + "title": "项目十三 布莱克-舒尔斯美式期权设计" +}, { + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%B8%89%EF%BC%9A%E5%B8%83%E8%8E%B1%E5%85%8B-%E8%88%92%E5%B0%94%E6%96%AF%E7%BE%8E%E5%BC%8F%E6%9C%9F%E6%9D%83.mp4", + "isdel": 0, + "title": "项目十三 布莱克-舒尔斯美式期权设计(操作视频)" +}, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/Covered%20Call.pptx", + "isdel": 0, + "title": "项目十四 Covered Call" +}, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%E5%9B%9B%EF%BC%9ACovered%20Call.mp4", + "isdel": 0, + "title": "项目十四 Covered Call(操作视频)" +}, { + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/Butterfiy%20Spread.pptx", + "isdel": 0, + "title": "项目十五 Butterfiy Spread" +}, { + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%BA%94%EF%BC%9A%E7%A2%9F%E5%BC%8F%E4%BB%B7%E5%B7%AE.mp4", + "isdel": 0, + "title": "项目十五 Butterfiy Spread(操作视频)" }]; export const videoList5 = [{ - 'id': 1, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E4%B8%80%20%E4%BA%86%E8%A7%A3matplotlib.pptx', - 'isdel': 0, - 'title': '项目一 了解matplotlib' -}, { - 'id': 1, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/%E9%A1%B9%E7%9B%AE%E4%B8%80%EF%BC%9A%E5%9F%BA%E7%A1%801%E2%80%94%E2%80%94%E4%BA%86%E8%A7%A3matplotlib%E7%9A%84%E5%8A%9F%E8%83%BD.mp4', - 'isdel': 0, - 'title': '项目一 了解matplotlib(操作视频)' -}, { - 'id': 3, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E4%BA%8C%20%E7%BB%98%E5%88%B6%E6%9D%A1%E5%BD%A2%E5%9B%BE.pptx', - 'isdel': 0, - 'title': '项目二 绘制条形图' -}, { - 'id': 3, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/%E9%A1%B9%E7%9B%AE%E4%BA%8C%EF%BC%9A%E5%9F%BA%E7%A1%802%E2%80%94%E2%80%94%E5%9B%BE%E5%BD%A2%E7%9A%84%E7%BB%98%E5%88%B6%28%E6%9D%A1%E5%BD%A2%E5%9B%BE%29.mp4', - 'isdel': 0, - 'title': '项目二 绘制条形图(操作视频)' -}, { - 'id': 5, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E4%B8%89%20%E7%BB%98%E5%88%B6%E7%9B%B4%E6%96%B9%E5%9B%BE.pptx', - 'isdel': 0, - 'title': '项目三 绘制直方图' -}, { - 'id': 5, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目三:基础3——图形的绘制(直方图).mp4', - 'isdel': 0, - 'title': '项目三 绘制直方图(操作视频)' -}, { - 'id': 2, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%9B%9B%20%E7%BB%98%E5%88%B6%E6%8A%98%E7%BA%BF%E5%9B%BE.pptx', - 'isdel': 0, - 'title': '项目四 绘制折线图' -}, { - 'id': 2, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目四:基础4——图形的绘制(折线图).mp4', - 'isdel': 0, - 'title': '项目四 绘制折线图(操作视频)' -}, { - 'id': 7, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E4%BA%94%20%E7%BB%98%E5%88%B6%E6%95%A3%E7%82%B9%E5%9B%BE.pptx', - 'isdel': 0, - 'title': '项目五 绘制散点图' -}, { - 'id': 7, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目五:基础5——图形的绘制(散点图).mp4', - 'isdel': 0, - 'title': '项目五 绘制散点图(操作视频)' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%85%AD%20%E7%BB%98%E5%88%B6%E7%AE%B1%E7%BA%BF%E5%9B%BE.pptx', - 'isdel': 0, - 'title': '项目六 绘制箱线图' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目六:基础6——图形的绘制(箱线图).mp4', - 'isdel': 0, - 'title': '项目六 绘制箱线图(操作视频)' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E4%B8%83%20%E7%BB%98%E5%88%B6%E9%A5%BC%E5%9B%BE.pptx', - 'isdel': 0, - 'title': '项目七 绘制饼图' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目七:基础7——图形的绘制(饼图).mp4', - 'isdel': 0, - 'title': '项目七 绘制饼图(操作视频)' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%85%AB%20%E7%BB%98%E5%88%B6%E9%9D%A2%E7%A7%AF%E5%9B%BE.pptx', - 'isdel': 0, - 'title': '项目八 绘制面积图' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目八:基础8——图形的绘制(面积图).mp4', - 'isdel': 0, - 'title': '项目八 绘制面积图(操作视频)' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E4%B9%9D%20%E7%BB%98%E5%88%B62D%E7%AD%89%E9%AB%98%E7%BA%BF%E5%9B%BE.pptx', - 'isdel': 0, - 'title': '项目九 绘制2D等高线图' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目九:进阶1——绘制2D等高线图.mp4', - 'isdel': 0, - 'title': '项目九 绘制2D等高线图(操作视频)' -}, { - 'id': 11, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%8D%81%20%E5%BD%93%E7%94%9F%E6%88%90%E7%9A%84%E5%9B%BE%E7%89%87%E6%9C%89%E4%B8%A4%E5%BC%A0%E6%88%96%E5%A4%9A%E5%BC%A0%E6%97%B6%E4%BF%9D%E8%AF%81%E5%9B%BE%E7%89%87%E4%B8%8D%E8%A6%86%E7%9B%96.pptx', - 'isdel': 0, - 'title': '项目十 当生成的图片有两张或多张时保证图片不覆盖' -}, { - 'id': 12, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%B8%80%20%E7%BB%99%E6%89%80%E7%94%9F%E6%88%90%E7%9A%84%E5%9B%BE%E7%89%87%E6%B7%BB%E5%8A%A0%E6%A0%87%E7%AD%BE.pptx', - 'isdel': 0, - 'title': '项目十一 给所生成的图片添加标签' -}, { - 'id': 12, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目十一:进阶3——给所生成的图片添加标签.mp4', - 'isdel': 0, - 'title': '项目十一 给所生成的图片添加标签(操作视频)' -}, { - 'id': 13, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%BA%8C%20%E5%A4%9A%E5%AD%90%E5%9B%BE.pptx', - 'isdel': 0, - 'title': '项目十二 多子图' -}, { - 'id': 13, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目十二:进阶4——多子图.mp4', - 'isdel': 0, - 'title': '项目十二 多子图(操作视频)' -}, { - 'id': 11, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%B8%89%20%E7%BB%98%E5%88%B6%E4%BA%8C%E7%BB%B4%E7%9B%B4%E6%96%B9%E5%9B%BE.pptx', - 'isdel': 0, - 'title': '项目十三 绘制二维直方图' -}, { - 'id': 11, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目十三:进阶5——绘制一张二维直方图.mp4', - 'isdel': 0, - 'title': '项目十三 绘制二维直方图(操作视频)' -}, { - 'id': 12, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%8D%81%E5%9B%9B%20%E8%87%AA%E5%AE%9A%E4%B9%89%E8%89%B2%E9%98%B6.pptx', - 'isdel': 0, - 'title': '项目十四 自定义色阶' -}, { - 'id': 12, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目十四:进阶6——在一张图中绘制3组不同的直方图,并给所生成的图片设置透明度.mp4', - 'isdel': 0, - 'title': '项目十四 自定义色阶(操作视频)' -}, { - 'id': 13, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%BA%94%20%E4%B8%89%E7%BB%B4%E5%9B%BE%E5%83%8F.pptx', - 'isdel': 0, - 'title': '项目十五 三维图像' -}, { - 'id': 13, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目十五:进阶7——自定义色阶.mp4', - 'isdel': 0, - 'title': '项目十五 三维图像(操作视频)' -}, { - 'id': 13, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目十六:进阶8——三维图像.mp4', - 'isdel': 0, - 'title': '项目十六 进阶8——三维图像(操作视频)' -}, { - 'id': 13, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%B8%83%EF%BC%9A%E7%BB%88%E9%98%B6%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96.mp4', - 'isdel': 0, - 'title': '项目十七 终阶——数据可视化' + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E4%B8%80%20%E4%BA%86%E8%A7%A3matplotlib.pptx", + "isdel": 0, + "title": "项目一 了解matplotlib" +}, { + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/%E9%A1%B9%E7%9B%AE%E4%B8%80%EF%BC%9A%E5%9F%BA%E7%A1%801%E2%80%94%E2%80%94%E4%BA%86%E8%A7%A3matplotlib%E7%9A%84%E5%8A%9F%E8%83%BD.mp4", + "isdel": 0, + "title": "项目一 了解matplotlib(操作视频)" +}, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E4%BA%8C%20%E7%BB%98%E5%88%B6%E6%9D%A1%E5%BD%A2%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目二 绘制条形图" +}, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/%E9%A1%B9%E7%9B%AE%E4%BA%8C%EF%BC%9A%E5%9F%BA%E7%A1%802%E2%80%94%E2%80%94%E5%9B%BE%E5%BD%A2%E7%9A%84%E7%BB%98%E5%88%B6%28%E6%9D%A1%E5%BD%A2%E5%9B%BE%29.mp4", + "isdel": 0, + "title": "项目二 绘制条形图(操作视频)" +}, { + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E4%B8%89%20%E7%BB%98%E5%88%B6%E7%9B%B4%E6%96%B9%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目三 绘制直方图" +}, { + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目三:基础3——图形的绘制(直方图).mp4", + "isdel": 0, + "title": "项目三 绘制直方图(操作视频)" +}, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%9B%9B%20%E7%BB%98%E5%88%B6%E6%8A%98%E7%BA%BF%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目四 绘制折线图" +}, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目四:基础4——图形的绘制(折线图).mp4", + "isdel": 0, + "title": "项目四 绘制折线图(操作视频)" +}, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E4%BA%94%20%E7%BB%98%E5%88%B6%E6%95%A3%E7%82%B9%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目五 绘制散点图" +}, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目五:基础5——图形的绘制(散点图).mp4", + "isdel": 0, + "title": "项目五 绘制散点图(操作视频)" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%85%AD%20%E7%BB%98%E5%88%B6%E7%AE%B1%E7%BA%BF%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目六 绘制箱线图" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目六:基础6——图形的绘制(箱线图).mp4", + "isdel": 0, + "title": "项目六 绘制箱线图(操作视频)" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E4%B8%83%20%E7%BB%98%E5%88%B6%E9%A5%BC%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目七 绘制饼图" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目七:基础7——图形的绘制(饼图).mp4", + "isdel": 0, + "title": "项目七 绘制饼图(操作视频)" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%85%AB%20%E7%BB%98%E5%88%B6%E9%9D%A2%E7%A7%AF%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目八 绘制面积图" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目八:基础8——图形的绘制(面积图).mp4", + "isdel": 0, + "title": "项目八 绘制面积图(操作视频)" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E4%B9%9D%20%E7%BB%98%E5%88%B62D%E7%AD%89%E9%AB%98%E7%BA%BF%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目九 绘制2D等高线图" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目九:进阶1——绘制2D等高线图.mp4", + "isdel": 0, + "title": "项目九 绘制2D等高线图(操作视频)" +}, { + "id": 11, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%8D%81%20%E5%BD%93%E7%94%9F%E6%88%90%E7%9A%84%E5%9B%BE%E7%89%87%E6%9C%89%E4%B8%A4%E5%BC%A0%E6%88%96%E5%A4%9A%E5%BC%A0%E6%97%B6%E4%BF%9D%E8%AF%81%E5%9B%BE%E7%89%87%E4%B8%8D%E8%A6%86%E7%9B%96.pptx", + "isdel": 0, + "title": "项目十 当生成的图片有两张或多张时保证图片不覆盖" +}, { + "id": 12, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%B8%80%20%E7%BB%99%E6%89%80%E7%94%9F%E6%88%90%E7%9A%84%E5%9B%BE%E7%89%87%E6%B7%BB%E5%8A%A0%E6%A0%87%E7%AD%BE.pptx", + "isdel": 0, + "title": "项目十一 给所生成的图片添加标签" +}, { + "id": 12, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目十一:进阶3——给所生成的图片添加标签.mp4", + "isdel": 0, + "title": "项目十一 给所生成的图片添加标签(操作视频)" +}, { + "id": 13, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%BA%8C%20%E5%A4%9A%E5%AD%90%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目十二 多子图" +}, { + "id": 13, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目十二:进阶4——多子图.mp4", + "isdel": 0, + "title": "项目十二 多子图(操作视频)" +}, { + "id": 11, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%B8%89%20%E7%BB%98%E5%88%B6%E4%BA%8C%E7%BB%B4%E7%9B%B4%E6%96%B9%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目十三 绘制二维直方图" +}, { + "id": 11, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目十三:进阶5——绘制一张二维直方图.mp4", + "isdel": 0, + "title": "项目十三 绘制二维直方图(操作视频)" +}, { + "id": 12, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%8D%81%E5%9B%9B%20%E8%87%AA%E5%AE%9A%E4%B9%89%E8%89%B2%E9%98%B6.pptx", + "isdel": 0, + "title": "项目十四 自定义色阶" +}, { + "id": 12, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目十四:进阶6——在一张图中绘制3组不同的直方图,并给所生成的图片设置透明度.mp4", + "isdel": 0, + "title": "项目十四 自定义色阶(操作视频)" +}, { + "id": 13, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%BA%94%20%E4%B8%89%E7%BB%B4%E5%9B%BE%E5%83%8F.pptx", + "isdel": 0, + "title": "项目十五 三维图像" +}, { + "id": 13, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目十五:进阶7——自定义色阶.mp4", + "isdel": 0, + "title": "项目十五 三维图像(操作视频)" +}, { + "id": 13, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目十六:进阶8——三维图像.mp4", + "isdel": 0, + "title": "项目十六 进阶8——三维图像(操作视频)" +}, { + "id": 13, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%B8%83%EF%BC%9A%E7%BB%88%E9%98%B6%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96.mp4", + "isdel": 0, + "title": "项目十七 终阶——数据可视化" }]; export const videoList6 = [{ - 'id': 1, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE%E4%B8%80%EF%BC%9A%E5%80%BA%E5%88%B8%E5%92%8C%E5%88%A9%E7%8E%87.pptx', - 'isdel': 0, - 'title': '项目一 债券和利率' -}, { - 'id': 1, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目一. 债券与利率.MP4', - 'isdel': 0, - 'title': '项目一 债券和利率(操作视频)' -}, { - 'id': 3, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE%E4%BA%8C%20%E8%B5%84%E4%BA%A7%E7%BB%84%E5%90%88.pptx', - 'isdel': 0, - 'title': '项目二 资产组合' -}, { - 'id': 3, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目二资产组合.mp4', - 'isdel': 0, - 'title': '项目二 资产组合(操作视频)' -}, { - 'id': 5, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/3%E6%9C%9F%E6%9D%83%E5%AE%9A%E4%BB%B7%E7%90%86%E8%AE%BA%E5%92%8C%E5%A5%97%E5%88%A9%E5%AE%9A%E4%BB%B7.pptx', - 'isdel': 0, - 'title': '项目三 期权定价理论和套利定价' -}, { - 'id': 5, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目三.期权定价理论和套利定价.mp4', - 'isdel': 0, - 'title': '项目三 期权定价理论和套利定价(操作视频)' -}, { - 'id': 2, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE%E5%9B%9Bppt.pptx', - 'isdel': 0, - 'title': '项目四 证券市场和股票的波动' -}, { - 'id': 2, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目四.证券市场和股票的波动.mp4', - 'isdel': 0, - 'title': '项目四 证券市场和股票的波动(操作视频)' -}, { - 'id': 7, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/5-%E9%A1%B9%E7%9B%AEppt.pptx', - 'isdel': 0, - 'title': '项目五 正态随机过程' -}, { - 'id': 7, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目五:正态随机过程.mp4', - 'isdel': 0, - 'title': '项目五 正态随机过程(操作视频)' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/6Poisson%E8%BF%87%E7%A8%8B.pptx', - 'isdel': 0, - 'title': '项目六 Poisson过程' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目六.Poisson过程.mp4', - 'isdel': 0, - 'title': '项目六 Poisson过程(操作视频)' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/7Python%E9%87%91%E8%9E%8D%E9%9A%8F%E6%9C%BA%E8%BF%87%E7%A8%8B%E5%AE%9E%E9%AA%8C%E6%95%99%E5%AD%A6%E7%B3%BB%E7%BB%9F%EF%BC%88%E7%AC%AC%E4%B8%83%E9%A1%B9%EF%BC%89.pptx', - 'isdel': 0, - 'title': '项目七 平稳随机过程' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/系统一 项目七 金融随机过程.mp4', - 'isdel': 0, - 'title': '项目七 平稳随机过程(操作视频)' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/8%E7%A6%BB%E6%95%A3%E5%8F%82%E6%95%B0Markov%E9%93%BE.pptx', - 'isdel': 0, - 'title': '项目八 离散参数Markov链' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目八:离散参数Markov链.mp4', - 'isdel': 0, - 'title': '项目八 离散参数Markov链(操作视频)' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE%E4%B9%9D%20%E8%BF%9E%E7%BB%AD%E6%97%B6%E9%97%B4Markov%E9%93%BE.pptx', - 'isdel': 0, - 'title': '项目九 连续时间Markov链' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目九.连续时间Markov链.mp4', - 'isdel': 0, - 'title': '项目九 连续时间Markov链(操作视频)' -}, { - 'id': 11, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE10_%E5%B8%83%E6%9C%97%E8%BF%90%E5%8A%A8.pptx', - 'isdel': 0, - 'title': '项目十 布朗运动' -}, { - 'id': 11, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目十.布朗运动.mp4', - 'isdel': 0, - 'title': '项目十 布朗运动(操作视频)' -}, { - 'id': 12, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE11_%E9%9E%85%E5%8F%8A%E5%85%B6%E5%BA%94%E7%94%A8.pptx', - 'isdel': 0, - 'title': '项目十一 鞅及其应用' -}, { - 'id': 12, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目十一.鞅及其应用.mp4', - 'isdel': 0, - 'title': '项目十一 鞅及其应用(操作视频)' -}, { - 'id': 13, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE12_%E9%9A%8F%E6%9C%BA%E5%BE%AE%E5%88%86%E6%96%B9%E7%A8%8B%E5%8F%8A%E5%85%B6%E5%9C%A8%E9%87%91%E8%9E%8D%E4%B8%AD%E7%9A%84%E5%BA%94%E7%94%A8.pptx', - 'isdel': 0, - 'title': '项目十二 随机微分方程及其在金融中的应用' -}, { - 'id': 13, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目十二:随机微分方程及其在金融中的应用.mp4', - 'isdel': 0, - 'title': '项目十二 随机微分方程及其在金融中的应用(操作视频)' + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE%E4%B8%80%EF%BC%9A%E5%80%BA%E5%88%B8%E5%92%8C%E5%88%A9%E7%8E%87.pptx", + "isdel": 0, + "title": "项目一 债券和利率" +}, { + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目一. 债券与利率.MP4", + "isdel": 0, + "title": "项目一 债券和利率(操作视频)" +}, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE%E4%BA%8C%20%E8%B5%84%E4%BA%A7%E7%BB%84%E5%90%88.pptx", + "isdel": 0, + "title": "项目二 资产组合" +}, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目二资产组合.mp4", + "isdel": 0, + "title": "项目二 资产组合(操作视频)" +}, { + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/3%E6%9C%9F%E6%9D%83%E5%AE%9A%E4%BB%B7%E7%90%86%E8%AE%BA%E5%92%8C%E5%A5%97%E5%88%A9%E5%AE%9A%E4%BB%B7.pptx", + "isdel": 0, + "title": "项目三 期权定价理论和套利定价" +}, { + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目三.期权定价理论和套利定价.mp4", + "isdel": 0, + "title": "项目三 期权定价理论和套利定价(操作视频)" +}, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE%E5%9B%9Bppt.pptx", + "isdel": 0, + "title": "项目四 证券市场和股票的波动" +}, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目四.证券市场和股票的波动.mp4", + "isdel": 0, + "title": "项目四 证券市场和股票的波动(操作视频)" +}, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/5-%E9%A1%B9%E7%9B%AEppt.pptx", + "isdel": 0, + "title": "项目五 正态随机过程" +}, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目五:正态随机过程.mp4", + "isdel": 0, + "title": "项目五 正态随机过程(操作视频)" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/6Poisson%E8%BF%87%E7%A8%8B.pptx", + "isdel": 0, + "title": "项目六 Poisson过程" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目六.Poisson过程.mp4", + "isdel": 0, + "title": "项目六 Poisson过程(操作视频)" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/7Python%E9%87%91%E8%9E%8D%E9%9A%8F%E6%9C%BA%E8%BF%87%E7%A8%8B%E5%AE%9E%E9%AA%8C%E6%95%99%E5%AD%A6%E7%B3%BB%E7%BB%9F%EF%BC%88%E7%AC%AC%E4%B8%83%E9%A1%B9%EF%BC%89.pptx", + "isdel": 0, + "title": "项目七 平稳随机过程" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/系统一 项目七 金融随机过程.mp4", + "isdel": 0, + "title": "项目七 平稳随机过程(操作视频)" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/8%E7%A6%BB%E6%95%A3%E5%8F%82%E6%95%B0Markov%E9%93%BE.pptx", + "isdel": 0, + "title": "项目八 离散参数Markov链" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目八:离散参数Markov链.mp4", + "isdel": 0, + "title": "项目八 离散参数Markov链(操作视频)" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE%E4%B9%9D%20%E8%BF%9E%E7%BB%AD%E6%97%B6%E9%97%B4Markov%E9%93%BE.pptx", + "isdel": 0, + "title": "项目九 连续时间Markov链" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目九.连续时间Markov链.mp4", + "isdel": 0, + "title": "项目九 连续时间Markov链(操作视频)" +}, { + "id": 11, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE10_%E5%B8%83%E6%9C%97%E8%BF%90%E5%8A%A8.pptx", + "isdel": 0, + "title": "项目十 布朗运动" +}, { + "id": 11, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目十.布朗运动.mp4", + "isdel": 0, + "title": "项目十 布朗运动(操作视频)" +}, { + "id": 12, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE11_%E9%9E%85%E5%8F%8A%E5%85%B6%E5%BA%94%E7%94%A8.pptx", + "isdel": 0, + "title": "项目十一 鞅及其应用" +}, { + "id": 12, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目十一.鞅及其应用.mp4", + "isdel": 0, + "title": "项目十一 鞅及其应用(操作视频)" +}, { + "id": 13, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE12_%E9%9A%8F%E6%9C%BA%E5%BE%AE%E5%88%86%E6%96%B9%E7%A8%8B%E5%8F%8A%E5%85%B6%E5%9C%A8%E9%87%91%E8%9E%8D%E4%B8%AD%E7%9A%84%E5%BA%94%E7%94%A8.pptx", + "isdel": 0, + "title": "项目十二 随机微分方程及其在金融中的应用" +}, { + "id": 13, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目十二:随机微分方程及其在金融中的应用.mp4", + "isdel": 0, + "title": "项目十二 随机微分方程及其在金融中的应用(操作视频)" }]; export const videoList7 = [{ - 'id': 1, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/1.pptx', - 'isdel': 0, - 'title': '项目一 了解matplotlib的功能' -}, { - 'id': 1, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目一:基础了解maplab.mp4', - 'isdel': 0, - 'title': '项目一 了解matplotlib的功能(操作视频)' -}, { - 'id': 3, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/2.pptx', - 'isdel': 0, - 'title': '项目二 K线图' -}, { - 'id': 3, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目二:基础——K线图.mp4', - 'isdel': 0, - 'title': '项目二 K线图(操作视频)' -}, { - 'id': 6, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/3.pptx', - 'isdel': 0, - 'title': '项目三 动量交易策略' -}, { - 'id': 6, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目三:基础——动量交易策略.mp4', - 'isdel': 0, - 'title': '项目三 动量交易策略(操作视频)' -}, { - 'id': 5, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/4.pptx', - 'isdel': 0, - 'title': '项目四 RSI相对强弱指标' -}, { - 'id': 5, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目四:基础——RSI相对强弱指标.mp4', - 'isdel': 0, - 'title': '项目四 RSI相对强弱指标(操作视频)' -}, { - 'id': 2, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/5.pptx', - 'isdel': 0, - 'title': '项目五 简单移动平均' -}, { - 'id': 2, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目五:基础——简单移动平均.mp4', - 'isdel': 0, - 'title': '项目五 简单移动平均(操作视频)' -}, { - 'id': 7, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/6.pptx', - 'isdel': 0, - 'title': '项目六 加权移动平均' -}, { - 'id': 7, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目六:基础——加权移动平均.mp4', - 'isdel': 0, - 'title': '项目六 加权移动平均(操作视频)' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/7.pptx', - 'isdel': 0, - 'title': '项目七 通道突破策略' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目七:进阶1——通道突破策略.mp4', - 'isdel': 0, - 'title': '项目七 通道突破策略(操作视频)' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/8.pptx', - 'isdel': 0, - 'title': '项目八 KDJ交易策略' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目八:进阶2——KDJ交易策略.mp4', - 'isdel': 0, - 'title': '项目八 KDJ交易策略(操作视频)' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/9.pptx', - 'isdel': 0, - 'title': '项目九 OBV指标交易策略' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目九:进阶3——OBV指标交易策略.mp4', - 'isdel': 0, - 'title': '项目九 OBV指标交易策略(操作视频)' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/10.pptx', - 'isdel': 0, - 'title': '项目十 基于机器学习的量化投资策略概览' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目十:终阶——基于机器学习的量化投资概览.mp4', - 'isdel': 0, - 'title': '项目十 基于机器学习的量化投资策略概览(操作视频)' + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/1.pptx", + "isdel": 0, + "title": "项目一 了解matplotlib的功能" +}, { + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目一:基础了解maplab.mp4", + "isdel": 0, + "title": "项目一 了解matplotlib的功能(操作视频)" +}, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/2.pptx", + "isdel": 0, + "title": "项目二 K线图" +}, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目二:基础——K线图.mp4", + "isdel": 0, + "title": "项目二 K线图(操作视频)" +}, { + "id": 6, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/3.pptx", + "isdel": 0, + "title": "项目三 动量交易策略" +}, { + "id": 6, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目三:基础——动量交易策略.mp4", + "isdel": 0, + "title": "项目三 动量交易策略(操作视频)" +}, { + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/4.pptx", + "isdel": 0, + "title": "项目四 RSI相对强弱指标" +}, { + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目四:基础——RSI相对强弱指标.mp4", + "isdel": 0, + "title": "项目四 RSI相对强弱指标(操作视频)" +}, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/5.pptx", + "isdel": 0, + "title": "项目五 简单移动平均" +}, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目五:基础——简单移动平均.mp4", + "isdel": 0, + "title": "项目五 简单移动平均(操作视频)" +}, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/6.pptx", + "isdel": 0, + "title": "项目六 加权移动平均" +}, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目六:基础——加权移动平均.mp4", + "isdel": 0, + "title": "项目六 加权移动平均(操作视频)" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/7.pptx", + "isdel": 0, + "title": "项目七 通道突破策略" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目七:进阶1——通道突破策略.mp4", + "isdel": 0, + "title": "项目七 通道突破策略(操作视频)" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/8.pptx", + "isdel": 0, + "title": "项目八 KDJ交易策略" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目八:进阶2——KDJ交易策略.mp4", + "isdel": 0, + "title": "项目八 KDJ交易策略(操作视频)" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/9.pptx", + "isdel": 0, + "title": "项目九 OBV指标交易策略" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目九:进阶3——OBV指标交易策略.mp4", + "isdel": 0, + "title": "项目九 OBV指标交易策略(操作视频)" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/10.pptx", + "isdel": 0, + "title": "项目十 基于机器学习的量化投资策略概览" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目十:终阶——基于机器学习的量化投资概览.mp4", + "isdel": 0, + "title": "项目十 基于机器学习的量化投资策略概览(操作视频)" }]; export const videoList8 = [{ - 'id': 1, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE%E4%B8%80%20%E6%95%B0%E6%8D%AE%E5%8C%85%E7%9A%84%E4%BD%BF%E7%94%A8.pptx', - 'isdel': 0, - 'title': '项目一 数据包的使用' -}, { - 'id': 1, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目一.mp4', - 'isdel': 0, - 'title': '项目一 数据包的使用(操作视频)' -}, { - 'id': 3, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E5%9F%BA%E7%A1%80%E2%80%94%E2%80%94%E4%BD%BF%E7%94%A8numpy%E5%AE%9A%E4%B9%89%E4%B8%80%E7%BB%B4%E6%95%B0%E7%BB%84--2.pptx', - 'isdel': 0, - 'title': '项目二 使用numpy定义一维数组' -}, { - 'id': 3, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目二.mp4', - 'isdel': 0, - 'title': '项目二 使用numpy定义一维数组(操作视频)' -}, { - 'id': 6, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E5%9F%BA%E7%A1%80%E2%80%94%E2%80%94%E4%BD%BF%E7%94%A8pandas%E5%AE%9A%E4%B9%89%E4%B8%80%E7%BB%B4%E6%95%B0%E7%BB%84--3.pptx', - 'isdel': 0, - 'title': '项目三 使用pandas定义一维数组' -}, { - 'id': 6, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目三.mp4', - 'isdel': 0, - 'title': '项目三 使用pandas定义一维数组(操作视频)' -}, { - 'id': 5, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E5%9F%BA%E7%A1%80%E2%80%94%E2%80%94%E4%BD%BF%E7%94%A8numpy%E5%AE%9A%E4%B9%89%E4%BA%8C%E7%BB%B4%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84--4.pptx', - 'isdel': 0, - 'title': '项目四 使用numpy定义二维数据结构' -}, { - 'id': 5, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目四.mp4', - 'isdel': 0, - 'title': '项目四 使用numpy定义二维数据结构(操作视频)' -}, { - 'id': 2, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E5%9F%BA%E7%A1%80%E2%80%94%E2%80%94%E4%BD%BF%E7%94%A8pandas-DataFrame%EF%BC%88%E6%95%B0%E6%8D%AE%E6%A1%86%EF%BC%89%E5%AE%9A%E4%B9%89%E4%BA%8C%E7%BB%B4%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84--5.pptx', - 'isdel': 0, - 'title': '项目五 使用Pandas-DataFrame(数据框)定义二维数据结构' -}, { - 'id': 2, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目五.mp4', - 'isdel': 0, - 'title': '项目五 使用Pandas-DataFrame(数据框)定义二维数据结构(操作视频)' -}, { - 'id': 7, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E5%9F%BA%E7%A1%80%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E9%9B%86%E6%8F%8F%E8%BF%B0%E7%BB%9F%E8%AE%A1%E4%BF%A1%E6%81%AF--6.pptx', - 'isdel': 0, - 'title': '项目六 数据集描述统计信息' -}, { - 'id': 7, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目六.mp4', - 'isdel': 0, - 'title': '项目六 数据集描述统计信息(操作视频)' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE7_%E7%90%86%E8%A7%A3%E6%95%B0%E6%8D%AE.pptx', - 'isdel': 0, - 'title': '项目七 理解数据' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目七.mp4', - 'isdel': 0, - 'title': '项目七 理解数据(操作视频)' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE%E5%85%AB%20%E6%A8%A1%E5%9E%8B%E6%9E%84%E5%BB%BA.pptx', - 'isdel': 0, - 'title': '项目八 模型构建' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目八.mp4', - 'isdel': 0, - 'title': '项目八 模型构建(操作视频)' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E8%BF%9B%E9%98%B63%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E6%B8%85%E6%B4%97--9.pptx', - 'isdel': 0, - 'title': '项目九 数据清洗' -}, { - 'id': 4, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目九.mp4', - 'isdel': 0, - 'title': '项目九 数据清洗(操作视频)' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE%E5%8D%81%20%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96.pptx', - 'isdel': 0, - 'title': '项目十 数据可视化' -}, { - 'id': 9, - 'links': 'https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目十.mp4', - 'isdel': 0, - 'title': '项目十 数据可视化(操作视频)' + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE%E4%B8%80%20%E6%95%B0%E6%8D%AE%E5%8C%85%E7%9A%84%E4%BD%BF%E7%94%A8.pptx", + "isdel": 0, + "title": "项目一 数据包的使用" +}, { + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目一.mp4", + "isdel": 0, + "title": "项目一 数据包的使用(操作视频)" +}, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E5%9F%BA%E7%A1%80%E2%80%94%E2%80%94%E4%BD%BF%E7%94%A8numpy%E5%AE%9A%E4%B9%89%E4%B8%80%E7%BB%B4%E6%95%B0%E7%BB%84--2.pptx", + "isdel": 0, + "title": "项目二 使用numpy定义一维数组" +}, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目二.mp4", + "isdel": 0, + "title": "项目二 使用numpy定义一维数组(操作视频)" +}, { + "id": 6, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E5%9F%BA%E7%A1%80%E2%80%94%E2%80%94%E4%BD%BF%E7%94%A8pandas%E5%AE%9A%E4%B9%89%E4%B8%80%E7%BB%B4%E6%95%B0%E7%BB%84--3.pptx", + "isdel": 0, + "title": "项目三 使用pandas定义一维数组" +}, { + "id": 6, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目三.mp4", + "isdel": 0, + "title": "项目三 使用pandas定义一维数组(操作视频)" +}, { + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E5%9F%BA%E7%A1%80%E2%80%94%E2%80%94%E4%BD%BF%E7%94%A8numpy%E5%AE%9A%E4%B9%89%E4%BA%8C%E7%BB%B4%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84--4.pptx", + "isdel": 0, + "title": "项目四 使用numpy定义二维数据结构" +}, { + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目四.mp4", + "isdel": 0, + "title": "项目四 使用numpy定义二维数据结构(操作视频)" +}, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E5%9F%BA%E7%A1%80%E2%80%94%E2%80%94%E4%BD%BF%E7%94%A8pandas-DataFrame%EF%BC%88%E6%95%B0%E6%8D%AE%E6%A1%86%EF%BC%89%E5%AE%9A%E4%B9%89%E4%BA%8C%E7%BB%B4%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84--5.pptx", + "isdel": 0, + "title": "项目五 使用Pandas-DataFrame(数据框)定义二维数据结构" +}, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目五.mp4", + "isdel": 0, + "title": "项目五 使用Pandas-DataFrame(数据框)定义二维数据结构(操作视频)" +}, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E5%9F%BA%E7%A1%80%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E9%9B%86%E6%8F%8F%E8%BF%B0%E7%BB%9F%E8%AE%A1%E4%BF%A1%E6%81%AF--6.pptx", + "isdel": 0, + "title": "项目六 数据集描述统计信息" +}, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目六.mp4", + "isdel": 0, + "title": "项目六 数据集描述统计信息(操作视频)" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE7_%E7%90%86%E8%A7%A3%E6%95%B0%E6%8D%AE.pptx", + "isdel": 0, + "title": "项目七 理解数据" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目七.mp4", + "isdel": 0, + "title": "项目七 理解数据(操作视频)" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE%E5%85%AB%20%E6%A8%A1%E5%9E%8B%E6%9E%84%E5%BB%BA.pptx", + "isdel": 0, + "title": "项目八 模型构建" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目八.mp4", + "isdel": 0, + "title": "项目八 模型构建(操作视频)" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E8%BF%9B%E9%98%B63%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E6%B8%85%E6%B4%97--9.pptx", + "isdel": 0, + "title": "项目九 数据清洗" +}, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目九.mp4", + "isdel": 0, + "title": "项目九 数据清洗(操作视频)" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE%E5%8D%81%20%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96.pptx", + "isdel": 0, + "title": "项目十 数据可视化" +}, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目十.mp4", + "isdel": 0, + "title": "项目十 数据可视化(操作视频)" }]; diff --git a/src/main.js b/src/main.js index 5a63a36..c476d06 100644 --- a/src/main.js +++ b/src/main.js @@ -1,32 +1,34 @@ -import Vue from 'vue'; -import App from '@/App.vue'; -import router from '@/router'; -import ElementUI from 'element-ui'; -import '@/styles/index.scss' -import VueI18n from 'vue-i18n'; -import mixinApp from '@/mixins/app'; -import { messages } from '@/i18n'; -import 'babel-polyfill'; -import '@/libs/resize'; -import {post,get,del,put} from '@/plugins/requests/index.js'; -import api from '@/api'; -import store from '@/store' -import Setting from '@/setting'; -import permission from '@/router/permission'; +import Vue from "vue"; +import App from "@/App.vue"; +import router from "@/router"; +import ElementUI from "element-ui"; +import "@/styles/index.scss"; +import VueI18n from "vue-i18n"; +import mixinApp from "@/mixins/app"; +import { messages } from "@/i18n"; +import "babel-polyfill"; +import "@/libs/resize"; +import { post, get, del, put } from "@/plugins/requests/index.js"; +import core from '@/libs/core' +import api from "@/api"; +import store from "@/store"; +import Setting from "@/setting"; +import permission from "@/router/permission"; // 插件 -import plugins from '@/plugins'; -import filters from '@/plugins/filters' +import plugins from "@/plugins"; +import filters from "@/plugins/filters"; Vue.use(plugins); -Object.keys(filters).forEach(item => Vue.filter(item,filters[item])) +Object.keys(filters).forEach(item => Vue.filter(item, filters[item])); Vue.prototype.api = api; Vue.prototype.$get = get; Vue.prototype.$post = post; Vue.prototype.$del = del; Vue.prototype.$put = put; +Vue.prototype.core = core Vue.config.productionTip = false; Vue.use(VueI18n); @@ -42,4 +44,4 @@ new Vue({ i18n, store, render: h => h(App) -}).$mount('#app'); +}).$mount("#app"); diff --git a/src/mixins/app.js b/src/mixins/app.js index 64aaa70..fa8020a 100644 --- a/src/mixins/app.js +++ b/src/mixins/app.js @@ -4,8 +4,8 @@ export default { methods: { // 当 $route 更新时触发 - appRouteChange (to, from) { + appRouteChange(to, from) { } } -} +}; diff --git a/src/mixins/setBackground/index.js b/src/mixins/setBackground/index.js index 9d9fd4a..3c058de 100644 --- a/src/mixins/setBackground/index.js +++ b/src/mixins/setBackground/index.js @@ -1,8 +1,8 @@ export default { beforeCreate() { - document.querySelector('body').setAttribute('style', 'background-color:#fff') + document.querySelector("body").setAttribute("style", "background-color:#fff"); }, beforeDestroy() { - document.body.removeAttribute('style') + document.body.removeAttribute("style"); } -} \ No newline at end of file +}; \ No newline at end of file diff --git a/src/pages/account/login/index.vue b/src/pages/account/login/index.vue index dc03400..60ed199 100644 --- a/src/pages/account/login/index.vue +++ b/src/pages/account/login/index.vue @@ -28,26 +28,34 @@
- - + + - + - 登录 + + + + + + 登录 - - + + @@ -78,7 +86,8 @@
- +
@@ -88,7 +97,8 @@
- + \ No newline at end of file diff --git a/src/pages/account/register/index.vue b/src/pages/account/register/index.vue index ab9f6f5..b9c7009 100644 --- a/src/pages/account/register/index.vue +++ b/src/pages/account/register/index.vue @@ -2,7 +2,7 @@

账号注册

- +
@@ -25,28 +25,29 @@

省份

+ v-for="item in provinceList" + :key="item.value" + :label="item.provinceName" + :value="item.provinceId" + >

城市

+ v-for="item in cityList" + :key="item.value" + :label="item.cityName" + :value="item.cityId" + >

学校

- +
@@ -68,10 +69,11 @@ - +
- + 注册
@@ -82,34 +84,34 @@ export default { data: function() { return { regForm: { - userName: '', - workNumber: '', - provinceId: '', - cityId: '', - schoolAppellationId: '', - phone: '', - password: '', - rePassword: '', + userName: "", + workNumber: "", + provinceId: "", + cityId: "", + schoolAppellationId: "", + phone: "", + password: "", + rePassword: "", roleId: 4, schoolId: this.$config.schoolId }, regRules: { - userName: [{ required: true, message: '请输入学生姓名', trigger: 'blur' }], - workNumber: [{ required: true, message: '请输入学生学号', trigger: 'blur' }], - provinceId: [{ required: true, message: '请选择省份', trigger: 'change' }], - cityId: [{ required: true, message: '请选择城市', trigger: 'change' }], - schoolAppellationId: [{ required: true, message: '请选择学校', trigger: 'change' }], + userName: [{ required: true, message: "请输入学生姓名", trigger: "blur" }], + workNumber: [{ required: true, message: "请输入学生学号", trigger: "blur" }], + provinceId: [{ required: true, message: "请选择省份", trigger: "change" }], + cityId: [{ required: true, message: "请选择城市", trigger: "change" }], + schoolAppellationId: [{ required: true, message: "请选择学校", trigger: "change" }], phone: [ - { required: true, message: '请输入手机号', trigger: 'blur' }, - { pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur' } + { required: true, message: "请输入手机号", trigger: "blur" }, + { pattern: /^1[3456789]\d{9}$/, message: "请输入正确的手机号", trigger: "blur" } ], password: [ - { required: true, message: '请输入密码', trigger: 'blur' }, - { pattern: /^.{6,}$/, message: '请输入6位数以上的密码', trigger: 'blur' } + { required: true, message: "请输入密码", trigger: "blur" }, + { pattern: /^.{6,}$/, message: "请输入6位数以上的密码", trigger: "blur" } ], rePassword: [ - { required: true, message: '请再次输入密码', trigger: 'blur' }, - { pattern: /^.{6,}$/, message: '请输入6位数以上的密码', trigger: 'blur' } + { required: true, message: "请再次输入密码", trigger: "blur" }, + { pattern: /^.{6,}$/, message: "请输入6位数以上的密码", trigger: "blur" } ] }, provinceList: this.$store.state.provinceList, //省份 @@ -120,118 +122,132 @@ export default { }; }, mounted() { - this.getProvince() - this.getSchoolData() + this.getProvince(); + this.getSchoolData(); }, methods: { - getProvince(){ + getProvince() { this.$get(this.api.queryProvince).then(res => { - this.provinceList = res.message - this.$store.commit("provinceData", { provinceList : this.provinceList}); - }).catch(res => {}); + this.provinceList = res.message; + this.$store.commit("provinceData", { provinceList: this.provinceList }); + }).catch(res => { + }); }, // 获取城市 - getCity(){ - this.regForm.cityId = '' - this.$get(this.api.queryCity,{provinceId: this.regForm.provinceId}).then(res => { - this.cityList = res.message - this.getSchoolData() - }).catch(res => {}) + getCity() { + this.regForm.cityId = ""; + this.$get(this.api.queryCity, { provinceId: this.regForm.provinceId }).then(res => { + this.cityList = res.message; + this.getSchoolData(); + }).catch(res => { + }); }, // 获取学校名称 - getSchoolData(){ - this.regForm.schoolAppellationId = '' - this.$get(this.api.querySchoolData,{provinceId: this.regForm.provinceId,cityId: this.regForm.cityId,schoolName: ''}).then(res => { - this.schoolList = res.message - }).catch(res => {}); + getSchoolData() { + this.regForm.schoolAppellationId = ""; + this.$get(this.api.querySchoolData, { + provinceId: this.regForm.provinceId, + cityId: this.regForm.cityId, + schoolName: "" + }).then(res => { + this.schoolList = res.message; + }).catch(res => { + }); }, registerForm() { this.$refs.reg.validate(valid => { if (valid) { - if(this.phoneRepeat) return util.warningMsg('该手机号已存在') - if(this.workNumberReapeat) return util.warningMsg('该学生学号已存在') - if(this.regForm.password !== this.regForm.rePassword) return util.warningMsg('两次输入的密码不一致,请重新输入') + if (this.phoneRepeat) return util.warningMsg("该手机号已存在"); + if (this.workNumberReapeat) return util.warningMsg("该学生学号已存在"); + if (this.regForm.password !== this.regForm.rePassword) return util.warningMsg("两次输入的密码不一致,请重新输入"); - let data = this.regForm - data.account = data.phone - data.uniqueIdentificationAccount = new Date().getTime() - this.$post(`${this.api.save}?workNumber=${this.regForm.workNumber}`,data).then(res => { - util.successMsg('注册成功') - this.$emit('update:isReg',false) - this.$emit('updateInfo',{username: this.regForm.phone,password: this.regForm.password}) - this.$refs.reg.resetFields() - }).catch(res => {}); + let data = this.regForm; + data.account = data.phone; + data.uniqueIdentificationAccount = new Date().getTime(); + this.$post(`${this.api.save}?workNumber=${this.regForm.workNumber}`, data).then(res => { + util.successMsg("注册成功"); + this.$emit("update:isReg", false); + this.$emit("updateInfo", { username: this.regForm.phone, password: this.regForm.password }); + this.$refs.reg.resetFields(); + }).catch(res => { + }); } else { // util.errorMsg('请输入账号和密码'); return false; } }); }, - async phoneChange(){ + async phoneChange() { let res = await this.$get(this.api.queryPhone, { phone: this.regForm.phone }); - if(res.message.length != 0){ - util.warningMsg('该手机号已存在'); - this.phoneRepeat = true - }else{ - this.phoneRepeat = false + if (res.message.length != 0) { + util.warningMsg("该手机号已存在"); + this.phoneRepeat = true; + } else { + this.phoneRepeat = false; } }, - async worknumberChange(){ - let res = await this.$get(this.api.queryWorkNumberIsExist, { + async worknumberChange() { + let res = await this.$get(this.api.queryWorkNumberIsExist, { workNumber: this.regForm.workNumber, roleId: 4, schoolAppellationId: this.regForm.schoolAppellationId }); - if(JSON.stringify(res.message) != '{}'){ - util.warningMsg('该学生学号已存在'); - this.workNumberReapeat = true - }else{ - this.workNumberReapeat = false + if (JSON.stringify(res.message) != "{}") { + util.warningMsg("该学生学号已存在"); + this.workNumberReapeat = true; + } else { + this.workNumberReapeat = false; } }, toLogin() { - this.$emit('update:isReg',false) + this.$emit("update:isReg", false); } - }, + } }; \ No newline at end of file diff --git a/src/pages/ass/list/index.vue b/src/pages/ass/list/index.vue index 3d510b1..c9ade44 100644 --- a/src/pages/ass/list/index.vue +++ b/src/pages/ass/list/index.vue @@ -7,67 +7,111 @@ + +
+
- + - - - - + + + - - - - - - - - + + + + - +