睡眠增加夸天的数据拆分处理

main
sjchen 5 months ago
parent cb1f0c82c1
commit 873b0b6d21

@ -81,6 +81,7 @@ Page({
// 连接指定设备
// if(device.deviceId=="03:02:02:07:65:98"){
if(device.deviceId=="03:02:02:07:5F:AF"){
// if(device.deviceId=="03:02:02:07:64:B4"){
this.connectToDevice(device.deviceId);
}
});
@ -167,7 +168,7 @@ Page({
wx.onBLECharacteristicValueChange((res) => {
const hexStr = this.uint8ArrayToHex(new Uint8Array(res.value))
// console.log("收到手表端发送的数据>>>>>>:",hexStr);
console.log("收到手表端发送的数据>>>>>>:",hexStr);
const dataView = new DataView(res.value);
// 获取第一个字节
let cmdType = dataView.getUint8(0);
@ -334,7 +335,7 @@ Page({
sendHealthCommand(){
// 指令依次是:心率,血氧、血压、体温、睡眠、步数
// 0x55,0x66,0x56,0x65,0x53,0x52
const commands = [0x55,0x66,0x56,0x65,0x53,0x52];
const commands = [0x53];
// 递归发送命令并加上 5 秒延迟
function sendNextCommand(index = 0) {
if (index >= commands.length) return; // 所有命令发送完毕,结束

@ -346,16 +346,54 @@ const parseDataPacket = {
// 获取当天00:00:00的时间戳
const midnight = this.dateFormat(year,month,day,0,0,0);
let startMinutesOfDay = Math.floor((time - midnight) / 60); // 计算从当天00:00:00开始到当前时间的分钟数
console.log("midnight:",midnight)
console.log("startMinutesOfDay:",startMinutesOfDay)
// 1天最后1分钟是1440
let maxLastminute = 1440;
let deff = maxLastminute - startMinutesOfDay;
// 用于存储转换后的结果
let result = [];
let currentMinute = startMinutesOfDay; // 起始分钟418分钟
if(deff < sleepData.length){
// 将sleepData拆分为两个数组
let firstPart = sleepData.slice(0, deff); // 截取前deff个数据
let secondPart = sleepData.slice(deff); // 从deff开始到数组结尾的数据
// 开始循环遍历 sleepData 数据
for (let i = 0; i < firstPart.length; i++) {
const status = firstPart[i];
// 处理每分钟的睡眠数据
result.push({
minute: currentMinute + 1, // 分钟递增
status: this.mapSleepStatus(status), // 映射睡眠状态
yyyyMMdd: `${parseInt(year) + 2000}${month}${day}`, // 格式化为yyyyMMdd
});
// 递增分钟数
currentMinute++;
}
currentMinute = 0;
// 开始循环遍历 sleepData 数据
for (let i = 0; i < secondPart.length; i++) {
const status = secondPart[i];
// 处理每分钟的睡眠数据
result.push({
minute: currentMinute + 1, // 分钟递增
status: this.mapSleepStatus(status), // 映射睡眠状态
yyyyMMdd: `${parseInt(year) + 2000}${month}${(parseInt(day) + 1).toString().padStart(2, '0')}`, // 格式化为yyyyMMdd
});
// 递增分钟数
currentMinute++;
}
return result;
} else {
// 开始循环遍历 sleepData 数据
for (let i = 0; i < sleepData.length; i++) {
const status = sleepData[i];
let m = currentMinute + 1
if(m > 660 && m < 1200){
break;
}
@ -372,7 +410,7 @@ const parseDataPacket = {
currentMinute++;
}
return result;
}
},
/**

Loading…
Cancel
Save