fengxiang
2018-06-05 d4fd81a5e4853e8e6c1f507d0765b478ceff8219
src/app/core/net/default.interceptor.ts
@@ -14,6 +14,7 @@
import { Subject } from 'rxjs/Subject';
import { error } from 'protractor';
import { debug } from 'util';
import {Location} from '@angular/common';
/**
 * 默认HTTP拦截器,其注册细节见 `app.module.ts`
@@ -22,14 +23,15 @@
export class DefaultInterceptor implements HttpInterceptor {
    private unLoginHandle: Subject<HttpErrorResponse> = new Subject<HttpErrorResponse>();
    constructor(private injector: Injector) {
         this.unLoginHandle.debounceTime(100).subscribe(event => {
         this.unLoginHandle.debounceTime(800).subscribe(event => {
             if (!!event.error) {
                  let errorMsg = '';
                  const erroCode = <number>event.error['errorCode'];
                  const erroCode = Number.parseInt(event.error['errorCode']);
                  switch (erroCode) {
                     case 10: errorMsg = '未登录,请登录'; break;
                     case 11: errorMsg = '登录过期,请重新登录'; break;
                     case 12: errorMsg = '账号过期,请联系供应商'; break;
                     default: errorMsg = '登录过期,请重新登录'; break;
                  }
                  this.model.info({
                    title: errorMsg,
@@ -68,7 +70,9 @@
                break;
            case 401: // 未登录状态码
            // this.goTo('/passport/login');
                this.unLoginHandle.next(<HttpErrorResponse>event);
                if (location.hash && !location.hash.endsWith('login')) {
                    this.unLoginHandle.next(<HttpErrorResponse>event);
                }
                break;
            case 403:
            case 404: