# 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. 确认无误后部署到生产环境