收藏
回答

小程序已经调用过wx.login,获取不到手机号

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug <button open-type="getPhoneNumber" class='clearing' bindgetphonenumber="getPhoneNumberf">手机号</button> 客户端 7.0.4 2.7.4

- 当前 Bug 的表现(可附上截图)


- 预期表现

能获取到手机号

- 复现路径


- 提供一个最简复现 Demo


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

4 个回答

  • 云想衣裳花想容
    云想衣裳花想容
    2019-12-09

    老哥,你这个bug解决了没有,我也遇到了,第三方平台开发的小程序,其他的都没有事,就有一个也是拉起不了那个选择号码的界面

    2019-12-09
    有用
    回复 1
    • Rai呗特
      Rai呗特
      2019-12-18
      设计改图了,然后在其他页面调手机号(一样的写法)是ok的,无奈
      2019-12-18
      回复
  • 超级帽子戏法
    超级帽子戏法
    2019-07-12

    手机号的授权  需要先认证才行

    2019-07-12
    有用
    回复 1
    • Rai呗特
      Rai呗特
      2019-07-12
      授权过啦
      2019-07-12
      回复
  • 伊人行
    伊人行
    2019-07-10

    手机号需要算法解密,网上有相关算法,解密可以在小程序或者接口里面处理

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

    2019-07-10
    有用
    回复 14
    • Rai呗特
      Rai呗特
      2019-07-10

      我是连获取手机号码的模板都没弹出来啊

      2019-07-10
      回复
    • 伊人行
      伊人行
      2019-07-10回复Rai呗特

      楼上正解,你是拒绝授权了吧,最好在拒绝授权后弹个提示,点击提示调用授权接口

      2019-07-10
      回复
    • Rai呗特
      Rai呗特
      2019-07-10

      errMsg 打印是 getPhoneNumber:fail data no response

      2019-07-10
      回复
    • Rai呗特
      Rai呗特
      2019-07-10

      是用这个button的

      bindgetphonenumber 里面的方法调用出获取手机号的模板吧


      2019-07-10
      回复
    • 伊人行
      伊人行
      2019-07-10回复Rai呗特

      getPhoneNumber这个方法里面打印下e.detail 看看,正常的话会有

      encryptedData和iv


      2019-07-10
      回复
    查看更多(9)
  • aholy
    aholy
    2019-07-10

    wx.login只是获取code用来解密encryptedData的

    <button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">getPhoneNumber</button>


    getPhoneNumber(e) {
        console.log(e.detail.errMsg)
        console.log(e.detail.iv)
        console.log(e.detail.encryptedData)
        wx.login({
          success(res) {
            if (res.code) {
              console.log('获取code成功' + res.code)
              //发起网络请求
               wx.request({
                 url: 'https://xxx/api/WeiXinGeteway/Custom/GetWxUserInfo'          
                 data: {
                   code: res.code,
                   iv:e.detail.iv,
                   encryptedData: e.detail.encryptedData
                 }
             })
            } else {
              console.log('登录失败!' + res.errMsg)
            }
          }
        })
        
      }


    2019-07-10
    有用
    回复 6
    • Rai呗特
      Rai呗特
      2019-07-10

      getPhoneNumber:fail data no response   我获取手机号的button 打印出来的e中errMsg,返回的是这个

      2019-07-10
      回复
    • aholy
      aholy
      2019-07-10回复Rai呗特

      清除缓存和授权,重新点了同意在获取试试

      2019-07-10
      回复
    • Rai呗特
      Rai呗特
      2019-07-10回复aholy


      感觉是个bug

      2019-07-10
      回复
    • aholy
      aholy
      2019-07-10回复Rai呗特

      真机调试下呢

      2019-07-10
      回复
    • Rai呗特
      Rai呗特
      2019-07-10回复aholy

      这就是真机调试,调试工具展示的是:appid没有权限


      2019-07-10
      回复
    查看更多(1)
登录 后发表内容