diff --git a/index/index.js b/index/index.js index e813443..09988d3 100644 --- a/index/index.js +++ b/index/index.js @@ -82,7 +82,7 @@ Page({ // 连接指定设备 // 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:5B:41"){ + if(device.deviceId=="03:02:02:07:62:3E"){ // if(device.deviceId=="03:02:02:07:5E:BE"){ this.connectToDevice(device.deviceId); } @@ -311,12 +311,12 @@ Page({ console.log("接口需要的睡眠数据:",result); // 从缓存中获取睡眠日期 - 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) + // 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); // 调用接口传睡眠后,清空数据 @@ -399,7 +399,7 @@ Page({ // const HRPacket = DataPacket.generateReadHRDataPacket(); // SendCommandUtil.sendPackage(this.data.deviceId,HRPacket); - this.sendHealthCommand(0x66) + this.sendHealthCommand(0x53) }, @@ -675,6 +675,10 @@ Page({ } return parseInt(Y); - }, + }, + testFoun(){ + let state = CommonUtil.isNextDay("20250131","20250201"); + console.log("state",state) + }, }); \ No newline at end of file diff --git a/index/index.wxml b/index/index.wxml index a494290..58a4e28 100644 --- a/index/index.wxml +++ b/index/index.wxml @@ -8,6 +8,8 @@ + + diff --git a/project.config.json b/project.config.json index b5c94f9..b2492cb 100644 --- a/project.config.json +++ b/project.config.json @@ -43,5 +43,5 @@ "ignore": [], "include": [] }, - "appid": "wxb761a6f5c6200ed8" + "appid": "wx700a26638f1850fe" } \ No newline at end of file diff --git a/project.private.config.json b/project.private.config.json index b65990f..ad9a8af 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -3,5 +3,6 @@ "projectname": "2203_bluetooth", "setting": { "compileHotReLoad": true - } + }, + "libVersion": "3.6.4" } \ No newline at end of file diff --git a/utils/CommonUtil.js b/utils/CommonUtil.js index 911234f..a049ad4 100644 --- a/utils/CommonUtil.js +++ b/utils/CommonUtil.js @@ -371,30 +371,39 @@ const CommonUtil = { }); } } + } else { + // 还要考虑隔天的情况,如果隔天有数据缺失的也需要补齐 + let currentDate = data[i].yyyyMMdd; + let nextDate = data[i + 1].yyyyMMdd; + + // if(CommonUtil.isNextDay(currentDate,nextDate) && + // currentMinute > 1200 && nextDate > 480 ){ + // console.log(currentDate,currentMinute); + // console.log(nextDate,nextMinute); + // console.log("相减的差值:",nextMinute - currentMinute); + // console.log("是否跨天:",CommonUtil.isNextDay(currentDate,nextDate)); + // if(currentMinute < 1439){ + // for (let j = currentMinute + 1; j < 1440; j++) { + // result.push({ + // minute: j, + // status: 3, + // yyyyMMdd: data[i].yyyyMMdd + // }); + // } + // } + // if(0 < nextMinute){ + // for (let j = 0; j < nextMinute; j++) { + // result.push({ + // minute: j, + // status: 3, + // yyyyMMdd: data[i + 1].yyyyMMdd + // }); + // } + // } + + // } } - - // 表示隔天了 - if(nextMinute - currentMinute < 1){ - let currentDate = parseInt(data[i].yyyyMMdd); - let nextDate = parseInt(data[i + 1].yyyyMMdd); - if((nextDate - currentDate) == 1){ - for (let j = currentMinute + 1; j <= 1440; j++) { - result.push({ - minute: j, - status: 3, - yyyyMMdd: data[i].yyyyMMdd - }); - } - - for (let j = 0; j < nextMinute; j++) { - result.push({ - minute: j, - status: 3, - yyyyMMdd: data[i + 1].yyyyMMdd - }); - } - } - } + } } @@ -434,7 +443,30 @@ const CommonUtil = { // 只保留日期大于目标日期的项 return itemDate > target; }); - } + }, + + /** + * 是否是下一天 + * @param {} date1 + * @param {*} date2 + */ + isNextDay(date1, date2) { + // 将日期格式化为 yyyy-MM-dd 形式 + const d1 = new Date(date1.toString().slice(0, 4), date1.toString().slice(4, 6) - 1, date1.toString().slice(6, 8)); + const d2 = new Date(date2.toString().slice(0, 4), date2.toString().slice(4, 6) - 1, date2.toString().slice(6, 8)); + + // 将时间部分清零 + d1.setHours(0, 0, 0, 0); + d2.setHours(0, 0, 0, 0); + + // 计算日期差值(单位:毫秒) + const diffTime = d2 - d1; + const oneDayInMillis = 24 * 60 * 60 * 1000; // 一天的毫秒数 + + // 判断差值是否为一天 + return diffTime === oneDayInMillis; + }, + } diff --git a/utils/ParseDataPacket.js b/utils/ParseDataPacket.js index b70dc08..530d1be 100644 --- a/utils/ParseDataPacket.js +++ b/utils/ParseDataPacket.js @@ -381,7 +381,6 @@ const parseDataPacket = { result.push({ minute: currentMinute, // 分钟递增 status: this.mapSleepStatus(status), // 映射睡眠状态 - // yyyyMMdd: `${parseInt(year) + 2000}${month}${(parseInt(day) + 1).toString().padStart(2, '0')}`, // 格式化为yyyyMMdd yyyyMMdd: date });