在“我的”页面里获取用户信息
显示用户的头像和昵称
页面布局代码如下
<view><view class='banner'><view class="userinfo"><button wx:if="{{!hasUserInfo && canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button><block wx:else><image bindTap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}"background-size="cover"></image><text class="userinfo-nickname">{{userInfo.nickName}}</text></block></view></view><view class="page__bd"><view class="weui-panel__ft"><view class="weui-cell weui-cell_access"><view class="weui-cell__bd">我的收藏</view><view class="weui-cell__ft weui-cell__ft_in-access"></view></view></view><view class="weui-panel__ft"><view class="weui-cell weui-cell_access"><view class="weui-cell__bd">查看更多</view><view class="weui-cell__ft weui-cell__ft_in-access"></view></view></view></view></view>
在index.js里获取用户信息,代码如下
//index.js//获取应用实例const app = getApp()Page({data: {motto: 'Hello World',userInfo: {},hasUserInfo: false,canIUse: wx.canIUse('button.open-type.getUserInfo')},onLoad: function () {if (app.globalData.userInfo) {this.setData({userInfo: app.globalData.userInfo,hasUserInfo: true})} else if (this.data.canIUse) {// 由于 getUserInfo 是网络请求,可能在 Page.onLoad 之后才返回// 所以此处加入 callback,以防止这种情况app.userInfoReadyCallback = res => {this.setData({userInfo: res.userInfo,hasUserInfo: true})}} else {// 没有 open-type=getUserInfo 版本的兼容处理wx.getUserInfo({success: res => {app.globalData.userInfo = res.userInfothis.setData({userInfo: res.userInfo,hasUserInfo: true})}})}},getUserInfo: function (e) {console.log(e)app.globalData.userInfo = e.detail.userInfothis.setData({userInfo: e.detail.userInfo,hasUserInfo: true})}})
