From cc29b63c79bbd353b9d5e7fa396c3349ad32aad6 Mon Sep 17 00:00:00 2001 From: hzj <1304805162@qq.com> Date: Mon, 3 Nov 2025 14:05:14 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E9=82=80=E8=AF=B7=E7=A0=81=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2):=20=E4=BF=AE=E5=A4=8D=E6=9C=AA=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E5=88=AB=E4=BA=BA=E8=B7=B3=E8=BD=AC=E5=88=B0=E8=87=AA=E5=B7=B1?= =?UTF-8?q?=E7=A7=81=E8=81=8A=E9=A1=B5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/Invitation/InvitationToRegister.vue | 133 ++---------------- 1 file changed, 14 insertions(+), 119 deletions(-) diff --git a/src/views/Invitation/InvitationToRegister.vue b/src/views/Invitation/InvitationToRegister.vue index 49f244f..543553f 100644 --- a/src/views/Invitation/InvitationToRegister.vue +++ b/src/views/Invitation/InvitationToRegister.vue @@ -456,6 +456,7 @@ import { getInviteReceiveAward, // 邀请用户领取奖励 getMyInviter, // 获取我的邀请人信息 } from '@/api/invitation.js' +import { connectToApp } from '@/utils/appConnector.js' // vite动态导入图片 const imageModules = import.meta.glob('@/assets/images/InvitationNewUser/*.{png,jpg,svg}', { @@ -489,7 +490,7 @@ const inviteAwardPool = ref({}) const showModule = ref('list') //显示模块 const showBindingBt = computed(() => { - return !myInviter.myInfo?.expired && !myInviter.inviterInfo + return !myInviter.value.myInfo?.expired && !myInviter.value.inviterInfo }) // 展示遮罩层 @@ -615,130 +616,24 @@ const initData = () => { apiGetInviteAwardPool() // 邀请用户奖励池 } -/** - * 连接APP并获取认证信息(优化版 - 仅专注连接) - */ -const connectToApp = async () => { - console.group('🔗 APP Connection Process') - console.debug('🚀 Starting APP connection...') - - try { - // 检查是否在APP环境中 - if (!isInApp()) { - console.debug('🌐 Browser environment detected') - appConnected.value = true - console.groupEnd() - - // 触发连接成功回调 +// 使用工具函数连接APP +const connectToAppHandler = async () => { + await connectToApp( + () => { + // 连接成功回调 initData() - - return { success: true, environment: 'browser' } - } - - // 检查是否已经连接且未过期 - if (isAppConnected()) { - console.debug('✅ APP already connected and valid') - appConnected.value = true - - // 使用缓存的头部信息 - const cachedHeaderInfo = getAppHeaderInfo() - if (cachedHeaderInfo) { - headerInfo.value = cachedHeaderInfo - console.debug('🔧 Using cached HTTP headers') + }, + (error) => { + // 连接失败回调 + if (error.message && error.message.includes('parse access')) { + router.push({ path: '/not_app', query: { message: error.message } }) } - - console.groupEnd() - - // 触发连接成功回调 - initData() - - return { success: true, environment: 'app', fromCache: true } } - - // 检查是否有正在进行的连接 - if (appConnectionManager.isConnecting()) { - console.debug('⏳ Connection already in progress, waiting...') - await appConnectionManager.getConnectionPromise() - appConnected.value = true - console.debug('✅ Connected via existing process') - console.groupEnd() - - // 触发连接成功回调 - initData() - - return { success: true, environment: 'app', fromCache: true } - } - - // 建立新的APP连接 - console.debug('📱 Establishing new APP connection...') - - const connectionResult = await new Promise((resolve, reject) => { - const connectionPromise = new Promise((connectResolve, connectReject) => { - connectApplication(async (access) => { - try { - const result = parseAccessOrigin(access) - - if (result.success) { - // 解析头部信息 - headerInfo.value = parseHeader(result.data) - - // 设置HTTP请求头 - console.debug('🔧 Setting HTTP headers...') - await setHttpHeaders(headerInfo.value) - - // 标记连接成功 - appConnected.value = true - appConnectionManager.setConnected(headerInfo.value) - - console.debug('🎉 APP connection established successfully') - connectResolve({ success: true, environment: 'app', fromCache: false }) - } else { - console.error('❌ Failed to parse access origin:', result.error) - appConnectionManager.reset() - connectReject(new Error(result.error)) - } - } catch (error) { - console.error('❌ Connection process failed:', error) - appConnectionManager.reset() - connectReject(error) - } - }) - }) - - // 设置连接状态 - appConnectionManager.setConnecting(connectionPromise) - - connectionPromise.then(resolve).catch(reject) - }) - - console.debug('✅ Connection completed successfully') - console.groupEnd() - - // 触发连接成功回调 - initData() - - return connectionResult - } catch (error) { - console.error('❌ Connection failed:', error) - appConnected.value = false - console.groupEnd() - - // 触发连接失败回调 - // if (onConnectionFailed) { - // onConnectionFailed(error) - // } - - // 连接失败的特殊处理 - if (error.message && error.message.includes('parse access')) { - router.push({ path: '/not_app', query: { message: error.message } }) - } - - return { success: false, error: error.message } - } + ) } onMounted(() => { - connectToApp() + connectToAppHandler() isInAppEnvironment.value = isInApp() })