第一步,获取code
如果小程序有登录页面,这一步可以放在onload里面获取,获取后保存使用,避免造成和后面获取信息的冲突
wx.login({
success (res) {
const code = res.code;
console.log(code);
}
})
第二步,获取用户个人信息,这一步需要绑定按钮点击事件才能获取
通过以下方法,获取到加密数据encryptedData,iv。
<button open-type="getPhoneNumber" bindgetphonenumber="handleWeChatLogin">微信一键登录</button>
handleWeChatLogin(e) {
const {encryptedData, iv} = e.detail;
}
wx.getUserInfo({
desc: '用户登录',
success: (res) => {
const {encryptedData, iv} = res;
resolve(res);
},
fail: (err) => {
reject(err);
}
});
wx.getUserProfile({
desc: '用户登录',
success: (res) => {
const {encryptedData, iv} = res;
resolve(res);
},
fail: (err) => {
reject(err);
}
});
第三步,将加密数据和code一起返回给后台进行解密数据和登录
const params = {
code,
encryptedData,
iv
}
api.login(params).then((res) => {
console.log(res);
});