feat: 集成网络连接管理与降级轮询功能

- 在 PlayerAppShell 中引入 NetworkStatusBanner 组件以显示网络状态
- 在 HallBettingGrid 中实现下注后触发钱包轮询
- 在 HallWalletStrip 中添加网络连接状态管理与定期刷新逻辑
- 在 useHallDrawLive 中集成 WebSocket 连接状态与降级轮询机制,确保在断开时自动切换到轮询模式
This commit is contained in:
2026-05-13 14:44:58 +08:00
parent 377e03e167
commit 1e7a06dc86
9 changed files with 974 additions and 16 deletions

View File

@@ -19,6 +19,7 @@ import { HallBetAmountInput } from "@/features/hall/hall-bet-amount-input";
import { HallBetPreviewDialog } from "@/features/hall/hall-bet-preview-dialog";
import { HallBetNumberInput } from "@/features/hall/hall-bet-number-input";
import { isHallSealedCountdownUi } from "@/features/draw/draw-status-meta";
import { triggerWalletPollingAfterBet } from "@/hooks/use-wallet-polling";
import {
playNeedsDigitSlot,
playNeedsDimension,
@@ -301,7 +302,8 @@ export function HallBettingGrid() {
setPreviewData(null);
setAmountStr("");
setNumber("");
window.dispatchEvent(new Event("lottery-wallet-refresh"));
// 触发钱包轮询降级模式下启动2分钟限时轮询
triggerWalletPollingAfterBet();
void reloadDraw();
} catch (e) {
const code = e instanceof LotteryApiBizError ? e.code : 0;