将service移动到services文件夹中
This commit is contained in:
12
index/src/app/services/local-storage.service.spec.ts
Normal file
12
index/src/app/services/local-storage.service.spec.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
|
||||
import { LocalStorageService } from './local-storage.service';
|
||||
|
||||
describe('LocalStorageService', () => {
|
||||
beforeEach(() => TestBed.configureTestingModule({}));
|
||||
|
||||
it('should be created', () => {
|
||||
const service: LocalStorageService = TestBed.get(LocalStorageService);
|
||||
expect(service).toBeTruthy();
|
||||
});
|
||||
});
|
||||
63
index/src/app/services/local-storage.service.ts
Normal file
63
index/src/app/services/local-storage.service.ts
Normal file
@@ -0,0 +1,63 @@
|
||||
import {Injectable} from '@angular/core';
|
||||
import {User} from '../class/User';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class LocalStorageService {
|
||||
|
||||
constructor() {
|
||||
}
|
||||
|
||||
// 1分钟
|
||||
readonly place = 60 * 1000;
|
||||
|
||||
getToken(): string {
|
||||
return localStorage.getItem('token');
|
||||
}
|
||||
|
||||
setToken(token: string) {
|
||||
localStorage.setItem('t', new Date().valueOf().toString());
|
||||
localStorage.setItem('token', token);
|
||||
}
|
||||
|
||||
removeToken() {
|
||||
localStorage.removeItem('token');
|
||||
}
|
||||
|
||||
isLogin() {
|
||||
return this.getToken() != null;
|
||||
}
|
||||
|
||||
setUser(user: User) {
|
||||
// TODO: 简单加个密
|
||||
localStorage.setItem('t', new Date().valueOf().toString());
|
||||
return localStorage.setItem('user', JSON.stringify(user));
|
||||
}
|
||||
|
||||
getUser(): User {
|
||||
if (!this.checkNeedNet()) {
|
||||
return JSON.parse(localStorage.getItem('user'));
|
||||
}
|
||||
}
|
||||
|
||||
removeUser() {
|
||||
return localStorage.removeItem('user');
|
||||
}
|
||||
|
||||
clear() {
|
||||
localStorage.removeItem('token');
|
||||
localStorage.removeItem('user');
|
||||
return localStorage.removeItem('t');
|
||||
}
|
||||
|
||||
checkNeedNet() {
|
||||
const t: number = Number.parseInt(localStorage.getItem('t'), 10);
|
||||
if (isNaN(t) || new Date().valueOf() - t > this.place) {
|
||||
localStorage.removeItem('t');
|
||||
localStorage.removeItem('user');
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user