From cd40c6f6f3a6138cb70b2e2d017cc7f34a887ef8 Mon Sep 17 00:00:00 2001
From: lgq <1015864684@qq.com>
Date: 星期五, 17 四月 2026 13:59:49 +0800
Subject: [PATCH] 1.更新vf107代码,更新自动上报通行记录接口、人员查询接口、人员添加接口
---
vf107/src/worker/netWorker.js | 64 ++++++++++++++++++++++---------
1 files changed, 45 insertions(+), 19 deletions(-)
diff --git a/vf107/src/worker/netWorker.js b/vf107/src/worker/netWorker.js
index c068030..da189d0 100644
--- a/vf107/src/worker/netWorker.js
+++ b/vf107/src/worker/netWorker.js
@@ -31,6 +31,8 @@
// 缃戠粶鐘舵�佽窡韪彉閲�
let lastConnected = false // 涓婃杩炴帴鐘舵��
let shouldReconnect = false
+let lastReconnectTime = 0 // 涓婃閲嶈繛鏃堕棿
+const RECONNECT_INTERVAL = 15000 // 閲嶈繛闂撮殧锛堟绉掞級
const net_map = map.get("NET")
/**
* 鏍规嵁閰嶇疆寤虹珛缃戠粶杩炴帴
@@ -42,6 +44,12 @@
*/
function connect() {
try {
+ // 濡傛灉缃戠粶宸茬粡杩炴帴锛屼笉闇�瑕侀噸杩�
+ if (net.isConnected()) {
+ logger.info("NET already connected, skip connect")
+ return 0
+ }
+
let res = 0;
// 鑾峰彇缃戠粶閰嶇疆
let dhcp = config.get("net.dhcp") == 2 // DHCP鍚敤鏍囧織
@@ -119,7 +127,10 @@
logger.info("NET connect res:", res);
if (res < 0) {
//灏忎簬0骞朵笉鏄〃绀虹綉缁滆繛鎺ュけ璐ワ紝鑰屾槸涓�涓壒娈婄殑閿欒锛屽彲浠ラ噸璇曚竴娆″氨鍙互
- shouldReconnect = true
+ const currentTime = Date.now()
+ if (currentTime - lastReconnectTime >= RECONNECT_INTERVAL) {
+ shouldReconnect = true
+ }
}
return res;
} catch (error) {
@@ -187,28 +198,43 @@
if (net.getNative()) {
net.loop(); // 鎵ц缃戠粶寰幆澶勭悊
}
+
+ // 鍏堟鏌ョ綉缁滆繛鎺ョ姸鎬�
+ if (net.isConnected()) {
+ let param = driver.net.getNetParam()
+ if (!lastConnected || lastConnectedIp != param.ip) {
+ bus.fire(driver.net.CONNECTED_CHANGED, "connected")
+ lastConnected = true
+ net_map.put("NET_STATUS", "connected")
+ lastConnectedIp = param.ip
+ }
+ } else {
+ logger.info("NET not isConnected");
+ // if (lastConnected) {
+ bus.fire(driver.net.CONNECTED_CHANGED, "disconnected")
+ lastConnected = false
+ net_map.put("NET_STATUS", "disconnected")
+ // 鑷姩瑙﹀彂閲嶈繛
+ shouldReconnect = true
+ // }
+ }
+
+ // 鐒跺悗妫�鏌ユ槸鍚﹂渶瑕侀噸杩�
if (shouldReconnect) {
- logger.info("NET shouldReconnect");
- shouldReconnect = false
- connect()
+ const currentTime = Date.now()
+ if (currentTime - lastReconnectTime >= RECONNECT_INTERVAL) {
+ logger.info("NET shouldReconnect");
+ shouldReconnect = false
+ lastReconnectTime = currentTime
+ connect()
+ } else {
+ // 閲嶈繛闂撮殧涓嶈冻锛屽彇娑堥噸杩�
+ shouldReconnect = false
+ // logger.info("NET reconnect skipped, interval not reached")
+ }
}
} catch (error) {
logger.error(error)
- }
- if (net.isConnected()) {
- let param = driver.net.getNetParam()
- if (!lastConnected || lastConnectedIp != param.ip) {
- bus.fire(driver.net.CONNECTED_CHANGED, "connected")
- lastConnected = true
- net_map.put("NET_STATUS", "connected")
- lastConnectedIp = param.ip
- }
- } else {
- if (lastConnected) {
- bus.fire(driver.net.CONNECTED_CHANGED, "disconnected")
- lastConnected = false
- net_map.put("NET_STATUS", "disconnected")
- }
}
}, 5000)
}
--
Gitblit v1.9.3