问题修复: - isLoadingProxy状态被定义但在UI中未使用 - 代理加载过程缺乏用户反馈 - 加载状态管理逻辑不够清晰 改进内容: 1. UI显示优化: - 在加载动画中区分普通加载和代理加载 - 显示'正在获取视频流...'提示代理加载状态 - 代理加载时隐藏悬浮按钮避免误操作 2. 状态管理优化: - 简化初始加载逻辑,移除不必要的try-catch - 在视频错误时正确切换加载状态 - 代理加载开始时停止普通加载状态 3. 用户体验改进: - 明确区分两种加载状态的视觉反馈 - 提供更详细的加载进度信息 - 避免在代理加载时显示操作按钮 技术细节: - 加载条件: (isLoading || isLoadingProxy) - 按钮显示条件: !isLoading && !isLoadingProxy && !error - 状态切换: setIsLoading(false) setIsLoadingProxy(true) - 错误处理: 代理失败时正确清理所有加载状态 |
||
|---|---|---|
| .. | ||
| docs | ||
| public | ||
| scripts | ||
| src | ||
| src-tauri | ||
| test_data | ||
| .gitignore | ||
| AI_CLASSIFICATION_STATS_FIX.md | ||
| CHANGELOG.md | ||
| DATABASE_OPTIMIZATION_GUIDE.md | ||
| FEATURE_MATERIAL_TYPE_DISPLAY.md | ||
| OUTFIT_PHOTO_GENERATION_IMPLEMENTATION.md | ||
| README.md | ||
| TOOLS_FEATURE.md | ||
| index.html | ||
| package.json | ||
| postcss.config.js | ||
| tailwind.config.js | ||
| test_parallel_processing.md | ||
| 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 等)