index.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import Vue from 'vue';
  2. import VueRouter from 'vue-router';
  3. import store from '@/store/index';
  4. // 公共
  5. import common from './module/common';
  6. // 网站部分
  7. import webs from './module/web';
  8. // 网站部分
  9. import system from './module/system';
  10. const jwt = require('jsonwebtoken');
  11. Vue.use(VueRouter);
  12. const web = [
  13. // 公共
  14. ...common,
  15. // 中台
  16. {
  17. path: '/homeIndex',
  18. meta: { title: '自由天空', is_filter: true },
  19. component: () => import('@common/src/components/admin-frame/home.vue'),
  20. children: [
  21. {
  22. path: '/homeIndex',
  23. meta: { title: '自由天空', is_filter: true },
  24. component: () => import('@/views/home/index.vue'),
  25. },
  26. // {
  27. // path: '/tvadmin',
  28. // meta: { title: '电视节目管理', is_filter: true },
  29. // component: () => import('@/views/tvadmin/index.vue'),
  30. // },
  31. // {
  32. // path: '/tvadmin/add',
  33. // meta: { title: '信息管理', is_filter: true },
  34. // component: () => import('@/views/tvadmin/add.vue'),
  35. // },
  36. // 网站管理部分
  37. ...webs,
  38. // 系统管理部分
  39. ...system,
  40. ],
  41. },
  42. ];
  43. const routes = [...web];
  44. const router = new VueRouter({ mode: 'history', base: process.env.BASE_URL, routes });
  45. router.beforeEach((to, from, next) => {
  46. document.title = `${to.meta.title} `;
  47. const token = sessionStorage.getItem('token');
  48. if (token) {
  49. let user = jwt.decode(token);
  50. store.commit('setUser', user, { root: true });
  51. next();
  52. } else {
  53. if (to.meta.is_filter) next('/login');
  54. else next();
  55. }
  56. });
  57. export default router;