1
This commit is contained in:
@@ -92,6 +92,8 @@ module.exports = {
|
||||
deviceName: accountData.name || accountData.sn_code,
|
||||
platform: accountData.platform_type,
|
||||
isOnline: onlineStatus.isOnline || false,
|
||||
is_online: onlineStatus.isOnline || false, // 前端使用的字段名
|
||||
is_logged_in: onlineStatus.isLoggedIn || false, // 从 deviceManager 内存中获取登录状态
|
||||
isRunning: false, // 不再维护运行状态
|
||||
lastHeartbeatTime: onlineStatus.lastHeartbeat ? new Date(onlineStatus.lastHeartbeat) : null,
|
||||
accountName: accountData.name,
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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 || {}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user