From 0e053f43fe591be3e0e92e3cfb4ad90d660b0546 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 29 五月 2026 09:02:43 +0800
Subject: [PATCH] 中兴实强app 1.白屏问题解决

---
 src/utils/versionUpgrade.js |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/utils/versionUpgrade.js b/src/utils/versionUpgrade.js
index e0c818a..372c813 100644
--- a/src/utils/versionUpgrade.js
+++ b/src/utils/versionUpgrade.js
@@ -1,6 +1,7 @@
 import config from "@/config";
 import { getAllVersion } from "@/api/viewIndex";
 import bus from "@/plugins/bus";
+let hasTriggeredVersionCheckInSession = false;
 
 function compareVersion(v1, v2) {
   const s1 = String(v1 || "").replace(/[^\d.]/g, "").split(".").map((n) => Number(n) || 0);
@@ -25,12 +26,12 @@
 }
 
 async function getCurrentVersion(logPrefix) {
-  let currentVersion = config?.appInfo?.version || "1.0.0";
+  let currentVersion = (config && config.appInfo && config.appInfo.version) || "1.0.0";
   console.log(`${logPrefix} 寮�濮嬭幏鍙栧綋鍓嶇増鏈紝榛樿鍊�:`, currentVersion);
   // #ifdef MP-WEIXIN
   try {
     const accountInfo = uni.getAccountInfoSync();
-    if (accountInfo?.miniProgram?.version) {
+    if (accountInfo && accountInfo.miniProgram && accountInfo.miniProgram.version) {
       currentVersion = accountInfo.miniProgram.version;
       console.log(`${logPrefix} 褰撳墠鐜=MP-WEIXIN锛岀増鏈�=`, currentVersion);
       return currentVersion;
@@ -44,14 +45,14 @@
     // APP-PLUS 涓嬶紝plus.runtime.version 涓嶆槸涓氬姟鐗堟湰鍙凤紙缁忓父鏄繍琛屾椂/SDK鐗堟湰锛夛紝
     // 杩欓噷鏀圭敤 getProperty 鍙栫郴缁熷眰闈㈢殑 app version銆�
     // @ts-ignore
-    if (plus?.runtime?.getProperty) {
+    if (plus && plus.runtime && plus.runtime.getProperty) {
       // @ts-ignore
       const appid = plus.runtime.appid;
       const appInfo = await new Promise((resolve) => {
         // @ts-ignore
         plus.runtime.getProperty(appid, (info) => resolve(info || {}));
       });
-      const v = appInfo?.version || appInfo?.versionName || appInfo?.appVersion || "";
+      const v = (appInfo && appInfo.version) || (appInfo && appInfo.versionName) || (appInfo && appInfo.appVersion) || "";
       if (v) {
         currentVersion = String(v);
         console.log(`${logPrefix} 褰撳墠鐜=APP-PLUS锛岀増鏈�=`, currentVersion);
@@ -89,7 +90,7 @@
     },
     (err) => {
       console.log(`${logPrefix} 瀹夎澶辫触:`, err);
-      uni.showToast({ title: err?.message || "瀹夎鏇存柊鍖呭け璐�", icon: "none" });
+      uni.showToast({ title: (err && err.message) || "瀹夎鏇存柊鍖呭け璐�", icon: "none" });
     }
   );
   // #endif
@@ -100,7 +101,7 @@
   if (!u) return "";
   // 宸茬粡鏄粷瀵瑰湴鍧�锛岀洿鎺ヨ繑鍥�
   if (/^https?:\/\//i.test(u)) return u;
-  const base = String(config?.fileUrl || config?.baseUrl || "").replace(/\/+$/, "");
+  const base = String((config && config.fileUrl) || (config && config.baseUrl) || "").replace(/\/+$/, "");
   const path = u.startsWith("/") ? u : `/${u}`;
   return `${base}${path}`;
 }
@@ -264,12 +265,17 @@
   let lastVersionCheckAt = 0;
 
   const triggerVersionCheck = async (from = "unknown") => {
+    if (hasTriggeredVersionCheckInSession) {
+      console.log(`${logPrefix} 璺宠繃鐗堟湰妫�鏌ワ紝鏈浼氳瘽宸叉娴嬭繃锛屾潵婧�=${from}`);
+      return;
+    }
     const now = Date.now();
     if (now - lastVersionCheckAt < throttleMs) {
       console.log(`${logPrefix} 璺宠繃閲嶅妫�鏌ワ紝鏉ユ簮=${from}`);
       return;
     }
     lastVersionCheckAt = now;
+    hasTriggeredVersionCheckInSession = true;
     console.log(`${logPrefix} 瑙﹀彂鐗堟湰妫�鏌ワ紝鏉ユ簮=${from}`);
     const currentVersion = await getCurrentVersion(logPrefix);
     await checkAppVersionUpgrade(logPrefix, currentVersion);

--
Gitblit v1.9.3