BoyFatBle

概述

项目体脂称蓝牙插件封装

注意:

Android编译需使用升级环境.

插件接口

initBle

初始化蓝牙4.0管理器

initBle(cllback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    state: 'poweredOn'       //字符串类型;蓝牙4.0设备连接状态,取值范围如下:
                             //poweredOn:设备开启状态 -- 可用状态
                             //poweredOff:设备关闭状态
                             //resetting:正在重置状态
                             //unPermission:设备未授权状态
                             //unknown:初始的时候是未知的
                             //unsupported:设备不支持的状态
}

示例代码

 var BoyFatBle = api.require('BoyFatBle');
     BoyFatBle.initBle(function(ret){
      if (ret.state == "poweredOn") {
        api.alert({ msg: "初始化成功" });
        }
     });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

scan

开始搜索蓝牙4.0设备,当扫描到相应设备后,会自动停止扫描,未扫描到设备若要停止、调用 stopScan 接口

scan({params}, callback(ret, err))

params

deviceName

  • 类型:字符串
  • 描述:(必传)需要扫描的设备名字

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    state: 'true'       //布尔类型;是否获取成功,true|false
    当state=true时返回:
    deviceName	           //字符串类型:设备名称
    rssi			       //数字类型:信号强度 
    scanRecord			   //十六进制字符串: 广播数据包
    uuid                   //字符串:扫描到的蓝牙设备的 UUID
}

示例代码

     var BoyFatBle = api.require('BoyFatBle');
        BoyFatBle.scan({
           deviceName:'YoHealth',
        }, function( ret ){
            if( ret.status ){
                 alert.alert({msg: '扫描成功'});
            }else{
            	 alert.alert({msg: '扫描失败'});
            }
        });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

isScanning

判断是否正在扫描

isScanning(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true   //布尔类型;是否在扫描,true|false
}

示例代码

var BoyFatBle = api.require('BoyFatBle');
BoyFatBle.isScanning(function(ret) {
    if (ret) {
        alert.alert({msg: '正在扫描'});
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopScan

停止搜索附近的蓝牙设备

stopScan()

示例代码

var BoyFatBle = api.require('BoyFatBle');
BoyFatBle.stopScan();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

initSDk

初始化SDK

initSDK({params}, callback(ret))

params

Height:

  • 类型:数字类型
  • 描述:身高单位cm

age:

  • 类型:数字类型
  • 描述:年龄

gender:

  • 类型:数字类型
  • 描述:0 女 1男

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
     state: true,       //布尔类型;是否成功,true|false
    
}

示例代码

var BoyFatBle = api.require('BoyFatBle');
BoyFatBle.initSDK({
    Height:160,	
    age:30,
    gender:0,//0女1男
}, function(ret) {
alert.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统

可提供的1.0.0及更高版本

handleScanRecord

获取临时体重,获取锁定体重,获取impedance值

handleScanRecord({params}, callback(ret, err))

params

scanRecord:

  • 类型:十六进制字符串
  • 描述:广播数据包数据 注意:iOS无需此参数

type:

  • 类型:数字类型
  • 描述:取值为1 或者是2,分别代表TYPE_W62 =1 TYPE_59 =2

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
     status: true      //布尔类型;是否连接成功,true|false
     temporaryWeight   //数字类型:临时体重 单位kg
     LockWeight        //数字类型:锁定体重 单位kg
     impedance         //数字类型  impedance
     
     iOS返回参数如下:
     weight:60         //数字类型:正在测量中的体重 单位kg
     jsonString:''     //字符串类型:测量完成后的各项参数
     //各项参数:
LyFat :体脂肪率 %
LyMuscle :体肌肉率 %
LyMuscleMass :肌肉量 Kg
LyMoisture :体水份率 %
LyBmr :基础代谢率 Kcal
LyBone :骨骼含量 Kg
LyVisceralFat :内脏脂肪等级
LyMuscleControl :肌肉控制量Kg
LyFatFreeMass :去脂体重Kg
LyWeightControl :体重控制Kg
LyStandardWeight :理想体重Kg
LyObesityLevel :肥胖等级
LyBodyAge :身体年龄
LyProtein :蛋白质率 %
LySkeletalMuscle :骨骼肌量Kg
LyFatMass :脂肪量Kg
LyWeight :体重Kg
LyBMI :体质指数
     
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
     iOS返回参数如下:
     code:0         //数字类型;错误值
     msg:''         //字符串类型;错误信息
     
}

示例代码

var BoyFatBle = api.require('BoyFatBle');
BoyFatBle.handleScanRecord({
    scanRecord: '',//广播数据包
     type:1,//	TYPE_W62 =1  TYPE_59 =2
}, function( ret,err ){
if( ret){
alert.alert({msg: JSON.stringify(ret)});
 }else{
console.log(JSON.stringify(err));
}
 });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

invokeLoease

返回获取数据

invokeLoease({params}, callback(ret))

params

Weight:

  • 类型:数字类型
  • 描述:体重单位kg

Height:

  • 类型:数字类型
  • 描述:身高单位cm

age:

  • 类型:数字类型
  • 描述:年龄

gender:

  • 类型:数字类型
  • 描述:0 女 1男

impedance:

  • 类型:数字类型
  • 描述:impedance

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
     state: true,       //布尔类型;是否成功获取数据,true|false
     当state=true时返回如下:	
     peripheralUUID:''   //字符串类型;断开外围设备的 UUID
     LockedWeigh         //数字类型  体重重量
     BodyFat; 			 //数字类型 体脂肪率 %
     BodyFatMass; 		 //数字类型 脂肪量 Kg
     Muscle;  			 //数字类型 体肌肉率 %
     MuscleMass;  		 //数字类型 肌肉量 Kg
     SkeletalMuscle; 	 //数字类型 骨骼肌 Kg
     BodyWater; 		 //数字类型 体水份率 %
     Protein;	 		 //数字类型 蛋白质率 %
     Bone;   			 //数字类型 骨骼含量 Kg
     BMR;				 //数字类型 基础代谢率 Kcal
     BMI;				 //数字类型 体质指数 
     StandardWeight; 	 //数字类型 理想体重 Kg
     WeightControl; 	 //字符串类型 体重控制 Kg
     FatFreeMass; 		 //数字类型 去脂体重 Kg
     MuscleControl; 	 //字符串类型 肌肉控制 Kg
     VisceralFat;        //数字类型 内脏脂肪等级
     BodyAge;  			 //数字类型 身体年龄
     ObesityLevel; 		 //数字类型 肥胖等级
    当state=false时返回如下:
     errMsg              //字符串类型 错误信息
}

示例代码

var BoyFatBle = api.require('BoyFatBle');
BoyFatBle.invokeLoease({
    Weight:60,
    Height:160,	
    age:30,
    gender:0,//0女1男
    impedance:55,
}, function(ret) {
api.alert( { msg: JSON.stringify(ret)});
});

可用性

Android系统

可提供的1.0.0及更高版本

sentCommandToWeightScaleUnit

修改称重单位

sentCommandToWeightScaleUnit({params}, callback(ret))

params

unit:

  • 类型:数字类型
  • 描述:称重单位
  • 取值范围:1表示kg;2表示lb;4表示st
  • 默认:1

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    
     jsonString:''     //字符串类型:测量的各项参数
     //各项参数:
LyFat :体脂肪率 %
LyMuscle :体肌肉率 %
LyMuscleMass :肌肉量 Kg
LyMoisture :体水份率 %
LyBmr :基础代谢率 Kcal
LyBone :骨骼含量 Kg
LyVisceralFat :内脏脂肪等级
LyMuscleControl :肌肉控制量Kg
LyFatFreeMass :去脂体重Kg
LyWeightControl :体重控制Kg
LyStandardWeight :理想体重Kg
LyObesityLevel :肥胖等级
LyBodyAge :身体年龄
LyProtein :蛋白质率 %
LySkeletalMuscle :骨骼肌量Kg
LyFatMass :脂肪量Kg
LyWeight :体重Kg
LyBMI :体质指数
    
}

示例代码

var BoyFatBle = api.require('BoyFatBle');
BoyFatBle.sentCommandToWeightScaleUnit({
   unit:1,
}, function(ret) {
api.alert( {msg: JSON.stringify( ret )});
});

可用性

iOS系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/04/24