微信小程序用戶拒絕授權後如何操作

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 {
       	// 用戶還是沒有開我要的權限,授權按鈕不隱藏
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章