From 0c32dcd1494c628c807e20ebfdbf3f3ebb153b83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E7=94=9F=E6=9D=82=E7=89=A9=E6=88=BF?= <88823709+TC999@users.noreply.github.com> Date: Wed, 27 Nov 2024 11:23:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/delete.rs | 4 ++-- src/scanner.rs | 9 ++++++--- src/ui.rs | 2 ++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/delete.rs b/src/delete.rs index 2e96a5d..c16835e 100644 --- a/src/delete.rs +++ b/src/delete.rs @@ -9,7 +9,7 @@ pub fn delete_folder(folder_path: &str) -> Result<(), String> { let path = Path::new(folder_path); if !path.exists() { - //println!("文件夹不存在.".to_string()); + println!("文件夹不存在."); let error_msg = "文件夹不存在.".to_string(); logger::log_error(&error_msg); return Err(error_msg); @@ -23,7 +23,7 @@ pub fn delete_folder(folder_path: &str) -> Result<(), String> { error_msg }) } else { - //println!("路径不是目录.".to_string()); + println!("路径不是目录."); let error_msg = "路径不是目录.".to_string(); logger::log_error(&error_msg); Err(error_msg) diff --git a/src/scanner.rs b/src/scanner.rs index f51b68d..c3d1324 100644 --- a/src/scanner.rs +++ b/src/scanner.rs @@ -1,14 +1,17 @@ use std::sync::mpsc::Sender; use std::thread; use std::{fs, path::PathBuf}; -use std::fs::{self, DirEntry}; use std::path::Path; use dirs_next as dirs; use crate::logger; // 引入日志模块 pub fn scan_appdata(tx: Sender<(String, u64)>, folder_type: &str) { + println!("开始扫描 {} 类型的文件夹", folder_type); + // 记录日志 logger::log_info(&format!("开始扫描 {} 类型的文件夹", folder_type)); + + // 根据 folder_type 确定要扫描的目录 let appdata_dir = match folder_type { "Roaming" => dirs::data_dir(), "Local" => dirs::cache_dir(), @@ -16,6 +19,7 @@ pub fn scan_appdata(tx: Sender<(String, u64)>, folder_type: &str) { _ => None, }; + // 如果找到有效的目录,开始扫描 if let Some(appdata_dir) = appdata_dir { thread::spawn(move || { if let Ok(entries) = fs::read_dir(&appdata_dir) { @@ -24,7 +28,7 @@ pub fn scan_appdata(tx: Sender<(String, u64)>, folder_type: &str) { if metadata.is_dir() { let folder_name = entry.file_name().to_string_lossy().to_string(); let size = calculate_folder_size(&entry.path()); - println!("Folder: {:?}, Size: {}", path.display(), size); // 打印文件夹路径和大小 + // 发送文件夹大小数据 tx.send((folder_name, size)).unwrap(); } } @@ -56,4 +60,3 @@ fn calculate_folder_size(folder: &Path) -> u64 { size } - diff --git a/src/ui.rs b/src/ui.rs index 4411344..bb21617 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -3,6 +3,7 @@ use crate::confirmation; use crate::delete; use crate::scanner; use crate::utils; +use crate::logger; // 导入 logger 模块 use eframe::egui::{self, Grid, ScrollArea}; use std::sync::mpsc::{Sender, Receiver}; @@ -69,6 +70,7 @@ impl eframe::App for AppDataCleaner { if result { if let Err(err) = delete::delete_folder(&folder) { eprintln!("删除失败: {}", err); + logger::log_info(&format!("删除失败: {}", err)); } } self.confirm_delete = None;