微信小程序如何检测接收iBeacon信号
生活随笔
收集整理的這篇文章主要介紹了
微信小程序如何检测接收iBeacon信号
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
前話
微信小程序開發(fā)帶著許多坑,最近就遇到了個需求,檢測iBeacon來進(jìn)行地點簽到。
(╯▔皿▔)╯
微信小程序?qū)τ趇Beacon的文檔也寫的十分精簡,只簡單介紹了每個接口的作用,這就導(dǎo)致我以為簡單調(diào)用單個接口即可實現(xiàn)功能,因此我就寫出了這樣的錯誤代碼邏輯 :
(╯‵□′)╯︵┻━┻
wx.startBeaconDiscovery({uuids: ['xxxxx'],success(res){console.log('簽到成功')},fail(err){console.log('簽到失敗')} })結(jié)果是,點擊簽到按鈕調(diào)用該接口的時候,幾乎都是
簽到失敗(╯‵□′)╯炸彈!???*~●。
當(dāng)然,最后還是谷歌解決了,因為前人也踩了這個坑,因此我還是搬運過來,讓后人少受熬夜之苦 (;′??Д??`)
正題
廢話不多說,如果你要檢測接收iBeacon信號,建議按照這樣的接口調(diào)用步驟:
wx.stopBeaconDiscovery # 停止掃描↑setTimeout # 超時設(shè)置↑ 開始 → wx.startBeaconDiscovery # 開始掃描︱︱―fail(err)→結(jié)束︱success(res)↓wx.onBeaconUpdate # 監(jiān)聽iBeacon信號︱ ︱―fail(err)→結(jié)束︱success(res)↓TODO最后,我的代碼如下:
var devices = [];// 開始掃描 wx.startBeaconDiscovery({uuids: uuidArray,success: function () {console.log("開始掃描設(shè)備...");// 監(jiān)聽iBeacon信號wx.onBeaconUpdate(function (res) {// 請注意,官方文檔此處又有BUG,是res.beacons,不是beacons。if (res && res.beacons && res.beacons.length > 0) {devices = res.beacons;// 此處最好檢測rssi是否等于0,等于0的話信號強(qiáng)度等信息不準(zhǔn)確。我是5秒內(nèi)重復(fù)掃描排重。}});} });// 超時停止掃描 setTimeout(function () {wx.stopBeaconDiscovery({success: function () {console.log("停止設(shè)備掃描!");console.log(devices);}}); }, 5 * 1000);OK,問題似乎不經(jīng)意間被完美解決了( ?? ω ?? )y
更多專業(yè)前端知識,請上 【猿2048】www.mk2048.com
總結(jié)
以上是生活随笔為你收集整理的微信小程序如何检测接收iBeacon信号的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Elements in iteratio
- 下一篇: input获得焦点和失去焦点