修复关闭页面重新打开,无法进入动态路由问题
This commit is contained in:
parent
01f1a9e88e
commit
e08f0e153c
@ -1,3 +1,4 @@
|
||||
import { hasRoute } from './router'
|
||||
import router from './router'
|
||||
import type { RouteRecordRaw } from 'vue-router'
|
||||
import { useTitle } from '@/hooks/web/useTitle'
|
||||
@ -18,6 +19,7 @@ router.beforeEach(async (to, from, next) => {
|
||||
loadStart()
|
||||
const permissionStore = usePermissionStoreWithOut()
|
||||
const authStore = useAuthStoreWithOut()
|
||||
|
||||
if (authStore.getToken) {
|
||||
if (to.path === '/login') {
|
||||
next({ path: '/' })
|
||||
@ -28,6 +30,9 @@ router.beforeEach(async (to, from, next) => {
|
||||
await authStore.setUserInfo()
|
||||
}
|
||||
if (permissionStore.getIsAddRouters) {
|
||||
if (!hasRoute(to.path)) {
|
||||
authStore.logout('认证已过期,请重新登录!')
|
||||
}
|
||||
next()
|
||||
return
|
||||
}
|
||||
|
@ -124,6 +124,12 @@ export const resetRouter = (): void => {
|
||||
})
|
||||
}
|
||||
|
||||
// 判断是否已经有某个路径的路由配置
|
||||
export const hasRoute = (path: string): boolean => {
|
||||
const resolvedRoute = router.resolve(path)
|
||||
return resolvedRoute.matched.length > 0
|
||||
}
|
||||
|
||||
export const setupRouter = (app: App<Element>) => {
|
||||
app.use(router)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user