From 87b5c6927ee0f377d9fc0bcc0f9d1ea6b969ffe6 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Wed, 06 Jun 2018 15:12:59 +0800
Subject: [PATCH] 解决超时弹窗反复弹出
---
src/app/core/net/default.interceptor.ts | 54 +++++++++++++++++++++++++++---------------------------
1 files changed, 27 insertions(+), 27 deletions(-)
diff --git a/src/app/core/net/default.interceptor.ts b/src/app/core/net/default.interceptor.ts
index e1b947f..6f77ed7 100644
--- a/src/app/core/net/default.interceptor.ts
+++ b/src/app/core/net/default.interceptor.ts
@@ -21,36 +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) {
+ this.unLoginHandle.debounceTime(1000).subscribe( (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;
+ // ������refresh���������������������
+ this.loginService.clearRefreshToken();
+ this.model.info({
+ title: errorMsg,
+ onOk: () => {
+ this.isExpireModelShow = false;
+ this.goTo('/passport/login');
+ }
+ });
+ }
+ }
+ });
}
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;
- // ������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 +85,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