mixvideo-v2/apps/desktop
imeepos 0898b4b9e2 feat: 为MaterialSegmentView添加视频片段缩略图显示功能
缩略图显示功能:
- 使用视频首帧生成缩略图:取片段开始时间作为缩略图时间戳
- 智能缓存机制:避免重复生成相同片段的缩略图
- 异步加载:缩略图生成不阻塞界面渲染
- 优雅降级:生成失败时显示默认视频图标

 ThumbnailDisplay组件:
- 独立的缩略图显示组件,职责单一
- 加载状态指示:显示旋转动画表示正在生成缩略图
- 错误处理:图片加载失败时自动回退到默认图标
- 响应式设计:160x120像素缩略图,适配卡片布局

 技术实现:
- 利用现有generate_video_thumbnail命令生成缩略图
- Map缓存机制:segmentId -> thumbnailUrl映射
- file://协议:本地文件访问支持
- useEffect钩子:组件挂载时自动加载缩略图

 用户体验优化:
- 视觉丰富:片段卡片显示实际视频内容预览
- 快速识别:用户可以通过缩略图快速识别视频内容
- 性能优化:缓存机制避免重复生成
- 加载反馈:清楚的加载状态提示

 功能特点:
- 首帧缩略图:使用片段开始时间的首帧作为预览
- 自动生成:无需手动操作,自动为每个片段生成缩略图
- 内存缓存:同一会话中避免重复生成
- 错误恢复:生成失败时显示默认图标,不影响其他功能

现在MaterialSegmentView提供了更加直观的视觉体验:
1. 每个片段卡片显示实际的视频首帧缩略图
2. 用户可以快速预览视频内容
3. 加载过程有清楚的视觉反馈
4. 生成失败时有优雅的降级处理
2025-07-15 22:01:41 +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 feat: 为MaterialSegmentView添加视频片段缩略图显示功能 2025-07-15 22:01:41 +08:00
src-tauri feat: 为MaterialSegmentView添加视频片段播放功能 2025-07-15 21:57:58 +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
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
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 Initial commit: MixVideo Desktop v0.1.0 2025-07-13 17:57:52 +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 设置