1、<open-data></open-data> :只是简单的获取头像、用户名用于显示
<open-data class="user-avatar" type="userAvatarUrl"></open-data>
<open-data class="user-name" type="userNickName" lang="zh_CN"></open-data>
其中,type="userAvatarUrl"是获取用户头像,type="userNickName"是获取用户昵称,具体使用详情查看小程序开发文档,此方法仅用于直接简单的展示用户信息。
2、使用 <button open-type="getUserInfo">获取用户信息
在用户未授权过的情况下调用此接口,将不再出现授权弹窗,会直接进入 fail 回调。
在用户已授权的情况下调用此接口,可成功获取用户信息。
1、在项目首页直接调用getUserInfo方法,若从未授权过,跳转到授权页面引导用户手动授权
<button open-type="getUserInfo" bindgetuserinfo="onGetUserInfo" >
需注意:bindgetuserinfo="onGetUserInfo"
用户点击该按钮时,会返回获取到的用户信息,回调的detail数据与wx.getUserInfo返回的一致,open-type="getUserInfo"时有效。
所以,不再需要写设置页提示框以及对应的设置页面,好方便啊!!!
onLoad: function (e) {
let that = this;
// 获取用户信息
wx.getSetting({
success(res) {
// console.log("res", res)
if (res.authSetting['scope.userInfo']) {
console.log("已授权=====")
// 已经授权,可以直接调用 getUserInfo 获取头像昵称
wx.getUserInfo({
success(res) {
console.log("获取用户信息成功", res)
that.setData({
name: res.userInfo.nickName,
avatarUrl: res.userInfo.avatarUrl
})
},
fail(res) {
console.log("获取用户信息失败", res)
}
})
} else {
console.log("未授权=====")
// that.showSettingToast("请授权")
}
},
onGetUserInfo: function(e) {
console.log(e.detail.userInfo)
}
})
},