uniapp|uniapp 实现保持登录状态

主要思路:在项目启动时判断是否存在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(); 并且设置了以下参数:
uniapp|uniapp 实现保持登录状态
文章图片

如果不理解可以参考官方文档说明 https://uniapp.dcloud.io/collocation/manifest.html#splashscreen
uniapp|uniapp 实现保持登录状态
文章图片

除此之外,还需要将app应用的第一个页面设置为首页(pages数组的第一项即为第一个页面)
uniapp|uniapp 实现保持登录状态
文章图片

此时,启动app就可以实现我们想要的效果了。
如有问题,欢迎留言!!

    推荐阅读