123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- import Vue from 'vue';
- import VueRouter from 'vue-router';
- import Layout from '@/layouts';
- import Login from '@/views/login';
- import store from '@/store';
- import { Loading } from 'element-ui';
- Vue.use(VueRouter);
- const routes = [
- {
- path: '/login',
- component: Login
- },
- {
- path: '/404',
- component: () => import('@/views/404')
- },
- // 外部跳转
- {
- path: '/EnterSys',
- beforeEnter: (to, from, next) => {
- let loadingInstance = Loading.service({
- text: '跳转中...'
- });
- store
- .dispatch('user/enterSys', { access_code: to.query.AccessCode })
- .then(() => {
- loadingInstance.close();
- next('/');
- })
- .catch(() => {
- store.dispatch('user/signOut');
- loadingInstance.close();
- next('/login');
- });
- }
- },
- // 首页
- {
- path: '/',
- component: Layout,
- redirect: '/main',
- children: [
- {
- path: '/main',
- name: 'Main',
- component: () => import('@/views/teacher/main')
- }
- ]
- },
- // 创建课程
- {
- path: '/create_course',
- component: Layout,
- redirect: '/create_course/index',
- meta: { title: '课程列表', link: '/?tab=CurriculaList' },
- children: [
- {
- path: '/create_course/index',
- component: () => import('@/views/teacher/create_course/index'),
- meta: { title: '创建课程' }
- }
- ]
- },
- // 新建课程 分步表单
- {
- path: '/create_course_step_table',
- component: Layout,
- redirect: '/create_course_step_table/course_info',
- children: [
- // 分步表单 -> 第一步
- {
- path: '/create_course_step_table/course_info',
- component: () => import('@/views/teacher/create_course/step_table/CourseInfo')
- },
- // 分步表单 -> 第二步
- {
- path: '/create_course_step_table/select_book/:id',
- name: 'SelectBook',
- component: () => import('@/views/teacher/create_course/step_table/SelectBook')
- },
- // 分步表单 -> 第三步
- {
- path: '/create_course_step_table/create_task/:id',
- component: () => import('@/views/teacher/create_course/step_table/CreateTask')
- },
- // 分步表单 -> 第三步 -> 新建课节任务
- {
- path: '/create_course_step_table/new_task/:time_type/:id/:cs_item_id',
- component: () => import('@/views/teacher/create_course/step_table/NewTask')
- }
- ]
- },
- // 课程列表 -> 学生列表
- {
- path: '/student_list',
- component: Layout,
- redirect: '/student_list/index/:id',
- children: [
- {
- path: '/student_list/index/:id',
- component: () => import('@/views/teacher/student_list')
- }
- ]
- },
- // 直播
- {
- path: '/live',
- component: Layout,
- redirect: '/live/student',
- children: [
- {
- path: '/live/teacher',
- component: () => import('@/views/live/teacher')
- },
- {
- path: '/live/student',
- component: () => import('@/views/live/student')
- },
- {
- path: '/live/group',
- component: () => import('@/views/live/group')
- }
- ]
- },
- {
- path: '*',
- redirect: '/404'
- }
- ];
- const createRouter = () =>
- new VueRouter({
- // mode: 'history',
- scrollBehavior: () => ({ y: 0 }),
- routes
- });
- const router = createRouter();
- // 重置路由
- export function resetRouter() {
- const newRouter = createRouter();
- router.matcher = newRouter.matcher;
- }
- export default router;
|