235 lines
4.9 KiB
C#
235 lines
4.9 KiB
C#
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();
|
|
}
|