Commit Graph

16 Commits

Author SHA1 Message Date
imeepos 3cd79a2f5d 修复穿搭图片功能数据库表缺失和统计查询NULL值问题
- 在app_state.rs中添加OutfitImageRepository.init_tables()调用,确保穿搭图片相关表在应用启动时正确创建
- 修复get_stats_by_model_id方法中的SQL查询,使用COALESCE函数处理SUM聚合函数在空表时返回NULL的问题
- 解决'no such table: outfit_image_records'和'Invalid column type Null'错误
- 确保穿搭图片统计功能在没有数据时也能正常返回0值而不是NULL
2025-07-30 15:44:23 +08:00
imeepos f92d9a7c39 fix: 优化markdown解析器 2025-07-22 15:04:37 +08:00
imeepos 4293fbb4c7 fix: 重构ConversationRepository使用只读连接避免锁竞争
- 修改ConversationRepository使用Database而不是直接的连接
- 为读操作使用专用只读连接,避免与写操作的锁竞争
- 实现非阻塞连接获取,避免查询卡住问题
- 添加连接获取失败时的降级处理
- 优化数据库访问性能,提高并发能力

核心改进:
 只读连接 - 查询操作使用专用只读连接
 非阻塞获取 - 使用try_get_read_connection避免阻塞
 降级处理 - 连接不可用时返回默认值而不是阻塞
 性能优化 - 减少锁竞争,提高并发性能
 错误恢复 - 连接问题时的优雅降级

这应该解决多轮RAG查询卡在get_conversation_history的问题
2025-07-22 11:26:48 +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 da4aeaccb9 完成模特动态页面开发,移除标题和描述字段 2025-07-18 16:49:08 +08:00
imeepos d5ef9851cd feat: 实现模特详情页视频生成功能
- 新增模特详情页组件,支持照片上传和视频生成
- 实现视频生成数据模型和仓库层
- 集成Dify API进行视频生成
- 添加云存储上传功能,自动转换S3 URL为CDN地址
- 实现统一的删除确认弹框,替换window.confirm
- 支持照片和视频生成任务的删除功能
- 优化UI/UX设计,符合前端开发规范
- 添加完整的错误处理和状态管理

核心功能:
 模特照片上传到云端
 多选照片进行视频生成
 实时任务状态跟踪
 视频生成历史记录
 统一删除确认对话框
 响应式设计和优雅动画
2025-07-16 19:39:44 +08:00
imeepos 8d8e98188d fix: 添加连接池功能 2025-07-15 18:43:22 +08:00
imeepos 54630ea2ff fix: 修复数据库链接锁问题 2025-07-15 17:11:44 +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 a743bedd98 fix: 彻底修复数据库重复初始化问题
问题修复:
- 使用全局静态OnceLock确保数据库单例模式
- 移除AppState中的重复数据库初始化逻辑
- 确保整个应用生命周期只有一个数据库实例

 验证结果:
- 测试确认数据库初始化日志只出现一次
- 解决了启动时循环输出的问题
- 提升了应用启动性能

这个修复彻底解决了数据库重复初始化导致的日志循环输出问题。
2025-07-14 13:00:54 +08:00
imeepos 849dc8317c fix: 修复数据库重复初始化问题
问题修复:
- 修复AppState.get_database()方法重复创建数据库实例的问题
- 使用OnceLock确保数据库单例模式
- 修复video_classification_commands中重复调用get_database()的问题

 技术改进:
- 避免数据库循环初始化导致的日志重复输出
- 提升应用启动性能
- 确保数据库连接的一致性

这个修复解决了启动时数据库初始化日志循环输出的问题。
2025-07-14 12:56: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 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 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