微信小程序 wx.getUserInfo引导用户授权问题实例分析
更新时间:2020年03月09日 08:42:48 作者:WFaceBoss
这篇文章主要介绍了微信小程序 wx.getUserInfo引导用户授权问题,结合实例形式分析了微信小程序使用wx.getUserInfo引导用户授权问题的具体操作步骤与实现方法,需要的朋友可以参考下
本文实例讲述了微信小程序 wx.getUserInfo引导用户授权问题。分享给大家供大家参考,具体如下:
首先,在page外定义一个函数用户判断是否为空对象
var isEmptyObject = function (e) {
var temp;
for (temp in e)
return !1;
return !0
}
然后,在page中的onload里面调用授权
onLoad: function () {
var that = this;
if (app.globalData.userInfo) {
this.setData({
userInfo: app.globalData.userInfo
})
} else if (this.data.canIUse) {
// 由于 getUserInfo 是网络请求,可能会在 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: '用户未授权',
content: '如需正常使用该小程序功能,请按确定并在授权管理中选中“用户信息”,然后点按确定。最后再重新进入小程序即可正常使用。',
showCancel: false,
success: function (resbtn) {
if (resbtn.confirm) {
wx.openSetting({
success: function success(resopen) {
// 获取用户数据
that.checkSettingStatu();
}
});
}
}
})
}
})
}
}
最后,在page中定义一个 用于检测 当前授权的状态
checkSettingStatu: function (cb) {
var that = this;
// 判断是否是第一次授权,非第一次授权且授权失败则进行提醒
wx.getSetting({
success: function success(res) {
var authSetting = res.authSetting;
if (isEmptyObject(authSetting)) {
//第一次
} else {
// 没有授权的提醒
if (authSetting['scope.userInfo'] === false) {
wx.showModal({
title: '用户未授权',
content: '如需正常使用该小程序功能,请按确定并在授权管理中选中“用户信息”,然后点按确定。最后再重新进入小程序即可正常使用。',
showCancel: false,
success: function (res) {
if (res.confirm) {
wx.openSetting({
success: function success(res) {
console.log()
}
});
}
}
})
} else if (authSetting['scope.userInfo'] === true) {
//该处用户获取用户的一些授权信息
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"
}
}
}
}
}
})
}
简单的记录,不喜勿喷。
希望本文所述对大家微信小程序开发有所帮助。
相关文章
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
这篇文章主要介绍了仿微信(电话)联系人列表滑动字母索引实例,通过for循环进行判断,具体操作步骤大家可查看下文的详细讲解,感兴趣的小伙伴们可以参考一下。2017-08-08
echarts饼图标签formatter使用及饼图自定义标签
项目中有遇到需要使用饼图展示每种状态所占比例,去echarts官网学习了一番,下面这篇文章主要给大家介绍了关于echarts饼图标签formatter使用及饼图自定义标签的相关资料,需要的朋友可以参考下2022-12-12
解决bootstrap-select 动态加载数据不显示的问题
今天小编就为大家分享一篇解决bootstrap-select 动态加载数据不显示的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-08-08


最新评论