index.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import Vue from 'vue';
  2. import VueRouter from 'vue-router';
  3. import store from '@/store/index';
  4. const jwt = require('jsonwebtoken');
  5. const originalPush = VueRouter.prototype.push;
  6. VueRouter.prototype.push = function push(location) {
  7. return originalPush.call(this, location).catch((err) => err);
  8. };
  9. Vue.use(VueRouter);
  10. const web = [
  11. {
  12. path: '/',
  13. redirect: '/adminCenter/homeIndex',
  14. },
  15. // 管理登录
  16. {
  17. path: '/login',
  18. name: 'login',
  19. meta: { title: '管理登录' },
  20. component: () => import('../views/login.vue'),
  21. },
  22. // 管理中心
  23. {
  24. path: '/adminCenter/homeIndex',
  25. name: 'adminCenter',
  26. component: () => import('@common/src/components/admin-frame/Home.vue'),
  27. children: [
  28. {
  29. path: '/adminCenter/homeIndex',
  30. name: 'admin_homeIndex',
  31. meta: { title: '首页' },
  32. component: () => import('../views/adminCenter/homeIndex/index.vue'),
  33. },
  34. {
  35. path: '/adminCenter/test/index',
  36. meta: { title: '测试菜单' },
  37. component: () => import('../views/adminCenter/test/index.vue'),
  38. },
  39. {
  40. path: '/adminCenter/test/detail',
  41. meta: { title: '测试菜单-信息管理' },
  42. component: () => import('../views/adminCenter/test/detail.vue'),
  43. },
  44. ],
  45. },
  46. ];
  47. const routes = [...web];
  48. const router = new VueRouter({
  49. mode: 'history',
  50. base: process.env.VUE_APP_ROUTER,
  51. routes,
  52. });
  53. router.beforeEach((to, from, next) => {
  54. document.title = `${to.meta.title} `;
  55. const token = localStorage.getItem('token');
  56. if (to.path == '/adminCenter/homeIndex') {
  57. if (!token) {
  58. // next('/login');
  59. next();
  60. } else {
  61. let user = jwt.decode(token);
  62. store.commit('setUser', user, { root: true });
  63. next();
  64. }
  65. } else {
  66. let user = jwt.decode(token);
  67. store.commit('setUser', user, { root: true });
  68. next();
  69. }
  70. });
  71. export default router;