微信在2月24号的公告: 登陆,用户信息接口调整
最近大家在开发工具中肯定注意到了这个东西,这时候大家肯定觉得发生肾磨事了,打开公告一看,好家伙。
4月13日后发布的新版本小程序,开发者调用wx.getUserInfo或<button open-type="getUserInfo"/>将不再弹出弹窗,直接返回匿名的用户个人信息,获取加密后的openID、unionID数据的能力不做调整。 这里大家先看一下关键流程改动点,了解一下为啥这么改:
改造过程:
1、 改造后如何获取open & unionId?
1、可以通过wx.login()和auth.code2session(服务端调用)
2、服务端接口需要4个参数,appid(小程序后台查看),secret(同后台查看),js_code(为wx.login返回的code),grant_type(默认固定 ‘authorization_code’)。
3、返回的参数有openid,session_key,unionid(需满足条件),errcode,errmsg。这里有的用户会报errcode 40029,code 是否有效。请求(https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code)接口需要使用GET方法。
4、此时正常流程我们获取了session_key, 「session_key的作用 ->校验signature ,解密encryptedData) 」
5、开发者服务器需要对开放数据进行解密,具体流程参照解密文档
6、此时开发者服务器需要做一套兜底方案,如果解密成功返回真实的用户信息,如果解密失败需要返回匿名数据。
7、此时当用户主动触发获取头像昵称的方法(wx.getUserProfile),如果解密成功后,会反正用户的详细数据,否则则是匿名数据。
这样想要的数据基本就都拿到了
改动中遇到的常见问题,点这个(一直提示文章内容过大)。
Component "pages/user/user" does not have a method "bindGetUserInfo" to handle event "getuserinfo". 这个警告怎么处理啊 求解
🏊♀️,先收藏😊