在最新的微信小程序公告中,官方发布了最新的获取用户信息的 API 接口:自 2021 年 4 月 13 日起,将之前获取用户信息的 wx.getUserInfo
变更为 wx.getUseProfile
,并且使用 wx.getUserInfo
接口将不再弹出授权窗口,取而代之的是返回匿名的用户信息(即头像是未置设头像的图像,用户名为:微信用户)
具体的变更详见官方公告
那么我们现在应该如何优雅的使用 wx.getUserProfile
呢?
根据官方的说法,现在获取用户信息必须需要在一个按钮的点击操作中进行,即bintap
的事件中,不需要 wx.getUserInfo
的 open-type
来获取授权。
在获取到 bindtap
的点击事件之后,我们在使用的处理函数中使用 wx.getUserProfile
来获取用户的授权,其中需要注意的是:必须要添加 desc
参数,来描述获取用户授权的用途
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
lang | string | en | 否 | 显示用户信息的语言 |
desc | string | 是 | 声明获取用户个人信息后的用途,不超过 30 个字符 | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
下面的就是一个简单的示例程序:
<button bindtag="onGetUserProfile">获取用户新昌县</button>
onGetUserProfile() {
wx.getUserProfile(
desc: '完善会员注册信息',
success(result) {
// 获取到的用户信息
console.log(result)
}
)
}
更多内容
前端开发转全栈,目前的技术栈是 Node.js、Python,日常研究 C、C++ 和 Rust,孜孜啃食系统开发和网络设计中~
更多的内容请移步GitHub@ruxf,知乎@如小非,掘金@如小非,或者关注我的公众号@全栈开发师,欢迎来撩~
学到老,写到老,生命不停,编程不止~
加油,打工人~