You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
396 lines
11 KiB
396 lines
11 KiB
using System; |
|
using System.Collections.Generic; |
|
using System.Text; |
|
using System.Text.Json.Serialization; |
|
|
|
namespace Common.Shared.Application.DaHua |
|
{ |
|
/// <summary> |
|
/// 录像段信息响应实体类 |
|
/// </summary> |
|
public class RecordsResDto |
|
{ |
|
/// <summary> |
|
/// 录像段信息列表 |
|
/// </summary> |
|
[JsonPropertyName("records")] |
|
public List<RecordItem> Records { get; set; } |
|
} |
|
|
|
/// <summary> |
|
/// 单个录像段信息 |
|
/// </summary> |
|
public class RecordItem |
|
{ |
|
/// <summary> |
|
/// 通道编码 |
|
/// </summary> |
|
[JsonPropertyName("channelId")] |
|
public string ChannelId { get; set; } |
|
|
|
/// <summary> |
|
/// 录像来源:1=全部,2=设备,3=中心 |
|
/// </summary> |
|
[JsonPropertyName("recordSource")] |
|
public string RecordSource { get; set; } |
|
|
|
/// <summary> |
|
/// 录像类型:0=全部,1=远程录像,2=报警录像,6=定时录像 |
|
/// </summary> |
|
[JsonPropertyName("recordType")] |
|
public string RecordType { get; set; } |
|
|
|
/// <summary> |
|
/// 开始时间(时间戳,单位:秒) |
|
/// </summary> |
|
[JsonPropertyName("startTime")] |
|
public string StartTime { get; set; } |
|
|
|
/// <summary> |
|
/// 结束时间(时间戳,单位:秒) |
|
/// </summary> |
|
[JsonPropertyName("endTime")] |
|
public string EndTime { get; set; } |
|
|
|
/// <summary> |
|
/// 录像名字(不同厂家对文件的标识不同) |
|
/// </summary> |
|
[JsonPropertyName("recordName")] |
|
public string RecordName { get; set; } |
|
|
|
/// <summary> |
|
/// 文件长度,单位 KB |
|
/// </summary> |
|
[JsonPropertyName("fileLength")] |
|
public string FileLength { get; set; } |
|
|
|
/// <summary> |
|
/// 录像计划ID |
|
/// </summary> |
|
[JsonPropertyName("planId")] |
|
public string PlanId { get; set; } |
|
|
|
/// <summary> |
|
/// 存储服务ID |
|
/// </summary> |
|
[JsonPropertyName("ssId")] |
|
public string SsId { get; set; } |
|
|
|
/// <summary> |
|
/// 磁盘ID |
|
/// </summary> |
|
[JsonPropertyName("diskId")] |
|
public string DiskId { get; set; } |
|
|
|
/// <summary> |
|
/// 码流处理ID (StreamId) |
|
/// </summary> |
|
[JsonPropertyName("streamId")] |
|
public string StreamId { get; set; } |
|
|
|
/// <summary> |
|
/// 是否淡忘:0=未淡忘,1=已淡忘 |
|
/// </summary> |
|
[JsonPropertyName("forgotten")] |
|
public string Forgotten { get; set; } |
|
|
|
/// <summary> |
|
/// 码流类型:0=全部,1=主码流,2=辅码流 |
|
/// </summary> |
|
[JsonPropertyName("streamType")] |
|
public string StreamType { get; set; } |
|
|
|
/// <summary> |
|
/// 中心录像才会有值。取值含义: |
|
/// 1:普通录像 |
|
/// 2:报警录像 |
|
/// 81:补录录像 |
|
/// 82:预录录像 |
|
/// |
|
/// 注意:按时间播放时建议使用此字段替换 recordType,因为 recordType 可能不准确, |
|
/// 会导致查询的 streamId 错误,进而引起播放失败。 |
|
/// </summary> |
|
[JsonPropertyName("videoRecordType")] |
|
public string VideoRecordType { get; set; } |
|
} |
|
|
|
/// <summary> |
|
/// 分页信息封装类 |
|
/// </summary> |
|
public class PageInfoDto |
|
{ |
|
/// <summary> |
|
/// 当前页码 |
|
/// </summary> |
|
[JsonPropertyName("currentPage")] |
|
public int CurrentPage { get; set; } |
|
|
|
/// <summary> |
|
/// 总页数 |
|
/// </summary> |
|
[JsonPropertyName("totalPage")] |
|
public int TotalPage { get; set; } |
|
|
|
/// <summary> |
|
/// 每页记录数 |
|
/// </summary> |
|
[JsonPropertyName("pageSize")] |
|
public int PageSize { get; set; } |
|
|
|
/// <summary> |
|
/// 总记录数 |
|
/// </summary> |
|
[JsonPropertyName("totalRows")] |
|
public int TotalRows { get; set; } |
|
|
|
/// <summary> |
|
/// 数据列表 |
|
/// </summary> |
|
[JsonPropertyName("pageData")] |
|
public List<ChannelInfoVO> PageData { get; set; } |
|
} |
|
|
|
/// <summary> |
|
/// 通道信息实体 |
|
/// </summary> |
|
public class ChannelInfoVO |
|
{ |
|
/// <summary> |
|
/// 自增ID |
|
/// </summary> |
|
[JsonPropertyName("id")] |
|
public long Id { get; set; } |
|
|
|
/// <summary> |
|
/// 设备编码 |
|
/// </summary> |
|
[JsonPropertyName("deviceCode")] |
|
public string DeviceCode { get; set; } |
|
|
|
/// <summary> |
|
/// 单元类型 |
|
/// </summary> |
|
[JsonPropertyName("unitType")] |
|
public int? UnitType { get; set; } |
|
|
|
/// <summary> |
|
/// 单元序号 |
|
/// </summary> |
|
[JsonPropertyName("unitSeq")] |
|
public int? UnitSeq { get; set; } |
|
|
|
/// <summary> |
|
/// 通道序号 |
|
/// </summary> |
|
[JsonPropertyName("channelSeq")] |
|
public int? ChannelSeq { get; set; } |
|
|
|
/// <summary> |
|
/// 通道编码 |
|
/// </summary> |
|
[JsonPropertyName("channelCode")] |
|
public string ChannelCode { get; set; } |
|
|
|
/// <summary> |
|
/// 通道标识码 |
|
/// </summary> |
|
[JsonPropertyName("channelSn")] |
|
public string ChannelSn { get; set; } |
|
|
|
/// <summary> |
|
/// 通道名称 |
|
/// </summary> |
|
[JsonPropertyName("channelName")] |
|
public string ChannelName { get; set; } |
|
|
|
/// <summary> |
|
/// 通道类型 |
|
/// </summary> |
|
[JsonPropertyName("channelType")] |
|
public string ChannelType { get; set; } |
|
|
|
/// <summary> |
|
/// 摄像头类型 |
|
/// </summary> |
|
[JsonPropertyName("cameraType")] |
|
public string CameraType { get; set; } |
|
|
|
/// <summary> |
|
/// 所属组织编码 |
|
/// </summary> |
|
[JsonPropertyName("ownerCode")] |
|
public string OwnerCode { get; set; } |
|
|
|
/// <summary> |
|
/// 经度 |
|
/// </summary> |
|
[JsonPropertyName("gpsX")] |
|
public string GpsX { get; set; } |
|
|
|
/// <summary> |
|
/// 纬度 |
|
/// </summary> |
|
[JsonPropertyName("gpsY")] |
|
public string GpsY { get; set; } |
|
|
|
/// <summary> |
|
/// Z轴(高度或海拔) |
|
/// </summary> |
|
[JsonPropertyName("gpsZ")] |
|
public string GpsZ { get; set; } |
|
|
|
/// <summary> |
|
/// 光栅图ID |
|
/// </summary> |
|
[JsonPropertyName("mapId")] |
|
public long? MapId { get; set; } |
|
|
|
/// <summary> |
|
/// 域ID |
|
/// </summary> |
|
[JsonPropertyName("domainId")] |
|
public long? DomainId { get; set; } |
|
|
|
/// <summary> |
|
/// 描述信息 |
|
/// </summary> |
|
[JsonPropertyName("memo")] |
|
public string Memo { get; set; } |
|
|
|
/// <summary> |
|
/// 设备通道在线状态:0-离线,1-在线 |
|
/// </summary> |
|
[JsonPropertyName("isOnline")] |
|
public int? IsOnline { get; set; } |
|
|
|
/// <summary> |
|
/// 状态:0-关闭,1-开启 |
|
/// </summary> |
|
[JsonPropertyName("stat")] |
|
public int? Stat { get; set; } |
|
|
|
/// <summary> |
|
/// 是否休眠:0-非休眠,1-休眠 |
|
/// </summary> |
|
[JsonPropertyName("sleepStat")] |
|
public int? SleepStat { get; set; } |
|
|
|
/// <summary> |
|
/// 通道能力集,详细说明请参考通道能力集说明 |
|
/// </summary> |
|
[JsonPropertyName("capability")] |
|
public string Capability { get; set; } |
|
|
|
/// <summary> |
|
/// 是否已经接入:0-未接入,1-已接入 |
|
/// </summary> |
|
[JsonPropertyName("access")] |
|
public int? Access { get; set; } |
|
|
|
/// <summary> |
|
/// 通道详情扩展信息,JSON 字符串格式,具体结构参考设备扩展信息协议 |
|
/// </summary> |
|
[JsonPropertyName("chExt")] |
|
public string ChExt { get; set; } |
|
|
|
/// <summary> |
|
/// 是否是虚拟通道:0-否,1-是(注意:文档中类型为 String,保留为 string 类型) |
|
/// </summary> |
|
[JsonPropertyName("isVirtual")] |
|
public string IsVirtual { get; set; } |
|
} |
|
|
|
/// <summary> |
|
/// 大华回放地址 |
|
/// </summary> |
|
public class UrlDataDto |
|
{ |
|
/// <summary> |
|
/// 最小速率 |
|
/// </summary> |
|
[JsonPropertyName("minRate")] |
|
public object MinRate { get; set; } // 用object类型兼容null和可能的数值类型 |
|
|
|
/// <summary> |
|
/// 协议类型 |
|
/// </summary> |
|
[JsonPropertyName("protocol")] |
|
public string Protocol { get; set; } // 可为null |
|
|
|
/// <summary> |
|
/// IP地址 |
|
/// </summary> |
|
[JsonPropertyName("ip")] |
|
public string Ip { get; set; } // 可为null |
|
|
|
/// <summary> |
|
/// 端口号 |
|
/// </summary> |
|
[JsonPropertyName("port")] |
|
public object Port { get; set; } // 用object类型兼容null和可能的数值类型 |
|
|
|
/// <summary> |
|
/// STUN启用状态 |
|
/// </summary> |
|
[JsonPropertyName("stunEnable")] |
|
public bool? StunEnable { get; set; } // 可空布尔类型 |
|
|
|
/// <summary> |
|
/// STUN端口 |
|
/// </summary> |
|
[JsonPropertyName("stunPort")] |
|
public object StunPort { get; set; } // 用object类型兼容null和可能的数值类型 |
|
|
|
/// <summary> |
|
/// RTSP地址 |
|
/// </summary> |
|
[JsonPropertyName("url")] |
|
public string Url { get; set; } |
|
|
|
/// <summary> |
|
/// 连接类型 |
|
/// </summary> |
|
[JsonPropertyName("connectType")] |
|
public string ConnectType { get; set; } // 可为null |
|
|
|
/// <summary> |
|
/// 会话标识 |
|
/// </summary> |
|
[JsonPropertyName("session")] |
|
public string Session { get; set; } |
|
|
|
/// <summary> |
|
/// 令牌 |
|
/// </summary> |
|
[JsonPropertyName("token")] |
|
public string Token { get; set; } |
|
|
|
/// <summary> |
|
/// 轨道标识 |
|
/// </summary> |
|
[JsonPropertyName("trackId")] |
|
public string TrackId { get; set; } // 可为null |
|
|
|
// 添加JSON中存在的新属性 |
|
[JsonPropertyName("urlList")] |
|
public object UrlList { get; set; } // 可为null |
|
|
|
[JsonPropertyName("stream")] |
|
public object Stream { get; set; } // 可为null |
|
|
|
[JsonPropertyName("innerIp")] |
|
public string InnerIp { get; set; } // 新增IP属性 |
|
|
|
[JsonPropertyName("compress")] |
|
public bool? Compress { get; set; } // 压缩标识 |
|
|
|
[JsonPropertyName("reachable")] |
|
public object Reachable { get; set; } // 可为null |
|
|
|
[JsonPropertyName("wssDirect")] |
|
public int? WssDirect { get; set; } // 新增数值属性 |
|
|
|
[JsonPropertyName("netFlag")] |
|
public string NetFlag { get; set; } // 网络标识 |
|
} |
|
} |