2

我正在尝试使用以下功能为我的 webapp 实现聊天:

  • 当用户登录时,他应该会看到一些未读消息(这既是离线消息又是“未见”,我将在下一步中解释“未见”)。
  • 当用户在应用程序中的任何位置但在聊天窗口中时,应通知他有新消息。消息应标记为“未见”,并且必须添加到未读消息的计数中。

使用 XEP-0013:灵活的离线消息检索很容易实现第一点。所以我可以检索离线消息,当我确定用户已经看到它们时 - 我将它们从未读列表中删除。但问题是:我如何为“看不见的”消息实现同样的目标?

简而言之,我需要的是:任何消息都应标记为脱机,除非用户看到它并通过显式请求将其从列表中删除。

我可以使用 XMPP 实现这一目标吗?我该怎么做?

提前致谢。

4

1 回答 1

3

您要做的基本上是在您的帐户中存储一个看不见的东西的计数器。我认为您不需要灵活的离线检索,因为当您连接消息时,它们会变得不可见。因此,您只需要处理一种情况:Unseen。

我将从 ejabberd 的角度回答,作为开发人员之一,我更了解:我会使用私有存储来存储您当前的未见计数和对话状态。

于 2015-05-26T07:48:27.600 回答