var obj = []; $(function() { // getHatData(); // getHatHttpData(); }) function getHatData() { // let loadingMsg = layer.msg('数据请求中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']}); let ws = new WebSocket("ws://118.195.180.29:11071"); ws.onopen = function () { console.log("WebSocket success ok") } ws.onerror = function(){ layer.alert("WebSocket连接失败") console.log("WebSocket error") } ws.onmessage = function (e) { console.log("WebSocket loadData") var datas = JSON.parse(e.data); //获取数据 console.log("WebSocket" + JSON.stringify(datas)) if(datas.length !== 0){ threadData(datas, 'websocket'); } // if(!obj){ // layer.alert("暂无安全帽") // }else{ // addMarker(obj); // } // ws.close(); } ws.onclose = function(){ // layer.close(loadingMsg); console.log("WebSocket close"); } } function getHatHttpData() { let timestamp = Math.round(new Date().getTime()/1000).toString(); let secret_key = "7cdc5ef8ata3bd8754a572de958b7e06"; let salt = SALT(); let imei = "860387067093260"; let signature = SHA1(secret_key + timestamp + salt); delete $.ajaxSettings.headers.token; $.ajax({ type: "POST", url: 'http://118.195.180.29:11076/index.php?r=app/getgpslatestpos', data: { "timestamp" : timestamp, "signature" : signature, "salt" : salt, "imei": imei }, dataType: 'json', success: function(result) { if(result.status === 1){ threadData(result.result, 'http'); } // var l = result.list; }, error: function(e) { console.log("hat," + JSON.stringify(e)); } }); } function threadData(datas, type) { if(type === 'websocket'){ for(let k in datas){ var data = datas[k]; showDataArr(data); } }else{ let data = datas; showDataArr(data); } console.log("hat:" + type + ":" + JSON.stringify(obj)); if(obj.length !== 0){ for(let i = 0; i < obj.length; i++) { for(let j = 0; j < obj.length; j++) { if (obj[i].id === obj[j].id && i !== j) { if(obj[i].position_time < obj[j].position_time){ obj.splice(j, 1); j--; } } } } let value = JSON.stringify(obj); console.log("hat缓存数据:" + type + ":" + value); localStorage.setItem("hatObj", value); } } function showDataArr(data) { if(data.wgs84_lon !== 0){ if(data.type === 'GPS') { //标签GPS数据 obj.push( { lon : data.wgs84_lon, lat : data.wgs84_lat, id : data.id, voltage : data.voltag, status : "1", position_time : data.position_time } ); }else if(data.type === 'sos'){ if(data.alarm_type === 20){ obj.push( { lon : data.wgs84_lon, lat : data.wgs84_lat, id : data.id, voltage : data.voltag, status : "2", position_time : data.position_time } ); } } } }