fix: 修复 ruleStorage 写入失败处理与 CopyButton 成功态样式

This commit is contained in:
雨霖铃
2026-06-27 17:53:08 +08:00
parent 92bca1c728
commit 2967a6f79f
2 changed files with 9 additions and 6 deletions
+7 -5
View File
@@ -78,7 +78,7 @@ export function save(
useCount: 0,
};
rules.unshift(newRule);
setAll(rules);
if (!setAll(rules)) return null;
return newRule;
}
@@ -95,7 +95,7 @@ export function save(
updatedAt: now,
};
rules[index] = updatedRule;
setAll(rules);
if (!setAll(rules)) return null;
return updatedRule;
}
@@ -117,7 +117,7 @@ export function update(id: string, updates: Partial<DataRule>): DataRule | null
updatedAt: Date.now(),
};
rules[index] = updatedRule;
setAll(rules);
if (!setAll(rules)) return null;
return updatedRule;
}
@@ -132,7 +132,7 @@ export function deleteRule(id: string): boolean {
return false;
}
rules.splice(index, 1);
setAll(rules);
if (!setAll(rules)) return false;
return true;
}
@@ -267,11 +267,13 @@ export function clear(): void {
/**
* 保存所有规则到存储
*/
function setAll(rules: DataRule[]): void {
function setAll(rules: DataRule[]): boolean {
try {
localStorage.setItem(STORAGE_KEY, JSON.stringify(rules));
return true;
} catch (error) {
console.error('[ruleStorage] 保存规则失败:', error);
return false;
}
}