diff --git a/package.json b/package.json index 7cb1f74..c6f491e 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "@angular/router": "^11.0.2", "@angular/service-worker": "^11.0.2", "jquery": "^3.5.1", + "js-base64": "^3.6.0", "ng-zorro-antd": "^11.2.0", "rxjs": "^6.6.3", "tslib": "^2.0.3", diff --git a/src/app/services/local-storage.service.ts b/src/app/services/local-storage.service.ts index f36191d..4956b3b 100644 --- a/src/app/services/local-storage.service.ts +++ b/src/app/services/local-storage.service.ts @@ -1,4 +1,5 @@ import {Injectable} from '@angular/core'; +import {Base64} from 'js-base64'; @Injectable({ providedIn: 'root' @@ -12,27 +13,27 @@ export class LocalStorageService { // 30s getToken(): string { - const item = localStorage.getItem('token'); + const item = this.getItem('token'); if (!item) { return null; } - return 'Bearer ' + atob(item); + return 'Bearer ' + item; } setToken(token: string) { const t = new Date().valueOf().toString(); - localStorage.setItem('t', btoa(t)); + this.setItem('t', t); if (token.startsWith('Bearer')) { token = token.replace('Bearer', ''); } if (token.startsWith('bearer')) { token = token.replace('bearer', ''); } - localStorage.setItem('token', btoa(token)); + this.setItem('token', token); } removeToken() { - localStorage.removeItem('token'); + this.removeItem('token'); } isLogin() { @@ -40,11 +41,12 @@ export class LocalStorageService { } setItem(key: string, value: any) { - localStorage.setItem(key, JSON.stringify(value)); + localStorage.setItem(key, Base64.encode(value)); } getItem(key: string) { - return localStorage.getItem(key); + const item = localStorage.getItem(key); + return item ? Base64.decode(item) : null; } removeItem(key: string) {