UNPKG

@thingjs-x4/xplugin-cli

Version:

UINO ThingJS-X 零代码平台插件二次开发脚手架,用于生成插件模板开发代码

368 lines (293 loc) 14.1 kB
<!-- @import "[TOC]" {cmd="toc" depthFrom=1 depthTo=6 orderedList=false} --> > 一般性解释 ```javascript //监控过程中发现的报警信息。通常是监控值超过了正常指标范围,或系统宕机等引起的告警, //在三维场景中以标记、面板、图表、操作集的形式进行展示。 ``` ### *<a><font color="grey">Namespace</font></a>* 解构(THINGX.Alarm) > THINGX.Alarm:namespace ```javascript //告警模块操作相关 // THINGX.Alarm 解构 THINGX.Alarm:namespace Members // - 无 Methods - isInitialized():boolean //告警系统是否初始化完成 - activate([purpose:string]):void //激活告警系统 - deactivate([purpose:string]):void //取消激活告警系统 - isActivated():boolean //告警系统是否激活 - getPurposes():Array.<string> //获取已存在的激活告警系统的目的 - refresh():void //立即进行一次告警请求并刷新告警数据,当告警处于未激活状态时,该方法不会执行 - getHighestOnDigitalTwin(digitalTwin, isTraverse:boolean):object //获取孪生体上最高告警级别数据 - getLevelConfig():Object.<number, THINGX.Alarm.LevelItemConfig> //获取告警级别配置 - getRequestConfig():THINGX.Alarm.RequestConfig //获取告警查询配置 - setRequestConfig(config:THINGX.Alarm.RequestConfig [, isRemoteData:boolean]):void //设置告警查询配置 - setRequestInterface(func:AlarmInjectCallback):void //替换系统默认告警接口 Type Definitions LevelItemConfig //告警等级配置 - color:string //告警颜色,十六进制 - level:number //告警等级 - name:string //告警级别名称 - sound:Object //告警声音配置 - name:string //告警声音名称 - url:string //告警声音资源url RequestConfig //告警请求配置 - acknowledged:string //处理状态 0 未处理, 1 已处理 - alarmLevel:Array.<number> //告警级别 - classNames:Array.<string> //孪生体业务分类,默认为空数组代表所有 - dcId:string //场景的数据库ID(DBID) - dcIds:Array.<string> //场景的数据库ID数组(DBID) - enableGlobal:boolean //开启全局查询,当前层级是地图的话默认true,园区默认false。 //当为true时,需要设置dcIds - fromCiId:string //查询的起始层级的数据库ID(DBID) - keyword:string //搜索关键词,会匹配孪生体的名称,告警详情 - orAttrs:Array.<Object> //孪生体属性条件筛选 默认空数组代表没有过滤条件 - sortType:string //告警排序方式 default value : time-desc ; //默认按时间倒序 time-asc 告警时间正序/time-desc //告警级别倒序/level-asc 告警级别正序/level-desc AlarmInjectCallback(param, config) //告警回调 - param:THINGX.Alarm.RequestConfig //告警查询参数 - config:object //请求配置项 - timeout:number //请求配置项{timeout:5000} default value 5000 InterfaceData 告警接口返回数据格式 - code: number //接口返回状态码 - data: THINGX.Alarm.Data //告警数据 - success:boolean //接口状态 Data 告警数据格式 - alarmDevices:Array.<Object> //孪生体信息统计 - alarmInfo:Object //告警级别统计 - alarmPage:Object //告警数据 Example(Data 告警数据格式) { "alarmDevices": [{ "className": "建筑", "id": "871692106107925" } ], "alarmInfo": { "1": 1, "2": 0, "3": 0, "4": 0 }, "alarmPage": { "pageData": [{ "firstTime": "2022-09-13 15:39:14", "lastTime": "2022-09-13 15:39:14", "ciClassId": "871692106107925", "des": "查收西安市", "acknowledged": "0", "level": "1", "cidbid": "871692106112974", "kpiName": "保存上档次", "id": "910853340559169", "ciName": "3", "sourceEventId": "1663054754309", "others": "" } ], "pageNum": 1, "pageSize": 100000, "totalPage": 1, "totalSize": 1 } } ``` ### *<a><font color="grey">Method</font></a>* THINGX.Alarm.isInitialized > 告警系统是否初始化完成, THINGX.Alarm.isInitialized():boolean * 类型: boolean * 示例 ```javascript // 告警系统是否初始化完成 //示例. 获取告警系统初始化完成状态 const result = THINGX.Alarm.isInitialized(); console.warn("告警系统初始化完成状态: %s", result); //print result: 告警系统初始化完成状态: true ``` *** ### *<a><font color="grey">Method</font></a>* THINGX.Alarm.activate > 激活告警系统, THINGX.Alarm.activate([purpose:string]):void * 参数 |||||| |-|-|-|-|-| |名称|类型|必填|默认值|描述| |purpose|string|-| default | 告警系统激活目的 | * 类型: void * 示例 ```javascript // 激活告警系统 //示例1. 激活告警系统 THINGX.Alarm.activate(); //示例2. 园区漫游激活告警系统 THINGX.Alarm.activate("园区漫游"); ``` *** ### *<a><font color="grey">Method</font></a>* THINGX.Alarm.deactivate > 取消激活告警系统, THINGX.Alarm.deactivate([purpose:string]):void * 参数 |||||| |-|-|-|-|-| |名称|类型|必填|默认值|描述| |purpose|string|-| default | 告警系统激活目的 | * 类型: void * 示例 ```javascript // 取消激活告警系统 //示例1. 取消激活告警系统 THINGX.Alarm.deactivate(); //示例2. 园区漫游取消激活告警系统 THINGX.Alarm.deactivate("园区漫游"); ``` *** ### *<a><font color="grey">Method</font></a>* THINGX.Alarm.isActivated > 告警系统是否激活 , THINGX.Alarm.isActivated():boolean * 类型: boolean * 示例 ```javascript // 告警系统是否激活 //示例1. 告警系统是否激活 const result = THINGX.Alarm.isActivated(); console.warn("告警系统激活状态: %s", result); //print result: 告警系统激活状态: true ``` *** ### *<a><font color="grey">Method</font></a>* THINGX.Alarm.getPurposes > 获取已存在的激活告警系统的目的 , THINGX.Alarm.getPurposes():Array.<string> * 类型: array * 示例 ```javascript // 获取已存在的激活告警系统的目的 //示例1. 获取已存在的激活告警系统的目的 const purposes = THINGX.Alarm.getPurposes(); console.warn("当前激活告警系统目的有: %s", purposes); //print result: 当前激活告警系统目的有: default,园区漫游 ``` *** ### *<a><font color="grey">Method</font></a>* THINGX.Alarm.refresh > 立即进行一次告警请求并刷新告警数据,当告警处于未激活状态时,该方法不会执行 , THINGX.Alarm.refresh():void * 类型: void * 示例 ```javascript // 立即进行一次告警请求并刷新告警数据,当告警处于未激活状态时,该方法不会执行 //示例. THINGX.Alarm.refresh(); ``` *** ### *<a><font color="grey">Method</font></a>* THINGX.Alarm.getHighestOnDigitalTwin > 获取孪生体上最高告警级别数据, THINGX.Alarm.getHighestOnDigitalTwin(digitalTwin, isTraverse:boolean):object * 参数 |||||| |-|-|-|-|-| |名称|类型|必填|默认值|描述| |digitalTwin|THING.BaseObject|| - | 孪生体对象 | |isTraverse|boolean|-| false | 是否遍历该孪生体的孩子 | * 类型: object * 示例 ```javascript // 获取孪生体上最高告警级别数据 //示例1. 获取 `一号教学楼` 上最高告警级别数据 const building = THING.App.current.query('#一号教学楼')[0];//THING.BaseObject const alarm = THINGX.Alarm.getHighestOnDigitalTwin(building); console.warn("一号教学楼上最高告警级别数据: ", alarm); //示例2. 获取 `一号教学楼` 包括楼层、房间等设备 上最高告警级别数据 const building = THING.App.current.query('#一号教学楼')[0];//THING.BaseObject const alarm = THINGX.Alarm.getHighestOnDigitalTwin(building,true); console.warn("一号教学楼上(楼层、房间等设备)最高告警级别数据: ", alarm); ``` *** ### *<a><font color="grey">Method</font></a>* THINGX.Alarm.getLevelConfig > 获取告警级别配置 , THINGX.Alarm.getLevelConfig():Object.<level:number, THINGX.Alarm.LevelItemConfig> * 类型: Object.<level:number, THINGX.Alarm.LevelItemConfig> * 示例 ```javascript // 获取告警级别配置 //示例. const config = THINGX.Alarm.getLevelConfig(); Object.entries(config).forEach(([key,item])=>{ console.warn(" %s 级高级配置 ", key, item); //item 类型详情查看 Type Definitions : THINGX.Alarm.LevelItemConfig }) ``` *** ### *<a><font color="grey">Method</font></a>* THINGX.Alarm.getRequestConfig > 获取告警查询配置 , THINGX.Alarm.getRequestConfig():THINGX.Alarm.RequestConfig * 类型: THINGX.Alarm.RequestConfig * 示例 ```javascript // 获取告警查询配置 //示例. const config = THINGX.Alarm.getRequestConfig(); console.warn("获取告警查询配置 ", config); // config类型详情查看 Type Definitions : THINGX.Alarm.RequestConfig ``` *** ### *<a><font color="grey">Method</font></a>* THINGX.Alarm.setRequestConfig > 设置告警查询配置 , THINGX.Alarm.setRequestConfig(config:THINGX.Alarm.RequestConfig [, isRemoteData:boolean]):void * 参数 |||||| |-|-|-|-|-| |名称|类型|必填|默认值|描述| |config|THINGX.Alarm.RequestConfig|-| - | 告警查询配置,传入的参数会与当前告警查询配置进行合并,详情查看 Type DefinitionsTHINGX.Alarm.RequestConfig | |isRemoteData|boolean|-| true | 立即请求告警 | * 类型: void * 示例 ```javascript // 设置告警查询配置 //示例1. 设置查询告警级别为 1,2,3 级的告警 THINGX.Alarm.setRequestConfig({ alarmLevel: [1,2,3] }); //示例2. 设置查询孪生体业务分类为 '温湿度感应器' 的告警数据 THINGX.Alarm.setRequestConfig({ classNames: ['温湿度感应器'] }); //示例3. 根据孪生体属性筛选告警 THINGX.Alarm.setRequestConfig({ orAttrs:[{ "key": '业务分类', "value":"空调", "optType": 1 }] }); ``` *** ### *<a><font color="grey">Method</font></a>* THINGX.Alarm.setRequestInterface > 替换系统默认告警接口 , THINGX.Alarm.setRequestInterface(func):void * 参数 |||||| |-|-|-|-|-| |名称|类型|必填|默认值|描述| |func|THINGX.Alarm.AlarmInjectCallback|-| - | 告警回调 | * 类型: void * 示例 ```javascript // 替换系统默认告警接口 //示例1. 替换系统默认告警接口 // THINGX.Alarm.AlarmInjectCallback // param : THINGX.Alarm.RequestConfig // config : Object THINGX.Alarm.setRequestInterface((param,config)=>{ //自定义逻辑 //返回 THINGX.Alarm.InterfaceData return THINGX.Alarm.InterfaceData }) //示例2. 取消替换系统默认告警接口 THINGX.Alarm.setRequestInterface() ``` *** !> 告警模块操作相关 支持 **质量保证:** `赵海建` **审核校正:** `唐鑫` `张光光` **问题反馈:** `张明雷(zhangminglei@uino.com)`