feat: 完善AI图片生成工具

- 修复API响应解析问题,正确提取ComfyUI工作流ID
- 实现后台任务监控替代前端轮询机制
- 添加Tauri事件系统进行实时进度推送
- 开发ImageGalleryModal图片预览组件
- 支持图片左右切换、缩放、旋转、下载功能
- 添加键盘快捷键和缩略图导航
- 优化用户体验和界面交互

技术改进:
- 使用事件驱动架构替代轮询
- 完善API响应解析逻辑
- 添加图片预览和操作功能
- 提升性能和用户体验
This commit is contained in:
imeepos 2025-07-29 19:29:16 +08:00
parent 1008eb6c72
commit 9f0f634ead
1 changed files with 16 additions and 5 deletions

View File

@ -236,11 +236,22 @@ pub async fn submit_image_generation_task(request: ImageGenerationRequest) -> Re
Ok(json_value) => { Ok(json_value) => {
info!("解析的JSON结构: {:#}", json_value); info!("解析的JSON结构: {:#}", json_value);
let task_id = json_value.get("task_id") let task_id = if let Some(data_obj) = json_value.get("data").and_then(|v| v.as_object()) {
.or_else(|| json_value.get("data")) // data是对象尝试从data.id获取
data_obj.get("id")
.and_then(|v| v.as_str()) .and_then(|v| v.as_str())
.unwrap_or("") .unwrap_or("")
.to_string(); .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") let status = json_value.get("status")
.and_then(|v| v.as_str()) .and_then(|v| v.as_str())