ImServer 前后端示例代码

该博客展示了如何通过后端生成Token,并将其传递给前端,以便前端能够连接到消息服务进行聊天和监听连接状态。后端使用UserAuthRepository生成Token,而前端则使用ImServer进行连接并监听聊天消息和连接状态变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

后端连接消息服务

 

// 生成Token
$ret = UserAuthRepository::generateToken(
  // 业务类型
  'xxx',
  // 业务系统用户ID
  1,
  // 业务系统用户昵称
  'xxx',
  // 业务系统用户头像
  'http://xxxxx/xxx.jpg'
);
$data = [
  // 获取到用户 Token,用于 ImServer 的用户初始化,需返回给前端
  'token' => $ret['data']['token'],
  // ImServer 的用户 ID
  'imUserId' => $ret['data']['user']['id'],
];

前端连接消息服务

 

const imServer = new ImServer()
// 监听聊天消息
imServer.addTalkListener(function (data) {
  console.log('TalkMsg', data)
})
// 连接状态变化
imServer.onConnectChange(connectionStatus => {
  console.log('onConnectChange', data)
})
imServer.connect({
  // 连接Token,需要从后端获取
  token: 'xxxxxxxx',
  // 连接成功
  onSuccess: () => {
    // 发送给用户消息
    imServer.sendTalk({
      // ImServer 的用户 ID
      toId: 5,
    }, cb)
  },
  // 连接出错
  onError: (msg) => {
    console.log('onConnectError', msg)
  }
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值