From 7084474298a7a1e19c6b143f8faf478f5c012523 Mon Sep 17 00:00:00 2001 From: hzj <1304805162@qq.com> Date: Wed, 12 Nov 2025 17:27:25 +0800 Subject: [PATCH] =?UTF-8?q?test(KYC=E9=A1=B5):=20=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E4=B8=8A=E4=BC=A0=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/uploadFiles.js | 97 +++++----------------------------------- 1 file changed, 10 insertions(+), 87 deletions(-) diff --git a/src/utils/uploadFiles.js b/src/utils/uploadFiles.js index 4a7cb8a..d9cae70 100644 --- a/src/utils/uploadFiles.js +++ b/src/utils/uploadFiles.js @@ -12,97 +12,20 @@ export function android() { */ export function uploadImgFile(renderFun) { window.renderData = renderFun - // 兼容历史版本 - window.getIosAccessOriginParam = renderFun try { - if (android()) { - console.log('Flutter Android WebView 检测') - console.log('window.app 对象:', window.app) - - // 检查Flutter注入的接口 - if (window.app) { - console.log('window.app 的所有方法:') - console.log(Object.keys(window.app)) - - // 检查具体的方法 - console.log('uploadImgFile 方法存在?', typeof window.app.uploadImgFile) - console.log('uploadImgFile 是函数?', typeof window.app.uploadImgFile === 'function') - } - - // 等待Flutter注入完成 - const waitForFlutterInterface = () => { - let attempts = 0 - const maxAttempts = 50 // 最多等待5秒 - - // 循环检测Flutter接口 - const checkInterface = () => { - attempts++ - console.log(`尝试第 ${attempts} 次检查Flutter接口...`) - - if ( - window.app && - window.app.uploadImgFile && - typeof window.app.uploadImgFile === 'function' - ) { - console.log('Flutter接口检测成功,调用 uploadImgFile') - try { - const result = window.app.uploadImgFile() - console.log('uploadImgFile 返回结果:', result) - renderFun(result) - } catch (error) { - console.error('调用 uploadImgFile 出错:', error) - } - } else if (attempts < maxAttempts) { - // 继续等待 - setTimeout(checkInterface, 100) - } else { - console.error('Flutter接口注入超时,使用默认数据') - // 使用默认的开发数据 - const mockAccess = JSON.stringify('') - renderFun(mockAccess) - } - } - - checkInterface() - } - - // 如果window.app已存在,直接检查,否则等待 - if (window.app) { - waitForFlutterInterface() - } else { - console.log('等待Flutter注入window.app...') - // 监听window.app的创建 - let checkCount = 0 - const checkApp = () => { - checkCount++ - if (window.app) { - console.log('检测到window.app,开始连接') - waitForFlutterInterface() - } else if (checkCount < 50) { - setTimeout(checkApp, 100) - } else { - console.error('等待window.app超时') - // 手动通知Flutter注入接口 - if (window.FlutterApp && window.FlutterApp.postMessage) { - window.FlutterApp.postMessage('uploadImgFile') - } - } - } - checkApp() - } - } else { - console.log('非移动设备环境') - // 非APP环境,可能是浏览器调试 - console.warn('Not in APP environment, using mock data for development') - // 开发环境可以提供模拟数据 - if (process.env.NODE_ENV === 'development') { - const mockAccess = '' - setTimeout(() => renderFun(mockAccess), 100) - } + if (window.app && window.app.uploadImgFile) { + console.log('使用uploadImgFile') + // 使用注入的方法 + const result = window.app.uploadImgFile() + console.log('uploadImgFile 返回结果:', result) + renderFun(result) + } else if (window.FlutterPageControl) { + // 直接使用Flutter通道 + window.FlutterPageControl.postMessage(`正在调用uploadImgFile`) } } catch (error) { - console.error('Failed to connect to APP:', error) + console.error('上传图片失败:', error) } }