修改应援活动的钻石实时更新

This commit is contained in:
zheng020 2026-05-16 04:31:11 +08:00
parent d30eda151e
commit 0231151c36
2 changed files with 35 additions and 10 deletions

View File

@ -334,13 +334,36 @@ async function handleConfirmContribute() {
} }
// API // API
let successCount = 0
let lastRemainingBalance = null
let lastErrorMessage = ''
for (let i = 0; i < quantity.value; i++) { for (let i = 0; i < quantity.value; i++) {
await contributeItem(item, false, true) const res = await contributeItem(item, true, true)
console.log(`${i+1}次调用返回值:`, res)
if (res && res.success !== false) {
successCount++
lastRemainingBalance = res.remainingBalance
} else {
lastErrorMessage = res?.message || '活动不在进行中,无法购买'
}
}
// 使
if (lastRemainingBalance !== null) {
await updateLocalBalanceFromResult(lastRemainingBalance)
}
//
if (successCount === quantity.value) {
showResultToast('✅', `贡献成功\n+${item.cost * successCount} 贡献值已到账`)
} else if (successCount > 0) {
showResultToast('⚠️', `部分成功 ${successCount}/${quantity.value}`)
} else {
showResultToast('❌', lastErrorMessage || '贡献失败')
} }
} finally { } finally {
processingItems.delete(item.type) processingItems.delete(item.type)
isContributing.value = false isContributing.value = false
// selectedItem
} }
} }
@ -366,11 +389,13 @@ async function contributeItem(item, isRetry = false, silent = false) {
try { try {
// 使 activity-config.js purchaseItem // 使 activity-config.js purchaseItem
const result = await purchaseItem(props.activityId, item.type, 1) const result = await purchaseItem(props.activityId, item.type, 1)
console.log(`[contributeItem] result:`, result, 'isRetry:', isRetry, 'silent:', silent)
// //
if (!result.success) { if (!result.success) {
if (!silent) showResultToast('', result.message || '活动不在进行中,无法购买') const msg = result.message || '活动不在进行中,无法购买'
return false if (!silent) showResultToast('', msg)
return { success: false, message: msg }
} }
// //
@ -393,7 +418,7 @@ async function contributeItem(item, isRetry = false, silent = false) {
} }
// syncPendingActions true // syncPendingActions true
return isRetry ? { contribution: result.totalContribution, remainingBalance: result.remainingBalance } : true return isRetry ? { contribution: result.totalContribution, remainingBalance: result.remainingBalance, success: true } : { success: true }
} catch (error) { } catch (error) {
console.error('贡献失败:', error) console.error('贡献失败:', error)
@ -404,12 +429,12 @@ async function contributeItem(item, isRetry = false, silent = false) {
if (!queued) { if (!queued) {
// 退 // 退
refundLocalBalance(item.cost) refundLocalBalance(item.cost)
return false return { success: false, message: '网络异常,已加入队列' }
} }
showResultToast('', '网络异常,已加入队列') return { success: false, message: '网络异常,已加入队列' }
} }
return false return { success: false, message: error.message || '贡献失败' }
} }
} }

View File

@ -22,11 +22,11 @@
/> />
<!-- 实时贡献列表 --> <!-- 实时贡献列表 -->
<ContributionList <!-- <ContributionList
v-if="activityId && !isLoading" v-if="activityId && !isLoading"
:activity-id="activityId" :activity-id="activityId"
class="contribution-list-wrapper" class="contribution-list-wrapper"
/> /> -->
<!-- 舞台区域 --> <!-- 舞台区域 -->
<StageArea <StageArea