一、在此之前,小程序获取微信的用户信息,用的都是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>