# 🚀 开始使用 - 小程序端视频通话修复

## ⚡ 快速开始

### 第一步：清除缓存

**微信开发者工具：**
```
工具 → 清除缓存 → 全部清除 → 确定
```

**真机测试：**
```
长按小程序 → 删除 → 重新扫码打开
```

### 第二步：测试登录

1. 打开小程序
2. 输入患者ID：`2`
3. 点击"登录"按钮
4. 等待 2-3 秒

**成功标志：**
- ✅ 显示"登录成功"
- ✅ 界面显示"当前登录: patient_2"
- ✅ 控制台显示"=== TUICallKit 初始化完成，等待来电 ==="

**如果失败：**
- ❌ 检查网络连接
- ❌ 检查后端接口是否正常
- ❌ 查看控制台错误信息

### 第三步：测试接听

1. 保持小程序在前台
2. Web 端发起视频通话
3. 小程序应该自动弹出通话界面

**成功标志：**
- ✅ 自动弹出通话界面
- ✅ 显示"接听"和"拒绝"按钮
- ✅ TUICallKit 组件自动显示来电界面

**如果失败：**
- ❌ 查看下方"问题排查"部分

## 📋 问题排查

### 问题 1：无法登录

**症状：** 点击登录后提示"登录失败"

**检查：**
```javascript
// 查看控制台错误信息
console.error('登录失败:', error);
```

**解决：**
1. 检查后端接口是否正常：`https://api.zzzhengyangtang.cn/api/tcm/getPatientSignature`
2. 检查网络连接
3. 检查患者ID是否正确

### 问题 2：无法接听来电

**症状：** Web 端发起呼叫后，小程序没有反应

**检查清单：**
- [ ] 小程序已登录（显示"当前登录: patient_X"）
- [ ] 控制台有"=== TUICallKit 初始化完成，等待来电 ==="日志
- [ ] 小程序在前台运行（未切到后台）
- [ ] userId 格式一致（见下方说明）

**userId 格式检查：**

Web 端控制台：
```
最终使用的 targetUserId: patient_2
```

小程序端控制台：
```
userId: patient_2
```

**必须完全一致！**

**解决：**
1. 重新登录小程序
2. 确保小程序在前台
3. 检查 userId 格式
4. 查看详细文档：`CANNOT_RECEIVE_CALL_FIX.md`

### 问题 3：提示"对方不在线"

**症状：** Web 端发起呼叫时提示"对方不在线"（错误代码 60011）

**原因：** userId 格式不匹配

**解决：**
1. 对比 Web 端和小程序端的 userId
2. 确保格式完全一致
3. 检查后端接口返回的数据
4. 查看详细文档：`QUICK_FIX.md`

## 📚 文档导航

### 核心文档（必读）

1. **FIX_SUMMARY.md** ⭐⭐⭐
   - 修复总结
   - 包含所有修改内容
   - 测试验证步骤

2. **CANNOT_RECEIVE_CALL_FIX.md** ⭐⭐⭐
   - 详细的问题诊断
   - 完整的修复方案
   - 常见错误及解决

3. **QUICK_FIX.md** ⭐⭐
   - 快速修复指南
   - 立即检查步骤
   - 快速测试流程

### 辅助文档

4. **TEST_GUIDE.md**
   - 完整的测试指南
   - 测试场景和步骤
   - 测试检查清单

5. **CALL_DEBUG_GUIDE.md**
   - 调试指南
   - 常见问题和解决方案
   - 调试技巧

6. **CALL_TROUBLESHOOTING_CHECKLIST.md**
   - 问题排查清单
   - 逐项检查步骤
   - 成功标志

## 🔍 关键日志

### 登录成功的日志

```
获取签名成功: { userId: "patient_2", sdkAppId: "1400xxxxxx", ... }
=== 小程序端登录信息 ===
sdkAppId: 1400xxxxxx
userId: patient_2
userSig 长度: xxx
TUICallKit 初始化成功, userId: patient_2
=== TUICallKit 初始化完成，等待来电 ===
登录成功
```

### 收到来电的表现

```
TUICallKit 组件会自动：
- 弹出来电界面
- 播放铃声
- 显示来电者信息
- 显示"接听"和"拒绝"按钮
```

## ⚙️ 配置检查

### 后端接口

**患者端签名接口：**
```
GET https://api.zzzhengyangtang.cn/api/tcm/getPatientSignature?patient_id=2
```

**期望响应：**
```json
{
  "code": 1,
  "data": {
    "userId": "patient_2",
    "sdkAppId": "1400xxxxxx",
    "userSig": "eJw1...",
    "expireTime": 86400
  }
}
```

### 腾讯云配置

**检查项：**
- [ ] SDKAppID 正确
- [ ] SecretKey 正确
- [ ] IM 服务已开通
- [ ] TRTC 服务已开通

## 🎯 测试场景

### 场景 1：Web → 小程序（最常用）

```
1. 小程序端登录（患者ID: 2）
2. Web 端发起呼叫
3. 小程序端接听
4. 正常通话
5. 挂断
```

### 场景 2：小程序 → Web

```
1. 小程序端登录（患者ID: 2）
2. 输入医生ID: 1
3. 点击"呼叫"
4. Web 端接听
5. 正常通话
6. 挂断
```

## 💡 重要提示

### ⚠️ 必须注意

1. **userId 格式必须一致**
   - Web 端：`patient_2`
   - 小程序端：`patient_2`
   - 不能是 `2` 或其他格式

2. **SDKAppID 必须一致**
   - Web 端和小程序端必须使用同一个

3. **小程序必须在前台**
   - 切换到后台可能无法接收来电

4. **权限必须授予**
   - 摄像头权限
   - 麦克风权限

5. **等待初始化完成**
   - 登录后等待看到"=== TUICallKit 初始化完成，等待来电 ==="

### ✅ 成功标准

- 小程序能自动弹出通话界面
- 能正常接听和拒绝
- 视频和音频都正常
- 控制按钮都能正常工作

## 🆘 需要帮助？

### 查看详细文档

1. 无法接听 → `CANNOT_RECEIVE_CALL_FIX.md`
2. 快速修复 → `QUICK_FIX.md`
3. 完整测试 → `TEST_GUIDE.md`
4. 问题排查 → `CALL_TROUBLESHOOTING_CHECKLIST.md`

### 提供信息

如果仍然无法解决，请提供：

1. 小程序端控制台日志（截图）
2. Web 端控制台日志（截图）
3. 后端日志文件
4. 具体错误提示信息

## 📞 联系方式

- 查看项目文档
- 提交 Issue
- 联系技术支持

---

**最后更新：** 2024-03-04
**版本：** 1.0

**祝你测试顺利！🎉**
