版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liyi1009365545/article/details/80389857
问题
在微信小程序开发中,获取用户信息是经常会用到的!在之前,我们直接调用
wx.getUserInfo
接口,就可以直接获取用户的信息,然而为了安全考虑,从2018年4月30号开始,wx.getUserInfo接口不能直接调用,需要使用 <button open-type="getUserInfo"></button> 引导用户主动进行授权操作
,意外就是来的这么突然,防不胜防!!!
处理方法
1、<poen-data>
:只是简单的获取信息用于显示
<poen-data>
是微信的一个组件,可以用于直接显示用户的信息,根据其type
属性来判断获取信息的类型
其中,type="userAvatarUrl"
是获取用户头像,type="userNickName"
是获取用户昵称,具体使用详情点我 ,此方法仅用于直接简单的展示用户信息。
2、使用 <button open-type="getUserInfo">
获取用户信息
使用此方法,即为引导
用户主动授权获取用户信息,关键在于引导
,主动权在用户手中,此方法相比第一种,可以直接获取到用户的具体信息,而不是仅仅展示,具体使用如下:
wxml
中书写:<button open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="onGotUserInfo">获取用户信息</button>
,一定要注意bindgetuserinfo="onGotUserInfo"
,这是获取用户信息的回调js
中书写:
onGotUserInfo: function(e) {
console.log(e.detail.errMsg)
console.log(e.detail.userInfo)
console.log(e.detail.rawData)
},
3、使用wx.getUserInfo
- 当用户未授权过,调用该接口将直接报错,即使调用授权接口去检查也没用
- 当用户授权过,可以使用该接口获取用户信息