赞
踩
问题:
小程序无法获取用户头像
原因:
无法获取头像的原因是,代码里出现了两个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 }) } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。