收藏
回答

用户更换绑定手机号后getPhoneNumber中的手机号与wx.login返回的code不一致

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.login 微信iOS客户端 7.0.17 2.9.0

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html

我们有遇到一个用户,他原先是用A手机号授权登录我们的小程序,手机号获取一切正常;

后来他更换并绑定了另外一部B手机号。此时授权登录后,返回的手机号仍是A的。

我们通过wx.login返回的res.code 在后端调用auth.code2Session查询,它对应的一直是A手机号。

wx.login({
      success: (res) => {               
          console.log('user_code', res.code);
      }
});
回答关注问题邀请回答
收藏

5 个回答

  • 其实其实
    其实其实
    07-16

    碰到了同样的问题,请问怎么解决的,并且使用手机号登录的话,必须先调wx.login,才能去交换手机号,这又得怎么操作呢?

    07-16
    有用
    回复
  • 洪昱程
    洪昱程
    2020-11-30

    请问解决了吗, 遇到同样的问题

    2020-11-30
    有用
    回复
  • A notorious liar(小花猫)
    A notorious liar(小花猫)
    2020-10-19

    微信号绑定的手机号码是唯一的吧,如果用户更换一部手机授权的时候也不能证明他这个微信绑定的手机更换成新的手机号了。那授权的时候拉的是微信唯一绑定的手机号,跟换新手机换新号码什么关系??主要要看他微信绑那个手机号,微信绑定的手机号就是授权拉到的手机号。

    2020-10-19
    有用
    回复 3
    • 彦斌
      彦斌
      2020-10-21
      谢谢回复,微信手机号绑的是新的手机号码,在授权弹出时可以看到。但是通过wx.login返回的res.code,通过auth.code2Session返回的却是旧的手机号。
      2020-10-21
      回复
    • A notorious liar(小花猫)
      A notorious liar(小花猫)
      2020-10-21回复彦斌
      你让他打开微信 我的-设置-账号与安全-手机号。看看那个手机号是新的手机号还是旧的手机号
      2020-10-21
      回复
    • 彦斌
      彦斌
      2020-10-26回复A notorious liar(小花猫)
      是的,是新的手机号。我的>设置里显示的号码,以及授权窗口弹出的都是新手机号,但在代码中获取的是旧手机号。
      2020-10-26
      回复
  • hf
    hf
    2020-10-19

    wx.login应该不会返回用户手机号。getPhoneNumber才是正确的。

    2020-10-19
    有用
    回复 1
    • 彦斌
      彦斌
      2020-10-21
      谢谢回复,是通过wx.login得到res.code,再通过auth.code2Session得到手机号。
      2020-10-21
      回复
  • 彦斌
    彦斌
    2020-10-19
    弹出的授权框上面显示的是正确的B手机号,但授权后wx.login返回的code对应的却是A手机号
    


    2020-10-19
    有用
    回复
登录 后发表内容
问题标签