From 93b45ffa29060266dc293ede0a8f4e5e50e5ef10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=9A=E5=AD=90?= <40852301+uiYzzi@users.noreply.github.com> Date: Fri, 7 Mar 2025 16:41:24 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20=E6=B7=BB=E5=8A=A0=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E9=87=8F=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://git.spark-app.store/spark-store-private/spark-store/issues/4 --- src-tauri/src/utils/download_manager.rs | 31 ++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src-tauri/src/utils/download_manager.rs b/src-tauri/src/utils/download_manager.rs index c826286..bdbfbd7 100644 --- a/src-tauri/src/utils/download_manager.rs +++ b/src-tauri/src/utils/download_manager.rs @@ -1,4 +1,4 @@ -use crate::handlers::server::get_json_server_url; +use crate::handlers::server::{get_json_server_url, get_target_arch_to_store}; use crate::models::download::{ DownloadTask, DownloadTaskResponse, InstallStatus, InstallTask, ResponseStatus, }; @@ -556,6 +556,7 @@ impl DownloadManager { if output.status.success() { println!("安装成功完成"); println!("命令输出: {}", String::from_utf8_lossy(&output.stdout)); + let _ = self.update_download_count(&task.category, &task.pkgname).await; Ok(()) } else { let error_msg = String::from_utf8_lossy(&output.stderr).to_string(); @@ -573,4 +574,32 @@ impl DownloadManager { false } } + + // 更新下载量统计 + pub async fn update_download_count(&self, category: &str, pkgname: &str) -> Result<(), String> { + let url = "https://feedback.spark-app.store/handle_post"; + let client = reqwest::Client::new(); + + let json_body = serde_json::json!({ + "path": format!("{}/{}/{}",get_target_arch_to_store(),category,pkgname) + }); + + match client + .post(url) + .header("Content-Type", "application/json") + .header("User-Agent", UA) + .json(&json_body) + .send() + .await + { + Ok(_) => { + println!("下载量统计更新成功"); + Ok(()) + } + Err(e) => { + eprintln!("下载量统计更新失败: {}", e); + Err(format!("下载量统计更新失败: {}", e)) + } + } + } }