import Vue from 'vue'; import VueRouter from 'vue-router'; import store from '@/store/index'; const jwt = require('jsonwebtoken'); const originalPush = VueRouter.prototype.push; VueRouter.prototype.push = function push(location) { return originalPush.call(this, location).catch((err) => err); }; Vue.use(VueRouter); const web = [ { path: '/', redirect: '/adminCenter/homeIndex', }, // 管理登录 { path: '/login', name: 'login', meta: { title: '管理登录' }, component: () => import('../views/login.vue'), }, // 管理中心 { path: '/', name: 'adminCenter', component: () => import('@frame/src/components/admin-frame/Home.vue'), children: [ { path: '/adminCenter/homeIndex', name: 'admin_homeIndex', meta: { title: '首页' }, component: () => import('../views/adminCenter/homeIndex/index.vue'), }, { path: '/adminCenter/mechanism/index', meta: { title: '机构用户管理' }, component: () => import('../views/adminCenter/mechanism/index.vue'), }, { path: '/adminCenter/mechanism/detail', meta: { title: '机构用户详情' }, component: () => import('../views/adminCenter/mechanism/detail.vue'), }, { path: '/adminCenter/users/index', meta: { title: '平台用户管理' }, component: () => import('../views/adminCenter/user/index.vue'), }, { path: '/adminCenter/users/detail', meta: { title: '平台用户详情' }, component: () => import('../views/adminCenter/user/detail.vue'), }, ], }, { path: '/jg/homeIndex', name: 'jgCenter', component: () => import('@frame/src/components/admin-frame/Home.vue'), children: [ { path: '/jg/homeIndex', name: 'jgIndex', meta: { title: '首页' }, component: () => import('../views/jg/homeIndex/index.vue'), }, { path: '/jg/users/index', meta: { title: '平台用户管理' }, component: () => import('../views/jg/user/index.vue'), }, { path: '/jg/users/detail', meta: { title: '平台用户详情' }, component: () => import('../views/jg/user/detail.vue'), }, ], }, ]; const routes = [...web]; const router = new VueRouter({ mode: 'history', base: process.env.VUE_APP_ROUTER, routes, }); router.beforeEach((to, from, next) => { document.title = `${to.meta.title} `; const token = localStorage.getItem('token'); if (to.path == '/adminCenter/homeIndex') { if (!token) { next('/login'); // next(); } else { let user = jwt.decode(token); store.commit('setUser', user, { root: true }); next(); } } else { let user = jwt.decode(token); store.commit('setUser', user, { root: true }); next(); } }); export default router;