1
0
forked from dyf/APP

670人员登记调整,蓝牙成功不再走后端

This commit is contained in:
liub
2025-10-09 14:34:22 +08:00
parent c556b802e4
commit 4f3a8bb3ec
15 changed files with 360 additions and 133 deletions

View File

@ -453,7 +453,7 @@ class BleHelper {
uni.openBluetoothAdapter({
success: (args) => {
// console.log("蓝牙初始化成功:" + JSON.stringify(args));
console.log("蓝牙初始化成功:" + JSON.stringify(args));
this.data.isOpenBlue = true;
this.data.available = true;
resolve(true);
@ -461,7 +461,7 @@ class BleHelper {
if (this.data.isSubscribe) { //整个App生命周期只订阅一次
return;
}
// console.log("开始订阅各类变化消息");
console.log("开始订阅各类变化消息");
this.data.isSubscribe = true;
@ -519,14 +519,29 @@ class BleHelper {
}
});
uni.onBluetoothDeviceFound((devices) => {
uni.onBluetoothDeviceFound((res) => {
// console.log("发现新设备:" + JSON.stringify(devices));
let arr=[];
for (var i = 0; i < res.devices.length; i++) {
let item = res.devices[i];
let f=serviceDic.find(v=>{
return item.advertisServiceUUIDs.includes(v.serviceId);
});
if(f){
arr.push(item);
}
}
if(arr.length===0){
return;
}
res.devices=arr;
this.data.searchList = this.data.searchList.concat(
devices);
res);
if (this.cfg.onDeviceFound) {
if (this.cfg.onDeviceFound.length > 0) {
this.cfg.onDeviceFound.forEach((found) => {
found.callback(devices);
found.callback(res);
});
}
@ -779,19 +794,40 @@ class BleHelper {
//停止搜索
StopSearch() {
return new Promise((resolve, reject) => {
let p1= new Promise((resolve, reject) => {
uni.stopBluetoothDevicesDiscovery({
success: (res) => {
//console.log("停止搜索蓝牙设备成功");
console.log("停止搜索蓝牙设备成功");
resolve();
},
fail: (ex) => {
//console.log("无法停止蓝牙搜索");
console.log("无法停止蓝牙搜索");
reject(this.getError(ex));
}
});
})
});
let p2 = new Promise((succ, err) => {
setTimeout(() => {
err({
code: -1
});
}, 50);
});
return new Promise((resolve,reject)=>{
Promise.race([p1,p2]).then(resolve).catch(ex=>{
if (ex.code == -1) {
resolve();
return;
}
reject(ex);
});
});
}
//获取已连接的设备

View File

@ -12,26 +12,25 @@ function checkAndUpdateWgt(updateUrl) {
}
// 显示加载提示
let urls = ['http://114.55.111.217/app/CheckUpdate', 'https://t3v3e2xsjv.by.takin.cc/app/CheckUpdate'];
let urls = ['https://dmsapp.skf.com.cn/HummerService/app/CheckUpdate'];
// 1. 获取当前应用版本信息
plus.runtime.getProperty(plus.runtime.appid, (widgetInfo) => {
const currentVersion = widgetInfo.version;
console.log("当前版本:" + currentVersion);
let callbck = (res) => {
let flag = false;
uni.hideLoading();
// console.log("检查更新成功=", res)
console.log("检查更新成功=", res)
if (res.statusCode === 200) {
const updateInfo = res.data.data;
if (!updateInfo.hasUpdate) {
return;
return true;
}
flag = true;
// 3. 显示更新提示
uni.showModal({
title: '检测到更新',
@ -45,16 +44,14 @@ function checkAndUpdateWgt(updateUrl) {
}
});
} else {
uni.showToast({
title: '当前已是最新版本',
icon: 'none',
duration: 2000
});
console.log('当前已是最新版本');
}
return flag;
};
let Update = (url) => {
console.log("url=",url);
console.log("url=", url);
return new Promise((resolve, reject) => {
uni.request({
url: url,
@ -62,42 +59,57 @@ function checkAndUpdateWgt(updateUrl) {
data: {
currentVersion: currentVersion,
platform: uni.getSystemInfoSync().platform,
appId:"xhyc"
appId: "xhyc"
},
success: (res) => {
// console.log("res=>",res)
res.type='1';
resolve(res);
if (res.statusCode === 200) {
res.type = '1';
resolve(res);
} else {
reject(res);
}
},
fail: (err) => {
console.log("err=",err);
console.log("err=", err);
reject(err);
},
complete:()=>{
complete: () => {
console.log("complete");
}
});
});
}
let Callback1 = (res) => {
console.log("检查版本更新:", res);
let os = plus.os.name.toLowerCase();
let flag = false;
if (res.code != 200) {
return;
return flag;
}
let f = res.data.find(v => {
if (v.dictLabel.toLowerCase() == os) {
return true;
}
return false;
});
console.log("f=", f)
if (f) {
if (f.dictValue == currentVersion) {
flag = false;
return flag;
}
if(!f.dictValue || !f.remark){
flag=false;
return;
}
flag = true;
uni.showModal({
title: '检测到更新',
content: '当前版本“' + currentVersion + '”,发现新版本“' + f.dictValue + '”,是否立即更新?',
@ -109,17 +121,20 @@ function checkAndUpdateWgt(updateUrl) {
}
}
});
} else {
flag = false;
}
return flag;
}
let Update1 = () => {
return request({
url: '/app/auth/version',
method: 'get'
});
}
let promises = [];
for (var i = 0; i < urls.length; i++) {
promises.push(Update(urls[i]));
@ -128,25 +143,25 @@ function checkAndUpdateWgt(updateUrl) {
Promise.allSettled(promises).then(results => {
let length = results.length;
let flag=false;
let flag = false;
for (var i = 0; i < length; i++) {
console.log('results['+i+']=',results[i]);
if (results[i].status == 'fulfilled' && results[i].value.type==='1' && !flag ) {
flag=true;
callbck(results[i].value)
console.log('results[' + i + ']=', results[i]);
if (results[i].status == 'fulfilled' && results[i].value.type === '1' && !flag) {
if (results[i].value.statusCode === 200) {
flag = callbck(results[i].value)
}
// break;
}
if(results[i].status == 'fulfilled' && results[i].value.type!=='1' && !flag){
flag=true;
Callback1(results[i].value);
if (results[i].status == 'fulfilled' && results[i].value.type !== '1' && !flag) {
flag = Callback1(results[i].value);
// break;
}
}
if(!flag){
if (!flag) {
console.log("检查更新失败了");
}else{
} else {
console.log("检查更新成功");
}
});

122
utils/wgs84_to_gcj02.js Normal file
View File

@ -0,0 +1,122 @@
//地标 转 国测 常量
var x_PI = (3.14159265358979324 * 3000.0) / 180.0;
var PI = 3.1415926535897932384626;
var a = 6378245.0; //卫星椭球坐标投影到平面地图坐标系的投影因子。
var ee = 0.00669342162296594323; //椭球的偏心率。
//判断是否在国内,在中国国内的经纬度才需要做偏移
function out_of_china(lng, lat) {
return (
lng < 72.004 ||
lng > 137.8347 ||
(lat < 0.8293 || lat > 55.8271 || false)
);
}
//转化经度
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;
}
//转化纬度
function transformlat(lng, lat) {
var 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;
}
//wgs84 to gcj02 地球坐标系 转 火星坐标系
function wgs84_to_gcj02(lng, lat) {
if (out_of_china(lng, lat)) {
return [lng, lat];
} else {
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 - ee * magic * magic;
var sqrtmagic = Math.sqrt(magic);
dlat =
(dlat * 180.0) /
(((a * (1 - ee)) / (magic * sqrtmagic)) * PI);
dlng =
(dlng * 180.0) / ((a / sqrtmagic) * Math.cos(radlat) * PI);
var mglat = lat + dlat;
var mglng = lng + dlng;
return [mglng, mglat];
}
}
//gcj02 to wgs84 火星坐标系 转 地球坐标系
function gcj02_to_wgs84(lng, lat) {
if (out_of_china(lng, lat)) {
return [lng, lat]
}
else {
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 - ee * magic * magic;
var sqrtmagic = Math.sqrt(magic);
dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI);
dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI);
var mglat = lat + dlat;
var mglng = lng + dlng;
return [lng * 2 - mglng, lat * 2 - mglat]
}
}
export default {
gcj02_to_wgs84,
wgs84_to_gcj02
}