44 lines
1.1 KiB
TypeScript
44 lines
1.1 KiB
TypeScript
|
|
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<string, string>) => {
|
||
|
|
Object.entries(pairs).forEach(([key, value]) => {
|
||
|
|
localStorage.setItem(key, value);
|
||
|
|
});
|
||
|
|
},
|
||
|
|
removeAuthorization: () => {
|
||
|
|
localStorage.removeItem(Authorization);
|
||
|
|
},
|
||
|
|
removeAll: () => {
|
||
|
|
KeySet.forEach((x) => {
|
||
|
|
localStorage.removeItem(x);
|
||
|
|
});
|
||
|
|
},
|
||
|
|
};
|
||
|
|
|
||
|
|
export default storage;
|