Javascript Quickblox:阻止WEB聊天中的取消阻止和阻止列表

Javascript Quickblox:阻止WEB聊天中的取消阻止和阻止列表,javascript,quickblox,web-chat,Javascript,Quickblox,Web Chat,我想在我的聊天web应用程序中添加阻止、取消阻止和检索阻止用户列表的功能 为此,我修改了quickblox.js,添加了新函数以获得下面的blocklist\u enableCarbons()函数: getBlockList: function() { iq = $iq({ //from: connection.jid, //Also tried to sent this but same response was received type

我想在我的聊天web应用程序中添加阻止、取消阻止和检索阻止用户列表的功能

为此,我修改了quickblox.js,添加了新函数以获得下面的blocklist
\u enableCarbons()
函数:

getBlockList: function() {
        iq = $iq({
        //from: connection.jid,    //Also tried to sent this but same response was received
        type: 'get',
        id: connection.getUniqueId('sendIQ')
    }).c('blocklist', {
        xmlns: "urn:xmpp:blocking"
    });

    connection.sendIQ(iq, function(stanza) {
      console.log("response of getBlockList",stanza);
      callback();
    });
}
调用上述函数时,以下xml将发送到服务器:

<iq type="get" id="3:sendIQ" xmlns="jabber:client">
    <blocklist xmlns="urn:xmpp:blocking"></blocklist>
</iq>
这将发送以下XML:

<iq from="userid-appId@chat.quickblox.com/1220770403-quickblox-233195" type="set" id="3:sendIQ" xmlns="jabber:client">
<query xmlns="jabber:iq:privacy">
    <list name="public">
        <item type="jid" value="idOfUserToBlock-appId@chat.quickblox.com" action="deny" order="1444815897276"></item>
    </list>
</query>
</iq>

我从服务器得到的响应是:

<iq id="3:sendIQ" to="chatID-appID@chat.quickblox.com/1220770403-quickblox-233195" type="error" xmlns="jabber:client">
<query xmlns="jabber:iq:privacy">
    <list name="public">
        <item value="blockChatID-appID@chat.quickblox.com" action="deny" order="1444815897276" type="jid"></item>
    </list>
</query>
<error type="modify" code="400">
    <bad-request xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></bad-request>
</error>


在此处输入代码

QuickBlox使用XEP-0016隐私列表进行阻止功能


请遵循它,而不是0191

QuickBlox使用XEP-0016隐私列表进行阻止功能


请遵循它,而不是0191

隐私列表API从1.17.1版QuickBlox Javascript SDK开始提供

这也是API文档


隐私列表API从1.17.1版QuickBlox Javascript SDK开始提供

这也是API文档


我也尝试过,但响应错误,请求不正确。我刚刚更新了上面的帖子,请检查并让我知道其中的错误。必须包含“order”属性,并且其值必须是非负整数,在列表中的所有项目中是唯一的。(如果客户端试图创建或更新具有非唯一订单值的列表,服务器必须向客户端返回一个节错误。)在发送在列表中添加项目的请求时,如何识别订单号是唯一的。您可能可以使用UserID作为订单,它始终是唯一的unique@IgorKhomenko:谢谢你的回复,我可以在隐私列表中添加用户,但在检索列表时,它总是返回我最后添加的用户。在列表中添加新用户时,是否需要再次添加先前添加的所有用户?请如果你能帮助我提供一个样本代码,那么这将是一个很大的帮助。此外,我的隐私列表中的用户仍然可以向我发送消息。你能解释一下为什么和什么时候会发生这种情况吗?我也试过了,但收到了错误的请求。我刚刚更新了上面的帖子,请检查并让我知道其中的错误。必须包含“order”属性,并且其值必须是非负整数,在列表中的所有项目中是唯一的。(如果客户端试图创建或更新具有非唯一订单值的列表,服务器必须向客户端返回一个节错误。)在发送在列表中添加项目的请求时,如何识别订单号是唯一的。您可能可以使用UserID作为订单,它始终是唯一的unique@IgorKhomenko:谢谢你的回复,我可以在隐私列表中添加用户,但在检索列表时,它总是返回我最后添加的用户。在列表中添加新用户时,是否需要再次添加先前添加的所有用户?请如果你能帮助我提供一个样本代码,那么这将是一个很大的帮助。此外,我的隐私列表中的用户仍然可以向我发送消息。你能解释一下发生这种情况的原因和时间吗。
<iq from="userid-appId@chat.quickblox.com/1220770403-quickblox-233195" type="set" id="3:sendIQ" xmlns="jabber:client">
<query xmlns="jabber:iq:privacy">
    <list name="public">
        <item type="jid" value="idOfUserToBlock-appId@chat.quickblox.com" action="deny" order="1444815897276"></item>
    </list>
</query>
</iq>
<iq id="3:sendIQ" to="chatID-appID@chat.quickblox.com/1220770403-quickblox-233195" type="error" xmlns="jabber:client">
<query xmlns="jabber:iq:privacy">
    <list name="public">
        <item value="blockChatID-appID@chat.quickblox.com" action="deny" order="1444815897276" type="jid"></item>
    </list>
</query>
<error type="modify" code="400">
    <bad-request xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></bad-request>
</error>