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

@ -2,7 +2,7 @@
"name" : "星汉物联", "name" : "星汉物联",
"appid" : "__UNI__A21EF43", "appid" : "__UNI__A21EF43",
"description" : "设备管控", "description" : "设备管控",
"versionName" : "1.0.2", "versionName" : "1.0.3",
"versionCode" : "100", "versionCode" : "100",
"transformPx" : false, "transformPx" : false,
/* 5+App */ /* 5+App */

View File

@ -1246,14 +1246,14 @@
these.setBleFormData(); these.setBleFormData();
let json = { // let json = {
deviceId: these.device.id, // deviceId: these.device.id,
name: these.formData.company, // name: these.formData.company,
position: these.formData.name, // position: these.formData.name,
unitName: these.formData.job, // unitName: these.formData.job,
code: these.formData.id // code: these.formData.id
}; // };
usrApi.sendUsr(json) // usrApi.sendUsr(json)
return; return;
} }

View File

@ -282,7 +282,7 @@
request, request,
baseURL baseURL
} from '../../utils/request'; } from '../../utils/request';
import lnglatConvert from '@/utils/wgs84_to_gcj02.js'
const pagePath = "pages/670/HBY670"; const pagePath = "pages/670/HBY670";
var ble = null; var ble = null;
@ -369,6 +369,7 @@
showClose: false showClose: false
}, },
usrToggle: true, usrToggle: true,
bleLinkCnt:0
}, },
formData: { formData: {
battary: "", //电量 battary: "", //电量
@ -380,9 +381,9 @@
modeCurr: "", //档位 modeCurr: "", //档位
SOS: "", //sos SOS: "", //sos
lightCurr: "qiang", //照明模式 lightCurr: "qiang", //照明模式
company: "", //单位 company: "湖北消防总队", //单位
usrname: "", //姓名 usrname: "胡红军", //姓名
job: "", //职位 job: "中队长", //职位
usrid: "", //id usrid: "", //id
msgTxt: "", //消息1 msgTxt: "", //消息1
qzwarn: false, //是否强制报警 qzwarn: false, //是否强制报警
@ -469,6 +470,7 @@
var device = data.data; var device = data.data;
these.Status.apiType = data.apiType; these.Status.apiType = data.apiType;
these.device = device; these.device = device;
these.formData.usrid = device.deviceImei;
if (data.apiType !== 'listA') { if (data.apiType !== 'listA') {
Common.getdeviceShareId(data.data.id).then(res => { Common.getdeviceShareId(data.data.id).then(res => {
if (res.code == 200) { if (res.code == 200) {
@ -523,7 +525,10 @@
}, },
methods: { methods: {
showBleUnConnect() { showBleUnConnect() {
this.Status.bleLinkCnt++;
if(this.Status.bleLinkCnt>3){
return;
}
this.showPop({ this.showPop({
message: "蓝牙未连接过该设备,请使用蓝牙重新添加该设备", message: "蓝牙未连接过该设备,请使用蓝牙重新添加该设备",
iconUrl: "/static/images/6155/DeviceDetail/uploadErr.png", iconUrl: "/static/images/6155/DeviceDetail/uploadErr.png",
@ -557,8 +562,9 @@
}); });
}, },
gotoMap() { gotoMap() {
this.detailData.longitude = this.formData.Lon; let lnglat=lnglatConvert.wgs84_to_gcj02(this.formData.Lon,this.formData.Lat);
this.detailData.latitude = this.formData.Lat; this.detailData.longitude = lnglat[0];
this.detailData.latitude = lnglat[1];
uni.navigateTo({ uni.navigateTo({
url: '/pages/common/map/index', url: '/pages/common/map/index',
events: { events: {
@ -2196,14 +2202,14 @@
hideLoading(these); hideLoading(these);
let json = { // let json = {
deviceId: these.device.id, // deviceId: these.device.id,
name: these.formData.company, // name: these.formData.company,
position: these.formData.usrname, // position: these.formData.usrname,
unitName: these.formData.job, // unitName: these.formData.job,
code: these.formData.usrid // code: these.formData.usrid
}; // };
api.sendUsr(json) // api.sendUsr(json)
return; return;
} }
@ -2221,7 +2227,7 @@
let s = (text.length * 2).toString(16); let s = (text.length * 2).toString(16);
let len = String(s).padStart(4, '0') let len = String(s).padStart(4, '0')
len = len.match(/.{1,2}/g); len = len.match(/.{1,2}/g);
// 填充头部 // 填充头部
dataView.setUint8(0, 0x55); // 帧头 dataView.setUint8(0, 0x55); // 帧头
dataView.setUint8(1, 0x03); // 帧类型:文字 dataView.setUint8(1, 0x03); // 帧类型:文字
@ -2251,10 +2257,10 @@
// 发送下一个包 // 发送下一个包
currentPacket++; currentPacket++;
setTimeout(sendNextPacket, 0); setTimeout(sendNextPacket, 2000);
}).catch(err => { }).catch(err => {
if (err.code == '10007') { if (err.code == '10007') {
setTimeout(sendNextPacket, 0); setTimeout(sendNextPacket,2000);
} else { } else {
requestSend(); requestSend();
} }
@ -2276,7 +2282,7 @@
these.HoldYouHand("word transmit start", 120, f.deviceId, f.writeServiceId, f these.HoldYouHand("word transmit start", 120, f.deviceId, f.writeServiceId, f
.wirteCharactId).then( .wirteCharactId).then(
() => { () => {
setTimeout(sendText, 200); setTimeout(sendText, 2000);
}).catch((ex) => { }).catch((ex) => {
requestSend(); requestSend();
// console.log("握手没有成功", ex); // console.log("握手没有成功", ex);

View File

@ -67,7 +67,7 @@
<text class="smallTxt">泛光模式</text> <text class="smallTxt">泛光模式</text>
</view> </view>
</view> --> </view> -->
<view class="mode fleft" v-on:click.stop="UploadOpenImg()"> <view class="mode marginLeft fleft" v-on:click.stop="UploadOpenImg()">
<view class="leftImg"> <view class="leftImg">
<image class="img" src="/static/images/6155/DeviceDetail/open.png" mode="aspectFit"></image> <image class="img" src="/static/images/6155/DeviceDetail/open.png" mode="aspectFit"></image>
</view> </view>
@ -611,7 +611,7 @@
let clength = 0; let clength = 0;
for (let j = 0; j < item.length; j++) { for (let j = 0; j < item.length; j++) {
const element = item[j]; const element = item[j];
console.log("第" + i + "包,第" + j + "小包,长度:" + element.length) // console.log("第" + i + "包,第" + j + "小包,长度:" + element.length)
length += element.length; length += element.length;
clength += element.length; clength += element.length;
@ -714,7 +714,7 @@
//发送数据包 //发送数据包
ble.sendData(f.deviceId, buffer, f.writeServiceId, f.wirteCharactId, ble.sendData(f.deviceId, buffer, f.writeServiceId, f.wirteCharactId,
30) 1000)
.then(() => { .then(() => {
let curr = childPacket + (currentPacket - 1) * let curr = childPacket + (currentPacket - 1) *
@ -732,10 +732,10 @@
childPacket++; childPacket++;
} }
setTimeout(sendNextPacket, 100); setTimeout(sendNextPacket, 1000);
}).catch(err => { }).catch(err => {
if (err.code == 10007) { if (err.code == 10007) {
setTimeout(sendNextPacket, 100); setTimeout(sendNextPacket, 1000);
return; return;
} }
@ -927,7 +927,7 @@
text: "请稍候..." text: "请稍候..."
}); });
ble.sendData(f.deviceId, buffer, f.writeServiceId, f.wirteCharactId, 30).then(() => { ble.sendData(f.deviceId, buffer, f.writeServiceId, f.wirteCharactId, 100).then(() => {
this.formData.mode = mode; this.formData.mode = mode;
this.setBleFormData(); this.setBleFormData();
}).catch((ex) => { }).catch((ex) => {
@ -1091,7 +1091,7 @@
let inteval = parseInt(this.inteval ? this.inteval : 50); let inteval = parseInt(this.inteval ? this.inteval : 50);
console.log("inteval=", inteval) console.log("inteval=", inteval)
ble.sendData(f.deviceId, buffer, f.writeServiceId, f ble.sendData(f.deviceId, buffer, f.writeServiceId, f
.wirteCharactId, 30).then(() => { .wirteCharactId, 100).then(() => {
curr++; curr++;
setTimeout(sendNext, inteval); setTimeout(sendNext, inteval);
@ -1259,7 +1259,7 @@
if (f) { if (f) {
// 发送数据 // 发送数据
ble.sendData(f.deviceId, buffer, f.writeServiceId, f.wirteCharactId, 30); ble.sendData(f.deviceId, buffer, f.writeServiceId, f.wirteCharactId, 100);
} }
@ -1301,7 +1301,7 @@
if (f) { if (f) {
// 发送数据 // 发送数据
ble.sendData(f.deviceId, buffer, f.writeServiceId, f.wirteCharactId, 30); ble.sendData(f.deviceId, buffer, f.writeServiceId, f.wirteCharactId, 100);
} }

View File

@ -10,7 +10,7 @@
<view class="imgContent center"> <view class="imgContent center">
<view class="img center"> <view class="img center">
<image src="/static/images/common/bluetooth.png" class="titleIco" mode="aspectFit"> <image src="/static/images/BLEAdd/bluetooth.png" class="titleIco" mode="aspectFit">
</image> </image>
</view> </view>
@ -44,19 +44,31 @@
</view> </view>
</view> </view>
<view class="lblTitle">搜索设备</view> <view class="lblTitle">
<text>搜索设备</text>
<view @click="refreshBleList()">刷新</view>
</view>
<view class="list searchList"> <view class="list searchList">
<view class="item" v-on:click="Link(item,index)" v-for="item, index in EquipMents" <view class="item" v-on:click="Link(item,index)" v-for="item, index in EquipMents"
v-show="!item['linkStatu']"> v-show="!item['linkStatu']">
<view class="leftImg "> <view class="leftImg ">
<image src="/static/images/common/bluetooth.png" class="titleIco" mode="heightFix"> <image src="/static/images/BLEAdd/bluetooth.png" class="titleIco" mode="heightFix">
</image> </image>
</view> </view>
<view class="centertxt "> <view class="centertxt ">
<view class="name" v-text="item.name?item.name:'Unnamed'"></view> <view class="name">
<view class="id" v-text="item.deviceId"></view> <text>{{item.name?item.name:'Unnamed'}}</text>
</view>
<view class="id" >
<text>信号强度:{{110+item.RSSI>100?100:110+item.RSSI}}%</text>
</view>
</view> </view>
<view class="rightIco center"> <view class="rightIco center">
<image :src="isItemLink(item,index)" class="img" mode="aspectFit"> <image :src="isItemLink(item,index)" class="img" mode="aspectFit">
</image> </image>
</view> </view>
@ -154,34 +166,34 @@
these = this; these = this;
ble = bleTool.getBleTool(); ble = bleTool.getBleTool();
//已连接过但删除了设备 //已连接过但删除了设备
let delArr = ble.data.deletedEqs.map(v => { // let delArr = ble.data.deletedEqs.map(v => {
return { // return {
"deviceId": v.deviceId, // "deviceId": v.deviceId,
"name": v.name, // "name": v.name,
"RSSI": -99, // "RSSI": -99,
"localName": v.name, // "localName": v.name,
} // }
}); // });
//已连接过但没绑定过的设备 // //已连接过但没绑定过的设备
let noDev = ble.data.LinkedList.filter(v => { // let noDev = ble.data.LinkedList.filter(v => {
return !(v.device && v.device.id); // return !(v.device && v.device.id);
}).map(v => { // }).map(v => {
return { // return {
"deviceId": v.deviceId, // "deviceId": v.deviceId,
"name": v.name, // "name": v.name,
"RSSI": -99, // "RSSI": -99,
"localName": v.name, // "localName": v.name,
} // }
}); // });
delArr = delArr.concat(noDev); // delArr = delArr.concat(noDev);
console.log("可能搜不到的设备=", delArr); // console.log("可能搜不到的设备=", delArr);
this.EquipMents = delArr; this.EquipMents = []; //delArr;
ble.addDeviceFound((arr) => { ble.addDeviceFound((arr) => {
// console.log("发现新设备,",arr);
arr = arr.devices; arr = arr.devices;
for (var i = 0; i < arr.length; i++) { for (var i = 0; i < arr.length; i++) {
@ -190,15 +202,18 @@
continue; continue;
} }
let f = these.EquipMents.find(function(v) { let f = these.EquipMents.find((v, index) => {
return v.deviceId == arr[i].deviceId; if (v.deviceId == arr[i].deviceId) {
// v.RSSI=arr[i].RSSI;//同一设备上报更新信号强度
these.$set(these.EquipMents[index], 'RSSI', arr[i].RSSI);
return true;
}
return false;
}); });
if (!f) { if (!f) {
if (arr[i].deviceId == '35:06:00:EF:46:51') { console.log("发现新设备,", arr[i]);
console.log("EquipMents=", these.EquipMents); arr[i].name=arr[i].name.replace('JQZM-','');
console.log("arr[i]=", arr[i]);
}
these.EquipMents.push(arr[i]); these.EquipMents.push(arr[i]);
} else { } else {
@ -237,7 +252,7 @@
// this.EquipMents = []; // this.EquipMents = [];
this.PairEquip = []; // this.PairEquip = [];
ble && ble.StartSearch().then(res => { ble && ble.StartSearch().then(res => {
console.log("开始搜索成功", res); console.log("开始搜索成功", res);
}).catch((ex) => { }).catch((ex) => {
@ -248,6 +263,23 @@
}); });
}, },
methods: { methods: {
refreshBleList() {
if (!ble) {
return;
}
console.log("111111");
ble.StopSearch().then(res => {
console.log("停止搜索成功");
this.EquipMents = [];
ble.StartSearch().then(result => {
console.log("开始搜索成功");
}).catch(err => {
console.log("err=", err);
});
}).catch(ex => {
console.log("ex=", ex);
});
},
isItemLink: function(item, index) { isItemLink: function(item, index) {
let src = '/static/images/BLEAdd/noLink.png'; let src = '/static/images/BLEAdd/noLink.png';
@ -458,7 +490,7 @@
} }
.content { .content {
background-color: #1d1d1d; background-color: #121212;
color: #ffffffde; color: #ffffffde;
box-sizing: border-box; box-sizing: border-box;
overflow: hidden; overflow: hidden;
@ -533,6 +565,7 @@
.animate .titleIco { .animate .titleIco {
width: 36rpx; width: 36rpx;
height: 36rpx; height: 36rpx;
} }
.circle { .circle {
@ -542,7 +575,7 @@
animation: expand 4s infinite ease-out; animation: expand 4s infinite ease-out;
display: inline-block; display: inline-block;
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
border:1rpx solid #bbe6003d;
} }
.circle:nth-child(2) { .circle:nth-child(2) {
@ -561,7 +594,7 @@
} }
100% { 100% {
width: 18.75rem; width: 18.75rem;
@ -575,10 +608,10 @@
padding: 30rpx; padding: 30rpx;
box-sizing: border-box; box-sizing: border-box;
width: 100%; width: 100%;
height: calc(100% - 400rpx); height: calc(100% - 300rpx);
overflow-y: scroll; overflow-y: scroll;
position: absolute; position: absolute;
top: 400rpx; top: 300rpx;
left: 0rpx; left: 0rpx;
} }
@ -594,6 +627,13 @@
width: 100%; width: 100%;
height: 28rpx; height: 28rpx;
line-height: 28rpx; line-height: 28rpx;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-content: center;
align-items: center;
justify-content: space-between;
margin-bottom: 20rpx;
} }
.list { .list {
@ -608,9 +648,10 @@
.list .item { .list .item {
width: 100%; width: 100%;
height: 120rpx; min-height: 120rpx;
height: auto;
box-sizing: border-box; box-sizing: border-box;
padding: 30rpx; padding: 20rpx;
border-radius: 8px; border-radius: 8px;
background: #1a1a1a; background: #1a1a1a;
display: flex; display: flex;
@ -627,7 +668,7 @@
} }
.list .item .centertxt { .list .item .centertxt {
width: calc(100% - 150rpx); width: calc(100% - 100rpx);
height: 100%; height: 100%;
padding-left: 10rpx; padding-left: 10rpx;
display: flex; display: flex;
@ -640,14 +681,21 @@
} }
.list .item .rightIco { .list .item .rightIco {
width: 50rpx; width: 40rpx;
height: 100%; height: 100%;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-content: center;
justify-content: space-between;
align-items: center;
} }
.list .item .leftImg .titleIco { .list .item .leftImg .titleIco {
width: 100%; width: 100%;
height: 100%; height: 100%;
filter:invert(100%);
} }
.list .item .name { .list .item .name {
@ -662,7 +710,7 @@
.list .item .id { .list .item .id {
color: #ffffff99; color: #ffffff99;
font-family: "PingFang SC"; font-family: "PingFang SC";
font-size: 24rpx; font-size: 26rpx;
font-weight: 400; font-weight: 400;
line-height: 36rpx; line-height: 36rpx;
text-align: left; text-align: left;
@ -670,8 +718,8 @@
.list .item .rightIco .img { .list .item .rightIco .img {
width: 45rpx; width: 40rpx;
height: 45rpx; height: 40rpx;
} }
.openBlue { .openBlue {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -453,7 +453,7 @@ class BleHelper {
uni.openBluetoothAdapter({ uni.openBluetoothAdapter({
success: (args) => { success: (args) => {
// console.log("蓝牙初始化成功:" + JSON.stringify(args)); console.log("蓝牙初始化成功:" + JSON.stringify(args));
this.data.isOpenBlue = true; this.data.isOpenBlue = true;
this.data.available = true; this.data.available = true;
resolve(true); resolve(true);
@ -461,7 +461,7 @@ class BleHelper {
if (this.data.isSubscribe) { //整个App生命周期只订阅一次 if (this.data.isSubscribe) { //整个App生命周期只订阅一次
return; return;
} }
// console.log("开始订阅各类变化消息"); console.log("开始订阅各类变化消息");
this.data.isSubscribe = true; this.data.isSubscribe = true;
@ -519,14 +519,29 @@ class BleHelper {
} }
}); });
uni.onBluetoothDeviceFound((devices) => { uni.onBluetoothDeviceFound((res) => {
// console.log("发现新设备:" + JSON.stringify(devices)); // 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( this.data.searchList = this.data.searchList.concat(
devices); res);
if (this.cfg.onDeviceFound) { if (this.cfg.onDeviceFound) {
if (this.cfg.onDeviceFound.length > 0) { if (this.cfg.onDeviceFound.length > 0) {
this.cfg.onDeviceFound.forEach((found) => { this.cfg.onDeviceFound.forEach((found) => {
found.callback(devices); found.callback(res);
}); });
} }
@ -779,19 +794,40 @@ class BleHelper {
//停止搜索 //停止搜索
StopSearch() { StopSearch() {
return new Promise((resolve, reject) => { let p1= new Promise((resolve, reject) => {
uni.stopBluetoothDevicesDiscovery({ uni.stopBluetoothDevicesDiscovery({
success: (res) => { success: (res) => {
//console.log("停止搜索蓝牙设备成功"); console.log("停止搜索蓝牙设备成功");
resolve(); resolve();
}, },
fail: (ex) => { fail: (ex) => {
//console.log("无法停止蓝牙搜索"); console.log("无法停止蓝牙搜索");
reject(this.getError(ex)); 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. 获取当前应用版本信息 // 1. 获取当前应用版本信息
plus.runtime.getProperty(plus.runtime.appid, (widgetInfo) => { plus.runtime.getProperty(plus.runtime.appid, (widgetInfo) => {
const currentVersion = widgetInfo.version; const currentVersion = widgetInfo.version;
console.log("当前版本:" + currentVersion); console.log("当前版本:" + currentVersion);
let callbck = (res) => { let callbck = (res) => {
let flag = false;
uni.hideLoading(); uni.hideLoading();
// console.log("检查更新成功=", res) console.log("检查更新成功=", res)
if (res.statusCode === 200) { if (res.statusCode === 200) {
const updateInfo = res.data.data; const updateInfo = res.data.data;
if (!updateInfo.hasUpdate) { if (!updateInfo.hasUpdate) {
return; return true;
} }
flag = true;
// 3. 显示更新提示 // 3. 显示更新提示
uni.showModal({ uni.showModal({
title: '检测到更新', title: '检测到更新',
@ -45,16 +44,14 @@ function checkAndUpdateWgt(updateUrl) {
} }
}); });
} else { } else {
uni.showToast({ console.log('当前已是最新版本');
title: '当前已是最新版本',
icon: 'none',
duration: 2000
});
} }
return flag;
}; };
let Update = (url) => { let Update = (url) => {
console.log("url=",url); console.log("url=", url);
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
uni.request({ uni.request({
url: url, url: url,
@ -62,42 +59,57 @@ function checkAndUpdateWgt(updateUrl) {
data: { data: {
currentVersion: currentVersion, currentVersion: currentVersion,
platform: uni.getSystemInfoSync().platform, platform: uni.getSystemInfoSync().platform,
appId:"xhyc" appId: "xhyc"
}, },
success: (res) => { success: (res) => {
// console.log("res=>",res) // console.log("res=>",res)
res.type='1'; if (res.statusCode === 200) {
resolve(res); res.type = '1';
resolve(res);
} else {
reject(res);
}
}, },
fail: (err) => { fail: (err) => {
console.log("err=",err); console.log("err=", err);
reject(err); reject(err);
}, },
complete:()=>{ complete: () => {
console.log("complete"); console.log("complete");
} }
}); });
}); });
} }
let Callback1 = (res) => { let Callback1 = (res) => {
console.log("检查版本更新:", res); console.log("检查版本更新:", res);
let os = plus.os.name.toLowerCase(); let os = plus.os.name.toLowerCase();
let flag = false;
if (res.code != 200) { if (res.code != 200) {
return; return flag;
} }
let f = res.data.find(v => { let f = res.data.find(v => {
if (v.dictLabel.toLowerCase() == os) { if (v.dictLabel.toLowerCase() == os) {
return true; return true;
} }
return false; return false;
}); });
console.log("f=", f)
if (f) { if (f) {
if (f.dictValue == currentVersion) { if (f.dictValue == currentVersion) {
flag = false;
return flag;
}
if(!f.dictValue || !f.remark){
flag=false;
return; return;
} }
flag = true;
uni.showModal({ uni.showModal({
title: '检测到更新', title: '检测到更新',
content: '当前版本“' + currentVersion + '”,发现新版本“' + f.dictValue + '”,是否立即更新?', content: '当前版本“' + currentVersion + '”,发现新版本“' + f.dictValue + '”,是否立即更新?',
@ -109,17 +121,20 @@ function checkAndUpdateWgt(updateUrl) {
} }
} }
}); });
} else {
flag = false;
} }
return flag;
} }
let Update1 = () => { let Update1 = () => {
return request({ return request({
url: '/app/auth/version', url: '/app/auth/version',
method: 'get' method: 'get'
}); });
} }
let promises = []; let promises = [];
for (var i = 0; i < urls.length; i++) { for (var i = 0; i < urls.length; i++) {
promises.push(Update(urls[i])); promises.push(Update(urls[i]));
@ -128,25 +143,25 @@ function checkAndUpdateWgt(updateUrl) {
Promise.allSettled(promises).then(results => { Promise.allSettled(promises).then(results => {
let length = results.length; let length = results.length;
let flag=false; let flag = false;
for (var i = 0; i < length; i++) { for (var i = 0; i < length; i++) {
console.log('results['+i+']=',results[i]); console.log('results[' + i + ']=', results[i]);
if (results[i].status == 'fulfilled' && results[i].value.type==='1' && !flag ) { if (results[i].status == 'fulfilled' && results[i].value.type === '1' && !flag) {
flag=true; if (results[i].value.statusCode === 200) {
callbck(results[i].value) flag = callbck(results[i].value)
}
// break; // break;
} }
if(results[i].status == 'fulfilled' && results[i].value.type!=='1' && !flag){ if (results[i].status == 'fulfilled' && results[i].value.type !== '1' && !flag) {
flag=true;
Callback1(results[i].value); flag = Callback1(results[i].value);
// break; // break;
} }
} }
if(!flag){ if (!flag) {
console.log("检查更新失败了"); console.log("检查更新失败了");
}else{ } else {
console.log("检查更新成功"); 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
}