会话状态

查询 Session 在线状态

接口

GET /shater/online?sessionId=<sessionId>

说明

查询指定 Session 对应的客户端是否在线(WebSocket 是否连接)。

响应示例

{
  "online": true
}

字段说明

字段类型说明
onlineboolean是否在线

使用场景

  • 推送前确认目标客户端在线,避免推送丢失
  • 多人协作时查询对方是否可接收隔空投送

拉取离线消息

接口

GET /shater/offline-messages?sessionId=<sessionId>

说明

拉取指定 Session 的离线暂存消息,拉取后自动清除

💡 当客户端断线重连后,可调用此接口拉取断线期间错过的消息。

响应示例

{
  "messages": [
    {
      "id": "1234567890-abc123",
      "api": "/api/user/info",
      "response": "{\"code\": 0}",
      "timestamp": 1698764800000
    }
  ]
}

字段说明

字段类型说明
messagesarray离线消息列表
messages[].idstring消息唯一标识
messages[].apistring接口路径
messages[].responsestring响应体
messages[].timestampnumber消息时间戳(毫秒)

使用场景

  • 客户端断线重连后补拉错过的消息
  • 网络不稳定场景下的消息补偿机制

相关文档