AngularJS ngroute при обновлении пути разрешения - PullRequest
0 голосов
/ 22 января 2019

Это мой AdminRoutes, который является ngRoute

  angular.module('adminRoutes', []).config(['$routeProvider', 
  '$locationProvider','$location','Authentication', function($routeProvider, 
   $locationProvider,$location,Authentication) {
$routeProvider

        // home page
        .when('/', {
            templateUrl: 'views/anasayfa.html',
            controller: 'AnasayfaController',
            resolve: {
                redirectIfNotAuthenticated :  Authentication.isLogged((state) => {
                    if(state) {
                        return true;
                    } else {
                        $location.path('/login')
                        return false;
                    }
                })  

            }
        })
        .when('/login', {
            templateUrl: 'views/login.html',
            controller: 'LoginController'
        })
        .when('/404', {
            templateUrl: 'views/404.html'
        })
        .when('/software', {
            templateUrl: 'views/software.html',
            controller: 'SoftwareController'
        })
        .when('/logout', {
            templateUrl: 'views/logout.html',
            controller: 'logoutController'
        })
        .otherwise({
            redirectTo: '/404'
        })
        $locationProvider.html5Mode(true);

}]);

Это мой admin.js, который я инициализирую угловое приложение

var app = angular.module('WootyAdmin', [
    'indexCtrl',
    'ngRoute',
    'adminRoutes',
    'anasayfaCtrl',
    'loginCtrl',
    'softwareCtrl',
    'logoutCtrl'

]);

angular.module('indexCtrl', []).controller('IndexController', function($scope,$http,$location,Authentication) {
    $scope.Test = 'Çalıştı'
    Authentication.update();

});

app.factory('Authentication',function($http) {
    var user;
    var logState;
    var doUpdate = function() {
        $http.get('/api/admin/loginstate/').then((response) => {
            if(response.data.Report){
                console.log('Username usera yazıldı')
                user = response.data.Data.username;
                logState = true;
            } else {
               console.log('Not logged in')
               logState = false;
            }
        })
    }
    var doLogin = function(userr,pass,callback){
        $http({
            url: '/api/admin/login',
            method: 'POST',
            data : {username : userr,sifre: pass}
        }).then(function(response){
            if(response.data.Report)
            {
                user = userr
                logState = true;
                callback(true)
            } else {
                callback(false)
            }
        })
    }

    var checkLogin = function(callback) {
        $http.get('/api/admin/loginstate/').then((response) => {
            if(response.data.Report){
                console.log('Logged')
                user = response.data.Data.username;
                logState = true;
                callback(true)
            } else {
               console.log('Not')
               logState = false;
               callback(false)
            }
        })
    }

    var doLogout = function () {
        $http.get('/api/admin/logout').then((response) => {
            if(response.data.Report){
                user = null;
                logState = false;
            } else {
            }

        })
    }

    return {
        getUser : function() {
            return user;
        },
        isLogged : function(callback) {
            checkLogin(callback)
        },
        logout : function() {
            doLogout();
        },
        login : function(user,pass,callback) {
            doLogin(user,pass,callback)
        },
        update : function() {
            doUpdate();
        }
    }
})

Я пытался создать фабрику, которая проверяет и выполняет процессы входа в систему. Но проблема в том, что когда я пытаюсь проверить состояние входа в систему из моего ngRoute, выдается ошибка

Uncaught Ошибка: [$ инжектор: modulerr]

Все файлы js включены в html. В html-файле нет проблем, я пробовал раньше, и все работало.

Js выдал эту ошибку после того, как я добавил эту фабрику и разрешил раздел для маршрутизатора.

Также, если какие-либо полезные советы о проверке этого состояния входа в систему без методов обратного вызова, я жду этого.

Api пришел из / api / admin / loginstate {Отчет: верно, Данные: имя пользователя}

Жду ваших ответов. Спасибо за помощь.

...