一、在此之前,小程序获取微信的用户信息,用的都是wx.getUserInfo
//例如
onLoad() {
var that = this;
wx.getUserInfo({
this.setData({
thumb: res.userInfo.avatarUrl,
nickname: res.userInfo.nickName
})
})
}
二、自从微信接口有了新的调整之后 wx.getUserInfo()便不再出现授权弹窗了(PS:但仍能用于获取已授权用户数据),需要使用button做引导
//规定打开方式为获取用户信息,并且绑定bindgetuserinfo事件去获取
<button open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授权登录</button>
bindGetUserInfo(event) {
const userInfo = event.detail.userInfo;
if(userInfo) {
this.setData({userInfo})
}
}
判断用户是否授权
wx.getSetting({
success: res => {
//已经授权,直接调用 getUserInfo 获取用户信息
if(res.authSetting['scope.userInfo']) {
wx.getUserInfo({
success: res => {
this.setData({
authorized: true,
userInfo: data.userInfo
})
}
})
}
}
})
获取用户是否授权
wx.getUserInfo({
success: res => {
this.setData({
authorized: true,
userInfo: data.userInfo
})
}
})
三、使用open-data组件展示用户信息
<!-- 如果只是展示用户头像昵称,可以使用 <open-data /> 组件 -->
<open-data type="userAvatarUrl"></open-data>
<open-data type="userNickName"></open-data>