单应用项目,可以创建很多独立工具类页面 ,不用登录 初始化的页面
zhangchen
2025-08-11 6ecaed01cf576560a31ae960d0cdf1473e03c6b8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
class Cache {
  /**
   * 设置本地缓存
   * @param key 键名
   * @param value 值(会自动序列化为 JSON)
   */
  set<T = any>(key: string, value: T): void {
    try {
      const json = JSON.stringify(value)
      localStorage.setItem(key, json)
    } catch (e) {
      console.error(`缓存写入失败(${key}):`, e)
    }
  }
 
  /**
   * 获取本地缓存
   * @param key 键名
   * @returns 反序列化后的值,失败返回 null
   */
  get<T = any>(key: string): T | null {
    try {
      const json = localStorage.getItem(key)
      return json ? JSON.parse(json) as T : null
    } catch (e) {
      console.error(`缓存读取失败(${key}):`, e)
      return null
    }
  }
 
  /**
   * 删除指定缓存项
   * @param key 键名
   */
  delete(key: string): void {
    try {
      localStorage.removeItem(key)
    } catch (e) {
      console.error(`缓存删除失败(${key}):`, e)
    }
  }
 
  /**
   * 判断某项缓存是否存在
   * @param key 键名
   * @returns 是否存在
   */
  has(key: string): boolean {
    try {
      return localStorage.getItem(key) !== null
    } catch (e) {
      console.error(`缓存判断失败(${key}):`, e)
      return false
    }
  }
 
  /**
   * 清空所有本地缓存
   */
  clear(): void {
    try {
      localStorage.clear()
    } catch (e) {
      console.error('缓存清空失败:', e)
    }
  }
}
 
export default new Cache()