网站运营商查询,微转app是用网站做的吗,厦门建设局网站,上海优化公司前话
微信小程序开发带着许多坑#xff0c;最近就遇到了个需求#xff0c;检测iBeacon来进行地点签到。
(╯▔皿▔)╯
微信小程序对于iBeacon的文档也写的十分精简#xff0c;只简单介绍了每个接口的作用#xff0c;这就导致我以为简单调用单个接口即可实现功能#xf…前话
微信小程序开发带着许多坑最近就遇到了个需求检测iBeacon来进行地点签到。
(╯▔皿▔)╯
微信小程序对于iBeacon的文档也写的十分精简只简单介绍了每个接口的作用这就导致我以为简单调用单个接口即可实现功能因此我就写出了这样的错误代码逻辑
(╯‵□′)╯︵┻━┻
wx.startBeaconDiscovery({uuids: [xxxxx],success(res){console.log(签到成功)},fail(err){console.log(签到失败)}
})
结果是点击签到按钮调用该接口的时候几乎都是
签到失败(╯‵□′)╯炸弹•••*●。
当然最后还是谷歌解决了因为前人也踩了这个坑因此我还是搬运过来让后人少受熬夜之苦 (;´༎ຶД༎ຶ)
正题
废话不多说如果你要检测接收iBeacon信号建议按照这样的接口调用步骤 wx.stopBeaconDiscovery # 停止扫描↑setTimeout # 超时设置↑
开始 → wx.startBeaconDiscovery # 开始扫描︱︱―fail(err)→结束︱success(res)↓wx.onBeaconUpdate # 监听iBeacon信号︱ ︱―fail(err)→结束︱success(res)↓TODO
最后我的代码如下
var devices [];// 开始扫描
wx.startBeaconDiscovery({uuids: uuidArray,success: function () {console.log(开始扫描设备...);// 监听iBeacon信号wx.onBeaconUpdate(function (res) {// 请注意官方文档此处又有BUG是res.beacons不是beacons。if (res res.beacons res.beacons.length 0) {devices res.beacons;// 此处最好检测rssi是否等于0等于0的话信号强度等信息不准确。我是5秒内重复扫描排重。}});}
});// 超时停止扫描
setTimeout(function () {wx.stopBeaconDiscovery({success: function () {console.log(停止设备扫描);console.log(devices);}});
}, 5 * 1000);
OK问题似乎不经意间被完美解决了( •̀ ω •́ )y
更多专业前端知识请上
【猿2048】www.mk2048.com