|
|
@@ -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; |
|
|
|
} |
|
|
|
|