89 lines
1.7 KiB
JavaScript
Raw Normal View History

2017-11-14 14:27:16 +01:00
import { isEmpty } from 'lodash';
const TOKEN_KEY = 'jwtToken';
const USER_INFO = 'userInfo';
const parse = JSON.parse;
const stringify = JSON.stringify;
const auth = {
clear(key) {
if (localStorage && localStorage.getItem(key)) {
return localStorage.removeItem(key);
2017-11-14 14:27:16 +01:00
}
if (sessionStorage && sessionStorage.getItem(key)) {
return sessionStorage.removeItem(key);
2017-11-14 14:27:16 +01:00
}
return null;
},
clearAppStorage() {
2017-11-14 14:27:16 +01:00
if (localStorage) {
return localStorage.clear();
2017-11-14 14:27:16 +01:00
}
if (sessionStorage) {
return sessionStorage.clear();
2017-11-14 14:27:16 +01:00
}
return null;
},
clearToken(tokenKey = TOKEN_KEY) {
return auth.clear(tokenKey);
},
2017-11-14 14:27:16 +01:00
clearUserInfo(userInfo = USER_INFO) {
return auth.clear(userInfo);
},
get(key) {
if (localStorage && localStorage.getItem(key)) {
return parse(localStorage.getItem(key)) || null;
2017-11-14 14:27:16 +01:00
}
if (sessionStorage && sessionStorage.getItem(key)) {
return parse(sessionStorage.getItem(key)) || null;
2017-11-14 14:27:16 +01:00
}
return null;
},
getToken(tokenKey = TOKEN_KEY) {
return auth.get(tokenKey);
2017-11-14 14:27:16 +01:00
},
getUserInfo(userInfo = USER_INFO) {
return auth.get(userInfo);
2017-11-14 14:27:16 +01:00
},
set(value, key, isLocalStorage) {
2017-11-14 14:27:16 +01:00
if (isEmpty(value)) {
return null;
}
if (isLocalStorage && localStorage) {
return localStorage.setItem(key, stringify(value));
2017-11-14 14:27:16 +01:00
}
if (sessionStorage) {
return sessionStorage.setItem(key, stringify(value));
2017-11-14 14:27:16 +01:00
}
return null;
},
setToken(value = '', isLocalStorage = false, tokenKey = TOKEN_KEY) {
return auth.set(value, tokenKey, isLocalStorage);
},
2017-11-14 14:27:16 +01:00
setUserInfo(value = '', isLocalStorage = false, userInfo = USER_INFO) {
return auth.set(value, userInfo, isLocalStorage);
2017-11-14 14:27:16 +01:00
},
}
export default auth;