/** * 设备操作相关枚举值及定义 */ // 下行任务数据体 export interface OperationDto { sns: string[]; type: OperationType; content: OperationTypeData; } // 操作类型 export enum OperationType { // 控制下行 VIEW = 'view', RESET = 'reset', CHECK = 'check', LONG_MUTE = 'long_mute', MUTE = 'mute', OPEN = 'open', CLOSE = 'close', ARMED = 'nodeArmedOpen', // 设防 操作 UNARMED = 'nodeArmedClose', // 撤防 操作 ACTIVE = 'active', // 激活 SLEEP = 'sleep', MUTE_TIME = 'mute_time', LOW_BATTERY_MUTE = 'low_battery_mute', // 修改属性下行 INTERVAL = 'interval', ERROR_INSULATE = 'error_insulate', // cayman特有 FUNCTION_CONFIGURATION = 'function_configuration', // 空开定时上电 FIXED_TIME_SWITCH = 'fixed_time_switch', // 暂未支持 // DURATION = 'duration', THRESHOLD = 'threshold', // DEPLOYMENT = 'deployment', PASSWORD = 'password', CONFIG = 'config', CONFIG_SYNC = 'configSync', ALARM_TIME = 'alarmTime', NIGHT_LIGHT_SWITCH = 'nightLightSwitch', CHANNEL_CONFIG = 'channelConfig', // 带宽信道设置 ARM_DELAY = 'armDelay', BINDING = 'binding', UNBINDING = 'unbinding', NODE_ARMED = 'nodeArmed', DEPLOY = 'deploy', // 声光报主机部署任务 DEPLOYMENT = 'deployment', // APP设备部署 DEMO_MODE = 'demoMode', OPEN_SOUND_LIGHT = 'openSoundLight', CLOSE_SOUND_LIGHT = 'closeSoundLight', JOINT_SOUND_LIGHT = 'jointSoundLight', // ALARM = 'alarm', // ALARM_SWITCH = 'alarm_switch', STATUS_SYNC = 'status_sync', // SILENCE_ALARM = 'silence_alarm', // LOCAL_ALARM = 'local_alarm', // ACTIVATE_VOICE = 'activate_voice', SAMPLE_TIME = 'sample_time', // ALARM_QUIET = 'alarm_quiet', // DEFENCE_MODE = 'defence_mode' // 静音预警 SILENCE_ALARM = 'silence_alarm', // 延迟预警 ALARM_DELAY = 'alarm_delay', // 本地静音 ALARM_SOUND = 'alarm_sound', ALTER_FIRMWARE_VERSION = 'alterFirmwareVersion' } export interface Deployment { name: string; tags: string[]; lnglat?: number[]; contacts: { contact: string; name: string }[]; pictures: string[]; status: boolean; time: Date; location: string; } export interface LocalSilencingData { isSilenceMode: 1 | 0 | 2; timeSilenceTimeout: number; alarmSilenceConfig: { type: 1 | 0; dates: number[]; rules: { day: number; timeArray: { start: number; end: number }[]; }[]; }; } export interface AlarmDelayData { isDelayMode: 1 | 0; alarmDelayTime: number; } export enum QuietType { OFF, VOICE, SMS, BOTH } export interface QuietRule { startTime?: string; endTime?: string; notification?: QuietType; } export interface AirBreakSwitchConfig { switch: 0 | 1; // 关闭 / 打开 timeRule: { weekDay: number; // 0-6 日到六 timeArray: { startTime: string; endTime: string }[]; }[]; } // eslint-disable-next-line namespace OperationTypeData { export interface QuietOperation { switch: boolean; startDate: number; endDate: number; rules?: QuietRule[]; } interface InOutPut { wireMaterial: 'cu' | 'al'; wireDiameter: number; count: number; } export interface ConfigOperation { inputValue?: number; switchSpec?: number; input?: InOutPut[]; output?: InOutPut[]; transformer?: number; recommTrans?: number; } export interface CommandOperation { cmd?: string; } export interface MuteTimeOperation { beepMuteTime: number; } export interface IntervalOperation { interval: number; } export interface AlarmTimeOperation { alarmTime: number; } export interface AirBreakConfig { airBreakSwitchConfig: AirBreakSwitchConfig; } export interface AlarmDelayOperation { armDelaySwitch: number; armDelayTime: number; } enum RuleType { BOOL = 'BOOL', RANGE = 'RANGE', NUMBER = 'NUMBER' } enum RuleCondition { GT = 'GT', LT = 'LT', GTE = 'GTE', LTE = 'LTE', EQ = 'EQ' } interface AlarmRule { id: string; ruleType: RuleType; sensorType: string; condition: RuleCondition; threshold: number; } export interface ThresholdOperation { rules: AlarmRule[]; } export interface DeploymentOperation { deployment: Deployment; } export interface LocalSilencingOperation { silence_alarm: LocalSilencingData; } export interface AlarmDelayOperation { silence_alarm: AlarmDelayData; } export interface ParameterOperation { // 设备采样周期,单位毫秒 sampleTime?: number; concentration?: number; // 定时消音参数:消音时长 beepMuteTime?: number; // 故障隔离开关, 0:关闭, 1:开启 errorInsulateSwitch?: number; // 凝露检测开关, 0:关闭, 1:开启 cdsSwitch?: number; // 人体检测同步开关, 0:关闭, 1:开启 humanDetectionSync?: number; // 夜灯开关, 0:关闭, 1:开启 nightLightSwitch?: number; // 巡检led开关, 0: 关闭, 1: 开启 ledStatus?: number; // 预报警开关: 0:关闭, 1:开启 preAlarmSwitch?: number; // 报警屏蔽时间, 单位s alarmShieldTime?: number; // 部署状态, 0:未部署, 1: 已部署 deployStatus?: number; // 保险状态, 0:未生效, 1: 已生效 insuranceStatus?: number; // 静音报警开关, 0:关闭, 1:开启 silenceAlarmSwitch?: number; // 声光报报警时长,单位秒 alarmDuration?: number; // 人体检测模式开关, 0:关闭, 1:开启 humanMonitorMode?: number; // 检测有人持续时长,单位秒 humanDetectionTime?: number; // 语音播报时间间隔,单位秒 humanMonitorVoiceInterval?: number; // 设防状态, 0:撤防, 1: 设防 defenceMode?: number; // 带宽 khz bandwidth?: number; // 上行频点 khz upFrequency?: number; // 下行频点 khz downFrequency?: number; } } export type OperationTypeData = | OperationTypeData.QuietOperation | { config: OperationTypeData.ConfigOperation } | OperationTypeData.CommandOperation | OperationTypeData.IntervalOperation | OperationTypeData.AlarmTimeOperation | OperationTypeData.AlarmDelayOperation | OperationTypeData.AirBreakConfig | OperationTypeData.ThresholdOperation | OperationTypeData.ParameterOperation | OperationTypeData.MuteTimeOperation | OperationTypeData.DeploymentOperation | OperationTypeData.LocalSilencingOperation;