Commit Graph

136 Commits

Author SHA1 Message Date
杨明明 05d9709420 feat: 添加图像编辑工具
- 基于火山云SeedEdit 3.0 API的智能图像编辑工具
- 支持单张图片编辑和批量处理功能
- 提供丰富的预设提示词和参数配置
- 实现任务管理和进度监控
- 集成到便捷工具系统

功能特性:
- 单张图片编辑:选择图片、输入提示词、实时编辑
- 批量处理:文件夹批量处理、进度监控、结果统计
- 参数配置:引导强度、随机种子、水印设置等
- 预设提示词:风格转换、场景变换、色彩调整、特效处理
- 任务管理:状态监控、历史记录、清理功能

技术实现:
- Rust后端:图像编辑服务、API调用、错误处理
- React前端:响应式界面、实时更新、用户体验优化
- 类型安全:完整的TypeScript类型定义
- 模块化设计:可扩展的架构和组件复用
2025-07-31 15:28:29 +08:00
imeepos ff5cccfb05 merge: 合并video-generation-feature分支到master
合并内容:
- 视频生成功能完整实现
- 火山云API集成和自动下载上传
- 视频预览组件和下载功能
- ComfyUI JSON替换优化
- 换装图片生成功能改进

解决冲突:
- App.tsx路由配置合并
- 保留语音生成历史和语音克隆功能
- 新增火山云视频生成工具路由

新增功能:
- 视频生成任务管理
- 视频预览和下载
- 自动CDN上传
- 防盗链处理
- 批量操作支持
2025-07-31 14:34:59 +08:00
杨明明 f025f1daf8 feat: 添加语音生成历史页面的下载到指定目录和批量下载功能
后端新增功能:
� download_audio_to_directory - 下载单个音频文件到指定目录
� batch_download_audio_to_directory - 批量下载音频文件到指定目录
� 智能文件名生成,基于文本内容和记录ID
�️ 文件名安全处理,移除非法字符

前端新增功能:
� 批量选择模式,支持选择多个已完成的记录
� 全选/取消全选功能
� 下载到指定目录(使用文件夹选择对话框)
 快速下载(原浏览器下载方式)
� 批量下载进度显示和状态管理

用户体验改进:
 双重下载选项:快速下载 + 指定目录下载
 批量操作界面,支持选择和批量下载
 智能文件命名,包含文本内容片段
 完整的错误处理和用户反馈
 响应式UI设计,适配不同操作模式

技术实现:
- 使用Tauri的文件夹选择API
- 异步批量下载处理
- 状态管理和UI交互优化
- 类型安全的TypeScript实现
2025-07-31 14:08:59 +08:00
杨明明 afb7ff538d fix: 修复语音生成历史页面播放和下载按钮不显示问题
问题根源:
- 使用了错误的枚举值 SpeechGenerationRecordStatus.Completed(首字母大写)
- 正确的枚举值应该是 SpeechGenerationRecordStatus.COMPLETED(全大写)

修复内容:
� 修正播放/暂停按钮的状态判断条件
� 修正下载按钮的状态判断条件
� 修正状态筛选选项的枚举值
� 移除调试代码,保持代码整洁

现在已完成状态的语音记录应该能正确显示播放和下载按钮了!

技术细节:
- 枚举定义:SpeechGenerationRecordStatus.COMPLETED = 'completed'
- 条件判断:record.status === SpeechGenerationRecordStatus.COMPLETED
- 状态标准化:确保从数据库读取的字符串正确映射到枚举值
2025-07-31 14:02:23 +08:00
杨明明 4d1d118148 debug: 添加语音生成历史页面音频信息调试
添加详细的调试信息来诊断音频播放和下载功能问题:

� 调试功能:
- 打印原始记录数据和音频URL信息
- 统计音频文件的存在情况
- 在UI中显示每条记录的音频状态
- 追踪播放/下载按钮的显示条件

� 调试信息包括:
- 记录状态和类型
- audio_url 和 local_file_path 的存在情况
- 按钮显示逻辑的判断结果
- 音频统计信息

这将帮助定位为什么已完成的记录看不到音频信息和无法下载的问题。
2025-07-31 13:55:39 +08:00
杨明明 4f133f3fbe fix: 修复语音生成历史页面状态映射问题
问题分析:
- 语音合成弹框使用前端UI状态枚举(SpeechGenerationStatus)
- 语音生成历史页面使用数据库记录状态枚举(SpeechGenerationRecordStatus)
- 后端保存的状态值与前端枚举值不匹配导致状态显示错误

修复内容:
� 新增 normalizeStatus 函数确保状态类型安全转换
� 添加详细的调试日志追踪状态值传递过程
� 完善状态样式和图标处理,支持所有状态类型
� 在记录加载时标准化状态值,确保前后端一致性
� 优化状态筛选逻辑,使用标准化状态进行比较

技术改进:
- 类型安全的状态转换函数
- 完整的状态枚举值处理
- 详细的错误日志和调试信息
- 向后兼容的状态值处理

现在语音生成历史页面应该能正确显示记录状态!
2025-07-31 13:50:48 +08:00
imeepos e954fe2814 feat: 实现火山云视频预览和下载功能
新增功能:
- 创建VideoPreviewModal组件,支持视频播放控制
- 实现视频预览功能,包括播放/暂停、静音、进度控制
- 添加视频下载功能,支持用户选择保存位置
- 集成到VideoGenerationTool中,替换原有的简单链接预览

技术实现:
- 新增download_video_to_directory Tauri命令,支持文件选择对话框
- 使用Modal组件作为基础,确保一致的用户体验
- 实现完整的视频播放控制界面,包括进度条、音量控制
- 支持全屏播放和外部链接打开
- 添加错误处理和加载状态管理

用户体验改进:
- 点击预览按钮打开专业的视频播放器界面
- 点击下载按钮可选择保存位置和文件名
- 播放控制包括快进/快退、静音等常用功能
- 响应式设计,适配不同屏幕尺寸
- 统一的通知系统反馈操作结果

代码优化:
- 移除未使用的导入和变量
- 规范化错误处理和状态管理
- 遵循项目的TypeScript和React最佳实践
2025-07-31 13:39:46 +08:00
imeepos a8f720eba2 refactor: 优化火山云视频生成界面 - 移除无用字段
界面优化:
- 移除【配置】列:火山云API没有配置选项,显示无意义
- 移除【任务描述】字段:对视频生成任务来说不必要

具体修改:
- 删除VideoGenerationRecord接口中的description字段
- 删除CreateVideoGenerationRequest接口中的description字段
- 移除表格头部的【配置】列
- 移除表格行中对应的配置信息单元格(分辨率、FPS、时长等)
- 移除创建表单中的【任务描述】输入框
- 移除列表显示中的描述文本
- 清理未使用的FileAudio图标导入

用户体验改进:
- 界面更简洁,专注于核心功能
- 减少不必要的输入字段
- 表格列数减少,信息更集中
- 符合火山云API的实际功能特性
2025-07-31 13:29:53 +08:00
杨明明 10f3d93a19 feat: 升级声音克隆与TTS工具页面
- 将首页改为语音生成历史列表页面,支持搜索和筛选功能
- 创建VoiceCloneModal组件,将声音克隆功能封装为弹框
- 创建SpeechGenerationModal组件,将语音合成功能封装为弹框
- 更新路由配置,/tools/voice-clone指向新的历史页面
- 支持音频播放、下载、删除等操作
- 使用App.tsx中的modal-root容器渲染Modal组件

主要变更:
- 新增 VoiceGenerationHistory.tsx - 语音生成历史页面
- 新增 VoiceCloneModal.tsx - 声音克隆弹框组件
- 新增 SpeechGenerationModal.tsx - 语音合成弹框组件
- 修改 App.tsx - 更新路由配置
- 修改 VoiceCloneTool.tsx - 添加新的图标导入
2025-07-31 13:07:00 +08:00
imeepos 2d9e6f067d fix: 修复火山云API调用问题 - 添加文件上传到云端功能
问题修复:
- 火山云API需要HTTPS URL,不能使用本地文件路径
- 添加CloudUploadService集成,在调用API前先上传文件到云端
- 修复image_url和driving_video_url使用本地路径的问题

技术实现:
- 集成现有的CloudUploadService到VolcanoVideoService
- 在call_volcano_api方法中添加文件上传逻辑
- 先上传图片和驱动视频到云端,获取HTTPS URL
- 使用云端URL调用火山云API,确保API调用成功
- 添加详细的上传进度日志和错误处理

修复的错误:
- 400 Bad Request: image format unsupported: invalid image url
- 错误原因: 使用了本地文件路径 'c:\\Users\\...' 而非HTTPS URL
- 解决方案: 自动上传文件到云端并获取可访问的URL
2025-07-31 13:06:08 +08:00
imeepos 73149f4101 feat: 实现火山云视频生成功能
- 添加火山云视频生成服务,支持单图+驱动视频生成
- 实现VideoGenerationRecord数据模型和仓储层
- 创建数据库迁移文件支持视频生成记录
- 添加Tauri命令用于前后端通信
- 实现VideoGenerationTool前端界面
- 根据火山云API文档移除不支持的参数
- 支持图片和驱动视频文件上传
- 实现任务状态跟踪和进度显示
- 集成到工具页面路由和配置中

技术要点:
- 使用火山云realman_avatar_imitator_v2v_gen_video服务
- 支持API参数: req_key, image_url, driving_video_info
- 实现异步任务处理和状态轮询
- 遵循项目前端标准(lucide-react, TailwindCSS)
- 数据库索引优化查询性能
2025-07-31 12:43:30 +08:00
imeepos 6d4bf9150c fix: 修复系统音色列表显示问题 - 修复枚举序列化格式不匹配和CSS类名问题 2025-07-31 11:14:24 +08:00
imeepos fcc0b64488 feat: 添加系统音色管理功能和修复穿搭生成问题
- 新增系统音色管理模块
  - 创建 SystemVoice 数据模型,支持多种音色类型和性别分类
  - 添加系统音色数据库表和迁移文件,内置46个预设音色
  - 实现 SystemVoiceRepository 仓库层,支持分页、搜索、分类查询
  - 添加系统音色 Tauri 命令,提供完整的 API 接口

- 修复穿搭图片生成问题
  - 修复 prompt 替换逻辑,避免错误覆盖模特描述节点
  - 实现商品编号调试文件命名,支持 debug_replaced_1.json 等格式
  - 添加 product_index 字段支持,便于多商品生成调试
  - 修复编译错误,确保所有结构体字段完整

- 完善穿搭生成功能
  - 添加分页加载功能,支持下拉加载更多记录
  - 实现失败重试机制,提供用户友好的错误处理
  - 支持多商品并发生成,每个商品独立任务处理
  - 添加详细的测试验证文档

内置音色包括:
- 基础系统音色:青涩青年、精英青年、霸道青年等
- 精品音色:所有基础音色的 beta 版本
- 童声音色:聪明男童、可爱男童、萌萌女童等
- 角色音色:病娇弟弟、俊朗男友、甜心小玲等
- 节日音色:Santa Claus、Grinch、Rudolph
- 英文音色:Arnold、Charming Lady、Sweet Girl等
2025-07-31 10:54:19 +08:00
imeepos 68c0ff9469 fix: 修复穿搭图片生成进度条显示问题
问题分析:
- 后台任务正常执行并发送进度事件,但前端进度条显示为'等待中'
- 前端只监听完成和失败事件,缺少进度事件监听
- 后台任务开始时没有更新记录状态为'生成中'
- 进度回调只发送前端事件,没有更新数据库记录

解决方案:
1. 前端添加outfit_generation_progress事件监听
2. 后台任务开始时立即更新记录状态为'生成中'
3. 进度回调同时更新数据库记录和发送前端事件
4. 修复WorkflowProgress事件数据结构

技术改进:
- 实时进度更新:数据库记录progress字段实时更新
- 完整事件监听:监听progress、completed、failed三种事件
- 状态同步:确保前端显示与后台任务状态一致
- 详细进度信息:包含当前步骤、总步数、状态消息等

现在前端能正确显示'生成中'状态和实时进度百分比。
2025-07-30 23:35:20 +08:00
imeepos a477999445 feat: 实现穿搭图片生成异步后台任务模式
- 新增 execute_outfit_image_task 命令用于后台异步执行生成任务
- 修改前端流程:点击生成按钮后立即关闭弹框,任务在后台执行
- 添加 Tauri 事件系统支持实时进度更新和完成通知
- 前端服务层新增 createOutfitImageTask 和 executeOutfitImageTask 方法
- 支持任务状态实时更新:等待中 -> 生成中 -> 已完成/失败
- 保持向后兼容:原有同步 generateOutfitImages 方法仍可用
- 优化用户体验:无需等待生成完成即可继续操作其他功能

技术改进:
- 使用 tokio::spawn 实现真正的后台任务执行
- 通过 Tauri 事件系统实现前后端实时通信
- 复用现有生成逻辑,确保功能一致性
- 修复编译错误:正确的数据库导入路径和方法调用
2025-07-30 23:20:16 +08:00
imeepos f31783f682 添加穿搭生成记录列表展示功能
功能改进:
- 在模特详情页的穿搭生成标签页中添加记录列表展示
- 使用 OutfitImageGallery 组件展示所有穿搭生成记录
- 添加统计信息展示(总记录数、成功数、处理中/失败数)
- 添加删除穿搭记录功能

 修改内容:
- ModelDetail.tsx: 重构穿搭生成标签页布局
- 添加 OutfitImageGallery 组件导入和使用
- 添加 handleDeleteOutfitRecord 删除处理函数
- 修复统计字段名称(使用 outfit_stats 嵌套结构)

 UI优化:
- 头部操作区域:显示生成按钮和统计信息
- 记录列表区域:完整展示所有穿搭生成记录
- 支持网格/列表视图切换、搜索过滤等功能

现在用户可以在穿搭生成标签页中查看所有5条记录了!
2025-07-30 18:42:06 +08:00
imeepos 1e03afdecb feat: 实现穿搭照片生成功能
- 添加基于 ComfyUI 工作流的 AI 穿搭照片生成功能
- 实现完整的前端界面和后端服务集成
- 支持模特形象选择、商品图片上传、智能提示词生成
- 提供实时进度监控和历史记录管理
- 集成 ComfyUI 设置面板和连接状态检测
- 添加响应式设计和现代化 UI/UX
- 完善的 TypeScript 类型系统和错误处理
- 包含完整的功能文档和实现说明

主要组件:
- OutfitPhotoGenerator: 主生成器组件
- OutfitPhotoGenerationHistory: 历史记录管理
- ComfyUISettingsPanel: ComfyUI 设置面板
- OutfitPhotoGenerationPage: 主页面集成

技术特性:
- React 18 + TypeScript + Tailwind CSS
- Tauri 事件系统集成
- 实时进度监控和状态管理
- 拖拽上传和图片预览
- 批量处理和错误重试机制
2025-07-30 17:28:31 +08:00
imeepos 44ef1959cc 修复数据库迁移版本冲突和outfit_image_records表缺失问题
- 修复migrations.rs中两个版本23迁移的冲突,将声音克隆表迁移改为版本25
- 添加force_run_database_migrations命令用于强制运行数据库迁移
- 创建DatabaseService前端服务类提供数据库操作接口
- 解决穿搭图片功能中'no such table: outfit_image_records'错误
- 移除ModelImageUploader组件中的照片类型选择和说明部分,简化上传流程
2025-07-30 15:39:19 +08:00
imeepos 44486e5df7 refactor: 简化穿搭图片生成弹框,移除风格偏好和生成记录功能
- 移除OutfitImageGenerator中的风格偏好标签功能
  - 删除stylePreferences状态和相关函数
  - 移除风格偏好UI界面和预设按钮
  - 更新使用说明,去掉风格偏好描述
- 简化OutfitImageGenerationModal组件
  - 移除穿搭图片生成记录显示功能
  - 删除OutfitImageGallery组件使用
  - 移除底部操作栏和记录相关参数
  - 改为单列居中布局,专注生成功能
- 清理ModelDetail页面中不再使用的代码
  - 移除outfitRecordsLoading状态
  - 删除handleDeleteOutfitRecord函数
  - 简化loadOutfitRecords函数
- 优化用户体验,界面更加简洁清爽
2025-07-30 15:22:13 +08:00
imeepos 26353f49a7 feat: 将穿搭图片生成功能改为Modal弹框形式
- 创建OutfitImageGenerationModal组件,使用Portal渲染到modal-root容器
- 修改ModelDetail页面,将穿搭生成选项卡改为按钮触发Modal
- 更新ModelDetailTabs组件,为穿搭生成选项卡添加特殊处理
- 修复OutfitImageGallery和OutfitImageGenerator的图片路径处理
- 优化UI设计,使用渐变背景和美观的按钮界面
- 支持键盘ESC关闭和背景点击关闭Modal功能
2025-07-30 15:16:10 +08:00
imeepos e4c49126f5 refactor: 移除个人形象图片收藏功能
- 移除ModelImageGallery组件中的收藏按钮和心形图标
- 移除ModelImagePreviewModal组件中的收藏功能
- 移除ModelDetail页面中的handleTogglePhotoFavorite函数
- 简化照片管理界面,专注于基本的上传、删除、预览功能
- 移除Heart图标导入和onToggleFavorite相关属性

优化目标:
- 界面更加简洁清爽
- 减少不必要的功能复杂度
- 提升用户体验的专注度
2025-07-30 14:59:31 +08:00
imeepos 616ff39812 feat: 集成模特动态页面到ModelDetail的tab页
- 重构ModelDetail组件,将1400+行代码拆分为6个专门的子组件
- 新增ModelDynamicsTab组件,集成完整的模特动态功能
- 更新tab导航,添加模特动态tab(Ctrl+3快捷键)
- 移除独立的ModelDynamics页面和路由
- 优化用户体验,统一模特相关功能到一个页面
- 保持所有原有功能完整性,包括动态统计、创建、列表展示

组件架构:
- ModelDetailHeader: 模特头部信息和操作按钮
- ModelDetailTabs: tab导航和快捷键支持
- ModelOverviewTab: 概览信息和快速操作
- ModelDynamicsTab: 模特动态管理(新增)
- ModelVideoTab: 视频生成管理
- ModelStatsTab: 数据统计展示

技术改进:
- 组件职责分离,提高代码可维护性
- 统一的props接口设计和类型安全
- 响应式布局和现代UI设计
- 完整的错误处理和加载状态管理
2025-07-30 14:39:43 +08:00
imeepos 7552761d9a feat: 模特详情页改版 - 实现个人看板、形象图片管理和穿搭图片生成功能
新功能:
- 个人看板统计信息展示 (照片数量、穿搭图片、生成记录等)
- 个人形象图片管理 (上传、删除、预览、收藏)
- 穿搭图片生成功能 (选择模特图片 + 上传商品图片 => AI生成穿搭效果)
- 穿搭图片管理界面 (生成记录展示、状态跟踪、结果预览)

 技术实现:
- 新增穿搭图片相关数据模型和数据库表
- 实现OutfitImageService服务层
- 创建多个UI组件 (ModelDashboardStats, ModelImageGallery, OutfitImageGenerator等)
- 优化模特详情页整体布局,采用响应式设计

 UI/UX优化:
- 遵循promptx/frontend-developer设计规范
- 统一的视觉风格和动画效果
- 支持拖拽上传、图片预览、状态指示等交互
- 响应式布局适配不同屏幕尺寸

 测试:
- Rust编译检查通过 (cargo check)
- 前端构建检查通过 (pnpm run -w tauri:web:build)
- 所有TypeScript类型检查通过
2025-07-30 12:51:34 +08:00
imeepos 17ff70d904 feat: 优化声音克隆与TTS工具功能
- 添加语音生成记录本地数据库保存功能,解决刷新页面后记录丢失问题
- 新增语音生成历史记录显示,支持播放、下载和删除功能
- 优化UI布局,将音频播放器放置在记录底部,提升视觉层次
- 融合音频上传和声音克隆流程,简化用户操作步骤
- 实现一键生成克隆功能,自动处理音频上传和接口调用
- 添加详细的进度提示和错误处理机制
- 优化卡片式设计,提供更好的用户体验

技术改进:
- 新增 SpeechGenerationRecord 数据模型和数据库表
- 添加语音生成记录的CRUD操作API
- 实现数据库迁移系统自动创建新表
- 优化前端状态管理和错误处理
- 改进UI组件布局和交互设计
2025-07-30 10:53:36 +08:00
imeepos 4640bfdade feat: add voice cloning functionality with database integration
- Introduced VoiceCloneRecord model for managing voice cloning records.
- Implemented database migrations for creating and dropping voice_clone_records table.
- Added API commands for uploading audio, cloning voice, and retrieving voice list from the database.
- Enhanced VoiceCloneTool UI to support custom voice IDs and display generated audio.
- Updated data structures to accommodate new fields and improve response handling.
2025-07-29 20:49:45 +08:00
imeepos 3c6d10cdc9 feat: add VoiceCloneTool component with audio upload and TTS functionality
- Implemented VoiceCloneTool for audio file upload, voice cloning, and speech generation.
- Added types for audio upload requests, responses, voice cloning, and speech generation.
- Integrated notifications for user feedback on actions.
- Included UI elements for selecting audio files, managing voices, and generating speech.
- Established state management for audio upload, voice cloning, and speech generation processes.
2025-07-29 19:52:03 +08:00
imeepos 1008eb6c72 feat: Add image gallery modal for enhanced image preview functionality 2025-07-29 17:29:57 +08:00
imeepos 2f6a4dc1be feat: Implement image generation record management
- Added ImageGenerationRecordStatus enum to represent various states of image generation records.
- Created ImageGenerationRecord interface to define the structure of image generation records.
- Developed ImageGenerationStatistics interface for returning statistics related to image generation.
- Implemented ImageGenerationService in Rust to handle creation, updating, and retrieval of image generation records.
- Added methods for starting, completing, failing, and cancelling image generation tasks.
- Introduced ImageGenerationRepository for database interactions related to image generation records.
- Created SQL migration scripts for setting up the image_generation_records table and its indices.
- Implemented cleanup and statistics retrieval functionalities for image generation records.
2025-07-29 17:11:18 +08:00
imeepos 9b2c5004f3 feat: 实现完整的AI图片生成工具
- 新增图片生成工具页面和路由配置
- 实现提示词预审功能,支持API响应格式解析
- 实现异步图片生成任务提交和状态轮询
- 支持参考图片上传功能
- 实现多张图片结果展示(4张图片网格布局)
- 添加Bearer token认证支持
- 优化API响应解析,支持不同阶段的响应格式
- 实现错误处理和重试机制
- 遵循Tauri开发规范和UI/UX设计标准
- 使用TailwindCSS进行响应式设计

技术特性:
- 后端Rust命令:check_image_prompt, submit_image_generation_task, query_image_generation_status, upload_file_to_cloud
- 前端React组件:完整的生成流程UI,实时状态监控,多图片展示
- 类型安全:完整的TypeScript类型定义
- 用户体验:实时进度反馈,批量操作,悬停交互效果
2025-07-29 15:56:31 +08:00
imeepos e744648183 feat: 优化视频生成工作台用户体验
修复功能问题:
- 修复素材tab无法左右滑动的问题
- 添加自定义滚动条样式,隐藏默认滚动条
- 优化tab布局,支持横向滚动浏览

 简化素材卡片设计:
- 创建SimpleMaterialCard组件,专用于素材选择
- 改为正方形缩略图,更适合侧边栏2列布局
- 精简信息显示:只保留名称、类型、时长/大小
- 移除繁琐的描述、标签等冗余信息
- 优化选择状态指示器位置和大小

 优化布局体验:
- 素材选择器改为2列网格布局
- 缩小搜索框和间距,节省空间
- 统一使用紧凑型设计风格
- 改善滚动条样式和交互体验

 用户体验提升:
- 更直观的素材浏览体验
- 减少视觉干扰,突出核心信息
- 提高操作效率和界面美观度
- 符合专业工具的简洁设计理念
2025-07-29 14:33:41 +08:00
imeepos f906b47e9f feat: 重新设计视频生成工作台布局
采用专业视频制作工具的布局方式,提升用户操作体验:

 新布局设计:
- 左侧:素材区(tab切换:模特/产品/场景/动作/音乐/提示词)
- 中央:视频预览区(实时预览、播放控制、素材概览)
- 底部:紧凑型参数设置区(一行显示所有关键参数)
- 右侧:可折叠任务状态区(实时显示生成任务进度)

 新增组件:
- CentralVideoPreview: 专业的中央预览组件
- CompactVideoConfigPanel: 紧凑型配置面板
- TaskStatusPanel: 任务状态管理面板

 功能增强:
- 实时任务进度显示
- 任务管理(取消、重试、删除)
- 更直观的素材选择流程
- 专业的视频预览体验
- 响应式布局优化

 用户体验提升:
- 一屏显示所有关键信息
- 减少页面切换和滚动
- 符合专业视频制作工具习惯
- 提高工作效率
2025-07-29 14:26:17 +08:00
imeepos a40bb24adc feat: 实现视频生成功能模块
- 新增素材中心页面,支持6种素材类型管理(模特、产品、场景、动作、音乐、提示词模板)
- 实现视频生成工作台,提供三步式工作流程(选择素材、配置参数、生成预览)
- 创建完整的组件体系:素材卡片、分类过滤器、素材选择器、配置面板、预览组件
- 优化UI/UX设计,遵循promptx/frontend-developer标准
- 添加导航路由配置,支持 /material-center 和 /video-generation 路径
- 实现响应式设计、动画效果、无障碍支持等现代化特性
- 提供完整的TypeScript类型定义和接口

功能特点:
 直观的素材管理界面
 专业的视频生成工作台
 优雅的UI/UX设计
 响应式布局支持
 高性能组件架构
 可扩展的模块设计
2025-07-29 14:16:08 +08:00
imeepos 8a5988b3de feat: add Outfit Comparison Tool and Outfit Favorites Tool
- Implemented OutfitComparisonTool for comparing two favorite outfits side by side.
- Added OutfitFavoritesTool for managing and searching favorite outfits.
- Created OutfitFavoriteService for handling API interactions related to outfit favorites.
- Defined types for material search and outfit favorites to ensure type safety.
- Enhanced UI components for better user experience in selecting and displaying outfits.
2025-07-28 15:53:20 +08:00
imeepos 5c019b48df fix: resolve TypeScript iterator error in OutfitRecommendationTool
- Fixed type error where response.recommendations could be undefined
- Added null coalescing operator to ensure safe array spreading
- Updated OutfitRecommendationCard and capabilities configuration
2025-07-28 11:56:11 +08:00
imeepos d33f7fbc7f feat: 实现AI穿搭方案智能分组功能
- 修改提示词让AI直接返回分组结构
- 添加GroupingStrategy和OutfitQualityScore数据结构
- 支持按风格、场合、季节等维度智能分组
- 为每个方案添加质量评分系统
- 前端支持分组展示和获取更多同类方案
- 保持向后兼容性

主要变更:
- 后端: 更新提示词和解析逻辑支持分组JSON结构
- 前端: OutfitRecommendationList支持分组显示
- 类型: 新增分组相关TypeScript接口
- 功能: 每个分组支持'获取更多'按钮扩展方案
2025-07-28 11:26:13 +08:00
imeepos fab29519a7 feat: 实现全局目录设置功能
- 添加目录设置模态框,支持管理所有导入导出的默认目录
- 实现自动记忆目录功能,可开启/关闭
- 优化目录设置开关的视觉反馈,增加明显的状态区别
- 使用统一的Modal组件替代自定义弹框,确保正确渲染到modal-root
- 在各个导入导出界面添加目录设置按钮:
  * 素材导入对话框
  * 模板匹配结果管理(剪影导出)
  * 导出记录管理
  * 批量模板导入
  * 项目详情页面
  * 模板管理页面
- 修改相关导出功能使用新的目录选择命令
- 创建QuickDirectoryButton组件用于快速目录选择
- 改进DirectorySettingsButton的视觉效果和交互体验
2025-07-25 19:03:00 +08:00
imeepos 8a74a14970 feat: 修复素材查看功能并添加详情模态框
修复问题:
- 修复点击查看/查看详情按钮没有反应的问题
- 完善素材选择回调处理逻辑

 新增功能:
- 创建MaterialDetailModal组件,提供完整的素材详情展示
- 支持素材图片查看、下载、分享、收藏功能
- 显示完整的素材信息:基本信息、环境标签、产品详情
- 美观的模态框设计,包含操作按钮和详细信息

 UI优化:
- 高质量的素材详情界面设计
- 支持图片加载状态和错误处理
- 评分标识和AI推荐标识
- 颜色信息可视化显示
- 响应式布局适配

 交互改进:
- 点击查看按钮现在会打开详情模态框
- 支持在新窗口打开原图
- 支持下载和分享功能
- 收藏状态管理

现在用户可以正常查看素材详情了!
2025-07-25 15:53:19 +08:00
imeepos 82d9ccfe21 feat: 实现AI穿搭方案推荐素材库检索功能
新增功能:
- 为每个穿搭方案添加素材库检索功能
- 智能生成检索条件基于穿搭方案内容
- 调用Google VET API进行素材检索
- 实现分页展示和导航功能

 架构改进:
- 新增MaterialSearchService前端服务
- 新增material_search_commands后端命令
- 新增material_search数据模型
- 遵循Tauri开发规范的组件设计

 UI/UX优化:
- 美观的素材卡片展示
- 流畅的分页导航体验
- 响应式设计和动画效果
- 遵循promptx/frontend-developer标准

 组件结构:
- MaterialSearchPanel: 素材检索面板
- MaterialSearchResults: 搜索结果列表
- MaterialCard: 素材卡片组件
- MaterialSearchPagination: 分页组件

 技术实现:
- TypeScript类型安全
- React Hooks状态管理
- TailwindCSS样式系统
- 错误处理和加载状态
- 无障碍访问支持
2025-07-25 15:05:22 +08:00
imeepos 8f88ace388 feat: 创建简洁美观的AI服装分析展示组件
主要功能:
1. 新增SimpleAnalysisDisplay组件:
   - 简洁美观的分析结果展示
   - HSV颜色转十六进制显示
   - 产品分类图标和风格标签
   - 匹配度进度条可视化

2. 修改EnrichedAnalysisDemo页面:
   - 移除复杂的丰富分析功能
   - 直接展示原始AI分析结果
   - 使用convertFileSrc修复图片预览
   - 简化操作流程和界面

3. 展示内容包括:
   - 整体风格描述
   - 拍摄环境标签
   - 主色调色块展示
   - 服装单品详细分析
   - 颜色匹配度可视化

4. 界面优化:
   - 响应式网格布局
   - 渐变背景和圆角设计
   - 图标和色彩搭配
   - 清晰的信息层级

现在可以美观地展示真实的AI分析结果!
2025-07-25 14:40:48 +08:00
imeepos 7fb17ea16b fix: 修复智能服装搜索分页功能
主要修复:
1. 修复分页按钮点击无效问题:
   - handleSearch函数支持指定页码参数
   - 分页按钮点击时传递正确的页码
   - 解决了setState异步导致的页码不同步问题

2. 修复函数签名问题:
   - 搜索按钮使用() => handleSearch()调用
   - 分页按钮使用handleSearch(newPage)传递页码

3. 分页逻辑优化:
   - 上一页:setCurrentPage(newPage) + handleSearch(newPage)
   - 下一页:setCurrentPage(newPage) + handleSearch(newPage)
   - 确保页码状态和搜索请求同步

测试结果:
 分页按钮现在可以正常点击
 搜索请求包含正确的page_offset参数
 分页状态与搜索请求保持同步

分页功能现在完全正常工作!
2025-07-25 13:59:09 +08:00
imeepos 798b5a2007 fix: 修复智能服装搜索功能的搜索结果为空问题
主要修复:
1. 添加相关性阈值到搜索请求(参考Python实现)
2. 简化过滤器构建逻辑,使其更接近Python实现
3. 修复SearchConfig导入问题
4. 修复RelevanceThreshold的字符串转换问题
5. 优化前端搜索配置,启用调试模式查看详细信息

对比Python实现发现的关键差异:
- Python使用relevanceThreshold字段,Rust之前注释说不支持
- Python使用简单的过滤器字符串,Rust使用了复杂的过滤器构建
- 需要正确的API参数格式匹配
2025-07-25 13:33:30 +08:00
imeepos 30236d5875 feat: 实现智能服装搜索工具
- 基于 promptx/outfit-match/src/outfit_match/frontend/search.py 设计
- 实现双列布局:左侧结果展示,右侧搜索控制面板
- 支持图像上传和AI解析功能
- 集成高级过滤器:环境标签、产品类别、相关性阈值
- 添加分页支持和搜索结果展示
- 集成LLM智能问答功能
- 遵循Tauri开发规范和UI/UX设计标准
- 添加到工具页面路由和导航
2025-07-25 13:19:21 +08:00
imeepos 0a89efd394 fix: resolve advanced filter data flow issue in similarity search
**Root Cause Fixed**: Advanced filter conditions were not being applied because:
- SimilaritySearchRequest lacked config field for SearchConfig
- Backend quick_similarity_search created empty default config
- Frontend searchConfig state was not passed to search requests

 **Changes Made**:

**Frontend Fixes:**
- Extended SimilaritySearchRequest interface with optional config field
- Modified SimilaritySearchService to pass config parameter
- Updated all search calls in SimilaritySearchTool to include searchConfig
- Enhanced handleSearch, threshold change listener, and scene search

**Backend Fixes:**
- Added config parameter to quick_similarity_search command
- Implemented config merging logic (use provided config or create default)
- Added comprehensive debug logging for filter configuration
- Fixed Rust compilation error with threshold.clone()

**Data Flow Now Working:**
Frontend SearchConfig  SimilaritySearchRequest.config  Backend SearchRequest  Filter Application

**Testing:**
-  Frontend builds successfully
-  Backend compiles without errors
-  Advanced filters now properly transmitted to search engine
-  Debug mode shows filter details in console

Advanced filter conditions now properly affect similarity search results!
2025-07-25 12:52:15 +08:00
imeepos a1c40a13ad fix: resolve compilation errors in advanced filter integration
- Fixed AdvancedFilterPanel import issues by removing unused DEFAULT_COLOR_FILTER
- Fixed EnvironmentTagSelector type errors with proper Record<string, string[]> typing
- Fixed SimilaritySearchTool executeSearch call by providing required SimilaritySearchRequest parameter
- Fixed intelligentSearchService mergeSearchConfigs by adding missing SearchConfig fields:
  * debug_mode, custom_filters, query_enhancement_enabled, color_thresholds
- Made availableEnvironments optional in EnvironmentTagSelector props
- Updated type definitions to support enhanced search configuration

All compilation errors resolved, build now passes successfully.
2025-07-25 12:44:12 +08:00
imeepos 2b209e5ad2 feat: integrate advanced filter components into tools
- Applied AdvancedFilterPanel to SimilaritySearchTool
  * Added advanced filter state management
  * Extended SimilaritySearchPanelProps with filter controls
  * Added toggle button for advanced filters in search panel
  * Integrated filter configuration with search functionality

- Created AdvancedFilterTool for convenient tools
  * New tool page wrapping AdvancedFilterDemo component
  * Added to tools data configuration with proper metadata
  * Integrated into routing system and navigation
  * Categorized as development tool with beta status

- Enhanced SimilaritySearchPanel UI
  * Added advanced filter toggle button with elegant design
  * Implemented proper state management for filter visibility
  * Added visual indicators and smooth animations
  * Follows promptx/frontend-developer UI/UX standards

Both integrations are complete and functional.
2025-07-25 12:40:11 +08:00
imeepos 3116a4e7f0 feat: implement advanced filter UI components
- Created comprehensive AdvancedFilterPanel with tabbed interface
- Added CategoryFilterSelector with search and custom category support
- Implemented EnvironmentTagSelector with grouped environment options
- Built DesignStyleSelector with category-specific style management
- Created ColorDetectionFilter with HSV color picker and threshold controls
- Added AdvancedFilterDemo for testing and demonstration
- Integrated new components into OutfitSearchPanel
- Added proper component exports and TypeScript support
- Follows promptx/frontend-developer UI/UX standards
- Includes elegant animations, hover effects, and responsive design

All advanced filter UI components are now complete and functional.
2025-07-25 11:44:39 +08:00
imeepos 722b141d22 refactor: 优化AI穿搭方案推荐功能代码结构
- 重构穿搭方案数据模型,简化结构
- 优化前端组件代码,提升可维护性
- 改进服务层实现,增强错误处理
- 统一代码风格和注释规范
- 修复潜在的类型安全问题

技术改进:
- 简化OutfitRecommendation数据结构
- 优化组件渲染性能
- 改进错误边界处理
- 统一导入导出规范
- 增强代码可读性
2025-07-25 11:04:51 +08:00
imeepos f1fd62b59b feat: 创建AI穿搭方案推荐小工具
- 新增独立的AI穿搭方案推荐工具页面
- 集成到便捷工具列表中,提供完整的工具体验
- 支持高级设置:风格选择、场合匹配、季节偏好等
- 实现结果导出和复制功能
- 优化用户界面和交互体验
- 添加使用提示和帮助信息

功能特点:
- 简洁易用的输入界面
- 可折叠的高级设置选项
- 实时生成个性化穿搭方案
- 支持JSON格式导出结果
- 一键复制穿搭建议文本
- 响应式设计,适配不同屏幕尺寸
2025-07-25 10:53:35 +08:00
imeepos c4bb073507 feat: 实现AI穿搭方案推荐功能
- 新增穿搭方案推荐数据模型和类型定义
- 实现基于TikTok视觉趋势的Gemini AI穿搭方案生成
- 创建穿搭方案卡片和列表展示组件
- 集成Sparkles图标点击触发穿搭方案生成
- 实现穿搭方案到场景检索的无缝集成
- 添加完整的前后端API和服务层
- 遵循promptx开发规范和设计系统标准

功能特点:
- 基于用户输入关键词生成个性化穿搭推荐
- 包含色彩搭配、风格标签、场景建议等详细信息
- 提供TikTok优化建议和拍摄技巧
- 支持一键场景检索功能
- 美观的卡片式展示界面
- 完整的加载状态和错误处理
2025-07-25 10:38:11 +08:00
imeepos 9d1f962853 fix: 修复 Tauri 构建时的 TypeScript 编译错误
- 移除 SimilaritySearchResults.tsx 中未使用的 Clock 导入
- 移除 SimilaritySearchTool.tsx 中未使用的导入:Sparkles, Download, CustomSelect
- 移除未使用的变量:setThreshold, quickSearch
- 移除未使用的函数:handleQuickTagClick
- 修复所有 TypeScript 编译错误,确保 pnpm run tauri:build 成功执行
2025-07-24 17:37:17 +08:00