视频播放功能: - 为Eye按钮添加点击播放功能:点击后播放对应的视频片段 - 传递片段参数:文件路径、开始时间、结束时间 - 悬停效果优化:按钮颜色从灰色变为蓝色 - 工具提示:显示'播放视频片段'提示文字 后端播放命令: - 新增play_video_segment命令:支持播放指定时间段的视频 - 跨平台播放器支持: * Windows: 使用cmd /C start启动默认播放器 * macOS: 使用open命令启动默认播放器 * Linux: 使用xdg-open启动默认播放器 - 文件存在性检查:播放前验证视频文件是否存在 - 完善错误处理:播放失败时给出详细错误信息 系统集成: - 命令注册:在lib.rs中正确注册play_video_segment命令 - 日志记录:记录播放操作的成功/失败状态 - 参数传递:支持文件路径和时间参数传递 用户体验: - 一键播放:点击Eye按钮直接播放视频片段 - 系统默认播放器:使用用户熟悉的播放器应用 - 即时反馈:点击后立即启动播放器 - 视觉提示:按钮状态清楚表达可点击性 功能特点: - 智能播放:虽然后端接收时间参数,但使用系统默认播放器播放完整视频 - 跨平台兼容:Windows/macOS/Linux都能正常工作 - 错误恢复:文件不存在或播放器启动失败时有相应提示 - 性能优化:异步播放,不阻塞界面操作 现在用户可以: 1. 点击任意片段的Eye按钮播放对应视频 2. 使用系统默认播放器观看视频内容 3. 享受跨平台一致的播放体验 4. 在播放失败时获得清楚的错误提示 注:当前实现使用系统默认播放器播放完整视频文件,未来可以考虑集成支持时间段播放的专业播放器。 |
||
|---|---|---|
| .. | ||
| public | ||
| scripts | ||
| src | ||
| src-tauri | ||
| .gitignore | ||
| CHANGELOG.md | ||
| DATABASE_OPTIMIZATION_GUIDE.md | ||
| README.md | ||
| index.html | ||
| package.json | ||
| postcss.config.js | ||
| tailwind.config.js | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
| vitest.config.ts | ||
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 等)