From 16c9bb70c03aa71566284b5d82775cd01a267c13 Mon Sep 17 00:00:00 2001 From: hzj <1304805162@qq.com> Date: Fri, 8 May 2026 17:43:55 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=A1=AE=E4=BF=9D=E7=BC=93=E5=AD=98?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E6=97=B6=E4=B9=9F=E9=87=8D=E6=96=B0=E5=86=99?= =?UTF-8?q?=E5=85=A5=E8=AF=B7=E6=B1=82=E5=A4=B4=EF=BC=8C=E5=B9=B6=E7=AD=89?= =?UTF-8?q?=E5=BE=85=E8=BF=9E=E6=8E=A5=E5=90=8E=E7=9A=84=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E5=9B=9E=E8=B0=83=EF=BC=8C=E5=B9=B6=E5=8A=A0=E5=BC=BA?= =?UTF-8?q?=20Android=20=E7=AD=89=E5=BE=85=20window.app=20=E6=B3=A8?= =?UTF-8?q?=E5=85=A5=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/appBridge.js | 11 ++++++++++- src/utils/appConnector.js | 9 +++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/utils/appBridge.js b/src/utils/appBridge.js index ef39ddb..3f50d3a 100644 --- a/src/utils/appBridge.js +++ b/src/utils/appBridge.js @@ -150,13 +150,22 @@ function handleAndroidPlatform(renderFun) { if (window.app) { debugLog('检测到window.app,开始连接') waitForFlutterInterface() - } else if (checkCount < 50) { + } else if (checkCount < 150) { + if ( + (checkCount === 1 || checkCount % 20 === 0) && + window.FlutterPageControl && + window.FlutterPageControl.postMessage + ) { + window.FlutterPageControl.postMessage('requestAccessOrigin') + } setTimeout(checkApp, 100) } else { errorLog('等待window.app超时') // 手动通知Flutter注入接口 if (window.FlutterApp && window.FlutterApp.postMessage) { window.FlutterApp.postMessage('requestAccessOrigin') + } else if (window.FlutterPageControl && window.FlutterPageControl.postMessage) { + window.FlutterPageControl.postMessage('requestAccessOrigin') } } } diff --git a/src/utils/appConnector.js b/src/utils/appConnector.js index e9c1ea3..dce4f7f 100644 --- a/src/utils/appConnector.js +++ b/src/utils/appConnector.js @@ -67,7 +67,7 @@ export const connectToApp = async (onConnected, onFailed = defaultOnFailed) => { console.groupEnd() await fetchUserInfoAfterConnection() //获取用户信息 - if (onConnected) onConnected() // 触发连接成功回调 + if (onConnected) await onConnected() // 触发连接成功回调 return { success: true, environment: 'browser' } // 浏览器环境 } @@ -80,12 +80,13 @@ export const connectToApp = async (onConnected, onFailed = defaultOnFailed) => { const cachedHeaderInfo = getAppHeaderInfo() if (cachedHeaderInfo) { console.debug('🔧 Using cached HTTP headers') + await setHttpHeaders(cachedHeaderInfo) } console.groupEnd() await fetchUserInfoAfterConnection() //获取用户信息 - if (onConnected) onConnected() // 触发连接成功回调 + if (onConnected) await onConnected() // 触发连接成功回调 return { success: true, environment: 'app', fromCache: true } // APP环境 } @@ -98,7 +99,7 @@ export const connectToApp = async (onConnected, onFailed = defaultOnFailed) => { console.groupEnd() await fetchUserInfoAfterConnection() //获取用户信息 - if (onConnected) onConnected() // 触发连接成功回调 + if (onConnected) await onConnected() // 触发连接成功回调 return { success: true, environment: 'app', fromCache: true } // APP环境 } @@ -148,7 +149,7 @@ export const connectToApp = async (onConnected, onFailed = defaultOnFailed) => { console.groupEnd() await fetchUserInfoAfterConnection() //获取用户信息 - if (onConnected) onConnected() // 触发连接成功回调 + if (onConnected) await onConnected() // 触发连接成功回调 return connectionResult } catch (error) {