- 在小程序中定义一个登录按钮,当用户点击该按钮时,触发登录函数:
<view>
<button bindtap="login">登录</button>
</view>
- 在小程序中定义登录函数,该函数调用 wx.login() 函数获取用户登录凭证 code,然后将该凭证发送到后台服务器进行验证,如果验证通过,服务器返回一个登录态 token,小程序将该 token 存储到本地缓存中,并跳转到首页:
login: function() {
wx.login({
success: function(res) {
if (res.code) {
wx.request({
url: 'https://xxxxxxx/login',
data: {
code: res.code
},
success: function(res) {
if (res.data.token) {
wx.setStorageSync('token', res.data.token);
wx.switchTab({
url: '/pages/home/home'
});
} else {
wx.showToast({
title: '登录失败,请重试',
icon: 'none'
});
}
},
fail: function(res) {
wx.showToast({
title: '登录失败,请重试',
icon: 'none'
});
}
});
} else {
wx.showToast({
title: '登录失败,请重试',
icon: 'none'
});
}
},
fail: function(res) {
wx.showToast({
title: '登录失败,请重试',
icon: 'none'
});
}
});
}
- 在小程序的其他页面中,需要读取登录态 token,可以通过 wx.getStorageSync() 或 wx.getStorage() 函数从本地缓存中获取:
var token = wx.getStorageSync('token');
if (token) {
// 已登录,执行相关操作
} else {
// 未登录,跳转到登录页
wx.navigateTo({
url: '/pages/login/login'
});
}
上述代码中,需要在 app.js 中定义一个全局变量,这个变量保存用户登录信息。以上仅是一个简单的例子,实际开发中需要根据具体的业务需求进行修改和完善。