diff --git a/src/common/framework/event.ts b/src/common/framework/event.ts index 46b2398b..6e769c79 100644 --- a/src/common/framework/event.ts +++ b/src/common/framework/event.ts @@ -1,5 +1,4 @@ import type { NodeIQQNTWrapperSession, WrapperNodeApi } from "@/core/wrapper/wrapper"; -import { randomUUID } from "node:crypto"; import EventEmitter from "node:events"; export type ListenerClassBase = Record; diff --git a/src/onebot/network/active-http.ts b/src/onebot/network/active-http.ts index 19d8f521..9a019394 100644 --- a/src/onebot/network/active-http.ts +++ b/src/onebot/network/active-http.ts @@ -9,6 +9,9 @@ export class OB11ActiveHttpAdapter implements IOB11NetworkAdapter { constructor(url: string) { this.url = url; } + registerHeartBeat() { + //HttpPost心跳 + } registerAction, P, R>(action: T) { this.actionMap.set(action.actionName, action); @@ -22,13 +25,13 @@ export class OB11ActiveHttpAdapter implements IOB11NetworkAdapter { }, body: JSON.stringify(event) }) - .then(response => response.json()) - .then(data => { - console.log('Event sent successfully:', data); - }) - .catch(error => { - console.error('Failed to send event:', error); - }); + .then(response => response.json()) + .then(data => { + console.log('Event sent successfully:', data); + }) + .catch(error => { + console.error('Failed to send event:', error); + }); } async open() { diff --git a/src/onebot/network/active-websocket.ts b/src/onebot/network/active-websocket.ts index 5de14540..e825099e 100644 --- a/src/onebot/network/active-websocket.ts +++ b/src/onebot/network/active-websocket.ts @@ -18,6 +18,10 @@ export class OB11ActiveWebSocketAdapter implements IOB11NetworkAdapter { this.reconnectIntervalInMillis = reconnectIntervalInMillis; } + registerHeartBeat() { + //WS反向心跳 + } + registerAction, P, R>(action: T) { this.actionMap.set(action.actionName, action); } diff --git a/src/onebot/network/index.ts b/src/onebot/network/index.ts index 673c4e4d..96a11b5a 100644 --- a/src/onebot/network/index.ts +++ b/src/onebot/network/index.ts @@ -7,3 +7,22 @@ export interface IOB11NetworkAdapter { open(): void | Promise; close(): void | Promise; } +export class OB11NetworkManager { + private adapters: IOB11NetworkAdapter[] = []; + + registerAdapter(adapter: IOB11NetworkAdapter) { + this.adapters.push(adapter); + } + + async open() { + await Promise.all(this.adapters.map(adapter => adapter.open())); + } + + async close() { + await Promise.all(this.adapters.map(adapter => adapter.close())); + } +} +export * from './active-http'; +export * from './active-websocket'; +export * from './passive-http'; +export * from './passive-websocket'; \ No newline at end of file diff --git a/src/onebot/network/passive-http.ts b/src/onebot/network/passive-http.ts index 8f28208a..433e2d10 100644 --- a/src/onebot/network/passive-http.ts +++ b/src/onebot/network/passive-http.ts @@ -19,7 +19,9 @@ export class OB11PassiveHttpAdapter implements IOB11NetworkAdapter { registerAction, P, R>(action: T) { this.actionMap.set(action.actionName, action); } - + registerHeartBeat() { + //空心跳 + } onEvent(event: T) { // 事件处理逻辑可以在这里实现 } diff --git a/src/onebot/network/passive-websocket.ts b/src/onebot/network/passive-websocket.ts index d32bd3ff..2ed2c5a0 100644 --- a/src/onebot/network/passive-websocket.ts +++ b/src/onebot/network/passive-websocket.ts @@ -48,7 +48,9 @@ export class OB11PassiveWebSocketAdapter implements IOB11NetworkAdapter { registerAction, P, R>(action: T) { this.actionMap.set(action.actionName, action); } - + registerHeartBeat() { + //WS正向心跳 + } onEvent(event: T) { this.wsClientsMutex.runExclusive(async () => { this.wsClients.forEach((wsClient) => {