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); }