微信小程序:获取手机号,解密异常问题

问题描述:

开发一个微信小程序,有个单独从公众号进入的页面,需要获取手机号,但是经常会后台解析手机号异常


原因分析:

根据微信官方文档和论坛中各个相同问题的解决方案,我觉得是后台解析的时候,session_key没有对上,导致了后台解析手机号的异常。

因为后台每次是从数据库取出来的session_key,然后再进行解析。小程序前端(我)和后台都是后来接手的,后台并不清楚是哪一步存入的session_key。


解决方案:

一开始想用wx.checkSession先校验一下session_key是否过期,但是发现了后台每次是从数据库取出来,所以并不清楚校验的session_key是否是库里存的那个。

于是每次进入小程序页面时,都会在onLoad中调用wx.login,将获取的code放在缓存中,并在wx.login执行完毕后,唤起Button按钮,调用获取手机号的事件。

之后将缓存的code,连同Button获取手机号的事件返回的参数(iv和encryptedData)一起传给后台,让后台先解析code,获取session_key,再去解密encryptedData,获取手机号。

结果:

目前来看暂时没出现什么问题,有问题我会再更新

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值