# TUICallKit API 名称变更修复 ## 问题描述 升级到 `@trtc/calls-uikit-vue` 4.2.2 后,出现编译错误: ``` 模块"@trtc/calls-uikit-vue"没有导出的成员"TUICallKitServer" ``` ## 根本原因 新版本的包有两个重要变更: 1. API 名称从 `TUICallKitServer` 改为 `TUICallKitAPI` 2. 发起通话的方法从 `call()` 改为 `calls()`,参数也有变化 ## 解决方案 ### 1. 更新导入语句 **旧版本 (4.0.12):** ```typescript import { TUICallKitServer, TUICallKit, TUICallType, STATUS } from '@tencentcloud/call-uikit-vue' ``` **新版本 (4.2.2):** ```typescript import { TUICallKitAPI, TUICallKit, TUICallType, STATUS } from '@trtc/calls-uikit-vue' ``` ### 2. 更新发起通话的方法 **旧版本 (4.0.12):** ```typescript // 一对一通话 await TUICallKitServer.call({ userID: 'user123', type: TUICallType.VIDEO_CALL }) ``` **新版本 (4.2.2):** ```typescript // 一对一通话 - 使用 calls 方法,参数改为 userIDList 数组 await TUICallKitAPI.calls({ userIDList: ['user123'], type: TUICallType.VIDEO_CALL }) // 多人通话 - 同样使用 calls 方法 await TUICallKitAPI.calls({ userIDList: ['user1', 'user2', 'user3'], type: TUICallType.VIDEO_CALL }) ``` ### 3. 更新其他 API 调用 将所有 `TUICallKitServer` 替换为 `TUICallKitAPI`: ```typescript // 初始化 TUICallKitAPI.init({ ... }) // 发起通话(注意:方法名改为 calls,参数改为 userIDList) TUICallKitAPI.calls({ userIDList: ['user123'], type: TUICallType.VIDEO_CALL }) // 挂断 TUICallKitAPI.hangup() // 接听 TUICallKitAPI.accept() // 拒绝 TUICallKitAPI.reject() // 设置回调 TUICallKitAPI.setCallback({ ... }) // 浮窗设置 TUICallKitAPI.enableFloatWindow(false) ``` ## 已修复的文件 1. ✅ `admin/src/components/video-call/index.vue` 2. ✅ `admin/src/views/test/patient-call.vue` 3. ✅ `UIKIT_UPGRADE_COMPLETE.md` ## 下一步操作 ### 1. 重新安装依赖 ```bash cd admin # 删除旧依赖 rm -rf node_modules package-lock.json # 安装新依赖 npm install ``` ### 2. 启动开发服务器 ```bash npm run dev ``` ### 3. 验证修复 - ✅ 编译成功,没有错误 - ✅ 可以正常登录 - ✅ 可以发起通话 - ✅ 可以接听通话 ## API 对比表 | 功能 | 旧版本 (4.0.12) | 新版本 (4.2.2) | |------|----------------|----------------| | 包名 | @tencentcloud/call-uikit-vue | @trtc/calls-uikit-vue | | API名称 | TUICallKitServer | TUICallKitAPI | | 初始化 | TUICallKitServer.init() | TUICallKitAPI.init() | | 发起通话 | TUICallKitServer.call({userID, type}) | TUICallKitAPI.calls({userIDList, type}) | | 挂断 | TUICallKitServer.hangup() | TUICallKitAPI.hangup() | | 接听 | TUICallKitServer.accept() | TUICallKitAPI.accept() | | 拒绝 | TUICallKitServer.reject() | TUICallKitAPI.reject() | | 设置回调 | TUICallKitServer.setCallback() | TUICallKitAPI.setCallback() | | 浮窗设置 | TUICallKitServer.enableFloatWindow() | TUICallKitAPI.enableFloatWindow() | ## 重要变更说明 ### 1. API 名称变更 - `TUICallKitServer` → `TUICallKitAPI` ### 2. 发起通话方法变更 - 方法名:`call()` → `calls()` - 参数变化: - 旧版本:`{ userID: string, type: TUICallType }` - 新版本:`{ userIDList: string[], type: TUICallType }` - 说明:新版本统一使用数组参数,一对一通话时数组只包含一个元素 ## 注意事项 1. **API 名称变更**:`TUICallKitServer` → `TUICallKitAPI` 2. **发起通话方法变更**: - 方法名:`call()` → `calls()` - 参数:`userID` → `userIDList`(数组) 3. **组件名称不变**:`TUICallKit` 组件名称保持不变 4. **类型定义不变**:`TUICallType`、`STATUS` 等类型定义保持不变 5. **回调机制不变**:`statusChanged`、`afterCalling` 等回调保持不变 6. **其他方法不变**:`init()`、`hangup()`、`accept()`、`reject()` 等方法参数保持不变 ## 参考文档 - [官方文档 - Web&H5 (Vue3)](https://www.tencentcloud.com/document/product/647/50993) - [API 文档](https://web.sdk.qcloud.com/component/trtccalling/doc/web/zh-cn/) --- **修复日期:** 2024-03-04 **修复版本:** 4.0.12 → 4.2.2 **状态:** ✅ 完成