為優化用戶體驗,使用 wx.getUserInfo 介面直接彈出授權框的開發方式將逐步不再支持,從2018年4月30日開始,小程式與小游戲的體驗版、開發版呼叫 wx.getUserInfo 介面,將無法彈出授權詢問框,默認呼叫失敗,會直接進入 fail 回呼,在用戶已授權的情況下呼叫此介面,可成功獲取用戶資訊,
開發者可使用以下方式獲取或展示用戶資訊:
1,請使用 <button open-type="getUserInfo"></button> 引導用戶主動進行授權操作,
- 新建login模板檔案,在login.wxml添加如下代碼:
<button open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授權登錄</button>
- 在login.js檔案中添加bindGetUserInfo點擊事件:
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)當用戶授權過,可以使用該介面獲取用戶資訊
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', }) } } }) } })
微信小程式案例:
我和怪獸有個合影

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/6646.html
標籤:其他
上一篇:使用git暢游代碼的海洋
