微信小程序 wx.getUserInfo引導(dǎo)用戶授權(quán)問題實例分析
更新時間:2020年03月09日 08:42:48 作者:WFaceBoss
這篇文章主要介紹了微信小程序 wx.getUserInfo引導(dǎo)用戶授權(quán)問題,結(jié)合實例形式分析了微信小程序使用wx.getUserInfo引導(dǎo)用戶授權(quán)問題的具體操作步驟與實現(xiàn)方法,需要的朋友可以參考下
本文實例講述了微信小程序 wx.getUserInfo引導(dǎo)用戶授權(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)彈窗 拒絕時引導(dǎo)用戶重新授權(quán)實現(xiàn)
- 微信小程序用戶授權(quán)、位置授權(quán)及獲取微信綁定手機號
- 微信小程序如何再次獲取用戶授權(quán)的方法
- 微信小程序用戶授權(quán),以及判斷登錄是否過期的方法
- 微信小程序--獲取用戶地理位置名稱(無須用戶授權(quán))的方法
- 詳解微信小程序開發(fā)用戶授權(quán)登陸
- PHP實現(xiàn)微信小程序用戶授權(quán)的工具類示例
相關(guān)文章
JS定時器使用,定時定點,固定時刻,循環(huán)執(zhí)行詳解
下面小編就為大家?guī)硪黄狫S定時器使用,定時定點,固定時刻,循環(huán)執(zhí)行詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05

