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