From 500d7ec816a3a44fb7777cfadd4ca47ac2d86ad7 Mon Sep 17 00:00:00 2001 From: kang Date: Sat, 16 May 2026 10:53:01 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=A4=A7=E5=8E=85?= =?UTF-8?q?=E5=80=92=E8=AE=A1=E6=97=B6=E7=A9=BA=E6=95=B0=E6=8D=AE=E8=A6=86?= =?UTF-8?q?=E7=9B=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/features/hall/use-hall-draw-live.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/features/hall/use-hall-draw-live.ts b/src/features/hall/use-hall-draw-live.ts index cd16187..ce67482 100644 --- a/src/features/hall/use-hall-draw-live.ts +++ b/src/features/hall/use-hall-draw-live.ts @@ -74,6 +74,12 @@ export function useHallDrawLive(): HallDrawLiveSnapshot { setEmittedAtMs(evt.emitted_at_ms ?? Date.now()); }, []); + const mergeCountdownFromWs = useCallback((evt: HallWsEnvelope) => { + if (evt.data === null) return; + setRaw(evt.data); + setEmittedAtMs(evt.emitted_at_ms ?? Date.now()); + }, []); + const updateFromResponse = useCallback((resp: DrawCurrentResponse) => { setServerNowMs(resp.server_now_ms); setRaw(resp.data); @@ -123,7 +129,7 @@ export function useHallDrawLive(): HallDrawLiveSnapshot { const channel = echo.channel("lottery-hall"); // 设置事件监听 - channel.listen(".draw.countdown", mergeFromWs); + channel.listen(".draw.countdown", mergeCountdownFromWs); channel.listen(".draw.status_change", mergeFromWs); channel.listen(".result.published", (evt: HallWsEnvelope) => { // 开奖结果发布时触发钱包轮询 @@ -187,6 +193,7 @@ export function useHallDrawLive(): HallDrawLiveSnapshot { } }; }, [ + mergeCountdownFromWs, mergeFromWs, load, setDrawPollingIntervalId,