敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多。
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20250925.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
♦ 腾讯云官方参考资料:
♦ IM即时通信
♦ 产品文档
♦ 服务器端API
♦ 用腾讯平台提供的 SecretKey 在你的服务器端 计算 UserSig 做签名保护
登录、退出等基础接口
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));
}
});
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));
}
});
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));
}
});
jsBridge.txIm.logout(function(succ, data) {
if (succ) {
alert("退出成功");
} else {
alert("退出失败\n" + JSON.stringify(data));
}
});
jsBridge.txIm.getLoginStatus(function(succ, data) {
//data.status 字符串类型
//logined 已登录
//logining 正在登录
//logout 已退出
alert(JSON.stringify(data));
});
jsBridge.txIm.getUnreadMessageCount(function(succ, data) {
if (succ) {
alert(data.count);
} else {
alert("获取失败\n" + JSON.stringify(data));
}
});
jsBridge.txIm.getSDKVersion(function(succ, data) {
alert(data.version);
});
事件监听
//此方法可以监听到 所有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 类型,具体含义请参考腾讯官方文档
}
**/
jsBridge.txIm.removeListener(function(succ, data) {
if (succ) {
alert("移除成功");
} else {
alert("移除失败\n" + JSON.stringify(data));
}
});
//此方法可以监听到 所有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 类型,具体含义请参考腾讯官方文档
}
**/
jsBridge.txIm.removeMessageListener(function(succ, data) {
if (succ) {
alert("移除成功");
} else {
alert("移除失败\n" + JSON.stringify(data));
}
});
UI 相关
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));
}
});
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));
}
});
title :
//API管理会话
jsBridge.txIm.conversation({
//字符串,标题
title: $("#conversation_title").val()
}, function(succ, data) {
if (!succ) {
alert("失败\n" + JSON.stringify(data));
}
});
title :
//API管理关系链
jsBridge.txIm.contact({
//字符串,标题
title: $("#contact_title").val()
}, function(succ, data) {
if (!succ) {
alert("失败\n" + JSON.stringify(data));
}
});
监听回调数据: