微信小程序使用 wx.getUserInfo 接口直接彈出授權框的開發(fā)方式將逐步不再支持。從2018年4月30日開始,小程序的體驗版、開發(fā)版調用 wx.getUserInfo 接口,將無法彈出授權詢問框,默認調用失敗。
1、使用button組件,替代wx.getUserInfo 接口調取微信授權頁,通過手動點擊button去觸發(fā)授權。
getUserInfo 獲取用戶信息,可以從bindgetuserinfo回調中獲取到用戶信息
getPhoneNumber 獲取用戶手機號,可以從bindgetphonenumber回調中獲取到用戶信息
2、wx.login接口獲取登錄憑證code,通過憑證進code換取用戶登錄態(tài)信息,包括用戶的唯一標識(openid)及本次登錄的會話密鑰(session_key)。
wx.login({ success (res) { res.code //返回的憑證code if (res.code) { //發(fā)起網(wǎng)絡請求 wx.request({ url: 'https://test.com/onLogin', data: {code: res.code} }) } else { console.log('登錄失?。? + res.errMsg) } }})
通過返回的code傳入獲取openid的接口中,openid接口由開發(fā)者編寫而來,開發(fā)者服務器調用auth.code2Session,即可為前端人員返回code 換取的openid 和 session_key 等信息。
后端返回openid和session_key信息的詳細教程在該鏈接中:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html