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