调整websocket连接状态事件发布
This commit is contained in:
parent
0a08789fbd
commit
7fe73a8334
@ -288,7 +288,7 @@ export interface GraphicAppEvents extends GlobalMixins.GraphicAppEvents {
|
|||||||
drag_op_end: [event: AppDragEvent];
|
drag_op_end: [event: AppDragEvent];
|
||||||
'pre-menu-handle': [menu: MenuItemOptions];
|
'pre-menu-handle': [menu: MenuItemOptions];
|
||||||
'post-menu-handle': [menu: MenuItemOptions];
|
'post-menu-handle': [menu: MenuItemOptions];
|
||||||
'websocket-state-change': [app: GraphicApp, connected: boolean];
|
'websocket-connect-state-change': [connected: boolean];
|
||||||
destroy: [app: GraphicApp];
|
destroy: [app: GraphicApp];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,8 +65,7 @@ export class StompCli {
|
|||||||
|
|
||||||
StompCli.client.onConnect = () => {
|
StompCli.client.onConnect = () => {
|
||||||
// console.log('websocket连接(重连),重新订阅', StompCli.appMsgBroker.length)
|
// console.log('websocket连接(重连),重新订阅', StompCli.appMsgBroker.length)
|
||||||
StompCli.connected = true;
|
StompCli.emitConnectStateChangeEvent(true);
|
||||||
StompCli.emitConnectStateChangeEvent();
|
|
||||||
StompCli.appMsgBroker.forEach((broker) => {
|
StompCli.appMsgBroker.forEach((broker) => {
|
||||||
broker.resubscribe();
|
broker.resubscribe();
|
||||||
});
|
});
|
||||||
@ -87,13 +86,11 @@ export class StompCli {
|
|||||||
|
|
||||||
StompCli.client.onDisconnect = (frame: Frame) => {
|
StompCli.client.onDisconnect = (frame: Frame) => {
|
||||||
console.log('Stomp 断开连接', frame);
|
console.log('Stomp 断开连接', frame);
|
||||||
StompCli.connected = false;
|
StompCli.emitConnectStateChangeEvent(false);
|
||||||
StompCli.emitConnectStateChangeEvent();
|
|
||||||
};
|
};
|
||||||
StompCli.client.onWebSocketClose = (evt: CloseEvent) => {
|
StompCli.client.onWebSocketClose = (evt: CloseEvent) => {
|
||||||
console.log('websocket 关闭', evt);
|
console.log('websocket 关闭', evt);
|
||||||
StompCli.connected = false;
|
StompCli.emitConnectStateChangeEvent(false);
|
||||||
StompCli.emitConnectStateChangeEvent();
|
|
||||||
};
|
};
|
||||||
// websocket错误处理
|
// websocket错误处理
|
||||||
StompCli.client.onWebSocketError = (err: Event) => {
|
StompCli.client.onWebSocketError = (err: Event) => {
|
||||||
@ -103,9 +100,10 @@ export class StompCli {
|
|||||||
StompCli.client.activate();
|
StompCli.client.activate();
|
||||||
}
|
}
|
||||||
|
|
||||||
static emitConnectStateChangeEvent() {
|
static emitConnectStateChangeEvent(connected: boolean) {
|
||||||
|
StompCli.connected = connected;
|
||||||
StompCli.appMsgBroker.forEach((broker) => {
|
StompCli.appMsgBroker.forEach((broker) => {
|
||||||
broker.app.emit('websocket-state-change', broker.app, StompCli.connected);
|
broker.app.emit('websocket-connect-state-change', connected);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user