获取用户手机号失败报错?
发布于 6 年前 作者 jiecai 11628 次浏览 来自 官方Issues

在第一次获取到手机号之后,点击登出,登出就是删除本地存储的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’获取手机号就不会报错,这是为什么?

4 回复

那就是需要重新wx.login一下

看报的错并不是解密出错了,官方给出的解密数据是

{
    "phoneNumber": "13580006666",
    "purePhoneNumber": "13580006666",
    "countryCode": "86",
    "watermark":
    {
        "appid":"APPID",
        "timestamp": TIMESTAMP    }}

其实最终结果可能不包含phoneNumber还是purePhoneNumber,具体要看解密是否正常了,查查后台的上一步解密出了什么,或者报了什么错,才能准确定位问题

wx.login 拿个code 去换个session_key 然后用这个去解加密data

有地址么 发你个文档

回到顶部