小程序globalData获取头像

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Dj_Fairy/article/details/80828502

在做小程序的时候碰到了app.globalData.userInfo

获取userInfo的时候报空,查了下原因,小程序获取信息的时候为异步请求

所以要定时检测头像

// pages/personal/index/index.js

var app = getApp();

Page({
/**
* 页面的初始数据
*/
data: {
userInfo: {}
},

/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
var that = this;
//微信获取信息为请求(异步)所以定时检测头像
this.getWxUserInfo();
},
getWxUserInfo(){
if (this.data.avatarUrl){//如果已经有头像了,则退出
return;
}
console.log('do-getWxUserInfo')
if (!app.globalData.userInfo.avatarUrl) { //判断是否登录获取到头像
//登录信息中没有
if (wx.getStorageSync("userData").imageUrl){//判断缓存中是否有头像
this.setData({
avatarUrl: wx.getStorageSync("userData").imageUrl
})
return ;
}

//缓存中没有重新递归这个方法
setTimeout(() => {
this.getWxUserInfo();
}, 500)
}else{
this.setData({
avatarUrl: app.globalData.userInfo.avatarUrl
})
}
},

})

展开阅读全文

没有更多推荐了,返回首页