敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多。
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20240925.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)); } });
监听回调数据: