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