调用 wx.startBeaconDiscovery 接口出错,报:fail must have uuid。并且getBeacons接口未返回设备名称,希望同时返回此设备名称。
@WilliamTsang
非常感谢你给出的代码,根据你的代码,我也找到了我的云子,但是,有几个问题想请教下
1. wx.startBeaconDiscovery() 需要给定指定的uuids才能找到对应的云子,既然我已经知道uuids,那其他的信息我也肯定是知道的,那何必多此一举去重复指定搜索呢,所以我猜测这个方法需要在wx.getBeacons()内使用,因为不需要传参数(我猜的),其次,这个API返回结果我测试了一下,只有一个errMsg:getBeacons:ok 并没有看到beacons列表,
2. 我描述下我需要的应用场景: 打开小程序->搜索附近的iBeacon,出现列表,点击选择某个iBeacon,获取具体的参数信息,然后根据参数信息去后台调取数据, 不知道这个场景可否实现。基于现有的API。
3. 小程序获取的iBeacon是否需要在微信摇一摇后台配置店铺信息,因为我是个人账号,无法认证,所以用不了摇一摇后台,我只是想拿到附近的ibeacon的信息,然后进行信息推送。
4. 非常期待能与你讨论一下,QQ,1905997838 ,谢谢你的分享。
@WilliamTsang 你好,使用你的代码,出现如下错误,请问是什么问题?一定真机测试吗?我使用Mac 测试的
onLoad
scanble.js [sm]:118 -----success----------
scanble.js [sm]:119 Object {errMsg: “openBluetoothAdapter:ok”}
scanble.js [sm]:162 -----complete----------
scanble.js [sm]:163 Object {errMsg: “openBluetoothAdapter:ok”}errMsg: “openBluetoothAdapter:ok”__proto__: Object
scanble.js [sm]:138 Object {errMsg: “startBeaconDiscovery:fail not support”}errMsg: “startBeaconDiscovery:fail not support”__proto__: Object
scanble.js [sm]:146 停止设备扫描!
scanble.js [sm]:147 []
var devices = [];
wx.startBeaconDiscovery({
uuids: [‘fda50693-a4e2-4fb1-afcf-c6eb07647825’],
success: function () {
console.log(“开始扫描设备…”);
wx.onBeaconUpdate(function (res) {
//请注意,官方文档此处又有BUG,是res.beacons,不是beacons。
if (res && res.beacons && res.beacons.length > 0) {
devices = res.beacons;
//此处最好检测rssi是否等于0,等于0的话信号强度等信息不准确。我是5秒内重复扫描排重。
}
});
},
fail: function(e){
console.log(e)
}
});
setTimeout(function () {
wx.stopBeaconDiscovery({
success: function () {
console.log(“停止设备扫描!”);
console.log(devices);
}
});
}, 5 * 1000);