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

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

JS-SDK 引用方式:

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

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

♦ 环信 IM即时通讯

基本设置

init 初始化

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));
});

login 登录

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));
});

logout 退出

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

userInfo 设置用户信息

jsBridge.easeIm.userInfo({
  //可选,默认头像图片链接
  avatar: "https://sapp.yimenapp.com/assets/trtc/a.png",
  //可选,设置一组用户信息
  //以 username 为唯一标识增加或覆盖已有的用户信息
  users: [
    {
      //字符串,用户ID
      username: "user1",
      //字符串,昵称
      nickname: "张三",
      //字符串,头像图片链接
      avatar  : "https://sapp.yimenapp.com/assets/trtc/a1.png"
    },
    {
      username: "user2",
      nickname: "李四",
      avatar  : "https://sapp.yimenapp.com/assets/trtc/a2.png"
    }
  ]
}, function(succ, data) {
  alert(succ ? "设置成功" : "设置失败\n" + JSON.stringify(data));
});

status 获取当前状态

jsBridge.easeIm.status(function(succ, data) {
  //data.inited     是否已初始化
  //data.connected  是否已连接到IM服务器
  //data.logined    是否已登录
  //data.username   已登录时,当前登录的用户ID
  alert(JSON.stringify(data));
});

unreadMessageCount 未读消息数量

conversationId :

jsBridge.easeIm.unreadMessageCount({
  //可选,会话ID,留空则返回所有会话的总未读消息数
  conversationId: $("#unread_conversationId").val()
}, function(succ, data) {
  alert(succ ? data.count : JSON.stringify(data));
});

UI 相关

chat 聊天

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));
  }
});

监听回调数据: