@ -1,6 +1,6 @@
import type { Router } from 'vue-router' ;
import type { Router } from 'vue-router' ;
import { LOGIN_PATH } from '@vben/constants' ;
import { DEFAULT_HOME_PATH, LOGIN_PATH } from '@vben/constants' ;
import { preferences } from '@vben/preferences' ;
import { preferences } from '@vben/preferences' ;
import { useAccessStore , useUserStore } from '@vben/stores' ;
import { useAccessStore , useUserStore } from '@vben/stores' ;
import { startProgress , stopProgress } from '@vben/utils' ;
import { startProgress , stopProgress } from '@vben/utils' ;
@ -62,14 +62,20 @@ function setupAccessGuard(router: Router) {
const userStore = useUserStore ( ) ;
const userStore = useUserStore ( ) ;
const authStore = useAuthStore ( ) ;
const authStore = useAuthStore ( ) ;
// 基本路由,这些路由不需要进入权限拦截
if ( coreRouteNames . includes ( to . name as string ) ) {
if ( to . path === LOGIN_PATH && accessStore . accessToken ) {
return decodeURIComponent (
( to . query ? . redirect as string ) || DEFAULT_HOME_PATH ,
) ;
}
return true ;
}
// accessToken 检查
// accessToken 检查
if ( ! accessStore . accessToken ) {
if ( ! accessStore . accessToken ) {
if (
// 明确声明忽略权限访问权限,则可以访问
// 基本路由,这些路由不需要进入权限拦截
if ( to . meta . ignoreAccess ) {
coreRouteNames . includes ( to . name as string ) ||
// 明确声明忽略权限访问权限,则可以访问
to . meta . ignoreAccess
) {
return true ;
return true ;
}
}