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)
}
}