mixvideo-v2/apps/desktop
imeepos 92ff1ee962 fix: 修复素材匹配时未加载片段信息的关键问题
## 问题根因
MaterialMatchingService中直接调用material_repo.get_by_project_id()方法,
该方法只返回素材基本信息,不包含segments字段,导致:
1. material.segments.is_empty()始终为true
2. 匹配逻辑创建虚拟片段,使用原始素材完整时长
3. 10.042秒的原始素材与1.267秒的模板片段比较,超出692.8%

## 解决方案
将所有调用material_repo.get_by_project_id()的地方改为:
MaterialService::get_project_materials()

该方法会:
1. 调用repository.get_by_project_id()获取素材基本信息
2. 为每个素材调用repository.get_segments()加载片段信息
3. 返回包含完整片段信息的素材列表

## 修改位置
1. match_materials方法 - 主要匹配逻辑
2. can_template_be_fully_matched方法 - 模板匹配检查
3. match_materials_with_used_segments方法 - 批量匹配逻辑

## 预期效果
- material.segments不再为空
- 匹配逻辑使用真实的切分片段而不是虚拟片段
- 片段时长将是合理的切分后时长(如1-5秒)而不是原始素材时长
- 时长匹配评分将更加准确

这是一个关键修复,解决了匹配逻辑的根本问题。
2025-07-18 13:48:34 +08:00
..
docs feat: 实现循环匹配功能优化 2025-07-17 14:53:14 +08:00
public Initial commit: MixVideo Desktop v0.1.0 2025-07-13 17:57:52 +08:00
scripts feat: 实现项目-模板绑定和素材-模特绑定管理功能 2025-07-15 12:50:30 +08:00
src fix: 修复一键匹配失败入库和成功率超过100%的问题 2025-07-18 13:16:45 +08:00
src-tauri fix: 修复素材匹配时未加载片段信息的关键问题 2025-07-18 13:48:34 +08:00
test_data feat: 添加便捷小工具页面 - AI检索图片/数据清洗功能 2025-07-17 15:29:59 +08:00
.gitignore Initial commit: MixVideo Desktop v0.1.0 2025-07-13 17:57:52 +08:00
CHANGELOG.md chore: 发布 v0.1.3 补丁版本 2025-07-13 23:09:57 +08:00
DATABASE_OPTIMIZATION_GUIDE.md fix: 数据库链接 锁问题 2025-07-15 18:10:54 +08:00
README.md Initial commit: MixVideo Desktop v0.1.0 2025-07-13 17:57:52 +08:00
TOOLS_FEATURE.md feat: 添加便捷小工具页面 - AI检索图片/数据清洗功能 2025-07-17 15:29:59 +08:00
index.html Initial commit: MixVideo Desktop v0.1.0 2025-07-13 17:57:52 +08:00
package.json feat: 添加项目详情/素材管理的MaterialSegment聚合视图功能 2025-07-15 16:49:08 +08:00
postcss.config.js feat: 实现项目管理功能 v0.1.1 2025-07-13 18:46:58 +08:00
tailwind.config.js feat: UI美化和UX改进 v0.1.5 2025-07-14 00:23:58 +08:00
test_parallel_processing.md feat: 实现AI视频分类10个并发任务同时运行 2025-07-18 11:32:24 +08:00
tsconfig.json Initial commit: MixVideo Desktop v0.1.0 2025-07-13 17:57:52 +08:00
tsconfig.node.json Initial commit: MixVideo Desktop v0.1.0 2025-07-13 17:57:52 +08:00
vite.config.ts feat: 实现模特详情页视频生成功能 2025-07-16 19:39:44 +08:00
vitest.config.ts feat: 实现项目-模板绑定和素材-模特绑定管理功能 2025-07-15 12:50:30 +08:00

README.md

@mixvideo/desktop

MixVideo 桌面应用 - 基于 Tauri + React + TypeScript 构建的跨平台桌面应用。

🚀 快速开始

开发环境要求

  • Node.js 18+
  • Rust 1.70+
  • PNPM 8+

安装依赖

pnpm install

开发模式

pnpm dev
# 或
pnpm tauri:dev

构建应用

pnpm tauri:build

📁 项目结构

apps/desktop/
├── src/                    # React 前端源码
│   ├── components/         # React 组件
│   ├── pages/             # 页面组件
│   ├── hooks/             # 自定义 Hooks
│   ├── services/          # API 服务
│   ├── types/             # TypeScript 类型
│   └── utils/             # 工具函数
├── src-tauri/             # Rust 后端源码
│   ├── src/               # Rust 源码
│   ├── Cargo.toml         # Rust 依赖配置
│   └── tauri.conf.json    # Tauri 配置
├── public/                # 静态资源
└── package.json           # 前端依赖配置

🛠️ 技术栈

  • 前端: React 18 + TypeScript + Vite
  • 后端: Rust + Tauri 2.0
  • UI: 待定 (可选择 Ant Design、Material-UI 等)
  • 状态管理: 待定 (可选择 Zustand、Redux Toolkit 等)

📝 开发指南

推荐 IDE 设置