收藏
回答

获取手机号文档错误

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

e.detail.code是拿不到值的。

Page({
  getPhoneNumber (e) {
    //console.log(e.detail.code)
    console.log(e.detail.encryptedData)
  }
})

回答关注问题邀请回答
收藏

2 个回答

  • brave
    brave
    2021-12-24

    误区

    1、为什么「bindgetphonenumber」事件回调中没有返回 code 参数?

    ① 确认当前基础库版本是否为 2.21.2 及以上。
    ② 目前开发者工具未兼容此表现(近期应该会同步),目前以真机调试为准。

    2、为什么我传了 code 后端报 40029 错误码?

    ① 手机号获取凭证 code 并非 wx.login 获取的 code ,而是 button 组件 open-type="getPhoneNumber" 通过 bindgetphonenumber 事件回调获取的,具体参考手机号获取文档
    ② 手机号获取凭证 code 有效期为 5 分钟,并且只能消费一次。确认是否过期或者已经被二次使用过。

    3、这个更新是不是我一定要跟着修改自己的业务呢?

    不一定需要,按照原来的逻辑去获取也没问题,只不过微信提供了更为安全的解密方案。
    总结一句话就是:为了用户数据安全,从基础库 2.21.2 开始就可以使用新的逻辑解密获取用户手机号,相关接口 phonenumber.getPhoneNumber

    2021-12-24
    有用 2
    回复 1
    • Aaron洪龙
      Aaron洪龙
      2021-12-24
      那文档也太激进太笼统了点。开发者工具都没做兼容。直接就把老的方法给屏蔽了。你让开发者怎么弄。
      2021-12-24
      回复
  • 神经蛙
    神经蛙
    2021-12-24

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

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

    一个新的一个旧的

    2021-12-24
    有用
    回复
登录 后发表内容