gerson
2025-02-09 d5846fc94573f1c2156230d9cdf2da45e4e12c46
src/utils/storage.ts
@@ -1,4 +1,4 @@
import { accessSessionKey, getSessionKey, getUserNameKey, userNameKey } from './request';
import { accessSessionKey, getSessionKey, getUserNameKey, userNameKey,domainPrefix } from './request';
/**
 * window.localStorage 浏览器永久缓存
@@ -11,7 +11,7 @@
   // 查看 v2.4.3版本更新日志
   setKey(key: string) {
      // @ts-ignore
      return `${__NEXT_NAME__}:${key}`;
      return `${__NEXT_NAME__}:${domainPrefix}${key}`;
   },
   // 设置永久缓存
   set<T>(key: string, val: T, win = window) {
@@ -32,6 +32,37 @@
   },
};
//#region ====================== 缓存带时间 ======================
type CacheValue<T> = {
   // 过期时间,时间戳
   expiredTime: number;
   value: T;
};
export const LocalPlus = {
   // 设置
   set<T>(key: string, val: T, expireDay: number) {
      const expireMs = expireDay * 24 * 60 * 60 * 1000;
      const cacheValue: CacheValue<T> = {
         expiredTime: new Date().getTime() + expireMs,
         value: val,
      };
      Local.set(key, cacheValue);
   },
   // 获取,过期则清除
   get(key: string) {
      const cacheValue: CacheValue<any> = Local.get(key);
      if(!cacheValue?.expiredTime) return null;
      if (new Date().getTime() > cacheValue.expiredTime) {
         Local.remove(key);
         return null;
      }
      return cacheValue.value;
   },
};
//#endregion
/**
 * window.sessionStorage 浏览器临时缓存
 * @method set 设置临时缓存