|
|
@ -18,6 +18,7 @@ Page({
|
|
|
|
sleepDataBuffer: new DynamicArrayBuffer(), // 创建缓存对象
|
|
|
|
sleepDataBuffer: new DynamicArrayBuffer(), // 创建缓存对象
|
|
|
|
isDataComplete: false, // 判断数据是否上传完毕
|
|
|
|
isDataComplete: false, // 判断数据是否上传完毕
|
|
|
|
sleepList:[],
|
|
|
|
sleepList:[],
|
|
|
|
|
|
|
|
sleepCount:0,//获取睡眠的次数
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 页面加载时触发的函数,用于初始化蓝牙适配器
|
|
|
|
// 页面加载时触发的函数,用于初始化蓝牙适配器
|
|
|
@ -81,8 +82,8 @@ Page({
|
|
|
|
// 连接指定设备
|
|
|
|
// 连接指定设备
|
|
|
|
// if(device.deviceId=="03:02:02:07:65:98"){
|
|
|
|
// if(device.deviceId=="03:02:02:07:65:98"){
|
|
|
|
// if(device.deviceId=="03:02:02:07:5C:B7"){
|
|
|
|
// if(device.deviceId=="03:02:02:07:5C:B7"){
|
|
|
|
// if(device.deviceId=="03:02:02:07:65:98"){
|
|
|
|
if(device.deviceId=="03:02:02:07:62:A3"){
|
|
|
|
if(device.deviceId=="03:02:02:07:5E:BE"){
|
|
|
|
// if(device.deviceId=="03:02:02:07:5E:BE"){
|
|
|
|
this.connectToDevice(device.deviceId);
|
|
|
|
this.connectToDevice(device.deviceId);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
@ -309,12 +310,25 @@ Page({
|
|
|
|
let result = CommonUtil.sortSleep(arr);
|
|
|
|
let result = CommonUtil.sortSleep(arr);
|
|
|
|
console.log("接口需要的睡眠数据:",result);
|
|
|
|
console.log("接口需要的睡眠数据:",result);
|
|
|
|
|
|
|
|
|
|
|
|
// // 更新缓存
|
|
|
|
// 从缓存中获取睡眠日期
|
|
|
|
// HealthDataCache.updateSleepData(list[0].date);
|
|
|
|
let field = CommonUtil.commandToField(0x53);// 根据指令获取字段
|
|
|
|
|
|
|
|
// console.log("field>>>:",field);
|
|
|
|
|
|
|
|
let lastDate = HealthDataCache.getLastTimeField(field);
|
|
|
|
|
|
|
|
console.log("lastDate>>>:",lastDate);
|
|
|
|
|
|
|
|
let data = CommonUtil.removeBeforeDate(result,lastDate);
|
|
|
|
|
|
|
|
console.log("data:",data)
|
|
|
|
|
|
|
|
// 更新缓存
|
|
|
|
|
|
|
|
HealthDataCache.updateSleepData(result[result.length-1].date);
|
|
|
|
// 调用接口传睡眠后,清空数据
|
|
|
|
// 调用接口传睡眠后,清空数据
|
|
|
|
this.setData({
|
|
|
|
this.setData({
|
|
|
|
sleepList: []
|
|
|
|
sleepList: []
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 清空累加睡眠次数
|
|
|
|
|
|
|
|
this.setData({
|
|
|
|
|
|
|
|
sleepCount : 0
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
let sleepList = ParseDataPacket.parseSleepList(dataView,0);
|
|
|
|
let sleepList = ParseDataPacket.parseSleepList(dataView,0);
|
|
|
@ -327,12 +341,26 @@ Page({
|
|
|
|
let currentSleepList = this.data.sleepList || [];
|
|
|
|
let currentSleepList = this.data.sleepList || [];
|
|
|
|
|
|
|
|
|
|
|
|
// 将 sleepList 放在前面,currentSleepList 放在后面,实现新的数据插入在前
|
|
|
|
// 将 sleepList 放在前面,currentSleepList 放在后面,实现新的数据插入在前
|
|
|
|
let updatedSleepList = sleepList.concat(currentSleepList);;
|
|
|
|
let updatedSleepList = sleepList.concat(currentSleepList);
|
|
|
|
|
|
|
|
|
|
|
|
// 更新 data 中的 sleepList
|
|
|
|
// 更新 data 中的 sleepList
|
|
|
|
this.setData({
|
|
|
|
this.setData({
|
|
|
|
sleepList: updatedSleepList
|
|
|
|
sleepList: updatedSleepList
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 累加睡眠获取次数
|
|
|
|
|
|
|
|
this.setData({
|
|
|
|
|
|
|
|
sleepCount : this.data.sleepCount + 1
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
if(this.data.sleepCount % 50 == 0){
|
|
|
|
|
|
|
|
// 如果大于等于50次都没有获取到睡眠结束符,则再次从上一次的位置获取睡眠数据;
|
|
|
|
|
|
|
|
const sleepPacket = DataPacket.generateReadSleepDataPacket();
|
|
|
|
|
|
|
|
console.log("继续获取睡眠数据:",sleepPacket)
|
|
|
|
|
|
|
|
console.log("sleepCount:",this.data.sleepCount)
|
|
|
|
|
|
|
|
SendCommandUtil.sendPackage(this.data.deviceId,sleepPacket);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
default:
|
|
|
@ -443,7 +471,7 @@ Page({
|
|
|
|
getHealthData(){
|
|
|
|
getHealthData(){
|
|
|
|
|
|
|
|
|
|
|
|
// 睡眠数据
|
|
|
|
// 睡眠数据
|
|
|
|
const sleepPacket = DataPacket.generateReadSleepDataPacket(0x53);
|
|
|
|
const sleepPacket = DataPacket.generateReadSleepDataPacket();
|
|
|
|
SendCommandUtil.sendPackage(this.data.deviceId,sleepPacket);
|
|
|
|
SendCommandUtil.sendPackage(this.data.deviceId,sleepPacket);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|