开门见山地说,本文主要讲述微信小程序在2022年以后获取用户信息的主要方法,如果想要了解2022年之前微信小程序获取用户信息的相关知识或者是微信小程序之前这部分的设计思想的话,推荐博主的下面这篇博客给大家了解一下:微信小程序获取用户信息及手机号授权的流程。接下来就是介绍一下2022年版微信小程序获取用户信息的方法。
首先,要说一下为什么是2022年版流程方法,因为每年微信小程序官方都喜欢在1,2月份发布关于获取用户信息的更新方法,所以大家会发现有些网上提供的方法,获取不到用户信息或者是头像昵称获取不到正确的,这些并不意味着那些方法不行,只是随着时间的推移,小程序官方废弃了以前的方法造成的。
然后,我们再来看下在2022年官方的更新有什么涉及到了获取用户信息的部分,官方的公告链接如下:小程序用户信息相关接口调整公告。重点内容如下图,官方回收了通过
展示个人信息的能力。
这也就意味着,从此以后微信小程序无法在用户无感的情况下获取用户的头像和昵称,同时开发者也无法再使用
获取用户信息。以后只能在用户授权的情况下去获取用户的信息,目前小程序官方推荐使用的方法是:wx.getUserProfile
,官方文档如下:wx.getUserProfile(Object object)。
wx.getUserProfile
需要页面产生点击事件后才可调用,点击后的效果如下图:
可以看到,在userInfo中有用户的头像avatarUrl,用户的微信昵称nickName等信息,再提供一下实现的js代码,其实就和官方文档提供的一样
getUserProfile(e) {
// 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
wx.getUserProfile({
desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: (res) => {
console.log(res)
}
})
}
最后,再来说说
在2022年变成啥样了,如果我们的小程序里有使用
的话,那么在进行真机调试时,在开发工具的控制台会提示该方法会被回收,请开发者尽快调整。
但是,如果开发者不改的话,在编译器里还是能使用
的功能,能直接展示开发者的头像和昵称,但是如果使用真机调试的话,头像和昵称就无法正常显示,会变成下图这样:
所以综上所述,在2022年微信小程序获取用户信息时,
无法使用,建议使用官方推荐的wx.getUserProfile
,当然,到了2023年还能不能用这个方法,微信官方有没有新的调整就不一定了