获取特征值一直为undefined,百度搜了一下,也去uni-app官网看了,一直没找到原因。打印后获取到的信息里并没有uuid字段。于是尝试了一下信息里的characteristicId,发现可以使用。于是搜索了一下钉钉文档,发现钉钉获取的字段为characteristicId,而微信和uni-app中写的为uuid。
这个问题困扰了我好几个小时,本以为Uni-app和钉钉返回的字段会一样,所以就没有去看钉钉的文档。看来之后每个文档都得好好看看。
如果有跟我一样疑惑的小伙伴,希望能帮到你。
getCharacteId() {
//获取蓝牙设备的特征值
const self = this
uni.getBLEDeviceCharacteristics({
deviceId: deviceId,//获取蓝牙设备后得到
serviceId: uuid,//通过getBLEDeviceServices获取
success: function(res) {
for (var i = 0; i < res.characteristics.length; i++) {
var model = res.characteristics[i];
if (model.properties.notify == true) {
self.notifyId = model.characteristicId; //特征值
}
}
},
fail: function(err) {
uni.showToast({
title: "获取特征值报错" + JSON.stringify(err)
})
}
})
}