mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-11 03:46:44 +08:00
252 lines
7.3 KiB
JavaScript
252 lines
7.3 KiB
JavaScript
import Vue from 'vue'
|
|
import VueRouter from 'vue-router'
|
|
/* Layout */
|
|
import Layout from '@/layout/index'
|
|
import LayoutPortal from '@/layout/portal'
|
|
|
|
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: '/course',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/course/Index'], resolve),
|
|
name: 'course',
|
|
meta: { title: '课程', 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: '课程详情', 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: '课程学习', icon: 'dashboard', noCache: true, affix: false },
|
|
},
|
|
{
|
|
path: '/case',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/case/Index'], resolve),
|
|
name: 'case',
|
|
meta: { title: '案例', icon: 'dashboard', noCache: true, affix: false },
|
|
},
|
|
{
|
|
path: '/case/detail',
|
|
hidden: true,
|
|
component: (resolve) => require(['@/views/portal/case/Detail'], resolve),
|
|
name: 'caseDetail',
|
|
meta: { title: '案例详情', icon: 'dashboard', noCache: true, affix: false },
|
|
},
|
|
{
|
|
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: '/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: 'qaAnswer',
|
|
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: '/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
|