来源: uniapp 实现保持登录状态_uniapp保持登录状态-CSDN博客
主要思路:在项目启动时判断是否存在token(根据不同的业务需求有不同的判断条件),如果存在则直接进入首页,不存在则先登录,登录成功进入首页。
于是,在app的生命周期函数中操作:
onLaunch: function() {
let token= uni.getStorageSync(‘token’);
let base_login_name = uni.getStorageSync(‘base_login_name’);
if (token && base_login_name) {
//存在则关闭启动页进入首页
// #ifdef APP-PLUS
plus.navigator.closeSplashscreen();
// #endif
} else {
//不存在则跳转至登录页
uni.reLaunch({
url: “/pages/index/login”,
success: () => {
// #ifdef APP-PLUS
plus.navigator.closeSplashscreen();
// #endif
}
})
}
},
运行时发现会从登录页面闪一下才会进入首页,是因为app默认进入第一个页面(我开始设置的第一个页面是登录页),即使存在token也会从第一个页面闪一下再进入首页,这样的用户体验非常不好。
于是添加了plus.navigator.closeSplashscreen();并且设置了以下参数:
如果不理解可以参考官方文档说明 https://uniapp.dcloud.io/collocation/manifest.html#splashscreen
除此之外,还需要将app应用的第一个页面设置为首页(pages数组的第一项即为第一个页面)
此时,启动app就可以实现我们想要的效果了。
如有问题,欢迎留言!!
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_50606255/article/details/123555667