m***@163.com
m***@163.com
  • 发布:2026-02-09 18:50
  • 更新:2026-02-09 18:50
  • 阅读:15

如何解决登录跳转首页后又跳转到登录页的问题

分类:uni-app

uni-app 指定了首次进入的页面首页,如果没有登录就跳转到登录页,如果登录了就保持不变,现在遇到的问题时进入首页后没有登录会跳转到登录页,会有一个闪屏的动作,期望是app启动loading时在进入时就能能够判断到底是首页还是登录页,怎么解决,

2026-02-09 18:50 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

在 uni-app 中,如果希望「启动 loading 时就决定是进首页还是登录页」,避免先闪现首页再跳登录页的闪屏,可以把登录校验逻辑提前到「应用初始化阶段」完成,而不是等首页 onLoad 再去判断。具体做法如下:

  1. 把真正的业务首页(带 tabbar 的页面)仍然放在 pages 数组第一项,保持它作为「入口页」的身份。
  2. 在 App.vue 的 onLaunch(或 onShow)里同步读取本地登录态(token、userId 等)。
    • 如果已登录:什么都不做,框架会正常打开业务首页。
    • 如果未登录:立即 uni.reLaunch({ url: '/pages/login/login' }) 把页面栈整体替换成登录页,这样用户永远看不到业务首页的闪屏。

示例代码(App.vue)

export default {  
  onLaunch() {  
    // 同步读取本地登录态  
    const token = uni.getStorageSync('token')  
    if (!token) {  
      // 未登录,直接整体切到登录页  
      uni.reLaunch({ url: '/pages/login/login' })  
    }  
  }  
}
  1. 登录成功后,再用 uni.reLaunch({ url: '/pages/index/index' }) 回到业务首页即可。

这样就把「是否登录」的决策提前到了应用启动阶段,首页不会再出现闪现后又被踢回登录页的情况。

内容为 AI 生成,仅供参考

要回复问题请先登录注册