From bf3f403b814dfd3884b628a980ee9cddefb2afd7 Mon Sep 17 00:00:00 2001 From: tian <11429339@qq.com> Date: Fri, 12 Jun 2026 11:44:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E5=91=8A:=20=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E4=B8=8E=E7=9B=AE=E6=A0=87=E5=88=86=E4=B8=BA=E7=8B=AC=E7=AB=8B?= =?UTF-8?q?=E7=AB=A0=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/ReportGenerator.cs | 38 ++++++++++++------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/src/CounterDrone.Core/Services/ReportGenerator.cs b/src/CounterDrone.Core/Services/ReportGenerator.cs index d200688..a131459 100644 --- a/src/CounterDrone.Core/Services/ReportGenerator.cs +++ b/src/CounterDrone.Core/Services/ReportGenerator.cs @@ -30,20 +30,32 @@ namespace CounterDrone.Core.Services sb.AppendLine($"| 拦截概率(算法估计) | {(config.Cloud.Source == "Algorithm" ? "见推荐方案" : "手动配置")} |"); sb.AppendLine(); - // === 一、环境与目标 === - sb.AppendLine("## 一、环境与目标"); + // === 一、环境 === + sb.AppendLine("## 一、作战环境"); sb.AppendLine(); - sb.AppendLine($"| 环境 | 值 | 目标 | 值 |"); - sb.AppendLine($"|------|-----|------|-----|"); - sb.AppendLine($"| 天气 | {TranslateWeather((WeatherType)scene.WeatherType)} | 类型 | {TranslateTarget((TargetType)(target?.TargetType ?? 0))} |"); - sb.AppendLine($"| 风速 | {scene.WindSpeed} m/s | 数量 | {config.Targets.Sum(t => t.Quantity)} 架 |"); - sb.AppendLine($"| 风向 | {scene.WindDirection} | 速度 | {target?.TypicalSpeed ?? 0} km/h |"); - sb.AppendLine($"| 温度 | {scene.Temperature}°C | 高度 | {target?.TypicalAltitude ?? 0} m |"); - sb.AppendLine($"| 能见度 | {scene.Visibility} m | 动力 | {TranslatePower((PowerType)(target?.PowerType ?? 0))} |"); + sb.AppendLine($"| 参数 | 值 |"); + sb.AppendLine($"|------|-----|"); + sb.AppendLine($"| 天气 | {TranslateWeather((WeatherType)scene.WeatherType)} |"); + sb.AppendLine($"| 风速 | {scene.WindSpeed} m/s |"); + sb.AppendLine($"| 风向 | {scene.WindDirection} |"); + sb.AppendLine($"| 温度 | {scene.Temperature}°C |"); + sb.AppendLine($"| 能见度 | {scene.Visibility} m |"); + sb.AppendLine(); + + // === 二、目标 === + sb.AppendLine("## 二、威胁目标"); + sb.AppendLine(); + sb.AppendLine($"| 参数 | 值 |"); + sb.AppendLine($"|------|-----|"); + sb.AppendLine($"| 类型 | {TranslateTarget((TargetType)(target?.TargetType ?? 0))} |"); + sb.AppendLine($"| 数量 | {config.Targets.Sum(t => t.Quantity)} 架 |"); + sb.AppendLine($"| 速度 | {target?.TypicalSpeed ?? 0} km/h |"); + sb.AppendLine($"| 高度 | {target?.TypicalAltitude ?? 0} m |"); + sb.AppendLine($"| 动力 | {TranslatePower((PowerType)(target?.PowerType ?? 0))} |"); sb.AppendLine(); // === 二、我方部署 === - sb.AppendLine("## 二、我方部署"); + sb.AppendLine("## 三、我方部署"); sb.AppendLine(); sb.AppendLine($"| 装备 | 数量 |"); sb.AppendLine($"|------|------|"); @@ -54,7 +66,7 @@ namespace CounterDrone.Core.Services sb.AppendLine(); // === 三、事件时序 === - sb.AppendLine("## 三、事件时序"); + sb.AppendLine("## 四、事件时序"); sb.AppendLine(); sb.AppendLine("| 时间(s) | 事件 | 详情 |"); sb.AppendLine("|---------|------|------|"); @@ -79,7 +91,7 @@ namespace CounterDrone.Core.Services var launchTime = events.Where(e => e.Type == SimEventType.MunitionLaunched).Select(e => e.OccurredAt).DefaultIfEmpty(0).Min(); var cloudTime = events.Where(e => e.Type == SimEventType.CloudGenerated).Select(e => e.OccurredAt).DefaultIfEmpty(0).Min(); var destroyTime = events.Where(e => e.Type == SimEventType.DroneDestroyed).Select(e => e.OccurredAt).DefaultIfEmpty(0).Min(); - sb.AppendLine("## 四、时间线"); + sb.AppendLine("## 五、时间线"); sb.AppendLine(); sb.AppendLine($"| 阶段 | 时间 | 耗时 |"); sb.AppendLine($"|------|------|------|"); @@ -97,7 +109,7 @@ namespace CounterDrone.Core.Services var totalDrones = config.Targets.Sum(t => t.Quantity); var result = DetermineInterceptResult(destroyed, reached + intruded, totalDrones); - sb.AppendLine("## 五、结果统计"); + sb.AppendLine("## 六、结果统计"); sb.AppendLine(); sb.AppendLine($"| 统计项 | 值 |"); sb.AppendLine($"|--------|-----|");