由于微信官方修改了 getUserInfo 接口,所以现在无法实现一进入微信小程序就弹出授权窗口,只能通过 button 去触发。
自己写一个微信授权登录页面让用户实现点击的功能,也就是实现了通过 button 组件去触发 getUserInof 接口。在用户进入微信小程序的时候,判断用户是否授权了,如果没有授权的话就显示授权页面,让用户去执行授权的操作。如果已经授权了,则直接跳过这个页面,进入首页。
<button bindtap="getUserProfile" type="primary">获取用户信息</button>
getUserProfile(e){
wx.getUserProfile({
desc: '用于完善会员资料',
success: (res) => {
console.log('授权成功', res);
// 写入缓存
wx.setStorageSync('userInfo', res.userInfo)
// 更新用户信息
this.setData({
userInfo: res.userInfo,
})
},
fail: (res) => {
console.log('授权失败', res);
}
})
},