爲優化用戶體驗,使用 wx.getUserInfo 接口直接彈出受權框的開發方式將逐步再也不支持。從2018年4月30日開始,小程序與小遊戲的體驗版、開發版調用 wx.getUserInfo 接口,將沒法彈出受權詢問框,默認調用失敗。會直接進入 fail 回調,在用戶已受權的狀況下調用此接口,可成功獲取用戶信息。小程序
開發者可以使用如下方式獲取或展現用戶信息:微信小程序
1,請使用 <button open-type="getUserInfo"></button> 引導用戶主動進行受權操做。緩存
<button open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">受權登陸</button>
bindGetUserInfo: function(e){ //此處受權獲得userInfo console.log(e.detail.userInfo); //接下來寫業務代碼 app.globalData.userInfo = e.detail.userInfo; //最後,記得返回剛纔的頁面 wx.navigateBack({ delta: 1 }) }
2,調用接口函數wx.getUserInfo時:微信
1)當用戶未受權過,調用該接口將直接報錯,會直接進入 fail 回調
2)當用戶受權過,能夠使用該接口獲取用戶信息app
wx.getUserInfo({ withCredentials: true, success: function (res) { //此處爲獲取微信信息後的業務方法,存入緩存 wx.setStorageSync("userInfo", res.userInfo); }, fail: function () { //獲取用戶信息失敗後。請跳轉受權頁面 wx.showModal({ title: '提醒', content: '還沒有進行受權,請點擊肯定跳轉到受權頁面進行受權。', success: function (res) { if (res.confirm) { //跳轉到受權界面 wx.navigateTo({ url: '/pages/login/login', }) } } }) } })
微信小程序案例:函數
我和怪獸有個合影優化