123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- 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: '/',
- name: 'index',
- meta: { title: '网站首页' },
- component: () => import('../views/index.vue'),
- },
- {
- path: '/website',
- name: 'website',
- component: () => import('../views/website.vue'),
- children: [
- {
- path: '/news/index',
- name: 'news_index',
- meta: { title: '新闻咨询' },
- component: () => import('../views/news/index.vue'),
- },
- {
- path: '/service/index',
- name: 'service_index',
- meta: { title: '科技服务' },
- component: () => import('../views/service/index.vue'),
- },
- {
- path: '/market/index',
- name: 'market_index',
- meta: { title: '技术超市' },
- component: () => import('../views/market/index.vue'),
- },
- {
- path: '/train/index',
- name: 'train_index',
- meta: { title: '宣传培训' },
- component: () => import('../views/train/index.vue'),
- },
- {
- path: '/dynamic/index',
- name: 'dynamic_index',
- meta: { title: '数据动态' },
- component: () => import('../views/dynamic/index.vue'),
- },
- ],
- },
- // 管理登录
- {
- path: '/login',
- name: 'login',
- meta: { title: '管理登录' },
- component: () => import('../views/login.vue'),
- },
- {
- path: '/adminCenter/homeIndex',
- name: 'adminCenter',
- component: () => import('../views/adminCenter/index.vue'),
- children: [
- {
- path: '/adminCenter/homeIndex',
- name: 'admin_homeIndex',
- meta: { title: '首页' },
- component: () => import('../views/adminCenter/homeIndex/index.vue'),
- },
- {
- path: '/adminCenter/test',
- name: 'admin_test',
- meta: { title: '测试页面' },
- component: () => import('../views/adminCenter/test/index.vue'),
- },
- {
- path: '/adminCenter/news',
- name: 'admin_news',
- meta: { title: '新闻管理' },
- component: () => import('../views/adminCenter/news/index.vue'),
- },
- {
- path: '/adminCenter/news/detail',
- name: 'admin_news_detail',
- meta: { title: '新闻管理' },
- component: () => import('../views/adminCenter/news/detail.vue'),
- },
- {
- path: '/adminCenter/product',
- name: 'admin_product',
- meta: { title: '科技成果' },
- component: () => import('../views/adminCenter/product/index.vue'),
- },
- {
- path: '/adminCenter/product/detail',
- name: 'admin_product_detail',
- meta: { title: '科技成果' },
- component: () => import('../views/adminCenter/product/detail.vue'),
- },
- {
- path: '/adminCenter/patent',
- name: 'admin_patent',
- meta: { title: '专利管理' },
- component: () => import('../views/adminCenter/patent/index.vue'),
- },
- {
- path: '/adminCenter/patent/detail',
- name: 'admin_patent_detail',
- meta: { title: '专利管理' },
- component: () => import('../views/adminCenter/patent/detail.vue'),
- },
- {
- path: '/adminCenter/roadShow',
- name: 'admin_road_show',
- meta: { title: '路演管理' },
- component: () => import('../views/adminCenter/road_show/index.vue'),
- },
- {
- path: '/adminCenter/roadShow/detail',
- name: 'admin_road_show_detail',
- meta: { title: '路演管理' },
- component: () => import('../views/adminCenter/road_show/detail.vue'),
- },
- {
- path: '/adminCenter/expert',
- name: 'admin_expert',
- meta: { title: '专家管理' },
- component: () => import('../views/adminCenter/expert/index.vue'),
- },
- {
- path: '/adminCenter/expert/detail',
- name: 'admin_expert_detail',
- meta: { title: '专家管理' },
- component: () => import('../views/adminCenter/expert/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');
- } 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;
|