小程序无法获取用户头像

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

原因:无法获取头像的原因是,代码里出现了两个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

        })

      }

    }

  }

你可能感兴趣的:(小程序无法获取用户头像)