更新记录
1.0.0(2026-07-24) 下载此版本
初版
平台兼容性
uni-app(3.8.0)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | - | - | √ | - | √ | √ | × |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| √ | - | - | - | - | - | - | - | - | - | - | - |
快速上手
安装
pnpm install
安装依赖后:
- 使用HBuilder打开DEMO项目
- 预览,使用HBuilder可将项目运行到Android或IOS设备上
- 若有小程序开发需求则需要配置APPID等相关参数
引入插件
在UNI-APP插件市场中下载或使用HBuilder引入
初始化
import { reactive } from 'vue';
import { onLoad, onUnload } from '@dcloudio/uni-app';
import { QNMPPluginUni } from '...';
// 推荐:接入微信日志,方便线上问题排查
// 非小程序平台需自行实现日志功能
function logger() {
const mpwx = getMpWx();
const wxlogger = mpwx.getLogManager && mpwx.getLogManager({ level: 0 });
return {
log(...params) {
console.log(...params);
wxlogger && wxlogger.log(...params);
},
};
}
const state = reactive({
bleState: '空闲',
connected: false,
// ...其他状态
});
let bleApi;
onLoad((options) => {
bleApi = new QNMPPluginUni({
appId: APPID, // 必填,联系云康宝对接人员在云康宝后台配置
logger: logger(), // 推荐,方便排查问题
});
// 错误监听
bleApi.onError = (err) => {
console.error('捕捉到错误', err.detail);
};
// 初始化完成回调
bleApi.onReady = ({ bleEnableState }) => {
if (bleEnableState) {
bleApi.startBleDeviceDiscovery();
} else {
console.log('蓝牙未开启');
}
};
// 设置蓝牙事件监听
bleApi.setBleEventListener(bleEventListener());
// 执行初始化
bleApi.init();
});
使用流程
1. 启动扫描
bleApi.startBleDeviceDiscovery();
扫描结果通过 onBleDeviceFound 回调返回,只回调本公司设备。可通过 QNConsts.QNBleDeviceType 结合 device.type 过滤设备类型。
2. 创建连接
bleApi.createBleConnection(device, deviceEventListener(), operation);
device:onBleDeviceFound回调中的设备对象,详见API 总览 - 设备对象deviceEventListener:设备事件监听器,接收测量数据等回调,详见API 总览 - 设备事件回调operation:连接参数,详见 API 总览 - Operation
3. 处理测量数据
连接成功后,数据通过 deviceEventListener 中的回调返回:
onGetUnsteadyWeight:实时非稳定重量,用于页面动态显示onGetScaleData:稳定测量数据,最终结果
拿到 onGetScaleData 数据后,需通过对应指标库处理以生成报告,详见体脂秤 - 数据处理。
4. 停止蓝牙
离开测量页面时调用:
onUnload(() => {
stopBle();
});
async function stopBle() {
await bleApi.stop();
// 可选:完全释放蓝牙资源,再次使用需重新 init
await bleApi.releaseBleSource();
}
Demo 页面索引
| 设备 | 页面 |
|---|---|
| 入口页面 | pages/board |
| 用户信息设置页 | pages/user |
| 八电极深度报告 | pages/deepReport/index |
| 体脂秤(蓝牙) | pages/four-electrode-measure |
| 八电极用户秤 | pages/eight-electrode-measure |

收藏人数:
下载插件并导入HBuilderX
下载插件ZIP
下载 2
赞赏 0
下载 12455968
赞赏 1935
赞赏
京公网安备:11010802035340号