我正在尝试使用以下功能为我的 webapp 实现聊天:
- 当用户登录时,他应该会看到一些未读消息(这既是离线消息又是“未见”,我将在下一步中解释“未见”)。
- 当用户在应用程序中的任何位置但在聊天窗口中时,应通知他有新消息。消息应标记为“未见”,并且必须添加到未读消息的计数中。
使用 XEP-0013:灵活的离线消息检索很容易实现第一点。所以我可以检索离线消息,当我确定用户已经看到它们时 - 我将它们从未读列表中删除。但问题是:我如何为“看不见的”消息实现同样的目标?
简而言之,我需要的是:任何消息都应标记为脱机,除非用户看到它并通过显式请求将其从列表中删除。
我可以使用 XMPP 实现这一目标吗?我该怎么做?
提前致谢。