微信新的用户信息接口wx.getUserProfile,返回信息解密失败

**关于微信小程序新登录接口wx.getUserProfile的使用方法
和手机号码有几率解密失败的解决办法**
自从2021年4月15号微信发布了小程序登录、用户信息相关接口调整说明之后,4.15之后上线的产品需更改用户登录逻辑,这是比较操*的,尤其是产品逻辑完善的项目更是想骂人

但奈何无法改变,那就只能尽快适应,所以我在这里分享一下新接口的写法

有不懂的可以留言评论或者私信,会第一时间回复

wx.getUserProfile({
	//新接口获取用户的开放信息(头像,昵称等,旧接口wx.getUserInfo获取
	//的信息皆为匿名)
	success:res=>{
		//用户头像
		//res.userInfo.avatarUrl
		//用户昵称
		//res.userInfo.nickName
		//调用完新接口后使用wx.login获取加密code
		wx.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将返回信息传给后端解密有时成功有时失败,怎么解决? 看了社区讨论本来想优化一下项目的接口,但是测试同事怕再出问题,所以就暂且没有直接优化成直接使用返回的明文信息的方式。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值