当前位置:   article > 正文

小程序无法获取用户头像的原因_小程序模拟器无法获取头像

小程序模拟器无法获取头像

问题:
小程序无法获取用户头像

原因:
无法获取头像的原因是,代码里出现了两个onLoad事件。

详细原因:
onLoad事件是在页面加载完成后就调用的代码,会在页面或图像加载完成后立即发生。
onLoad里写的是获取用户信息的方法,也包括了获取头像的方法,而我在修改代码前未注意到已经有了一个onload 事件,又添加了一个onLoad,所以导致获取用户信息的onLoad事件没有执行,因此获取不到用户头像

onLoad代码:

onLoad: function() {
    let that = this;
    let openId = wx.getStorageSync("openId");
    if (openId == null || openId == "") {
      that.setData({
        isAuthor: true
      })
      return
    }
    // 获取用户信息回调
    app.userInfoReadyCallback = res => {
      // 依靠Object.keys()这个方法通过判断它的长度来知道它是否为空。Object.keys(object).length === 0
      //判断json中是否存在某个字段: !("key" in obj) 和 res.hasOwnProperty("key")
      if (res.errMsg === "getSetting:ok") {
        if (!res.authSetting['scope.userInfo']) {
          that.setData({
            isAuthor: true
          })
        }
      }
      // 判断授权成功后的业务处理
      if (res.errMsg === "getUserInfo:ok") {
        that.setData({
          userInfo: res.userInfo,
          headImg: res.userInfo.avatarUrl,
          openId: openId,
          isAuthor: false
        })
      }
    }
  }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/675149
推荐阅读
相关标签
  

闽ICP备14008679号