1. 在小程序的页面中添加授权按钮
<button open-type="getUserInfo" bindgetuserinfo="getUserInfo">点击授权登录</button>
使用了
button
组件,设置了open-type
属性为getUserInfo
,表示点击按钮时会触发获取用户信息的操作,然后绑定了bindgetuserinfo
事件,用于处理获取用户信息的回调函数
2. 在页面对应的JS文件中处理授权登录逻辑
Page({ getUserInfo: function(e) { if (e.detail.userInfo) { // 用户授权成功 console.log('用户授权成功', e.detail.userInfo); // 发起登录请求,将获取到的用户信息发送给后台进行处理 // 可以使用 wx.login 获取用户临时登录凭证 code,通过 code 换取 openid 和 session_key 等信息 wx.login({ success: function(res) { if (res.code) { // 将 code 发送给后台,后台根据 code 获取用户的 openid 等信息 console.log('用户登录凭证 code:', res.code); // 发起网络请求,将 code 发送给后台 wx.request({ url: 'https://example.com/login', method: 'POST', data: { code: res.code, userInfo: e.detail.userInfo }, success: function(res) { // 登录成功后的处理逻辑 console.log('登录成功:', res.data); }, fail: function(res) { // 登录失败的处理逻辑 console.log('登录失败:', res.errMsg); } }); } else { // 获取用户登录态失败 console.log('获取用户登录态失败!' + res.errMsg); } } }); } else { // 用户取消授权 console.log('用户取消授权'); } } })
getUserInfo
函数用于处理用户点击授权按钮后的回调事件。如果用户同意授权,将会返回用户信息,此时可以根据需要将用户信息发送给后台进行处理。首先,在wx.login
函数中获取用户临时登录凭证 code,然后将 code 和用户信息一起发送给后台服务器。后台服务器可以使用这些信息来实现用户登录功能。当后台服务器验证通过后,可以返回相应的登录状态和用户唯一标识,小程序可以根据返回的结果进行相应的处理。