小程序无法获取用户头像的原因

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

原因:
无法获取头像的原因是,代码里出现了两个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
        })
      }
    }
  }
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值