import { FenceDisplayStatus, IsPtz, VideoServiceType, VideoStandardType } from './constant'; export interface CheckedSceneTemplate { sceneId: number; templateId: number; } export interface CameraUrlInfoDTO { pushstreamIp: string; // 推流地址(前端播放的地址) pushstreamRenderUrl: string; // 渲染推流地址(前端播放的渲染地址) m3u8PushstreamIp: string; // ios推流地址(前端播放的地址) m3u8PushstreamRenderIp: string; // ios推流地址(前端播放的地址) pushstreamIpAbs: string; // 推流地址(前端播放的地址) pushstreamRenderUrlAbs: string; //渲染推流地址(前端播放的渲染地址) m3u8PushstreamIpAbs: string; //ios推流地址(前端播放的地址) m3u8PushstreamRenderIpAbs: string; //ios推流地址(前端播放的地址) } export interface PushStreamDTOType { videoUrls: CameraUrlInfoDTO; imageUrl: string; // 摄像头实时记录的画面 } // 添加相机/编辑相机 export interface CameraAddItem { id?: number; //相机id:编辑时必传 name: string; // 相机名称 code: string; // 相机编号、设备ID cameraIp?: string; // 相机IP cameraPort?: string; // 相机端口 username?: string; // 用户名 password?: string; // 密码 cameraType: string; // 协议类型: haikang/dahua/anxus/huawei workshopId: number; // 车间id workspaceId: number; // 工位id remark?: string; // 描述、备注 isPtz?: IsPtz; // 相机是否支持移动缩放:0-不支持;1-支持 onvifPort?: string; // 相机的ONVIF端口号 sourceType: string; // 添加方式: IP,NVR,RTSP rtspUrl?: string; // rtsp地址 nvrId?: number; // NVR id nvrChannel?: string; // NVR通道号 videoStandard: VideoStandardType; // 视频编码标准,H264, H265 videoServiceType?: VideoServiceType; // 视频服务类型,TCP, UDP, AUTO sceneTemplateList: CheckedSceneTemplate[]; // 场景-模板列表 version?: number; // 版本 } /** 相机是否接入平台 */ export enum IntegrationIsActive { /** 接入平台 */ YES = 0, /** 未接入平台 */ NO = 1, } /** 根据后端返回的相机详情 */ export interface CameraDetailServer extends CameraAddItem { isDisabled?: number; // 状态: 0-启用, 1-禁用 createdBy?: number; //创建人 updatedBy?: number; // 更新人 createdAt?: string; // 创建时间 updatedAt?: string; // 更新时间 isDeleted?: number; //0-未删除,大于0(时间戳)-已删除 tenantId?: number; // 租户ID networkingState: number; // 联网状态: 0-启用, 1-禁用 integrationState: IntegrationIsActive; // 接入状态: 0-启用, 1-禁用 render?: string; // 渲染选择,无渲染/某个算法 extra?: string; // 扩展数据 pushStreamDTO?: PushStreamDTOType; companyName?: string; // 公司名称 workshopName?: string; // 车间场景名称 workspaceName?: string; // 工位名称 workspaceCode?: string; // 工位code principal?: string; // 工位负责人 // isDisplayFence: FenceDisplayStatus; // TODO:以下字段为V4版本之前本interface所具有,V4接口无以下返回,暂保留 // /** 相机MAC地址 */ // cameraMac: string; // /** 录制周期 */ // nvrPeriod: number; // /** 录制开始时间 */ // nvrStartAt: string; // /** 录制结束时间 */ // nvrEndAt: string; // /** 分辨率 */ // resolution: number; // // 平台是否显示电子围栏 // fenceDisplayStatus: FenceDisplayStatus; } export interface CameraRangeItem { /** 启用IP地址 */ startIp: string; /** 结束IP地址 */ endIp: string; /** 协议类型 */ cameraType: string; /** 相机端口 */ port?: string; /** 用户名 */ userName?: string; /** 密码 */ password: string; } export interface CameraShareItem { /** 企业账号 */ tenantCode: string | undefined; toTenantId?: number; /** 权限设置 */ permission: string; /** 企业名称 */ tenantName: string; /** 分享时间 */ time?: string; /** 分享的有限期时间 */ days?: number; /** 备注 */ remark?: string; /** 密码 */ // shareList: CompanyShareItem[]; //分享的结束时间 endTime: string; }