import Vue from 'vue' import Router from 'vue-router' import { routers } from './router' import store from "../store"; import { getStore, setStore, removeStore } from '../libs/store' // 重复点击相同路由拦截报红错误 const originalPush = Router.prototype.push; Router.prototype.push = function push(location) { return originalPush.call(this, location).catch(err => err) } // import NProgress from 'nprogress' // 进度条 import 'nprogress/nprogress.css' //这个样式必须引入 // import { message, notification } from "ant-design-vue/es"; //单独引入message消息提示模块 // 简单配置 // NProgress.inc(0.2) // NProgress.configure({ easing: 'ease', speed: 500, showSpinner: false }) // 页面跳转开始时间 var startTime // 通知跳过的路由 const passPath = [ '/login', '/404', '/403', '/302' ] Vue.use(Router); const RouterConfig = { // mode: 'history', routes: routers }; export const router = new Router(RouterConfig); // 拦截器处理 router.beforeEach((to, from, next) => { const token = store.getters.token if(to.name !== 'login' && !token) { next({name: 'login'}) }else { next() } // if (to.path == '/login') { // removeStore('userinfo'); // } // let userinfo = getStore({ key: 'userinfo' }); // let toTime = new Date().getTime() / 1000 // if (userinfo == null && to.path != '/login') { // message.info('登录错误,请重新登录') // setTimeout(() => { // next({ path: '/login' }) // }, 1000) // } // console.log(userinfo) // if (userinfo && toTime >= userinfo.expire_time && to.path != '/login') { // message.info('登录失效,请重新登录') // setTimeout(() => { // next({ path: '/login' }) // }, 1000) // } // // userinfo.expire_time = toTime + 1000 * 60 * 60 * 2 // localStorage.setItem("userinfo", JSON.stringify(userinfo)) // // 页面不存在 // console.log(to) // if (to.matched.length == 0) { // next({ path: '/404' }) // } // // startTime = new Date().getTime() // // NProgress.start(); }) router.afterEach((to) => { // if (passPath.indexOf(to.path) === -1) { // var consumingTime = new Date().getTime() - startTime // notification.info({ // message: '此次加载页面消耗时间', // duration:2, // description: `耗时${consumingTime / 1000}秒`, // }); // } // NProgress.done(); });