Products
GG网络技术分享 2025-08-16 22:21 4
① 先说说调用wx.login获取登录凭证, 然后通过code进而换取用户登录态信息,包括用户的独一个标识及本次登录的会话密钥(......
在实现微信细小程序的用户登录功能之前,先说说需要获取用户的基本信息,包括用户的昵称、头像等。我们能通过微信登录接口, 获取用户信息并存储在本地:
wx.login({
success: function {
wx.getUserInfo({
success: function {
var userInfo = infoRes.userInfo;
wx.setStorageSync;
// ...
}
});
}
});
上述代码中,我们通过 wx.login 方法获取用户登录凭证 code,再通过 wx.getUserInfo 方法获取用户信息。
在获取用户信息之后 我们需要和存储,才能实现微信细小程序的用户登录。在获取后台服务接口方面我们能用自己的后台服务,也能用第三方服务如 BaaS。
接口获取登录凭证。在验证用户身份之前, 需要将获取到的用户登录凭证传递给后台服务,并将后台服务返回的数据存储在本地,供后续用:
wx.request({
url: 'https://example.com/login',
data: {
code: loginRes.code,
userInfo: userInfo
},
success: function {
var data = res.data;
wx.setStorageSync;
// ...
}
});
上述代码中,我们后返回用户的登录凭证。我们能将返回的数据保存在本地,供后续用。
获取用户信息后用户身份之后我们需要进行用户身份的校验。一般时候, 我们能通过判断用户登录凭证的有效性,来判断用户是不是已经登录:
isLoggedIn: function {
var token = wx.getStorageSync;
return token !== null && token !== '' && token !== undefined;
}
上述代码中,我们用户身份的方法即可。
在用户成功登录之后我们需要看得出来用户已经成功登录的状态。一般时候, 我们能在用户登录成功之后存储用户登录信息,并在应用的全局状态中保存用户登录状态:
loginSuccess: function {
var userInfo = data.userInfo;
var token = data.token;
wx.setStorageSync;
wx.setStorageSync;
app.globalData.userInfo = userInfo;
app.globalData.isLoggedIn = true;
}
上述代码中,我们将用户信息和登录凭证存储到本地存储中,并将用户信息和登录状态保存在应用的全局状态中。如果用户想要退出登录, 我们只需要将本地存储中的用户信息和登录凭证删除,并设置应用的全局状态为未登录状态即可:
logoutSuccess: function {
wx.removeStorageSync;
wx.removeStorageSync;
app.globalData.userInfo = {};
app.globalData.isLoggedIn = false;
}
等步骤。希望本文能够为巨大家给一些参考和帮。
Demand feedback