31 lines
1.3 KiB
C#
31 lines
1.3 KiB
C#
|
|
using System.ComponentModel.DataAnnotations;
|
|||
|
|
|
|||
|
|
namespace SHH.CameraSdk;
|
|||
|
|
|
|||
|
|
// ==============================================================================
|
|||
|
|
// 2. 订阅策略 DTO (对应 A/B/C/D 进程需求)
|
|||
|
|
// 用于多进程帧需求的注册与更新,支持显示帧和分析帧的独立配置
|
|||
|
|
// ==============================================================================
|
|||
|
|
public class SubscriptionDto
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 进程唯一标识 (如 "AI_Process_01"、"Main_Display_02")
|
|||
|
|
/// </summary>
|
|||
|
|
[Required(ErrorMessage = "进程标识 AppId 不能为空")]
|
|||
|
|
[MaxLength(50, ErrorMessage = "AppId 长度不能超过 50 个字符")]
|
|||
|
|
public string AppId { get; set; } = string.Empty;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 显示帧率需求 (单位: fps)
|
|||
|
|
/// <para>不需要显示则设为 0,控制器会自动注销该类型需求</para>
|
|||
|
|
/// </summary>
|
|||
|
|
[Range(0, 60, ErrorMessage = "显示帧率需在 0-60 fps 范围内")]
|
|||
|
|
public int DisplayFps { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 分析帧率需求 (单位: fps)
|
|||
|
|
/// <para>不需要分析则设为 0,控制器会自动注销该类型需求</para>
|
|||
|
|
/// </summary>
|
|||
|
|
[Range(0, 30, ErrorMessage = "分析帧率需在 0-30 fps 范围内")]
|
|||
|
|
public int AnalysisFps { get; set; }
|
|||
|
|
}
|