国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 小程序 > 正文

微信小程序用戶授權彈窗 拒絕時引導用戶重新授權實現

2020-03-21 15:50:25
字體:
來源:轉載
供稿:網友

前言

我們在開發小程序時,如果想獲取用戶信息,就需要獲取用的授權,如果用戶誤點了拒絕授權,我們怎么樣去正確的引導用戶重新授權呢。今天就來給大家講講如果正確的引導用戶授權。

老規矩,先看效果圖

微信小程序,用戶授權,彈窗

從上圖可以看出,我們在用戶點擊拒絕授權時,我們會彈出一個提示框,提示用戶去設置頁重新授權,當用戶去授權頁重新授權以后,我們再回到首頁,點擊獲取用戶信息時,就可以成功的獲取到用戶信息了。
如下圖藍色框里,就是我們成功的獲取的用戶信息。

 

一,我們獲取用戶信息的時候需要用戶授權

我們點擊獲取用戶信息時,通常會彈出如下提示框,如果用戶點擊了取消,就再也沒有辦法通過點擊授權按鈕獲取用戶信息了。

微信小程序,用戶授權,彈窗

所以接下來我們要做的就是在用戶拒絕了授權時,引導用戶去設置頁重新授權。
把獲取用戶授權的代碼先貼給大家

<button open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 授權獲取頭像昵稱 </button>

二,檢測用戶是否授權

我們在用戶點擊了上面定義的button按鈕后,做權限檢測。代碼如下。

 getUserInfo: function(e) {  let that = this;  // console.log(e)  // 獲取用戶信息  wx.getSetting({   success(res) {    // console.log("res", res)    if (res.authSetting['scope.userInfo']) {     console.log("已授權=====")     // 已經授權,可以直接調用 getUserInfo 獲取頭像昵稱     wx.getUserInfo({      success(res) {       console.log("獲取用戶信息成功", res)       that.setData({        name: res.userInfo.nickName       })      },      fail(res) {       console.log("獲取用戶信息失敗", res)      }     })    } else {     console.log("未授權=====")     that.showSettingToast("請授權")    }   }  }) },

給大家簡單解析下。

wx.getSetting :用來獲取用戶授權列表

if (res.authSetting['scope.userInfo']) 代碼用戶授權成功,如果用戶沒有授權,就代表授權失敗。

在授權失敗時,我們調用that.showSettingToast()方法

三,showSettingToast方法如下

 // 打開權限設置頁提示框 showSettingToast: function(e) {  wx.showModal({   title: '提示!',   confirmText: '去設置',   showCancel: false,   content: e,   success: function(res) {    if (res.confirm) {     wx.navigateTo({      url: '../setting/setting',     })    }   }  }) }

這方法做的就是引導用戶去設置頁。

四,我們的設置頁

微信小程序,用戶授權,彈窗

我們的設置頁其實很簡單,只有上圖這么一段代碼。

 

五,去系統設置頁

我們上面第四步的button按鈕,點擊以后,就會去系統設置頁。

微信小程序,用戶授權,彈窗

可以看到系統設置頁,有一個開關,當用戶點擊開關時,就可以重新授權啦。

微信小程序,用戶授權,彈窗

重新授權成功以后,我們回到首頁,就可以成功的獲取到用戶信息了。

微信小程序,用戶授權,彈窗

到這里我們就成功的實現了引導用戶授權的功能了。

把index.wxml和index.js代碼貼出來給大家

index.wxml

<!--index.wxml--><button open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 授權獲取頭像昵稱 </button><text>{{name}}</text>

index.js

//index.jsPage({ getUserInfo: function(e) {  let that = this;  // console.log(e)  // 獲取用戶信息  wx.getSetting({   success(res) {    // console.log("res", res)    if (res.authSetting['scope.userInfo']) {     console.log("已授權=====")     // 已經授權,可以直接調用 getUserInfo 獲取頭像昵稱     wx.getUserInfo({      success(res) {       console.log("獲取用戶信息成功", res)       that.setData({        name: res.userInfo.nickName       })      },      fail(res) {       console.log("獲取用戶信息失敗", res)      }     })    } else {     console.log("未授權=====")     that.showSettingToast("請授權")    }   }  }) }, // 打開權限設置頁提示框 showSettingToast: function(e) {  wx.showModal({   title: '提示!',   confirmText: '去設置',   showCancel: false,   content: e,   success: function(res) {    if (res.confirm) {     wx.navigateTo({      url: '../setting/setting',     })    }   }  }) },})

有任何關于小程序的問題可以加我微信:2501902696(備注小程序)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 仪征市| 安泽县| 康平县| 柏乡县| 临江市| 盘锦市| 师宗县| 铜陵市| 富宁县| 石狮市| 凭祥市| 兴文县| 巴里| 桂阳县| 綦江县| 长白| 呼伦贝尔市| 芒康县| 夏河县| 台山市| 南城县| 新竹县| 永顺县| 枣强县| 临武县| 大城县| 鹤庆县| 屏东市| 洛川县| 高阳县| 永定县| 清新县| 盐池县| 山丹县| 安塞县| 通化县| 宁津县| 万全县| 永康市| 屏南县| 江都市|