123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- 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: '/adminCenter/homeIndex',
- name: 'adminCenter',
- component: () => import('@common/src/components/admin-frame/Home.vue'),
- children: [
- {
- path: '/adminCenter/homeIndex',
- name: 'admin_homeIndex',
- meta: { title: '首页' },
- component: () => import('../views/adminCenter/homeIndex/index.vue'),
- },
- {
- path: '/adminCenter/test/index',
- meta: { title: '测试菜单' },
- component: () => import('../views/adminCenter/test/index.vue'),
- },
- {
- path: '/adminCenter/test/detail',
- meta: { title: '测试菜单-信息管理' },
- component: () => import('../views/adminCenter/test/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;
|