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