feat: 集成玩家余额 WebSocket 监听并增强风控预警处理

新增 PlayerBalanceWsListener,用于处理玩家余额的实时更新。
引入 RiskWarningWsEvent 类型,并更新 HallBettingGrid 以支持实时风控预警处理。
增强 cellRiskState 方法,新增 warning 状态支持,提升风控管理能力。
更新英文、尼泊尔语及中文翻译,新增玩家余额更新相关文案。
This commit is contained in:
2026-05-26 17:13:49 +08:00
parent ab81da3199
commit adae4a0be1
8 changed files with 158 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
"use client";
import type { ReactNode } from "react";
import { usePlayerBalanceWs } from "@/hooks/use-player-balance-ws";
/** 全局挂载:登录后订阅 `balance.update`。 */
export function PlayerBalanceWsListener(): ReactNode {
usePlayerBalanceWs();
return null;
}

View File

@@ -5,6 +5,7 @@ import { useEffect, type ReactNode } from "react";
import { Toaster } from "@/components/ui/sonner";
import { ErrorProvider } from "@/components/error-provider";
import { IframeBridge } from "@/components/iframe-bridge";
import { PlayerBalanceWsListener } from "@/components/player-balance-ws-listener";
import { TokenRefreshIndicator } from "@/components/token-refresh-indicator";
import "@/i18n";
import { syncPreferredLanguage } from "@/i18n";
@@ -24,6 +25,7 @@ export function Providers({ children }: ProvidersProps): ReactNode {
{/* iframe 通信桥接 - 支持主站嵌入 */}
<IframeBridge>
{children}
<PlayerBalanceWsListener />
{/* Token 续签指示器 - 显示在右下角 */}
<TokenRefreshIndicator />
</IframeBridge>