i***@qq.com
i***@qq.com
  • 发布:2020-11-05 09:41
  • 更新:2020-11-05 14:22
  • 阅读:1789

打开 app , 加载页面过慢的问题

分类:uni-app

在安卓 app 首次打开时,进入登录页面,登录成功后进入tabbar首页 。第二次打开时,进入登录页会判断是否登录过,登录过,直接进入首页,但这样有一个问题,就是在登录页一闪而过,这样感觉很 low

因在 官方文档上没有找到好方法,自己的解决方式:先写一个空白页面,在空白页面判断是否登录面,如果没登录,进登录页面(这个正常),不正常的是: 当退出 app 后,下次再打开 app , 因为是登录过了,所以在启动页面转了10圈才进入到tarbar首页, 奇怪的是每次都是转10圈才进入首页,这肯定排除网络问题了,不知道这个是 bug , 还是需要在哪优化?

期待您的回复,感谢。

2020-11-05 09:41 负责人:无 分享
已邀请:
uni插件牛爱花

uni插件牛爱花

很简单

i***@qq.com

i***@qq.com (作者) - it developer

补充 : 在没有登录的时候,进入登录页面,一般转不到2圈就进入到页面了。

uni插件牛爱花

uni插件牛爱花

入口文件一个判断

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

    你好,我就是在入口页面(就是自己建了一个空白页面)判断的,为了方便理解,我贴一下代码:

    <template>

    <view>

    </view>

    </template>


    <script>

    export default {

    onReady(){

    // 启动后判断用户是否已登录,如果登录了,则跳到主页,如果没登录,则跳到登录页

    var loginStaff = getApp().globalData.getLoginStaff() ;

    if(loginStaff){

    uni.switchTab({

    url:"/pages/index/index"

    })

    }else{

    uni.reLaunch({

    url:"/pages/login/login"

    })

    }

    },


    }  

    </script>


    <style>


    </style>


    不知道和您说的入口文件是否是一个意思?

    此前,我试着在App.vuew 文件中的onLaunch () 判断登录,但还是会到登录页面一闪而过。所以这种方式好像不可取。

    2020-11-05 09:50

  • uni插件牛爱花

    回复 i***@qq.com: 为什么要建一个 空白页面? 用登录 返回的类似token 值去判断他不香嘛? 有 值就直接跳首页 没有就跳登录 多舒服

    2020-11-05 09:55

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

    回复 uni插件牛爱花: 感觉您好像误解我的意思了,我的主要问题不是怎么判断登录,而是在哪判断登录,因为在登录页面判断,会有一闪而过的问题,但在 App.vue 页面的onLaunch 判断又没起作用,所以就自己写了个空白页面判断。

    2020-11-05 09:59

  • uni插件牛爱花

    回复 i***@qq.com: 你是不是 用户登录过了就直接进入首页 而没登录进入 登录 是不是

    2020-11-05 10:05

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

    回复 uni插件牛爱花: 是的,因为加了一个空白页面,所以没有一闪而过的问题了。然后又回到了我发这个贴的问题了,在 app 打开的加载界面(不是我的空白页面),就是下面那个图,每次都是转10圈,才进入页面,为什么每次都是10圈,这个我是不理解的。

    2020-11-05 10:14

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

    回复 uni插件牛爱花: 已解决,感谢您的回复,让我在遇到问题时不孤单,解决方式可参考文档:https://ask.dcloud.net.cn/article/35565

    2020-11-05 14:25

喜欢技术的前端

喜欢技术的前端 - QQ---445849201

你的方法挺好,但是还可以优化,在app.vue中的onLaunch生命周期中判断,如果登录跳转首页,因为APP加载需要时间,等首页的tabbar数据加载好,也刚好跳转过来,如果没有登录就跳转登录页面喽

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

    此前,我试着在App.vuew 文件中的onLaunch () 判断登录状态,但还是会到登录页面一闪而过。所以这种方式好像不可取。您之前试过是可以的吗? 如果可以,我就再尝试一下。

    2020-11-05 09:53

  • 喜欢技术的前端

    回复 i***@qq.com: 你的首页是登录页面吧?将首页调整为tabbar的首页

    2020-11-05 10:01

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

    回复 喜欢技术的前端: 不能调整成首页,首页的前提是用户必须登录了,我现在主要的疑问是为什么在加载界面,每次都是转10圈才进入我的页面(这个页面是个 tarbar 页面)。

    2020-11-05 10:19

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

    回复 喜欢技术的前端: 已解决,感谢您的回复,让我在遇到问题时不孤单,解决方式可参考文档:https://ask.dcloud.net.cn/article/35565

    2020-11-05 14:25

i***@qq.com

i***@qq.com (作者) - it developer

代码重贴一下:
``javascript
<template>
<view>
</view>
</template>

<script>
export default {
onReady(){
// 启动后判断用户是否已登录,如果登录了,则跳到主页,如果没登录,则跳到登录页
var loginStaff = getApp().globalData.getLoginStaff() ;
if(loginStaff){
uni.switchTab({
url:"/pages/index/index"
})
}else{
uni.reLaunch({
url:"/pages/login/login"
})
}
},

}  

</script>

<style>
</style>

i***@qq.com

i***@qq.com (作者) - it developer

问题已解决,算是自己看文档,没有看仔细吧,但这文档确实不明显也不好找。在此以做记录,有入坑转10圈的朋友可以借此解决问题。

解决方法见文档:
https://ask.dcloud.net.cn/article/35565

该问题目前已经被锁定, 无法添加新回复