微信小程序-用戶拒絕授權(quán)重新調(diào)起授權(quán)

在微信小程序中,當(dāng)?shù)谝淮芜M(jìn)入小程序是會(huì)請(qǐng)求授權(quán)的,如果用戶拒絕的授權(quán)之后再次進(jìn)入小程序是不會(huì)再請(qǐng)求授權(quán)的,這種情況無疑會(huì)影響小程序的正常功能。
所以我們需要用到小程序的授權(quán)設(shè)置功能

wx.openSetting(Object object)

wx.openSetting

當(dāng)需要位置權(quán)限時(shí),但又被拒絕之后就需要重新調(diào)起
使用wx.openSetting方法跳轉(zhuǎn)到設(shè)置頁,在調(diào)用成功的回調(diào)中判斷相應(yīng)權(quán)限是否可用

wx.openSetting(){
  success(res){
    //判斷授權(quán)信息
    if (res.authSetting["scope.userLocation"]) {
       that.onLoad()
    }
  }
}

需要注意的是判斷需要res.authSetting["scope.userLocation"]格式才正確,下面是官方文檔的格式

格式

下面為完整代碼,業(yè)務(wù)代碼部分請(qǐng)自行 添加

// 獲取位置
    wx.getLocation({
      success: function(res) {
      //業(yè)務(wù)代碼  
      }, fail(){
        wx.showModal({
          title: '提醒',
          content: '您拒絕了位置授權(quán),將無法使用大部分功能,點(diǎn)擊確定重新獲取授權(quán)',
          success(res){
            //如果點(diǎn)擊確定
            if(res.confirm) {
              wx.openSetting({
                success(res){
                  // console.log(res.authSetting)
                  // console.log(res.authSetting["scope.userLocation"])
                  //如果同意了位置授權(quán)則userLocation=true
                  if (res.authSetting["scope.userLocation"]){
                    that.onLoad()
                  }
                }
              })
            }
          }
        })
      }
    })

——————————————————————————————
便分享首好聽的歌 Into You——J_ust-First kiss

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容