| @@ -306,13 +306,12 @@ Page({ | |||
| // console.log(ab2hex(bleData.completeData, ' ')) | |||
| // 以体脂秤数据解析为例 | |||
| let weight, adc; | |||
| switch (payload[0]) { | |||
| /* | |||
| * 例如: A7 00 0E 05 01 00 01 F4 10 19 7A---------50.0kg | |||
| * 其中 01 00 01 F4 10 为 payload | |||
| * 具体指令请根据协议解析 | |||
| */ | |||
| switch (payload[0]) { // payload[0] 指示当前指令的类型,根据类型区分 | |||
| /** | |||
| * 例如: A7 00 0E 05 01 00 01 F4 10 19 7A---------50.0kg | |||
| * 其中 01 00 01 F4 10 为 payload | |||
| * 具体指令请根据协议解析 | |||
| */ | |||
| case 0x01: | |||
| case 0x02: | |||
| let weightValue = (payload[1] << 16) | (payload[2] << 8) | payload[3] | |||
| @@ -322,26 +321,26 @@ Page({ | |||
| // console.log("小数点:" + decPoint) | |||
| // console.log("单位:" + unit) | |||
| if (unit == 1) { // 单位为斤 | |||
| weight = weightValue / 2 | |||
| weightValue = weightValue / 2 | |||
| } else { | |||
| // ... 其他单位 | |||
| } | |||
| weight = weightValue / (decPoint * 10) // 除去小数点位数 | |||
| this.weight = weightValue / (decPoint * 10) // 除去小数点位数 | |||
| break; | |||
| // ... | |||
| /* | |||
| // ... 其他指令请根据协议解析 | |||
| /** | |||
| * 例如: A7 00 0E 03 07 02 30 4A 7A---------阻抗测量成功,阻抗 560Ω | |||
| * 其中 07 02 30 为 payload | |||
| * 具体指令请根据协议解析 | |||
| */ | |||
| case 0x07: | |||
| adc = (payload[1] << 8) | payload[2] | |||
| this.adc = (payload[1] << 8) | payload[2] | |||
| break; | |||
| case 0x0A: | |||
| //测量完成 | |||
| let bodyData = plugin.getBodyData(1, 20, 170, weight, adc) // 体脂秤数据解析 | |||
| //测量完成 | |||
| let bodyData = plugin.getBodyData(1, 20, 170, this.weight, this.adc) // 体脂秤数据解析 (男,20岁,身高170,体重,阻抗) | |||
| console.log("解析后的体脂数据: ", bodyData) | |||
| console.log(util.getWeightDisplay(170, weight)) | |||
| console.log(util.getWeightDisplay(170, this.weight)) | |||
| break; | |||
| } | |||