|
|
|
@ -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;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|