更新记录

1.0.0(2025-02-26)

  • 初始化项目

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
Android:4.4,iOS:9,HarmonyNext:不支持 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

bsf-ailink-ble

此项目是基于AILink蓝牙BLE-SDK专为uniapp/uniappx的App项目定制的UTS插件。

注:此插件目前仅实现了SDK的基本方法,以及四电极体脂秤协议,如需其他设备协议,请联系作者定制。

平台

  • Android
  • iOS
  • Uniapp / UniappX

使用说明

引入插件

import * as AlinkManager from "@uni_modules/bsf-ailink-ble";

API接口

getSdkVersion (获取SDK版本)

const version = AlinkManager.getSdkVersion();

requestPermission (请求蓝牙权限)

AlinkManager.requestPermission();

startScanBodyFatScale (开始扫描体脂秤)

AlinkManager.startScanBodyFatScale({
    onDeviceScaned: (device) => {
        // device: 扫描到的设备信息
        // iOS返回单个设备对象,Android返回设备数组
    },
    onStateUpdate: (state) => {
        // state: 蓝牙状态码
        // 0: 蓝牙不可用
        // 1: 蓝牙可用
        // 2: 停止扫描
        // 3: 正在扫描
        // 4: 将要连接
        // 5: 已经连接
        // 6: 连接出错
        // 7: 外设特征回调
        // 8: 断开连接
        // 9: 通过验证
        // 10: 未通过验证
        // 255: 没有蓝牙权限
    }
});

stopScanBodyFatScale (停止扫描)

AlinkManager.stopScanBodyFatScale();

connectBodyFatScale (连接体脂秤)

AlinkManager.connectBodyFatScale({
    address: "设备MAC地址",
    cid: "设备CID",
    vid: "设备vendorID",
    pid: "设备productID",
    onWeightCallback: (state, model) => {
        // 体重数据回调
    },
    onRequestUser: (state) => {
        // 用户信息请求回调
    },
    onAdcCallback: (state, adc) => {
        // ADC数据回调
    },
    onNotifyOtherData: (res) => {
        // 其他数据通知
    },
    onNotifyA6Data: (res) => {
        // A6数据通知
    },
    onNotifyA7Data: (res) => {
        // A7数据通知
    }
});

setUnit (设置单位)

AlinkManager.setUnit(unitType); // unitType: 0 为默认单位

sendData (发送数据)

AlinkManager.sendData(data); // data: 数据数组

隐私、权限声明

1. 本插件需要申请的系统权限列表:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <!--android12需要增加maxSdkVersion--> <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> <!--android12还需要增加如下权限,也需求动态申请--> <uses-permission android:name="android.permission.BLUETOOTH_SCAN" android:usesPermissionFlags="neverForLocation" tools:targetApi="s"/> <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" /> <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" /> <!--android10,11需要后台扫描的,需要添加如下权限--> <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> <!-- 声明前台服务连接设备的权限(非必须) --> <uses-permission android:name="android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE" /> <uses-feature android:name="android.hardware.bluetooth_le" android:required="false" /> <uses-feature android:name="android.hardware.bluetooth" android:required="false" />

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问