From c30855fa70a7621bab69b7fe3ad2bb27b5593477 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E8=88=AA=E5=AE=87?= <3364451258@qq.com> Date: Tue, 26 May 2026 22:42:15 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20backup.rs=20=E2=80=94=20use=20?= =?UTF-8?q?=E8=AF=AD=E5=8F=A5=E7=A7=BB=E8=87=B3=E6=96=87=E4=BB=B6=E9=A1=B6?= =?UTF-8?q?=E9=83=A8=EF=BC=8C=E6=B3=A8=E5=86=8C=E8=A1=A8=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=E5=A4=8D=E7=94=A8=E5=B8=B8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.7 --- src-tauri/src/commands/backup.rs | 9 ++++----- src-tauri/src/commands/registry.rs | 6 +++--- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src-tauri/src/commands/backup.rs b/src-tauri/src/commands/backup.rs index f566543..3533f7f 100644 --- a/src-tauri/src/commands/backup.rs +++ b/src-tauri/src/commands/backup.rs @@ -1,5 +1,7 @@ use chrono::Local; use std::path::PathBuf; +use winreg::enums::*; +use crate::commands::registry::{self, SYS_REG_PATH, USER_REG_PATH}; fn backup_base_dir() -> PathBuf { dirs::data_dir() @@ -19,9 +21,6 @@ pub fn get_appdata_dir() -> String { /// 在保存前调用,备份的是注册表中的当前值(保存前的状态) #[tauri::command] pub fn backup_registry(custom_dir: Option) -> Result { - use crate::commands::registry; - use winreg::enums::*; - let backup_dir = match custom_dir { Some(ref dir) if !dir.is_empty() => std::path::PathBuf::from(dir), _ => backup_base_dir(), @@ -33,12 +32,12 @@ pub fn backup_registry(custom_dir: Option) -> Result { // 读取当前注册表中的值(保存前的旧值) let sys_paths = registry::load_paths( HKEY_LOCAL_MACHINE, - "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment", + SYS_REG_PATH, "系统", )?; let user_paths = registry::load_paths( HKEY_CURRENT_USER, - "Environment", + USER_REG_PATH, "用户", )?; diff --git a/src-tauri/src/commands/registry.rs b/src-tauri/src/commands/registry.rs index f062007..2d1c2b4 100644 --- a/src-tauri/src/commands/registry.rs +++ b/src-tauri/src/commands/registry.rs @@ -1,9 +1,9 @@ use winreg::enums::*; use winreg::RegKey; -const SYS_REG_PATH: &str = "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment"; -const USER_REG_PATH: &str = "Environment"; -const PATH_VALUE: &str = "Path"; +pub(crate) const SYS_REG_PATH: &str = "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment"; +pub(crate) const USER_REG_PATH: &str = "Environment"; +pub(crate) const PATH_VALUE: &str = "Path"; pub(crate) fn load_paths(root: winreg::HKEY, sub_path: &str, label: &str) -> Result, String> { let key = RegKey::predef(root);