Это мой 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
{Отчет: верно, Данные: имя пользователя}
Жду ваших ответов. Спасибо за помощь.