diff options
| author | Li Zhineng <[email protected]> | 2025-07-18 10:52:16 +0800 |
|---|---|---|
| committer | Li Zhineng <[email protected]> | 2025-07-18 10:52:16 +0800 |
| commit | 32ba94c1f0fbe453f720a06a3363075b700968c9 (patch) | |
| tree | 0c7bbbf17854f5454a5faaf360e751665629beab /packages | |
| parent | 9d8eebb54c7eddd8fd5ca7009339d994bcf0ed2c (diff) | |
| download | airmx-32ba94c1f0fbe453f720a06a3363075b700968c9.tar.gz airmx-32ba94c1f0fbe453f720a06a3363075b700968c9.zip | |
centralize messages
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/airmx/src/airmx.ts | 3 | ||||
| -rw-r--r-- | packages/airmx/src/eagle.ts | 14 | ||||
| -rw-r--r-- | packages/airmx/src/message.ts | 15 |
3 files changed, 18 insertions, 14 deletions
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<EagleControlData> { - 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<T> { @@ -44,3 +44,16 @@ export class InstantPushMessage extends CommandMessage<InstantPushData> { ) } } + +export class EagleControlMesasge extends CommandMessage<EagleControlData> { + 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 + ) + } +} |
