cache.js 1.5 KB
Newer Older
1 2 3 4 5
/* eslint-disable */

// localStorage 操作

const cacheKeys = {
YunaiV's avatar
YunaiV committed
6 7
  ACCESS_TOKEN: 'accessToken',
  REFRESH_TOKEN: 'refreshToken',
8 9 10 11 12
};

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

YunaiV's avatar
YunaiV committed
13 14 15 16 17
export function checkLogin() {
  let accessToken = getAccessToken();
  return accessToken && accessToken.length > 0;
}

18
export function setLoginToken(accessToken, refreshToken) {
YunaiV's avatar
YunaiV committed
19 20
  setLocalStorage(cacheKeys.ACCESS_TOKEN, accessToken);
  setLocalStorage(cacheKeys.REFRESH_TOKEN, refreshToken);
21 22 23 24
}

export function getLoginToken() {
  const res = {};
YunaiV's avatar
YunaiV committed
25 26
  res[cacheKeys.ACCESS_TOKEN] = getLocalStorage(cacheKeys.ACCESS_TOKEN);
  res[cacheKeys.REFRESH_TOKEN] = getLocalStorage(cacheKeys.REFRESH_TOKEN);
27 28 29
  return res;
}

30
export function clearLoginToken() {
YunaiV's avatar
YunaiV committed
31 32
  removeLocalStorage(cacheKeys.ACCESS_TOKEN);
  removeLocalStorage(cacheKeys.REFRESH_TOKEN);
33 34
}

35
export function getAccessToken() {
YunaiV's avatar
YunaiV committed
36 37 38 39 40
  return getLocalStorage(cacheKeys.ACCESS_TOKEN);
}

export function getRefreshToken() {
  return getLocalStorage(cacheKeys.REFRESH_TOKEN);
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
}

///
/// 设置 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}`);
  }
60 61 62 63 64 65 66 67
}

function removeLocalStorage(key) {
  try {
    localStorage.removeItem(key);
  } catch (e) {
    throw new Error(`localStorage 设置错误! ${e}`);
  }
YunaiV's avatar
YunaiV committed
68
}