获取用户信息
获取用户信息有一种方式wx.getUserInfo,但是这个东西不能直接调用,除非用户已经授权。
用户未授权时
用户未授权时,我们需要给用户提供一个可点击的按钮,当用户点击该按钮时,我们获取用户的相关userInfo
<button open-type="getUserInfo" bindgetuserinfo="getUserInfo">获取用户信息</button>
当用户授权后,获取到用户信息应该存放在app.globalData中,可以方便其他页面使用
如果用户已经授权
app.js加载后会判断用户是否授权,如果已经授权,则直接通过wx.getUserInfo获取用户信息,但是如果首页就需要使用用户信息。那么我们就需要在首页进行操作
- 判断app.globalData中是否有userInfo数据,如果没有,则设置给app一个方法,等待app.js中得到对应的userInfo调用该方法,并把结果作为参数传递
- 如果有,则直接使用
getUserInfo (e) {
// 点击按钮获取到用户权限并获取用户信息
// 把数据设置给app.js中的globalData 方便其他页面取用
app.globalData.userInfo = e.detail.userInfo
// 把数据设置到当前页面,方便当前页面使用
this.setData({
userInfo: e.detail.userInfo,
hasUserInfo: true
})
}