feat: new file
This commit is contained in:
205
src/data/mockData.ts
Normal file
205
src/data/mockData.ts
Normal file
@@ -0,0 +1,205 @@
|
||||
// TypeScript interfaces for military situation data
|
||||
|
||||
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 }
|
||||
aircraft: number
|
||||
warships: number
|
||||
armor: number
|
||||
vehicles: number
|
||||
}
|
||||
|
||||
export interface SituationUpdate {
|
||||
id: string
|
||||
timestamp: string
|
||||
category: 'deployment' | 'alert' | 'intel' | 'diplomatic' | 'other'
|
||||
summary: string
|
||||
severity: 'low' | 'medium' | 'high' | 'critical'
|
||||
}
|
||||
|
||||
export interface MilitarySituation {
|
||||
lastUpdated: string
|
||||
usForces: {
|
||||
summary: ForceSummary
|
||||
powerIndex: PowerIndex
|
||||
assets: ForceAsset[]
|
||||
keyLocations: { name: string; lat: number; lng: 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 }[]
|
||||
combatLosses: CombatLosses
|
||||
/** 反击情绪指标 0-100 */
|
||||
retaliationSentiment: number
|
||||
/** 历史情绪曲线 { time: ISO string, value: 0-100 } */
|
||||
retaliationSentimentHistory: { time: string; value: number }[]
|
||||
}
|
||||
recentUpdates: SituationUpdate[]
|
||||
}
|
||||
|
||||
export const INITIAL_MOCK_DATA: MilitarySituation = {
|
||||
lastUpdated: new Date().toISOString(),
|
||||
usForces: {
|
||||
summary: {
|
||||
totalAssets: 1247,
|
||||
personnel: 185000,
|
||||
navalShips: 285,
|
||||
aircraft: 1850,
|
||||
groundUnits: 18,
|
||||
uav: 420,
|
||||
missileConsumed: 156,
|
||||
missileStock: 2840,
|
||||
},
|
||||
powerIndex: {
|
||||
overall: 94,
|
||||
militaryStrength: 96,
|
||||
economicPower: 98,
|
||||
geopoliticalInfluence: 97,
|
||||
},
|
||||
assets: [
|
||||
{ id: 'us-1', name: '艾森豪威尔号航母', type: '航母', count: 1, 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 },
|
||||
],
|
||||
combatLosses: {
|
||||
bases: { destroyed: 0, damaged: 2 },
|
||||
personnelCasualties: { killed: 127, wounded: 384 },
|
||||
},
|
||||
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: 8523,
|
||||
personnel: 2350000,
|
||||
navalShips: 4250,
|
||||
aircraft: 8200,
|
||||
groundUnits: 350,
|
||||
uav: 1850,
|
||||
missileConsumed: 3420,
|
||||
missileStock: 15600,
|
||||
},
|
||||
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: 2000, 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 },
|
||||
],
|
||||
combatLosses: {
|
||||
bases: { destroyed: 3, damaged: 8 },
|
||||
personnelCasualties: { killed: 2847, wounded: 5620 },
|
||||
aircraft: 24,
|
||||
warships: 12,
|
||||
armor: 18,
|
||||
vehicles: 42,
|
||||
},
|
||||
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',
|
||||
},
|
||||
],
|
||||
}
|
||||
Reference in New Issue
Block a user