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/business/services/http/login.service.ts | 37 +++++++++++++++++++++++++++----------
1 files changed, 27 insertions(+), 10 deletions(-)
diff --git a/src/app/business/services/http/login.service.ts b/src/app/business/services/http/login.service.ts
index 5b3cfa4..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(
@@ -50,9 +52,8 @@
this.authorization = res;
const now = new Date();
// expiredTime,refreshToken,refreshTime ������������ token ������������
- const expiredTime = !!this.authorization.expiredTime ? this.authorization.expiredTime.toString() : null;
this.setRefreshTime();
- localStorage.setItem('expiredTime', expiredTime);
+ localStorage.setItem('expiredTime', String(this.authorization.expiredTime));
localStorage.setItem('refreshToken', this.authorization.refreshToken);
return res;
}
@@ -66,7 +67,7 @@
}
);
}
- get _refreshToken(){
+ get _refreshToken() {
return !!this.authorization.refreshToken ? this.authorization.refreshToken : this.refreshTokenFromLocal;
}
get refreshTokenFromLocal(): string {
@@ -76,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');
@@ -85,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