WebApp快捷打包
IM 即时通信
转到模块插件

敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多

JS-SDK 引用方式:

♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20241118.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;

♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package

腾讯云官方参考资料:

IM即时通信

产品文档

服务器端API

♦ 用腾讯平台提供的 SecretKey 在你的服务器端 计算 UserSig 做签名保护

TUIKit 概述

登录、退出等基础接口

login 登录 IM (测试 user1)

sdkAppId:

userId:

userSig:

jsBridge.txIm.login({
    //必须,数字,腾讯平台上创建的应用ID
    sdkAppId: parseInt($("#loginSdkAppId_user1").val()),
    //必须,字符串,用户ID
    userId  : $("#loginUserId_user1").val(),
    //必须,字符串,用户安全签名
    //如何 计算UserSig 
    userSig : $("#loginUserSig_user1").val()
  }, function(succ, data) {
    if (succ) {
      alert("登录成功");
    } else {
      alert("登录失败\n" + JSON.stringify(data));
    }
});

login 登录 IM (测试 user2)

sdkAppId:

userId:

userSig:

jsBridge.txIm.login({
    //必须,数字,腾讯平台上创建的应用ID
    sdkAppId: parseInt($("#loginSdkAppId_user2").val()),
    //必须,字符串,用户ID
    userId  : $("#loginUserId_user2").val(),
    //必须,字符串,用户安全签名
    //如何 计算UserSig 
    userSig : $("#loginUserSig_user2").val()
  }, function(succ, data) {
    if (succ) {
      alert("登录成功");
    } else {
      alert("登录失败\n" + JSON.stringify(data));
    }
});

login 登录 IM (测试 user3)

sdkAppId:

userId:

userSig:

jsBridge.txIm.login({
    //必须,数字,腾讯平台上创建的应用ID
    sdkAppId: parseInt($("#loginSdkAppId_user3").val()),
    //必须,字符串,用户ID
    userId  : $("#loginUserId_user3").val(),
    //必须,字符串,用户安全签名
    //如何 计算UserSig 
    userSig : $("#loginUserSig_user3").val()
  }, function(succ, data) {
    if (succ) {
      alert("登录成功");
    } else {
      alert("登录失败\n" + JSON.stringify(data));
    }
});

logout 退出 IM

jsBridge.txIm.logout(function(succ, data) {
    if (succ) {
      alert("退出成功");
    } else {
      alert("退出失败\n" + JSON.stringify(data));
    }
});

getLoginStatus 获取当前登录状态

jsBridge.txIm.getLoginStatus(function(succ, data) {
  //data.status 字符串类型
  //logined  已登录
  //logining 正在登录
  //logout   已退出
  alert(JSON.stringify(data));
});

getUnreadMessageCount 获取未读消息数量

jsBridge.txIm.getUnreadMessageCount(function(succ, data) {
  if (succ) {
    alert(data.count);
  } else {
    alert("获取失败\n" + JSON.stringify(data));
  }
});

getSDKVersion 获取 SDK 版本

jsBridge.txIm.getSDKVersion(function(succ, data) {
  alert(data.version);
});

事件监听

setListener 设置 IM 事件监听器

//此方法可以监听到 所有V2TIMSDKListener事件 状态
jsBridge.txIm.setListener(function(succ, e) {
  switch (e.on) {
    case "onConnecting":
      //正在连接到腾讯云服务器
      break;
    case "onConnectSuccess":
      //已经成功连接到腾讯云服务器
      break;
    case "onConnectFailed":
      //连接腾讯云服务器失败
      break;
    //...
    //所有事件及其含义 请参考这里
  }
  showResult({
    which: "setListener",
    e    : e
  });
});

/**
回调参数 e 为 json 类型
{
  on  : 事件名称,字符串类型
  data: 事件参数,json 类型,具体含义请参考腾讯官方文档
}
**/

removeListener 移除 IM 事件监听器

jsBridge.txIm.removeListener(function(succ, data) {
  if (succ) {
    alert("移除成功");
  } else {
    alert("移除失败\n" + JSON.stringify(data));
  }
});

setMessageListener 设置消息收发事件监听器

//此方法可以监听到 所有V2TIMSimpleMsgListener事件 状态
jsBridge.txIm.setMessageListener(function(succ, e) {
  switch (e.on) {
    case "onRecvC2CTextMessage":
      //收到单聊文本消息
      break;
    case "onRecvGroupTextMessage":
      //消息群聊文本消息
      break;
    //...
    //所有事件及其含义 请参考这里
  }
  showResult({
    which: "setMessageListener",
    e    : e
  });
});

/**
回调参数 e 为 json 类型
{
  on  : 事件名称,字符串类型
  data: 事件参数,json 类型,具体含义请参考腾讯官方文档
}
**/

removeMessageListener 移除消息收发事件监听器

jsBridge.txIm.removeMessageListener(function(succ, data) {
  if (succ) {
    alert("移除成功");
  } else {
    alert("移除失败\n" + JSON.stringify(data));
  }
});

UI 相关

chat 单聊

userId:

title :

avatar:

draftText:

top:

jsBridge.txIm.chat({
  //字符串,对方的 userId(API管理单聊消息)
  userId   : $("#chatC2c_userId").val(),
  //字符串,任意标题字符,一般用对方昵称或备注名称
  title    : $("#chatC2c_title").val(),
  //字符串,自己的头像图片链接
  avatar   : $("#chatC2c_avatar").val(),
  //字符串,填写到输入框的草稿文字
  draftText: $("#chatC2c_draftText").val(),
  //布尔,是否置顶
  top      : JSON.parse($("#chatC2c_top").val())
}, function(succ, data) {
  if (!succ) {
    alert("单聊失败\n" + JSON.stringify(data));
  }
});

chat 群聊

groupId:

title :

avatar:

draftText:

top:

//API管理群组 或者 腾讯云控制台群组管理
jsBridge.txIm.chat({
  //字符串,群 id
  groupId  : $("#chatGroup_groupId").val(),
  //字符串,任意标题字符,一般用群名称或备注名称
  title    : $("#chatGroup_title").val(),
  //字符串,自己的头像图片链接
  avatar   : $("#chatGroup_avatar").val(),
  //字符串,填写到输入框的草稿文字
  draftText: $("#chatGroup_draftText").val(),
  //布尔,是否置顶
  top      : JSON.parse($("#chatGroup_top").val())
}, function(succ, data) {
  if (!succ) {
    alert("群聊失败\n" + JSON.stringify(data));
  }
});

conversation 会话

title :

//API管理会话
jsBridge.txIm.conversation({
  //字符串,标题
  title: $("#conversation_title").val()
}, function(succ, data) {
  if (!succ) {
    alert("失败\n" + JSON.stringify(data));
  }
});

contact 联系人

title :

//API管理关系链
jsBridge.txIm.contact({
  //字符串,标题
  title: $("#contact_title").val()
}, function(succ, data) {
  if (!succ) {
    alert("失败\n" + JSON.stringify(data));
  }
});

监听回调数据: