feat(每日充值): 优化初始化数据的接口调用
This commit is contained in:
parent
6624db0a7c
commit
918bd1b484
@ -876,6 +876,7 @@ const mainRewardVapRenderKey = computed(() => {
|
||||
return `${mainRewardRenderKey.value}-vap-${mainRewardVapRetryVersion.value}`
|
||||
})
|
||||
let pageInitializationStarted = false
|
||||
let pageInitializationPromise = null
|
||||
|
||||
const isLocalRewardAsset = (reward) => {
|
||||
return Boolean(reward?.localRewardAsset)
|
||||
@ -1106,8 +1107,13 @@ const initData = async () => {
|
||||
console.error('Failed to initialize daily recharge activity rewards:', rewardResult.reason)
|
||||
}
|
||||
|
||||
if (taskResult.status === 'rejected' && rewardResult.status === 'rejected') {
|
||||
throw taskResult.reason || rewardResult.reason
|
||||
if (taskResult.status === 'rejected') {
|
||||
throw taskResult.reason
|
||||
}
|
||||
|
||||
return {
|
||||
taskSuccess: true,
|
||||
rewardSuccess: rewardResult.status === 'fulfilled',
|
||||
}
|
||||
}
|
||||
|
||||
@ -1144,9 +1150,16 @@ const preloadCriticalImages = async () => {
|
||||
const completePreloading = async () => {
|
||||
try {
|
||||
await initData()
|
||||
await preloadCriticalImages()
|
||||
pageInitializationStarted = true
|
||||
try {
|
||||
await preloadCriticalImages()
|
||||
} catch (preloadError) {
|
||||
console.warn('Daily recharge critical assets preload failed:', preloadError)
|
||||
}
|
||||
return true
|
||||
} catch (error) {
|
||||
console.error('棰勫姞杞借繃绋嬩腑鍙戠敓閿欒:', error)
|
||||
return false
|
||||
} finally {
|
||||
isLoading.value = false
|
||||
queueRewardVapPreload(activityRewards.value)
|
||||
@ -1155,19 +1168,38 @@ const completePreloading = async () => {
|
||||
|
||||
const startPageInitialization = async () => {
|
||||
if (pageInitializationStarted) {
|
||||
return
|
||||
return true
|
||||
}
|
||||
|
||||
pageInitializationStarted = true
|
||||
await completePreloading()
|
||||
if (pageInitializationPromise) {
|
||||
return pageInitializationPromise
|
||||
}
|
||||
|
||||
pageInitializationPromise = completePreloading().finally(() => {
|
||||
pageInitializationPromise = null
|
||||
})
|
||||
|
||||
return pageInitializationPromise
|
||||
}
|
||||
|
||||
const connectToAppHandler = async () => {
|
||||
const result = await connectToApp(async () => {
|
||||
await startPageInitialization()
|
||||
})
|
||||
try {
|
||||
await runWithRetry(async () => {
|
||||
const result = await connectToApp(async () => {
|
||||
const initialized = await startPageInitialization()
|
||||
if (!initialized) {
|
||||
throw new Error('Daily recharge initialization failed')
|
||||
}
|
||||
})
|
||||
|
||||
if (!result?.success) {
|
||||
if (!result?.success) {
|
||||
throw new Error(result?.error || 'APP connection failed')
|
||||
}
|
||||
|
||||
return result
|
||||
}, 2, 1200)
|
||||
} catch (error) {
|
||||
console.error('Daily recharge connection or initialization failed:', error)
|
||||
isLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user