uniapp APP登錄頁面設計


場景:

在沒有登錄的時候,一打開app 就要顯示登錄頁面,如果登錄過則顯示第一個tab頁面

由於底部的tab最多只能有五個,並且五個都已經占用,沒有多余的tab分給登錄頁面,

如果將登錄放在二級頁面,那么,ios下屏幕上的左滑動,會返回到上一層,安卓的物理返回鍵,也會返回到上一層,無法做到登錄頁面視覺上是第一個頁面

 

解決方案有兩種

1、將登錄做成一個組件頁面,放在pages 配置的首頁上,首頁onload 時就判斷登錄態,根據條件顯示是否為登錄組件

2、將登錄頁面放在二級頁面,並且pages.json 里面配置該頁面不能左滑動 "popGesture": "none"  ,同時,在頁面的 onBackPress 事件中

onBackPress(e){
    if(e.from=='backbutton'){
    //安卓下物理返回鍵無效
    return true;
    }
}

就可以做到登錄頁面視覺上為第一級頁面,在首頁中判斷登錄態,然后reLauch到登錄頁面,登錄后調用switchTab切換到首頁即可

 

注意:

退出登錄的時候,如果只是清掉登錄態,將頁面跳轉(navigateTo)到登錄頁面,或者是switchTab到放有登錄組件的首頁,在沒有重啟APP的情況下,所有的tab頁面是不會被銷毀的,在此情況下登錄,所有放在頁面作用域下的變量都是不會更新的。

使用 reLaunch 到登錄頁面可以避免這個問題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM