fix(router): 明确路由拦截器的返回值逻辑

修改路由拦截器中的返回值,明确区分允许继续执行和阻止执行的情况
优化登录页列表和白名单的逻辑判断
This commit is contained in:
feige996
2025-08-29 15:08:59 +08:00
parent ec13a3e81b
commit 87ab4a5d93

View File

@@ -37,7 +37,7 @@ export const navigateToInterceptor = {
if (LOGIN_PAGE_LIST.includes(path)) {
console.log('命中了 LOGIN_PAGE_LIST')
return
return true // 明确表示允许路由继续执行
}
let fullPath = path
@@ -52,16 +52,18 @@ export const navigateToInterceptor = {
// #region 1/2 需要登录的情况 ---------------------------
if (isNeedLoginMode) {
if (tokenStore.hasLogin) {
return
return true // 明确表示允许路由继续执行
}
else {
// 需要登录里面的 EXCLUDE_PAGE_LIST 表示白名单,可以直接通过
if (EXCLUDE_PAGE_LIST.includes(path)) {
return
return true // 明确表示允许路由继续执行
}
// 否则需要重定向到登录页
else {
console.log('isNeedLogin redirectUrl:', redirectUrl)
console.log('1 isNeedLogin redirectUrl:', redirectUrl)
uni.navigateTo({ url: redirectUrl })
return
return false // 明确表示阻止原路由继续执行
}
}
}
@@ -69,13 +71,15 @@ export const navigateToInterceptor = {
// #region 2/2 不需要登录的情况 ---------------------------
else {
// 不需要登录里面的 EXCLUDE_PAGE_LIST 表示黑名单,需要重定向到登录页
if (EXCLUDE_PAGE_LIST.includes(path)) {
console.log('isNeedLogin redirectUrl:', redirectUrl)
console.log('2 isNeedLogin redirectUrl:', redirectUrl)
uni.navigateTo({ url: redirectUrl })
return
return false // 明确表示阻止原路由继续执行
}
}
// #endregion 2/2 不需要登录的情况 ---------------------------
return true // 明确表示允许路由继续执行
},
}