From 2c86a8bd60deed0dd0e044bad6fb83f75d19a332 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 26 十月 2025 15:05:50 +0800
Subject: [PATCH] Merge branch 'feature-task'

---
 app/permission.js |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/app/permission.js b/app/permission.js
new file mode 100644
index 0000000..43daf70
--- /dev/null
+++ b/app/permission.js
@@ -0,0 +1,43 @@
+import { getToken } from '@/utils/auth'
+
+// 鐧诲綍椤甸潰
+const loginPage = "/pages/login"
+  
+// 椤甸潰鐧藉悕鍗�
+const whiteList = [
+  '/pages/login', 
+  '/pages/register', 
+  '/pages/common/webview/index',
+  '/pages/mine/privacy-policy/index',  // 闅愮鏀跨瓥锛堝尶鍚嶈闂級
+  '/pages/mine/user-agreement/index'   // 鐢ㄦ埛鍗忚锛堝尶鍚嶈闂級
+]
+
+// 妫�鏌ュ湴鍧�鐧藉悕鍗�
+function checkWhite(url) {
+  const path = url.split('?')[0]
+  return whiteList.indexOf(path) !== -1
+}
+
+// 椤甸潰璺宠浆楠岃瘉鎷︽埅鍣�
+let list = ["navigateTo", "redirectTo", "reLaunch", "switchTab"]
+list.forEach(item => {
+  uni.addInterceptor(item, {
+    invoke(to) {
+      if (getToken()) {
+        if (to.url === loginPage) {
+          uni.reLaunch({ url: "/" })
+        }
+        return true
+      } else {
+        if (checkWhite(to.url)) {
+          return true
+        }
+        uni.reLaunch({ url: loginPage })
+        return false
+      }
+    },
+    fail(err) {
+      console.log(err)
+    }
+  })
+})

--
Gitblit v1.9.1