Files
zyt/wx/TUICallKit/DEBUG_WITH_LOGS.md
2026-03-04 15:32:30 +08:00

254 lines
6.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 详细日志调试指南
## 🎯 已添加的调试功能
### 1. 详细日志级别
```javascript
TUICallKitAPI.setLogLevel(1); // 启用详细日志
```
### 2. 多状态监听
现在会监听以下状态变化:
- 通话状态(CALL_STATUS
- 是否群组通话(IS_GROUP
- 通话角色(CALL_ROLE
- 通话类型(CALL_MEDIA_TYPE
### 3. 完整状态输出
登录成功后会输出完整的状态信息。
## 📋 测试步骤
### 步骤 1:清除缓存并重启
```
1. 微信开发者工具 → 工具 → 清除缓存 → 全部清除
2. 关闭微信开发者工具
3. 重新打开微信开发者工具
4. 重新编译项目
```
### 步骤 2:小程序端登录
1. 输入患者ID`2`
2. 点击"登录"
3. 等待登录成功
**预期日志(按顺序):**
```
=== 页面已挂载 ===
=== 已设置详细日志级别 ===
获取签名成功: { userId: "patient_2", sdkAppId: "1400xxxxxx", ... }
=== 小程序端登录信息 ===
sdkAppId: 1400xxxxxx
userId: patient_2
userSig 长度: xxx
TUICallKit 初始化成功, userId: patient_2
=== TUICallKit 初始化完成,等待来电 ===
=== TUICallKit 组件已挂载 ===
当前通话状态: IDLE
完整状态信息: {
callStatus: "idle",
isGroup: false,
callRole: null,
callMediaType: null,
localUserInfo: { userId: "patient_2" }
}
```
### 步骤 3Web 端发起呼叫
1. Web 端打开患者详情页
2. 点击"视频通话"按钮
**预期日志(小程序端):**
```
[tuikit engine wasm] [im_event_channel_wasm.cc:71] js notify Native OnJSEvent, [event_id:onNewMessageReceived]
=== 通话状态变化 === waiting (或其他状态)
CallStatus.IDLE: idle
CallStatus.WAITING: waiting
CallStatus.CONNECTED: connected
=== 通话角色 === callee
=== 通话类型 === video
=== 是否群组通话 === false
```
### 步骤 4:观察界面变化
- 界面上的"通话状态"应该从 `IDLE` 变为其他状态
- TUICallKit 组件应该自动显示来电界面
## 🔍 关键日志说明
### 日志 1onNewMessageReceived
```
[tuikit engine wasm] [im_event_channel_wasm.cc:71] js notify Native OnJSEvent, [event_id:onNewMessageReceived]
```
**含义:** 收到了新消息(来电信号)
**状态:** ✅ 正常
### 日志 2:通话状态变化
```
=== 通话状态变化 === waiting
```
**含义:** 通话状态从 IDLE 变为 WAITING(等待接听)
**状态:** ✅ 正常
### 日志 3:通话角色
```
=== 通话角色 === callee
```
**含义:** 当前角色是被叫方(接听方)
**状态:** ✅ 正常
### 日志 4:通话类型
```
=== 通话类型 === video
```
**含义:** 视频通话
**状态:** ✅ 正常
## ⚠️ 可能的问题
### 问题 1:收到消息但状态不变化
**症状:**
```
[tuikit engine wasm] onNewMessageReceived ✅
=== 通话状态变化 === ❌ 没有这条日志
```
**原因:** 消息处理失败或状态更新失败
**解决:**
1. 查看是否有其他错误日志
2. 检查 userId 格式是否正确
3. 尝试重新登录
### 问题 2:状态变化但界面不显示
**症状:**
```
=== 通话状态变化 === waiting ✅
界面没有变化 ❌
```
**原因:** TUICallKit 组件显示问题
**解决:**
1. 检查 Wxml 面板中是否有 TUICallKit 组件
2. 检查组件的样式和位置
3. 尝试真机测试
### 问题 3:完全没有日志
**症状:**
```
登录成功后没有任何日志输出
```
**原因:** 代码未正确更新或缓存问题
**解决:**
1. 确认代码已保存
2. 清除缓存
3. 重新编译
4. 重启微信开发者工具
## 📊 日志分析表
| 日志内容 | 状态 | 说明 |
|---------|------|------|
| `=== 页面已挂载 ===` | ✅ | 页面初始化成功 |
| `=== 已设置详细日志级别 ===` | ✅ | 日志级别设置成功 |
| `TUICallKit 初始化成功` | ✅ | SDK 初始化成功 |
| `=== TUICallKit 组件已挂载 ===` | ✅ | 组件挂载成功 |
| `onNewMessageReceived` | ✅ | 收到来电信号 |
| `=== 通话状态变化 ===` | ✅ | 状态正确更新 |
| `=== 通话角色 === callee` | ✅ | 角色识别正确 |
| `=== 通话类型 === video` | ✅ | 类型识别正确 |
## 🎯 成功标准
当你看到以下完整的日志序列时,说明一切正常:
```
1. === 页面已挂载 ===
2. === 已设置详细日志级别 ===
3. 获取签名成功
4. TUICallKit 初始化成功
5. === TUICallKit 组件已挂载 ===
6. 当前通话状态: IDLE
[Web 端发起呼叫后]
7. onNewMessageReceived
8. === 通话状态变化 === waiting
9. === 通话角色 === callee
10. === 通话类型 === video
11. === 是否群组通话 === false
```
如果看到这些日志,但界面仍然没有显示,那就是 TUICallKit 组件的显示问题,需要进一步调试组件样式。
## 🔧 下一步调试
### 如果状态正确变化但界面不显示
1. **检查组件是否存在**
- 微信开发者工具 → 调试器 → Wxml
- 查找 `TUICallKit` 组件
- 查看其样式和位置
2. **检查组件样式**
```css
.call-kit-wrapper {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
z-index: 9999;
background-color: rgba(0, 0, 0, 0.8); /* 添加背景色便于查看 */
}
```
3. **添加可见性测试**
在 TUICallKit 组件外层添加:
```vue
<view class="call-kit-wrapper" v-if="isLogin">
<view class="test-marker">TUICallKit 区域</view>
<TUICallKit></TUICallKit>
</view>
<style>
.test-marker {
position: absolute;
top: 0;
left: 0;
background: red;
color: white;
padding: 10px;
z-index: 10000;
}
</style>
```
4. **真机测试**
- 开发者工具可能与真机表现不同
- 使用真机调试功能
- 查看真机上的实际效果
## 📞 需要提供的信息
如果问题仍然存在,请提供:
1. **完整的控制台日志**(从登录到收到来电的全部日志)
2. **界面截图**(显示"通话状态"的值)
3. **Wxml 面板截图**(显示 TUICallKit 组件)
4. **是否有其他错误日志**
5. **真机测试结果**(如果可能)
---
**最后更新:** 2024-03-04
**版本:** 1.0