在第一次获取到手机号之后,点击登出,登出就是删除本地存储的openId,如果检测“session_key”未过期那么会保存,直到下一次点击登录获取手机号,就把未过期的session_key再次传到后台解密手机号,但是一直报错“
Cannot read property 'phoneNumber' of null;at api request success callback function
TypeError: Cannot read property 'phoneNumber' of null
”
如果登出后保存'session_key'时间过长就会报错,如果立马再次使用未过期的‘session_key’获取手机号就不会报错,这是为什么?
请问这个问题解决了吗,我遇到了相同的问题。
看报的错并不是解密出错了,官方给出的解密数据是
其实最终结果可能不包含phoneNumber还是purePhoneNumber,具体要看解密是否正常了,查查后台的上一步解密出了什么,或者报了什么错,才能准确定位问题
wx.login 拿个code 去换个session_key 然后用这个去解加密data
是的,我是这样写的,但是我写了个登出方法,其实也就是删除获取到的手机号,再次点击登录的时候把未过期的session_key再次传到后端解密手机号,如果这个期间停留时间过长,就会出现解密失败,但是检测到的session_key
又确实是未过期
那就是需要重新wx.login一下
有地址么 发你个文档