美文网首页程序员
小程序无法获取用户头像

小程序无法获取用户头像

作者: 牛哞哞杂记 | 来源:发表于2019-08-29 18:32 被阅读0次

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

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

            })

          }

        }

      }

    相关文章

      网友评论

        本文标题:小程序无法获取用户头像

        本文链接:https://www.haomeiwen.com/subject/lwrwectx.html