|
@@ -1,8 +1,5 @@
|
|
|
const cacheManager = (function() {
|
|
|
- // 默认存储的前缀,可以根据需要修改
|
|
|
const STORAGE_PREFIX = 'App_cache_';
|
|
|
-
|
|
|
- // 设置缓存
|
|
|
function set(key, value) {
|
|
|
const fullKey = STORAGE_PREFIX + key;
|
|
|
if (typeof value === 'object' && value !== null) {
|
|
@@ -18,10 +15,8 @@ const cacheManager = (function() {
|
|
|
const fullKey = STORAGE_PREFIX + key;
|
|
|
const value = uni.getStorageSync(fullKey);
|
|
|
try {
|
|
|
- // 尝试将字符串解析为对象
|
|
|
return JSON.parse(value);
|
|
|
} catch (e) {
|
|
|
- // 如果解析失败,则直接返回值
|
|
|
return value;
|
|
|
}
|
|
|
}
|
|
@@ -32,7 +27,6 @@ const cacheManager = (function() {
|
|
|
uni.removeStorageSync(fullKey);
|
|
|
}
|
|
|
|
|
|
- // 增量修改对象中的参数或添加新参数 删除参数
|
|
|
//例子: cacheManager.updateObject('user', { www: undefined }); //删除
|
|
|
function updateObject(key, updates) {
|
|
|
let obj = get(key) || {};
|
|
@@ -43,15 +37,11 @@ const cacheManager = (function() {
|
|
|
// 如果值为 null 或 undefined,则删除属性
|
|
|
delete obj[keyToUpdate];
|
|
|
} else {
|
|
|
- // 否则,更新或添加属性
|
|
|
obj[keyToUpdate] = value;
|
|
|
}
|
|
|
}
|
|
|
- // 重新设置缓存
|
|
|
set(key, obj);
|
|
|
}
|
|
|
-
|
|
|
- // 清除所有以特定前缀开头的缓存
|
|
|
function clearAll() {
|
|
|
const keys = uni.getStorageInfoSync().keys;
|
|
|
keys.forEach(key => {
|
|
@@ -75,7 +65,7 @@ const cacheManager = (function() {
|
|
|
// 重新设置缓存
|
|
|
set(key, obj);
|
|
|
} else {
|
|
|
- console.error(`Path ${arrayPath} does not point to an array in the object.`);
|
|
|
+ console.error(`${arrayPath}不指向对象中的数组。`);
|
|
|
}
|
|
|
}
|
|
|
// 例子
|