From 4715bfa08927dd057908b6a6912d96d681cd032f Mon Sep 17 00:00:00 2001
From: hzj <1304805162@qq.com>
Date: Fri, 24 Oct 2025 16:30:13 +0800
Subject: [PATCH] =?UTF-8?q?feat(=E6=8A=BD=E5=A5=96=E6=B4=BB=E5=8A=A8?=
=?UTF-8?q?=E9=A1=B5):=20=E5=AF=B9=E6=8E=A5=E8=BD=AC=E8=B4=A6=E5=92=8C?=
=?UTF-8?q?=E5=85=91=E6=8D=A2=E9=87=91=E5=B8=81=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/Activities/Lottery/Lottery.vue | 57 ++++++++++++++++--------
1 file changed, 38 insertions(+), 19 deletions(-)
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)
}
}