/*
 *1.存储数据
 */
export const setItem = (key, value) => {
  // value的两种情况 1. 基本数据类型  2.复杂数据类型
  if (typeof value === "object") {
    value = JSON.stringify(value);
  }
  window.localStorage.setItem(key, value);
};

/*
 *2.获取数据
 */
export const getItem = (key) => {
  const data = window.localStorage.getItem(key);
  try {
    if (typeof data === 'string' && /^\d+$/.test(data) && data.length > 15) {
      // 如果是长数字字符串，直接返回，不进行 JSON.parse
      return data;
    }
    return JSON.parse(data);
  } catch (err) {
    return data;
  }
};

/*
 *3.删除指定数据
 */
export const removeItem = (key) => {
  window.localStorage.removeItem(key);
};

/*
 *4.删除所有数据
 */
export const removeAllItem = () => {
  window.localStorage.clear();
};
