问题描述
同事在做小程序开发时,有获取用户手机号的需求,代码运行都比较正常,只是手机号有时能解密得到,有时又不能解密得到。(有几率第一次获取手机号码失败,但是随后一次又能成功)流程如下: 用户点击—获取手机号码—按钮后 触发其绑定的获取手机号的函数 getPhoneNumber
反应到用户界面上是如下图这样的效果
观看他的小程序端代码,下面是 getPhoneNumber 的相关代码截图:
我做了一些修改,下划线部分是我添加的,注释了他的wx.login 调用。后面会说明。
/index/wechat/getMobile 是原本的请求地址。data参数原本只包含 iv 和 encryptedData。
再看看服务器PHP代码片段(为了表示友好,无关代码擦去了):
getMobile 就是用wx.login拿到的code 去微信服务器换 sessionKey ,然后再通过 se