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
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
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
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
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
7c43f7a7ed
feat: 实现全局目录设置功能
...
- 扩展AppConfig结构体,添加DirectorySettings字段
- 创建DirectorySettingsService服务,提供CRUD操作
- 添加Tauri命令接口,支持前端调用
- 修改现有文件选择逻辑,优先使用保存的目录设置
- 创建DirectorySettingsModal等UI组件
- 集成到素材导入、模板导入、剪影导出等界面
- 实现自动记忆功能,可选择是否记住路径
- 编写完整的单元测试,确保功能可靠性
功能特点:
- 支持素材导入、模板导入、剪影导出、项目导出、缩略图导出等目录设置
- 自动记忆用户选择的目录,下次使用时作为默认路径
- 提供友好的UI界面管理目录设置
- 支持批量更新、清除、重置等操作
- 完整的错误处理和验证机制
2025-07-25 18:38:50 +08:00
imeepos
05903e22fc
feat: 模板详情弹框优化和单个删除功能修复
...
- 修改模板详情弹框默认选中标签从'概览'改为'轨道'
- 修复单个模板匹配记录删除时片段使用状态未正确更新的bug
- 新增soft_delete_matching_result_with_usage_reset命令支持单个删除时重置使用状态
- 前端界面优化,提供更好的用户反馈
Changes:
- apps/desktop/src/components/template/TemplateDetailModal.tsx: 默认标签页改为tracks
- apps/desktop/src-tauri/src/business/services/template_matching_result_service.rs: 新增单个删除重置方法
- apps/desktop/src-tauri/src/presentation/commands/template_matching_result_commands.rs: 新增Tauri命令
- apps/desktop/src-tauri/src/lib.rs: 注册新命令
- apps/desktop/src/components/TemplateMatchingResultManager.tsx: 更新前端删除逻辑
2025-07-25 18:13:40 +08:00
imeepos
d259961ade
test: 添加按顺序匹配逻辑的单元测试
...
- 测试只有用户选中的分类参与匹配
- 测试权重排序逻辑(按权重降序)
- 测试分类过滤逻辑(只处理选中的分类)
- 测试匹配顺序(按权重从高到低尝试匹配)
- 测试回退机制(高权重无素材时回退到低权重)
- 测试未选中分类不参与匹配(即使有可用素材)
- 验证按顺序匹配规则的核心逻辑正确性
2025-07-25 18:01:32 +08:00
imeepos
bce0c30cab
feat: 从根本上解决权重配置问题
...
- 添加 get_segment_weights_for_categories 方法,只获取选中分类的权重
- 修改权重指示器和预览组件,使用新方法只显示实际选中的分类
- 修改权重编辑器,只加载和编辑选中分类的权重
- 确保权重配置与匹配规则完全同步
- 解决显示所有分类权重但实际只选择部分分类的根本问题
2025-07-25 17:47:45 +08:00
imeepos
30ecaf56ec
feat: 实现模板片段权重配置功能
...
新功能:
- 模板片段级别的AI分类权重配置
- 权重继承机制(全局权重作为默认值)
- 批量权重配置操作
- 直观的权重管理界面
后端实现:
- 新增 template_segment_weights 数据表
- 实现 TemplateSegmentWeightRepository 仓储层
- 实现 TemplateSegmentWeightService 业务逻辑层
- 新增 Tauri 命令接口
前端实现:
- TemplateSegmentWeightEditor 权重配置编辑器
- SegmentWeightIndicator 权重状态指示器
- BatchWeightConfigModal 批量配置模态框
- 集成到模板详情页面
测试:
- 单元测试覆盖核心功能
- 集成测试验证端到端流程
- E2E测试确保用户体验
技术特性:
- 权重范围:0-100,数值越大优先级越高
- 支持单个和批量更新操作
- 事务处理确保数据一致性
- 类型安全的API设计
文档:
- 完整的功能文档和使用指南
- 技术架构说明
- 最佳实践建议
这个功能将显著提升模板匹配的灵活性和准确性!
2025-07-25 17:04:45 +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
c4bb073507
feat: 实现AI穿搭方案推荐功能
...
- 新增穿搭方案推荐数据模型和类型定义
- 实现基于TikTok视觉趋势的Gemini AI穿搭方案生成
- 创建穿搭方案卡片和列表展示组件
- 集成Sparkles图标点击触发穿搭方案生成
- 实现穿搭方案到场景检索的无缝集成
- 添加完整的前后端API和服务层
- 遵循promptx开发规范和设计系统标准
功能特点:
- 基于用户输入关键词生成个性化穿搭推荐
- 包含色彩搭配、风格标签、场景建议等详细信息
- 提供TikTok优化建议和拍摄技巧
- 支持一键场景检索功能
- 美观的卡片式展示界面
- 完整的加载状态和错误处理
2025-07-25 10:38:11 +08:00
imeepos
0436267266
feat: 实现相似度检索工具
...
- 基于现有search_similar_outfits功能开发独立的相似度检索小工具
- 遵循promptx/tauri-desktop-app-expert开发规范
- 实现完整的前后端架构:
* Rust后端命令接口 (similarity_search_commands.rs)
* TypeScript类型定义 (similaritySearch.ts)
* Zustand状态管理 (similaritySearchStore.ts)
* React组件 (SimilaritySearchTool, SimilaritySearchPanel, SimilaritySearchResults, SimilaritySearchCard)
* 服务层 (similaritySearchService.ts)
功能特性:
- 智能搜索建议和自动完成
- 可调节的相关性阈值 (LOWEST/LOW/MEDIUM/HIGH)
- 快速搜索标签
- 响应式网格布局结果展示
- 优雅的加载状态和错误处理
- 遵循UI/UX设计标准的美观界面
技术实现:
- 复用现有outfit search API和数据模型
- 简化的搜索配置,专注核心功能
- 完整的TypeScript类型安全
- 现代化的React Hooks和状态管理
- TailwindCSS响应式设计
- 平滑的动画和交互效果
集成:
- 添加到快捷工具列表 (/tools/similarity-search)
- 配置React Router路由
- 注册Tauri命令处理器
2025-07-24 14:14:12 +08:00
imeepos
0cfacd0662
feat: 实现模板匹配按顺序匹配功能
...
新功能:
- 添加AI分类权重字段,支持按权重顺序匹配
- 新增PriorityOrder匹配规则类型
- 实现按权重顺序的素材匹配算法
- 添加权重编辑器UI组件
数据模型扩展:
- AiClassification模型添加weight字段
- SegmentMatchingRule枚举添加PriorityOrder类型
- 扩展相关的请求和响应类型定义
数据库迁移:
- 创建019迁移脚本为ai_classifications表添加weight字段
- 为现有数据设置默认权重值
- 添加权重索引提高查询性能
后端服务实现:
- MaterialMatchingService支持按顺序匹配逻辑
- AiClassificationService添加按权重获取分类方法
- 更新所有相关的构造函数和命令处理
前端UI优化:
- SegmentMatchingRuleEditor支持按顺序匹配配置
- 新增WeightEditor组件用于权重设置
- AI分类设置页面集成权重编辑功能
- 更新TypeScript类型定义
测试验证:
- 添加完整的单元测试套件
- 6个测试用例全部通过
- 验证权重排序和匹配规则逻辑
遵循promptx/tauri-desktop-app-expert开发规范
支持用户自定义分类权重,实现智能按顺序匹配
2025-07-23 20:28:36 +08:00
imeepos
de620447b4
feat: 实现批量素材导入功能
...
新功能:
- 支持同时处理多个素材文件的批量导入
- 添加可配置的最大并发导入数量(1-8个)
- 实现基于系统资源的动态并发调整
- 添加内存监控和熔断器保护机制
技术改进:
- 重构material_commands.rs支持并发处理
- 优化MaterialRepository使用连接池
- 添加指数退避重试机制
- 实现智能资源管理和性能优化
前端优化:
- 更新MaterialImportDialog添加并发配置
- 保持原有进度显示和状态管理
- 更新TypeScript类型定义
测试:
- 添加完整的批量导入测试套件
- 7个测试用例全部通过
- 验证并发处理和资源管理功能
依赖更新:
- 添加num_cpus和winapi依赖
- 支持Windows系统内存检测
遵循promptx/tauri-desktop-app-expert开发规范
理论性能提升2-4倍,支持高并发稳定处理
2025-07-23 19:44:07 +08:00
imeepos
4291230acb
fix: 修复React渲染错误和数据库迁移问题
...
- 修复ModelDetail.tsx中直接渲染Gender枚举导致的React错误
- 修复TemplateDetailModal.tsx中直接渲染TemplateMaterialType和TrackType枚举的问题
- 添加枚举到中文文本的转换函数(getGenderText, getMaterialTypeText, getTrackTypeText)
- 实现完整的数据库迁移系统,支持版本化迁移
- 添加迁移v9修复template_materials表file_size字段允许NULL
- 改进数据库迁移执行逻辑,使用execute_batch方法
- 添加数据库集成测试和迁移测试
- 修复template_materials表约束问题,解决模板导入失败
主要变更:
- 新增数据库迁移系统(migrations.rs)
- 新增9个数据库迁移文件(v1-v9)
- 修复前端枚举渲染问题
- 完善数据库测试覆盖
2025-07-23 18:30:52 +08:00
imeepos
4269b72c04
feat: 实现批量缩略图生成器功能
...
- 添加批量缩略图生成的数据模型和类型定义
- 实现ThumbnailGeneratorService核心服务
- 实现BatchThumbnailProcessor批量处理器
- 添加Tauri命令接口支持前端调用
- 创建完整的前端UI组件和页面
- 支持多种时间戳配置和尺寸预设
- 支持时间轴缩略图生成
- 支持并发处理和进度监控
- 集成到便捷工具页面
遵循promptx/tauri-desktop-app-expert开发规范
2025-07-23 13:44:19 +08:00
imeepos
29a4c32096
feat: 完善水印处理工具功能
...
- 修复批量处理进度条不更新问题
- 实现任务状态管理器(task_manager.rs)
- 添加实时进度更新和任务状态跟踪
- 完善前端进度轮询逻辑
- 丰富水印检测结果展示
- 添加详细检测结果信息(位置、置信度、类型等)
- 显示处理统计和性能信息
- 优化结果展示UI和用户体验
- 修复水印模板上传和删除功能
- 实现内存存储系统管理模板
- 修复参数匹配问题
- 添加模板缩略图展示功能
- 优化文件上传体验
- 使用Tauri Dialog API替代HTML5文件输入
- 实现原生文件选择器
- 添加WatermarkTemplateThumbnail组件
- 完善水印工具集成
- 创建WatermarkTool页面
- 添加到便捷工具列表
- 完善路由配置和UI展示
2025-07-23 12:51:49 +08:00
imeepos
f92d9a7c39
fix: 优化markdown解析器
2025-07-22 15:04:37 +08:00
imeepos
cb5a137ec9
fix: 添加文字图片关联关系
2025-07-22 12:21:39 +08:00
imeepos
5296039785
feat: 实现多轮对话功能
...
- 添加会话管理数据模型和仓库层
- 扩展Gemini服务支持多轮对话的contents数组构建
- 实现会话历史存储和检索功能
- 添加多轮对话业务服务层
- 创建前端TypeScript类型定义和服务层
- 实现Tauri命令处理多轮对话请求
- 添加会话管理功能(创建、删除、更新标题等)
- 创建多轮对话测试组件和页面
- 遵循promptx/tauri-desktop-app-expert开发规范
- 支持session_id管理和历史消息传递
- 实现完整的四层架构设计
2025-07-22 10:39:26 +08:00
imeepos
1fb5468ecc
feat: 实现RAG Grounding服务功能
...
基于promptx/outfit-match中的query_llm_with_grounding实现,遵循Tauri开发规范
## 新增功能
- 实现RAG Grounding核心服务逻辑
- 支持基于Vertex AI Search的检索增强生成
- 集成Cloudflare Gateway和Google Gemini API
- 提供完整的TypeScript类型定义和前端服务封装
## 技术架构
- Rust后端:GeminiService扩展RAG功能
- Tauri命令:query_rag_grounding, test_rag_grounding_connection, get_rag_grounding_config
- 前端服务:RagGroundingService类,支持统计监控和错误处理
- 数据模型:完整的请求/响应结构和配置管理
## 核心特性
- 检索增强生成:基于数据存储的智能检索和内容生成
- 容错机制:内置重试机制和错误处理
- 性能监控:响应时间统计和性能指标
- 类型安全:完整的TypeScript类型定义
- 会话管理:支持上下文保持的对话功能
## 测试覆盖
- 25个单元测试,覆盖核心功能和边界情况
- 包括序列化/反序列化、错误处理、配置验证等
- 所有测试通过,确保功能正确性
## 文档和示例
- 完整的API文档 (docs/rag-grounding-api.md)
- 详细的使用示例 (examples/rag-grounding-usage.ts)
- 包含最佳实践和错误处理指南
## 遵循规范
- 严格遵循promptx/tauri-desktop-app-expert开发规范
- 安全第一:最小权限原则,数据加密保护
- 性能优先:异步处理,响应时间优化
- 模块化设计:清晰的架构分层
- 错误处理完善:全面的错误处理和用户反馈
2025-07-21 21:07:03 +08:00
imeepos
5091493a8c
feat: 添加文件名序号匹配规则功能
...
- 新增 FilenameUtils 工具类,支持从文件名中提取3位数字序号
- 扩展 SegmentMatchingRule 枚举,添加 FilenameSequence 匹配规则
- 在 MaterialMatchingService 中实现基于文件名序号的匹配逻辑
- 确保每个模板只能使用一个序号为001的视频文件
- 添加全面的单元测试和集成测试
- 支持多种文件名格式:name_001.ext, 001_name.ext, name001.ext 等
遵循 promptx/tauri-desktop-app-expert 开发规范
2025-07-21 19:01:01 +08:00
imeepos
a8ed7ed007
feat: 添加YAML智能解析支持到容错JSON解析器
...
修复tolerant_json_parser无法处理retrievedContext.text中YAML结构的问题
新增process_yaml_in_json_value方法,递归检查JSON字符串字段中的YAML内容
即使标准JSON解析成功,也会自动检测并解析YAML字符串字段
添加YamlStringParsing恢复策略,提供详细的解析统计信息
更新前端功能特性描述,添加YAML支持说明
新增完整的测试用例验证YAML解析功能
支持复杂的YAML嵌套结构、数组和对象解析
遵循promptx/tauri-desktop-app-expert开发规范
2025-07-21 18:35:21 +08:00
imeepos
6bd12a4a63
feat: 实现项目素材批量删除功能
...
- 后端实现:
* 在MaterialRepository中添加batch_delete方法,支持事务处理
* 在MaterialService中添加batch_delete_materials业务逻辑
* 添加BatchDeleteResult和BatchDeleteFailedItem数据结构
* 新增batch_delete_materials Tauri命令接口
* 实现参数验证和错误处理机制
- 前端实现:
* 创建useBatchSelection Hook管理批量选择状态
* 实现BatchDeleteConfirmDialog批量删除确认对话框
* 在MaterialCard组件中添加批量选择支持
* 在ProjectDetails页面集成批量选择和删除功能
* 添加批量操作UI控件(全选/取消全选/批量删除按钮)
- 功能特性:
* 支持最多50个素材的批量选择
* 单次最多删除100个素材的限制
* 详细的删除结果反馈(成功/失败统计)
* 失败项目的具体错误信息显示
* 批量选择模式的视觉反馈
* 完善的用户确认和通知机制
- 测试:
* 添加批量删除功能的单元测试
* 测试数据结构创建和验证逻辑
遵循Tauri开发规范和前端UI/UX设计标准,提供安全可靠的批量删除体验。
2025-07-21 14:28:06 +08:00
imeepos
1a76bf6c82
feat: 实现基于Tree-sitter的容错JSON解析器
...
- 添加TolerantJsonParser核心解析器,支持多种错误恢复策略
- 实现CachedTolerantJsonParser带缓存的解析器,提升性能
- 支持Markdown代码块提取、无引号键、尾随逗号等容错功能
- 添加完整的Tauri命令接口,支持前端调用
- 包含全面的单元测试和集成测试
- 提供详细的API文档和使用示例
主要功能:
- 标准JSON解析、手动修复、正则提取、部分解析等恢复策略
- 支持处理大模型返回的不规范JSON数据
- 内置缓存机制,支持高频解析场景
- 详细的解析统计信息和错误报告
- 遵循Tauri开发规范的分层架构设计
2025-07-21 13:27:19 +08:00
imeepos
da4aeaccb9
完成模特动态页面开发,移除标题和描述字段
2025-07-18 16:49:08 +08:00
imeepos
eb47a2b8fb
feat: 实现素材类型区分展示功能
...
- 图片素材:直接展示图片内容,支持多种格式(JPG/PNG/GIF等)
- 视频素材:展示缩略图,使用FFmpeg生成首帧
- 音频素材:提供播放控件,支持点击播放/暂停
后端改进:
- 扩展get_material_thumbnail_base64命令支持图片类型
- 新增get_audio_file_base64命令处理音频文件访问
- 自动检测文件MIME类型,安全的文件访问机制
前端改进:
- MaterialThumbnail组件重构支持三种素材类型
- 集成HTML5 Audio API实现音频播放
- 改进懒加载和缓存机制,优化性能
遵循promptx/tauri-desktop-app-expert开发规范
2025-07-18 14:20:57 +08:00
imeepos
f6041c6eea
feat: 完成模板匹配功能优化
...
- 修复重复资源使用问题:
* 修改MaterialMatchingService中的匹配算法,确保每个素材片段在一次匹配中只能被使用一次
* 添加get_classified_segments_with_exclusions方法支持额外排除片段
* 重构match_materials_with_used_segments方法正确处理全局使用状态
* 更新批量匹配逻辑使用新的匹配方法
- 添加批量删除匹配记录功能:
* 在TemplateMatchingResultService中添加批量删除方法
* 在MaterialUsageRepository中添加批量删除使用记录的方法
* 删除匹配记录时自动重置相关资源的使用状态
* 添加相应的Tauri命令和API接口
- 添加匹配记录导出状态标识:
* 在TemplateMatchingResult模型中添加is_exported和last_exported_at字段
* 更新数据库schema和仓库层支持新字段
* 在导出功能中自动更新导出状态
* 添加重置导出状态的功能
- 优化一键匹配命名逻辑:
* 改进命名规则使用模板名称+序号格式
* 为每个模板维护独立的序号计数器
* 支持自定义前缀的命名方式
- 更新前端组件支持新功能:
* 在TemplateMatchingResultManager中添加批量选择和批量删除功能
* 在TemplateMatchingResultCard中添加选择框和导出状态显示
* 添加全选/取消全选功能
* 优化UI显示导出状态标识
- 数据库迁移:
* 添加is_exported和last_exported_at字段到template_matching_results表
* 保持向后兼容性
2025-07-18 12:50:04 +08:00
imeepos
822bfe6e9c
feat: 为模板匹配片段添加缩略图功能
...
- 创建SegmentThumbnail组件,支持懒加载和缓存
- 修改TemplateMatchingResultDetailModal,集成缩略图显示
- 添加get_material_segment_by_id API命令获取片段详细信息
- 优化片段信息布局,简化显示内容(只显示片段名称和匹配原因)
- 支持通过material_segment_id获取和显示实际的片段文件名
2025-07-18 12:19:36 +08:00
imeepos
025237f753
feat: 实现服装搭配/高级筛选功能 - 自定义标签系统
...
新功能:
- 完整的自定义标签管理系统
- 支持标签分类和标签的CRUD操作
- 标签与实体(素材、模特、项目等)的关联管理
- 批量标签操作支持
- 标签使用统计功能
数据库:
- 新增 custom_tag_categories 表(标签分类)
- 新增 custom_tags 表(自定义标签)
- 新增 tag_associations 表(标签关联)
- 支持默认标签数据初始化(暂时禁用)
后端 (Rust):
- CustomTagRepository: 完整的数据访问层
- CustomTagCommands: Tauri命令接口
- 完善的错误处理和类型安全
前端 (React + TypeScript):
- CustomTagSelector: 功能完整的标签选择器组件
- CustomTagService: API调用服务层
- 完整的TypeScript类型定义
- 集成到FilterPanel中的高级筛选功能
技术特性:
- 遵循promptx/tauri-desktop-app-expert开发规范
- 使用连接池避免数据库死锁
- 响应式UI设计,支持实时创建标签
- 支持多维度筛选和搜索
- 完整的数据验证和错误处理
注意事项:
- 默认标签初始化暂时禁用以避免启动阻塞
- 所有功能已编译通过并可正常使用
2025-07-18 10:40:26 +08:00
imeepos
504b1a6577
feat: 实现服装搭配智能搜索系统
...
新功能:
- 完整的服装搭配智能搜索系统
- AI图像分析和服装识别
- 智能搜索和过滤功能
- LLM搭配顾问聊天功能
- HSV颜色匹配算法
- 响应式UI界面
技术实现:
- 统一的GeminiService架构
- 完整的数据模型和类型定义
- Tauri命令接口层
- React前端组件库
- Zustand状态管理
- 数据库扩展支持
UI/UX:
- 现代化的搭配搜索界面
- 直观的颜色选择器
- 多级筛选面板
- 图像上传和分析
- 搜索结果展示
- AI聊天界面
测试:
- 核心功能单元测试
- 颜色匹配算法测试
- API集成测试
文档:
- 完整的系统设计文档
- API接口文档
- 开发指南
2025-07-17 22:35:36 +08:00
imeepos
121f2ebc5d
fix: 移除错误代码
2025-07-17 20:59:45 +08:00
imeepos
42836784b4
feat: 完善智能搭配推荐功能和调试工具
...
新功能:
- 完整实现智能搭配推荐系统
- OutfitMatchingRecommendation: 完整的推荐界面组件
- generate_outfit_recommendations: 后端推荐算法
- 色彩和谐度和风格一致性评分算法
- 智能场合和季节标签生成
- 添加调试工具 debug_outfit_items_stats
- 检查项目中的服装单品统计
- 详细的数据分析和建议
算法实现:
- 搭配组合生成逻辑
- 上装+下装+鞋子组合
- 连衣裙+鞋子组合
- 可选外套和配饰
- 智能评分系统
- 色彩和谐度计算 (HSV色彩空间)
- 风格一致性评估
- 综合评分和筛选
- 标签生成算法
- 场合推断 (工作/休闲/正式/运动等)
- 季节适用性分析
UI/UX优化:
- 现代化的推荐卡片设计
- 智能筛选面板 (场合/季节/风格/评分)
- 收藏和保存功能
- 详情模态框展示
- 调试按钮和数据检查工具
问题诊断:
- 添加详细的调试日志
- 搭配组合生成过程跟踪
- 评分计算过程可视化
- 数据统计和分析工具
当前状态:
- 项目中有2件服装单品 (连衣裙+高跟鞋)
- 数量足够生成搭配推荐
- 正在调试为什么生成0个推荐的问题
2025-07-17 19:47:51 +08:00
imeepos
7b1bb2fb0e
feat: 实现服装搭配功能的图像上传和AI分析
...
新功能:
- 实现完整的图像上传组件 (ImageUploader)
- 支持拖拽上传、文件选择、预览和验证
- 文件大小和格式限制
- 实时预览和文件管理
- 实现AI图像分析结果展示 (OutfitAnalysisResult)
- 实时状态更新和进度跟踪
- 分析结果详情查看
- 自动刷新机制
- 添加文件保存功能 (save_outfit_image 命令)
- 更新OutfitMatch页面为现代化标签页设计
技术改进:
- 修复服装搭配相关模型的编译错误
- 添加缺失的trait实现 (Eq, Hash)
- 修复生命周期参数问题
- 完善错误处理和用户反馈
UI/UX优化:
- 现代化的标签页设计
- 响应式布局和优雅动画
- 统一的设计语言和交互体验
- 完善的加载状态和错误处理
2025-07-17 19:05:40 +08:00
imeepos
7fb1dfa95a
feat: 添加便捷小工具页面 - AI检索图片/数据清洗功能
...
- 新增便捷工具页面 (/tools),提供AI检索图片/数据清洗功能
- 支持JSONL格式数据的URI匹配去重处理
- 实现实时进度显示和批量数据处理
- 添加完整的错误处理和用户反馈机制
- 遵循Tauri开发规范和UI/UX设计标准
- 包含测试数据和功能文档
技术实现:
- 后端: Rust异步处理,流式文件读取,进度事件发送
- 前端: React + TypeScript,文件选择对话框,进度条显示
- 导航: 新增便捷工具菜单项,集成到主导航栏
2025-07-17 15:29:59 +08:00
imeepos
c190fdae1b
feat: implement export record tracking system
...
- Add export_count field to template_matching_results table
- Create ExportRecord data model with comprehensive tracking
- Implement ExportRecordRepository for CRUD operations
- Create ExportRecordService for business logic
- Add export record tracking to jianying export functions
- Create ExportRecordManager component with filtering and pagination
- Add ExportRecordsPage with full management interface
- Integrate export records into navigation and routing
- Add Tauri commands for export record management
- Include statistics, validation, and cleanup functionality
Follows Tauri development specifications and frontend standards.
2025-07-17 13:03:51 +08:00
imeepos
e4e0d89d5b
feat: 实现v2导出
2025-07-17 12:34:10 +08:00
imeepos
0495a32c74
feat: 实现导出到剪映功能 (v0.1.28)
...
- 新增剪映导出数据结构定义 (jianying_export.rs)
- 实现模板匹配结果导出到剪映格式的服务逻辑
- 添加导出到剪映的Tauri命令接口
- 在匹配记录卡片中添加导出按钮
- 实现文件保存对话框和用户交互
- 支持根据模板匹配结果生成完整的draft_content.json
- 自动替换匹配素材路径并生成随机素材ID
- 去除无引用素材,优化导出文件大小
功能特点:
- 完全符合剪映draft_content.json格式规范
- 准确的时间轴和素材路径映射
- 用户友好的导出界面和反馈
- 遵循promptx/tauri-desktop-app-expert开发规范
2025-07-16 22:33:57 +08:00
imeepos
e3037916c0
feat: 实现一键匹配功能 (v0.1.26)
...
- 新增一键匹配后端服务,支持遍历项目模板绑定并逐一匹配
- 在项目详情页添加一键匹配按钮,支持批量匹配操作
- 实现批量匹配进度管理,包括实时进度跟踪和取消功能
- 添加一键匹配结果汇总,包含详细统计和报告导出功能
- 新增批量匹配相关组件:进度对话框、结果对话框、汇总卡片
- 遵循 promptx/tauri-desktop-app-expert 开发规范
- 支持错误处理、状态管理和用户体验优化
2025-07-16 21:52:48 +08:00
imeepos
d5ef9851cd
feat: 实现模特详情页视频生成功能
...
- 新增模特详情页组件,支持照片上传和视频生成
- 实现视频生成数据模型和仓库层
- 集成Dify API进行视频生成
- 添加云存储上传功能,自动转换S3 URL为CDN地址
- 实现统一的删除确认弹框,替换window.confirm
- 支持照片和视频生成任务的删除功能
- 优化UI/UX设计,符合前端开发规范
- 添加完整的错误处理和状态管理
核心功能:
模特照片上传到云端
多选照片进行视频生成
实时任务状态跟踪
视频生成历史记录
统一删除确认对话框
响应式设计和优雅动画
2025-07-16 19:39:44 +08:00
imeepos
a325b3ccc8
feat: 实现素材使用状态管理系统
...
1. 数据库层面改进:
- 新增material_usage_records表记录素材使用历史
- 为material_segments表添加usage_count、is_used、last_used_at字段
- 实现数据库迁移逻辑
2. 数据模型和仓库:
- 创建MaterialUsageRecord、MaterialUsageStats等数据模型
- 实现MaterialUsageRepository处理使用记录的CRUD操作
- 支持批量创建使用记录和统计查询
3. 业务逻辑改进:
- 修改MaterialMatchingService,在获取素材片段时排除已使用的片段
- 实现素材使用状态的自动更新机制
- 支持重置素材使用状态功能
4. 前端集成:
- 修改handleApplyMatchingResult函数,应用匹配结果时自动创建使用记录
- 新增多个后端命令支持素材使用状态管理
- 实现从匹配结果自动创建使用记录的便捷方法
5. 核心功能:
- 一个素材片段只能使用一次的限制机制
- 模板匹配时自动排除已使用的素材片段
- 完整的使用历史记录和统计功能
- 支持项目级别的使用状态重置
这个实现确保了素材的合理使用,避免重复使用同一素材片段,
同时提供了完整的使用追踪和管理功能。
2025-07-16 14:38:08 +08:00
imeepos
1d6de409ed
feat: 实现模板匹配结果保存和管理功能
...
- 新增模板匹配结果数据模型和数据库表结构
- 实现匹配结果Repository层,支持CRUD操作和查询
- 实现匹配结果Service层,提供业务逻辑和统计功能
- 新增Tauri命令接口,支持前端调用
- 实现前端TypeScript类型定义
- 更新MaterialMatchingService,支持自动保存匹配结果
- 新增前端管理界面组件:
- TemplateMatchingResultManager: 主管理界面
- TemplateMatchingResultCard: 结果卡片组件
- TemplateMatchingResultDetailModal: 详情模态框
- TemplateMatchingResultStatsPanel: 统计面板
- 编写完整的单元测试
- 新增API文档
功能特性:
- 保存匹配结果到数据库,包含成功和失败片段详情
- 支持匹配结果的查询、过滤、排序和分页
- 提供匹配统计信息和质量评分
- 支持软删除和批量操作
- 完整的前端管理界面,支持查看、编辑、删除操作
2025-07-16 13:34:32 +08:00
imeepos
c7f9c9f4bb
feat: 为MaterialCard添加缩略图功能并优化UI展示
...
- 为Material数据模型添加thumbnail_path字段
- 实现get_material_thumbnail_base64 API命令支持Material缩略图生成
- 创建MaterialThumbnail组件,支持懒加载和缓存机制
- 重新设计MaterialCard布局,使用缩略图替换文件类型图标
- 精简MaterialCard信息展示,将详细信息移到可折叠区域
- 优化按钮布局,使界面更加紧凑
- 简化切分片段显示方式,提升用户体验
- 修复数据库DateTime解析问题,支持SQLite和RFC3339两种格式
- 添加数据库迁移支持thumbnail_path字段
- 遵循promptx/tauri-desktop-app-expert开发规范
2025-07-16 00:25:08 +08:00
imeepos
8c742bf262
feat: 创建统一的缩略图获取接口,使用视频实际尺寸
...
新增get_segment_thumbnail_base64接口:
- 根据segmentId统一获取缩略图base64数据URL
- 智能检查:数据库路径 -> 文件存在性 -> 自动重新生成
- 完整的错误处理和文件验证机制
使用视频实际尺寸生成缩略图:
- 添加get_video_info方法获取视频元数据
- 保持原始宽高比,最大宽度160像素
- 支持音频流信息解析和完整的VideoMetadata结构
代码优化:
- 简化前端缩略图加载逻辑,统一使用新接口
- 移除重复的generateSegmentThumbnail函数
- 清理不必要的参数传递和依赖项
功能特点:
- 自动检测文件丢失并重新生成
- 使用视频原始尺寸保持最佳显示效果
- 统一的错误处理和缓存机制
- 减少代码重复,提高维护性
现在缩略图生成更加智能和高效,能够自动处理文件丢失的情况,并使用视频的实际尺寸生成最佳质量的缩略图。
2025-07-15 22:49:53 +08:00
imeepos
44f3f40705
fix: 修复缩略图显示权限问题,使用base64数据URL
...
解决asset.localhost访问权限问题:
- 添加read_thumbnail_as_data_url命令读取文件并转换为base64数据URL
- 避免使用convertFileSrc的asset.localhost协议访问问题
- 添加base64依赖支持文件编码
优化缩略图加载:
- 使用数据URL直接在img标签中显示缩略图
- 正确处理Windows长路径前缀 \\\\?\\
- 统一错误处理和降级机制
技术改进:
- 移除不再使用的convertFileSrc导入
- 添加详细的控制台日志便于调试
- 确保跨平台文件路径兼容性
现在缩略图可以正确显示,不会因为权限问题导致加载失败。
2025-07-15 22:38:22 +08:00
imeepos
4d61fb69f3
fix: 修复缩略图生成功能
...
解决编译问题:
- 修复async函数中跨await点持有MutexGuard的Send trait问题
- 添加get_segment_by_id_sync同步方法避免锁生命周期冲突
- 修复Path类型推断问题
优化FFmpeg缩略图生成:
- 添加-pix_fmt yuvj420p参数解决色彩空间问题
- 添加-q:v 2参数提升图片质量
- 添加-f image2参数明确指定输出格式
- 解决MJPEG编码器参数错误问题
功能特点:
- 使用视频首帧生成缩略图
- 缩略图路径保存到数据库
- 智能缓存机制避免重复生成
- 优雅的错误处理和降级
现在缩略图生成功能可以正常工作,用户可以在MaterialSegmentView中看到实际的视频预览图。
2025-07-15 22:20:46 +08:00
imeepos
10177d2501
feat: 为MaterialSegmentView添加视频片段播放功能
...
视频播放功能:
- 为Eye按钮添加点击播放功能:点击后播放对应的视频片段
- 传递片段参数:文件路径、开始时间、结束时间
- 悬停效果优化:按钮颜色从灰色变为蓝色
- 工具提示:显示'播放视频片段'提示文字
后端播放命令:
- 新增play_video_segment命令:支持播放指定时间段的视频
- 跨平台播放器支持:
* Windows: 使用cmd /C start启动默认播放器
* macOS: 使用open命令启动默认播放器
* Linux: 使用xdg-open启动默认播放器
- 文件存在性检查:播放前验证视频文件是否存在
- 完善错误处理:播放失败时给出详细错误信息
系统集成:
- 命令注册:在lib.rs中正确注册play_video_segment命令
- 日志记录:记录播放操作的成功/失败状态
- 参数传递:支持文件路径和时间参数传递
用户体验:
- 一键播放:点击Eye按钮直接播放视频片段
- 系统默认播放器:使用用户熟悉的播放器应用
- 即时反馈:点击后立即启动播放器
- 视觉提示:按钮状态清楚表达可点击性
功能特点:
- 智能播放:虽然后端接收时间参数,但使用系统默认播放器播放完整视频
- 跨平台兼容:Windows/macOS/Linux都能正常工作
- 错误恢复:文件不存在或播放器启动失败时有相应提示
- 性能优化:异步播放,不阻塞界面操作
现在用户可以:
1. 点击任意片段的Eye按钮播放对应视频
2. 使用系统默认播放器观看视频内容
3. 享受跨平台一致的播放体验
4. 在播放失败时获得清楚的错误提示
注:当前实现使用系统默认播放器播放完整视频文件,未来可以考虑集成支持时间段播放的专业播放器。
2025-07-15 21:57:58 +08:00
imeepos
91eb22aaa9
feat: 优化MaterialSegmentView文件显示和添加打开目录功能
...
文件显示优化:
- 提取文件名显示:从完整路径中提取文件名,避免显示过长的路径
- 处理Windows长路径格式:正确处理\\\\?\\前缀的长路径
- 简洁的文件名展示:只显示文件名而不是完整路径
打开目录功能:
- 添加FolderOpen图标按钮:每个片段卡片都有打开目录按钮
- 跨平台支持:Windows使用explorer /select,macOS使用open -R,Linux使用xdg-open
- 智能路径处理:自动检测文件/目录并使用合适的打开方式
- 错误处理:完善的错误处理和日志记录
后端命令实现:
- 新增open_file_directory命令:支持打开文件所在目录
- 注册到invoke_handler:在lib.rs中正确注册新命令
- 系统集成:使用系统默认的文件管理器打开目录
UI/UX改进:
- 文件名+按钮布局:文件名和打开按钮在同一行显示
- 悬停效果:按钮有hover状态,提供良好的交互反馈
- 工具提示:按钮有'打开文件所在目录'的提示文字
- 图标设计:使用FolderOpen图标,直观表达功能
功能特点:
- 一键打开:点击按钮直接在文件管理器中打开文件所在目录
- 文件定位:Windows下会自动选中对应文件
- 路径兼容:支持各种路径格式,包括长路径
- 安全检查:文件不存在时会给出错误提示
现在用户可以:
1. 看到简洁的文件名而不是冗长的完整路径
2. 点击文件夹图标快速打开文件所在目录
3. 在文件管理器中直接定位到对应文件
4. 享受跨平台一致的用户体验
2025-07-15 21:52:58 +08:00
imeepos
bc5d9d1054
fix: 修复素材查询
2025-07-15 19:00:58 +08:00
imeepos
8d8e98188d
fix: 添加连接池功能
2025-07-15 18:43:22 +08:00
imeepos
6dcbd4a6e1
fix: 数据库链接 锁问题
2025-07-15 18:10:54 +08:00
imeepos
590e254fe1
feat: 添加项目详情/素材管理的MaterialSegment聚合视图功能
...
- 新增MaterialSegment聚合视图,支持按AI分类和模特聚合展示
- 实现后端MaterialSegmentViewService和相关API命令
- 创建前端React组件:MaterialSegmentView、MaterialSegmentGroup、MaterialSegmentCard等
- 添加MaterialSegment详细信息模态框和批量操作对话框
- 实现搜索、筛选、排序、分页功能
- 集成虚拟滚动和性能优化
- 在ProjectDetails页面添加片段管理选项卡
- 遵循promptx开发规范和UI/UX设计标准
2025-07-15 16:49:08 +08:00
imeepos
bab1dfc5fd
feat: 实现素材匹配功能 v0.1.19
...
- 新增素材匹配服务 (MaterialMatchingService)
- 支持AI分类匹配、随机匹配等规则
- 实现模特限制逻辑(每个模特素材只能使用一次)
- 时长匹配优化(相差越小越好)
- 详细的匹配统计和失败原因分析
- 新增Tauri API命令
- execute_material_matching: 执行素材匹配
- get_project_material_stats_for_matching: 获取项目素材统计
- validate_template_binding_for_matching: 验证模板绑定
- 新增前端组件和服务
- MaterialMatchingResultDialog: 匹配结果对话框
- MaterialMatchingService: 前端服务层
- 完整的TypeScript类型定义
- UI集成
- 在模板绑定列表添加匹配素材按钮
- 集成到项目详情页面
- 支持完整的匹配流程和结果展示
- 核心匹配规则
- 只使用已AI分类的MaterialSegment
- 每个素材只能使用一次
- 模特限制:优先同一模特,失败后尝试其他模特
- 视频时长必须大于模板需求,相差越小匹配度越高
- 测试覆盖
- 后端服务单元测试
- 覆盖正常匹配、失败场景、边界情况
2025-07-15 14:56:10 +08:00
imeepos
7c40da1b83
fix: 修复素材绑定页面显示暂无素材的问题
...
- 添加get_all_materials后端命令获取所有项目的素材
- 在MaterialRepository中实现get_all方法
- 在MaterialService中添加get_all_materials方法
- 修改MaterialModelBindingService的getMaterialsByFilter方法,在没有指定项目时获取所有素材而不是返回空数组
- 确保素材绑定页面能正确显示所有素材数据,与统计信息保持一致
- 支持在全局素材列表上应用绑定状态和搜索过滤
2025-07-15 14:18:48 +08:00
imeepos
de446b6410
fix: 修复项目详情页面模板绑定和素材绑定页面的搜索功能
...
- 修复项目详情页面模板绑定搜索功能:使用过滤后的绑定详情而不是原始数据
- 修复素材绑定页面搜索功能:添加useEffect监听搜索条件变化并重新加载数据
- 修复素材绑定页面统计功能:实现全局模特绑定统计API和前端调用
- 优化MaterialModelBindingService的getMaterialsByFilter方法,正确处理多重过滤条件
- 添加后端get_global_model_binding_stats命令和相关仓库方法
- 确保搜索和统计功能在所有相关页面正常工作
2025-07-15 14:10:29 +08:00
imeepos
730402aba0
feat: 实现项目-模板绑定和素材-模特绑定管理功能
...
新功能:
- 项目-模板绑定管理系统
- 支持主要/次要模板绑定类型
- 绑定优先级和状态管理
- 批量绑定操作
- 绑定关系的CRUD操作
- 素材-模特绑定管理系统
- 素材与模特的关联管理
- 批量绑定/解绑操作
- 绑定统计和分析
- 素材编辑对话框
架构改进:
- 新增项目-模板绑定数据模型和仓库层
- 新增素材-模特绑定业务服务层
- 完善的API命令层实现
- 响应式前端界面设计
用户体验优化:
- 统一的通知系统
- 增强的加载状态组件
- 流畅的交互动画
- 优雅的确认对话框
测试覆盖:
- 单元测试和集成测试
- 业务逻辑验证
- API接口测试
技术栈:
- 后端: Rust + Tauri + SQLite
- 前端: React + TypeScript + TailwindCSS
- 状态管理: Zustand
- 测试: Vitest + Rust测试框架
配置更新:
- 更新数据库迁移脚本
- 完善测试配置
- 优化构建流程
2025-07-15 12:50:30 +08:00
imeepos
05d29832b0
feat: 实现模板片段匹配规则功能并修复数据库迁移问题
...
新功能:
- 为TrackSegment添加匹配规则字段,支持固定素材和AI分类两种规则
- 实现SegmentMatchingRuleEditor组件,支持在模板详情页面编辑片段匹配规则
- 添加update_segment_matching_rule和get_segment_matching_rule API接口
- 扩展前端类型定义和服务函数以支持匹配规则操作
修复:
- 修复数据库迁移逻辑导致每次重启清空素材和轨道数据的问题
- 为模板表和轨道片段表迁移添加条件检查,只在必要时执行
- 修正matching_rule字段的默认值格式,匹配Rust枚举序列化格式
- 完善轨道片段表重建时的字段迁移逻辑
技术改进:
- 数据库schema更新,添加matching_rule列到track_segments表
- 优化数据库迁移性能,避免不必要的表重建操作
- 增强错误处理和日志输出,便于问题排查
文件变更:
- 后端: template_service.rs, template.rs, database.rs, template_commands.rs, lib.rs
- 前端: SegmentMatchingRuleEditor.tsx, TemplateDetailModal.tsx, templateStore.ts, template.ts
2025-07-15 09:43:04 +08:00
imeepos
939efd70d4
feat: 完善模板导入功能
...
新增功能:
- 添加详细的模板导入日志系统
- 实现全局进度存储机制
- 完善模板状态管理
修复问题:
- 修复进度监控无限轮询问题
- 修复模板列表状态显示不正确问题
- 修复所有unwrap()导致的panic错误
- 修复外键约束失败问题
改进:
- 优化素材上传逻辑,只上传视频/音频/图片
- 上传失败时自动跳过而不是中断导入
- 缺失文件时继续导入而不是失败
- 改进错误处理机制
2025-07-14 21:34:07 +08:00
imeepos
eeeef4ead4
feat: 实现项目一键AI分类功能
...
- 添加ProjectBatchClassificationRequest和ProjectBatchClassificationResponse数据模型
- 在VideoClassificationService中实现create_project_batch_classification_tasks方法
- 添加start_project_batch_classification Tauri命令接口
- 在前端添加startProjectBatchClassification方法和相关类型定义
- 在项目详情页面添加一键AI分类按钮和队列状态监控
- 支持批量处理项目下所有符合条件的视频素材
- 集成现有的AI分类队列系统,确保兼容性
2025-07-14 18:26:03 +08:00
imeepos
7a9ac750ae
fix: 修复前端队列控制按钮功能
...
问题修复:
- 修复暂停/恢复/停止按钮无法正常工作的问题
- 添加详细的调试日志来诊断按钮操作
- 优化按钮的启用/禁用逻辑和视觉反馈
技术改进:
- 在队列操作后添加延迟确保后端状态更新
- 修复refreshQueueStatus方法的返回值类型
- 改进按钮状态判断逻辑,支持更多队列状态
用户体验提升:
- 添加状态指示器显示当前队列状态
- 改进按钮的禁用状态样式
- 提供更清晰的按钮提示文本
状态管理优化:
- 确保队列控制操作后正确刷新状态
- 添加操作中的加载状态指示
- 改进错误处理和日志输出
任务恢复机制:
- 添加recover_stuck_tasks功能恢复卡住的任务
- 在队列启动时自动恢复处理中状态的任务
- 解决应用意外关闭导致任务永久卡住的问题
2025-07-14 15:52:28 +08:00
imeepos
943a22a85e
fix: 修复AI视频分类进度数据不一致问题
...
问题修复:
- 修复分类统计与队列进度数据不匹配的问题
- 添加项目特定的队列状态查询接口
- 确保AI视频分类进度显示当前项目的准确数据
技术改进:
- 添加get_project_classification_queue_status命令
- 在VideoClassificationQueue中添加get_project_stats方法
- 前端组件现在使用项目特定的队列状态
数据一致性:
- 队列统计现在基于项目过滤
- 分类统计和任务进度数据保持一致
- 避免了跨项目数据混淆的问题
2025-07-14 14:52:15 +08:00
imeepos
b1fdcaac6b
feat: 添加项目特定的AI视频分类任务进度显示
...
功能改进:
- 添加get_project_classification_task_progress命令
- VideoClassificationProgress组件现在只显示当前项目的任务
- 优化任务进度获取逻辑,支持按项目过滤
技术实现:
- 后端添加项目任务进度查询接口
- 前端store支持按项目获取任务进度
- 使用useCallback优化组件性能
用户体验提升:
- 项目详情页面只显示相关任务,避免混淆
- 更精确的进度统计和状态显示
- 更好的数据隔离和组织
2025-07-14 14:41:16 +08:00
imeepos
4b26c0406c
feat: 优化项目详情页布局为上下布局
...
布局优化:
- 从左右布局改为上下布局,提升用户体验
- 统计信息移至顶部,采用卡片式设计
- 选项卡导航采用现代化设计风格
响应式设计:
- 统计卡片支持2-4列自适应布局
- 选项卡在小屏幕上显示简化文本
- 操作按钮在移动端仅显示图标
- 素材网格支持1-5列响应式布局
用户体验提升:
- 更好的信息层次结构
- 更高效的空间利用
- 移动端友好的交互设计
- 符合现代UI设计规范
遵循promptx/frontend-developer开发规范,确保:
- 移动优先的响应式设计
- 良好的可访问性支持
- 一致的设计语言
- 优秀的性能表现
2025-07-14 14:26:16 +08:00
imeepos
b8dfaf8af8
feat: 实现AI视频分类功能
...
新功能:
- 集成Google Gemini API进行视频智能分类
- 实现任务队列系统支持批量处理
- 添加实时进度显示和状态管理
- 自动文件整理到分类文件夹
架构改进:
- 遵循Tauri开发规范的分层架构设计
- 完整的数据模型和仓库层实现
- 异步任务处理和错误处理机制
- 类型安全的前后端通信接口
用户界面:
- MaterialCard组件添加AI分类按钮
- VideoClassificationProgress进度显示组件
- 优美的动画效果和响应式设计
- 符合前端开发规范的UI/UX优化
数据库扩展:
- 新增video_classification_records表
- 新增video_classification_tasks表
- 完整的索引优化和外键约束
技术实现:
- Rust后端服务层完整实现
- React/TypeScript前端状态管理
- Zustand状态存储和API封装
- 完善的错误处理和用户提示
文档:
- 完整的功能文档和API说明
- 架构设计和使用流程说明
- 开发规范遵循情况说明
Closes #AI视频分类功能开发
2025-07-14 12:52:30 +08:00
imeepos
ca63da30ff
feat: 实现AI分类设置功能 (v0.1.7)
...
新增功能:
- AI分类CRUD操作 (创建、读取、更新、删除)
- 实时提示词预览功能
- 分类排序和状态管理
- 完整的表单验证和错误处理
后端架构:
- 数据层: AiClassification模型和仓储
- 业务层: AiClassificationService业务逻辑
- 表示层: 10个Tauri命令接口
- 数据库: ai_classifications表和索引
前端架构:
- 类型系统: 完整的TypeScript类型定义
- 服务层: AiClassificationService API封装
- 组件层: 5个专用组件 (主页面、表单、预览、删除确认、实时预览)
- 路由集成: /ai-classification-settings
质量保证:
- 52个单元测试 (100%通过)
- TypeScript和Rust编译无错误
- 遵循promptx开发规范
核心特性:
- 支持分类名称和提示词定义
- 实时生成完整AI分类提示词
- 拖拽排序和批量操作
- 优雅的用户界面和交互体验
2025-07-14 11:39:44 +08:00
imeepos
5cf1f8bfca
feat: 实现模特管理功能
...
- 新增模特数据模型和数据库表结构
- 实现模特的完整CRUD操作
- 添加模特照片管理功能
- 实现素材与模特关联功能
- 创建模特管理前端界面
- 集成到主应用导航和路由
- 修复数据库连接死锁问题
功能特性:
- 模特基本信息管理(姓名、艺名、性别、年龄等)
- 照片管理和封面设置
- 标签系统
- 状态管理(活跃、不活跃、退役、暂停)
- 评分系统
- 搜索和过滤功能
- 素材关联功能
2025-07-14 01:39:14 +08:00
imeepos
73f542af40
feat: 实现异步导入处理和批量导入功能
...
- 新增异步素材导入服务 (AsyncMaterialService)
- 实现实时进度反馈和事件驱动架构
- 添加批量文件夹选择和扫描功能
- 更新导入对话框支持文件夹批量导入
- 优化用户体验,避免UI阻塞
Features:
1. 异步导入处理:支持实时进度更新,不阻塞UI
2. 批量导入:支持文件夹选择和递归扫描
3. 事件驱动:使用Tauri事件系统进行进度通信
4. 文件类型过滤:支持按扩展名过滤文件
5. 改进的用户界面:新增批量导入配置步骤
遵循promptx/tauri-desktop-app-expert开发规范
2025-07-13 23:32:54 +08:00
imeepos
39b517dcd8
feat: 实现Tauri开发规范立即改进项目
2025-07-13 22:46:20 +08:00
imeepos
864d1b42a9
fix: 修复视频切分前几秒无画面问题
...
问题分析:
- 原因:使用 -c copy 流复制模式在非关键帧位置切分
- 症状:切分后的视频前几秒显示黑屏或无画面
解决方案:
1. 新增三种切分模式:
- Fast: 快速模式(流复制,速度快但可能有画面问题)
- Accurate: 精确模式(重新编码,确保画面完整)
- Smart: 智能模式(关键帧对齐 + 快速切分)
2. 精确模式技术改进:
- 使用 libx264 重新编码视频
- 使用 aac 重新编码音频
- 添加 -preset fast 提高编码速度
- 设置 -crf 23 保证质量
- 添加 -movflags +faststart 优化播放
3. 智能模式特性:
- 自动获取视频关键帧信息
- 将切分点调整到最近的关键帧
- 结合快速切分提高效率
4. 新增调试功能:
- test_video_split 命令测试不同切分模式
- 详细的切分日志输出
- 模式选择和参数配置
默认配置:
- 使用 Accurate 模式确保画面完整
- 可通过配置切换到其他模式
现在切分的视频应该不会再有前几秒无画面的问题!
2025-07-13 21:17:48 +08:00
imeepos
704e6d8fff
feat: 添加视频切分片段查看功能
...
新增功能:
1. MaterialCard组件 - 增强的素材卡片
- 显示素材基本信息和状态
- 支持展开查看切分片段详情
- 片段时间格式化显示
- 文件位置快速访问
2. get_material_segments命令
- 获取指定素材的所有切分片段
- 返回完整的片段信息包括文件路径
3. 前端store集成
- getMaterialSegments方法
- 错误处理和加载状态
4. 用户界面改进
- 状态颜色编码(完成/处理中/失败/等待)
- 可折叠的片段列表
- 时间格式化显示(分:秒)
- 片段索引和时长信息
视频切分结果保存位置:
- 文件系统: 原视频路径_segments/原视频名_001.mp4
- 数据库: material_segments表存储片段元信息
- 前端: 通过MaterialCard组件可视化查看
现在用户可以:
查看每个素材的切分状态
展开查看具体的切分片段
了解每个片段的时间范围和文件位置
快速访问切分后的文件
2025-07-13 21:12:01 +08:00
imeepos
dbcd98118c
feat: 修复FFmpeg场景检测功能并添加调试工具
...
主要修复:
- 重构场景检测算法,使用正确的FFmpeg命令
- 添加备用的简单场景检测方法
- 改进FFmpeg可用性检查,同时检查ffmpeg和ffprobe
- 添加详细的FFmpeg状态信息获取功能
新增功能:
- FFmpegDebugPanel调试面板组件
- test_scene_detection测试命令用于调试
- get_ffmpeg_status命令获取详细状态
- 项目详情页面添加调试工具选项卡
技术改进:
- 更可靠的场景检测实现,支持降级到时间间隔方法
- 完善的错误处理和日志记录
- 用户友好的调试界面
- 实时测试和诊断工具
这个版本应该能够正确处理场景检测,即使在FFmpeg配置有问题的情况下也能提供备用方案。
2025-07-13 21:04:46 +08:00
imeepos
fdb87bf64e
feat: 实现项目详情页面和素材导入功能
...
- 添加项目详情页面路由和组件
- 实现素材数据模型和数据库表结构
- 集成FFmpeg进行视频元数据提取和场景检测
- 实现视频自动切分功能(基于场景检测和时长限制)
- 开发素材导入UI界面和进度显示
- 添加素材管理相关的Tauri命令
- 完善错误处理和性能优化
- 添加单元测试覆盖核心功能
主要功能:
- 项目详情页面展示项目信息和素材统计
- 素材导入支持多种格式(视频、音频、图片、文档)
- MD5重复检测避免重复导入
- FFmpeg集成提取视频/音频元数据
- 智能场景检测和视频切分
- 二次切分处理超长视频片段
- 响应式UI设计和用户友好的导入流程
2025-07-13 20:45:05 +08:00
imeepos
2f7ed4ae99
fix: 修复 UNIQUE 约束冲突和应用架构完善
...
问题修复:
- 修复项目路径 UNIQUE 约束冲突导致的创建失败问题
- 修复应用启动时数据库清理导致的卡住问题
- 修复编译错误和类型安全问题
架构完善:
- 完善四层架构设计,符合 Tauri 开发规范
- 添加性能监控系统,支持启动时间、内存、CPU 监控
- 添加事件总线系统,实现事件驱动架构
- 增强应用状态管理,集成性能监控和事件系统
技术优化:
- 优化数据库 PRAGMA 配置,提高数据可靠性
- 改进项目创建逻辑,自动处理路径冲突
- 添加手动清理功能,用户可主动清理无效记录
- 完善错误处理和用户反馈机制
新增功能:
- 项目路径冲突自动处理
- 无效项目记录清理功能
- 性能监控报告生成
- 事件驱动的组件通信
UI 改进:
- 在项目列表添加清理按钮
- 优化按钮布局和用户交互
- 增强加载状态和错误提示
质量保证:
- 遵循 Tauri 开发规范的安全第一原则
- 实现类型安全的错误处理
- 添加详细的调试日志和状态监控
- 确保数据库操作的事务安全性
性能优化:
- 优化数据库连接和查询性能
- 实现性能指标监控和报告
- 添加启动时间和响应时间监控
- 符合 Tauri 性能标准要求
2025-07-13 19:33:51 +08:00
imeepos
7b11ed04bd
fix: 修复项目数据持久化问题
...
问题修复:
- 修复软件重新打开后项目数据丢失的问题
- 修复 is_active 字段数据类型不一致导致的查询问题
- 修复数据库事务提交和数据持久化问题
技术修复:
- 改进数据库连接配置,使用 DELETE 模式确保数据立即写入
- 修复 is_active 字段的布尔值存储和读取逻辑
- 添加数据库迁移机制,自动修复历史数据
- 增强数据库路径管理,确保数据存储在正确位置
数据库优化:
- 使用事务确保数据一致性
- 添加数据验证和错误处理
- 优化数据库 PRAGMA 设置提高可靠性
- 支持多种数据类型的兼容性读取
测试验证:
- 验证项目创建后数据正确保存
- 验证应用重启后数据正确加载
- 验证数据库迁移正确执行
- 确保所有现有项目数据完整性
2025-07-13 19:04:11 +08:00
imeepos
42c5dcef8e
feat: 实现项目管理功能 v0.1.1
...
新功能:
- 项目创建:支持项目名称和本地路径绑定
- 项目列表:简洁大方的卡片式布局展示
- 项目编辑:支持项目信息修改
- 项目删除:支持项目软删除
- 路径选择:集成系统文件夹选择对话框
- 路径验证:实时验证项目路径有效性
架构设计:
- 遵循 Tauri 开发规范的四层架构设计
- 基础设施层:数据库管理、文件系统操作
- 数据访问层:项目仓库模式、SQLite 集成
- 业务逻辑层:项目服务、数据验证
- 表示层:Tauri 命令、前端组件
UI/UX:
- 使用 Tailwind CSS 实现简洁大方的设计风格
- 响应式布局适配不同屏幕尺寸
- 流畅的动画效果和交互反馈
- 完整的错误处理和用户提示
技术栈:
- 后端:Rust + Tauri + SQLite + 四层架构
- 前端:React + TypeScript + Tailwind CSS + Zustand
- 测试:Rust 单元测试 + Vitest 前端测试
- 工具:pnpm 包管理 + 类型安全保证
质量保证:
- Rust 单元测试覆盖核心业务逻辑
- 前端组件测试覆盖主要 UI 组件
- TypeScript 严格模式确保类型安全
- 遵循开发规范的代码质量标准
核心特性:
- 项目管理:创建、查看、编辑、删除项目
- 路径管理:自动验证、绝对路径转换
- 数据持久化:SQLite 本地数据库存储
- 状态管理:Zustand 响应式状态管理
- 错误处理:完整的错误捕获和用户反馈
2025-07-13 18:46:58 +08:00
imeepos
1a5fcf6485
Initial commit: MixVideo Desktop v0.1.0
...
Features:
- Cross-platform Tauri desktop application
- React + TypeScript + Vite frontend
- Rust backend with Tauri 2.0
- Multi-package management (PNPM + Cargo workspaces)
- GitHub Actions CI/CD pipeline
- Modern project structure and configuration
Build artifacts:
- Windows MSI and NSIS installers
- Cross-platform executable
- Automated release workflow
Tech stack:
- Frontend: React 18 + TypeScript + Vite
- Backend: Rust + Tauri 2.0
- Package management: PNPM Workspace + Cargo Workspace
- CI/CD: GitHub Actions
2025-07-13 17:57:52 +08:00