要求:
1.在个人中心显示用户头像,点击头像,对头像进行更新
2.在其它页面显示用户头像
实现思路:
1.登录时候获取用户头像,保存到全局app.globalData,哪个页面需要就调用它
2.用户中心可以获取系统头像。点击头像,获取最新头像更新到全局app.globalData里面,同时调用更新头像接口
核心代码:
<button class="top1" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo"></button>
//储存和更新获取到的userImg
bindGetUserInfo(e){
var userImg = e.detail.userInfo.avatarUrl
app.globalData.userImg = userImg
this.setData({
head_url:userImg //head_url是头像图片
})
Util.showMsg("已经是最新头像了");
var url = app.globalData.api + 'xxx/updateUserHeadImg';
var data = {
img:userImg,
userId: app.globalData.userId
}
//请求.........
Wechat.request(url, data).then((res) => {
console.log(res);
}).catch((res) => {
})
},
PS:
1:小程序获取系统头像,必须使用<button open-type="getUserInfo"bindgetuserinfo="bindGetUserInfo"></button>
2.top1采用绝对定位,背景色为透明,设置z-index将它覆盖到头像image上面
.top1 {
position: absolute;
width: 80rpx;
height: 80rpx;
border-radius: 50%;
right:20rpx;
top:20rpx;
background-color:transparent;
border-style:none;
z-index:99;
}
网友评论