微信小程序使用 wx.getUserInfo 接口直接弹出授权框的开发方式将逐步不再支持。从2018年4月30日开始,小程序的体验版、开发版调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败。
1、使用button组件,替代wx.getUserInfo 接口调取微信授权页,通过手动点击button去触发授权。
getUserInfo 获取用户信息,可以从bindgetuserinfo回调中获取到用户信息
getPhoneNumber 获取用户手机号,可以从bindgetphonenumber回调中获取到用户信息
2、wx.login接口获取登录凭证code,通过凭证进code换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)。
wx.login({ success (res) { res.code //返回的凭证code if (res.code) { //发起网络请求 wx.request({ url: 'https://test.com/onLogin', data: {code: res.code} }) } else { console.log('登录失败!' + res.errMsg) } }})
通过返回的code传入获取openid的接口中,openid接口由开发者编写而来,开发者服务器调用auth.code2Session,即可为前端人员返回code 换取的openid 和 session_key 等信息。
后端返回openid和session_key信息的详细教程在该链接中:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html