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确保在用户登录之前不会进行导航。