更新记录

1.0.0(2025-02-25)

  • 初始化项目

平台兼容性

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

bsf-cavo-ble

此项目是一款基于cavo-ble-sdk开发的适用于Uniapp/UniappX的智能手环蓝牙通信UTS插件。

平台支持

  • Android
  • iOS
  • Uniapp/Uniappx

使用说明

引入插件

import * as CavoManager from "@uni_modules/bsf-cavo-ble";

API 接口

checkPermission (检查蓝牙权限)

CavoManager.checkPermission()

requestPermission (请求蓝牙权限)

CavoManager.requestPermission({
  onPermit: () => {
    // 授权成功回调
  },
  onRefuse: () => {
    // 授权失败回调
  }
});

startScan (开始扫描设备)

CavoManager.startScan({
  onWristbandDeviceFind: (device, rssi) => {
    // 发现设备回调
  },
  onLeScanEnable: (enable) => {
    // 蓝牙状态回调
  },
  onWristbandLoginStateChange: (connected) => {
    // 设备登录状态回调
  },
  onStartLeScan: () => {
    // 开始扫描回调
  },
  onCancelLeScan: () => {
    // 取消扫描回调
  },
  onStopLeScan: () => {
    // 停止扫描回调
  }
});

stopScan (停止扫描)

CavoManager.stopScan()

connect (连接设备)

CavoManager.connect(device.address)

destroySDK (注销SDK)

CavoManager.destroySDK()

initSDK (初始化SDK)

CavoManager.initSDK({
  onConnectionStateChange: (res) => {
    // 连接状态变化回调
  },
  onLoginStateChange: (res) => {
    // 登录状态变化回调
  },
  onError: (res) => {
    // 错误回调
  },
  onDeviceInfo: (res) => {
    // 设备信息回调
  },
  onStepDataReceiveIndication: (res) => {
    // 步数数据接收回调
  },
  onSleepDataReceiveIndication: (res) => {
    // 睡眠数据接收回调
  },
  onSyncDataBegin: () => {
    // 同步开始回调
  },
  onSyncDataEnd: () => {
    // 同步结束回调
  }
});

login (登录设备)

CavoManager.login("1234567890")

getDeviceInfo (获取设备信息)

CavoManager.getDeviceInfo()

getDeviceFunction (获取设备功能)

CavoManager.getDeviceFunction()

syncTime (同步时间)

CavoManager.syncTime()

syncData (同步数据)

CavoManager.syncData()  // 返回布尔值表示是否成功

setLanguage (设置语言)

CavoManager.setLanguage(languageCode)

setStepData (设置步数数据)

CavoManager.setStepData(steps, distance, calories)

setSleepData (设置睡眠数据)

CavoManager.setSleepData(minutes, mode, type)

getStepData (获取步数数据)

CavoManager.getStepData({
  year: 2024,
  month: 12,
  day: 21,
  callback: (res) => {
    // 步数数据回调
    // res 数据结构:
    // {
    //   stepCount: number,    // 步数
    //   day: number,         // 日期
    //   userID: string,      // 用户ID
    //   mode: number,        // 模式
    //   activeTime: number,  // 活动时间
    //   id: number,          // ID
    //   offset: number,      // 偏移量
    //   year: number,        // 年份
    //   date: string,        // 日期字符串
    //   month: number,       // 月份
    //   distance: number,    // 距离
    //   calory: number      // 卡路里
    // }
  }
});

getSleepData (获取睡眠数据)

CavoManager.getSleepData({
  year: 2024,
  month: 12,
  day: 21,
  callback: (res) => {
    // 睡眠数据回调
    // res 数据结构:
    // {
    //   userID: string,     // 用户ID
    //   day: number,        // 日期
    //   minutes: number,    // 分钟数
    //   id: number,         // ID
    //   year: number,       // 年份
    //   month: number,      // 月份
    //   mode: number,       // 模式
    //   date: string        // 日期字符串
    // }
  }
});

状态码说明

登录状态码

  • 91: 登录中
  • 2: 绑定中
  • 3: 登录成功
  • 4: 同步数据
  • 5: 同步历史数据

错误状态码

  • 2: 绑定错误
  • 3: 发送命令错误
  • 101: 无登录响应

隐私、权限声明

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

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30" /> <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" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:ignore="ScopedStorage" />

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

插件不采集任何数据

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

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