diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 8c2edd8..ad2e998 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -218,9 +218,9 @@ async fn search_agents(query: String, conversation_id: Option) -> Result #[tauri::command(rename_all = "camelCase")] async fn get_files(args: GetFilesArgs) -> Result, String> { - let page_size = args.page_size; + let max_files = args.page_size; let client = get_client(); - let per_page = 20; // API 限制最大 20 + let per_page = 100; // Core API 现在支持更大的 page_size // 获取第一页并获取总数 let url = format!("{}/api/v1/files?api_key={}&page=1&per_page={}", CORE_API, API_KEY, per_page); @@ -233,6 +233,9 @@ async fn get_files(args: GetFilesArgs) -> Result, String> { // 解析第一页的文件 if let Some(files_array) = json["data"].as_array() { for f in files_array { + if all_files.len() >= max_files { + break; + } if let Some(file_info) = parse_file_info(f) { all_files.push(file_info); } @@ -243,11 +246,10 @@ async fn get_files(args: GetFilesArgs) -> Result, String> { let total_pages = (total + per_page - 1) / per_page; // 获取剩余页(如果有限制) - let max_files = std::cmp::min(page_size, total); let max_pages = (max_files + per_page - 1) / per_page; for page in 2..=max_pages.min(total_pages) { - if all_files.len() >= page_size { + if all_files.len() >= max_files { break; } @@ -257,7 +259,7 @@ async fn get_files(args: GetFilesArgs) -> Result, String> { if let Some(files_array) = json["data"].as_array() { for f in files_array { - if all_files.len() >= page_size { + if all_files.len() >= max_files { break; } if let Some(file_info) = parse_file_info(f) {