From 6f1ab8e489e791734a2c63550b63ad1cb74b4f57 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Wed, 04 Jul 2018 17:19:29 +0800 Subject: [PATCH] 设备页面bug 修复 --- src/app/core/net/default.interceptor.ts | 55 ++++++++++++++++++++++++++++--------------------------- 1 files changed, 28 insertions(+), 27 deletions(-) diff --git a/src/app/core/net/default.interceptor.ts b/src/app/core/net/default.interceptor.ts index e1b947f..2a3a6dc 100644 --- a/src/app/core/net/default.interceptor.ts +++ b/src/app/core/net/default.interceptor.ts @@ -21,35 +21,36 @@ */ @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; + let isExpireModelShow = false; + this.unLoginHandle.debounceTime(1000).delay(1000).filter( + () => !isExpireModelShow + ).subscribe( (event: HttpErrorResponse) => { + isExpireModelShow = true; + 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; + } + // ������refresh��������������������� + this.loginService.clearRefreshToken(); + this.model.info({ + maskClosable: false, + title: errorMsg, + onOk: () => { + isExpireModelShow = false; + this.goTo('/passport/login'); + } + }); } - if (!this.isExpireModelShow) { - this.isExpireModelShow = true; - // ������refresh��������������������� - this.loginService.clearRefreshToken(); - this.model.info({ - title: errorMsg, - onOk: () => { - this.isExpireModelShow = false; - this.goTo('/passport/login'); - } - }); - } - } + }); } get loginService(): LoginService { return this.injector.get<LoginService>(LoginService); @@ -85,7 +86,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