更新记录

1.0.1(2026-07-03)

文档优化

1.0.0(2026-07-03)

首次提交


平台兼容性

uni-app(4.81)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android Android插件版本 iOS iOS插件版本 鸿蒙
- - - - - - 8.0 1.0.0 12 1.0.0 -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

uni-app x(4.82)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - - -

hl-hband-sdk

HBand / Veepoo 蓝牙手环 SDK 的 UniApp UTS 原生插件。业务侧只需 import * as HBand from '@/uni_modules/hl-hband-sdk',无需直接接触 Android AAR / iOS Framework。

支持平台:App Android、App iOS(需自定义基座或云打包)。H5 / 小程序 / HarmonyOS 不支持。


目录


使用前准备

1. 安装插件

uni_modules/hl-hband-sdk 放入项目,HBuilderX 识别为 UTS 插件。

2. 制作自定义调试基座

插件含原生 AAR / Framework,标准基座无法使用。菜单:运行 → 运行到手机或模拟器 → 制作自定义调试基座,编译成功后用自定义基座运行。

3. 系统权限

平台 权限
Android 蓝牙扫描/连接;Android 12 以下扫描 BLE 通常还需定位权限。AndroidManifest.xml 已声明
iOS 蓝牙、定位(部分设备扫描需要)。Info.plist 已声明用途说明

4. 导入方式(固定写法)

import * as HBand from '@/uni_modules/hl-hband-sdk'

不要导入 utssdk/app-android/index.uts 等平台文件。

5. iOS 特别注意

  • 必须先 startScan() 扫到设备,再 connectDevice(mac, name)(SDK 依赖扫描得到的 peripheral)。
  • 三方 Framework 已随插件携带;若遇旧版 pod install / UIKit 报错,清理 UTS/iOS 编译缓存后重编基座。

5 分钟上手

import * as HBand from '@/uni_modules/hl-hband-sdk'
import { onUnmounted } from 'vue'

// 1. 初始化
HBand.initSDK()

// 2. 可选:看插件日志
HBand.enableDebugLog((level, tag, msg) => {
  console.log(`[${level}] ${tag}: ${msg}`)
})

// 3. 扫描
HBand.startScan(
  (device) => console.log('发现设备', device.name, device.mac, device.rssi),
  () => console.log('扫描结束'),
  (code, msg) => console.error('扫描失败', code, msg)
)

// 4. 连接 + 校验密码(默认密码多为 0000)
HBand.connectDevice(mac, name, (event) => {
  console.log(event.status, event.message)
  if (event.status == 'connected' || event.status == 'notifyReady') {
    HBand.verifyPassword({ password: '0000', is24Hour: true }, (result) => {
      if (result.code == 0) {
        // 5. 校验成功后再读数据
        HBand.readBattery(console.log)
        HBand.readStep(console.log)
      }
    })
  }
})

// 6. 页面退出时释放
onUnmounted(() => {
  HBand.stopScan()
  HBand.destroySDK()
})

新手易错点

  1. 未做自定义基座 → 原生方法找不到。
  2. verifyPassword 就调业务指令 → 返回未连接或设备未就绪。
  3. 测量、OTA、表盘传输、历史同步等长流程并发调用 → 请串行排队。
  4. 每个回调先判断 result.code == 0 再读 result.data
  5. iOS 未先扫描就连接 → 连接失败。

标准调用流程

initSDK()
  → startScan() 发现设备
  → connectDevice(mac, name)
  → 收到 connected / notifyReady
  → verifyPassword({ password, is24Hour })
  → 收到 verified(或 verifyPassword 回调 code==0)
  → readBattery / startMeasure / syncData / 高级 API ...
  → 页面卸载:stopScan() + destroySDK()

通用约定

HBandResult(多数指令的回调结构)

字段 类型 说明
code number 0 成功;负数为插件错误;正数常为 SDK 响应码
message string 人类可读描述
data object | null 成功时的负载

HBandConnectionEvent(连接回调)

status 说明
connecting 正在连接
connected BLE 已连接
notifyReady Android Notify 通道就绪
verified 密码校验成功
disconnected 断开
timeout 连接超时
confirmTimeout 设备端确认超时
bluetoothOff 蓝牙关闭
firmwareUpdate iOS:检测到可升级固件
error 其他错误

HBandDevice(扫描结果)

字段 说明
name 广播名
mac Android=MAC;iOS=SDK 地址
rssi 信号强度
manufacturerId 厂商字段,可能为空
rawData 原始广播信息

HBandMeasureEvent(实时测量 / 微体检等)

字段 说明
type 测量类型
stage start / progress / data / success / fail / stop / complete
value 主测量值
progress 进度 0–100
state SDK 状态字符串
data 扩展字段

完整 API 列表

以下与 utssdk/interface.uts 一一对应。带 callback 的均为异步;无 callback 的为同步或 fire-and-forget。

一、初始化 / 扫描 / 连接(13 个)

API 参数 说明
initSDK() 初始化 SDK,可重复调用
enableDebugLog(callback) (level, tag, message) => void 接收插件日志
startScan(onDevice, onFinish, onError) 设备/结束/错误回调 开始 BLE 扫描;onFinishonError 可传 null
stopScan() 停止扫描
setConnectionConfirm(options) { showConfirm, timeoutSeconds } 设备端连接确认弹窗与超时
connectDevice(mac, name, callback) MAC、名称、连接事件回调 连接设备
disconnectDevice(callback) null 断开连接
isDeviceConnected() 返回 boolean
getSDKInfo(callback) 结果回调 SDK 版本、平台、蓝牙/连接状态
getDeviceInfo(callback) 结果回调 设备名、能力快照、设置缓存
renameDevice(name, callback) 新名称 修改 BLE 广播名
verifyPassword(options, callback) { password, is24Hour } 校验密码并上报设备能力;密码空则按 0000
destroySDK() 停止扫描、断开、释放监听

二、基础数据读写(4 个)

API 参数 data 常见字段
readBattery(callback) batteryPercent、充电/低电状态
readStep(callback) step
syncTime(is24Hour, callback) 是否 24 小时制
syncPersonalInfo(info, callback) 见下表 同步结果

HBandPersonalInfo

字段 说明
sex male / female
height cm
weight kg
age Android 用年龄
birthYear iOS 用出生年
stepGoal 目标步数 0–60000
sleepGoal 睡眠目标(分钟)

三、语言 / 基础开关 / 通知(8 个)

API 说明
setLanguage(language, callback) zh / en / ja / ko / de / fr / es / pt / zhTw
readBaseFunction(type, callback) 读单项 + 完整 settings 快照
setBaseFunction(type, enabled, callback) 设置单项;Android 会尽量保留其他开关
readNotificationSetting(type, callback) 读通知开关
setNotificationSetting(type, enabled, callback) 设通知开关
sendNotification(message, callback) 仅 Android 推送来电/短信/社交通知内容;iOS 返回 -5203
sendTextMessage(text, callback) 文本传输到设备
syncData(options) 历史/健康数据同步,见下文

readBaseFunction / setBaseFunction 常用 type

metrictimeFormatautomaticHeartRateautomaticBloodPressurefindPhoneUistopwatchoxygenLowRemindwearDetectionautomaticHrvdisconnectRemindsosppgmusicControllongpressUnlockmessageScreenLightautomaticTemperatureautomaticBloodGlucosestressmet(Android 梅脱)、ecgAlwaysOpen(iOS)

setPhoneControlListener(Android):一次注册同时监听来电控制音乐键事件。

event 含义
rejectPhone / cliencePhone / appAnswerCall 手环挂断 / 静音 / 请求接听
nextMusic / previousMusic / playMusic / pauseMusic / pauseAndPlayMusic 手环音乐控制键
voiceUp / voiceDown 手环音量键
knockNotify / sos 敲击通知 / SOS 事件
listenerReady 监听注册成功

配合 sendNotification({ type: 'call', ... }) 推送来电;收到音乐 event 后由 App 联动系统媒体播放 API。

通知 typeallcallsmswechatqqsinafacebooktwitter***lineinstagramtelegrammessengerother 等(Android 另支持 zaloviber)。

sendNotification 参数{ type, title, content, contactName, phoneNumber }

syncData options

{
  dataType: 'all',      // 见平台差异表
  dayNumber: 0,         // 0=今天,1=昨天…
  : (progress, state) => {},
  onData: (dataType, data) => {},
  onFinish: (result) => {}
}
平台 dataType
Android all / allHealth / sleep / origin / basic / temperature / oxygen / hrv
iOS all / step / sleep / basic / oxygen / hrv / temperature

四、实时测量 / 拍照 / 查找(8 个)

API 说明
startMeasure(type, callback, options?) 启动测量;options.mode: 'public'(默认)或 'private'(血压/血糖私人模式)
stopMeasure(type, callback, options?) 停止测量
startCamera(onResult, onTakePhoto) 遥控拍照;onTakePhoto(action)action==2 表示设备触发拍照
stopCamera(callback?) 退出拍照模式
findDevice(callback?) 手机找手环
stopFindDevice(callback?) 停止查找
setFindPhoneListener(callback) 监听手环找手机 / 设备开关变化
exitFindPhone(callback?) App 通知手环退出找手机

startMeasure / stopMeasure 支持 type

heartRatebloodOxygenbloodPressurebreathfatiguetemperaturebloodGlucosestresshrvgsr

五、闹钟 / 联系人 / SOS(6 个)

API 说明
manageAlarm(options, callback) 闹钟 CRUD,见下
setAlarmChangeListener(callback) 设备端修改闹钟时上报
manageContacts(operation, contacts, moveFromId, moveToId, callback) 联系人 CRUD
readSosCallTimes(callback) 读 SOS 拨打次数
setSosCallTimes(times, callback) 设 SOS 次数
setContactSos(contactId, enabled, callback) 标记联系人为 SOS

manageAlarm options

字段 说明
alarmType legacy / scene / text
operation read / add / update / delete
alarm HBandAlarmItem,读操作时传 null

HBandAlarmItemid, hour, minute, enabled, repeatDays, singleDate, scene, content

manageContacts

operation contacts 说明
read null 读取列表,结果在 data.contacts
add [{ id, name, phoneNumber, isSos }] 添加单个
addBatch 数组 批量添加
delete [{ id, ... }] 删除
deleteAll null 清空
move 配合 moveFromIdmoveToId 排序

六、天气 / 世界时钟(4 个)

API 说明
readWeatherConfig(callback) 读天气开关、单位、CRC
setWeatherConfig(config, callback) { enabled, unit: 'celsius'|'fahrenheit', crc }
syncWeatherData(payload, callback) { crc, city, updatedAt, hourly[], daily[] }
manageWorldClock(operation, clocks, moveFromId, moveToId, callback) 世界时钟 CRUD;clock 项:{ id, cityName, timeZoneOffset }

七、运动模式(4 个)

API 说明
syncSportHistory(options) 同步运动历史;onProgress / onHead / onItem / onFinish
controlDeviceSport(action, sportType, callback) readState / start / stop / startMulti
controlAppSport(action, sportType, callback) start / pause / resume / stop / read
setSportControlListener(callback) 设备主动上报运动数据

八、表盘 / OTA / 杰理认证(6 个)

API 说明
readDialInfo(callback) 当前表盘、市场表盘列表等
setActiveDial(index, dialType, callback) 切换表盘;dialType: default / market / photo
transferDial(options) 表盘/AGPS 文件传输,见下
checkFirmwareUpdate(callback) 检查固件更新
startOtaUpgrade(options) OTA 升级
startJlDeviceAuth(callback) 杰理 JL 设备认证(OTA/表盘前置,Android 已实现)

transferDial options{ dialType, platform, filePath, screenIndex?, photoLayout?, ?, onFinish? }

dialType 扩展agps / g15_profile / g15_theme1 / g15_theme2 / g15_qrcode / market / server / photo / custom

startOtaUpgrade options{ platform, firmwarePath, ?, onFinish? }

platform:Android jl / nordic / nrf / zk;iOS remote / local

九、蓝牙通话 BT(5 个)

API 说明
registerBtCallListener(callback) BT 来电/连接状态事件
readBtInfo(callback) 读 BT 地址、连接状态
connectBt(callback) 连接 BT 音频
disconnectBt(callback) 断开 BT
setBtSwitch(enabled, options, callback) BT 开关;optionsnull

十、ECG 心电(6 个)

API 说明
startEcgMeasure(options, callback) { needCurve, multiLead } 开始 ECG
stopEcgMeasure(callback) 停止
readEcgHistory(date, dataType, callback) 历史;dateyyyy-MM-dd
setEcgReportListener(callback) 设备主动上报 ECG
readEcgChestMode(callback) 读胸口模式
setEcgChestMode(enabled, callback) 设胸口模式

十一、设备设置 / 校准 / 历史 / 微体检(20 个)

API 说明
readDeviceSetting(type, callback) 读设备设置
setDeviceSetting(type, config, callback) 写设备设置
readManualMeasureHistory(options, callback) 手动测量存储历史
readPrivateMeasureMode(type, callback) 私人测量模式
setPrivateMeasureMode(type, config, callback) 设置私人模式
cancelPrivateMeasureCalibration(type, callback) 取消校准;type: bloodPressure
readAutoMeasureConfig(callback) 自动测量时段/间隔(Android 为主)
setAutoMeasureConfig(config, callback) 设置自动测量配置
readHealthHistory(type, date, callback) 按日历史
startMicroExam(callback) 开始微体检
stopMicroExam(callback) 停止微体检
controlMusic(action, data, callback) 音乐控制,见下
queryImageSize(callback) 查询设备图文尺寸
transferImage(options) 推送图片到设备
resetDevice(mode, callback) 恢复出厂 / 清除数据;mode: clear(默认)| reset
readApneaRemind(callback) 读取呼吸暂停(血氧)提醒配置
setApneaRemind(config, callback) 设置呼吸暂停提醒
readDoNotDisturb(callback) 读免打扰(标准 SDK 无协议时返回 -7072
setDoNotDisturb(config, callback) 设免打扰(同上)
readConnectedRssi(callback) 读取已连接设备蓝牙 RSSI

readDeviceSetting / setDeviceSetting 的 type

raiseHandbrightnessscreenTimeoutheartAlarmscreenStylehealthReminderlongSitfemaleHealthlowPowercountDownantiLossbpFunctionbloodOxygenNightwearCheck

screenStyle 也可通过 readDialInfo / setActiveDial 操作。

readManualMeasureHistory options{ timestamp, dataType }

  • timestamp:秒级,只返回该时间之后的数据
  • dataTypeall / heartRate / bloodPressure / bloodOxygen / bloodGlucose / bloodComponents / temperature / healthGlance

readPrivateMeasureMode typebloodPressure / bloodGlucose / bloodGlucoseMulti / bloodComponent / bloodAnalysis

readHealthHistory typeorigin / oxygen / hrv / sleep / drink(Android)/ chanting

  • dateyyyy-MM-dd,或 dayNumber 字符串 "0"(今天)/ "1"(昨天);chanting 可传秒级 timestamp 字符串

readApneaRemind / setApneaRemind(双端支持):

setApneaRemind 入参(未传字段使用默认值):

字段 默认值 说明
enabled true 是否开启
startHour 22 生效开始小时
startMinute 0 生效开始分钟
endHour 8 生效结束小时
endMinute 0 生效结束分钟
durationTime 10 持续监测时长(分钟)
remindTime 5 提醒间隔(分钟)
lowOxygenValue 90 低血氧阈值
defaultTime true 仅 iOS:是否使用设备默认时段

readApneaRemind / setApneaRemind 成功时 data 常见字段:

字段 说明
enabled 是否开启(openStatus == 1
openStatus 1 开启 / 2 关闭
startHour / startMinute / endHour / endMinute 生效时段
durationTime 持续监测时长(分钟)
remindTime 提醒间隔(分钟)
lowOxygenValue 低血氧阈值
status 仅 AndroidREAD_SUCCESS / READ_FAIL / SETTING_SUCCESS / SETTING_FAIL / UNKONW
rawData 仅 Android:SDK 原始 toString()
defaultTime 仅 iOS:是否使用默认时段

失败时返回 -7081

resetDevice mode

mode 说明
clear(默认) 清除设备数据,设备可能自动关机并断开
reset 冷启动复位,不丢数据

readConnectedRssi 成功时 data.rssi 为当前连接信号强度。

controlMusic actionplay / pause / next / previous / volumeUp / volumeDown / readVolume / setVolume

十二、身体成分 / 血液成分 / 健康监测 / 密码 / 来电(12 个)

API 说明
startBodyCompositionMeasure(callback) 开始身体成分测量
stopBodyCompositionMeasure(callback) 停止
readBodyCompositionHistory(date, callback) 历史,date: yyyy-MM-dd
startBloodComponentMeasure(callback) 开始血液成分(或走 invokeSpecialModule)
readBloodComponentHistory(date, callback) 血液成分历史
readHealthMonitor(type, callback) 读自动健康监测开关
setHealthMonitor(type, config, callback) 设置;config: { enabled: boolean }
readDevicePassword(callback) 密码信息(建议从 verifyPassword 的 data 获取)
setDevicePassword(oldPassword, newPassword, callback) 修改设备密码
setPhoneControlListener(callback) 监听手环来电+音乐键;仅 Android 见上文 event 表
notifyPhoneCallState(state, callback) 通知手表通话状态 idle/offhook仅 Android
invokeSpecialModule(module, action, params, callback) 专项设备能力,见下节

readHealthMonitor / setHealthMonitor 的 type

heartRate / bloodOxygen / bloodPressure / temperature / bloodGlucose / stress / hrv

(也支持别名如 heartoxygenglucose


分模块示例

基础读写

HBand.readBattery((r) => {
  if (r.code == 0) console.log('电量', r.data['batteryPercent'])
})

HBand.syncPersonalInfo({
  sex: 'male', height: 170, weight: 65,
  age: 30, birthYear: 1996, stepGoal: 8000, sleepGoal: 480
}, console.log)

HBand.setBaseFunction('automaticHeartRate', true, console.log)

实时测量(含私人模式)

HBand.startMeasure('bloodPressure', (e) => {
  console.log(e.stage, e.value, e.progress)
}, { mode: 'private' })

HBand.stopMeasure('bloodPressure', console.log, { mode: 'private' })

闹钟与联系人

HBand.manageAlarm({
  alarmType: 'scene',
  operation: 'add',
  alarm: {
    id: 1, hour: 7, minute: 30, enabled: true,
    repeatDays: '0111110', singleDate: null, scene: 1, content: null
  }
}, console.log)

HBand.manageContacts('add', [{
  id: 1, name: '张三', phoneNumber: '***', isSos: false
}], null, null, console.log)

表盘与 OTA

HBand.readDialInfo(console.log)

HBand.setActiveDial(0, 'default', console.log)

HBand.transferDial({
  dialType: 'photo', // 或 g15_profile / g15_theme1 / g15_theme2 / g15_qrcode / agps
  platform: 'jl',
  filePath: '/storage/emulated/0/Download/dial.bin',
  screenIndex: 0,
  photoLayout: null,
  : (p, stage) => console.log(stage, p),
  onFinish: console.log
})

HBand.startOtaUpgrade({
  platform: 'jl', // nordic / nrf / zk
  firmwarePath: '/storage/emulated/0/Download/firmware.bin',
  : (p, stage) => console.log(stage, p),
  onFinish: console.log
})

HBand.startJlDeviceAuth((r) => {
  if (r.code == 0) HBand.checkFirmwareUpdate(console.log)
})

来电与音乐键监听(Android)

// 一次注册,同时覆盖来电控制 + 手环音乐键
HBand.setPhoneControlListener((event) => {
  if (event.event == 'rejectPhone' || event.event == 'cliencePhone') {
    console.log('来电控制', event.event)
  } else if (event.event == 'nextMusic' || event.event == 'playMusic') {
    // 联动系统媒体 API:下一曲 / 播放等
    console.log('音乐键', event.event)
  }
})

// 推送来电到手环
HBand.sendNotification({
  type: 'call',
  title: '来电',
  content: '***',
  contactName: '张三',
  phoneNumber: '***'
}, console.log)

ECG

HBand.startEcgMeasure({ needCurve: true, multiLead: false }, (e) => {
  console.log(e.stage, e.progress, e.data)
})
HBand.stopEcgMeasure(console.log)

历史同步

HBand.syncData({
  dataType: 'all',
  dayNumber: 0,
  : (p, s) => console.log(p, s),
  onData: (type, data) => console.log(type, data),
  onFinish: console.log
})

恢复出厂 / 呼吸暂停 / 免打扰

// 读取呼吸暂停(血氧)提醒配置
HBand.readApneaRemind((r) => {
  if (r.code == 0) {
    console.log('已开启', r.data['enabled'])
    console.log('低血氧阈值', r.data['lowOxygenValue'])
  }
})

// 设置呼吸暂停提醒(未传字段使用默认值,见上文表格)
HBand.setApneaRemind({
  enabled: true,
  startHour: 22,
  startMinute: 0,
  endHour: 8,
  endMinute: 0,
  durationTime: 10,
  remindTime: 5,
  lowOxygenValue: 90
}, console.log)

// 免打扰:标准 SDK 无专用协议,双端返回 -7072,请在 App 端按时段拦截 sendNotification
HBand.readDoNotDisturb(console.log)

// 清除设备数据(慎用,设备可能关机并断开)
HBand.resetDevice('clear', console.log)

invokeSpecialModule 专项能力

统一入口,适合定制项目设备:

HBand.invokeSpecialModule('jh58', 'readHistory', {
  date: '2026-06-12 10:00:00',
  testMode: 'MODE1'
}, console.log)
module 典型 action 平台 说明
4g read / set / clear 双端 4G 服务器配置;set 支持 host/portuserName/passwordswitch4gswitchUploadreportInterval
jh58 readStatus / setStatus / readHistory / startRealtime / stopRealtime 双端 PPG 原始数据;readHistorydatetimestamptestMode: MODE1/MODE2
qx17 start / stop / continue / setVibration / setListener 双端 匹克球 IMU/GPS/心率采集
qh15 setProtection / readStep / getTimestamp 双端 QH15 健康数据
je136p / tcm set / startTest 双端 中医定制数据
microExam / healthGlance start / stop 双端 微体检(也可用 startMicroExam
healthAssist read / set 双端 健康辅助评估
g08w subscribe / setAlert 双端 PPG 光数据订阅
magnetic open / close / setGlobal 双端 磁疗;open/close 参数:typelevelduration
zt163 set / read 双端 常灭屏
gnss setListener 双端 GNSS 定位
gpsSport setTimezone / setKaaba / readChanting 双端 App GPS 上报 / 克尔白 / 诵经
g15 sendQrCode / sendMsg 双端 G15 二维码与消息
institution cmToLbcm / kgToLbkg / kmToLbkm Android 公英制单位换算
bloodComponent start / stop / readCalibration / setCalibration 双端 血液成分
rrInterval read 双端 RR 间期;params.day: 0/1/2
jl auth Android 杰理认证(同 startJlDeviceAuth
ai setNetworkStatus / subscribeOpus iOS AI 问答相关;Android 需厂商 SDK
tapTest / sosCustom / f2debug 定制/调试能力,按需扩展

具体 params 以设备 SDK 文档为准;失败常见 code: -7101


错误码

范围 含义
-1001 ~ -1005 蓝牙权限、状态、扫描、连接、断开
-2001 ~ -2003 密码校验、连接确认超时
-3001 ~ -3005 电量、步数、时间、个人信息
-4001 ~ -4002 实时测量
-5001 ~ -5007 拍照、查找设备、找手机
-5201 ~ -5207 通知、文本传输
-5301 ~ -5303 设备重命名
-6001 ~ -6002 历史数据同步
-7001 设备未连接
-7010 ~ -7040 闹钟、联系人、天气、运动
-7050 ~ -7051 表盘、OTA
-7060 BT 通话
-7070 设备设置类型不支持
-7072 免打扰(标准 SDK 无协议,双端均返回)
-7080 恢复出厂指令异常、音乐控制失败
-7081 呼吸暂停提醒读写失败、图片传输失败
-7082 ~ -7092 身体成分、密码等
-7101 专项模块未实现或设备不支持

Demo 与延伸阅读

资源 路径 内容
基础 Demo pages/hband-demo/index.vue 扫描、连接、密码、基础读写、测量、同步
高级 Demo pages/hband-advanced-demo/index.vue 闹钟、联系人、天气、表盘、OTA、ECG、专项模块
API 参数详解 docs/hband-sdk-api-reference.md 每项 API 参数与返回字段
集成示例 docs/hband-sdk-integration-demo.md 完整生命周期示例代码
能力对照表 docs/hband-sdk-capability-map.md SDK 能力与插件封装状态
接口声明 utssdk/interface.uts 类型与函数签名源码

开发与扩展约定

  1. 业务只依赖 @/uni_modules/hl-hband-sdk,不引用 utssdk/app-android/* 等平台文件。
  2. 新增 API 顺序:interface.utsapp-android/index.uts + Hybrid.kt / HybridModules.kt → iOS 对应文件。
  3. 原生层统一返回 HBandResult,不把 SDK 原始 listener 泄漏到 JS。
  4. 长流程(测量、同步、OTA、表盘)串行调用;页面 onUnload 调用 destroySDK()
  5. 不同设备固件能力差异大,务必先读 verifyPassword 返回的 data.capability 再调高级功能。

平台与环境(技术附录)

平台 支持 说明
App Android minSdkVersion 21;依赖 utssdk/app-android/libs 内 Veepoo AAR
App iOS arm64VeepooBleSDK.framework + 配套 Framework
H5 / 小程序 / HarmonyOS 无 BLE 原生 SDK

隐私、权限声明

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

需要蓝牙、定位(Android 12 以下扫描 BLE 需要)等系统权限。

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

插件不主动采集业务数据;蓝牙设备数据仅在应用调用接口时透传给调用方。

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

暂无用户评论。