| | |
| | | import Vue from "vue"; |
| | | import VueRouter from "vue-router"; |
| | | import HomeLayout from "@/layout"; |
| | | import Home from "@/views/home"; |
| | | import Search from "@/views/home/search"; |
| | | |
| | | import bookStore from "./modules/bookStore"; |
| | | import teachingServices from "./modules/teachingServices"; |
| | | import informationCenterRouter from "./modules/informationCenter"; |
| | | import aboutUs from "./modules/aboutUs"; |
| | | import preview from "./modules/preview" |
| | | import baseLayout from "@/layout/base"; |
| | | const originalPush = VueRouter.prototype.push |
| | | VueRouter.prototype.push = function push(location) { |
| | | return originalPush.call(this, location).catch(err => err) |
| | | } |
| | | |
| | | Vue.use(VueRouter); |
| | | |
| | | const routes = [{ |
| | | path: "/", |
| | | name: "HomeLayout", |
| | | component: HomeLayout, |
| | | redirect: { |
| | | name: "home" |
| | | }, |
| | | children: [ |
| | | // 在主框架内 |
| | | import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router' |
| | | import HomeView from '../views/home/index.vue' |
| | | import aboutUs from '../views/aboutUs/index.vue' |
| | | import bookStore from '../views/bookStore/index.vue' |
| | | import bookdetail from '../views/bookStore/detail.vue' |
| | | import PageLayout from '../layout/baseLayout.vue' |
| | | const router = createRouter({ |
| | | history: createWebHashHistory(import.meta.env.BASE_URL), |
| | | routes: [ |
| | | { |
| | | path: "home", |
| | | name: "home", |
| | | meta: { |
| | | name: "首页", |
| | | authentication: false, // 是否需要登录验证 |
| | | keepAlive: false, // 是否需要缓存 |
| | | }, |
| | | component: baseLayout, |
| | | redirect: { |
| | | name: "index" |
| | | }, |
| | | children: [{ |
| | | path: "index", |
| | | name: "index", |
| | | meta: { |
| | | name: "首页", |
| | | authentication: false, // 是否需要登录验证 |
| | | keepAlive: false, // 是否需要缓存 |
| | | path: '/', |
| | | name: 'layout', |
| | | component: PageLayout, |
| | | redirect: { name: 'home' }, |
| | | children: [ |
| | | { |
| | | path: '/home', |
| | | name: 'home', |
| | | component: HomeView, |
| | | }, |
| | | component: Home, |
| | | }, |
| | | { |
| | | path: "search", |
| | | name: "search", |
| | | meta: { |
| | | name: "首页搜索", |
| | | authentication: false, // 是否需要登录验证 |
| | | keepAlive: true, // 是否需要缓存 |
| | | { |
| | | path: '/aboutUs', |
| | | name: 'aboutUs', |
| | | component: aboutUs, |
| | | }, |
| | | component: Search, |
| | | }, |
| | | { |
| | | path: '/bookdetail', |
| | | name: 'bookdetail', |
| | | component: bookdetail, |
| | | }, |
| | | { |
| | | path: '/bookStore', |
| | | name: 'bookStore', |
| | | component: bookStore, |
| | | }, |
| | | //个人中心 |
| | | { |
| | | path: '/personalCenter', |
| | | name: 'personalCenter', |
| | | redirect: '/userInfo', |
| | | meta: { |
| | | name: '个人中心', |
| | | }, |
| | | component: () => import('@/views/personalCenter/index.vue'), |
| | | children: [ |
| | | { |
| | | path: '/userInfo', |
| | | name: 'userInfo', |
| | | meta: { |
| | | name: '账户信息', |
| | | }, |
| | | component: () => import('@/views/personalCenter/userInfo.vue'), |
| | | }, |
| | | { |
| | | path: '/myCart', |
| | | name: 'myCart', |
| | | meta: { |
| | | name: '购物车', |
| | | }, |
| | | component: () => import('@/views/personalCenter/myCart.vue'), |
| | | }, |
| | | { |
| | | path: '/myBook', |
| | | name: 'myBook', |
| | | meta: { |
| | | name: '书架', |
| | | }, |
| | | component: () => import('@/views/personalCenter/myBook.vue'), |
| | | }, |
| | | { |
| | | path: '/myCourse', |
| | | name: 'myCourse', |
| | | meta: { |
| | | name: '课程', |
| | | }, |
| | | component: () => import('@/views/personalCenter/course.vue'), |
| | | }, |
| | | { |
| | | path: '/myClass', |
| | | name: 'myClass', |
| | | meta: { |
| | | name: '班级', |
| | | }, |
| | | component: () => import('@/views/personalCenter/class.vue'), |
| | | }, |
| | | { |
| | | path: '/myOrder', |
| | | name: 'myOrder', |
| | | meta: { |
| | | name: '订单', |
| | | }, |
| | | component: () => import('@/views/personalCenter/myOrder.vue'), |
| | | }, |
| | | { |
| | | path: '/myApply', |
| | | name: 'myApply', |
| | | meta: { |
| | | name: '申请', |
| | | }, |
| | | component: () => import('@/views/personalCenter/myApply.vue'), |
| | | }, |
| | | { |
| | | path: '/myCollection', |
| | | name: 'myCollection', |
| | | meta: { |
| | | name: '收藏', |
| | | }, |
| | | component: () => import('@/views/personalCenter/myCollection.vue'), |
| | | }, |
| | | { |
| | | path: '/myMessage', |
| | | name: 'myMessage', |
| | | meta: { |
| | | name: '消息', |
| | | }, |
| | | component: () => import('@/views/personalCenter/myMessage.vue'), |
| | | }, |
| | | { |
| | | path: '/activateProduct', |
| | | name: 'activateProduct', |
| | | meta: { |
| | | name: '激活码', |
| | | }, |
| | | component: () => import('@/views/personalCenter/activeCode.vue'), |
| | | }, |
| | | { |
| | | path: '/courseDetail', |
| | | name: 'courseDetail', |
| | | meta: { |
| | | name: '课程详情', |
| | | }, |
| | | component: () => import('@/views/courseManage/index.vue'), |
| | | }, |
| | | ], |
| | | }, |
| | | // 班级 |
| | | { |
| | | path: '/classManage', |
| | | name: 'classManage', |
| | | redirect: '/classHome', |
| | | meta: { |
| | | name: '班级管理', |
| | | }, |
| | | component: () => import('../views/classManage/index.vue'), |
| | | children: [ |
| | | { |
| | | path: '/classHome', |
| | | name: 'classHome', |
| | | meta: { |
| | | name: '班级首页', |
| | | }, |
| | | component: () => import('@/views/classManage/classHome.vue'), |
| | | }, |
| | | { |
| | | path: '/studentManage', |
| | | name: 'studentManage', |
| | | meta: { |
| | | name: '学生管理', |
| | | }, |
| | | component: () => import('@/views/classManage/studentManage.vue'), |
| | | }, |
| | | { |
| | | path: '/teachingPlan', |
| | | name: 'teachingPlan', |
| | | meta: { |
| | | name: '教学计划', |
| | | }, |
| | | component: () => import('@/views/classManage/teachingPlan.vue'), |
| | | }, |
| | | { |
| | | path: '/prepareLessons', |
| | | name: 'prepareLessons', |
| | | meta: { |
| | | name: '备课', |
| | | }, |
| | | component: () => import('@/views/classManage/prepareLessons.vue'), |
| | | }, |
| | | { |
| | | path: '/jobManage', |
| | | name: 'jobManage', |
| | | meta: { |
| | | name: '作业管理-教师', |
| | | }, |
| | | component: () => import('@/views/classManage/jobManage.vue'), |
| | | }, |
| | | { |
| | | path: '/studentJob', |
| | | name: 'studentJob', |
| | | meta: { |
| | | name: '作业管理-学生', |
| | | }, |
| | | component: () => import('@/views/classManage/studentJob.vue'), |
| | | }, |
| | | { |
| | | path: '/jobDetail', |
| | | name: 'jobDetail', |
| | | meta: { |
| | | name: '作业管理详情', |
| | | }, |
| | | component: () => import('@/views/classManage/jobDetail.vue'), |
| | | }, |
| | | { |
| | | path: '/testManage', |
| | | name: 'testManage', |
| | | meta: { |
| | | name: '测试管理', |
| | | }, |
| | | component: () => import('@/views/classManage/testManage.vue'), |
| | | }, |
| | | { |
| | | path: '/jobAnalysis', |
| | | name: 'jobAnalysis', |
| | | meta: { |
| | | name: '作业分析', |
| | | }, |
| | | component: () => import('@/views/classManage/jobAnalysis.vue'), |
| | | }, |
| | | { |
| | | path: '/teachInteraction', |
| | | name: 'teachInteraction', |
| | | meta: { |
| | | name: '教学互动', |
| | | }, |
| | | component: () => import('@/views/classManage/teachInteraction.vue'), |
| | | }, |
| | | { |
| | | path: '/interactionDetail', |
| | | name: 'interactionDetail', |
| | | meta: { |
| | | name: '教学互动-详情', |
| | | }, |
| | | component: () => import('@/views/classManage/interactionDetail.vue'), |
| | | }, |
| | | { |
| | | path: '/talkingPoint', |
| | | name: 'talkingPoint', |
| | | meta: { |
| | | name: '话题', |
| | | }, |
| | | component: () => import('@/views/classManage/talkingPoint.vue'), |
| | | }, |
| | | { |
| | | path: '/talkDetail', |
| | | name: 'talkDetail', |
| | | meta: { |
| | | name: '话题', |
| | | }, |
| | | component: () => import('@/views/classManage/talkDetail.vue'), |
| | | }, |
| | | { |
| | | path: '/info', |
| | | name: 'info', |
| | | meta: { |
| | | name: '班级通知列表', |
| | | }, |
| | | component: () => import('@/views/classManage/infoList.vue'), |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | path: "/login", |
| | | name: "login", |
| | | meta: { |
| | | name: "登录", |
| | | authentication: false, |
| | | }, |
| | | component: () => import("@/views/login/login"), |
| | | }, |
| | | { |
| | | path: "/register", |
| | | name: "register", |
| | | meta: { |
| | | name: "注册", |
| | | authentication: false, |
| | | }, |
| | | component: () => import("@/views/login/register"), |
| | | }, |
| | | { |
| | | path: "/personalCenter", |
| | | name: "personalCenter", |
| | | meta: { |
| | | name: "个人中心", |
| | | authentication: true, |
| | | }, |
| | | component: () => import("@/views/personalCenter"), |
| | | }, |
| | | { |
| | | path: "/authorServices", |
| | | name: "authorServices", |
| | | meta: { |
| | | name: "作者服务", |
| | | authentication: false, |
| | | }, |
| | | component: () => import("@/views/authorServices"), |
| | | }, |
| | | { |
| | | path: "/bindWeChat", |
| | | name: "bindWeChat", |
| | | meta: { |
| | | name: "绑定微信", |
| | | authentication: true, |
| | | }, |
| | | component: () => import("@/views/bindWeChat"), |
| | | }, |
| | | { |
| | | path: "/bindWeChatBack", |
| | | name: "bindWeChatBack", |
| | | meta: { |
| | | name: "绑定微信", |
| | | authentication: true, |
| | | }, |
| | | component: () => import("@/views/bindWeChat/success"), |
| | | }, |
| | | { |
| | | path: "/AdminLogin", |
| | | name: "AdminLogin", |
| | | meta: { |
| | | name: "管理登录", |
| | | noWrapHeadFooter: true, |
| | | }, |
| | | component: () => import("@/views/login/adminLogin"), |
| | | }, |
| | | ...bookStore, |
| | | ...teachingServices, |
| | | ...informationCenterRouter, |
| | | ...aboutUs, |
| | | ...preview |
| | | ], |
| | | }, |
| | | // 不在主框架内 |
| | | }) |
| | | |
| | | { |
| | | path: "/findPassword", |
| | | name: "findPassword", |
| | | meta: { |
| | | name: "登录", |
| | | }, |
| | | component: () => import("@/views/login/findPassword"), |
| | | }, |
| | | ]; |
| | | |
| | | const router = new VueRouter({ |
| | | routes, |
| | | }); |
| | | |
| | | export default router; |
| | | export default router |