学习微信小程序登录模块所踩过的坑
用户登录是小程序中获取用户加密信息、使用模板消息、客服消息、微信支付等接口的先决条件。微信小程序登录是为了让开发者的服务器获取用户的openId以及session_key的令牌。
在微信小程序早期,我们是先通过调用wx.login(),成功后再调用wx.getUserInfo()获取用户的信息。而微信在今年9月初却发布一个公告,声称平台将回收“使用 wx.getUserInfo 接口直接弹出授权框”的能力,开发者需要使用组件方式唤起登录授权弹窗。因此我们将不能再使用wx.getUserInfo这个api接口了。
如今,如果你只想获取用户的明文信息,可使用 open-data (小程序)或者开放数据域(小游戏)的方式展示用户信息(无需用户授权);如果需要获取加密信息用于后续微信支付,模板消息等功能,则需使用button(小程序)或UserInfoButton(小游戏)组件,用户点击后弹窗请求用户授权。
前端代码如下:
Page({
/**
* 页面的初始数据
*/
data: {
},
onReady: function() {
var that = this;
wx.login({
success: function(loginRes) {
that.setData({
code: loginRes.code
})
}
})
},
onGotUserInfo(userRes) {
var that = this;
wx.request({
url: 'http: