100J增加蓝牙封装,在api层直接优先蓝牙拦截逻辑-待验证
This commit is contained in:
@ -229,8 +229,12 @@
|
||||
deviceStrobeFrequency,
|
||||
deviceLightAdjustment,
|
||||
deviceUpdateVolume,
|
||||
deviceVoiceBroadcast
|
||||
deviceVoiceBroadcast,
|
||||
updateBleStatus,
|
||||
parseBleData
|
||||
} from '@/api/100J/HBY100-J.js'
|
||||
import BleHelper from '@/utils/BleHelper.js';
|
||||
var bleTool = BleHelper.getBleTool();
|
||||
var these = null;
|
||||
import Common from '@/utils/Common.js'
|
||||
const pagePath = "/pages/100/HBY100";
|
||||
@ -591,11 +595,37 @@
|
||||
|
||||
});
|
||||
this.createThrottledFunctions();
|
||||
|
||||
// 注册蓝牙相关事件
|
||||
bleTool.addReceiveCallback(this.bleValueNotify, "HBY100J");
|
||||
bleTool.addDisposeCallback(this.bleStateBreak, "HBY100J");
|
||||
bleTool.addRecoveryCallback(this.bleStateRecovry, "HBY100J");
|
||||
bleTool.addStateBreakCallback(this.bleStateBreak, "HBY100J");
|
||||
bleTool.addStateRecoveryCallback(this.bleStateRecovry, "HBY100J");
|
||||
|
||||
// 尝试连接蓝牙
|
||||
if (data.data.deviceMac) {
|
||||
// 假设 deviceMac 是蓝牙的 deviceId
|
||||
bleTool.LinkBlue(data.data.deviceMac).then(() => {
|
||||
console.log("100J 蓝牙连接成功");
|
||||
this.bleStateRecovry({deviceId: data.data.deviceMac});
|
||||
}).catch(err => {
|
||||
console.log("100J 蓝牙连接失败,将使用4G", err);
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
onHide: function() {
|
||||
this.Status.pageHide = true;
|
||||
},
|
||||
onUnload() {
|
||||
// 移除蓝牙事件监听
|
||||
bleTool.removeReceiveCallback("HBY100J");
|
||||
bleTool.removeDisposeCallback("HBY100J");
|
||||
bleTool.removeRecoveryCallback("HBY100J");
|
||||
bleTool.removeStateBreakCallback("HBY100J");
|
||||
bleTool.removeStateRecoveryCallback("HBY100J");
|
||||
},
|
||||
onShow() {
|
||||
this.Status.pageHide = false;
|
||||
},
|
||||
@ -949,13 +979,26 @@
|
||||
|
||||
deviceRecovry(res) {},
|
||||
deviceDispose(res) {},
|
||||
bleStateBreak() {},
|
||||
bleStateRecovry() {},
|
||||
bleStateBreak() {
|
||||
updateBleStatus(false, '', this.deviceInfo.deviceId);
|
||||
},
|
||||
bleStateRecovry(res) {
|
||||
let bleDeviceId = res ? res.deviceId : '';
|
||||
updateBleStatus(true, bleDeviceId, this.deviceInfo.deviceId);
|
||||
},
|
||||
previewImg(img) {},
|
||||
bleValueNotify: function(receive, device, path, recArr) { //订阅消息
|
||||
if (receive.deviceId !== this.formData.deviceId) {
|
||||
return;
|
||||
// 注意:这里 receive.deviceId 是蓝牙的 MAC 地址,而 this.formData.deviceId 是 4G 的 ID
|
||||
// 所以这里需要修改判断逻辑,或者不判断直接解析
|
||||
|
||||
// 尝试解析蓝牙上报的数据
|
||||
if (receive.bytes) {
|
||||
const parsedData = parseBleData(receive.bytes);
|
||||
if (parsedData && parsedData.batteryPercentage !== undefined) {
|
||||
this.deviceInfo.batteryPercentage = parsedData.batteryPercentage;
|
||||
}
|
||||
}
|
||||
|
||||
if (this.deviceInfo.batteryPercentage <= 20) {
|
||||
this.showMsg("设备电量低");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user