日漸增多的小程序需求,必然會(huì)存在形色各異的授權(quán)問題。今天就來跟大家一起學(xué)習(xí)一下如何玩轉(zhuǎn)小程序的位置授權(quán)
App({ config: { 'permission': { 'scope.userLocation': { 'desc': '請開啟位置授權(quán)' // 高速公路行駛持續(xù)后臺(tái)定位 } }, } }) 復(fù)制代碼
Page({ onLoad () { wx.getLocation({ success: (res) => {}, // 成功的回調(diào) fail: (err) => {} // 失敗的回調(diào) }) } }) 復(fù)制代碼
$invoke('LocationAuthModal', showModal): 通過對LocationAuthModal組件中的方法直接調(diào)用,在頁面中彈出提示彈窗,效果如下(LocationAuthModal組件是我們自定義的彈窗,并且在頁面中引用)
Button(open-type=”openSetting” bindopensetting=callback): 小程序基礎(chǔ)庫2.3.0版本開始,用戶發(fā)生點(diǎn)擊行為后,才可以跳轉(zhuǎn)打開setting頁面,管理設(shè)置授權(quán)信息。在完成設(shè)置后,在callback中獲取到授權(quán)auth進(jìn)行處理:
<button open-type="openSetting" @opensetting="callback">設(shè)置</button> 復(fù)制代碼
callback: 設(shè)置完成后的回調(diào)函數(shù)
setting: 小程序的設(shè)置
auth: 設(shè)置完成后獲取到的設(shè)置授權(quán)信息
auth[“scope.userLocation”] = true:開啟了位置授權(quán)的設(shè)置,可以直接通過wx.getLocation拿到位置信息
else: 仍未開啟位置授權(quán),那么根據(jù)我們的需求是不能繼續(xù)讓用戶使用的,所以會(huì)繼續(xù)執(zhí)行$invoke('LocationAuthModal', showModal),強(qiáng)制提醒用戶開啟位置授權(quán)
suceeCallback: 成功獲取位置后的回調(diào)函數(shù),用來處理獲取到微信知悉后的操作
工作日 8:30-12:00 14:30-18:00
周六及部分節(jié)假日提供值班服務(wù)