type.ts 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. import { FenceDisplayStatus, IsPtz, VideoServiceType, VideoStandardType } from './constant';
  2. export interface CheckedSceneTemplate {
  3. sceneId: number;
  4. templateId: number;
  5. }
  6. export interface CameraUrlInfoDTO {
  7. pushstreamIp: string; // 推流地址(前端播放的地址)
  8. pushstreamRenderUrl: string; // 渲染推流地址(前端播放的渲染地址)
  9. m3u8PushstreamIp: string; // ios推流地址(前端播放的地址)
  10. m3u8PushstreamRenderIp: string; // ios推流地址(前端播放的地址)
  11. pushstreamIpAbs: string; // 推流地址(前端播放的地址)
  12. pushstreamRenderUrlAbs: string; //渲染推流地址(前端播放的渲染地址)
  13. m3u8PushstreamIpAbs: string; //ios推流地址(前端播放的地址)
  14. m3u8PushstreamRenderIpAbs: string; //ios推流地址(前端播放的地址)
  15. }
  16. export interface PushStreamDTOType {
  17. videoUrls: CameraUrlInfoDTO;
  18. imageUrl: string; // 摄像头实时记录的画面
  19. }
  20. // 添加相机/编辑相机
  21. export interface CameraAddItem {
  22. id?: number; //相机id:编辑时必传
  23. name: string; // 相机名称
  24. code: string; // 相机编号、设备ID
  25. cameraIp?: string; // 相机IP
  26. cameraPort?: string; // 相机端口
  27. username?: string; // 用户名
  28. password?: string; // 密码
  29. cameraType: string; // 协议类型: haikang/dahua/anxus/huawei
  30. workshopId: number; // 车间id
  31. workspaceId: number; // 工位id
  32. remark?: string; // 描述、备注
  33. isPtz?: IsPtz; // 相机是否支持移动缩放:0-不支持;1-支持
  34. onvifPort?: string; // 相机的ONVIF端口号
  35. sourceType: string; // 添加方式: IP,NVR,RTSP
  36. rtspUrl?: string; // rtsp地址
  37. nvrId?: number; // NVR id
  38. nvrChannel?: string; // NVR通道号
  39. videoStandard: VideoStandardType; // 视频编码标准,H264, H265
  40. videoServiceType?: VideoServiceType; // 视频服务类型,TCP, UDP, AUTO
  41. sceneTemplateList: CheckedSceneTemplate[]; // 场景-模板列表
  42. version?: number; // 版本
  43. }
  44. /** 相机是否接入平台 */
  45. export enum IntegrationIsActive {
  46. /** 接入平台 */
  47. YES = 0,
  48. /** 未接入平台 */
  49. NO = 1,
  50. }
  51. /** 根据后端返回的相机详情 */
  52. export interface CameraDetailServer extends CameraAddItem {
  53. isDisabled?: number; // 状态: 0-启用, 1-禁用
  54. createdBy?: number; //创建人
  55. updatedBy?: number; // 更新人
  56. createdAt?: string; // 创建时间
  57. updatedAt?: string; // 更新时间
  58. isDeleted?: number; //0-未删除,大于0(时间戳)-已删除
  59. tenantId?: number; // 租户ID
  60. networkingState: number; // 联网状态: 0-启用, 1-禁用
  61. integrationState: IntegrationIsActive; // 接入状态: 0-启用, 1-禁用
  62. render?: string; // 渲染选择,无渲染/某个算法
  63. extra?: string; // 扩展数据
  64. pushStreamDTO?: PushStreamDTOType;
  65. companyName?: string; // 公司名称
  66. workshopName?: string; // 车间场景名称
  67. workspaceName?: string; // 工位名称
  68. workspaceCode?: string; // 工位code
  69. principal?: string; // 工位负责人
  70. // isDisplayFence: FenceDisplayStatus;
  71. // TODO:以下字段为V4版本之前本interface所具有,V4接口无以下返回,暂保留
  72. // /** 相机MAC地址 */
  73. // cameraMac: string;
  74. // /** 录制周期 */
  75. // nvrPeriod: number;
  76. // /** 录制开始时间 */
  77. // nvrStartAt: string;
  78. // /** 录制结束时间 */
  79. // nvrEndAt: string;
  80. // /** 分辨率 */
  81. // resolution: number;
  82. // // 平台是否显示电子围栏
  83. // fenceDisplayStatus: FenceDisplayStatus;
  84. }
  85. export interface CameraRangeItem {
  86. /** 启用IP地址 */
  87. startIp: string;
  88. /** 结束IP地址 */
  89. endIp: string;
  90. /** 协议类型 */
  91. cameraType: string;
  92. /** 相机端口 */
  93. port?: string;
  94. /** 用户名 */
  95. userName?: string;
  96. /** 密码 */
  97. password: string;
  98. }
  99. export interface CameraShareItem {
  100. /** 企业账号 */
  101. tenantCode: string | undefined;
  102. toTenantId?: number;
  103. /** 权限设置 */
  104. permission: string;
  105. /** 企业名称 */
  106. tenantName: string;
  107. /** 分享时间 */
  108. time?: string;
  109. /** 分享的有限期时间 */
  110. days?: number;
  111. /** 备注 */
  112. remark?: string;
  113. /** 密码 */
  114. // shareList: CompanyShareItem[];
  115. //分享的结束时间
  116. endTime: string;
  117. }