New file |
| | |
| | | interface ProxyStorage { |
| | | getItem(key: string): any; |
| | | setItem(Key: string, value: string): void; |
| | | removeItem(key: string): void; |
| | | clear(): void; |
| | | } |
| | | |
| | | //sessionStorage operate |
| | | class sessionStorageProxy implements ProxyStorage { |
| | | protected storage: ProxyStorage; |
| | | |
| | | constructor(storageModel: ProxyStorage) { |
| | | this.storage = storageModel; |
| | | } |
| | | |
| | | // 存 |
| | | public setItem(key: string, value: any): void { |
| | | this.storage.setItem(key, JSON.stringify(value)); |
| | | } |
| | | |
| | | // 取 |
| | | public getItem<T = any>(key: string): null | T { |
| | | return JSON.parse(this.storage.getItem(key)); |
| | | } |
| | | |
| | | // 删 |
| | | public removeItem(key: string): void { |
| | | this.storage.removeItem(key); |
| | | } |
| | | |
| | | // 清空 |
| | | public clear(): void { |
| | | this.storage.clear(); |
| | | } |
| | | } |
| | | |
| | | //localStorage operate |
| | | class localStorageProxy extends sessionStorageProxy implements ProxyStorage { |
| | | constructor(localStorage: ProxyStorage) { |
| | | super(localStorage); |
| | | } |
| | | } |
| | | |
| | | export const storageSession = new sessionStorageProxy(sessionStorage); |
| | | |
| | | export const storageLocal = new localStorageProxy(localStorage); |