1***@qq.com
1***@qq.com
  • 发布:2018-12-24 15:01
  • 更新:2023-02-03 15:24
  • 阅读:30781

uni-app怎么动态判断入口页面(首页)?

分类:uni-app

app初始启动进入时,就会到登录页进行登录。登录成功后才能查看app里面的功能信息。

登录成功后,app缓存信息中会保存一个登录标识;

当用户再次启动app时,就可以通过这个登录标识进行判断,是直接显示app内容页面,还是跳转到登录页。

假如有登录标识,就跳转到内容页,无登录标识,跳转到登录页。

问题:我最初在App.vue中的onLaunch中判断,有登录标识用uni.switchTab()或者uni.relaunch(),等接口跳转页面,结果报错。(app的pages.json中配置的静态入口页是登录页面);

请问大家还能用什么方法来判断入口页?

2018-12-24 15:01 负责人:无 分享
已邀请:
hhyang

hhyang - 如有问题,请添加QQ1606726660 备注付费咨询

  • 123zhu

    只想说牛逼

    2021-04-20 09:27

伊豆

伊豆 - 淡定

uni.share({
provider: 'weixin',
scene: 'WXSceneSession',
type: 0,
href:'http://ip地址:端口/pages/zwork/introduction/introduction?flag=share' ,
title: '测试',
summary: '测试分享',
imageUrl: 'http://ip地址:端口/static/images/comm/share_wechat.png',
success: function(res) {
console.log('success:' + JSON.stringify(res));
},
fail: function(err) {
console.log('fail:' + JSON.stringify(err));
}
});
分享到微信后打开的页面跳转到了登录页面http://ip地址:端口/pages/login/login,且获取不到flag这个参数

1***@qq.com

1***@qq.com - 90后

怎么全局判断登录状态,有代码吗

9***@qq.com

9***@qq.com

刚刚研究了一种方法供大家参看。设置启动图关闭时间长一点(我是在app.vue里设置的,毕竟delay也是个坑),让首页里判断跳转页面之后再关闭,可以避免首页闪一下。

 "splashscreen" : {  
            "alwaysShowBeforeRender" : false,  
            "waiting" : false,  
            "autoclose" : false,A  
            "delay" :0  
        },
onLaunch: function() {  
        // #ifdef APP-PLUS  
                    //app关闭默认的启动 方法关闭启动图。但是这个时间不能太晚,6s 超时后依旧会主动关闭。  
                    setTimeout(()=>{  
                        plus.navigator.closeSplashscreen();  
                     },2500)  
                    // #endif  
    },
  • 7***@qq.com

    感谢 最终是用的这种办法解决的 2500太多了 我设的800就够了 这算的uni-app的bug吗?

    2020-08-09 22:18

你也想起舞吗

你也想起舞吗

有个更好的不是办法的办法,做一个跟启动图一模一样的页面放在第一个页面,在这个页面进行跳转判断,你们细品

2***@qq.com

2***@qq.com

我觉得这样处理比较好,所有的判断都在欢迎页处理。最终决定是登录还是进入首页
pages.json中判断只有5+APP的时候才有欢迎页面 如微信小程序则首页就是默认页面

"pages" : [  

        // #ifdef APP-PLUS  
        {  
            "path": "pages/xx/xx",  
            "style": {  
                "navigationBarTitleText": "欢迎页面"  
            }  
        },  
        {  
            "path" : "pages/login/login",  
            "style" : {  
                "navigationBarTitleText" : "登录",  
                "app-plus":{  
                    "bounce":"none"  
                }  
            }  
        },  
        // #endif,  
{  
            "path" : "pages/index/index",  
            "style" : {  
                "navigationBarTitleText" : "首页",  
                "app-plus":{  
                    "bounce":"none"  
                }  
            }  
        }  
    ]
Neil_HL

Neil_HL

把应用的首页指向登录页面,在登录页面的onLoad里面判断时候是登录后的状态,是的话用uni.switchTab()或者uni.relaunch()跳转希望跳转的页面,不是的话不做操作。这种方式也是用于设置应用的启动页面(欢迎页面)
新建uni-app项目时可以选择登陆模板

  • 1***@qq.com (作者)

    今天获取页面中的web-view组件对象,异常的慢,是什么原因啊?前几天我设置500mm延时都能正常获取,今天就获取不到,然后一系列错误,搞得头痛。

    2018-12-24 16:30

  • 2***@qq.com

    回复 1***@qq.com:这样的话会先进登录页,闪一下,进首页,体验差了点

    2019-03-07 19:52

  • 九涯

    回复 2***@qq.com: 你说的不错,我也遇到这种了,怎么处理会更好呢

    2020-04-29 23:20

  • 7***@qq.com

    回复 2***@qq.com: 怎么解决的

    2020-06-08 14:54

  • n***@163.com

    回复 7***@qq.com: 有解决方案啦吗?

    2020-07-16 13:46

  • 3***@qq.com

    回复 2***@qq.com: 请问最后怎么处理这个问题的?

    2020-07-16 14:27

9157654

9157654 - 程序员

请问现在有什么好办法了吗?

  • 1***@qq.com (作者)

    在首页index.vue中的onLoad中判断

    2019-03-11 15:09

  • 4***@qq.com

    回复 1***@qq.com: 但是这样会在首页闪一下

    2020-07-17 11:49

  • 8***@qq.com

    回复 4***@qq.com: 我用一个空白页面来当默认首页,看起来会好一点点。

    2020-07-29 21:07

  • 2***@qq.com

    回复 8***@qq.com: 为啥不能在app.vue里的初始化函数中写判断

    2020-11-02 19:24

伊豆

伊豆 - 淡定

uniapp 某个页面分享出去后,通过分享的路径打开的时候不会进入对应页面,而是在登录页面。(这个问题怎么解决且怎么将参数传进来)

5***@qq.com

5***@qq.com

在首页index.vue中的onLoad中判断,没有登录标识跳转登录页,有登录标识,停在首页,登录不是一个常态

伊豆

伊豆 - 淡定

分享的页面url路径传的参数获取不到。如果只是一个分享还可以根据获取不到参数则跳转到分享页,但是如果有多个分享功能就没办法操作。

zting590

zting590

关注下,正好要用到

这家伙很懒

这家伙很懒 - 我很懒

怎么动态修改page.json页面首页路径

  • 7***@qq.com

    解决了吗这个,如果在app.vue中做判断的话,假设登录态有效跳转首页,那么会在登录页停留1S

    2020-06-08 14:53

  • x***@edoovo.com

    回复 7***@qq.com: 额,今天遇到这个问题了,查了些资料,目前的解决方案是:

    配置启动页参数

    "splashscreen" : {

    "alwaysShowBeforeRender" : false,

    "waiting" : true,

    "autoclose" : false,

    "delay" : 0

    }

    然后在app.vue判断登录状态确定跳转首页还是登录页后,关闭启动界面

    if (token) {

    uni.reLaunch({

    url: '/pages/dashboard/home',

    success(res) {

    plus.navigator.closeSplashscreen()

    }

    })

    } else {

    plus.navigator.closeSplashscreen()

    }

    2021-05-27 15:00

9***@qq.com

9***@qq.com

不知道大家有没有试过吧登录页当做组件放在首页里,用v-if来判断显示首页还是登录页。

  • 9***@qq.com

    https://ext.dcloud.net.cn/plugin?id=192 有点类似于这个模式

    2020-07-29 21:56

  • 7***@qq.com

    组件会变空白 不能用哦 真是坑

    2020-08-09 21:53

  • 1***@163.com

    试过了,有tabbar,和导航栏,体验不好

    2023-02-03 13:55

1***@163.com

1***@163.com

首页做个广告页面,把登录页作为组件引入首页,

要回复问题请先登录注册