微信小程序 wx.getUserInfo引導用戶授權(quán)問題實例分析
更新時間:2020年03月09日 08:42:48 作者:WFaceBoss
這篇文章主要介紹了微信小程序 wx.getUserInfo引導用戶授權(quán)問題,結(jié)合實例形式分析了微信小程序使用wx.getUserInfo引導用戶授權(quán)問題的具體操作步驟與實現(xiàn)方法,需要的朋友可以參考下
本文實例講述了微信小程序 wx.getUserInfo引導用戶授權(quán)問題。分享給大家供大家參考,具體如下:
首先,在page外定義一個函數(shù)用戶判斷是否為空對象
var isEmptyObject = function (e) {
var temp;
for (temp in e)
return !1;
return !0
}
然后,在page中的onload里面調(diào)用授權(quán)
onLoad: function () {
var that = this;
if (app.globalData.userInfo) {
this.setData({
userInfo: app.globalData.userInfo
})
} else if (this.data.canIUse) {
// 由于 getUserInfo 是網(wǎng)絡(luò)請求,可能會在 Page.onLoad 之后才返回
// 所以此處加入 callback 以防止這種情況
app.userInfoReadyCallback = res => {
this.setData({
userInfo: res.userInfo
})
}
} else {
// 在沒有 open-type=getUserInfo 版本的兼容處理
wx.getUserInfo({
success: res => {
app.globalData.userInfo = res.userInfo
this.setData({
userInfo: res.userInfo
})
that.checkSettingStatu();
},
fail: function () {
wx.showModal({
title: '用戶未授權(quán)',
content: '如需正常使用該小程序功能,請按確定并在授權(quán)管理中選中“用戶信息”,然后點按確定。最后再重新進入小程序即可正常使用。',
showCancel: false,
success: function (resbtn) {
if (resbtn.confirm) {
wx.openSetting({
success: function success(resopen) {
// 獲取用戶數(shù)據(jù)
that.checkSettingStatu();
}
});
}
}
})
}
})
}
}
最后,在page中定義一個 用于檢測 當前授權(quán)的狀態(tài)
checkSettingStatu: function (cb) {
var that = this;
// 判斷是否是第一次授權(quán),非第一次授權(quán)且授權(quán)失敗則進行提醒
wx.getSetting({
success: function success(res) {
var authSetting = res.authSetting;
if (isEmptyObject(authSetting)) {
//第一次
} else {
// 沒有授權(quán)的提醒
if (authSetting['scope.userInfo'] === false) {
wx.showModal({
title: '用戶未授權(quán)',
content: '如需正常使用該小程序功能,請按確定并在授權(quán)管理中選中“用戶信息”,然后點按確定。最后再重新進入小程序即可正常使用。',
showCancel: false,
success: function (res) {
if (res.confirm) {
wx.openSetting({
success: function success(res) {
console.log()
}
});
}
}
})
} else if (authSetting['scope.userInfo'] === true) {
//該處用戶獲取用戶的一些授權(quán)信息
if (that.data.userInfo) {
var nickname = that.data.userInfo.nickName;
var gender = that.data.userInfo.gender
//性別 0:未知、1:男、2:女
if (gender == 1) {
gender = "True"
} else if (gender == 2) {
gender = "False"
} else {
gender = "True"
}
}
}
}
}
})
}
簡單的記錄,不喜勿噴。
希望本文所述對大家微信小程序開發(fā)有所幫助。
您可能感興趣的文章:
- 微信小程序獲取用戶信息的兩種方法wx.getUserInfo與open-data實例分析
- 微信小程序Getuserinfo解決方案圖解
- 微信小程序-getUserInfo回調(diào)的實例詳解
- 微信小程序如何通過用戶授權(quán)獲取手機號(getPhoneNumber)
- 微信小程序用戶授權(quán)彈窗 拒絕時引導用戶重新授權(quán)實現(xiàn)
- 微信小程序用戶授權(quán)、位置授權(quán)及獲取微信綁定手機號
- 微信小程序如何再次獲取用戶授權(quán)的方法
- 微信小程序用戶授權(quán),以及判斷登錄是否過期的方法
- 微信小程序--獲取用戶地理位置名稱(無須用戶授權(quán))的方法
- 詳解微信小程序開發(fā)用戶授權(quán)登陸
- PHP實現(xiàn)微信小程序用戶授權(quán)的工具類示例
相關(guān)文章
JavaScript仿微信(電話)聯(lián)系人列表滑動字母索引實例講解(推薦)
這篇文章主要介紹了仿微信(電話)聯(lián)系人列表滑動字母索引實例,通過for循環(huán)進行判斷,具體操作步驟大家可查看下文的詳細講解,感興趣的小伙伴們可以參考一下。2017-08-08
echarts餅圖標簽formatter使用及餅圖自定義標簽
項目中有遇到需要使用餅圖展示每種狀態(tài)所占比例,去echarts官網(wǎng)學習了一番,下面這篇文章主要給大家介紹了關(guān)于echarts餅圖標簽formatter使用及餅圖自定義標簽的相關(guān)資料,需要的朋友可以參考下2022-12-12
web性能優(yōu)化之javascript性能調(diào)優(yōu)
本文詳細介紹Web 開發(fā)中關(guān)于性能方面需要注意的一些小細節(jié),從 JavaScript 本身著手,介紹了 JavaScript 中需要避免的一些函數(shù)的使用和編程規(guī)則,比如 eval 的弊端,function scope chain 以及 String 的用法等等2012-12-12
解決bootstrap-select 動態(tài)加載數(shù)據(jù)不顯示的問題
今天小編就為大家分享一篇解決bootstrap-select 動態(tài)加載數(shù)據(jù)不顯示的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08

