微信授权
1、通过wx.login(Object object);来获取获取code值,然会通过通过code利用wx.request调用
小程序登录接口来换取token。
wx.login():他是微信小程序自带的一个方法,主要是调用接口获取登录凭证(code)。
通过凭证进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录
的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。
代码案例:
//步骤:
/**
* 第一步:通过wx.login先获取code
* 第二步:通过wx.getUserInfo获取encryptedData和iv
* 第三步:调取后台注册接口写入用户信息
*/
// 用户注册
wx.login({
success:res=>{
console.log(res)
//这里是解构赋值的写法
let { code } = res;
if(code)
{
//通过wx.getUserInfo来获取用户信息
wx.getUserInfo({
success: result => {
// console.log(result)
let { encryptedData,iv} = result;
//请求后台的登陆接口
wx.request({
url: 'https://api.it120.cc/ddd/user/wxapp/register/complex',
//在data传递code,encryptedData,iv
data:{
code,
encryptedData,
iv
},
//设置header请求头
header: {
'content-type':'application/x-www-form-urlencoded'
},
//这里的看你接口需求的接口是使用post / get
method:"POST",
success:(res)=>{
console.log('注册返回的结果',res);
//判断里面的code返回注册成功或者是失败
if(res.data.code===0)
{
wx.showToast({
title: '注册成功',
})
};
if(res.data.code===10000)
{
wx.showToast({
title: '用户已注册',
})
};
}
})
}
})
}
},
//如果登陆数失败的化返回的数据
fail(error) {
console.log('登陆失败',error);
}
})
},