Converse.js: Как отобразить полное имя с vCard в чате
Я использую библиотеку https://conversejs.org/ для создания клиента XMPP, но я не могу понять, как отобразить полное имя пользователя (если есть) из vCard вместо имени пользователя в чате.
Есть какое-то простое решение для конфигурации, или мне нужно написать собственный плагин для него?
1 ответ
Если у пользователя задано полное имя в VCard, оно будет автоматически установлено в окне чата, как только VCard будет получена.
Вы можете получить это через converse.chats.open(jid).get('fullname')
,
ОБНОВЛЕНИЕ: в версиях 3.0.0 и выше, вам необходимо зарегистрировать плагин, а затем в плагине вы можете получить его через:
_converse.api.chats.open(jid).get('fullname')
Это происходит асинхронно, поэтому вы можете столкнуться с проблемами синхронизации, когда вы пытаетесь получить полное имя до того, как VCard будет возвращена.
Если вы пишете свой собственный пользовательский вид, который вы хотите обновлять автоматически при установке материала, вам нужно будет написать плагин, чтобы иметь доступ к лежащему в основе ChatBox Backbone.Model и добавить прослушиватель событий для fullname
,