index.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. import Vue from 'vue'
  2. import VueRouter from 'vue-router'
  3. import { Message } from 'element-ui'
  4. Vue.use(VueRouter)
  5. const routes = [
  6. {
  7. path: '/',
  8. name: 'login',
  9. component: () => import('../views/login.vue')
  10. },
  11. {
  12. path: '/layout',
  13. name: 'layout',
  14. component: () => import('../views/layout/index.vue'),
  15. children: [
  16. {
  17. path: 'tab1',
  18. name: 'tab1',
  19. meta: { myInd: 1 },
  20. component: () => import('../views/tab1/index.vue')
  21. },
  22. {
  23. path: 'tab1Edit',
  24. name: 'tab1Edit',
  25. meta: { myInd: 1 },
  26. component: () => import('../views/tab1/edit.vue')
  27. },
  28. {
  29. path: 'tab2',
  30. name: 'tab2',
  31. meta: { myInd: 2 },
  32. component: () => import('../views/tab2/index.vue')
  33. },
  34. {
  35. path: 'tab2Edit1',
  36. name: 'tab2Edit1',
  37. meta: { myInd: 2 },
  38. component: () => import('../views/tab2/edit1.vue')
  39. },
  40. {
  41. path: 'tab2Edit2',
  42. name: 'tab2Edit2',
  43. meta: { myInd: 2 },
  44. component: () => import('../views/tab2/edit2.vue')
  45. },
  46. {
  47. path: 'tab3',
  48. name: 'tab3',
  49. meta: { myInd: 3 },
  50. component: () => import('../views/tab3/index.vue')
  51. },
  52. {
  53. path: 'tab3Edit1',
  54. name: 'tab3Edit1',
  55. meta: { myInd: 3 },
  56. component: () => import('../views/tab3/edit1.vue')
  57. },
  58. {
  59. path: 'tab4',
  60. name: 'tab4',
  61. meta: { myInd: 4 },
  62. component: () => import('../views/tab4/index.vue')
  63. },
  64. {
  65. path: 'tab4Edit1',
  66. name: 'tab4Edit1',
  67. meta: { myInd: 4 },
  68. component: () => import('../views/tab4/edit1.vue')
  69. },
  70. {
  71. path: 'tab4Edit2',
  72. name: 'tab4Edit2',
  73. meta: { myInd: 4 },
  74. component: () => import('../views/tab4/edit2.vue')
  75. },
  76. {
  77. path: 'tab5',
  78. name: 'tab5',
  79. meta: { myInd: 5 },
  80. component: () => import('../views/tab5/index.vue')
  81. },
  82. {
  83. path: 'tab5Edit1',
  84. name: 'tab5Edit1',
  85. meta: { myInd: 5 },
  86. component: () => import('../views/tab5/edit1.vue')
  87. },
  88. {
  89. path: 'tab6',
  90. name: 'tab6',
  91. meta: { myInd: 6 },
  92. component: () => import('../views/tab6/index.vue')
  93. },
  94. {
  95. path: 'tab6Edit1',
  96. name: 'tab6Edit1',
  97. meta: { myInd: 6 },
  98. component: () => import('../views/tab6/edit1.vue')
  99. },
  100. {
  101. path: 'tab6Edit2',
  102. name: 'tab6Edit2',
  103. meta: { myInd: 6 },
  104. component: () => import('../views/tab6/edit2.vue')
  105. }
  106. ]
  107. }
  108. ]
  109. const router = new VueRouter({
  110. // mode: 'history',
  111. base: process.env.BASE_URL,
  112. routes
  113. })
  114. router.beforeEach((to, from, next) => {
  115. // 如果是去登录页,不需要验证,直接下一步
  116. if (to.name === 'login') next()
  117. // 否则要有token值才能下一步,不然就返回登录页
  118. else {
  119. const token = localStorage.getItem('SZSBL_token')
  120. if (token) next()
  121. else {
  122. Message.warning('登录失效,请重新登录')
  123. next({ name: 'login' })
  124. }
  125. }
  126. })
  127. export default router