imeepos c7f9c9f4bb feat: 为MaterialCard添加缩略图功能并优化UI展示
- 为Material数据模型添加thumbnail_path字段
- 实现get_material_thumbnail_base64 API命令支持Material缩略图生成
- 创建MaterialThumbnail组件,支持懒加载和缓存机制
- 重新设计MaterialCard布局,使用缩略图替换文件类型图标
- 精简MaterialCard信息展示,将详细信息移到可折叠区域
- 优化按钮布局,使界面更加紧凑
- 简化切分片段显示方式,提升用户体验
- 修复数据库DateTime解析问题,支持SQLite和RFC3339两种格式
- 添加数据库迁移支持thumbnail_path字段
- 遵循promptx/tauri-desktop-app-expert开发规范
2025-07-16 00:25:08 +08:00
2025-07-13 09:59:41 +00:00

MixVideo

🎬 MixVideo - 基于 Tauri 构建的跨平台多媒体处理桌面应用

特性

  • 🚀 跨平台: 支持 Windows、macOS、Linux
  • 高性能: 基于 Rust + Tauri 2.0 构建
  • 🎨 现代界面: React + TypeScript + Vite
  • 🔧 可扩展: 支持多语言微服务架构
  • 📦 多包管理: PNPM Workspace + Cargo Workspace

🏗️ 项目结构

mixvideo/
├── apps/
│   └── desktop/           # Tauri 桌面应用
├── packages/
│   ├── services/          # 微服务 (Python, Rust)
│   └── shared/            # 共享代码和协议
├── tools/                 # 开发工具
└── docs/                  # 文档

🚀 快速开始

环境要求

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

安装依赖

pnpm install

开发模式

# 启动桌面应用开发模式
pnpm tauri:dev

# 或者直接在 apps/desktop 目录下
cd apps/desktop
pnpm dev

构建应用

# 构建生产版本
pnpm tauri:build

# 或者在 apps/desktop 目录下
cd apps/desktop
pnpm tauri build

📦 发布

手动发布

  1. 构建应用: pnpm tauri:build
  2. 安装包位置: target/release/bundle/
    • Windows: .msi.exe 安装包
    • macOS: .dmg.app
    • Linux: .deb, .rpm.AppImage

自动发布 (GitHub Actions)

  1. 创建新的 Git 标签:

    git tag v0.1.0
    git push origin v0.1.0
    
  2. GitHub Actions 将自动构建并创建 Release

🛠️ 技术栈

桌面应用

  • 前端: React 18 + TypeScript + Vite
  • 后端: Rust + Tauri 2.0
  • 状态管理: 待定
  • UI 组件: 待定

微服务 (计划中)

  • Python 服务: FastAPI + gRPC
  • Rust 服务: Tonic + gRPC
  • 通信协议: Protocol Buffers

📝 开发指南

推荐 IDE

  • VS Code + 扩展:
    • Tauri
    • rust-analyzer
    • ES7+ React/Redux/React-Native snippets

代码规范

  • Rust: 使用 cargo fmtcargo clippy
  • TypeScript: 使用 ESLint + Prettier
  • Python: 使用 Black + isort + flake8

🤝 贡献

欢迎提交 Issue 和 Pull Request

📄 许可证

MIT License - 详见 LICENSE 文件

👨‍💻 作者

imeepos - GitHub

Description
No description provided
Readme 8.1 MiB
Languages
Rust 51.1%
TypeScript 47.4%
CSS 0.8%
Python 0.4%
JavaScript 0.2%