feat: add new file
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
// TypeScript interfaces for military situation data
|
||||
import { US_KEY_LOCATIONS, IRAN_KEY_LOCATIONS } from './mapLocations'
|
||||
|
||||
export interface ForceAsset {
|
||||
id: string
|
||||
@@ -50,7 +51,16 @@ export interface MilitarySituation {
|
||||
summary: ForceSummary
|
||||
powerIndex: PowerIndex
|
||||
assets: ForceAsset[]
|
||||
keyLocations: { name: string; lat: number; lng: number }[]
|
||||
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 }[]
|
||||
@@ -59,7 +69,16 @@ export interface MilitarySituation {
|
||||
summary: ForceSummary
|
||||
powerIndex: PowerIndex
|
||||
assets: ForceAsset[]
|
||||
keyLocations: { name: string; lat: number; lng: number }[]
|
||||
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
|
||||
@@ -70,16 +89,16 @@ export interface MilitarySituation {
|
||||
}
|
||||
|
||||
export const INITIAL_MOCK_DATA: MilitarySituation = {
|
||||
lastUpdated: new Date().toISOString(),
|
||||
lastUpdated: '2026-03-01T11:45:00.000Z',
|
||||
usForces: {
|
||||
summary: {
|
||||
totalAssets: 1247,
|
||||
totalAssets: 1245,
|
||||
personnel: 185000,
|
||||
navalShips: 285,
|
||||
aircraft: 1850,
|
||||
navalShips: 292,
|
||||
aircraft: 1862,
|
||||
groundUnits: 18,
|
||||
uav: 420,
|
||||
missileConsumed: 156,
|
||||
uav: 418,
|
||||
missileConsumed: 1056,
|
||||
missileStock: 2840,
|
||||
},
|
||||
powerIndex: {
|
||||
@@ -89,23 +108,24 @@ export const INITIAL_MOCK_DATA: MilitarySituation = {
|
||||
geopoliticalInfluence: 97,
|
||||
},
|
||||
assets: [
|
||||
{ id: 'us-1', name: '艾森豪威尔号航母', type: '航母', count: 1, status: 'active' },
|
||||
{ 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: 24, status: 'standby' },
|
||||
{ id: 'us-5', name: 'B-1B 轰炸机', type: '轰炸机', count: 4, status: 'alert' },
|
||||
{ id: 'us-6', name: '爱国者防空系统', type: '防空', count: 3, status: 'active' },
|
||||
{ id: 'us-7', name: 'MQ-9 死神', type: '无人机', count: 28, status: 'active' },
|
||||
{ id: 'us-8', name: 'MQ-1C 灰鹰', type: '无人机', count: 45, status: 'active' },
|
||||
],
|
||||
keyLocations: [
|
||||
{ name: '第五舰队司令部', lat: 26.2285, lng: 50.586 },
|
||||
{ name: '乌代德空军基地', lat: 25.1173, lng: 51.3153 },
|
||||
{ name: '艾森豪威尔号航母', lat: 26.5, lng: 52.0 },
|
||||
{ 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 },
|
||||
aircraft: 2,
|
||||
warships: 0,
|
||||
armor: 0,
|
||||
vehicles: 8,
|
||||
},
|
||||
wallStreetInvestmentTrend: [
|
||||
{ time: '2025-03-01T00:00:00', value: 82 },
|
||||
@@ -121,14 +141,14 @@ export const INITIAL_MOCK_DATA: MilitarySituation = {
|
||||
},
|
||||
iranForces: {
|
||||
summary: {
|
||||
totalAssets: 8523,
|
||||
totalAssets: 7850,
|
||||
personnel: 2350000,
|
||||
navalShips: 4250,
|
||||
aircraft: 8200,
|
||||
groundUnits: 350,
|
||||
uav: 1850,
|
||||
missileConsumed: 3420,
|
||||
missileStock: 15600,
|
||||
uav: 750,
|
||||
missileConsumed: 3720,
|
||||
missileStock: 13800,
|
||||
},
|
||||
powerIndex: {
|
||||
overall: 42,
|
||||
@@ -141,16 +161,13 @@ export const INITIAL_MOCK_DATA: MilitarySituation = {
|
||||
{ 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: 2000, status: 'alert' },
|
||||
{ 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: 1200, status: 'alert' },
|
||||
{ id: 'ir-8', name: '穆哈杰-6', type: '无人机', count: 280, status: 'active' },
|
||||
],
|
||||
keyLocations: [
|
||||
{ name: '阿巴斯港', lat: 27.1832, lng: 56.2666 },
|
||||
{ name: '德黑兰', lat: 35.6892, lng: 51.3890 },
|
||||
{ name: '布什尔', lat: 28.9681, lng: 50.8380 },
|
||||
{ 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 },
|
||||
|
||||
Reference in New Issue
Block a user