Commit Graph

7 Commits

Author SHA1 Message Date
imeepos 6f888295bb feat: 添加素材导入时的模特绑定功能
- 在 CreateMaterialRequest 中添加 model_id 字段
- 更新 Material 实体添加 new_with_model 方法支持创建时绑定模特
- 修改 MaterialService 和 AsyncMaterialService 支持导入时模特绑定
- 在 MaterialImportDialog 中添加模特选择下拉框
- 支持在导入素材时可选择绑定到特定模特
- 遵循 Tauri 开发规范的组件设计和业务逻辑分层
2025-07-15 12:59:27 +08:00
imeepos ae854ef871 fix: 完善前端事件处理逻辑
- 移除handleStartImport中的手动完成状态设置
- 完全依赖事件监听器处理导入完成状态
- 优化日志输出和错误处理
- 确保异步导入流程的一致性
2025-07-14 00:00:39 +08:00
imeepos 44b4084eb9 fix: 修复异步导入业务逻辑和loading状态
问题修复:
1. 异步导入没有调用完整业务逻辑 - 只创建了Material记录,没有处理元数据、场景检测、视频切分
2. 导入动画一闪而逝 - 缺少实际的处理时间
3. 后台无素材处理日志 - 简化版本跳过了所有业务处理

解决方案:
1. 替换简化处理函数为完整业务逻辑处理
2. 调用MaterialService的完整处理流程
3. 添加详细的处理日志和进度事件
4. 添加适当延迟确保用户看到loading动画
5. 修复前端事件处理逻辑

技术改进:
- process_single_file_with_full_logic: 完整的素材处理流程
- 元数据提取、场景检测、视频切分全流程
- 详细的tracing日志输出
- 实时进度事件发送
- 正确的错误处理和状态更新
2025-07-13 23:57:56 +08:00
imeepos 91062ccf4c feat: 优化前端loading状态和用户体验
- 新增MaterialCardSkeleton骨架屏组件
- 优化MaterialImportDialog的进度显示
- 添加详细的导入进度动画和状态指示器
- 改进项目统计信息的loading状态
- 新增LoadingState通用加载组件
- 优化按钮状态和禁用逻辑
- 改进空状态显示和交互

UI/UX改进:
1. 骨架屏loading:替换简单spinner为详细骨架屏
2. 进度指示器:添加阶段指示器和动画效果
3. 状态反馈:实时显示当前处理文件和进度
4. 按钮状态:导入过程中禁用相关按钮
5. 视觉优化:添加图标、颜色和动画效果
2025-07-13 23:51:39 +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 d36475ff35 feat: 大幅增强MaterialCard显示信息 - 添加丰富的统计信息
功能增强:
为素材列表的MaterialCard添加了更多详细的统计信息,
让用户能够更全面地了解每个素材的详细情况。

新增信息展示:
1. 基本信息:
   - 文件大小(格式化显示,如 MB/GB)
   - 创建时间(本地化日期格式)

2. 视频元数据(蓝色主题):
   - 视频时长(mm:ss格式)
   - 分辨率(宽高)
   - 比特率(自动单位转换)
   - 帧率(fps)
   - 编解码器
   - 音频信息(如果有)

3. 音频元数据(绿色主题):
   - 音频时长
   - 比特率
   - 采样率
   - 音频编解码器

4. 图片元数据(紫色主题):
   - 图片分辨率
   - 图片格式
   - DPI信息(如果有)

5. 处理统计信息(灰色主题):
   - 场景检测结果(场景数量)
   - 切分片段数量
   - 处理状态

技术实现:
1. 辅助函数:
   - formatTime: 时间格式化(秒转mm:ss)
   - formatFileSize: 文件大小格式化
   - formatBitrate: 比特率格式化
   - formatResolution: 分辨率格式化
   - formatDate: 日期本地化格式化

2. 响应式布局:
   - 使用Grid布局优化信息展示
   - 不同类型元数据使用不同颜色主题
   - 图标+文字的直观展示方式

3. 条件渲染:
   - 根据素材类型显示对应的元数据
   - 智能检测元数据存在性
   - 优雅处理缺失信息

用户体验提升:
 一目了然的素材详细信息
 颜色编码的信息分类
 直观的图标标识
 格式化的数据展示
 响应式的布局设计

现在用户可以在素材列表中快速了解每个文件的详细技术参数和处理状态!
2025-07-13 22:20:01 +08:00
imeepos 036488e13b fix: 完善前端组件和类型定义
- 添加素材导入对话框组件
- 实现项目详情页面完整功能
- 添加素材状态管理store
- 完善TypeScript类型定义
- 更新项目列表路由导航
2025-07-13 20:49:04 +08:00