/** * 客户端缓存接口方法 * 默认使用window.localStorage, 不兼容将不做处理 * 通过版本和过期时间进行判断: * 1. 当版本不同直接清除,并返回null; * 2. 当已经过期后,直接清除,并返回null; */ export interface ClientCacheOptions { version?: string | number; delayDay?: number; storageMethod?: Storage; logger?: (data: object) => void; } export default class ClientCache { config: ClientCacheOptions; constructor(options: ClientCacheOptions); /** * 获取时间戳 * @param delayDay 当前时间戳+delayDay = 某个时间戳 * @private */ _getTimestamp: (delayDay?: number) => number; /** * 保存数据,并设置版本和时间戳 * @param key * @param namespace * @param data * @param delayDay */ setData: (key: string, namespace: string, data: object, delayDay?: number) => boolean; /** * 获取数据,把在setData设置版本和时间戳清洗掉,直接返回data * @param key * @param namespace */ getData: (key: string, namespace: string) => any; }