From 42ef69a6a50f5431fe718ebde2bf646ca2a17609 Mon Sep 17 00:00:00 2001
From: YYC <1833023622@qq.com>
Date: 星期四, 02 四月 2026 09:56:04 +0800
Subject: [PATCH] 密码加密,地磅抓拍
---
igdss-app/js/admin/security-patrol.js | 186 ++++++++++++++++++++++++++++++++++++++--------
1 files changed, 154 insertions(+), 32 deletions(-)
diff --git a/igdss-app/js/admin/security-patrol.js b/igdss-app/js/admin/security-patrol.js
index d03d23e..3882d9b 100644
--- a/igdss-app/js/admin/security-patrol.js
+++ b/igdss-app/js/admin/security-patrol.js
@@ -1,18 +1,21 @@
var url = null;
var uploadUrl = null;
+var deptId = null;
var PatrolList = null;
var ImgFile = null;
var dateTime;
-var longitude; //鐧惧害鍦板浘(BD-09)缁忓害
-var latitude; //鐧惧害鍦板浘(BD-09)绾害
-var x_pi = 3.14159265358979324 * 3000.0 / 180.0;
-var pi = 3.1415926535897932384626;
-var a = 6378245.0;
-var ee = 0.00669342162296594323;
+var longitude; //楂樺痉鍦板浘(GCJ-02)缁忓害
+var latitude; //楂樺痉鍦板浘(GCJ-02)绾害
+var X_PI = 3.1415926535897932384626 * 3000.0 / 180.0;
+// 瀹氫箟甯搁噺
+var PI = 3.1415926535897932384626;
+var AXIS = 6378245.0; // 鍦扮悆闀垮崐杞�
+var OFFSET = 0.00669342162296594323; // 鎵佺巼
+
//鐢靛瓙宸℃洿璁板綍
var data = {
- "interfaceId": "5601",
- "outId": "10601",
+ "interfaceId": "5105",
+ "outId": "10105",
"reqDateTime": new Date(),
"tokenAuth": "",
"data": {
@@ -22,8 +25,8 @@
};
//鐢靛瓙宸℃洿鎵撳崱
var data1 = {
- "interfaceId": "5602",
- "outId": "10602",
+ "interfaceId": "5106",
+ "outId": "10106",
"reqDateTime": new Date(),
"tokenAuth": "",
"data": {
@@ -36,8 +39,8 @@
};
//宸℃洿鐓х墖鏌ョ湅
var data2 = {
- "interfaceId": "5603",
- "outId": "10603",
+ "interfaceId": "5107",
+ "outId": "10107",
"reqDateTime": new Date(),
"tokenAuth": "",
"data": {
@@ -48,16 +51,24 @@
function init() {
var user = JSON.parse(localStorage.getItem('user'));
var selectDeptId = JSON.parse(localStorage.getItem('selectDeptId'));
- url = user.url + "/api-phone/v35/gateway";
- uploadUrl = user.url + "/api-phone/v35/upload-img"
+ url = user.url + "/api/phone/v1/gateway";
+ uploadUrl = user.url + "/api/phone/v1/patrol-img";
data.tokenAuth = user.tokenAuth;
data1.tokenAuth = user.tokenAuth;
data1.data.userName = user.cname;
data2.tokenAuth = user.tokenAuth;
- data.data.deptId = selectDeptId;
- data1.data.deptId = selectDeptId;
+
+ deptId = selectDeptId;
+ if(deptId == null){
+ deptId = user.deptId
+ }
+ data.data.deptId = deptId;
+ data1.data.deptId = deptId;
dateTime = getDate(new Date())
document.getElementById("date").value = dateTime;
+ if(user.userType != "30"){
+ document.getElementById('cameraImgBtn').remove();
+ }
//鑾峰彇宸℃洿璁板綍
getPatrolList()
@@ -110,7 +121,6 @@
function getPatrolList() {
//璧嬪�煎弬鏁扮殑鏃ユ湡
data.data.dateTime = dateTime;
- console.log(JSON.stringify(data.data), "鐢靛瓙宸℃洿璁板綍", "security-patrol")
mui.ajax(url, {
type: "POST",
dataType: "json",
@@ -122,6 +132,7 @@
PatrolList = result.data;
renderPatrol();
} else {
+ PatrolList = ''
renderPatrol();
mui.toast(result.msg);
// console.log(JSON.stringify(result))
@@ -139,21 +150,17 @@
if (PatrolList && PatrolList.length > 0) {
$.each(PatrolList, function(index, item) {
html += '<li><div class="item"><div class="top">'
- html += '<div class="date">' + item.createTime + '</div><div class="r-btn" id = "' + item.id +
+ html += '<div class="date">' + (item.createTime == null?"--":item.createTime) + '</div><div class="r-btn" id = "' + item.id +
'">鏌ョ湅鐓х墖</div></div>';
html += '<div class="cards"><div class="cd"><div class="con user">'
- html += '<div class="tit">鎵撳崱浜�</div><div class="txt">' + item.userName + '</div></div></div>';
+ html += '<div class="tit">鎵撳崱浜�</div><div class="txt">' + (item.createBy == null?"--":item.createBy) + '</div></div></div>';
html += '<div class="cd"><div class="con loc"><div class="tit">鍧愭爣</div>'
html += '<div class="txt">' + item.longitude + ', ' + item.latitude +
'</div></div></div></div></div></li>'
})
} else {
- html += '<li><div class="item"><div class="top">'
- html += '<div class="date">鏆傛棤宸℃洿璁板綍</div><div class="r-btn" id = "0">鏌ョ湅鐓х墖</div></div>';
- html += '<div class="cards"><div class="cd"><div class="con user">'
- html += '<div class="tit">鎵撳崱浜�</div><div class="txt">--</div></div></div>';
- html += '<div class="cd"><div class="con loc"><div class="tit">鍧愭爣</div>'
- html += '<div class="txt">0, 0</div></div></div></div></div></li>'
+ html +=
+ '<li><div class="item"><div style="text-align: center;font-size: 20px;color:#dd524d;padding-top: 16px;">鏆傛棤宸℃璁板綍淇℃伅</div></div></li>';
}
$("#recordList").html(html)
}
@@ -189,7 +196,7 @@
success: function(result) {
if (result.code == "0000") {
ImgFile = result.data;
- var html = '<img src="' + ImgFile.base64Img + '" alt="" class="img" />';
+ var html = '<img src="' + ImgFile.imgName + '" alt="" class="img" />';
$('#viewerImg').html(html);
} else {
// var html = '<img src="" alt="" class="img" />';
@@ -232,6 +239,7 @@
//涓婁紶鐓х墖
function uploadImg(path) {
+ console.log("patrol")
//杞湀绛夊緟妗�
var wt = plus.nativeUI.showWaiting();
//涓婁紶
@@ -255,7 +263,7 @@
}
});
//涓氬姟绫诲瀷
- task.addData("bizType", "02");
+ task.addData("deptId", deptId);
//鍥剧墖淇℃伅
task.addFile(path, {
key: "uploadkey"
@@ -280,6 +288,7 @@
if (result.code == "0000") {
// mui.toast(result.msg);
setInterval(getPatrolList(), 500)
+
} else {
mui.toast(result.msg);
}
@@ -291,6 +300,7 @@
}
// function getLatLon() {
+// console.log("2")
// plus.geolocation.getCurrentPosition(function(position) {
// longitude = position.coords.longitude; // 缁忓害
// latitude = position.coords.latitude; // 绾害
@@ -307,20 +317,19 @@
function getLatLon() {
plus.geolocation.getCurrentPosition(showLocation, function(e) {
mui.alert("鑾峰彇瀹氫綅淇℃伅澶辫触锛岃鍏堟墦寮�瀹氫綅寮�鍏筹紒", '鎻愮ず', ["纭畾"], function() {}, "div");
- }, {
- geocode: true
- });
+ },{ geocode: false});
+
}
//澶勭悊瀹氫綅鍚庣殑淇℃伅
function showLocation(r) {
var bd09 = "";
- if (r.coordsType == 'gcj02') {
+ if (r.coordsType == 'bd09') {
//鍥芥祴灞�鍧愭爣杞櫨搴﹀潗鏍�
bd09 = gcj02_To_Bd09(r.coords.longitude, r.coords.latitude);
} else if (r.coordsType == 'wgs84') {
//wgs84杞櫨搴﹀潗鏍�
- bd09 = wgs84_To_Bd09(r.coords.longitude, r.coords.latitude);
+ bd09 = wgs84_To_Gcj02(r.coords.longitude, r.coords.latitude);
} else {
bd09 = r.coords.longitude + "," + r.coords.latitude
}
@@ -374,4 +383,117 @@
ret += (20.0 * Math.sin(lon * pi) + 40.0 * Math.sin(lon / 3.0 * pi)) * 2.0 / 3.0;
ret += (150.0 * Math.sin(lon / 12.0 * pi) + 300.0 * Math.sin(lon / 30.0 * pi)) * 2.0 / 3.0;
return ret;
+}
+
+//鑾峰彇瀹氫綅
+function getLatLon() {
+ plus.geolocation.getCurrentPosition(showLocation, function(e) {
+ mui.alert("鑾峰彇瀹氫綅淇℃伅澶辫触锛岃鍏堟墦寮�瀹氫綅寮�鍏筹紒", '鎻愮ず', ["纭畾"], function() {}, "div");
+ },{ geocode: false});
+
+}
+
+//澶勭悊瀹氫綅鍚庣殑淇℃伅
+function showLocation(r) {
+ console.log(r.coordsType)
+ var gcj02 = "";
+ if (r.coordsType == 'bd09') {
+ //鍥芥祴灞�鍧愭爣杞櫨搴﹀潗鏍�
+ gcj02 = bd09_To_Gcj02(r.coords.longitude, r.coords.latitude);
+ } else if (r.coordsType == 'wgs84') {
+ //wgs84杞櫨搴﹀潗鏍�
+ gcj02 = wgs84_To_Gcj02(r.coords.longitude, r.coords.latitude);
+ } else {
+ gcj02 = r.coords.longitude + "," + r.coords.latitude
+ }
+ var location = gcj02.split(",");
+ longitude = location[0];
+ latitude = location[1];
+}
+
+/**
+ * WGS84杞珿CJ02锛圙PS鍧愭爣杞伀鏄熷潗鏍囷級
+ * @param {number} lng - WGS84缁忓害
+ * @param {number} lat - WGS84绾害
+ * @returns {Object} 鍖呭惈lng, lat鐨凣CJ02鍧愭爣
+ */
+function wgs84_To_Gcj02(lng, lat) {
+ if (outOfChina(lng, lat)) {
+ return { lng, lat };
+ }
+
+ var dLat = transformLat(lng - 105.0, lat - 35.0);
+ var dLng = transformLng(lng - 105.0, lat - 35.0);
+
+ var radLat = lat / 180.0 * PI;
+ var magic = Math.sin(radLat);
+ magic = 1 - OFFSET * magic * magic;
+
+ var sqrtMagic = Math.sqrt(magic);
+ dLat = (dLat * 180.0) / ((AXIS * (1 - OFFSET)) / (magic * sqrtMagic) * PI);
+ dLng = (dLng * 180.0) / (AXIS / sqrtMagic * Math.cos(radLat) * PI);
+
+ var mgLat = lat + dLat;
+ var mgLng = lng + dLng;
+
+ return mgLng+","+ mgLat;
+}
+
+/**
+ * 鍒ゆ柇鍧愭爣鏄惁鍦ㄤ腑鍥戒箣澶�
+ */
+function outOfChina(lng, lat) {
+ return lng < 72.004 || lng > 137.8347 || lat < 0.8293 || lat > 55.8271;
+}
+
+/**
+ * 绾害杞崲
+ */
+function transformLat(lng, lat) {
+ let ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat +
+ 0.1 * lng * lat + 0.2 * Math.sqrt(Math.abs(lng));
+
+ ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 *
+ Math.sin(2.0 * lng * PI)) * 2.0 / 3.0;
+ ret += (20.0 * Math.sin(lat * PI) + 40.0 *
+ Math.sin(lat / 3.0 * PI)) * 2.0 / 3.0;
+ ret += (160.0 * Math.sin(lat / 12.0 * PI) + 320 *
+ Math.sin(lat * PI / 30.0)) * 2.0 / 3.0;
+
+ return ret;
+}
+
+/**
+ * 缁忓害杞崲
+ */
+function transformLng(lng, lat) {
+ var ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng +
+ 0.1 * lng * lat + 0.1 * Math.sqrt(Math.abs(lng));
+
+ ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 *
+ Math.sin(2.0 * lng * PI)) * 2.0 / 3.0;
+ ret += (20.0 * Math.sin(lng * PI) + 40.0 *
+ Math.sin(lng / 3.0 * PI)) * 2.0 / 3.0;
+ ret += (150.0 * Math.sin(lng / 12.0 * PI) + 300.0 *
+ Math.sin(lng / 30.0 * PI)) * 2.0 / 3.0;
+
+ return ret;
+}
+
+/**
+ * BD-09 杞� GCJ-02锛堢櫨搴﹀潗鏍囪浆鐏槦鍧愭爣锛�
+ * @param {number} bdLng - 鐧惧害缁忓害
+ * @param {number} bdLat - 鐧惧害绾害
+ * @returns {Object} 鍖呭惈lng, lat鐨凣CJ-02鍧愭爣
+ */
+function bd09_To_Gcj02(bdLng, bdLat) {
+ var x = bdLng - 0.0065;
+ var y = bdLat - 0.006;
+ var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * X_PI);
+ var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * X_PI);
+
+ var gcjLng = z * Math.cos(theta);
+ var gcjLat = z * Math.sin(theta);
+
+ return gcjLng+","+ gcjLat ;
}
\ No newline at end of file
--
Gitblit v1.9.3