import { Authorization, Token, UserInfo } from '@/constants/authorization'; const KeySet = [Authorization, Token, UserInfo]; const storage = { getAuthorization: () => { return localStorage.getItem(Authorization); }, getToken: () => { return localStorage.getItem(Token); }, getUserInfo: () => { return localStorage.getItem(UserInfo); }, getUserInfoObject: () => { return JSON.parse(localStorage.getItem('userInfo') || ''); }, setAuthorization: (value: string) => { localStorage.setItem(Authorization, value); }, setToken: (value: string) => { localStorage.setItem(Token, value); }, setUserInfo: (value: string | Object) => { let valueStr = typeof value !== 'string' ? JSON.stringify(value) : value; localStorage.setItem(UserInfo, valueStr); }, setItems: (pairs: Record) => { Object.entries(pairs).forEach(([key, value]) => { localStorage.setItem(key, value); }); }, removeAuthorization: () => { localStorage.removeItem(Authorization); }, removeAll: () => { KeySet.forEach((x) => { localStorage.removeItem(x); }); }, }; export default storage;