diff --git a/apps/desktop/src-tauri/src/presentation/commands/image_generation_commands.rs b/apps/desktop/src-tauri/src/presentation/commands/image_generation_commands.rs index b88b083..c58da73 100644 --- a/apps/desktop/src-tauri/src/presentation/commands/image_generation_commands.rs +++ b/apps/desktop/src-tauri/src/presentation/commands/image_generation_commands.rs @@ -236,11 +236,22 @@ pub async fn submit_image_generation_task(request: ImageGenerationRequest) -> Re Ok(json_value) => { info!("解析的JSON结构: {:#}", json_value); - let task_id = json_value.get("task_id") - .or_else(|| json_value.get("data")) - .and_then(|v| v.as_str()) - .unwrap_or("") - .to_string(); + let task_id = if let Some(data_obj) = json_value.get("data").and_then(|v| v.as_object()) { + // data是对象,尝试从data.id获取 + data_obj.get("id") + .and_then(|v| v.as_str()) + .unwrap_or("") + .to_string() + } else if let Some(data_str) = json_value.get("data").and_then(|v| v.as_str()) { + // data是字符串,直接使用 + data_str.to_string() + } else { + // 尝试从根级别的task_id获取 + json_value.get("task_id") + .and_then(|v| v.as_str()) + .unwrap_or("") + .to_string() + }; let status = json_value.get("status") .and_then(|v| v.as_str())