cache.js 1.3 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
/* eslint-disable */

// localStorage 操作

const cacheKeys = {
  accessTokenKey: 'accessToken',
  refreshTokenKey: 'refreshToken',
};

///
/// 设置 loginToken,分为 accessToken 和 refreshToken

export function setLoginToken(accessToken, refreshToken) {
  setLocalStorage(cacheKeys.accessTokenKey, accessToken);
  setLocalStorage(cacheKeys.refreshTokenKey, refreshToken);
}

export function getLoginToken() {
  const res = {};
  res[cacheKeys.accessTokenKey] = getLocalStorage(cacheKeys.accessTokenKey);
  res[cacheKeys.refreshTokenKey] = getLocalStorage(cacheKeys.refreshTokenKey);
  return res;
}

25 26 27 28 29
export function clearLoginToken() {
  removeLocalStorage(cacheKeys.accessTokenKey);
  removeLocalStorage(cacheKeys.refreshTokenKey);
}

30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
export function getAccessToken() {
  return getLocalStorage(cacheKeys.accessTokenKey);
}

///
/// 设置 localStorage 公共方法

function setLocalStorage(key, value) {
  try {
    localStorage.setItem(key, value);
  } catch (e) {
    throw new Error(`localStorage 设置错误! ${e}`);
  }
}

function getLocalStorage(key) {
  try {
    return localStorage.getItem(key);
  } catch (e) {
    throw new Error(`localStorage 获取错误! ${e}`);
  }
51 52 53 54 55 56 57 58
}

function removeLocalStorage(key) {
  try {
    localStorage.removeItem(key);
  } catch (e) {
    throw new Error(`localStorage 设置错误! ${e}`);
  }
59
}