手动阀
This commit is contained in:
@@ -71,6 +71,9 @@ namespace OrpaonVision.SiteApp.DependencyInjection
|
||||
services.AddSingleton<IImageProcessingService, ImageProcessingService>();
|
||||
services.AddSingleton<OptimizedMainWindowViewModel>();
|
||||
|
||||
// 一致性检查服务
|
||||
services.AddSingleton<IConsistencyCheckService, ConsistencyCheckService>();
|
||||
|
||||
// 日志
|
||||
services.AddLogging(builder =>
|
||||
{
|
||||
|
||||
@@ -0,0 +1,234 @@
|
||||
namespace OrpaonVision.SiteApp.Runtime.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// 一致性状态枚举。
|
||||
/// </summary>
|
||||
public enum ConsistencyStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// 正常。
|
||||
/// </summary>
|
||||
Ok,
|
||||
|
||||
/// <summary>
|
||||
/// 警告。
|
||||
/// </summary>
|
||||
Warning,
|
||||
|
||||
/// <summary>
|
||||
/// 错误。
|
||||
/// </summary>
|
||||
Error
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 健康状态枚举。
|
||||
/// </summary>
|
||||
public enum HealthStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// 健康。
|
||||
/// </summary>
|
||||
Healthy,
|
||||
|
||||
/// <summary>
|
||||
/// 降级。
|
||||
/// </summary>
|
||||
Degraded,
|
||||
|
||||
/// <summary>
|
||||
/// 不健康。
|
||||
/// </summary>
|
||||
Unhealthy
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 一致性检查结果。
|
||||
/// </summary>
|
||||
public sealed class ConsistencyCheckResult
|
||||
{
|
||||
/// <summary>
|
||||
/// 检查时间戳。
|
||||
/// </summary>
|
||||
public DateTime CheckTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 检查状态。
|
||||
/// </summary>
|
||||
public ConsistencyStatus Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 检查消息。
|
||||
/// </summary>
|
||||
public string Message { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 相机是否连接。
|
||||
/// </summary>
|
||||
public bool CameraConnected { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// YOLO是否初始化。
|
||||
/// </summary>
|
||||
public bool YoloInitialized { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 像素格式是否一致。
|
||||
/// </summary>
|
||||
public bool PixelFormatConsistent { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 像素格式检查详情。
|
||||
/// </summary>
|
||||
public List<string> PixelFormatDetails { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// 图像尺寸是否一致。
|
||||
/// </summary>
|
||||
public bool ImageSizeConsistent { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 图像尺寸检查详情。
|
||||
/// </summary>
|
||||
public List<string> ImageSizeDetails { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// 数据流完整性。
|
||||
/// </summary>
|
||||
public bool DataFlowIntegrity { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据流检查详情。
|
||||
/// </summary>
|
||||
public List<string> DataFlowDetails { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// 建议列表。
|
||||
/// </summary>
|
||||
public List<string> Recommendations { get; set; } = new();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 健康检查结果。
|
||||
/// </summary>
|
||||
public sealed class HealthCheckResult
|
||||
{
|
||||
/// <summary>
|
||||
/// 检查时间戳。
|
||||
/// </summary>
|
||||
public DateTime Timestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 整体状态。
|
||||
/// </summary>
|
||||
public HealthStatus OverallStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 相机健康状态。
|
||||
/// </summary>
|
||||
public ComponentHealth CameraHealth { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// YOLO健康状态。
|
||||
/// </summary>
|
||||
public ComponentHealth YoloHealth { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// 系统健康状态。
|
||||
/// </summary>
|
||||
public ComponentHealth SystemHealth { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// 健康检查摘要。
|
||||
/// </summary>
|
||||
public string Summary { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 组件健康状态。
|
||||
/// </summary>
|
||||
public sealed class ComponentHealth
|
||||
{
|
||||
/// <summary>
|
||||
/// 组件名称。
|
||||
/// </summary>
|
||||
public string ComponentName { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 健康状态。
|
||||
/// </summary>
|
||||
public HealthStatus Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 详细信息。
|
||||
/// </summary>
|
||||
public List<string> Details { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// 指标数据。
|
||||
/// </summary>
|
||||
public Dictionary<string, object> Metrics { get; set; } = new();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 像素格式检查结果。
|
||||
/// </summary>
|
||||
internal sealed class PixelFormatCheckResult
|
||||
{
|
||||
/// <summary>
|
||||
/// 是否一致。
|
||||
/// </summary>
|
||||
public bool IsConsistent { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 检查详情。
|
||||
/// </summary>
|
||||
public List<string> Details { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// 建议列表。
|
||||
/// </summary>
|
||||
public List<string> Recommendations { get; set; } = new();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 图像尺寸检查结果。
|
||||
/// </summary>
|
||||
internal sealed class ImageSizeCheckResult
|
||||
{
|
||||
/// <summary>
|
||||
/// 是否一致。
|
||||
/// </summary>
|
||||
public bool IsConsistent { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 检查详情。
|
||||
/// </summary>
|
||||
public List<string> Details { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// 建议列表。
|
||||
/// </summary>
|
||||
public List<string> Recommendations { get; set; } = new();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 数据流检查结果。
|
||||
/// </summary>
|
||||
internal sealed class DataFlowCheckResult
|
||||
{
|
||||
/// <summary>
|
||||
/// 是否完整。
|
||||
/// </summary>
|
||||
public bool IsIntegrity { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 检查详情。
|
||||
/// </summary>
|
||||
public List<string> Details { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// 建议列表。
|
||||
/// </summary>
|
||||
public List<string> Recommendations { get; set; } = new();
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
namespace OrpaonVision.SiteApp.Runtime.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// 一致性检查服务接口。
|
||||
/// </summary>
|
||||
public interface IConsistencyCheckService
|
||||
{
|
||||
/// <summary>
|
||||
/// 检查相机与推理服务的一致性。
|
||||
/// </summary>
|
||||
/// <returns>一致性检查结果。</returns>
|
||||
Result<ConsistencyCheckResult> CheckCameraInferenceConsistency();
|
||||
|
||||
/// <summary>
|
||||
/// 获取最小健康信息。
|
||||
/// </summary>
|
||||
/// <returns>健康检查结果。</returns>
|
||||
Result<HealthCheckResult> GetMinimalHealthInfo();
|
||||
}
|
||||
Reference in New Issue
Block a user