浏览代码

fix(router): 修改黑名单登录授权策略逻辑

将关于页面的登录授权策略从黑名单改为白名单,并简化路由拦截器中黑名单策略的处理逻辑
feige996 7 月之前
父节点
当前提交
d771a175ab
共有 1 个文件被更改,包括 4 次插入13 次删除
  1. 4 13
      src/router/interceptor.ts

+ 4 - 13
src/router/interceptor.ts

@@ -78,7 +78,7 @@ export const navigateToInterceptor = {
     }
     const redirectUrl = `${LOGIN_PAGE}?redirect=${encodeURIComponent(fullPath)}`
 
-    // #region 1/2 需要登录的情况(白名单策略) ---------------------------
+    // #region 1/2 默认需要登录的情况(白名单策略) ---------------------------
     if (isNeedLoginMode) {
       // 需要登录里面的 EXCLUDE_LOGIN_PATH_LIST 表示白名单,可以直接通过
       if (judgeIsExcludePath(path)) {
@@ -94,27 +94,18 @@ export const navigateToInterceptor = {
         return false // 明确表示阻止原路由继续执行
       }
     }
-    // #endregion 1/2 需要登录的情况(白名单策略) ---------------------------
+    // #endregion 1/2 默认需要登录的情况(白名单策略) ---------------------------
 
-    // #region 2/2 不需要登录的情况(黑名单策略) ---------------------------
+    // #region 2/2 默认不需要登录的情况(黑名单策略) ---------------------------
     else {
       // 不需要登录里面的 EXCLUDE_LOGIN_PATH_LIST 表示黑名单,需要重定向到登录页
       if (judgeIsExcludePath(path)) {
         FG_LOG_ENABLE && console.log('2 isNeedLogin(黑名单策略) redirectUrl:', redirectUrl)
-
-        // 如果当前路由是登录页,那就重定向走
-        const { path, query } = parseUrlToObj(redirectUrl)
-        if (path === LOGIN_PAGE) {
-          console.log('path:', path)
-          console.log('query:', query)
-          uni.navigateTo({ url: query.redirect })
-          return false // 明确表示阻止原路由继续执行
-        }
         uni.navigateTo({ url: redirectUrl })
         return false // 修改为false,阻止原路由继续执行
       }
     }
-    // #endregion 2/2 不需要登录的情况(黑名单策略) ---------------------------
+    // #endregion 2/2 默认不需要登录的情况(黑名单策略) ---------------------------
     return true // 明确表示允许路由继续执行
   },
 }