Javascript 用户成功登录时Angular.js路由?
我正在关注这个帖子 我已成功向服务器发出Javascript 用户成功登录时Angular.js路由?,javascript,angularjs,node.js,login,Javascript,Angularjs,Node.js,Login,我正在关注这个帖子 我已成功向服务器发出POST请求,并返回了用户对象。下面的服务就是发出请求的原因 我不知道在哪里可以找到仪表板 /** * Authentication service via medium post Service * */ .factory('AuthService', function ($http, Session, ApiEndpoint) { var authService = {}; authService.login = function (c
POST
请求,并返回了用户对象。下面的服务就是发出请求的原因
我不知道在哪里可以找到仪表板
/**
* Authentication service via medium post Service
*
*/
.factory('AuthService', function ($http, Session, ApiEndpoint) {
var authService = {};
authService.login = function (credentials) {
console.log(credentials)
return $http
.post('/api/login', credentials)
.then(function (res) {
console.log(res.data);
Session.create(res.data._id, res.data.email);
return res.data;
});
};
authService.signup = function (credentials) {
console.log(credentials.username)
return $http
.post('/api/signup', credentials)
.then(function (res) {
console.log(res.data);
Session.create(res.data._id, res.data.email);
return res.data;
});
};
authService.isAuthenticated = function () {
return !!Session.userId;
};
authService.isAuthorized = function (authorizedRoles) {
if (!angular.isArray(authorizedRoles)) {
authorizedRoles = [authorizedRoles];
}
return (authService.isAuthenticated() && authorizedRoles.indexOf(Session.userRole) !== -1);
};
return authService;
})
我已禁用查看仪表板
.state('tab.dash', {
url: '/dash',
views: {
'tab-dash': {
templateUrl: 'templates/tab-dash.html',
controller: 'DashController'
}
},
resolve: {
auth: function resolveAuthentication(AuthResolver) {
return AuthResolver.resolve();
}
}
})
通过使用我在中篇文章中找到的AuthResolver
服务
/**
* AuthResolver service via medium post Service
*
*/
.factory('AuthResolver', function ($q, $rootScope, $state) {
return {
resolve: function () {
var deferred = $q.defer();
var unwatch = $rootScope.$watch('currentUser', function (currentUser) {
if (angular.isDefined(currentUser)) {
if (currentUser) {
deferred.resolve(currentUser);
} else {
deferred.reject();
$state.go('user-login');
}
unwatch();
}
});
return deferred.promise;
}
};
})
所以我得到了大部分信息,但我无法解码到仪表板的实际路径发生在哪里
我正在从backbone.js/marionette.js迁移,昨天我学了angular.js,哈哈,我是新来的,我正在构建ionic并希望利用该堆栈,因此我想看看我能够以多快的速度获取angular.js您只需导航到“/dash”,该状态的resolve属性告诉ui router确保在用户登录之前不会进行导航。