You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Connectycube Javascript API获取1对1聊天中对方用户的活跃状态?

获取Connectycube JavaScript API 1对1聊天对方用户的活跃/非活跃状态

实现方案

1. 利用Presence模块订阅并监听对方状态

Connectycube的Presence模块专门用于追踪用户在线状态,具体操作如下:

初始化并订阅对方用户

确保已完成Connectycube登录和聊天模块初始化,然后订阅目标用户的状态:

// 初始化Presence模块
Connectycube.chat.presence.init();

// 假设对方用户ID存储在opponentUserId变量中
Connectycube.chat.presence.subscribe({userIds: [opponentUserId]}, (error) => {
  if (error) console.error('订阅状态失败:', error);
});

监听状态变更事件

订阅后,通过onPresenceChange事件获取对方状态更新:

Connectycube.chat.presence.on('onPresenceChange', (presenceList) => {
  const opponentStatus = presenceList.find(item => item.userId === opponentUserId);
  if (opponentStatus && !opponentStatus.isOnline) {
    // 对方已离线,执行你的登出逻辑
    console.log('对方已离开');
    Connectycube.auth.logout((error) => {
      if (!error) console.log('成功登出');
    });
  }
});

2. 补充:监听聊天连接断开事件

如果对方异常断开(如直接关闭页面),可以通过聊天连接事件辅助判断:

Connectycube.chat.on('onDisconnected', () => {
  // 结合当前1对1会话的上下文,执行登出逻辑
  console.log('对方连接已断开');
  Connectycube.auth.logout();
});

关键注意点

  • 必须确保用户已成功登录Connectycube并加入对应聊天会话
  • 订阅时userIds需传入数组格式,即使仅单个用户ID
  • Presence状态更新存在轻微延迟,结合断开事件能提升判断准确性

内容的提问来源于stack exchange,提问作者Claudio Quezada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 04:53:13