1.template標籤裏至少有一個button標籤
<button open-type="openSetting" @opensetting="onGetLocation">立即授權</button>
open-type以及按鈕事件可以有其他搭配,比如getUserInfo及@getuserinfo
2.js中添加判斷
當程序需要某些數據的時候,例如地理位置,這種敏感的數據往往用戶反手就是一個拒絕…爲了更好的用戶體驗咱先不進入頁面就申請,等用戶在頁面有所操作再請求獲取權限。api來自uni-app框架,wx開發的直接將uni換成wx便可。
if(數據不夠用了) {
uni.getSetting({
success:(res) => {
if (!res.authSetting['scope.userLocation']) {
console.log('userLocation-error');
wx.authorize({
scope: 'scope.userLocation',
success:() => {
//用戶第一次進來並且直接就同意了
//用戶開啓了權限,直接開始業務
},
fail:() => {
console.log('authorize-error');
//點亮button
}
})
} else {
// 用戶開啓了權限,直接開始業務
}
}
})
} else {
//已有的數據夠用了,直接開始業務
}
按鈕事件如下
onGetLocation(e){
if(e.detail.authSetting['scope.userLocation']){
// 隱藏按鈕
// 用戶終於開啓了權限,可以開始業務了
} else {
// 用戶還是沒有開我要的權限,授權按鈕不隱藏
}
}