From 32ba94c1f0fbe453f720a06a3363075b700968c9 Mon Sep 17 00:00:00 2001 From: Li Zhineng Date: Fri, 18 Jul 2025 10:52:16 +0800 Subject: centralize messages --- packages/airmx/src/airmx.ts | 3 ++- packages/airmx/src/eagle.ts | 14 ++------------ packages/airmx/src/message.ts | 15 ++++++++++++++- 3 files changed, 18 insertions(+), 14 deletions(-) (limited to 'packages') diff --git a/packages/airmx/src/airmx.ts b/packages/airmx/src/airmx.ts index 66379e0..cd7aeaf 100644 --- a/packages/airmx/src/airmx.ts +++ b/packages/airmx/src/airmx.ts @@ -1,6 +1,7 @@ import crypto from 'crypto' import { MqttClient } from 'mqtt' -import { EagleControlMesasge, EagleStatus } from './eagle.js' +import { EagleStatus } from './eagle.js' +import { EagleControlMesasge } from './message.js' import { SnowStatus } from './snow.js' import type { Config, SnowListener, EagleListener, EagleControlData } from './types.js' import { Command } from './types.js' diff --git a/packages/airmx/src/eagle.ts b/packages/airmx/src/eagle.ts index 7a1e313..d50096c 100644 --- a/packages/airmx/src/eagle.ts +++ b/packages/airmx/src/eagle.ts @@ -1,6 +1,5 @@ -import { CommandMessage } from './message.js' -import type { Message, EagleStatusData, EagleControlData } from './types.js' -import { EagleMode, MessageSource } from './types.js' +import type { Message, EagleStatusData } from './types.js' +import { EagleMode } from './types.js' export class EagleStatus { constructor( @@ -104,12 +103,3 @@ export class EagleStatus { return this.message.data.version } } - -export class EagleControlMesasge extends CommandMessage { - static make(data: EagleControlData) { - const timestamp = Math.floor(new Date().getTime() / 1000) - return new EagleControlMesasge( - 100, 'control', data, timestamp, MessageSource.App_Android - ) - } -} diff --git a/packages/airmx/src/message.ts b/packages/airmx/src/message.ts index d21dc44..6bac4f5 100644 --- a/packages/airmx/src/message.ts +++ b/packages/airmx/src/message.ts @@ -1,4 +1,4 @@ -import type { InstantPushData } from './types.js' +import type { EagleControlData, InstantPushData } from './types.js' import { MessageSource } from './types.js' export class CommandMessage { @@ -44,3 +44,16 @@ export class InstantPushMessage extends CommandMessage { ) } } + +export class EagleControlMesasge extends CommandMessage { + static commandId() { + return 100 + } + + static make(data: EagleControlData) { + const timestamp = Math.floor(new Date().getTime() / 1000) + return new EagleControlMesasge( + this.commandId(), 'control', data, timestamp, MessageSource.App_Android + ) + } +} -- cgit v1.2.3