Răsfoiți Sursa

fix(LocalMusic): 修复类错误

chendeben 8 luni în urmă
părinte
comite
8e7270478d
1 a modificat fișierele cu 10 adăugiri și 4 ștergeri
  1. 10 4
      entry/src/main/ets/view/LocalMusic.ets

+ 10 - 4
entry/src/main/ets/view/LocalMusic.ets

@@ -921,12 +921,18 @@ export struct LocalMusic {
     const cacheString = await PreferencesUtil.getStringSync('music_cache', '');
     const stringCacheString = await PreferencesUtil.getStringSync('music_string_cache', ''); // 载入字符串缓存
     if (cacheString) {
-      const cacheArray: [string, Array<VideoItem>][] = JSON.parse(cacheString);
-      this.cache = new Map(cacheArray);
+      const parsedCache: Object | null = JSON.parse(cacheString);
+      if (parsedCache && Array.isArray(parsedCache)) {
+        const cacheArray: [string, Array<VideoItem>][] = parsedCache;
+        this.cache = new Map(cacheArray);
+      }
     }
     if (stringCacheString) {
-      const stringCacheArray: [string, string][] = JSON.parse(stringCacheString);
-      this.stringCache = new Map(stringCacheArray);
+      const parsedStringCache: Object | null = JSON.parse(stringCacheString);
+      if (parsedStringCache && Array.isArray(parsedStringCache)) {
+        const stringCacheArray: [string, string][] = parsedStringCache;
+        this.stringCache = new Map(stringCacheArray);
+      }
     }
   }