index.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import Vue from 'vue'
  2. import VueRouter from 'vue-router'
  3. import routerMap from '../routerMap/index'
  4. const routerPush = VueRouter.prototype.push
  5. VueRouter.prototype.push = function push(location) {//防止重新加载相同的路由时控制台报错
  6. return routerPush.call(this, location).catch(error => error)
  7. }
  8. Vue.use(VueRouter)
  9. const routes = [
  10. {
  11. path: '/',
  12. name: 'Login',
  13. meta: { index: 1, title: '九方软件' },
  14. component: resolve => require(['@/views/Login'], resolve)
  15. },
  16. {
  17. path: "/cms/print",
  18. name: "print", // 打印芯片
  19. component: (resolve) => require(["@/views/page/print"], resolve)
  20. },
  21. {
  22. path: '/cms',
  23. name: 'Cms',
  24. meta: { index: 2 },
  25. component: resolve => require(['@/views/cms'], resolve),
  26. children: routerMap,
  27. }
  28. ]
  29. const router = new VueRouter({
  30. routes,
  31. mode: 'hash',
  32. linkActiveClass: 'active'
  33. })
  34. router.beforeEach((to, from, next) => {
  35. if (to.path === '/') {
  36. next()
  37. } else {
  38. const token = localStorage.getItem('token')
  39. if (!token&&to.path!=='/cms/print') {
  40. next('/')
  41. } else {
  42. next()
  43. }
  44. }
  45. next()
  46. })
  47. export default router