<view class="container">
<view class="userinfo">
<block wx:if="{{!hasUserInfo}}">
<button wx:if="{{canIUseGetUserProfile}}" bindtap="getUserProfile"> 获取头像昵称 </button>
<button wx:else open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>
</block>
<block wx:else>
<image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image>
<text class="userinfo-nickname">{{userInfo.nickName}}</text>
</block>
</view>
</view>
onLoad() {
wx.getStorage({
key: 'userInfo',
success :(res)=> {
console.log("获取缓存成功",res.data)
this.setData({
hasUserInfo:true, //获取缓存成功的话就直接登陆不需要点击允许
userInfo:res.data //将得到的缓存重新给到key,即userInfo
})
},
fail:(err)=>{
console.log("获取失败",err);
//如果这个函数存在的话就返回true,(只有版本在2.10.4以上才可以),否则执行wxml里获取头像昵称按钮2
if (wx.getUserProfile) {
this.setData({
canIUseGetUserProfile: true
})
}
}
})//后显示这个,因为获取缓存是(耗时操作)异步操作
console.log("----------");//先显示出这个
},
getUserProfile(e) {
// 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认
// 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
wx.getUserProfile({
desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: (res) => {
console.log('success----',res);
wx.setStorage({
key:"userInfo",
data:res.userInfo
})
this.setData({
userInfo: res.userInfo,
hasUserInfo: true
})
}
})
},