// TypeScript interfaces for military situation data import { US_KEY_LOCATIONS, IRAN_KEY_LOCATIONS } from './mapLocations' export interface ForceAsset { id: string name: string type: string count: number status: 'active' | 'standby' | 'alert' location?: { lat: number; lng: number } } export interface ForceSummary { totalAssets: number personnel: number navalShips: number aircraft: number groundUnits: number uav: number missileConsumed: number missileStock: number } export interface PowerIndex { overall: number militaryStrength: number economicPower: number geopoliticalInfluence: number } export interface CombatLosses { bases: { destroyed: number; damaged: number } personnelCasualties: { killed: number; wounded: number } /** 平民伤亡 */ civilianCasualties?: { killed: number; wounded: number } aircraft: number warships: number armor: number vehicles: number /** 其它 */ drones?: number missiles?: number helicopters?: number submarines?: number /** 航母 */ carriers?: number /** 民船 */ civilianShips?: number /** 机/港(机场/港口) */ airportPort?: number } export interface SituationUpdate { id: string timestamp: string category: 'deployment' | 'alert' | 'intel' | 'diplomatic' | 'other' summary: string severity: 'low' | 'medium' | 'high' | 'critical' } export interface ConflictEvent { event_id: string event_time: string title: string lat: number lng: number impact_score: number url?: string } export interface ConflictStats { total_events: number high_impact_events: number estimated_casualties: number estimated_strike_count: number } export interface MilitarySituation { lastUpdated: string usForces: { summary: ForceSummary powerIndex: PowerIndex assets: ForceAsset[] keyLocations: { name: string lat: number lng: number type?: string region?: string id?: number status?: 'operational' | 'damaged' | 'attacked' damage_level?: number }[] combatLosses: CombatLosses /** 华尔街财团投入趋势 { time: ISO string, value: 0-100 } */ wallStreetInvestmentTrend: { time: string; value: number }[] } iranForces: { summary: ForceSummary powerIndex: PowerIndex assets: ForceAsset[] keyLocations: { name: string lat: number lng: number type?: string region?: string id?: number status?: 'operational' | 'damaged' | 'attacked' damage_level?: number }[] combatLosses: CombatLosses /** 反击情绪指标 0-100 */ retaliationSentiment: number /** 历史情绪曲线 { time: ISO string, value: 0-100 } */ retaliationSentimentHistory: { time: string; value: number }[] } recentUpdates: SituationUpdate[] /** GDELT 冲突事件 (1–3 绿点, 4–6 橙闪, 7–10 红脉) */ conflictEvents?: ConflictEvent[] /** 战损统计(展示用) */ conflictStats?: ConflictStats /** 平民伤亡合计(不区分阵营) */ civilianCasualtiesTotal?: { killed: number; wounded: number } } export const INITIAL_MOCK_DATA: MilitarySituation = { lastUpdated: '2026-03-01T11:45:00.000Z', usForces: { summary: { totalAssets: 1245, personnel: 185000, navalShips: 292, aircraft: 1862, groundUnits: 18, uav: 418, missileConsumed: 1056, missileStock: 2840, }, powerIndex: { overall: 94, militaryStrength: 96, economicPower: 98, geopoliticalInfluence: 97, }, assets: [ { id: 'us-1', name: '双航母打击群 (CVN-72 & CVN-78)', type: '航母', count: 2, status: 'active' }, { id: 'us-2', name: '阿利·伯克级驱逐舰', type: '驱逐舰', count: 4, status: 'active' }, { id: 'us-3', name: 'F/A-18 中队', type: '战机', count: 48, status: 'active' }, { id: 'us-4', name: 'F-35 中队', type: '战机', count: 48, status: 'active' }, { id: 'us-5', name: 'F-22 猛禽', type: '战机', count: 12, status: 'active' }, { id: 'us-6', name: 'B-2 幽灵', type: '轰炸机', count: 2, status: 'alert' }, { id: 'us-7', name: '爱国者防空系统', type: '防空', count: 3, status: 'active' }, { id: 'us-8', name: 'MQ-9 死神', type: '无人机', count: 28, status: 'active' }, { id: 'us-9', name: 'MQ-1C 灰鹰', type: '无人机', count: 45, status: 'active' }, ], keyLocations: US_KEY_LOCATIONS, combatLosses: { bases: { destroyed: 0, damaged: 2 }, personnelCasualties: { killed: 127, wounded: 384 }, civilianCasualties: { killed: 18, wounded: 52 }, aircraft: 2, warships: 0, armor: 0, vehicles: 8, drones: 4, missiles: 12, helicopters: 1, submarines: 0, carriers: 0, civilianShips: 0, airportPort: 0, }, wallStreetInvestmentTrend: [ { time: '2025-03-01T00:00:00', value: 82 }, { time: '2025-03-01T03:00:00', value: 85 }, { time: '2025-03-01T06:00:00', value: 88 }, { time: '2025-03-01T09:00:00', value: 90 }, { time: '2025-03-01T12:00:00', value: 92 }, { time: '2025-03-01T15:00:00', value: 94 }, { time: '2025-03-01T18:00:00', value: 95 }, { time: '2025-03-01T21:00:00', value: 96 }, { time: '2025-03-01T23:00:00', value: 98 }, ], }, iranForces: { summary: { totalAssets: 7850, personnel: 2350000, navalShips: 4250, aircraft: 8200, groundUnits: 350, uav: 750, missileConsumed: 3720, missileStock: 13800, }, powerIndex: { overall: 42, militaryStrength: 58, economicPower: 28, geopoliticalInfluence: 35, }, assets: [ { id: 'ir-1', name: '护卫舰', type: '水面舰艇', count: 6, status: 'active' }, { id: 'ir-2', name: '快攻艇', type: '海军', count: 100, status: 'active' }, { id: 'ir-3', name: 'F-4 Phantom', type: '战机', count: 62, status: 'standby' }, { id: 'ir-4', name: 'F-14 Tomcat', type: '战机', count: 24, status: 'active' }, { id: 'ir-5', name: '弹道导弹', type: '导弹', count: 3400, status: 'alert' }, { id: 'ir-6', name: '伊斯兰革命卫队海军', type: '准军事', count: 25000, status: 'active' }, { id: 'ir-7', name: '沙希德-136', type: '无人机', count: 750, status: 'alert' }, { id: 'ir-8', name: '法塔赫 (Fattah)', type: '导弹', count: 12, status: 'alert' }, { id: 'ir-9', name: '穆哈杰-6', type: '无人机', count: 280, status: 'active' }, ], keyLocations: IRAN_KEY_LOCATIONS, combatLosses: { bases: { destroyed: 3, damaged: 8 }, personnelCasualties: { killed: 2847, wounded: 5620 }, civilianCasualties: { killed: 412, wounded: 1203 }, aircraft: 24, warships: 12, armor: 18, vehicles: 42, drones: 28, missiles: 156, helicopters: 8, submarines: 2, carriers: 0, civilianShips: 0, airportPort: 0, }, retaliationSentiment: 78, retaliationSentimentHistory: [ { time: '2025-03-01T00:00:00', value: 42 }, { time: '2025-03-01T03:00:00', value: 48 }, { time: '2025-03-01T06:00:00', value: 55 }, { time: '2025-03-01T09:00:00', value: 61 }, { time: '2025-03-01T12:00:00', value: 58 }, { time: '2025-03-01T15:00:00', value: 65 }, { time: '2025-03-01T18:00:00', value: 72 }, { time: '2025-03-01T21:00:00', value: 76 }, { time: '2025-03-01T23:00:00', value: 78 }, ], }, recentUpdates: [ { id: 'u1', timestamp: new Date(Date.now() - 3600000).toISOString(), category: 'deployment', summary: '美军航母打击群在阿拉伯海重新部署', severity: 'medium', }, { id: 'u2', timestamp: new Date(Date.now() - 7200000).toISOString(), category: 'alert', summary: '霍尔木兹海峡海军巡逻活动加强', severity: 'high', }, { id: 'u3', timestamp: new Date(Date.now() - 10800000).toISOString(), category: 'intel', summary: '卫星图像显示阿巴斯港活动增加', severity: 'low', }, { id: 'u4', timestamp: new Date(Date.now() - 14400000).toISOString(), category: 'diplomatic', summary: '阿曼间接谈判进行中', severity: 'low', }, ], conflictEvents: [], conflictStats: { total_events: 0, high_impact_events: 0, estimated_casualties: 0, estimated_strike_count: 0 }, civilianCasualtiesTotal: { killed: 430, wounded: 1255 }, }