赞
踩
//注意:将代码放在onLoad方法下 if (!wx.getStorageSync('hadAuthed')) { // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框 // An highlighted block wx.showModal({ title: '温馨提示', content: '正在请求获取您的个人信息,以后续方便使用本程序!', success(res) { if (res.confirm) { wx.getUserProfile({ desc: "获取你的昵称、头像、地区及性别", success: res => { // app.globalData.userInfo = data wx.setStorageSync('userInfo', data) wx.setStorageSync('hadAuthed', true) // wx.getStorageSync('hadAuthed') //这里可以发起获取token的请求 // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 // 所以此处加入 callback 以防止这种情况 // callback && callback(res); }, fail: res => { //拒绝授权 // that.showErrorModal('您拒绝了请求'); wx.showToast({ title: '授权失败', icon: 'none', duration: 1000 }) return; } }) } else if (res.cancel) { wx.showToast({ title: '授权失败', icon: 'none', duration: 1000 }) //拒绝授权 showErrorModal是自定义的提示 // that.showErrorModal('您拒绝了请求'); return; } } }) }
温馨提示:
1.以往wx.getUserInfo是通过<button open-type="getUserInfo"/>
按钮去触发,而wx.getUserProfile是以弹框的方式去触发
2.以往wx.getUserInfo是通过wx.getSetting
去判断登录状态,而wx.getUserProfile是通过wx.setStorageSync
缓存去判断登录状态
在新的wx.getUserProfile无法获取性别地区,只能获取头像和昵称,获取结果如图:
参考官方:官方公告链接跳转
解决方案:待更新
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。