From c098f1e3a3e052aa3d65584aae6dc003a70d75ad Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期二, 16 十二月 2025 00:09:14 +0800
Subject: [PATCH] feat: 停止轮询 uncount

---
 app/utils/wechat.js |   81 ++++++++++++++++++++++++++++++++--------
 1 files changed, 64 insertions(+), 17 deletions(-)

diff --git a/app/utils/wechat.js b/app/utils/wechat.js
index afd572c..32802db 100644
--- a/app/utils/wechat.js
+++ b/app/utils/wechat.js
@@ -12,13 +12,24 @@
     try {
       // 鑾峰彇绯荤粺淇℃伅
       const systemInfo = uni.getSystemInfoSync();
-      console.log('绯荤粺淇℃伅:', systemInfo);
-      
       // 妫�鏌nvironment瀛楁鏄惁涓簑xwork
-      resolve(systemInfo.environment === 'wxwork');
+      const isWxWork = systemInfo.environment === 'wxwork';
+      console.log('鐜妫�娴嬬粨鏋�:', isWxWork, systemInfo);
+      resolve(isWxWork);
     } catch (e) {
       console.error('鑾峰彇绯荤粺淇℃伅澶辫触:', e);
-      resolve(false);
+      // fallback妫�娴嬶細灏濊瘯浣跨敤wx.qy瀵硅薄鍒ゆ柇
+      try {
+        if (typeof wx !== 'undefined' && wx.qy) {
+          console.log('閫氳繃wx.qy瀵硅薄妫�娴嬪埌浼佷笟寰俊鐜');
+          resolve(true);
+        } else {
+          resolve(false);
+        }
+      } catch (e2) {
+        console.error('fallback妫�娴嬩篃澶辫触:', e2);
+        resolve(false);
+      }
     }
     // #endif
     
@@ -62,41 +73,77 @@
     if (isWxWork) {
       console.log('妫�娴嬪埌浼佷笟寰俊鐜锛岃烦杞埌浼佷笟寰俊鍏嶇櫥椤甸潰');
       // 鏋勯�犲甫鍙傛暟鐨刄RL
-     redirectToQyLogin(options,tab);
+      redirectToQyLogin(options, tab);
       return;
     } else {
       console.log('妫�娴嬪埌鏅�氬井淇$幆澧冿紝璺宠浆鍒板井淇$櫥褰曢〉闈�');
-      redirectToLogin(options,tab);
+      redirectToLogin(options, tab);
       return;
     }
   } catch (e) {
     console.error('鐜妫�娴嬪け璐�:', e);
-   redirectToLogin(options,tab);
+    redirectToLogin(options, tab);
   }
   // #endif
   
   // #ifndef MP-WEIXIN
   // 闈炲井淇″皬绋嬪簭鐜锛岃烦杞埌鏅�氱櫥褰曢〉闈�
   console.log('闈炲井淇″皬绋嬪簭鐜锛岃烦杞埌鏅�氱櫥褰曢〉闈�');
-  redirectToLogin(options,tab);
+  redirectToLogin(options, tab);
   // #endif
 }
 
 
-export  function redirectToQyLogin(options,tab){
+export function redirectToQyLogin(options, tab) {
+  try {
     let url = '/pages/qylogin';
-      if (options && options.query) {
-        url = buildUrlWithParams(url, options.query);
+    // 淇濆瓨鐩爣URL鐢ㄤ簬鐧诲綍鍚庤烦杞�
+    if (options && options.path && options.path !== 'pages/qylogin') {
+      // 鏋勯�犲畬鏁寸殑璺緞鍜屾煡璇㈠弬鏁�
+      let fullPath = '/' + options.path;
+      if (options.query) {
+        const queryString = Object.keys(options.query).map(key => 
+          `${key}=${encodeURIComponent(options.query[key])}`).join('&');
+        if (queryString) {
+          fullPath += '?' + queryString;
+        }
       }
-      tab.reLaunch(url);
+      
+      // 娣诲姞redirect鍙傛暟
+      const separator = fullPath.includes('?') ? '&' : '?';
+      url += `${separator}redirect=${encodeURIComponent(fullPath)}`;
+    } else if (options && options.query) {
+      url = buildUrlWithParams(url, options.query);
+    }
+    
+    console.log('璺宠浆鍒颁紒涓氬井淇$櫥褰曢〉闈�:', url);
+    tab.reLaunch(url);
+  } catch (e) {
+    console.error('璺宠浆鍒颁紒涓氬井淇$櫥褰曢〉闈㈠け璐�:', e);
+    // fallback鍒版櫘閫氱櫥褰曢〉闈�
+    redirectToLogin(options, tab);
+  }
 }
-export  function redirectToLogin(options,tab){
+
+export function redirectToLogin(options, tab) {
+  try {
     let url = '/pages/login';
-      if (options && options.query) {
-        url = buildUrlWithParams(url, options.query);
-      }
-      tab.reLaunch(url);
+    if (options && options.query) {
+      url = buildUrlWithParams(url, options.query);
+    }
+    console.log('璺宠浆鍒版櫘閫氱櫥褰曢〉闈�:', url);
+    tab.reLaunch(url);
+  } catch (e) {
+    console.error('璺宠浆鍒版櫘閫氱櫥褰曢〉闈㈠け璐�:', e);
+    // 濡傛灉璺宠浆澶辫触锛岃嚦灏戠‘淇濅笉浼氬崱鍦ㄥ綋鍓嶉〉闈�
+    try {
+      tab.reLaunch('/pages/login');
+    } catch (fallbackError) {
+      console.error('fallback璺宠浆涔熷け璐ヤ簡:', fallbackError);
+    }
+  }
 }
+
 export default {
   isWxWorkEnvironment,
   buildUrlWithParams,

--
Gitblit v1.9.1