fix: 更新数据面板的驱动方式
This commit is contained in:
@@ -3,6 +3,7 @@ import type { MilitarySituation } from '@/data/mockData'
|
||||
import { INITIAL_MOCK_DATA } from '@/data/mockData'
|
||||
import { fetchSituation } from '@/api/situation'
|
||||
import { connectSituationWebSocket } from '@/api/websocket'
|
||||
import { useStatsStore } from './statsStore'
|
||||
|
||||
interface SituationState {
|
||||
situation: MilitarySituation
|
||||
@@ -60,9 +61,11 @@ function pollSituation() {
|
||||
export function startSituationWebSocket(): () => void {
|
||||
useSituationStore.getState().setLastError(null)
|
||||
|
||||
disconnectWs = connectSituationWebSocket((data) => {
|
||||
disconnectWs = connectSituationWebSocket((payload) => {
|
||||
const { situation, stats } = payload as { situation?: MilitarySituation; stats?: { viewers?: number; cumulative?: number; feedbackCount?: number; shareCount?: number } }
|
||||
useSituationStore.getState().setConnected(true)
|
||||
useSituationStore.getState().setSituation(data as MilitarySituation)
|
||||
if (situation) useSituationStore.getState().setSituation(situation)
|
||||
if (stats) useStatsStore.getState().setStats(stats)
|
||||
})
|
||||
|
||||
pollSituation()
|
||||
|
||||
Reference in New Issue
Block a user