// ------------------------------------token的本地存储------------------------------------

// 用户 Token 的本地缓存键名，自己定义
const TOKEN_KEY = "SWSDNBWJ_HT_USER_INFO";

/**
 * 从本地缓存中获取 用户 信息
 */
export const getTokenInfo = (): any => {
  return JSON.parse(localStorage.getItem(TOKEN_KEY) || "{}");
};

/**
 * 将 用户 信息存入缓存
 * @param {Object} tokenInfo 从后端获取到的 Token 信息
 */
export const setTokenInfo = (tokenInfo: any): void => {
  localStorage.setItem(TOKEN_KEY, JSON.stringify(tokenInfo));
};

/**
 * 删除本地缓存中的 用户 信息
 */
export const removeTokenInfo = (): void => {
  localStorage.removeItem(TOKEN_KEY);
};

/**
 * 判断本地缓存中是否存在 Token 信息
 */
export const hasToken = (): boolean => {
  return Boolean(getTokenInfo().token);
};

/**
 * 获取本地缓存中是否存在 Token 信息
 */
export const getTokenFu = (): string => {
  return getTokenInfo().token;
};

// ---------------------------------------- 功能权限 的本地存储 --------------------
const A4_KEY = "SWSDNBWJ_HT_A4_INFO";

/**
 * 从本地缓存中获取 功能权限 信息
 */
export const A4getStorage = (): any => {
  return JSON.parse(localStorage.getItem(A4_KEY) || "[]");
};

/**
 *  功能权限 信息 存入本地缓存
 */
export const A4setStorage = (info: any): void => {
  localStorage.setItem(A4_KEY, JSON.stringify(info));
};

// ---------------------------------------- 项目管理-内控文件视图-下载 的本地存储 --------------------

const A1_DOWN = "SWSDNBWJ_HT_A1_DOWNIDS";

/**
 * 从本地缓存中获取 项目管理-内控文件-下载 信息
 */
export const A1getStorage = (): number[] => {
  return JSON.parse(localStorage.getItem(A1_DOWN) || "[]");
};

/**
 *  项目管理-内控文件-下载 信息 存入本地缓存
 */
export const A1setStorage = (info: any): void => {
  localStorage.setItem(A1_DOWN, JSON.stringify(info));
};
