From 309d1f9d649daa08bb9b068af014749f6d4a5bce Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Fri, 06 Jul 2018 14:00:45 +0800
Subject: [PATCH] 设备和监控点父页面 筛选条件不予 编辑页面联动

---
 src/app/core/net/default.interceptor.ts |   51 +++++++++++++++++++++++++++------------------------
 1 files changed, 27 insertions(+), 24 deletions(-)

diff --git a/src/app/core/net/default.interceptor.ts b/src/app/core/net/default.interceptor.ts
index e1b947f..982d562 100644
--- a/src/app/core/net/default.interceptor.ts
+++ b/src/app/core/net/default.interceptor.ts
@@ -21,35 +21,38 @@
  */
 @Injectable()
 export class DefaultInterceptor implements HttpInterceptor {
-    // private unLoginHandle: Subject<HttpErrorResponse> = new Subject<HttpErrorResponse>();
+    private unLoginHandle: Subject<HttpErrorResponse> = new Subject<HttpErrorResponse>();
     
     constructor(private injector: Injector) {
-    }
-    private isExpireModelShow = false;
-    private unLoginHandle(event: HttpErrorResponse) {
-        if (!!event.error) {
-            let errorMsg = '';
-            const erroCode =  !!event.error['errorCode'] ? Number.parseInt(event.error['errorCode']) : 0;
-            switch (erroCode) {
-               case 10: errorMsg = '���������,���������'; break;
-               case 11: errorMsg = '������������,���������������'; break;
-               case 12: errorMsg = '������������,������������������'; break;
-               case 0: errorMsg = '���������������������������'; break;
-               default: errorMsg = '������������,���������������'; break;
-            }
-            if (!this.isExpireModelShow) {
-                this.isExpireModelShow = true;
+         let isExpireModelShow = false;
+         this.unLoginHandle.debounceTime(1000).delay(1000).filter(
+             () => !isExpireModelShow
+         ).subscribe( (event: HttpErrorResponse) => {
+                isExpireModelShow = true;
+                let errorMsg = '';
+                if (!!event && !!event.error) {
+                    const erroCode =  !!event.error['errorCode'] ? Number.parseInt(event.error['errorCode']) : 0;
+                    switch (erroCode) {
+                    case 10: errorMsg = '���������,���������'; break;
+                    case 11: errorMsg = '������������,���������������'; break;
+                    case 12: errorMsg = '������������,������������������'; break;
+                    case 0: errorMsg  = '���������������������������'; break;
+                    default: errorMsg = '������������,���������������'; break;
+                    }
+                }else {
+                    errorMsg = '���������������������������';
+                }
                 // ������refresh���������������������
                 this.loginService.clearRefreshToken();
                 this.model.info({
-                  title: errorMsg,
-                  onOk: () => {
-                      this.isExpireModelShow = false;
-                      this.goTo('/passport/login');
-                  }
+                maskClosable: false,
+                title: errorMsg,
+                onOk: () => {
+                    isExpireModelShow = false;
+                    this.goTo('/passport/login');
+                }
                 });
-            }
-       }
+         });
     }
     get loginService(): LoginService {
         return this.injector.get<LoginService>(LoginService);
@@ -85,7 +88,7 @@
             case 401: // ������������������
             // this.goTo('/passport/login');
                 if (!this.isLoginPage) {
-                    this.unLoginHandle(<HttpErrorResponse>event);
+                    this.unLoginHandle.next(<HttpErrorResponse>event);
                 }
                 break;
             case 403:

--
Gitblit v1.8.0