本帖最后由 张雨婷 于 2023-8-28 14:52 编辑  
 
 告警图表展现如上图示,这里可以看出产品提供了两个按钮:“处理”、“关闭”,当然你如果不需要这两个按钮,该资源提供了可隐藏其按钮的设置; - 处理
 
从字面意思看,是要执行某一个动作,点击处理不管要干什么,UI界面上该条告警消息改为“已处理”的状态(这个“已处理”的文本可以自定义配置),不会删除该条告警信息;具体操作可能是请求接口,修改了该告警记录的状态为“已处理”,紧接着可能执行一个操作集等; - 关闭
 
相对处理就比较简单了,通过调用接口删除该条告警记录; 
 
  
通过上面的文档可以推送告警信息到指定的孪生体上 点击“处理”:就是处理该条告警记录 status:11 点击“关闭”:可以理解移除这个告警数据,也就是删除的意思 status:2 以ThingJS-X4为例,图表内处理的代码应该这样写:  
 (obj) => {    console.info('obj',obj) // 查看前端点击的告警对象信息     // 固定获取点击告警记录id的格式     let temp = obj.ALARM.filter((item)=>{         console.log( _.values(item)[0],' _.values(item)[0]')         if(curData.desc == _.values(item)[0].ALARM_INFORMATION && curData.name == _.values(item)[0].ciName){             return true;         }     });     // console.log('obj.ALARM:'+ JSON.stringify(obj.ALARM));     // console.log('temp:'+JSON.stringify(temp));     let curParam = JSON.stringify(temp);     $.post('http://10.100.32.97:10021/http/rest',{'eventId': curParam }, function(res) {          let temp = JSON.parse(res);         //res为接口返回数据         if (temp.data=='success') {               console.log('请求处理业务成功')         }else{             console.log('请求处理业务失败')         }     });  }  
DIX接口代码如下: //应用http用到的java请求方法 var HttpClient = Java.type("com.uinnova.di.dicom.util.HTTPClient"); //定义用于存放java对象的map var HashMap = Java.type("java.util.HashMap"); //定义用于存放java对象的数组 var ArrayList = Java.type("java.util.ArrayList"); function run(args) {     // 处理args字段省略     // ....           var curl = 'http://10.100.32.97:8088/thing/provider/rest/monitor/alarms/616930059600034'     //定义数组用来封装数据     var list = new ArrayList();     // status 1表示开启,2表示关闭,11表示已处理     list = [             {                 "twinID": "设备001",                 "severity": 1,                 "status": 11,                 "sourceAlertKey": "CPU使用率",                 "summary": "CPU使用率超过90%,已连续发生超过3次",                 "sourceIdentifier": "xxx",                 "lastOccurrence": "2020-07-29 09:33:06"             }     ]            //打印需要发送的数据内容     logger.info("\n\n\n发送的模拟数据为" + JSON.stringify(list)+'\n\n\n')     //调用ThingJS-X标准性能API     var result = HttpClient.httpPost(curl, null, JSON.stringify(list), "utf-8");     //打印保存后API返回的结果     logger.info("\n\n\n保存结果为:" + result);     // heartBeat.addOutCount(list.length);      }  
 |