42c5dcef8eeac4a24677dc0765e14ee6d7acbce0
新功能: - 项目创建:支持项目名称和本地路径绑定 - 项目列表:简洁大方的卡片式布局展示 - 项目编辑:支持项目信息修改 - 项目删除:支持项目软删除 - 路径选择:集成系统文件夹选择对话框 - 路径验证:实时验证项目路径有效性 架构设计: - 遵循 Tauri 开发规范的四层架构设计 - 基础设施层:数据库管理、文件系统操作 - 数据访问层:项目仓库模式、SQLite 集成 - 业务逻辑层:项目服务、数据验证 - 表示层:Tauri 命令、前端组件 UI/UX: - 使用 Tailwind CSS 实现简洁大方的设计风格 - 响应式布局适配不同屏幕尺寸 - 流畅的动画效果和交互反馈 - 完整的错误处理和用户提示 技术栈: - 后端:Rust + Tauri + SQLite + 四层架构 - 前端:React + TypeScript + Tailwind CSS + Zustand - 测试:Rust 单元测试 + Vitest 前端测试 - 工具:pnpm 包管理 + 类型安全保证 质量保证: - Rust 单元测试覆盖核心业务逻辑 - 前端组件测试覆盖主要 UI 组件 - TypeScript 严格模式确保类型安全 - 遵循开发规范的代码质量标准 核心特性: - 项目管理:创建、查看、编辑、删除项目 - 路径管理:自动验证、绝对路径转换 - 数据持久化:SQLite 本地数据库存储 - 状态管理:Zustand 响应式状态管理 - 错误处理:完整的错误捕获和用户反馈
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
📦 发布
手动发布
- 构建应用:
pnpm tauri:build - 安装包位置:
target/release/bundle/- Windows:
.msi和.exe安装包 - macOS:
.dmg和.app包 - Linux:
.deb,.rpm和.AppImage
- Windows:
自动发布 (GitHub Actions)
-
创建新的 Git 标签:
git tag v0.1.0 git push origin v0.1.0 -
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 fmt和cargo clippy - TypeScript: 使用 ESLint + Prettier
- Python: 使用 Black + isort + flake8
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📄 许可证
MIT License - 详见 LICENSE 文件
👨💻 作者
imeepos - GitHub
Description
Languages
Rust
52%
TypeScript
47%
CSS
0.8%