Переглянути джерело

fix: 处理localStorageDriver在某些受限浏览器环境下报错导致无法使用

layhuts 1 місяць тому
батько
коміт
1b4e126128

+ 7 - 2
packages/@core/base/shared/src/cache/storage-manager.ts

@@ -119,8 +119,13 @@ class StorageManager {
    * - SSR / Node 环境 → MemoryStorageDriver
    */
   private createDefaultDriver(): IStorageDriver {
-    if (typeof window !== 'undefined' && window.localStorage) {
-      return new LocalStorageDriver();
+    try {
+      if (typeof window !== 'undefined' && window.localStorage) {
+        return new LocalStorageDriver();
+      }
+    } catch (error) {
+      // localStorage access denied (e.g. Safari private mode)
+      console.warn('localStorage is not accessible, falling back to MemoryStorageDriver:', error);
     }
     return new MemoryStorageDriver();
   }