首先在登录页面,请求界面获取登录后信息,进行存储具体代码如下:
try {
uni.setStorageSync('user_info', Data.data);
console.log("已存储用户数据", Data.data);
} catch () {
console.log("存储失败");
}
此代码应写在请求成功后,这是一个同步存储信息操作
此操作应在根目录中的App.vue添加
// 获取缓存数据
try {
const value = uni.getStorageSync('user_info');
if (value) {
console.log("获取用户信息", value);
this.requestList(value.id)
uni.reLaunch({
url: '/pages/home/home'
})
} else {
}
} catch (e) {
console.log("获取失败");
}
获取数据缓存,是否有存储的用户信息,如果有信息,则跳转至首页
三、定时清除数据缓存
此方法可通过登陆后存储当前时间戳,在下一次登陆获取当前时间戳与存储的时间戳进行对比,大于你所设置的时间,就清除用户数据,此代码应在免登录之前添加
// 获取上一次关闭小程序的时间
let lastCloseTime = uni.getStorageSync('lastCloseTime') || 0;
let currentTime = +new Date(); // 当前时间
// 检查时间间隔是否超过了十二小时(假设为43200秒)
if (currentTime - lastCloseTime >= 43200 * 1000) {
// 超过了十二小时,执行清除操作
uni.removeStorageSync('user_info');
console.log('数据清除成功');
}
// 保存当前关闭小程序的时间
uni.setStorageSync('lastCloseTime', currentTime);
以上就是该功能的时间,总结具体步骤就是,登陆页面,登陆成功后先存储用户信息,在全局vue文件中,也就是App.vue中存储登陆时间,与下一次登陆时间进行对比,是否清除用户信息,然后获取用户信息,是否存在,存在则直接进入首页,否则页面按顺序执行