详解AngularJs HTTP响应拦截器实现登陆、权限校验(2)

$rootScope.$on('userIntercepted',function(errorType){ // 跳转到登录界面,这里我记录了一个from,这样可以在登录后自动跳转到未登录之前的那个界面 $state.go("login",{from:$state.current.name,w:errorType}); });

最后还可以在loginController中做更多的细节处理

// 如果用户已经登录了,则立即跳转到一个默认主页上去,无需再登录 if($rootScope.user.token){ $state.go($rootScope.defaultPage); return; }

另外在登录成功回调后还可以跳转到上一次界面,也就是上面记录的from

var from = $stateParams["from"]; $state.go(from && from != "login" ? from : $rootScope.defaultPage);

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwyyff.html