Converse.js 中用户多用户聊天的持久性
Persistence for user Multi-User Chat in Converse.js
我想从 ejabberd 检索所有聊天对话,即使在我注销、关闭浏览器并重新登录后也是如此。请提出任何方法来做到这一点。我正在使用 converse.js。我应该在相反的配置中添加一些东西来检索聊天对话吗?
基本上,我想要 Facebook 那种聊天方式,我们可以在登录后检索每个用户之间的聊天对话。
这是我的 converse.js 配置:
converse.initialize({
websocket_url: webSocketUrl, // ConnectionUrl
keepalive: true,
message_carbons: true,
play_sounds: true,
auto_login: true,
jid: user,
password: password,
show_controlbox_by_default: false,
auto_list_rooms:true,
allow_logout: false,
allow_registration: false,
});
Converse.js 支持 XMPP 扩展 XEP-0313 Message Archive Management (MAM).
您需要确保您的 XMPP 服务器支持 MAM。 Ejabberd 15.06 支持。您需要在 Ejabberd 的配置文件中打开它。
在converse.js中,调用converse.initialize
.[=20=时,你想把roster
或always
的值传给message_archiving ]
例如:
converse.initialize({
// Your other options go here...
message_archiving: 'always'
});
roster
意味着只有您名册中的联系人之间的消息才会被存档。 always
当然意味着消息总是被归档。
还有相关选项archived_messages_page_size,您可以使用它来设置一次获取多少条消息。
我想从 ejabberd 检索所有聊天对话,即使在我注销、关闭浏览器并重新登录后也是如此。请提出任何方法来做到这一点。我正在使用 converse.js。我应该在相反的配置中添加一些东西来检索聊天对话吗?
基本上,我想要 Facebook 那种聊天方式,我们可以在登录后检索每个用户之间的聊天对话。
这是我的 converse.js 配置:
converse.initialize({
websocket_url: webSocketUrl, // ConnectionUrl
keepalive: true,
message_carbons: true,
play_sounds: true,
auto_login: true,
jid: user,
password: password,
show_controlbox_by_default: false,
auto_list_rooms:true,
allow_logout: false,
allow_registration: false,
});
Converse.js 支持 XMPP 扩展 XEP-0313 Message Archive Management (MAM).
您需要确保您的 XMPP 服务器支持 MAM。 Ejabberd 15.06 支持。您需要在 Ejabberd 的配置文件中打开它。
在converse.js中,调用converse.initialize
.[=20=时,你想把roster
或always
的值传给message_archiving ]
例如:
converse.initialize({
// Your other options go here...
message_archiving: 'always'
});
roster
意味着只有您名册中的联系人之间的消息才会被存档。 always
当然意味着消息总是被归档。
还有相关选项archived_messages_page_size,您可以使用它来设置一次获取多少条消息。