微信小程序 wx.getUserInfo引導(dǎo)用戶授權(quán)問題實(shí)例分析
更新時(shí)間:2020年03月09日 08:42:48 作者:WFaceBoss
這篇文章主要介紹了微信小程序 wx.getUserInfo引導(dǎo)用戶授權(quán)問題,結(jié)合實(shí)例形式分析了微信小程序使用wx.getUserInfo引導(dǎo)用戶授權(quán)問題的具體操作步驟與實(shí)現(xiàn)方法,需要的朋友可以參考下
本文實(shí)例講述了微信小程序 wx.getUserInfo引導(dǎo)用戶授權(quán)問題。分享給大家供大家參考,具體如下:
首先,在page外定義一個(gè)函數(shù)用戶判斷是否為空對(duì)象
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ò)請(qǐng)求,可能會(huì)在 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: '如需正常使用該小程序功能,請(qǐng)按確定并在授權(quán)管理中選中“用戶信息”,然后點(diǎn)按確定。最后再重新進(jìn)入小程序即可正常使用。',
showCancel: false,
success: function (resbtn) {
if (resbtn.confirm) {
wx.openSetting({
success: function success(resopen) {
// 獲取用戶數(shù)據(jù)
that.checkSettingStatu();
}
});
}
}
})
}
})
}
}
最后,在page中定義一個(gè) 用于檢測(cè) 當(dāng)前授權(quán)的狀態(tài)
checkSettingStatu: function (cb) {
var that = this;
// 判斷是否是第一次授權(quán),非第一次授權(quán)且授權(quán)失敗則進(jì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: '如需正常使用該小程序功能,請(qǐng)按確定并在授權(quán)管理中選中“用戶信息”,然后點(diǎn)按確定。最后再重新進(jì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"
}
}
}
}
}
})
}
簡(jiǎn)單的記錄,不喜勿噴。
希望本文所述對(duì)大家微信小程序開發(fā)有所幫助。
您可能感興趣的文章:
- 微信小程序獲取用戶信息的兩種方法wx.getUserInfo與open-data實(shí)例分析
- 微信小程序Getuserinfo解決方案圖解
- 微信小程序-getUserInfo回調(diào)的實(shí)例詳解
- 微信小程序如何通過用戶授權(quán)獲取手機(jī)號(hào)(getPhoneNumber)
- 微信小程序用戶授權(quán)彈窗 拒絕時(shí)引導(dǎo)用戶重新授權(quán)實(shí)現(xiàn)
- 微信小程序用戶授權(quán)、位置授權(quán)及獲取微信綁定手機(jī)號(hào)
- 微信小程序如何再次獲取用戶授權(quán)的方法
- 微信小程序用戶授權(quán),以及判斷登錄是否過期的方法
- 微信小程序--獲取用戶地理位置名稱(無須用戶授權(quán))的方法
- 詳解微信小程序開發(fā)用戶授權(quán)登陸
- PHP實(shí)現(xiàn)微信小程序用戶授權(quán)的工具類示例
相關(guān)文章
JS定時(shí)器使用,定時(shí)定點(diǎn),固定時(shí)刻,循環(huán)執(zhí)行詳解
下面小編就為大家?guī)硪黄狫S定時(shí)器使用,定時(shí)定點(diǎn),固定時(shí)刻,循環(huán)執(zhí)行詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-05-05

