我需要从MUC内的所有用户获取XMPP用户组和用户本身(" me")。我想使用它们在candy xmpp客户端中设置一些权限。
此问题没有插件。在candy.min.js里面我发现了这个功能:
Candy.Core.Contact.prototype.getGroups = function() {
return this.data.groups; };
我在文档中没有找到关于它的任何注释,也没有在其他代码/插件中找到任何关联。也许,这个功能甚至不起作用。
我试着写自己的插件。但我在JS方面并不那么深刻。调用getGroups()函数对我来说不起作用。
我可以使用openfire(xmpp服务器)中的REST API读取用户组数据。因此权限或数据没有问题。通常可以在此配置中获取用户组数据。但我真的很想在糖果聊天插件中找到一个更清洁的解决方案。
Candy中有一些核心功能,允许通过strophe.js发送查询。我还没有得到它。但我认为,有一种方法可以使用它们来获取userGroups。它们看起来像这个例子来设置用户密码。:
var pwChangeRequest = $iq({
type: 'set',
to: 'shakespeare.lit'
})
.c('query', {xmlns: 'jabber:iq:register'})
.c('username').t('bill').up()
.c('password').t('newpass');
Candy.Core.getConnection().sendIQ(
pwChangeRequest,
function () {
console.log("Password change was successful.")
},
function (responseStanza) {
console.log("Password change failed.");
console.log(responseStanza);
}
);

那么,我如何更改此代码段以请求XMPP用户组?
我也喜欢RTFM :)但我没有找到任何解释为CANDY< - >糖果插件< - > prototype / strophe / stanza< - > XMPP(openfire)通信。有东西给我读?