收藏
回答

微信小程序云开发中部分请求使用cloudid不能获取手机号

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug cloudID 微信iOS客户端 7.0.8 2.8.0及以上
  1. 已将微信版本调到7.0.8和基础库版本大于2.8.0,bug报错为ios和安卓手机端
  2. 3月10号之前的生产环境上的手机号都可以正常解析,3月10号之后的就只能部分使用cloudID请求能成功获得手机号,剩下的获取手机号数据为空
  3. 有开发者和我遇到了同样的问题
  4. 安卓和ios都有客户反馈类似的问题
  5. 有其他的开发者也反馈类似问题 https://developers.weixin.qq.com/community/develop/doc/00084cc99083587fce0a0636651c00?highLine=cloudid%2520undefined
  6. 是不是你们3月10号左右发版本发了一个bug出来

小程序段获取代码如下,云函数发现有部份请求获取的手机号为空(例如云函数的 Request ID: 72bdf9a9-653b-11ea-a5bb-525400235f2a

//小程序端获取手机号js代码如下
  getPhoneNumber(e) {
    let that = this;
    // 启动加载状态
    that.setData({
      verBtnLoad: true
    })
    let cloudID = e.detail.cloudID
    if (e.detail.errMsg == 'getPhoneNumber:ok') {
      wx.cloud.callFunction({
        name: 'getPhoneNumber',
        data: {
          collection: "usrInfo",
          condition: {
            _openid: that.openid
          },
          data: wx.cloud.CloudID(cloudID)   //部分请求云函数这里获取数据为空,为空率约为80%
        },
        success: function(res) {
          console.log(res)
          wx.showModal({
            title: '成功提示',
            content: '你的手机号信息认证成功,现在可以发布和评论帖子了。',
            showCancel: false
          })
          that.setData({
            verified: true,
            verBtnLoad: false
          })
        },
        fail: function(err) {
          console.error(err)
          wx.showModal({
            title: '失败提示',
            content: '手机号认证失败,发生网络错误,请稍后重试!',
            showCancel: false
          })
          that.setData({
            verBtnLoad: false
          })
        }
      })
    } else {
      that.setData({
        verBtnLoad: false
      })
    }
  },




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

2 个回答

  • Tom ssss🐯
    Tom ssss🐯
    2020-03-16

    话说云函数需要开发者手动维护session的状态吗?如果session过期了,是不是就解析不出来手机号了

    2020-03-16
    有用 1
    回复 1
    • Tom ssss🐯
      Tom ssss🐯
      2020-03-16
      我生产环境这块的代码都没变动过,然后从3月10号开始就开始批量报错了。
      2020-03-16
      回复
  • 老张
    老张
    2020-03-16

    cloudID是这样用的吗?

    https://developers.weixin.qq.com/community/develop/article/doc/0006a8ec7ac860c94bf90a34f5d813

    2020-03-16
    有用
    回复 5
    • Tom ssss🐯
      Tom ssss🐯
      2020-03-16
      js代码(上面有贴)和wxml代码如下图(用的第三方组件)是这样啊,之前都可以,三月10号之后手机号数据就部分为空了,部分正常,很奇怪
      2020-03-16
      回复
    • Tom ssss🐯
      Tom ssss🐯
      2020-03-16
      和您写的一样,就是部分成功,部分失败,我感觉是(1)不是微信小程序云开发框架中的session管理没做好,导致手机号解析不出来(2)或者新的小程序版本库button点击后获取的cloudid为空?很奇怪
      2020-03-16
      回复
    • 腾飞
      腾飞
      2020-03-18
      和你的问题一样,怎么解决的在
      2020-03-18
      回复
    • 保卫虎鲸
      保卫虎鲸
      2020-09-02
      张哥, 现在的情况是e.detail.cloudID, 这个怎么破?
      2020-09-02
      回复
    • 崔志平
      崔志平
      2020-09-29回复Tom ssss🐯
      问题解决了吗?搞不定找我啊,有偿帮助,我是专家哈哈哈
      2020-09-29
      回复
登录 后发表内容
问题标签