From 13e7d640e366ecb556d47c2934425026aa7e7d01 Mon Sep 17 00:00:00 2001 From: imeepos Date: Fri, 8 Aug 2025 16:25:01 +0800 Subject: [PATCH] fix: cargo check --lib error --- .../business/services/comfyui_v2_service.rs | 3 + .../services/comfyui_v2_service_manager.rs | 24 +++++-- .../commands/comfyui_v2_commands.rs | 62 ++++++++++++------- 3 files changed, 60 insertions(+), 29 deletions(-) diff --git a/apps/desktop/src-tauri/src/business/services/comfyui_v2_service.rs b/apps/desktop/src-tauri/src/business/services/comfyui_v2_service.rs index b04b39d..18d5acc 100644 --- a/apps/desktop/src-tauri/src/business/services/comfyui_v2_service.rs +++ b/apps/desktop/src-tauri/src/business/services/comfyui_v2_service.rs @@ -19,6 +19,9 @@ use crate::data::models::comfyui::{ WorkflowModel, TemplateModel, ExecutionModel, ExecutionStatus, ExecuteWorkflowRequest }; +use crate::presentation::commands::comfyui_v2_commands::{ + CreateWorkflowRequest, UpdateWorkflowRequest, CreateTemplateRequest, ExecuteTemplateRequest +}; use crate::data::repositories::comfyui_repository::ComfyUIRepository; use crate::business::services::realtime_monitor_v2::RealtimeMonitorV2; use crate::business::services::queue_manager::QueueManager; diff --git a/apps/desktop/src-tauri/src/business/services/comfyui_v2_service_manager.rs b/apps/desktop/src-tauri/src/business/services/comfyui_v2_service_manager.rs index 9eb6f9d..bdc0ae7 100644 --- a/apps/desktop/src-tauri/src/business/services/comfyui_v2_service_manager.rs +++ b/apps/desktop/src-tauri/src/business/services/comfyui_v2_service_manager.rs @@ -15,6 +15,7 @@ use crate::business::services::{ comfyui_manager::ComfyUIManager, }; use crate::data::repositories::comfyui_repository::ComfyUIRepository; +use crate::data::models::comfyui::ComfyUIConfig; /// ComfyUI V2 服务管理器 /// 负责管理所有 ComfyUI V2 相关服务的生命周期 @@ -39,12 +40,23 @@ pub struct ComfyUIV2ServiceManager { impl ComfyUIV2ServiceManager { /// 创建新的服务管理器 - pub fn new(repository: Arc) -> Self { + pub fn new(repository: Arc) -> Result { // 创建缓存管理器 let cache_manager = Arc::new(CacheManager::new(CacheConfig::default())); - // 创建 ComfyUI 管理器 - let comfyui_manager = Arc::new(ComfyUIManager::new(repository.clone())); + // 创建 ComfyUI 管理器 - 使用默认配置 + let default_config = ComfyUIConfig { + base_url: "http://127.0.0.1:8188".to_string(), + timeout_seconds: 30, + retry_attempts: 3, + retry_delay_ms: 1000, + enable_websocket: true, + enable_cache: true, + max_concurrency: 10, + custom_headers: None, + }; + let comfyui_manager = Arc::new(ComfyUIManager::new(default_config)?); + let comfyui_manager_result = comfyui_manager; // 创建模板引擎 let template_engine = Arc::new(TemplateEngine::new(repository.clone())); @@ -54,7 +66,7 @@ impl ComfyUIV2ServiceManager { // 创建实时监控服务 let realtime_monitor = Arc::new(RealtimeMonitorV2::new( - comfyui_manager.clone(), + comfyui_manager_result.clone(), repository.clone(), None )); @@ -67,7 +79,7 @@ impl ComfyUIV2ServiceManager { template_engine.clone(), )); - Self { + Ok(Self { repository, comfyui_service, realtime_monitor, @@ -76,7 +88,7 @@ impl ComfyUIV2ServiceManager { template_engine, initialized: Arc::new(RwLock::new(false)), running: Arc::new(RwLock::new(false)), - } + }) } /// 初始化所有服务 diff --git a/apps/desktop/src-tauri/src/presentation/commands/comfyui_v2_commands.rs b/apps/desktop/src-tauri/src/presentation/commands/comfyui_v2_commands.rs index e29d313..28a9b9c 100644 --- a/apps/desktop/src-tauri/src/presentation/commands/comfyui_v2_commands.rs +++ b/apps/desktop/src-tauri/src/presentation/commands/comfyui_v2_commands.rs @@ -22,9 +22,47 @@ use crate::data::models::comfyui::{ ParameterValues, ValidationResult, }; use comfyui_sdk::types::{ComfyUIWorkflow, ComfyUINode}; -use std::collections::HashMap; use crate::business::services::comfyui_manager::ComfyUIManager; +// ==================== 请求类型定义 ==================== + +/// 创建工作流请求 +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct CreateWorkflowRequest { + pub name: String, + pub description: Option, + pub workflow_json: serde_json::Value, + pub tags: Option>, +} + +/// 更新工作流请求 +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct UpdateWorkflowRequest { + pub id: String, + pub name: Option, + pub description: Option, + pub workflow_json: Option, + pub tags: Option>, +} + +/// 创建模板请求 +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct CreateTemplateRequest { + pub name: String, + pub description: Option, + pub template_json: serde_json::Value, + pub parameters: Option, + pub tags: Option>, +} + +/// 执行模板请求 +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct ExecuteTemplateRequest { + pub template_id: String, + pub parameters: serde_json::Value, + pub priority: Option, +} + // ==================== 响应类型定义 ==================== /// 连接状态响应 @@ -359,28 +397,6 @@ fn convert_queue_status(status: comfyui_sdk::types::QueueStatus) -> QueueStatusR // ==================== 工作流管理命令 ==================== -/// 工作流创建请求 -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct CreateWorkflowRequest { - pub name: String, - pub description: Option, - pub workflow_data: HashMap, - pub category: Option, - pub tags: Vec, -} - -/// 工作流更新请求 -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct UpdateWorkflowRequest { - pub id: String, - pub name: Option, - pub description: Option, - pub workflow_data: Option>, - pub category: Option, - pub tags: Option>, - pub enabled: Option, -} - /// 工作流响应 #[derive(Debug, Clone, Serialize, Deserialize)] pub struct WorkflowResponse {