前言:微信小程序在之前使用 wx.getUserInfo 是可以直接调用授权弹窗的,但是之后微信官方发表声明
为优化用户体验,使用 wx.getUserInfo 接口直接弹出授权框的开发方式将逐步不再支持。从2018年4月30日开始,小程序与小游戏的体验版、开发版调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败。正式版暂不受影响。开发者可使用以下方式获取或展示用户信息:
1、使用 button 组件,并将 open-type 指定为 getUserInfo 类型,获取用户基本信息。
详情参考文档:https://developers.weixin.qq.com/miniprogram/dev/component/button.html
2、使用 open-data 展示用户基本信息。
.详情参考文档:https://developers.weixin.qq.com/miniprogram/dev/component/open-data.html
那么关于wx.getUserInfo有哪些相关的知识点呢,个人总结了一些:
自从微信小程序不支持wx.getUserInfo 直接调用授权弹窗以后,微信官方提供了获取上方两种方法来获取用户的个人信息
(1)使用button组件
button组件位于小程序的表单组件当中,可以将其open-type属性设置为getUserInfo 类型,获取用户基本信息。
<button open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>
用户点击相关按钮后,调用下方的函数,将请求得到的数据存到 globalData 中,就能全局使用了
getUserInfo: function(e) {
app.globalData.userInfo = e.detail.userInfo
this.setData({
userInfo: e.detail.userInfo,
hasUserInfo: true
})
}
(2)除button组件之外,还可以不通过wx.getUserInfo来获取用户的信息,就是说用户在没有授权的情况下,也可以获取用户信息,但是这些信息只包含用户的基本信息,如用户头像、昵称、性别、所在地等,这种可以通过一下方式获取
<open-data type="groupName" open-gid="xxxxxx"></open-data> //拉取群名称(只有当前用户在此群内才能拉取到群名称)
<open-data type="userAvatarUrl"></open-data> //获取用户头像
<open-data type="userGender" lang="zh_CN"></open-data> //获取用户性别
可以指定不同的type类型来指定所获得的用户信息(详情参看文档,上方有传送门)