mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-07 18:06:44 +08:00
382 lines
12 KiB
JavaScript
382 lines
12 KiB
JavaScript
import Vue from 'vue'
|
|
import VueRouter from 'vue-router'
|
|
/* Layout */
|
|
import Layout from '@/layout/index'
|
|
import LayoutPortal from '@/layout/portal'
|
|
import Grateful from '@/views/grateful'
|
|
|
|
Vue.use(VueRouter)
|
|
|
|
export const constantRoutes = [{
|
|
path: '/redirect',
|
|
component: Layout,
|
|
hidden: true,
|
|
children: [{
|
|
path: '/redirect/:path(.*)',
|
|
component: (resolve) => require(['@/views/Redirect'], resolve)
|
|
}]
|
|
}, {
|
|
path: '',
|
|
redirect: '/study'
|
|
},
|
|
{
|
|
path: '/loading',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/Loading'], resolve),
|
|
name: 'loading',
|
|
meta: {title: '正在进入学习中心', icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
{
|
|
path: '/login',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/Login'], resolve),
|
|
name: 'login',
|
|
meta: {title: '京东方大学堂登录', icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
{
|
|
path: '/index',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/Index'], resolve),
|
|
name: 'index',
|
|
meta: {title: '首页', icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
// {
|
|
// path: '/grateful/index',
|
|
// hidden: true,
|
|
// component: (resolve) => require(['@/views/grateful'], resolve),
|
|
// name: 'gratefulIndex',
|
|
// meta: { title: '感恩教师首页', icon: 'dashboard', noCache: true, affix: false },
|
|
// },
|
|
{
|
|
path: '/grateful',
|
|
component: Grateful,
|
|
redirect: '/grateful/index',
|
|
children: [
|
|
{
|
|
path: 'index',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/grateful/GratefulHomePage'], resolve),
|
|
name: 'GratefulHomePage',
|
|
meta: {title: '感恩教师首页', icon: 'dashboard', noCache: true, affix: true, hidden: false}
|
|
},
|
|
{
|
|
path: 'teacherEmpowerment',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/grateful/TeacherEmpowerment'], resolve),
|
|
name: 'TeacherEmpowerment',
|
|
meta: {title: '教师赋能', icon: 'dashboard', noCache: true, affix: true, hidden: true}
|
|
},
|
|
{
|
|
path: 'toolDown',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/grateful/ToolDown'], resolve),
|
|
name: 'ToolDown',
|
|
meta: {title: '工具下载', icon: 'dashboard', noCache: true, affix: true, hidden: true}
|
|
},
|
|
{
|
|
path: 'gratefulNotice',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/grateful/GratefulNotice'], resolve),
|
|
name: 'GratefulNotice',
|
|
meta: {title: '通知列表', icon: 'dashboard', noCache: true, affix: true, hidden: true}
|
|
},
|
|
{
|
|
path: 'noticeDetail',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/grateful/NoticeDetail'], resolve),
|
|
name: 'NoticeDetail',
|
|
meta: {title: '通知详情', icon: 'dashboard', noCache: true, affix: true, hidden: true}
|
|
},
|
|
{
|
|
path: 'teacherOpinion',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/grateful/TeacherOpinion'], resolve),
|
|
name: 'TeacherOpinion',
|
|
meta: {title: '师资大全', icon: 'dashboard', noCache: true, affix: true, hidden: true}
|
|
},
|
|
]
|
|
},
|
|
{
|
|
path: '/forward',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/Forward'], resolve),
|
|
name: 'forward',
|
|
meta: {title: '详细信息', icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
{
|
|
path: '/course',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/course/Index'], resolve),
|
|
name: 'course',
|
|
meta: {title: '课程', keepAlive: true, icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
{
|
|
path: '/courseRecommended',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/course/CourseRecommended'], resolve),
|
|
name: 'courseRecommended',
|
|
meta: {title: '推荐课程', keepAlive: true, icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
{
|
|
path: '/courseSeries',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/course/CourseSeries'], resolve),
|
|
name: 'courseSeries',
|
|
meta: {title: '系列课程', keepAlive: true, icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
{
|
|
path: '/course/micro',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/course/Micro'], resolve),
|
|
name: 'courseDetailMicro',
|
|
meta: {title: '课程详情', icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
{
|
|
path: '/course/detail',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/course/Detail'], resolve),
|
|
name: 'courseDetail',
|
|
meta: {title: '课程详情', keepAlive: true, icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
// 课程预览
|
|
{
|
|
path: '/course/microPreview',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/course/microPreview'], resolve),
|
|
name: 'microPreview',
|
|
meta: {title: '课程预览', icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
{
|
|
path: '/course/rePreview',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/course/rePreview'], resolve),
|
|
name: 'courseRePreview',
|
|
meta: {title: '课程预览', icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
//
|
|
// 外来链接
|
|
{
|
|
path: '/course/boeframe',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/boeframe'], resolve),
|
|
name: 'courseBoeframe',
|
|
meta: {title: '课程预览', icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
//外来链接
|
|
{
|
|
path: '/course/recorded',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/course/Recorded'], resolve),
|
|
name: 'courseDetailRecorded',
|
|
meta: {title: '课程详情', icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
{
|
|
//此页面需要指定课程的参数
|
|
path: '/course/studyindex',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/study/coursenew'], resolve),
|
|
name: 'courseStudyIndex',
|
|
meta: {title: '课程学习', keepAlive: true, icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
//讲师认证
|
|
{
|
|
path: '/case',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/case/Index'], resolve),
|
|
name: 'case',
|
|
meta: {title: '案例', keepAlive: true, icon: 'dashboard', noCache: false, affix: true},
|
|
},
|
|
{
|
|
path: '/case/detail',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/case/Detail'], resolve),
|
|
name: 'caseDetail',
|
|
meta: {title: '案例详情', keepAlive: true, icon: 'dashboard', noCache: false, affix: true},
|
|
},
|
|
{
|
|
path: '/case/charts',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/case/Charts'], resolve),
|
|
name: 'caseCharts',
|
|
meta: {title: '排行榜', keepAlive: true, icon: 'dashboard', noCache: false, affix: true},
|
|
},
|
|
{
|
|
path: '/case/excellent',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/case/Excellent'], resolve),
|
|
name: 'caseExcellent',
|
|
meta: {title: '浏览量榜单', keepAlive: true, icon: 'dashboard', noCache: false, affix: true},
|
|
},
|
|
{
|
|
path: '/article',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/article/Index'], resolve),
|
|
name: 'article',
|
|
meta: {title: '文章', icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
{
|
|
path: '/article/detail',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/article/Detail'], resolve),
|
|
name: 'articleDetail',
|
|
meta: {title: '文章详情', icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
{
|
|
path: '/article/add',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/article/Add'], resolve),
|
|
name: 'articleAdd',
|
|
meta: {title: '发布文章', icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
{
|
|
path: '/qa',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/qa/Index'], resolve),
|
|
name: 'qa',
|
|
meta: {title: '问答', icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
{
|
|
path: '/message',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/user/Message'], resolve),
|
|
name: 'userMsg',
|
|
meta: {title: '我的消息', icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
{
|
|
path: '/home',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/homepage/Index'], resolve),
|
|
name: 'homePage',
|
|
redirect: '/home/:id',
|
|
meta: {title: '个人主页', icon: 'dashboard', noCache: true, affix: false},
|
|
children: [{
|
|
path: ':id',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/homepage/page'], resolve),
|
|
name: 'page',
|
|
meta: {title: '个人主页', icon: 'dashboard', noCache: true, affix: true}
|
|
},
|
|
{
|
|
path: ':id/leaving',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/homepage/leavingMessage'], resolve),
|
|
name: 'leavingMessage',
|
|
meta: {title: '留言', icon: 'dashboard', noCache: true, affix: true}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
path: '/comments',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/Comments'], resolve),
|
|
name: 'commentReply',
|
|
meta: {title: '评论回复', icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
{
|
|
path: '/qa/answer',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/qa/Answer'], resolve),
|
|
name: 'qaAnswer',
|
|
meta: {title: '写回答', icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
{
|
|
path: '/follow',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/follow'], resolve),
|
|
name: 'follow',
|
|
meta: {title: '我的关注', icon: 'dashboard', noCache: true, affix: false},
|
|
},
|
|
{
|
|
path: '/study',
|
|
component: Layout,
|
|
redirect: '/study/index',
|
|
children: [{
|
|
path: 'index',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/StudyIndex'], resolve),
|
|
name: 'studyIndex',
|
|
meta: {title: '首页', icon: 'dashboard', noCache: true, affix: true}
|
|
}]
|
|
},
|
|
{
|
|
path: '/teacher',
|
|
component: Layout,
|
|
children: [{
|
|
path: 'index',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/TeacherIndex'], resolve),
|
|
name: 'teacherIndex',
|
|
meta: {title: '教师个人中心', icon: 'dashboard', noCache: true, affix: true}
|
|
}]
|
|
},
|
|
{
|
|
path: '/manager',
|
|
component: Layout,
|
|
children: [{
|
|
path: 'index',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/ManageIndex'], resolve),
|
|
name: 'managerIndex',
|
|
meta: {title: '管理员个人中心', icon: 'dashboard', noCache: true, affix: true}
|
|
}]
|
|
},
|
|
{
|
|
path: '/exam/test',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/exam/Test'], resolve),
|
|
name: 'test',
|
|
meta: {title: '京东方大学堂考试', icon: 'dashboard', noCache: true, affix: true},
|
|
},
|
|
{
|
|
path: '/video/test',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/course/video'], resolve),
|
|
name: 'videotest',
|
|
meta: {title: '课程视频测试', icon: 'dashboard', noCache: true, affix: true},
|
|
},
|
|
{
|
|
path: '/hotforum',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/hotforum/Index'], resolve),
|
|
name: 'hotforum',
|
|
meta: {title: '热点论坛', icon: 'dashboard', noCache: true, affix: true},
|
|
},
|
|
{
|
|
path: '/lexiang',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/sso/lexiang'], resolve),
|
|
name: 'lexiang',
|
|
meta: {title: '单点登录', icon: 'dashboard', noCache: true, affix: true},
|
|
},
|
|
{
|
|
path: '/404',
|
|
component: (resolve) => require(['@/views/error/404'], resolve),
|
|
hidden: true
|
|
},
|
|
{
|
|
path: '/401',
|
|
component: (resolve) => require(['@/views/error/401'], resolve),
|
|
hidden: true
|
|
},
|
|
{
|
|
path: '/500',
|
|
component: (resolve) => require(['@/views/error/500'], resolve),
|
|
hidden: true
|
|
}
|
|
]
|
|
|
|
const router = new VueRouter({
|
|
mode: 'history',
|
|
base: process.env.BASE_URL,
|
|
routes: constantRoutes,
|
|
scrollBehavior(to, from, saveTop) {
|
|
if (saveTop) {
|
|
return saveTop;
|
|
} else {
|
|
return {x: 0, y: 0}
|
|
}
|
|
},
|
|
})
|
|
|
|
export default router
|