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