123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- 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;
|