123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311 |
- import Vue from 'vue'
- import Router from 'vue-router'
- import store from '../store/index'
- Vue.use(Router)
- const router = new Router({
- mode:'history',
- routes: [
- {
- path: '*',
- redirect: '/home',
- component: resolve => require(['@/pages/home/index'],resolve)
- },
- {
- path: '/home',
- name: '首页',
- component: resolve => require(['@/pages/home/index'],resolve)
- },
- {
- path: '/login',
- name: '登录',
- component: resolve => require(['@/pages/login/index'],resolve)
- },
- {
- path: '/cart',
- name: '购物车',
- component: resolve => require(['@/pages/cart/index'],resolve)
- },
- {
- path: '/payment',
- name: '支付',
- component: resolve => require(['@/pages/payment/index'],resolve)
- },
- {
- path: '/payment-success',
- name: '支付成功',
- component: resolve => require(['@/pages/payment-success/index'],resolve)
- },
- {
- path: '/course-list',
- name: '课程列表',
- component: resolve => require(['@/pages/course-list/index'],resolve)
- },
- {
- path: '/bank-list',
- name: '题库列表',
- component: resolve => require(['@/pages/bank-list/index'],resolve)
- },
- {
- path: '/course-detail/:goodsId',
- name: '课程详情',
- component: resolve => require(['@/pages/goods-detail/course-detail'],resolve)
- },
- {
- path: '/bank-detail/:goodsId',
- name: '题库详情',
- component: resolve => require(['@/pages/goods-detail/bank-detail'],resolve)
- },
- {
- path: '/my-course-detail/:goodsId',
- name: '课程详情',
- component: resolve => require(['@/pages/course-detail/index'],resolve)
- },
- {
- path: '/course-report',
- name: '试卷报告',
- component: resolve => require(['@/pages/course-report/index'],resolve)
- },
-
- {
- path: '/bank-report/:goodsId',
- name: '试卷报告',
- component: resolve => require(['@/pages/bank-report/index'],resolve)
- },
- {
- path: '/course-exam/:goodsId',
- name: '做题',
- component: resolve => require(['@/pages/course-exam/index'],resolve)
- },
- {
- path: '/bank-exam/:goodsId',
- name: '做题',
- component: resolve => require(['@/pages/bank-exam/index'],resolve)
- },
-
- {
- path: '/bank-exam-continue/:goodsId',
- name: '继续做题',
- component: resolve => require(['@/pages/bank-exam-continue/index'],resolve)
- },
- {
- path: '/bank-exam-all-explain/:recordId',
- name: '全部解析',
- component: resolve => require(['@/pages/bank-exam-all-explain/index'],resolve)
- },
- {
- path: '/bank-exam-wrong-explain/:recordId',
- name: '错题解析',
- component: resolve => require(['@/pages/bank-exam-wrong-explain/index'],resolve)
- },
- {
- path: '/bank-exam-explain/:goodsId',
- name: '题目解析',
- component: resolve => require(['@/pages/bank-exam-explain/index'],resolve)
- },
-
- {
- path: '/subject/wrong-type-bank/:type',
- name: '错题',
- component: resolve => require(['@/pages/subject/wrong-type-bank'],resolve)
- },
- {
- path: '/subject/wrong-bank/:examId',
- name: '错题',
- component: resolve => require(['@/pages/subject/wrong-bank'],resolve)
- },
- {
- path: '/subject/collect-type-bank/:type',
- name: '收藏',
- component: resolve => require(['@/pages/subject/collect-type-bank'],resolve)
- },
- {
- path: '/subject/collect-bank/:examId',
- name: '收藏',
- component: resolve => require(['@/pages/subject/collect-bank'],resolve)
- },
- {
- path: '/person-center',
- name: '个人中心',
- component: resolve => require(['@/pages/person-center/index'],resolve),
- beforeEnter:(to,from,next) => {
- let token = window.localStorage.getItem('token');
- if(token == null || token == '' || token === undefined){
- next('/login')
- }else{
- next();
- }
- },
- children:[
- {
- path: '/',
- // redirect: 'my-course',
- },
- {
- path: 'my-course',
- component: resolve => require(['@/pages/person-center/my-course/index'],resolve),
- name: '我的课程'
- },
- {
- path: 'play-record',
- component: resolve => require(['@/pages/person-center/play-record/index'],resolve),
- name: '播放记录'
- },
- {
- path: 'my-bank',
- component: resolve => require(['@/pages/person-center/my-bank/index'],resolve),
- name:'我的题库',
- children:[
- {
- path: '/',
- redirect: 'index',
- },
- {
- path: 'index',
- component: resolve => require(['@/pages/person-center/my-bank/index/index'],resolve),
- name: '我的题库',
- },
- {
- path: 'bank-detail/:goodsId',
- component: resolve => require(['@/pages/person-center/my-bank/bank-detail/index'],resolve),
- name: '题库详情'
- },
- {
- path: 'bank-statistics/:goodsId',
- component: resolve => require(['@/pages/person-center/my-bank/bank-statistics/index'],resolve),
- name: '做题统计'
- },
- {
- path: 'bank-explain-detail/:goodsId',
- component: resolve => require(['@/pages/person-center/my-bank/bank-explain-detail/index'],resolve),
- name: '详情'
- },
- ]
- },
- {
- path: 'bank-record',
- component: resolve => require(['@/pages/person-center/bank-record/index'],resolve),
- name: '做题记录'
- },
-
- {
- path: 'record-list/:goodsId',
- component: resolve => require(['@/pages/person-center/bank-record/record-list/index'],resolve),
- name: '更多记录'
- },
- {
- path: 'my-order',
- component: resolve => require(['@/pages/person-center/my-order/index'],resolve),
- name: '我的订单'
- },
- {
- path: 'my-examination',
- component: resolve => require(['@/pages/person-center/my-examination/index'],resolve),
- name: '我的考试'
- },
- {
- path: 'my-message',
- component: resolve => require(['@/pages/person-center/my-message/index'],resolve),
- name: '我的消息'
- },
- {
- path: 'my-info',
- component: resolve => require(['@/pages/person-center/my-info/index'],resolve),
- name: '我的资料'
- },
- {
- path: 'my-invoice',
- name: '我的发票',
- component: resolve => require(['@/pages/person-center/my-invoice/index'],resolve),
- children:[
-
- {
- path: '/',
- redirect: 'index',
- },
- {
- path: 'index',
- component: resolve => require(['@/pages/person-center/my-invoice/index/index'],resolve),
- name: '我的发票',
- },
- {
- path: 'add',
- component: resolve => require(['@/pages/person-center/my-invoice/add/index'],resolve),
- name: '申请发票',
- },
- ]
- },
- {
- path: 'my-classhour',
- component: resolve => require(['@/pages/person-center/my-classhour/index'],resolve),
- name: '我的学时',
- children:[
- {
- path: '/',
- redirect: 'index',
- },
- {
- path: 'index',
- component: resolve => require(['@/pages/person-center/my-classhour/index/index'],resolve),
- name: '我的学时',
- },
- {
- path: 'appointment',
- component: resolve => require(['@/pages/person-center/my-classhour/appointment/index'],resolve),
- name: '预约考试',
- },
- {
- path: 'appointment-add',
- component: resolve => require(['@/pages/person-center/my-classhour/appointment-add/index'],resolve),
- name: '预约考试',
- },
- {
- path: 'appointment-add-kp',
- component: resolve => require(['@/pages/person-center/my-classhour/appointment-add-kp/index'],resolve),
- name: '预约考试',
- }
- ]
- },
- ]
- }
- ]
- })
- const originalPush = Router.prototype.push
- Router.prototype.push = function push(location) {
- return originalPush.call(this, location).catch((err) => err)
- }
- router.beforeEach((to,from,next) => {
- if(to.path === '/login'){
- next();
- }else{
- let token = window.localStorage.getItem('token');
- //进入页面有token获取用户信息
- if(token){
- store.token = token;
- if(!store.state.userInfo) {
- //获取用户信息
- store.dispatch('getUserInfo')
- }
-
- next()
- } else {
-
- next()
- }
- }
- })
- export default router;
|