1. 首先, 微信中的wx.getUserInfo接口改了,已经不能默认弹框进行受权了,必须引导用户点击按钮本身进行受权。javascript
2. 用户进入页面时,能够先调用uni.getUserInfo, 若是用户已受权uni.getUserInfo是能够直接获取到用户的信息的html
3. 若是是第一次受权,将会进fail回调,若是进入fail回调,给用户提示去进行受权就能够了java
页面加载完成时调用uni.getUserInfo小程序
onLoad(){ this.changeLogin(); }, methods:{ changeLogin(){ // 受权 // 获取用户详细信息, 能够获取到说明已经受权过, 直接拿到用户信息 uni.getUserInfo({ provider: 'weixin', //受权成功的回调 success(res) { uni.showToast({ title:'受权成功', icon:'none' }) console.info(res.data) //that.login(res.data);//受权成功调用本身的登陆方法就能够了 }, //第一次进入小程序 fail() { uni.showToast({ title: '请点击受权进行登陆', icon: 'none' }); } }); } }
受权html代码:微信
<button open-type="getUserInfo" lang="zh_CN" @getuserinfo="onGotUserInfo">受权帐号信息</button>
点击受权js代码:ide
/** * 用户赞成受权我的微信信息 * @param {Object} e 用户的信息 */ onGotUserInfo(e) { console.info(e.detail) console.info(e.detail.userInfo); }