开发小程序过程中,发现最近微信官方新调整了getUserInfo的接口的使用,并发布了一篇《小程序登录、用户信息相关接口调整说明》公告,摸索了一番之后,了解到getUserProfile用法,记录之。
老方法:open-type=“getUserInfo”
设置一个button按钮,设置open-type为getUserInfo,在js中拿取用户信息(简单信息,如用户名,地址,头像之类的)直接使用。
wxml:设置一个按钮button
<button bindgetuserinfo="getMyAvator" open-type="getUserInfo">使用微信头像</button>
js:设置对应的方法
getMyAvator: function (e) {
console.log(e.detail.userInfo)
},
效果就是无法显示出用户照片
新方法:bindtap=“getUserProfile”
按下按钮或者说是调用getUserProfile方法时,每次都会有一个弹窗弹出来请求获取用户的头像和微信用户名等基本信息。这样做的目的应该是出于保护个人信息隐私以及提高小程序登录注册等功能的安全性。
wxml:设置一个button按钮
<button bindtap="getUserProfile">使用微信头像</button>
js:调用getUserProfile方法
getUserProfile: function () {
wx.getUserProfile({
desc: '用于完成头像生成功能', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: (res) => {
console.log("获取用户信息成功", res)
},
fail: res => {
console.log("获取用户信息失败", res)
}
})
},