簡體   English   中英

頁面加載前AngularJS自動登錄

[英]AngularJS autologin before page is loaded

我嘗試對我的AngularJS / ionic移動應用程序實現一個記住登錄功能

問題:自動登錄完成且過渡開始之前,始終加載了登錄頁面,因此您可以稍等一下。

問題: JQM中是否有類似“ pagebeforeshow”的事件或直接加載“ home”狀態的其他方法?

我使用:離子1.3.1角1.5.3科爾多瓦4.0.0

代碼示例: LoginController:

function LoginController($scope, $http, $ionicModal, $state, $SessionStorage) {
    var vm = this;
    activate();

    function activate(){
        vm.staylogged = JSON.parse(localStorage.staylogged || null);
        if(vm.staylogged){
            vm.remember = vm.staylogged; //vm.remember: checkbox in login form
            login();
        }else{
            // get some data from the server
        }
    }

    function login(){
        if(vm.staylogged){
            //get login informations from localStorage
        }

        $http({
            method: 'POST',
            url: vm.server +"?=GetLogin",
            headers: {
                'Content-Type': 'text/xml; charset=\"utf-8\"'
            },
            data: soa
        }).then(function successCallback(response) {
            if(response.returnCode == 0){
                localStorage.setItem('staylogged', JSON.stringify(vm.remember));
                // safe login informations to local Storage for next use
                $state.go('tabs.home');
            }
        }, function errorCallback(response) {
            console.log(response);
        });
    }
}

您可以按照以下方式進行操作-

在app.js中

.state('signin', {
       url: '/sign-in',
       templateUrl: 'templates/views/login.html',
       controller: 'LoginController',
       resolve: {
               // Do your code here will execute before page render
       }
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM