Jelajahi Sumber

添加未接入设备处理功能。需要调试其合适的显示颜色

liling 1 tahun lalu
induk
melakukan
e5c1ca0eee
2 mengubah file dengan 37 tambahan dan 2 penghapusan
  1. 2 1
      global.js
  2. 35 1
      main.html

+ 2 - 1
global.js

@@ -2,4 +2,5 @@ var AutoPlayer = false; //开启自动漫游
 var SERVER_URL = "http://8.142.173.95:18100/demo"; //服务接口地址
 var PLAYER3D_URL = "ws://localhost:8082"; //
 var DEV_ALAR_COLOR = "ff6c00"; //全局设备告警颜色
-var DEV_HINT_COLOR = "cccccc"; //设备复本颜色
+var DEV_HINT_COLOR = "6c6e6e"; //设备盘头剩余20-50之间的提示颜色
+var DEV_OFFLINE_COLOR = "cccccc"; //设备未接入的颜色

+ 35 - 1
main.html

@@ -1229,7 +1229,8 @@
     var sam0023;
     var modelsMap = {}
     var MODEL_LOADED = 0; //模型是否加载完成
-    var ALARM_DEVS = []; //未提醒的告警设备,将在模型加载完成时提醒
+    var ALARM_DEVS = [];  //未提醒的告警设备,将在模型加载完成时提醒
+    var OFFLINE_DEVS={};  //未接入设备列表
     var LoadServerDataTimer = null;
     var DataFill = {
         devStopAutoLoadTimter: null,//停机原因自动切计时器
@@ -2109,6 +2110,36 @@
 
         //获取数据
         GetAlarmData();
+
+        //获取已接入平台设备列表.将在设备模型加载完成后进行初始调用
+        function GetOnlineDev(){
+            $.getJSON(SERVER_URL + "/api/device/online", {}, function (res) {
+                setTimeout(function () {
+                    //每5分钟主动查询一次数据
+                    GetOnlineDev()
+                }, 1000*60*5);
+                if (res == null || res.code != 0) {
+                    return
+                }
+                var jsondata = ","+res.data.join(",")+",";
+                for(var devcode in modelsMap){
+                    //判断当前设备是否在在线设备列表中
+                    //设备原来未接入,现在接入了才恢复正常颜色
+                    if(jsondata.indexOf(","+devcode+",")>-1 && OFFLINE_DEVS[devcode]!=null){
+                        //设备已接入
+                        ChangeModelColor(devcode); //恢复原颜色
+                        OFFLINE_DEVS[devcode]=null;
+                    }else{
+                        if(OFFLINE_DEVS[devcode]==null){
+                            //设备未接入
+                            ChangeModelColor(devcode,DEV_OFFLINE_COLOR);
+                            OFFLINE_DEVS[devcode]=1
+                        }
+                    }
+                }
+            })
+        }
+        
     });
 
     //最佳视图
@@ -2209,6 +2240,9 @@
             }
             ALARM_DEVS = [];//清除
         }
+        //获取在线设备列表
+        GetOnlineDev();
+
         for (var i in ANIMATION_DATA) {
             // 添加关键帧
             player.Native.CameraAnimation.addKeyFrames([ANIMATION_DATA[i]]);