angular 拦截器每个请求传递用户的token

来源:互联网 发布:淘宝海报设计技巧 编辑:程序博客网 时间:2024/06/05 20:53

  

angular.module('houseApp').config(["$stateProvider", "$ionicConfigProvider","$httpProvider",function ($stateProvider, $ionicConfigProvider,$httpProvider) {//禁用所有缓存$ionicConfigProvider.views.maxCache(0);//添加拦截器$httpProvider.interceptors.push('sessionInteceptor');})]);

  

/** * 查询条件服务 * */angular.module('houseApp').factory('sessionInteceptor', ["WAP_CONFIG","$q","userInfoService",function(WAP_CONFIG,$q,userInfoService) {var myInterceptor = {};//该方法接收请求配置对象(request configuration object)作为参数,然后必须返回配置对象或者 promise 。myInterceptor.request = function(requestConfig){console.log("myInterceptor.request userInfoService.getUserKey(): " + userInfoService.getUserKey());//为每一个请求添加token,每个请求都合法登录if(requestConfig["data"] != "" && requestConfig["data"] != null && requestConfig["data"] != undefined ){requestConfig["data"]["token"] = userInfoService.getUserKey();}return requestConfig;};//该方法接收响应对象(response object)作为参数,然后必须返回响应对象或者 promise。myInterceptor.response = function(responseObject){//判断服务器响应是否为999,如果是则表示没有登录if(responseObject.data.status == 999){//window.location.href = "/wap/tmpl/member/login.html";console.log("responseObject.data.status == 999");}return responseObject;};myInterceptor.requestError  = function(rejectReason){var deferred = $q.defer();console.log("myInterceptor.requestError : " + responseObject);return deferred.promise;};myInterceptor.responseError = function(responseError){console.log("myInterceptor.responseError : " + responseObject);return {};};return myInterceptor;}]);

  

0 0
原创粉丝点击