**关于微信小程序新登录接口wx.getUserProfile的使用方法
和手机号码有几率解密失败的解决办法**
自从2021年4月15号微信发布了小程序登录、用户信息相关接口调整说明之后,4.15之后上线的产品需更改用户登录逻辑,这是比较操*的,尤其是产品逻辑完善的项目更是想骂人
但奈何无法改变,那就只能尽快适应,所以我在这里分享一下新接口的写法
有不懂的可以留言评论或者私信,会第一时间回复
wx.getUserProfile({//新接口获取用户的开放信息(头像,昵称等,旧接口wx.getUserInfo获取//的信息皆为匿名)success:res=>{//用户头像//res.userInfo.avatarUrl//用户昵称//res.userInfo.nickName//调用完新接口后使用wx.login获取加密codewx.login({success:res=>{//这里是加密code//res.code//注意!!!!调用完wx.login之后还需调用旧接口//wx.getUserInfo并且必须按照这样的顺序,//不然会出现手机号码有几率解密失败的情况wx.getUserInfo({success:res=>{//res.encryptedData//res.iv//现在我们已经拿到了解密openid和手机号码的三个参数//然后请求服务端接口解密拿到值就可以编写我们的逻辑代码}})}})}
})
总结:手机号码有几率解密失败的解决办法:
先调用wx.getUserProfile
再调用 wx.login
再调用 wx.getUserInfo
顺序一定不能错,否则就会出现手机号码有几率解密失败的问题
总结:新接口替代旧接口获取用户信息:
注意:只是用新接口替代旧接口获取用户信息,其他逻辑没变
不要弄混了!!!不要弄混了!!!旧接口还是得使用
原因看上面代码和上一个总结
有什么问题可以留言评论或者私信,博主会第一时间回复解决问题,觉得解决了各位的疑惑或者是解决了各位的Bug不妨点个赞收藏
————————————————
版权声明:本文为CSDN博主「Mar_Kami」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Mar_yuan/article/details/119994744
另可参考微信开放社区的讨论:前端调用wx.getUserProfile将返回信息传给后端解密有时成功有时失败,怎么解决? 看了社区讨论本来想优化一下项目的接口,但是测试同事怕再出问题,所以就暂且没有直接优化成直接使用返回的明文信息的方式。