From 313f6ae64740769f14a33fbe442b7896113490cd Mon Sep 17 00:00:00 2001 From: TJH Date: Thu, 25 Jun 2026 15:32:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=A7=8B=E6=BB=9A=E5=8A=A8=E5=89=8D?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=BD=99=E9=A2=9D=E6=97=B6=EF=BC=8C=E5=A6=82?= =?UTF-8?q?=E6=9E=9C=E7=BD=91=E7=BB=9C=E9=94=99=E8=AF=AF=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E9=94=99=E8=AF=AF=E5=90=8E=E7=9A=84=E5=A4=84=E7=90=86?= =?UTF-8?q?=EF=BC=88await=E5=90=8E=E9=9D=A2=E8=AE=B0=E5=BE=97=E9=83=BD?= =?UTF-8?q?=E8=A6=81=E5=81=9A=E6=9C=AA=E5=93=8D=E5=BA=94=E7=9A=84=E5=A4=84?= =?UTF-8?q?=E7=90=86=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/Game/Scripts/SlotBar.ts | 23 +++++++++++++++++++++++ assets/Game/Scripts/SlotScene.ts | 9 ++++----- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/assets/Game/Scripts/SlotBar.ts b/assets/Game/Scripts/SlotBar.ts index c216f3d..20e259c 100644 --- a/assets/Game/Scripts/SlotBar.ts +++ b/assets/Game/Scripts/SlotBar.ts @@ -754,4 +754,27 @@ export class SlotBar extends Component { this.betIndex = 0; this.setBet(this.betGrade[this.betIndex]); } + private _refreshingBalance: boolean = false; + async refreshBalanceFromServer(): Promise { + if (this._refreshingBalance) return this.getBalance(); + this._refreshingBalance = true; + try { + const res = await callGameBalanceApi({}); + const balance = Number(res.Balance); + if (!Number.isFinite(balance)) { + console.warn("[SlotBar] invalid balance response:", res); + return null; + } + this.setBalance(balance); + return balance; + } catch (err) { + console.error("[SlotBar] refresh balance failed:", err); + return null; + } finally { + this.scheduleOnce(() => { + this._refreshingBalance = false; + }, 1) + + } + } } diff --git a/assets/Game/Scripts/SlotScene.ts b/assets/Game/Scripts/SlotScene.ts index 234c42e..b9b005a 100644 --- a/assets/Game/Scripts/SlotScene.ts +++ b/assets/Game/Scripts/SlotScene.ts @@ -220,12 +220,11 @@ export class SlotScene extends Component { this.slotBar.setWin(0); } - let curBalanceData = await callGameBalanceApi({ GameId: getGameId() }) - let curBalance = curBalanceData.Balance - if (!curBalance) { - curBalance = this.slotBar.getBalance() + let curBalanceData = await this.slotBar.refreshBalanceFromServer() + if (!curBalanceData) { + curBalanceData = this.slotBar.getBalance() } - if (curBalance < (buyType == 1 ? this.slotBar.getBet() * this.gameInfo.BuyMul : (this.isDoubleWin ? this.slotBar.getdisplayBet() : this.slotBar.getBet())) && !this.isFreeSpin && !this.spinInfo.Frb.Ongoing) { + if (curBalanceData < (buyType == 1 ? this.slotBar.getBet() * this.gameInfo.BuyMul : (this.isDoubleWin ? this.slotBar.getdisplayBet() : this.slotBar.getBet())) && !this.isFreeSpin && !this.spinInfo.Frb.Ongoing) { //余额不足不经过服务器,在客户端拦截 this.showErrorTip(2, "", () => { this.slotBar.onConfirmErr2() }); this.handleErrSpin(true);