@thingjs-x4/xplugin-cli
Version:
UINO ThingJS-X 零代码平台插件二次开发脚手架,用于生成插件模板开发代码
368 lines (293 loc) • 14.1 kB
Markdown
<!-- "[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 Definitions : THINGX.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.com)`