From c2b8fc655e2073bc9b262136e9120bca7d484eed Mon Sep 17 00:00:00 2001 From: YoVinchen Date: Mon, 12 Jan 2026 14:39:33 +0800 Subject: [PATCH] feat(db): add rectifier config storage in settings table Store rectifier config as JSON in single key for extensibility --- src-tauri/src/database/dao/settings.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src-tauri/src/database/dao/settings.rs b/src-tauri/src/database/dao/settings.rs index 65d2328f9..eab287b44 100644 --- a/src-tauri/src/database/dao/settings.rs +++ b/src-tauri/src/database/dao/settings.rs @@ -128,4 +128,27 @@ impl Database { log::info!("已清除所有代理接管状态"); Ok(()) } + + // --- 整流器配置 --- + + /// 获取整流器配置 + /// + /// 返回整流器配置,如果不存在则返回默认值(全部启用) + pub fn get_rectifier_config(&self) -> Result { + match self.get_setting("rectifier_config")? { + Some(json) => serde_json::from_str(&json) + .map_err(|e| AppError::Database(format!("解析整流器配置失败: {e}"))), + None => Ok(crate::proxy::types::RectifierConfig::default()), + } + } + + /// 更新整流器配置 + pub fn set_rectifier_config( + &self, + config: &crate::proxy::types::RectifierConfig, + ) -> Result<(), AppError> { + let json = serde_json::to_string(config) + .map_err(|e| AppError::Database(format!("序列化整流器配置失败: {e}")))?; + self.set_setting("rectifier_config", &json) + } }