zhaojs
2023-09-15 fc13938ff90213060532d99a600dea4a84456885
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import Vue from 'vue'
import Router from 'vue-router'
import { asyncRouterMap, constantRouterMap } from '@/config/router.config'
 
// 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({
    mode: 'history',
   routes: constantRouterMap
  })
 
const router = createRouter()
 
// 定义一个resetRouter 方法,在退出登录后或token过期后 需要重新登录时,调用即可
export function resetRouter () {
  const newRouter = createRouter()
  router.matcher = newRouter.matcher
}
 
export default router