1
0
forked from dyf/APP

修复有时候蓝牙配对成功依然提示未连接的异常

This commit is contained in:
liub
2026-05-20 10:58:55 +08:00
parent 7ed3813e7c
commit 7f56e46ace
19 changed files with 1031 additions and 914 deletions

View File

@ -379,6 +379,12 @@
these.formData.deviceId = v.deviceId; these.formData.deviceId = v.deviceId;
return true; return true;
} }
if(v.device){
if(v.device.id==device.id){
these.formData.deviceId = v.deviceId;
return true;
}
}
return false; return false;
}); });
if (!f) { if (!f) {
@ -603,14 +609,24 @@
}, },
getDevice: function() { getDevice: function() {
let f = ble.data.LinkedList.find((v) => { let f = ble.data.LinkedList.find((v) => {
return v.macAddress == these.device.deviceMac; let flag=v.macAddress == these.device.deviceMac ;
if(!flag && v.device){
flag= v.device.id==these.device.id;
}
if(flag){
these.formData.deviceId = v.deviceId;
}
return flag;
}); });
// #ifdef WEB // #ifdef WEB
f = { f = {
deviceId: '123' deviceId: '123'
} }
// #endif // #endif
return f; return f;
}, },
showBleUnConnect() { showBleUnConnect() {

View File

@ -1160,14 +1160,23 @@
}, },
getDevice: function() { getDevice: function() {
// console.log("LinkedList=", ble.data.LinkedList);
// console.log("formData=", these.formData);
let f = ble.data.LinkedList.find((v) => { let f = ble.data.LinkedList.find((v) => {
return v.macAddress == these.device.deviceMac; let flag=v.macAddress == these.device.deviceMac ;
}); if(!flag && v.device){
if (f) { flag= v.device.id==these.device.id;
this.formData.deviceId = f.deviceId;
} }
if(flag){
these.formData.deviceId = v.deviceId;
}
return flag;
});
// #ifdef WEB
f = {
deviceId: '123'
}
// #endif
return f; return f;
}, },

View File

@ -509,14 +509,7 @@
} }
}); });
} }
let f = ble.data.LinkedList.find((v) => { let f =this.getDevice();
if (v.macAddress == device.deviceMac) {
// console.log("找到设备了", v);
these.formData.deviceId = v.deviceId;
return true;
}
return false;
});
if (!f) { if (!f) {
@ -1300,12 +1293,23 @@ onFreqChanging(e){
}, },
getDevice: function() { getDevice: function() {
// console.log("LinkedList=", ble.data.LinkedList);
// console.log("formData=", these.formData);
let f = ble.data.LinkedList.find((v) => { let f = ble.data.LinkedList.find((v) => {
return v.macAddress == these.device.deviceMac; let flag=v.macAddress == these.device.deviceMac ;
if(!flag && v.device){
flag= v.device.id==these.device.id;
}
if(flag){
these.formData.deviceId = v.deviceId;
}
return flag;
}); });
// #ifdef WEB
f = {
deviceId: '123'
}
// #endif
return f; return f;
}, },

View File

@ -248,14 +248,7 @@
if (these.device.deviceImei) { if (these.device.deviceImei) {
these.initMQ(); these.initMQ();
} }
let f = ble.data.LinkedList.find((v) => { let f =these.getDevice();
if (v.macAddress == device.deviceMac) {
console.log("找到设备了", v);
these.formData.deviceId = v.deviceId;
return true;
}
return false;
});
if (!f) { if (!f) {
these.showBleUnConnect(); these.showBleUnConnect();
these.getDetail(); these.getDetail();
@ -472,7 +465,27 @@
}) })
} }
}, },
getDevice: function() {
let f = ble.data.LinkedList.find((v) => {
let flag = v.macAddress == these.device.deviceMac;
if (!flag && v.device) {
flag = v.device.id == these.device.id;
}
if (flag) {
these.formData.deviceId = v.deviceId;
}
return flag;
});
// #ifdef WEB
f = {
deviceId: '123'
}
// #endif
return f;
}
} }
} }
</script> </script>

View File

@ -459,14 +459,7 @@ created() {
} }
these.device = device; these.device = device;
these.getWarns(); these.getWarns();
let f = ble.data.LinkedList.find((v) => { let f = these.getDevice();
if (v.macAddress == device.deviceMac) {
// console.log("找到设备了", v);
these.formData.deviceId = v.deviceId;
return true;
}
return false;
});
if (!f) { if (!f) {
@ -1304,13 +1297,27 @@ created() {
}, },
getDevice: function() { getDevice: function() {
// console.log("LinkedList=", ble.data.LinkedList);
// console.log("formData=", these.formData);
let f = ble.data.LinkedList.find((v) => { let f = ble.data.LinkedList.find((v) => {
return v.macAddress == these.device.deviceMac; let flag=v.macAddress == these.device.deviceMac ;
if(!flag && v.device){
flag= v.device.id==these.device.id;
}
if(flag){
these.formData.deviceId = v.deviceId;
}
return flag;
}); });
// #ifdef WEB
f = {
deviceId: '123'
}
// #endif
return f; return f;
}, },
bleStatuToggle() { bleStatuToggle() {

View File

@ -465,14 +465,7 @@
} }
these.device = device; these.device = device;
these.getWarns(); these.getWarns();
let f = ble.data.LinkedList.find((v) => { let f = these.getDevice();
if (v.macAddress == device.deviceMac) {
// console.log("找到设备了", v);
these.formData.deviceId = v.deviceId;
return true;
}
return false;
});
if (!f) { if (!f) {
@ -1328,12 +1321,23 @@
}, },
getDevice: function() { getDevice: function() {
// console.log("LinkedList=", ble.data.LinkedList);
// console.log("formData=", these.formData);
let f = ble.data.LinkedList.find((v) => { let f = ble.data.LinkedList.find((v) => {
return v.macAddress == these.device.deviceMac; let flag=v.macAddress == these.device.deviceMac ;
if(!flag && v.device){
flag= v.device.id==these.device.id;
}
if(flag){
these.formData.deviceId = v.deviceId;
}
return flag;
}); });
// #ifdef WEB
f = {
deviceId: '123'
}
// #endif
return f; return f;
}, },

View File

@ -562,14 +562,7 @@
if (these.device.deviceImei) { if (these.device.deviceImei) {
these.initMQ(); these.initMQ();
} }
let f = ble.data.LinkedList.find((v) => { let f = these.getDevice();
if (v.macAddress == device.deviceMac) {
console.log("找到设备了", v);
these.formData.deviceId = v.deviceId;
return true;
}
return false;
});
if (!f) { if (!f) {
these.showBleUnConnect(); these.showBleUnConnect();
these.getDetail(); these.getDetail();
@ -1468,18 +1461,22 @@
}, },
getDevice: function() { getDevice: function() {
let f ={deviceId:'123'}; let f = ble.data.LinkedList.find((v) => {
// #ifdef APP let flag = v.macAddress == these.device.deviceMac;
f= ble.data.LinkedList.find((v) => { if (!flag && v.device) {
if (v.macAddress == these.device.deviceMac) { flag = v.device.id == these.device.id;
if (!this.formData.deviceId) {
this.formData.deviceId = v.deviceId
};
return true;
} }
if (flag) {
these.formData.deviceId = v.deviceId;
}
return flag;
}); });
// #endif
// #ifdef WEB
f = {
deviceId: '123'
}
// #endif
return f; return f;
}, },

View File

@ -531,14 +531,7 @@
}); });
}) })
let f = ble.data.LinkedList.find((v) => { let f = these.getDevice();
if (v.macAddress == device.deviceMac) {
// console.log("找到设备了", v);
these.formData.deviceId = v.deviceId;
return true;
}
return false;
});
if (!f) { if (!f) {
@ -1271,12 +1264,23 @@
}, },
getDevice: function() { getDevice: function() {
console.log("LinkedList=", ble.data.LinkedList);
console.log("formData=", these.device);
let f = ble.data.LinkedList.find((v) => { let f = ble.data.LinkedList.find((v) => {
return v.macAddress == these.device.deviceMac; let flag = v.macAddress == these.device.deviceMac;
if (!flag && v.device) {
flag = v.device.id == these.device.id;
}
if (flag) {
these.formData.deviceId = v.deviceId;
}
return flag;
}); });
// #ifdef WEB
f = {
deviceId: '123'
}
// #endif
return f; return f;
}, },
@ -1614,7 +1618,8 @@
border-color: #aed600 !important; border-color: #aed600 !important;
} }
.lampMode .mode.active .bigTxt,.lampMode .mode.active .smallTxt { .lampMode .mode.active .bigTxt,
.lampMode .mode.active .smallTxt {
color: #aed600 !important; color: #aed600 !important;
} }

View File

@ -1282,17 +1282,23 @@
}, },
getDevice: function() { getDevice: function() {
console.log("LinkedList=", ble.data.LinkedList);
console.log("this.device=", this.device);
let f = ble.data.LinkedList.find((v) => { let f = ble.data.LinkedList.find((v) => {
if (v.macAddress == these.device.deviceMac) { let flag = v.macAddress == these.device.deviceMac;
if (!this.formData.deviceId) { if (!flag && v.device) {
this.formData.deviceId = v.deviceId flag = v.device.id == these.device.id;
};
return true;
} }
if (flag) {
these.formData.deviceId = v.deviceId;
}
return flag;
}); });
// #ifdef WEB
f = {
deviceId: '123'
}
// #endif
return f; return f;
}, },
showBleUnConnect() { showBleUnConnect() {
@ -1524,7 +1530,8 @@
}, },
gotoMap() { gotoMap() {
let promise = Promise.resolve([this.formData.sta_longitude, this.formData let promise = Promise.resolve([this.formData.sta_longitude, this.formData
.sta_latitude]); //lnglatConvert.wgs84_to_gcj02(this.formData.sta_longitude, this.formData.sta_latitude); .sta_latitude
]); //lnglatConvert.wgs84_to_gcj02(this.formData.sta_longitude, this.formData.sta_latitude);
promise.then(lnglat => { promise.then(lnglat => {
this.detailData.longitude = lnglat[0]; this.detailData.longitude = lnglat[0];

View File

@ -377,14 +377,7 @@
// console.log("收到父页面的参数:" + JSON.stringify(data)); // console.log("收到父页面的参数:" + JSON.stringify(data));
var device = data.data; var device = data.data;
these.device = device; these.device = device;
let f = ble.data.LinkedList.find((v) => { let f = these.getDevice();
if (v.macAddress == device.deviceMac) {
// console.log("找到设备了", v);
these.formData.deviceId = v.deviceId;
return true;
}
return false;
});
if (!f) { if (!f) {
@ -803,12 +796,23 @@
getDevice: function() { getDevice: function() {
// console.log("LinkedList=", ble.data.LinkedList);
// console.log("formData=", these.formData);
let f = ble.data.LinkedList.find((v) => { let f = ble.data.LinkedList.find((v) => {
return v.macAddress == these.device.deviceMac; let flag = v.macAddress == these.device.deviceMac;
if (!flag && v.device) {
flag = v.device.id == these.device.id;
}
if (flag) {
these.formData.deviceId = v.deviceId;
}
return flag;
}); });
// #ifdef WEB
f = {
deviceId: '123'
}
// #endif
return f; return f;
}, },
@ -1846,6 +1850,4 @@
.volMath { .volMath {
color: rgba(174, 214, 0, 1); color: rgba(174, 214, 0, 1);
} }
</style> </style>

View File

@ -37,7 +37,8 @@
<view class="row"> <view class="row">
<image class="img" src="/static/images/common/time.png" mode="aspectFit"></image> <image class="img" src="/static/images/common/time.png" mode="aspectFit"></image>
<view class="txt"> <view class="txt">
<view class="bigTxt" v-show="getMode('main')!='关闭'||getMode('fu')!='关闭'">{{formData.xuhang}}</view> <view class="bigTxt" v-show="getMode('main')!='关闭'||getMode('fu')!='关闭'">{{formData.xuhang}}
</view>
<view class="smallTxt">续航时间</view> <view class="smallTxt">续航时间</view>
</view> </view>
</view> </view>
@ -375,14 +376,7 @@
} }
}); });
} }
let f = ble.data.LinkedList.find((v) => { let f = these.getDevice();
if (v.macAddress == device.deviceMac) {
// console.log("找到设备了", v);
these.formData.deviceId = v.deviceId;
return true;
}
return false;
});
if (!f) { if (!f) {
these.getDetail(); these.getDetail();
@ -665,12 +659,23 @@
}) })
}, },
getDevice: function() { getDevice: function() {
// console.log("LinkedList=", ble.data.LinkedList);
// console.log("formData=", these.formData);
let f = ble.data.LinkedList.find((v) => { let f = ble.data.LinkedList.find((v) => {
return v.macAddress == these.device.deviceMac; let flag = v.macAddress == these.device.deviceMac;
if (!flag && v.device) {
flag = v.device.id == these.device.id;
}
if (flag) {
these.formData.deviceId = v.deviceId;
}
return flag;
}); });
// #ifdef WEB
f = {
deviceId: '123'
}
// #endif
return f; return f;
}, },
bleValueNotify: function(receive, device, path, recArr) { bleValueNotify: function(receive, device, path, recArr) {
@ -1748,7 +1753,9 @@
res = res.data; res = res.data;
let personnelInfo = res.personnelInfo; let personnelInfo = res.personnelInfo;
if (personnelInfo) { if (personnelInfo) {
these.formData.textLines=[personnelInfo.position, personnelInfo.name,personnelInfo.unitName]; these.formData.textLines = [personnelInfo.position, personnelInfo.name, personnelInfo
.unitName
];
} }
} }
}); });

View File

@ -344,14 +344,7 @@
} }
}); });
} }
let f = ble.data.LinkedList.find((v) => { let f = these.getDevice();
if (v.macAddress == device.deviceMac) {
console.log("找到设备了", v);
these.formData.deviceId = v.deviceId;
return true;
}
return false;
});
if (!f) { if (!f) {
these.getDetail(); these.getDetail();
@ -632,12 +625,23 @@
}) })
}, },
getDevice: function() { getDevice: function() {
// console.log("LinkedList=", ble.data.LinkedList);
// console.log("formData=", these.formData);
let f = ble.data.LinkedList.find((v) => { let f = ble.data.LinkedList.find((v) => {
return v.macAddress == these.device.deviceMac; let flag = v.macAddress == these.device.deviceMac;
if (!flag && v.device) {
flag = v.device.id == these.device.id;
}
if (flag) {
these.formData.deviceId = v.deviceId;
}
return flag;
}); });
// #ifdef WEB
f = {
deviceId: '123'
}
// #endif
return f; return f;
}, },
bleValueNotify: function(receive, device, path, recArr) { bleValueNotify: function(receive, device, path, recArr) {

View File

@ -557,14 +557,22 @@
if (ble) { if (ble) {
let f = ble.data.LinkedList.find((v) => { let f = ble.data.LinkedList.find((v) => {
if (v.macAddress == this.itemInfo.deviceMac) { let flag = v.macAddress == these.device.deviceMac;
if (!this.formData.deviceId) { if (!flag && v.device) {
this.formData.deviceId = v.deviceId flag = v.device.id == these.device.id;
};
return true;
} }
if (flag) {
these.formData.deviceId = v.deviceId;
}
return flag;
}); });
// #ifdef WEB
f = {
deviceId: '123'
}
// #endif
return f; return f;
} }
return null; return null;
@ -2117,14 +2125,7 @@
this.initBle(); this.initBle();
console.log("ble=", ble); console.log("ble=", ble);
let f = ble.data.LinkedList.find((v) => { let f = these.getDevice();
if (v.macAddress == this.itemInfo.deviceMac) {
console.log("找到设备了", v);
these.formData.deviceId = v.deviceId;
return true;
}
return false;
});
if (f) { if (f) {
these.formData.bleStatu = 'connecting'; these.formData.bleStatu = 'connecting';

View File

@ -218,7 +218,9 @@
hideLoading, hideLoading,
updateLoading updateLoading
} from '@/utils/loading.js' } from '@/utils/loading.js'
import request, { baseURL } from '@/utils/request.js'; import request, {
baseURL
} from '@/utils/request.js';
import usrApi from '@/api/670/HBY670.js'; import usrApi from '@/api/670/HBY670.js';
import { import {
@ -360,14 +362,7 @@ import request, { baseURL } from '@/utils/request.js';
// console.log("收到父页面的参数:" + JSON.stringify(data)); // console.log("收到父页面的参数:" + JSON.stringify(data));
var device = data.data; var device = data.data;
these.device = device; these.device = device;
let f = ble.data.LinkedList.find((v) => { let f = these.getDevice();
if (v.macAddress == device.deviceMac) {
// console.log("找到设备了", v);
these.formData.deviceId = v.deviceId;
return true;
}
return false;
});
if (!f) { if (!f) {
@ -693,12 +688,23 @@ import request, { baseURL } from '@/utils/request.js';
}, },
getDevice: function() { getDevice: function() {
// console.log("LinkedList=", ble.data.LinkedList);
// console.log("formData=", these.formData);
let f = ble.data.LinkedList.find((v) => { let f = ble.data.LinkedList.find((v) => {
return v.macAddress == these.device.deviceMac; let flag = v.macAddress == these.device.deviceMac;
if (!flag && v.device) {
flag = v.device.id == these.device.id;
}
if (flag) {
these.formData.deviceId = v.deviceId;
}
return flag;
}); });
// #ifdef WEB
f = {
deviceId: '123'
}
// #endif
return f; return f;
}, },
getDetail() { getDetail() {

View File

@ -113,8 +113,7 @@
</view> </view>
</view> </view>
<view class="mode marginLeft fleft" <view class="mode marginLeft fleft" v-on:click.stop="ShowUpload()">
v-on:click.stop="ShowUpload()">
<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>
@ -183,7 +182,9 @@
hideLoading, hideLoading,
updateLoading updateLoading
} from '@/utils/loading.js' } from '@/utils/loading.js'
import request, { baseURL } from '@/utils/request.js'; import request, {
baseURL
} from '@/utils/request.js';
import usrApi from '@/api/670/HBY670.js'; import usrApi from '@/api/670/HBY670.js';
import { import {
@ -334,14 +335,7 @@ created() {
} }
}); });
} }
let f = ble.data.LinkedList.find((v) => { let f = these.getDevice();
if (v.macAddress == device.deviceMac) {
// console.log("找到设备了", v);
these.formData.deviceId = v.deviceId;
return true;
}
return false;
});
if (!f) { if (!f) {
@ -640,12 +634,23 @@ created() {
}, },
getDevice: function() { getDevice: function() {
// console.log("LinkedList=", ble.data.LinkedList);
// console.log("formData=", these.formData);
let f = ble.data.LinkedList.find((v) => { let f = ble.data.LinkedList.find((v) => {
return v.macAddress == these.device.deviceMac; let flag = v.macAddress == these.device.deviceMac;
if (!flag && v.device) {
flag = v.device.id == these.device.id;
}
if (flag) {
these.formData.deviceId = v.deviceId;
}
return flag;
}); });
// #ifdef WEB
f = {
deviceId: '123'
}
// #endif
return f; return f;
}, },
getDetail() { getDetail() {

View File

@ -1,7 +1,7 @@
<template> <template>
<view class="content contentBg"> <view class="content contentBg">
<uni-nav-bar :border="false" @clickLeft="prevPage" fixed="true" statusBar="true" <uni-nav-bar :border="false" @clickLeft="prevPage" fixed="true" statusBar="true" background-color="#121212"
background-color="#121212" color="#FFFFFF" :title="Status.navbar.title"> color="#FFFFFF" :title="Status.navbar.title">
<template v-slot:left> <template v-slot:left>
<view> <view>
<uni-icons type="left" size="24" color="#FFFFFF"></uni-icons> <uni-icons type="left" size="24" color="#FFFFFF"></uni-icons>
@ -9,7 +9,8 @@
</template> </template>
<block slot="right"> <block slot="right">
<view class="navbarRight center"> <view class="navbarRight center">
<image @click.stop="handleRightClick(index,item)" v-for="item,index in Status.navbar.icons" class="img" :src="item.src" mode="aspectFit"></image> <image @click.stop="handleRightClick(index,item)" v-for="item,index in Status.navbar.icons"
class="img" :src="item.src" mode="aspectFit"></image>
</view> </view>
</block> </block>
@ -287,7 +288,9 @@
hideLoading, hideLoading,
updateLoading updateLoading
} from '@/utils/loading.js' } from '@/utils/loading.js'
import request, { baseURL } from '@/utils/request.js'; import request, {
baseURL
} from '@/utils/request.js';
import lnglatConvert from '@/utils/wgs84_to_gcj02.js'; import lnglatConvert from '@/utils/wgs84_to_gcj02.js';
import { import {
MsgSuccess, MsgSuccess,
@ -511,14 +514,7 @@
if (these.device.deviceImei) { if (these.device.deviceImei) {
these.initMQ(); these.initMQ();
} }
let f = ble.data.LinkedList.find((v) => { let f = these.getDevice();
if (v.macAddress == device.deviceMac) {
console.log("找到设备了", v);
these.formData.deviceId = v.deviceId;
return true;
}
return false;
});
if (!f) { if (!f) {
these.showBleUnConnect(); these.showBleUnConnect();
these.getDetail(); these.getDetail();
@ -931,7 +927,8 @@
// console.log("收到文本回复", payload); // console.log("收到文本回复", payload);
// // this.SendTxtMQ(json); // // this.SendTxtMQ(json);
// } // }
if (keys.indexOf('sta_BreakNews') > -1) { //紧急通知 if (keys.indexOf('sta_BreakNews') > -
1) { //紧急通知
if (json.sta_BreakNews == 'I get it') { if (json.sta_BreakNews == 'I get it') {
showPop({ showPop({
showPop: true, showPop: true,
@ -1134,12 +1131,23 @@
}, },
getDevice: function() { getDevice: function() {
console.log("LinkedList=", ble.data.LinkedList);
console.log("this.device=", this.device);
let f = ble.data.LinkedList.find((v) => { let f = ble.data.LinkedList.find((v) => {
return v.macAddress == these.device.deviceMac; let flag = v.macAddress == these.device.deviceMac;
if (!flag && v.device) {
flag = v.device.id == these.device.id;
}
if (flag) {
these.formData.deviceId = v.deviceId;
}
return flag;
}); });
// #ifdef WEB
f = {
deviceId: '123'
}
// #endif
return f; return f;
}, },
setBleFormData() { setBleFormData() {
@ -3345,6 +3353,7 @@
height: 35rpx; height: 35rpx;
margin-right: 30rpx; margin-right: 30rpx;
} }
.uni-navbar--fixed { .uni-navbar--fixed {
top: 0rpx; top: 0rpx;
} }

View File

@ -119,15 +119,18 @@
<view class="item"> <view class="item">
<text class="lbl">单位</text> <text class="lbl">单位</text>
<input class="value" maxlength="5" v-model="formData.inputLines[0]" placeholder="请输入单位" placeholder-class="usrplace" /> <input class="value" maxlength="5" v-model="formData.inputLines[0]" placeholder="请输入单位"
placeholder-class="usrplace" />
</view> </view>
<view class="item"> <view class="item">
<text class="lbl">部门</text> <text class="lbl">部门</text>
<input class="value" maxlength="5" v-model="formData.inputLines[1]" placeholder="请输入姓名" placeholder-class="usrplace" /> <input class="value" maxlength="5" v-model="formData.inputLines[1]" placeholder="请输入姓名"
placeholder-class="usrplace" />
</view> </view>
<view class="item"> <view class="item">
<text class="lbl">姓名</text> <text class="lbl">姓名</text>
<input class="value" maxlength="5" v-model="formData.inputLines[2]" placeholder="请输入职位" placeholder-class="usrplace" /> <input class="value" maxlength="5" v-model="formData.inputLines[2]" placeholder="请输入职位"
placeholder-class="usrplace" />
</view> </view>
</view> </view>
@ -320,14 +323,7 @@
} }
}); });
} }
let f = ble.data.LinkedList.find((v) => { let f = these.getDevice();
if (v.macAddress == device.deviceMac) {
console.log("找到设备了", v);
these.formData.deviceId = v.deviceId;
return true;
}
return false;
});
if (!f) { if (!f) {
these.getDetail(); these.getDetail();
@ -568,12 +564,23 @@
}) })
}, },
getDevice: function() { getDevice: function() {
// console.log("LinkedList=", ble.data.LinkedList);
// console.log("formData=", these.formData);
let f = ble.data.LinkedList.find((v) => { let f = ble.data.LinkedList.find((v) => {
return v.macAddress == these.device.deviceMac; let flag = v.macAddress == these.device.deviceMac;
if (!flag && v.device) {
flag = v.device.id == these.device.id;
}
if (flag) {
these.formData.deviceId = v.deviceId;
}
return flag;
}); });
// #ifdef WEB
f = {
deviceId: '123'
}
// #endif
return f; return f;
}, },
bleValueNotify: function(receive, device, path, recArr) { bleValueNotify: function(receive, device, path, recArr) {
@ -1184,7 +1191,9 @@ debugger;
} }
this.formData.textLines=[this.formData.inputLines[0],this.formData.inputLines[1],this.formData.inputLines[2]]; this.formData.textLines = [this.formData.inputLines[0], this.formData.inputLines[1], this.formData
.inputLines[2]
];
showLoading(these, { showLoading(these, {
text: "发送中..." text: "发送中..."
@ -1234,7 +1243,10 @@ debugger;
.toString(16).padStart(2, '0')); .toString(16).padStart(2, '0'));
console.log(`发送数据块 ${chunkIndex + 1}/${numChunks}:`, hexArray console.log(`发送数据块 ${chunkIndex + 1}/${numChunks}:`, hexArray
.join(' ')); .join(' '));
updateLoading(these,{text:'正在发送'+((index-1)*14+chunkIndex + 1)+'/42'}) updateLoading(these, {
text: '正在发送' + ((index - 1) * 14 + chunkIndex +
1) + '/42'
})
ble.sendData(f.deviceId, chunk, f.writeServiceId, f ble.sendData(f.deviceId, chunk, f.writeServiceId, f
.wirteCharactId, 100).then(() => { .wirteCharactId, 100).then(() => {
chunkIndex++; chunkIndex++;
@ -1344,7 +1356,9 @@ debugger;
res = res.data; res = res.data;
let personnelInfo = res.personnelInfo; let personnelInfo = res.personnelInfo;
if (personnelInfo) { if (personnelInfo) {
these.formData.inputLines=[personnelInfo.position,personnelInfo.name,personnelInfo.unitName]; these.formData.inputLines = [personnelInfo.position, personnelInfo.name, personnelInfo
.unitName
];
} }
} }
}); });

View File

@ -58,7 +58,7 @@
</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.name.indexOf(search)>-1"> v-show="item.name.toLowerCase().indexOf(search.toLowerCase())>-1">
<view class="before" v-if="item.isTarget"></view> <view class="before" v-if="item.isTarget"></view>
<view class="leftImg "> <view class="leftImg ">
<image src="/static/images/BLEAdd/bluetooth.png" class="titleIco" mode="heightFix"> <image src="/static/images/BLEAdd/bluetooth.png" class="titleIco" mode="heightFix">
@ -131,7 +131,7 @@
var ble = null; var ble = null;
var these = null; var these = null;
var eventChannel = null; var eventChannel = null;
var sortTime=null;
export default { export default {
data() { data() {
return { return {
@ -362,15 +362,18 @@
device.isTarget = true; device.isTarget = true;
} }
if (device.name) { if (device.name) {
device.name = device.name.replace(/^JQZM-/i, '').replace(/^HBY102J-/i, ''); device.name = device.name.replace(/^HBY102J-/i, '');
} }
these.EquipMents.push(device); these.EquipMents.push(device);
} }
} }
clearTimeout(sortTime);
sortTime=setTimeout(()=>{
these.EquipMents.sort((a, b) => b.RSSI - a.RSSI);
},500);
these.EquipMents.sort((a, b) => b.RSSI - a.RSSI); //信号好的排前面,一般信号好的是目标设备
}, pagePath); }, pagePath);
@ -632,9 +635,9 @@
} }
hideLoading(these); hideLoading(these);
these.device.bleId=deviceId; these.device.bleId=deviceId;
eventChannel.emit('BindOver', these.device);
ble.updateCache(); ble.updateCache();
eventChannel.emit('BindOver', these.device);
uni.navigateBack(); uni.navigateBack();
} }
@ -642,7 +645,8 @@
if (f && f.macAddress) { if (f && f.macAddress) {
if (!these.device || !these.device.deviceMac) { //走服务端验证 if (!these.device || !these.device.deviceMac) { //走服务端验证
console.error("走服务端验证") console.error("理论上永远不会走这里,走服务端验证");
console.error("我TM太相信理论了");
request({ request({
url: '/app/device/getDeviceInfoByDeviceMac', url: '/app/device/getDeviceInfoByDeviceMac',
method: 'GET', method: 'GET',
@ -650,8 +654,6 @@
deviceMac: f.macAddress deviceMac: f.macAddress
} }
}).then(res => { }).then(res => {
if (res && res.code == 200) { if (res && res.code == 200) {
let data = res.data; let data = res.data;
@ -701,17 +703,7 @@
clearInterval(this.Status.intval) clearInterval(this.Status.intval)
this.Status.intval = null; this.Status.intval = null;
this.Status.time = null; this.Status.time = null;
f = ble.data.LinkedList.find(v => { deviceInvalid();
if (v.deviceId == deviceId) {
v.device = these.device;
return true;
}
return false;
});
if (!(f && f.macAddress)) {
deviceInvalid()
return;
}
return; return;
} }

View File

@ -164,7 +164,20 @@ class BleHelper {
//更新缓存 //更新缓存
updateCache() { updateCache() {
uni.setStorageSync(this.StorageKey, this.data.LinkedList); let task =async () => {
await uni.setStorage({
key: this.StorageKey,
data: this.data.LinkedList,
success() {
},
fail(ex) {
console.error("更新蓝牙缓存失败");
}
});
}
task();
} }
//连接所有已连接过的设备 //连接所有已连接过的设备
@ -1711,9 +1724,11 @@ class BleHelper {
if (fIndex > -1) { if (fIndex > -1) {
this.data.LinkedList[fIndex].Linked = true; this.data.LinkedList[fIndex].Linked = true;
this.data.LinkedList[fIndex].linkId =linkId; this.data.LinkedList[fIndex].linkId =
linkId;
this.data.LinkedList[fIndex].name = cr.name; this.data.LinkedList[fIndex].name = cr.name;
this.data.LinkedList[fIndex].advertisData =cr.advertisData; this.data.LinkedList[fIndex].advertisData =
cr.advertisData;
} else { } else {
this.data.LinkedList.push(cr); this.data.LinkedList.push(cr);
} }