This commit is contained in:
张成
2025-12-18 18:10:24 +08:00
parent 06d11c1edc
commit 52489cdc86
3 changed files with 17 additions and 4 deletions

View File

@@ -288,8 +288,13 @@ class MqttDispatcher {
// return;
// }
// 记录心跳到设备管理器
await deviceManager.recordHeartbeat(sn_code, heartbeatData);
// 记录心跳到设备管理器(包含登录状态)
const heartbeatPayload = {
isLoggedIn: updateData.isLoggedIn || false,
...heartbeatData
};
console.log(`[MQTT心跳] 传递给 deviceManager 的数据:`, { sn_code, isLoggedIn: heartbeatPayload.isLoggedIn });
await deviceManager.recordHeartbeat(sn_code, heartbeatPayload);
} catch (error) {
console.error('[MQTT心跳] 处理心跳消息失败:', error);
}

View File

@@ -64,6 +64,7 @@ class DeviceManager {
if (!this.devices.has(sn_code)) {
this.devices.set(sn_code, {
isOnline: true,
isLoggedIn: heartbeatData.isLoggedIn || false,
lastHeartbeat: now,
dailyCounts: { date: utils.getTodayString(), searchCount: 0, applyCount: 0, chatCount: 0 }
});
@@ -72,6 +73,10 @@ class DeviceManager {
const device = this.devices.get(sn_code);
device.isOnline = true;
device.lastHeartbeat = now;
// 更新登录状态
if (heartbeatData.isLoggedIn !== undefined) {
device.isLoggedIn = heartbeatData.isLoggedIn;
}
}
/**
@@ -181,6 +186,7 @@ class DeviceManager {
for (const [sn_code, device] of this.devices.entries()) {
result[sn_code] = {
isOnline: device.isOnline,
isLoggedIn: device.isLoggedIn || false,
lastHeartbeat: device.lastHeartbeat,
dailyCounts: device.dailyCounts || {}
};