From 7cfe3332f016d7def7ca8ad25ed8bbdc33d23ed2 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期二, 09 十二月 2025 14:52:41 +0800
Subject: [PATCH] gxhttp服务

---
 index.js |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/index.js b/index.js
index 2b941f8..0bcbd9e 100644
--- a/index.js
+++ b/index.js
@@ -9,9 +9,11 @@
 const appPath = process.pkg ? path.dirname(process.execPath) : __dirname;
 const mqttConfigPath = path.join(appPath, 'mqtt.json');
 const aliyunConfigPath = path.join(appPath, 'aliyun.json');
+const httpConfigPath = path.join(appPath, 'httpConfig.json');
 
 const mqttConfig = JSON.parse(fs.readFileSync(mqttConfigPath, 'utf8'));
 const aliyunConfig=JSON.parse(fs.readFileSync(aliyunConfigPath, 'utf8'))
+const httpConfig = JSON.parse(fs.readFileSync(httpConfigPath, 'utf8'));
 
 
 console.log(aliyunConfig)
@@ -26,6 +28,8 @@
 const aliyunIot = require('aliyun-iot-device-sdk');
 const { getAliyunDeviceSecret } = require('./api');
 const toModel = require('./Strholp');
+const dataCache = require('./dataCache');
+const HttpServer = require('./httpServer');
 
 // 初始化 MQTT(独立于阿里云)
 initMqtt(mqttConfig);
@@ -189,6 +193,10 @@
             const masData = toModel(message);
             deviceInfo.iotDeviceNo = masData.n;
             deviceInfo.masData = masData;
+            
+            // ✅【新增】缓存数据到内存(按设备序号)
+            dataCache.setDeviceData(masData.n, masData);
+            
             // ✅【核心改动】收到数据立即发 MQTT(不管阿里云)
             if (mqttConfig.enabled) {
                 const topic = `${mqttConfig.defaultTopicPrefix}/${masData.n}`;
@@ -320,4 +328,9 @@
 const PORT = process.env.PORT || 10961;
 server.listen(PORT, () => {
     logger.info(`Socket 服务已启动,监听超级端口: ${PORT}`);
-});
\ No newline at end of file
+});
+
+// ========== 启动 HTTP 服务 ==========
+const HTTP_PORT = process.env.HTTP_PORT || httpConfig.port || 8080;
+const httpServer = new HttpServer(HTTP_PORT, httpConfig);
+httpServer.start();
\ No newline at end of file

--
Gitblit v1.8.0