小程序登录
登录流程分析
登录实现
实现步骤
:
- 获取用户授权信息:
<button @getuserinfo="getInfo" open-type="getUserInfo" type="primary">微信登录</button>
- 能够给回调函数获取授权信息
getInfo (ev) {
// 通过按钮的事件监听获取当前微信登录者的信息
// console.log(ev);
// 将获得的用户相关信息,解构出来
const {
iv,
encryptedData,
rawData,
signature
} = ev.detail;
// 2. 将获取的登录者的信息发送到服务端,换取 token
this.getToken(iv, encryptedData,rawData, signature);
}
- 调用后台接口进行登录
async getToken (iv, encryptedData,rawData, signature) {
// 调用 wx.login 获取登录凭证 code
const [err, res] = await uni.login();
// console.log(res)
// 调用后端接口,获取 token
const {message} = await this.request({
url: '/api/public/v1/users/wxlogin',
method: 'post',
data: {
encryptedData,
iv,
rawData,
signature,
code: res.code
}
})
// 将获取的 token 存入本地
uni.setStorageSync('token', message.token);
// 返回上一页
uni.navigateBack();
}
token', message.token);
// 返回上一页
uni.navigateBack();
}