gx
chenyc
2026-09-24 ebb8329b667a3ab8b6ce3cd9f765142a6fd0efcc
gateway.js
@@ -503,12 +503,18 @@
            return p != null ? p.value : undefined;
        };
        // 将 YYYYMMDDHHmmss 格式化为 yyyy-MM-dd HH:mm:ss
        const rawTs = frameData.timestamp || '';
        const formattedTime = rawTs.length >= 14
            ? `${rawTs.slice(0,4)}-${rawTs.slice(4,6)}-${rawTs.slice(6,8)} ${rawTs.slice(8,10)}:${rawTs.slice(10,12)}:${rawTs.slice(12,14)}`
            : (rawTs || null);
        // 构造与物模型一致的扁平 payload,所有字段在同一层
        const mqttPayload = {
            ts: Date.now(),                                      // 毫秒时间戳
            suedtime: frameData.timestamp || null,               // 帧原始时间(YYYYMMDDHHmmss)
            deviceId: frameData.deviceName || null,              // 设备唯一标识(用name)
            suedtime: formattedTime,                             // 帧时间(yyyy-MM-dd HH:mm:ss)
            deviceNo: frameData.device || null,                  // 机器序列号
            n: frameData.deviceName || null,                      // 设备名称 (作为 deviceKey 使用) 配置在 gateway.config.json 中device.name字段
            deviceType: this.config.deviceType || 'Artis',      // 设备型号
            IPAddress: frameData.source?.host || null,           // 设备 IP
            zljd: pick(0),    // 治疗阶段