import Vue from 'vue' import Router from 'vue-router' import { constantRouterMap } from './router.config.js' import store from '@/store' // hack router push callback const originalPush = Router.prototype.push Router.prototype.push = function push(location, onResolve, onReject) { if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject) return originalPush.call(this, location).catch(err => err) } Vue.use(Router) const createRouter = () => new Router({ scrollBehavior: () => ({ y: 0 }), routes: constantRouterMap }) const router = createRouter() function getQueryParams() { const url = window.location.href const paramArr = url.slice(url.indexOf('?') + 1).split('&') const params = {} paramArr.map(param => { const [key, val] = param.split('=') params[key] = decodeURIComponent(val) }) return params } router.beforeEach((to, from, next) => { let urlParams = getQueryParams() if(urlParams.worktoken&&to.path=='/Hotline'){ console.log(store.state.app,"store.state.app.userInfo"); store.state.app.isRouterLoading = true console.log(to,"to"); console.log(urlParams.worktoken,"Sdfsfdjhjh") localStorage.setItem('token_work',urlParams.worktoken) next({ }) }else if(urlParams.worktoken&&to.path=='/AttackEvent'){ console.log(store.state.app,"store.state.app.userInfo"); store.state.app.isRouterLoading = true console.log(to,"to"); console.log(urlParams.worktoken,"Sdfsfdjhjh") localStorage.setItem('token_work',urlParams.worktoken) next({ }) } else if(urlParams.worktoken&&to.path=='/HotlineDetail'){ console.log(store.state.app,"store.state.app.userInfo"); store.state.app.isRouterLoading = true console.log(to,"to"); console.log(urlParams.worktoken,"Sdfsfdjhjh") localStorage.setItem('token_work',urlParams.worktoken) next({ }) } else{ next() console.log(urlParams.worktoken,"Sdfsfd") } }) // Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465 export function resetRouter() { const newRouter = createRouter() router.matcher = newRouter.matcher // reset router } export default router