微信小程序如何检测接收iBeacon信号
生活随笔
收集整理的這篇文章主要介紹了
微信小程序如何检测接收iBeacon信号
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前話
微信小程序開發帶著許多坑,最近就遇到了個需求,檢測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
總結
以上是生活随笔為你收集整理的微信小程序如何检测接收iBeacon信号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Elements in iteratio
- 下一篇: input获得焦点和失去焦点