import Cookies from 'js-cookie';
import store from 'store2';
import { isEmpty, isObject } from 'lodash';
import { encode, decode } from 'js-base64';
import noDataFilter from './noDataFilter';
/**
 * 获取token
 * @return {[type]} [description]
 */
let NAME = process.env.REACT_APP_NAME;
const KEY = NAME + '-token';
export function setToken(value, key = KEY) {
    Cookies.set(key, value, { expires: 1, path: '/' });
}
export function getToken() {
    const token = Cookies.get(KEY);
    return token || '';
}
export function getStorage(key) {
    const storage = store.get(NAME);
    const data = storage ? JSON.parse(decode(storage)) : {};
    return data[key] || '';
}
export function getAllStorage() {
    const storage = store.get(NAME);
    return JSON.parse(decode(storage)) || {};
}
export function setStorage(storage) {
    if (!isEmpty(storage) && isObject(storage)) {
        store.set(NAME, encode(JSON.stringify(noDataFilter(storage))));
    }
}
export function clearStorage(path = '/') {
    Cookies.remove(KEY, { path: path });
    store.clearAll();
}