删除冗余代码,美化UI界面

This commit is contained in:
2026-02-06 14:49:40 +06:00
parent e3f6ddf851
commit 03110c786a
7 changed files with 1177 additions and 2399 deletions

247
TESTING_FFMPEG.md Normal file
View File

@@ -0,0 +1,247 @@
# FFmpeg 安装测试指南
## 测试目标
测试在没有 FFmpeg 的电脑上全新安装该软件后,第一次启动时的 FFmpeg 自动安装流程。
## 测试方法
### 方法 1临时重命名 FFmpeg推荐
如果你的电脑已经安装了 FFmpeg可以临时重命名它来模拟未安装的情况
#### macOS/Linux:
```bash
# 1. 查找 FFmpeg 位置
which ffmpeg
# 2. 临时重命名(需要 sudo
# 如果在 /usr/local/bin/ffmpeg
sudo mv /usr/local/bin/ffmpeg /usr/local/bin/ffmpeg.backup
sudo mv /usr/local/bin/ffprobe /usr/local/bin/ffprobe.backup
# 如果在 /opt/homebrew/bin/ffmpeg (Apple Silicon)
sudo mv /opt/homebrew/bin/ffmpeg /opt/homebrew/bin/ffmpeg.backup
sudo mv /opt/homebrew/bin/ffprobe /opt/homebrew/bin/ffprobe.backup
# 3. 测试完成后恢复
sudo mv /usr/local/bin/ffmpeg.backup /usr/local/bin/ffmpeg
sudo mv /usr/local/bin/ffprobe.backup /usr/local/bin/ffprobe
```
#### Windows:
```cmd
# 1. 查找 FFmpeg 位置
where ffmpeg
# 2. 临时重命名
ren "C:\path\to\ffmpeg.exe" "ffmpeg.exe.backup"
ren "C:\path\to\ffprobe.exe" "ffprobe.exe.backup"
# 3. 测试完成后恢复
ren "C:\path\to\ffmpeg.exe.backup" "ffmpeg.exe"
ren "C:\path\to\ffprobe.exe.backup" "ffprobe.exe"
```
### 方法 2删除应用数据目录
删除应用存储的 FFmpeg
#### macOS:
```bash
rm -rf ~/Library/Application\ Support/FormatConverter/ffmpeg
```
#### Windows:
```cmd
del /F /Q "%LOCALAPPDATA%\FormatConverter\ffmpeg.exe"
```
#### Linux:
```bash
rm -rf ~/.local/share/format-converter/ffmpeg
```
### 方法 3使用虚拟机或容器
最彻底的测试方法:
1. 使用虚拟机VirtualBox、VMware、Parallels
2. 使用 Docker 容器
3. 使用云端测试环境
## 测试流程
### 1. 启动应用
```bash
npm run dev
```
### 2. 观察初始化过程
应该看到以下流程:
1. **应用启动**
- 显示主页面
- 底部状态栏显示"检测编码器..."
2. **检测 FFmpeg**
- 控制台输出:`正在检测 FFmpeg...`
- 控制台输出:`调用 check_ffmpeg_status...`
3. **弹出安装引导**
- 如果未检测到 FFmpeg自动弹出安装引导弹窗
- 弹窗标题:🔧 需要安装 FFmpeg
- 显示两个选项:
- 🚀 自动安装(推荐)
- 📝 手动安装
4. **点击"开始安装"**
- 弹窗关闭
- 切换到安装页面
- 显示进度条和安装信息
5. **安装过程**
- 0-5%: 准备下载 FFmpeg...
- 5-50%: 正在下载 FFmpeg... (显示下载进度)
- 50-90%: 正在解压...
- 90-95%: 正在安装...
- 95-100%: 正在清理...
- 100%: FFmpeg 安装完成
6. **安装完成**
- 自动返回主页面
- 底部状态栏显示"编码器"(绿色点)
- 鼠标悬停显示 FFmpeg 版本信息
### 3. 验证安装
安装完成后,验证功能:
1. **选择文件**
- 点击或拖拽文件到主页面
- 应该能正常分析文件
2. **转换测试**
- 选择一个小文件进行转换
- 观察转换过程是否正常
3. **检查安装位置**
```bash
# macOS
ls -la ~/Library/Application\ Support/FormatConverter/
# Windows
dir "%LOCALAPPDATA%\FormatConverter\"
# Linux
ls -la ~/.local/share/format-converter/
```
## 预期结果
### 成功场景
- ✅ 自动检测到 FFmpeg 未安装
- ✅ 弹出安装引导弹窗
- ✅ 点击"开始安装"后显示安装页面
- ✅ 显示实时下载和安装进度
- ✅ 安装完成后自动返回主页面
- ✅ 状态栏显示"编码器"(绿色)
- ✅ 可以正常使用转换功能
### 失败场景处理
- ❌ 网络连接失败:显示错误信息,提示检查网络
- ❌ 下载失败:显示错误信息,提供重试选项
- ❌ 解压失败:显示错误信息,提示手动安装
- ❌ 权限不足:显示错误信息,提示以管理员身份运行
## 常见问题
### Q: 点击"稍后安装"后怎么办?
A: 弹窗关闭,但状态栏仍显示"编码器未安装"。用户可以:
- 手动安装 FFmpeg 到系统 PATH
- 重启应用,会再次弹出安装引导
### Q: 安装失败怎么办?
A: 应用会显示错误信息。用户可以:
1. 检查网络连接
2. 点击重试
3. 选择手动安装 FFmpeg
### Q: 如何手动安装 FFmpeg
A:
- **macOS**: `brew install ffmpeg`
- **Windows**: 从 [ffmpeg.org](https://ffmpeg.org/download.html) 下载并添加到 PATH
- **Linux**: `sudo apt install ffmpeg` 或对应包管理器
### Q: 安装后在哪里?
A:
- **macOS**: `~/Library/Application Support/FormatConverter/ffmpeg`
- **Windows**: `%LOCALAPPDATA%\FormatConverter\ffmpeg.exe`
- **Linux**: `~/.local/share/format-converter/ffmpeg`
## 调试技巧
### 查看控制台日志
```bash
# 开发模式下,控制台会输出详细日志
npm run dev
# 查看后端日志
# 在终端中查看 Rust 输出
```
### 手动触发安装
在浏览器控制台中执行:
```javascript
// 显示安装引导
document.getElementById('ffmpeg-install-guide').classList.add('active');
// 直接开始安装
installFFmpeg();
```
### 检查 FFmpeg 状态
在浏览器控制台中执行:
```javascript
// 检查 FFmpeg 状态
window.tauriInvoke('check_ffmpeg_status').then(console.log);
// 获取 FFmpeg 版本
// 返回: [installed: boolean, version: string | null]
```
## 测试清单
- [ ] 应用启动时自动检测 FFmpeg
- [ ] 未安装时弹出安装引导弹窗
- [ ] 安装引导 UI 显示正常
- [ ] 点击"开始安装"切换到安装页面
- [ ] 显示实时下载进度
- [ ] 显示解压和安装进度
- [ ] 安装完成后返回主页面
- [ ] 状态栏显示"编码器"(绿色)
- [ ] 可以正常选择和转换文件
- [ ] 点击"稍后安装"可以关闭弹窗
- [ ] 安装失败时显示错误信息
- [ ] 重启应用后不再弹出安装引导(已安装)
## 注意事项
1. **网络要求**: 自动安装需要网络连接,下载大小约 50-100 MB
2. **权限要求**: 某些系统可能需要管理员权限
3. **磁盘空间**: 确保有足够的磁盘空间(至少 200 MB
4. **防火墙**: 确保防火墙允许应用访问网络
5. **代理设置**: 如果使用代理,可能需要配置系统代理
## 恢复测试环境
测试完成后,记得恢复 FFmpeg
```bash
# macOS/Linux
sudo mv /usr/local/bin/ffmpeg.backup /usr/local/bin/ffmpeg
sudo mv /usr/local/bin/ffprobe.backup /usr/local/bin/ffprobe
# Windows
ren "C:\path\to\ffmpeg.exe.backup" "ffmpeg.exe"
ren "C:\path\to\ffprobe.exe.backup" "ffprobe.exe"
```