微信小程序如何再次獲取用戶授權的方法

這篇文章主要介紹了微信小程序如何再次獲取用戶授權的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨着小編來一起學習學習吧

現在在做一個小程序有地圖的功能,通過點擊按鈕打開地圖。調用wx.getlocation()這個接口是需要用戶的授權。如果他授權了,返回一個success當然最好啦,就什麼問題都沒有了。如果他點了取消,返回一個fail,我就使用預設的經緯度打開一個定位。但是如果用戶點擊返回以後,再次點擊按鈕進入地圖就會沒有反應(如果一開始有授權的話就可以再次重新打開地圖)。

有什麼方法可以解決呢,或者怎樣可以重新獲取用戶授權。畢竟叫他們刪了重來的話,這樣的體驗好像不大好。。。

方法:A:單擊隱藏圖章wx.openSetting(OBJECT) 重新調用小程序授權,文檔現在已經有了【以下是文檔內容】

wx.openSetting(OBJECT)

調起客戶端小程序設置界面,返回用戶設置的操作結果

Object 參數說明:

參數 類型 必填 說明
success Function 接口調用成功的回調函數,返回內容詳見返回參數說明。
fail Function 接口調用失敗的回調函數
complete Function 接口調用結束的回調函數(調用成功、失敗都會執行)

success返回參數說明:

參數 類型 說明
authSetting Object 用戶授權結果,其中 key 爲 scope 值,value 爲 Bool 值,表示用戶是否允許授權,詳見 scope 列表

示例代碼:

wx.openSetting({
 success: (res) => {
  /*
   * res.authSetting = {
   *  "scope.userInfo": true,
   *  "scope.userLocation": true
   * }
   */
 }
})

wx.getSetting(OBJECT)

獲取用戶的當前設置

Object 參數說明:

參數 類型 必填 說明
success Function 接口調用成功的回調函數,返回內容詳見返回參數說明。
fail Function 接口調用失敗的回調函數
complete Function 接口調用結束的回調函數(調用成功、失敗都會執行)

success返回參數說明:

參數 類型 說明
authSetting Object 用戶授權結果,其中 key 爲 scope 值,value 爲 Bool 值,表示用戶是否允許授權,詳見 scope 列表

示例代碼:

wx.getSetting({
 success: (res) => {
  /*
   * res.authSetting = {
   *  "scope.userInfo": true,
   *  "scope.userLocation": true
   * }
   */
 }
})
Map:function(){
    wx.getLocation({
      type: 'gcj02', 
      success: function(res){
        // success
        wx.openLocation({
          latitude: res.latitude,
          longitude: res.longitude, 
          scale: 28,       
        })},
      
      fail: function(res){
        // fail 
        wx.openLocation({
          address:"獲取授權失敗 打開默認定位",
        //默認定位我就隱藏啦
          latitude: XX.XX,
          longitude: XX.XX,
          scale: 28,      
        },
        wx.openSetting({
          //重新請求獲取定位
        success: (res) => {}})
        )},
    })
  }

以上所述是小編給大家介紹的微信小程序如何再次獲取用戶授權的方法詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對神馬文庫網站的支持!

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