注冊登錄

小程序拒絕授權恢復辦法,小程序授權登錄失敗再重新登錄

2018-09-06
導讀:很多人在進入小程序之后,會彈出一個窗口,允許授權,很多用戶會不經意間關閉拒絕,那么對于小程序開發(fā)者來說,需要如何取消這種拒絕授權呢,下面為大家解答。...

很多人在進入小程序之后,會彈出一個窗口,允許授權,很多用戶會不經意間關閉拒絕,那么對于小程序開發(fā)者來說,需要如何取消這種拒絕授權呢,下面為大家解答。

小程序拒絕授權恢復辦法,小程序授權登錄失敗再重新登錄

1小程序被拒絕授權之后

首先在首頁拒絕了授權之后呢,會拉起一個模態(tài)彈窗,這點和上邊那篇文章中一樣的。 
app.js中改寫一下getUserInfo這個函數

getUserInfo:function(cb){
    var that = this
    if(this.globalData.userInfo){
      typeof cb == "function" && cb(this.globalData.userInfo)
    }else{
      //調用登錄接口
      wx.login({
        success: function () {
          wx.getUserInfo({
            success: function (res) {
              that.globalData.userInfo = res.userInfo
              typeof cb == "function" && cb(that.globalData.userInfo)
            },
            fail: function(){
              wx.showModal({
                title: '用戶未授權',
                content: '如需正常使用小程序功能,請按確定并且在【我的】頁面中點擊授權按鈕,勾選用戶信息并點擊確定。',
                showCancel: false,
                success: function (res) {
                  if (res.confirm) {
                    console.log('用戶點擊確定')
                  }
                }
              })
            }
          })
        }
      })
    }
  }

如果用戶拒絕了授權,則會彈出一個框:

2引導用戶到重新授權按鈕

上步中已經提到,需要用戶到另一個tab中再點擊一個按鈕,為什么要這么設置呢。主要是因為單單靠用戶點擊右上角來設置這個授權有那么一些麻煩,因為需要經以下這些步驟:

  • 用戶點擊右上角【…】
  • 關于XXX(小程序的名稱)
  • 再點擊右上角【…】
  • 選擇設置
  • 打開用戶信息

……一看到就已經想手動再見了  所以我選擇在【我的】這個tab中添加一個用戶未授權時才能看到的button,點擊了這個神奇的button,就能再次選擇是否授權。      先別急著吐槽按鈕丑,看碼:  我在這個頁面中首先加了一個叫做noAuthorized的變量,它的默認值是true,代表【是的,就是沒授權咋地了?】

給這個按鈕綁定的事件:

tapToAuthorize: function(){
    //再授權
    wx.openSetting({
      success: (res) => {
        /*
         * res.authSetting = {
         *   "scope.userInfo": true,
         *   "scope.userLocation": true
         * }
         */
         //因為openSetting會返回用戶當前設置,所以通過res.authSetting["scope.userInfo"]來判斷用戶是否勾選了【用戶信息】這一項
        if (res.authSetting["scope.userInfo"]===true){
          var that = this
          app.getUserInfo(function (userInfo) {
            //更新數據
            that.setData({
              userInfo: userInfo,
              noAuthorized: false
            })
          })
        }
        else{
          wx.showModal({
            title: '用戶未授權',
            content: '如需正常使用小程序,請點擊授權按鈕,勾選用戶信息并點擊確定。',
            showCancel: false,
            success: function (res) {
              if (res.confirm) {
                console.log('用戶點擊確定')
              }
            }
          })
        }
      }
    })
  }

如此前提到的文中所說,小程序提供了wx.openSetting(OBJECT)和wx.getSetting(OBJECT),前者可以調起客戶端小程序設置界面,返回用戶設置的操作結果,后者可以獲取用戶當前設置。由于此處已經調用了openSetting可以返回操作結果進行判斷,所以第二個就用不上了。然后,

  1. 點擊授權按鈕后,先彈出一個框

  2. 如果勾選了用戶信息并點擊了確定,則setdata后頁面刷新,按鈕消失,顯示用戶頭像昵稱等信息。

  3. 如果沒有勾選又點擊了確定,則再次彈出模態(tài)彈窗,提示授權的重要性: 
 HiShop小程序工具提供多類型商城/門店小程序制作,可視化編輯 1秒生成5步上線。通過拖拽、拼接模塊布局小程序商城頁面,所看即所得,只需要美工就能做出精美商城。
重磅推薦:小程序開店目錄

第一部分:小商店是什么

第二部分:如何開通一個小商店

第三部分:如何登錄小商店

第四部分:開店任務常見問題

第五部分:小商店可以賣什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結算

第十部分:小程序客服

第十一部分:電商創(chuàng)業(yè)

第十二部分:小程序游戲開發(fā)

電話咨詢 微信咨詢 預約演示 0元開店