uni-app 调用腾讯TIM create 报错 this._socket.onClose is not a function

uni-app 调用腾讯TIM create 报错 this._socket.onClose is not a function

示例代码:

// #ifdef H5
import TIM from 'tim-js-sdk'
import COS from "cos-js-sdk-v5";  
const newOptions = {
SDKAppID: “1400423279”
};
let tim = TIM.create(newOptions);
tim.setLogLevel(0)
// #endif

操作步骤:

import TIM from 'tim-js-sdk'
import COS from "cos-js-sdk-v5";  
const newOptions = {
SDKAppID: “1400423279”
};
let tim = TIM.create(newOptions);
tim.setLogLevel(0)

预期结果:

可以 create 成功

实际结果:

this._socket.onClose is not a function

bug描述:

在h5 模式下调用 TIM 的create 报错,报错如图:

image

开发环境 版本号 项目创建方式
Windows window10 HBuilderX
HBuilderX 3.1.16
Chrome 90.0.4430.212 (正式版本) (64 位)

更多关于uni-app 调用腾讯TIM create 报错 this._socket.onClose is not a function的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

兄弟,这个问题你是怎么解决的,我现在也遇到了。

更多关于uni-app 调用腾讯TIM create 报错 this._socket.onClose is not a function的实战教程也可以访问 https://www.itying.com/category-93-b0.html


咋弄我也是遇到这个问题

我也遇到了,我的解决方法是修改package.json中依赖tim-js-sdk的版本,好像是因为tim版本的原因导致的

确实是这个问题,tim-js-sdk改为2.10.1没有问题。

+1,改成2.10.1就不报错了

在H5环境下调用腾讯TIM SDK的create方法时出现this._socket.onClose is not a function错误,通常是由于SDK版本兼容性或初始化问题导致的。以下是几个可能的解决方案:

  1. 检查TIM SDK版本:确保使用的tim-js-sdk是最新稳定版本。旧版本可能存在与uni-app H5环境的兼容性问题。可以通过npm更新到最新版本:
npm update tim-js-sdk
  1. 检查COS SDK依赖:tim-js-sdk依赖cos-js-sdk-v5,确认cos-js-sdk-v5已正确安装且版本兼容。建议同时更新COS SDK:
npm update cos-js-sdk-v5
  1. 环境条件编译:确认代码正确包裹在H5条件编译中。检查是否有其他平台代码干扰:
// #ifdef H5
import TIM from 'tim-js-sdk'
// 初始化代码...
// #endif
  1. 初始化时机:确保TIM初始化在页面生命周期合适的位置执行,避免在组件未挂载时调用。建议在onReadymounted钩子中执行。

  2. SDKAppID格式:检查SDKAppID使用的是否是英文引号,代码中显示为中文引号“”,应改为英文引号"":

const newOptions = {
    SDKAppID: "1400423279"  // 使用英文双引号
};
回到顶部