diff --git a/src/views/Activities/Lottery/Lottery.vue b/src/views/Activities/Lottery/Lottery.vue index 772b32a..e1f70a3 100644 --- a/src/views/Activities/Lottery/Lottery.vue +++ b/src/views/Activities/Lottery/Lottery.vue @@ -289,7 +289,7 @@ v-for="coin in coinOptions" :key="coin.id" @click="selectCoin(coin)" - :class="['coin-item', { selected: selectedCoin.id === coin.id }]" + :class="['coin-item', { selected: selectedCoin?.id === coin.id }]" >
${{ coin.price }}
@@ -310,7 +310,7 @@ font-weight: 590; " @click="transfer" - :disabled="!selectedCoin || !selectedPayee.value.id" + :disabled="!selectedCoin || !selectedPayee.value?.id" > Transfer @@ -349,7 +349,7 @@ v-for="coin in coinOptions" :key="coin.id" @click="selectCoin(coin)" - :class="['coin-item', { selected: selectedCoin.id == coin.id }]" + :class="['coin-item', { selected: selectedCoin?.id == coin.id }]" >
{{ coin.amount }} coins x1
@@ -370,7 +370,8 @@ background: linear-gradient(135deg, #bb92ff 2.82%, #8b45ff 99.15%); font-weight: 590; " - :disabled="!selectedCoin.id || !selectedPayee.value?.id" + :disabled="!selectedCoin || !selectedPayee.value?.id" + @click="exchangeCoinBt" > Exchange @@ -988,7 +989,7 @@ const coinOptions = ref([ //选择金币 const selectCoin = (coin) => { // 单选逻辑:如果已经选中相同的金币,则取消选择;否则选中新的金币 - if (selectedCoin.value.id === coin.id) { + if (selectedCoin.value?.id == coin.id) { selectedCoin.value = null } else { selectedCoin.value = coin @@ -1011,37 +1012,55 @@ const transfer = async () => { const transferData = { amount: selectedCoin.value.price, acceptUserId: selectedPayee.value?.id, - acceptMethod: 'BANK_TRANSFER', - // password: password } try { // 调用转账接口 - const response = await userBankTransfer(transferData) + const response = await transferActivityDollar(transferData) if (response.status) { showSuccess( - `Successfully transferred $${selectedCoinData.price} to ${selectedPayee.value?.name}` + `Successfully transferred $${selectedCoin.value.price} to ${selectedPayee.value?.name}` ) } else { - showError(`Failed to transfer $${selectedCoinData.price}`) + showError(`Failed to transfer $${selectedCoin.value.price}`) } // 重置选择 selectedCoin.value = null - // 刷新银行余额 - await fetchBankBalance() + getDrawableAmount() //刷新可提现金额 } catch (error) { - // 错误处理 - console.error('Transfer failed:', error) + showError(error.errorMsg) + } +} - if (error.errorCode === 5000) { - showError('Insufficient balance') - } else if (error.errorCode === 5010 || error.errorCode === 5009) { - showError('Payment password error') +//兑换代币 +const exchangeCoinBt = async () => { + if (!selectedCoin.value) { + showError('Please select an amount first') + return + } + + // 构造请求参数 + const transferData = { + amount: selectedCoin.value.price, + } + + try { + // 调用转账接口 + const response = await exchangeCoin(transferData) + if (response.status) { + showSuccess(`Successfully exchange $${selectedCoin.value.amount} coins`) } else { - showError('Transfer failed, please try again later') + showError(`Failed to exchange $${selectedCoin.value.amount} coins`) } + + // 重置选择 + selectedCoin.value = null + + getDrawableAmount() //刷新可提现金额 + } catch (error) { + showError(error.errorMsg) } }