123 lines
3.6 KiB
JavaScript
123 lines
3.6 KiB
JavaScript
|
|
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
|
||
|
|
}
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|