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 = {
|
2017-11-20 14:21:08 +01:00
|
|
|
clear(key) {
|
|
|
|
if (localStorage && localStorage.getItem(key)) {
|
|
|
|
return localStorage.removeItem(key);
|
2017-11-14 14:27:16 +01:00
|
|
|
}
|
|
|
|
|
2017-11-20 14:21:08 +01:00
|
|
|
if (sessionStorage && sessionStorage.getItem(key)) {
|
|
|
|
return sessionStorage.removeItem(key);
|
2017-11-14 14:27:16 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
return null;
|
|
|
|
},
|
|
|
|
|
2017-11-20 14:21:08 +01:00
|
|
|
clearAppStorage() {
|
2017-11-14 14:27:16 +01:00
|
|
|
if (localStorage) {
|
2017-11-29 10:29:12 +01:00
|
|
|
localStorage.clear();
|
2017-11-14 14:27:16 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
if (sessionStorage) {
|
2017-11-29 10:29:12 +01:00
|
|
|
sessionStorage.clear();
|
2017-11-14 14:27:16 +01:00
|
|
|
}
|
|
|
|
},
|
|
|
|
|
2017-11-20 14:21:08 +01:00
|
|
|
clearToken(tokenKey = TOKEN_KEY) {
|
|
|
|
return auth.clear(tokenKey);
|
|
|
|
},
|
|
|
|
|
2017-11-14 14:27:16 +01:00
|
|
|
clearUserInfo(userInfo = USER_INFO) {
|
2017-11-20 14:21:08 +01:00
|
|
|
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
|
|
|
}
|
|
|
|
|
2017-11-20 14:21:08 +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) {
|
2017-11-20 14:21:08 +01:00
|
|
|
return auth.get(tokenKey);
|
2017-11-14 14:27:16 +01:00
|
|
|
},
|
|
|
|
|
|
|
|
getUserInfo(userInfo = USER_INFO) {
|
2017-11-20 14:21:08 +01:00
|
|
|
return auth.get(userInfo);
|
2017-11-14 14:27:16 +01:00
|
|
|
},
|
|
|
|
|
2017-11-20 14:21:08 +01:00
|
|
|
set(value, key, isLocalStorage) {
|
2017-11-14 14:27:16 +01:00
|
|
|
if (isEmpty(value)) {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (isLocalStorage && localStorage) {
|
2017-11-20 14:21:08 +01:00
|
|
|
return localStorage.setItem(key, stringify(value));
|
2017-11-14 14:27:16 +01:00
|
|
|
}
|
|
|
|
|
2017-11-20 14:21:08 +01:00
|
|
|
if (sessionStorage) {
|
|
|
|
return sessionStorage.setItem(key, stringify(value));
|
2017-11-14 14:27:16 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
return null;
|
|
|
|
},
|
|
|
|
|
2017-11-20 14:21:08 +01:00
|
|
|
setToken(value = '', isLocalStorage = false, tokenKey = TOKEN_KEY) {
|
|
|
|
return auth.set(value, tokenKey, isLocalStorage);
|
|
|
|
},
|
2017-11-14 14:27:16 +01:00
|
|
|
|
2017-11-20 14:21:08 +01:00
|
|
|
setUserInfo(value = '', isLocalStorage = false, userInfo = USER_INFO) {
|
|
|
|
return auth.set(value, userInfo, isLocalStorage);
|
2017-11-14 14:27:16 +01:00
|
|
|
},
|
2018-03-09 16:41:24 +01:00
|
|
|
};
|
2017-11-14 14:27:16 +01:00
|
|
|
|
|
|
|
export default auth;
|