Quellcode durchsuchen

3dModeling buildingCreate.js 刘屹 commit at 2021-04-26

刘屹 vor 4 Jahren
Ursprung
Commit
d430ec0941
1 geänderte Dateien mit 114 neuen und 0 gelöschten Zeilen
  1. 114 0
      3dModeling/zhhry16/buildingCreate.js

+ 114 - 0
3dModeling/zhhry16/buildingCreate.js

@@ -518,3 +518,117 @@ function updateData(obj) {
     /** ******************* 以下为websoket数据对接 ********************/
     // 对接自有websoket服务器
     if (!webSocket) {
+        // 如果网站是 https 则对应 wss
+        // 如果网站是 http 则对应 ws 即可
+        webSocket = new WebSocket('ws://101.133.214.75:8080/Device_Manager/socket');
+        // 建立 websocket 连接成功触发事件
+        webSocket.onopen = function () {
+
+        };
+        // 接收服务端数据时触发事件
+        webSocket.onmessage = function (evt) {
+            queryDeviceStatus(evt);
+        };
+        webSocket.onclose = function (evt) {
+
+            webSocket = null;
+        }
+    }
+}
+
+//接收父级页面数据
+function userListener(data) {
+    
+    buildingStore = data.data;
+}
+
+// 监听用户页面传回的数据 并调用 ThingJS 页面方法
+window.addEventListener('message', function (e) {
+    var _this=this;
+    var array;
+    var data = e.data;
+    var funcName = data.funcName;
+    var param = data.param;
+    var company_code = e.data.param.company_code
+    // 调用 ThingJS 页面方法
+    window[funcName](param);
+    
+    //请求场景url的json文件
+    $.ajax({
+        type: "GET",
+        url:'/uploads/wechat/163607/file/杨浦16/park.json',
+        dataType: "json",
+        success: function (data) {
+            for(let i = 0; i < data.array.length; i++){
+                if(company_code === data.array[i].id){
+                    campusUrl = data.array[i]
+                    _this.changeScene(campusUrl);
+                    _this.createWidgets();
+                }
+            }
+        }
+    });
+});
+
+//父级页面数据处理
+function cleanObj(arr, key) {
+    var map = {},
+        dest = [];
+    for (var i = 0; i < arr.length; i++) {
+        var ai = arr[i];
+        if (!map[ai.min_level]) {
+            dest.push({
+                min_level: ai.min_level,
+                item: [ai]
+            });
+            map[ai.min_level] = ai;
+        } else {
+            for (var j = 0; j < dest.length; j++) {
+                var dj = dest[j];
+                if (dj.min_level == ai.min_level) {
+                    dj.item.push(ai);
+                    break;
+                }
+            }
+        }
+    }
+    return dest;
+}
+function uniq(array) {
+    var temp = []; //一个新的临时数组
+    for (var i = 0; i < array.length; i++) {
+        if (temp.indexOf(array[i]) == -1) {
+            temp.push(array[i]);
+        }
+    }
+    return temp;
+}
+//设备点位标识
+// function createDeviceElement(deviceType, floorNum) {
+//     removeMark();
+//     let data = cleanObj(buildingStore);
+//     for (var i = 0; i < data.length; i++) {
+//         if (data[i].min_level == floorNum) {
+//             let arry = data[i].item;
+//             for (var q = 0; q < arry.length; q++) {
+//                 if (arry[q].dwtype == deviceType) {
+//                     let devicename = arry[q].device_name;
+//                     let dwtype = arry[q].dwtype;
+//                     var ownercode = arry[q].owner_code
+//                     var textAndPictureMarkerHtml =
+//                         `<div  class="textAndPictureMarker" onclick="deviceIcon_click('${dwtype}','${floorNum}','${ownercode}')" style="position: absolute;">
+// 			<div class="text" style="color: #FF0000;font-size: 12px;text-shadow: white  0px 2px, white  2px 0px, white  -2px 0px, white  0px -2px, white  -1.4px -1.4px, white  1.4px 1.4px, white  1.4px -1.4px, white  -1.4px 1.4px;margin-bottom: 5px;">
+// 				`+ devicename + `
+// 			</div>
+// 			<div class="picture" style="height: 30px;width: 30px;margin: auto;">
+// 				<img src="/guide/examples/images/navigation/pointer.png" style="height: 100%;width: 100%;">
+// 			</div>
+// 		</div>`;
+//                     $('#div3d').append($(textAndPictureMarkerHtml));
+//                     createUIAnchor(floorNum);
+//                 }
+
+//             }
+//         }
+//     }
+// }