主要思路:在项目启动时判断是否存在token(根据不同的业务需求有不同的判断条件),如果存在则直接进入首页,不存在则先登录,登录成功进入首页。
【uniapp|uniapp 实现保持登录状态】于是,在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就可以实现我们想要的效果了。
如有问题,欢迎留言!!
推荐阅读
- vue|记事本(本地应用,基于vue.js)
- js|Vue快速入门-个人笔记
- 前端|vue快基础知识快速入门
- vuex|vuex5 Pinia状态管理
- 青龙教程资源分享|傻妞js插件教程
- CSS|【总结】(前端面试必考题 —— CSS两栏布局(最全面))
- 面试|【总结】(大厂面试常考手撕代码 —— JavaScript实现效果)
- JavaScript基础知识|ES6(Generator生成器的介绍及场景应用)
- jQuery|滚动加载图片(懒加载)实现原理