Reactjs 自定义插件实现节js存在问题
我已经试着把这一节寄给你来改变房间的主题Reactjs 自定义插件实现节js存在问题,reactjs,xmpp,stanza.io,iq,Reactjs,Xmpp,Stanza.io,Iq,我已经试着把这一节寄给你来改变房间的主题 <iq from='hag66@shakespeare.lit/pda' id='subject1' to='coven@muclight.shakespeare.lit' type='set'> <query xmlns='urn:xmpp:muclight:0#configuration'> <subject>To be or not to be?</subje
<iq from='hag66@shakespeare.lit/pda'
id='subject1'
to='coven@muclight.shakespeare.lit'
type='set'>
<query xmlns='urn:xmpp:muclight:0#configuration'>
<subject>To be or not to be?</subject>
</query>
</iq
import { Agent, JXT } from 'stanza';
import { IQType } from 'stanza/Constants';
export interface MyStanza {
subject: string;
}
declare module 'stanza' {
export interface Agent {
sendMyStanza(jid: string, data: string): void;
}
export interface AgentEvents {
mystanza: IQType & { mystanza: MyStanza };
}
namespace Stanzas {
export interface IQType {
mystanza?: MyStanza;
}
}
}
export default function (client: Agent, stanzas: JXT.Registry) {
const NS = 'urn:xmpp:muclight:0#configuration';
stanzas.define({
element: 'query',
namespace: NS,
fields: {
subject: JXT.childText(null, 'subject'),
},
});
client.sendMyStanza = (jid: string, data: string)=> {
client.sendIQ({
id:'subject1',
type:"set",
to:jid,
mystanza: {
subject:data
}
});
};
client.on('iq', iq => {
console.log(iq)
});
};
APP.js
我导出自定义插件并在use effect组件中使用它。。但是我得到了错误的请求
import Roomsubject from './roomsubject.tsx';
function App() {
useEffect(() => {
const client = XMPP.createClient({
jid: "92333@chat.com",
password: "123456",
transports: {
websocket: "ws://chat.com:1234/ws-xmpp",
}
});
client.use(Roomsubject);
client.on('session:started', async() => {
try {
await client.sendMyStanza("644727e2-3600@muclight.chat..com","test")
} catch (error) {
alert(error)
}
});
client.connect();
}, []);
正在发送的IQ
<iq xmlns="jabber:client" id="29a7e0d6-26ae-4a16-bd1b-e1b9f6aae446" type="set" to="644727e2-3600-@muclight.chat.com"/>
响应
<iq from='644727e2-3600@muclight.chat.com' to='92333594@chat.i.com/0fd1f99427c80e891600-3352860' type='error' xml:lang='en' xmlns='jabber:client'
id='29a7e0d6-26ae-4a16-bd1b-e1b9f6aae446'><error code='400' type='modify'><bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>