敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多。
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20241118.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
♦ 环信 IM即时通讯
基本设置
appKey:
autoLogin:
useEncryption:
requireReadAck:
requireDeliveryAck:
debug:
jsBridge.easeIm.init({ //字符串,环信平台上创建的应用 AppKey appKey: $("#init_appKey").val(), //布尔,如果之前处于登录状态,初始化成功后是否自动登录 autoLogin: JSON.parse($("#init_autoLogin").val()), //布尔,是否对发送消息进行加密 useEncryption: JSON.parse($("#init_useEncryption").val()), //布尔,是否发送消息已读回执 requireReadAck: JSON.parse($("#init_requireReadAck").val()), //布尔,是否发送消息已送达回执 requireDeliveryAck: JSON.parse($("#init_requireDeliveryAck").val()), //布尔,是否开启调试模式 //调试模式能输出更多的日志信息,但会影响运行性能 debug: JSON.parse($("#init_debug").val()) }, function(succ, data) { alert(succ ? "成功" : "失败\n" + JSON.stringify(data)); });
username:
token:
password:
//token 和 password 任选其一,优先使用 token jsBridge.easeIm.login({ //字符串,用户ID //请使用 用户体系集成 RESTful API 管理用户 //或环信控制台 用户管理 username: $("#login_username").val(), //字符串,用户鉴权token token: $("#login_token").val(), //字符串,密码 password: $("#login_password").val() }, function(succ, data) { alert(succ ? "登录成功" : "登录失败\n" + JSON.stringify(data)); });
jsBridge.easeIm.logout(function(succ, data) { alert(succ ? "退出成功" : "退出失败\n" + JSON.stringify(data)); });
jsBridge.easeIm.userInfo({ //可选,默认头像图片链接 avatar: "https://appshangjia.yimenapp.com/assets/trtc/a.png", //可选,设置一组用户信息 //以 username 为唯一标识增加或覆盖已有的用户信息 users: [ { //字符串,用户ID username: "user1", //字符串,昵称 nickname: "张三", //字符串,头像图片链接 avatar : "https://appshangjia.yimenapp.com/assets/trtc/a1.png" }, { username: "user2", nickname: "李四", avatar : "https://appshangjia.yimenapp.com/assets/trtc/a2.png" } ] }, function(succ, data) { alert(succ ? "设置成功" : "设置失败\n" + JSON.stringify(data)); });
jsBridge.easeIm.status(function(succ, data) { //data.inited 是否已初始化 //data.connected 是否已连接到IM服务器 //data.logined 是否已登录 //data.username 已登录时,当前登录的用户ID alert(JSON.stringify(data)); });
conversationId :
jsBridge.easeIm.unreadMessageCount({ //可选,会话ID,留空则返回所有会话的总未读消息数 conversationId: $("#unread_conversationId").val() }, function(succ, data) { alert(succ ? data.count : JSON.stringify(data)); });
UI 相关
title:
conversationId :
chatType:
historyMsgId:
isRoam:
inputMenuStyle:
jsBridge.easeIm.chat({ //字符串,标题栏文字,一般用对方昵称或备注 title: $("#chat_title").val(), //字符串,会话ID,单聊时指对方ID,群聊和聊天室时指群和聊天室ID conversationId: $("#chat_conversationId").val(), //字符串,聊天类型 //single 单聊 //group 群聊 //room 聊天室 chatType: $("#chat_chatType").val(), //字符串,消息ID,用于查询历史记录时的定位消息ID historyMsgId: $("#chat_historyMsgId").val(), //布尔,是否开启漫游,用于标记是否优先从服务器拉取消息 isRoam: JSON.parse($("#chat_isRoam").val()), //字符串,输入区菜单样式 //all 完整模式 //disableVoice 不可用语音 //disableEmojIcon 不可用表情 //disableVoiceEmojIcon 不可用语音和表情 //onlyText 仅文本输入 inputMenuStyle: $("#chat_inputMenuStyle").val(), //字符串数组,点 + 号打开的扩展功能 //留空则全部显示 inputExtItems: [ "camera", //相机 "album", //相册 "video", //视频 "file" //文件 ] }, function(succ, data) { if (!succ) { alert("开启聊天失败\n" + JSON.stringify(data)); } });
监听回调数据: