You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.2 KiB
73 lines
2.2 KiB
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
|