小程序授权登录
微信小程序授权登录一般是通过将获取到的微信个人信息,通过这些信息得到登录的权限
小程序授权登陆流程
1.在支付或者需要用到手机用户信息时会遇到获取登录权限
比如在小程序在支付时经常会遇到未登录的情况
下面就需要我们对这个按钮设置点击事件
在微信小程序中可以通过下面代码来执行点击操作
<button type="primary" plain open-type="getUserInfo" bindgetuserinfo="handleUserInfo" >
//open-type 和bindgetuserinfo 是为了开启按钮的点击事件
获取授权
</button>
2.在上面的bindgetuserinfo绑定的事件中进行代码操作
handleUserInfo(e) {
console.log(e);
//e里面包含所有的用户信息
//使用Promise方法来执行成功和失败
new Promise((resolve, reject) => {
//使用wx.login()方法来调用获取成功后的数据信息
wx.login({
success: (res) => {
console.log(res);
let code = res.code; //返回一个code 唯一的
//定义一个数组来接收可能用到的数据(loadingParams)
const loadingParams = {
encryptedData: e.detail.encryptedData,
rawData: e.detail.rawData,
iv: e.detail.iv,
signature: e.detail.signature,
code
}; // 创建一个对象 执行resolve
resolve(loadingParams); // 把创建的对象当作参数
},
fail(err) {
reject(err);
}
})
}).then(res => { // res 就是resolve 中的参数
console.log(res);
wx.request({
url: 'https://api-hmugo-web.itheima.net/api/public/v1/users/wxlogin', // 相当于登录的接口
data: res,
method: 'post',
success(res) {
// res中一般会包含一个token
wx.navigateBack({ // 返回上一个页面
delta: 1
});
},
//如果获取成功就会跳转到登录的界面登录后在跳转到支付界面进行支付
fail(err) {
console.log(err);
}
})
})
},
总结
在小程序获取授权登录时往往获取的是微信中的个人信息
一般通过获取到的信息来进行授权登录