uniapp中设置登陆后存储信息,固定时间后清除存储信息,重新登陆

发布时间:2024年01月07日

一、登陆存储

首先在登录页面,请求界面获取登录后信息,进行存储具体代码如下:

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中存储登陆时间,与下一次登陆时间进行对比,是否清除用户信息,然后获取用户信息,是否存在,存在则直接进入首页,否则页面按顺序执行

文章来源:https://blog.csdn.net/qq_68299987/article/details/135350340
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。