From 2656c7ab687d3e3b6f704b9d87ce20ff9c805bb0 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Thu, 07 Jun 2018 16:02:31 +0800
Subject: [PATCH] 过时弹窗完善测试
---
src/app/business/services/http/login.service.ts | 32 +++++++++++++++++++++++++-------
1 files changed, 25 insertions(+), 7 deletions(-)
diff --git a/src/app/business/services/http/login.service.ts b/src/app/business/services/http/login.service.ts
index b5c1b6f..989d7d7 100644
--- a/src/app/business/services/http/login.service.ts
+++ b/src/app/business/services/http/login.service.ts
@@ -23,12 +23,14 @@
// ���2���������������������token������������
setInterval(
() => {
- if (this.needFreshFromLocal && this.isReachRefreshTime()) {
+ if (this.canRefreshToken()
+ && this.needFreshFromLocal
+ && this.isReachRefreshTime()) {
+ const _refreshToken = this._refreshToken;
// ������������������
this.setRefreshTime();
// ������needfreshtoken
- localStorage.setItem('needRefreshToken', 'false');
- const _refreshToken = this._refreshToken;
+ localStorage.setItem('needRefreshToken', 'false');
if (!!_refreshToken) {
this.http.get(this.urls.refreshToken, {headers: {'X-Refrsh-Token': 'Bearer ' + _refreshToken}} )
.subscribe(
@@ -75,7 +77,7 @@
return localStorage.needRefreshToken === 'true';
}
private setRefreshTime() {
- localStorage.setItem('refreshTime', new Date().getTime().toString());
+ localStorage.setItem('refreshTime', new Date().getTime().toString());
}
private setNeedRefreshToken() {
localStorage.setItem('needRefreshToken', 'true');
@@ -84,11 +86,27 @@
const expiredTime = Number(localStorage.expiredTime);
return !!this.refreshTime && !!expiredTime && this.refreshTime + (expiredTime / 2) * 60000 < new Date().getTime();
}
- get refreshTime(): number {
+ private get refreshTime(): number {
return Number(localStorage.refreshTime);
}
+ public clearRefreshToken() {
+ localStorage.expiredTime = null;
+ localStorage.refreshTime = null;
+ localStorage.refreshToken = null;
+ this.authorization = null;
+ localStorage.removeItem('expiredTime');
+ localStorage.removeItem('refreshTime');
+ localStorage.removeItem('refreshToken');
+ }
+ private canRefreshToken() {
+ return !!localStorage.getItem('expiredTime')
+ && !!localStorage.getItem('refreshTime')
+ && !!localStorage.getItem('refreshToken');
+ }
public refreshToken () {
- // ������������������token
- this.setNeedRefreshToken();
+ if (this.canRefreshToken()) {
+ // ������������������token
+ this.setNeedRefreshToken();
+ }
}
}
--
Gitblit v1.8.0