imeepos
|
d259961ade
|
test: 添加按顺序匹配逻辑的单元测试
- 测试只有用户选中的分类参与匹配
- 测试权重排序逻辑(按权重降序)
- 测试分类过滤逻辑(只处理选中的分类)
- 测试匹配顺序(按权重从高到低尝试匹配)
- 测试回退机制(高权重无素材时回退到低权重)
- 测试未选中分类不参与匹配(即使有可用素材)
- 验证按顺序匹配规则的核心逻辑正确性
|
2025-07-25 18:01:32 +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
|
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
|
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
|
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
|
3f90013a47
|
feat: 完善素材导入模特绑定功能并添加测试
- 添加测试验证 CreateMaterialRequest 的 model_id 字段
- 添加测试验证 Material::new_with_model 方法
- 更新测试导入以包含新的 model_id 字段
- 确保数据结构和方法的正确性
|
2025-07-15 13:03:49 +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
|
954c8a6a1c
|
fix: 清理调试日志并添加自动处理测试
- 移除多余的调试日志,保留必要的错误日志
- 添加test_material_import_with_auto_process测试验证修复
- 确保素材状态正确从Pending更新到Completed
- 测试通过,确认修复有效
修复总结:
素材导入时自动处理功能已启用
状态正确更新:Pending Processing Completed
添加了完整的测试覆盖
错误处理和日志记录完善
|
2025-07-13 20:55:16 +08:00 |
imeepos
|
fdb87bf64e
|
feat: 实现项目详情页面和素材导入功能
- 添加项目详情页面路由和组件
- 实现素材数据模型和数据库表结构
- 集成FFmpeg进行视频元数据提取和场景检测
- 实现视频自动切分功能(基于场景检测和时长限制)
- 开发素材导入UI界面和进度显示
- 添加素材管理相关的Tauri命令
- 完善错误处理和性能优化
- 添加单元测试覆盖核心功能
主要功能:
- 项目详情页面展示项目信息和素材统计
- 素材导入支持多种格式(视频、音频、图片、文档)
- MD5重复检测避免重复导入
- FFmpeg集成提取视频/音频元数据
- 智能场景检测和视频切分
- 二次切分处理超长视频片段
- 响应式UI设计和用户友好的导入流程
|
2025-07-13 20:45:05 +08:00 |