一、緩存的寫入
uni.setStorageSync("storageClassList",classifyList.value)
二、緩存的讀取,如果緩存不存在,則返回空數組
const storageClassList = uni.getStorageSync("storageClassList") || [];
三、對讀取到的數據進行轉換處理
// 1. 創建響應式數組
const classList = ref([])
// 2. 從本地存儲讀取數據
const storageClassList = uni.getStorageSync("storageClassList") || [];
// 3. 數據轉換處理
classList.value = storageClassList.map(item => { return {...item, // 保留原數據picurl: item.smallPicurl.replace("_small.webp", ".jpg") // 修改圖片格式}
})
知識要點1:
const storageClassList = uni.getStorageSync("storageClassList") || []
通過 uni-app 的 API uni.getStorageSync 從本地緩存中讀取鍵為 "storageClassList" 的數據。
如果緩存中沒有該數據(返回 null 或 undefined),則默認賦值為空數組 [](避免后續 .map 方法報錯)。
?要點2:
classList.value = storageClassList.map(item => {...})
對 storageClassList 中的每一項(item)進行 數據轉換:
...item:使用擴展運算符保留原對象的所有屬性。picurl: item.smallPicurl.replace("_small.webp", ".jpg"):
將 smallPicurl 字段中的 _small.webp 后綴替換為 .jpg,生成新的 picurl 字段。
將小圖格式(_small.webp)轉換為標準圖片格式(.jpg)。
?典型應用場景:
從緩存加載分類數據:在頁面初始化時,優先使用本地緩存數據(提升加載速度)。圖片格式統一處理:將縮略圖路徑轉換為高清圖路徑(可能用于詳情頁展示)。
數據兼容性處理:確保即使緩存無數據,程序也能安全運行(|| [] 的兜底邏輯)。
?注意:uni.getStorageSync
?是 uni-app 特有的 API,在非 uni-app 項目中需替換為其他存儲方案(如?localStorage
)。