- 修复重复资源使用问题: * 修改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表 * 保持向后兼容性
@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 等)