From 7a295bb9b484cacb21b275b863581ed4ddf3c287 Mon Sep 17 00:00:00 2001 From: Momentry Studio Date: Sat, 10 Oct 2026 11:48:07 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=AD=A3=20Core=20API=20?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E5=90=8D=20per=5Fpage=20=E2=86=92=20page=5Fs?= =?UTF-8?q?ize?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题: - Studio 使用 per_page 参数 - Core API 实际参数名是 page_size - 导致 Core API 忽略参数,总是返回 20 条数据 修复: - 将所有 per_page 改为 page_size - 确保与 Core API 参数名一致 - 现在可以正确获取 100 条数据 测试: ✅ Core API 测试: ?page_size=50 返回 50 条数据 ✅ 编译通过 影响: - Library 可以显示所有文件(118 个) - 减少 API 请求次数 --- src-tauri/src/main.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index ad2e998..e0d0f4e 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -220,10 +220,10 @@ async fn search_agents(query: String, conversation_id: Option) -> Result async fn get_files(args: GetFilesArgs) -> Result, String> { let max_files = args.page_size; let client = get_client(); - let per_page = 100; // Core API 现在支持更大的 page_size + let page_size = 100; // Core API 现在支持更大的 page_size // 获取第一页并获取总数 - let url = format!("{}/api/v1/files?api_key={}&page=1&per_page={}", CORE_API, API_KEY, per_page); + let url = format!("{}/api/v1/files?api_key={}&page=1&page_size={}", CORE_API, API_KEY, page_size); let response = client.get(&url).send().await.map_err(|e| format!("Request failed: {}", e))?; let json: serde_json::Value = response.json().await.map_err(|e| format!("Parse failed: {}", e))?; @@ -243,17 +243,17 @@ async fn get_files(args: GetFilesArgs) -> Result, String> { } // 计算总页数 - let total_pages = (total + per_page - 1) / per_page; + let total_pages = (total + page_size - 1) / page_size; // 获取剩余页(如果有限制) - let max_pages = (max_files + per_page - 1) / per_page; + let max_pages = (max_files + page_size - 1) / page_size; for page in 2..=max_pages.min(total_pages) { if all_files.len() >= max_files { break; } - let url = format!("{}/api/v1/files?api_key={}&page={}&per_page={}", CORE_API, API_KEY, page, per_page); + let url = format!("{}/api/v1/files?api_key={}&page={}&page_size={}", CORE_API, API_KEY, page, page_size); let response = client.get(&url).send().await.map_err(|e| format!("Request failed: {}", e))?; let json: serde_json::Value = response.json().await.map_err(|e| format!("Parse failed: {}", e))?;