111 lines
2.7 KiB
Markdown
111 lines
2.7 KiB
Markdown
# TUICallKit 升级步骤
|
|
|
|
## 当前状态
|
|
- 旧版本: 2.5.2
|
|
- 新版本: 4.0.12
|
|
- package.json 已更新
|
|
|
|
## 执行步骤
|
|
|
|
### 1. 删除旧依赖
|
|
```bash
|
|
cd admin
|
|
rm -rf node_modules
|
|
rm package-lock.json
|
|
```
|
|
|
|
### 2. 安装新版本
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
### 3. 代码修复
|
|
|
|
#### 问题1: `onError` 回调不存在
|
|
|
|
在 `admin/src/components/video-call/index.vue` 中,需要移除 `onError` 回调:
|
|
|
|
```typescript
|
|
// 旧代码(需要删除)
|
|
TUICallKitServer.setCallback({
|
|
statusChanged: handleStatusChange,
|
|
afterCalling: handleAfterCalling,
|
|
onError: handleCallError // ❌ 这个在 4.x 中不存在
|
|
})
|
|
|
|
// 新代码
|
|
TUICallKitServer.setCallback({
|
|
statusChanged: handleStatusChange,
|
|
afterCalling: handleAfterCalling
|
|
// onError 已被移除,错误处理通过 try-catch 或 statusChanged 中的状态判断
|
|
})
|
|
```
|
|
|
|
#### 问题2: 错误处理方式变更
|
|
|
|
4.x 版本中,错误不再通过 `onError` 回调,而是:
|
|
1. 通过 `try-catch` 捕获异步操作的错误
|
|
2. 通过 `statusChanged` 回调中的状态变化判断错误情况
|
|
|
|
需要在代码中增强 try-catch 错误处理。
|
|
|
|
### 4. 测试清单
|
|
|
|
升级后需要测试:
|
|
|
|
- [ ] 组件能否正常初始化
|
|
- [ ] 能否正常发起一对一视频通话
|
|
- [ ] 能否正常发起群组视频通话
|
|
- [ ] 对方拒绝时的提示是否正常
|
|
- [ ] 对方未接听时的提示是否正常
|
|
- [ ] 通话接通后的视频显示是否正常
|
|
- [ ] 挂断功能是否正常
|
|
- [ ] 窗口拖拽和调整大小是否正常
|
|
- [ ] 错误提示是否友好
|
|
|
|
### 5. 可能的其他变更
|
|
|
|
根据官方文档,4.x 版本可能还有以下变更:
|
|
|
|
1. **初始化参数变化**
|
|
- 检查 `TUICallKitServer.init()` 的参数是否有变化
|
|
|
|
2. **通话类型常量**
|
|
- `TUICallType.VIDEO_CALL` 和 `TUICallType.AUDIO_CALL` 可能有变化
|
|
|
|
3. **状态常量**
|
|
- `STATUS` 枚举值可能有变化
|
|
|
|
4. **组件属性**
|
|
- `TUICallKit` 组件的 props 可能有变化
|
|
|
|
### 6. 如果遇到问题
|
|
|
|
1. 查看浏览器控制台的错误信息
|
|
2. 查看官方文档: https://www.tencentcloud.com/document/product/647/50993
|
|
3. 查看 GitHub Issues: https://github.com/tencentyun/TUICallKit/issues
|
|
4. 如果无法解决,可以回滚到旧版本:
|
|
```bash
|
|
npm install @tencentcloud/call-uikit-vue@2.5.2
|
|
```
|
|
|
|
## 升级后的代码修改
|
|
|
|
需要修改 `admin/src/components/video-call/index.vue`:
|
|
|
|
```typescript
|
|
// 删除 handleCallError 函数的使用
|
|
// 删除这一行:
|
|
// onError: handleCallError
|
|
|
|
// 保留 handleCallError 函数用于其他地方的错误处理
|
|
// 但不再作为回调注册
|
|
```
|
|
|
|
## 完成后
|
|
|
|
1. 提交代码变更
|
|
2. 在开发环境充分测试
|
|
3. 部署到测试环境
|
|
4. 确认无误后部署到生产环境
|