# 故障排除

## 故障排除

本文档帮助您解决使用微信视频号下载助手时遇到的常见问题。

### 证书相关问题

#### 证书安装失败

**症状**：程序提示 "证书安装失败" 或 "权限不足"

**可能原因**：

* 未以管理员身份运行（Windows）
* 系统安全策略限制
* 证书文件损坏

**解决方案**：

1. **以管理员身份运行**

   ```bash
   # Windows：右键点击程序，选择"以管理员身份运行"
   # 或使用管理员权限的 PowerShell/CMD
   ```
2. **手动安装证书**
   * 找到 `downloads/SunnyRoot.cer` 文件
   * 双击证书文件
   * 选择"安装证书"
   * 选择"本地计算机" → "将所有证书放入以下存储" → "受信任的根证书颁发机构"
   * 完成安装后重新打开视频号
3. **检查证书文件**
   * 确认 `downloads/SunnyRoot.cer` 文件存在且完整
   * 如果文件损坏，重新运行程序生成新证书

#### 卸载证书

**方法**：

```bash
wx_channel.exe --uninstall
```

如果卸载失败，可以手动删除：

* Windows：证书管理器 → 受信任的根证书颁发机构 → 找到 "SunnyNet" 证书并删除
* macOS：钥匙串访问 → 系统 → 找到 "SunnyNet" 证书并删除

### 代理连接问题

#### 代理无法启动

**症状**：程序提示 "启动代理服务失败" 或端口被占用

**可能原因**：

* 端口被其他程序占用
* 防火墙阻止
* 权限不足

**解决方案**：

1. **检查端口占用**

   ```bash
   # Windows
   netstat -ano | findstr :2025
   ```
2. **更改端口**

   ```bash
   wx_channel.exe -p 8080
   ```
3. **检查防火墙**
   * Windows：Windows Defender 防火墙 → 允许应用通过防火墙
4. **以管理员身份运行**（Windows）

### 下载问题

#### 视频无法下载

**症状**：点击下载按钮后没有反应或下载失败

**可能原因**：

* 脚本未正确注入
* API 请求失败
* 文件权限问题

**解决方案**：

1. **检查脚本注入**
   * 查看日志面板
   * 确认是否注入注入成功
2. **检查 API 连接**
   * 查看面板网络请求
   * 确认 `__wx_channels_api/*` 请求是否成功
   * 检查是否有 CORS 错误
3. **检查文件权限**
   * 确认 `downloads/` 目录有写入权限
   * 检查磁盘空间是否充足
4. **查看日志**
   * 检查 `logs/wx_channel.log` 文件
   * 查看是否有错误信息

#### 下载文件损坏

**症状**：下载的视频文件无法播放

**可能原因**：

* 下载过程中断
* 分片上传失败
* 解密失败

**解决方案**：

1. **重新下载**
   * 删除损坏的文件
   * 重新下载视频
2. **检查分片上传**
   * 查看日志确认所有分片是否上传成功
   * 检查 `downloads/.uploads/` 目录
3. **检查解密**
   * 确认视频是否需要解密
   * 查看日志中的解密相关信息

#### 批量下载失败

**症状**：批量下载时部分或全部视频失败

**可能原因**：

* 网络问题
* 并发过高
* 视频链接失效

**解决方案**：

1. **降低并发数**

   ```bash
   # 设置环境变量降低并发
   $env:WX_CHANNEL_DOWNLOAD_CONCURRENCY=1
   ```
2. **查看失败清单**
   * 使用 `batch_failed` API 导出失败清单
   * 查看失败原因
3. **重试失败项**
   * 根据失败清单重新下载

### 配置问题

#### 环境变量不生效

**症状**：设置了环境变量但程序未使用

**可能原因**：

* 环境变量设置方式错误
* 程序已启动，需要重启
* 变量名拼写错误

**解决方案**：

1. **确认变量名**
   * 环境变量名必须以 `WX_CHANNEL_` 开头
   * 使用大写字母
2. **正确设置环境变量**

   ```bash
   # Windows PowerShell
   $env:WX_CHANNEL_PORT=8080

   # Windows CMD
   set WX_CHANNEL_PORT=8080

   # Linux/macOS
   export WX_CHANNEL_PORT=8080
   ```
3. **重启程序**
   * 环境变量需要在程序启动前设置
   * 设置后重新启动程序

#### 日志文件未生成

**症状**：程序运行但未生成日志文件

**可能原因**：

* 日志目录不存在
* 文件权限问题
* 日志配置错误

**解决方案**：

1. **检查日志配置**

   ```bash
   # 确认日志文件路径
   $env:WX_CHANNEL_LOG_FILE="logs/wx_channel.log"
   ```
2. **创建日志目录**

   ```bash
   # 确保 logs 目录存在
   mkdir logs
   ```
3. **检查权限**
   * 确认程序有写入权限
   * 检查磁盘空间

### 性能问题

#### 程序运行缓慢

**症状**：程序响应慢或占用资源高

**可能原因**：

* 并发数过高
* 日志文件过大
* 系统资源不足

**解决方案**：

1. **降低并发数**

   ```bash
   $env:WX_CHANNEL_UPLOAD_CHUNK_CONCURRENCY=2
   $env:WX_CHANNEL_DOWNLOAD_CONCURRENCY=1
   ```
2. **清理日志**
   * 删除旧的日志文件
   * 减小日志文件大小限制
3. **检查系统资源**
   * 查看 CPU 和内存使用情况
   * 关闭不必要的程序

### 其他问题

#### 程序无法启动

**症状**：双击程序无反应或立即退出

**可能原因**：

* 缺少依赖库
* 系统不兼容
* 文件损坏

**解决方案**：

1. **检查系统兼容性**
   * Windows：Windows 10 或更高版本
2. **重新下载程序**
   * 从 GitHub 重新下载最新版本
   * 确认文件完整性
3. **查看错误信息**
   * 在命令行中运行程序查看错误信息
   * 检查是否有依赖缺失

#### 功能不完整

**症状**：某些功能无法使用

**可能原因**：

* 版本过旧
* 配置不正确
* 微信浏览器兼容性

**解决方案**：

1. **更新到最新版本**
   * 检查当前版本：`wx_channel.exe -v`
   * 下载最新版本
2. **检查配置**
   * 查看 配置概览
   * 确认所有必要的配置项已设置
3. **更新浏览器**
   * 使用最新版本的微信浏览器
   * 清除浏览器缓存

### 获取帮助

如果以上解决方案无法解决您的问题：

1. **查看日志**
   * 检查 `logs/wx_channel.log` 文件
   * 查找错误信息
2. **提交 Issue**
   * 访问 [GitHub Issues](https://github.com/nobiyou/wx_channel/issues)
   * 提供详细的错误信息和日志
3. **查看文档**
   * 配置概览
   * 常见问题
