From e44ecb571bb2df6390503f4303282e18db5d60ef Mon Sep 17 00:00:00 2001
From: lgq <1015864684@qq.com>
Date: 星期一, 20 四月 2026 13:43:52 +0800
Subject: [PATCH] 1.修复安全入仓联动控制按钮无权限问题 2.增加安全入仓联动控制配置项,默认不启用 3.修改气体浓度验证选项默认不启用 4.增加门禁web页面源码 Changes to be committed: new file: "face_webserver/ modified: vf107/src/config.json modified: vf107/src/service/grainService.js modified: vf107/src/view/config/menu/doorControlView.js modified: vf107/src/view/mainView.js
---
vf107/src/service/grainService.js | 68 ++++++++++++++++++++++-----------
1 files changed, 45 insertions(+), 23 deletions(-)
diff --git a/vf107/src/service/grainService.js b/vf107/src/service/grainService.js
index ee4a283..83dc0dc 100644
--- a/vf107/src/service/grainService.js
+++ b/vf107/src/service/grainService.js
@@ -13,21 +13,25 @@
const grainService = {}
// 浠庨厤缃腑鑾峰彇涓氬姟缂栫爜瀹氫箟
-const functionId = {
- gasDetection: config.get('functionId.gasDetection') || "1000",
- safeInputControl: config.get('functionId.safeInputControl') || "2000",
- lightControl: config.get('functionId.lightControl') || "3000",
- doorStatus: config.get('functionId.doorStatus') || "4000"
+function getFunctionId() {
+ return {
+ gasDetection: config.get('functionId.gasDetection') || "1000",
+ safeInputControl: config.get('functionId.safeInputControl') || "2000",
+ lightControl: config.get('functionId.lightControl') || "3000",
+ doorStatus: config.get('functionId.doorStatus') || "4000"
+ }
}
// 浠庨厤缃腑鑾峰彇鎺ュ彛杩斿洖缂栫爜
-const respCode = {
- success: config.get('respCode.success') || "200",
- badRequest: config.get('respCode.badRequest') || "400",
- unauthorized: config.get('respCode.unauthorized') || "401",
- forbidden: config.get('respCode.forbidden') || "403",
- notFound: config.get('respCode.notFound') || "404",
- serverError: config.get('respCode.serverError') || "500"
+function getRespCode() {
+ return {
+ success: config.get('getRespCode().success') || "200",
+ badRequest: config.get('respCode.badRequest') || "400",
+ unauthorized: config.get('respCode.unauthorized') || "401",
+ forbidden: config.get('respCode.forbidden') || "403",
+ notFound: config.get('respCode.notFound') || "404",
+ serverError: config.get('respCode.serverError') || "500"
+ }
}
// 閿欒鐮佸搴旂殑閿欒淇℃伅
@@ -36,7 +40,7 @@
"401": "鏈櫥褰曪紝鐢ㄦ埛涓嶅瓨鍦�",
"403": "鐢ㄦ埛鏃犳潈闄�",
"404": "璇锋眰鍔熻兘涓嶅瓨鍦�",
- "500": "璇锋眰鎵ц寮傚父锛岃鑱旂郴绠$悊鍛�"
+ "500": "璇锋眰鎵ц寮傚父锛岃鑱旂郴绉戦暱"
}
// 鎿嶄綔鎸夐挳瀵瑰簲鐨勮闊虫枃浠�
@@ -120,6 +124,17 @@
* @returns {boolean} true琛ㄧず姘斾綋娴撳害鍚堟牸锛宖alse琛ㄧず姘斾綋娴撳害涓嶅悎鏍�
*/
grainService.checkGasConcentration = function(callback) {
+ // 妫�鏌ユ槸鍚﹀紑鍚皵浣撴祿搴﹂獙璇�
+ const isGasDetectionEnabled = config.get('gas.verification') !== 0
+ if (!isGasDetectionEnabled) {
+ logger.info('[grain]: 姘斾綋娴撳害楠岃瘉鏈惎鐢紝鐩存帴杩斿洖')
+ // 璋冪敤鍥炶皟鍑芥暟
+ if (callback) {
+ callback()
+ }
+ return true
+ }
+
// 浣跨敤setTimeout灏咹TTP璇锋眰鏀惧叆鍚庡彴鎵ц锛岄伩鍏嶉樆濉炰富绾跨▼
std.setTimeout(() => {
try {
@@ -138,7 +153,7 @@
sn: config.get("sys.sn") || " ", // 璁惧搴忓垪鍙凤紝浠庨厤缃腑鑾峰彇
houseId: "0000", // 浠撳粧缂栫爜锛岄粯璁ゅ~鍏�"0000"
outId: "0000", // 鑷畾涔夌紪鐮侊紝榛樿濉厖"0000"
- functionId: functionId.gasDetection, // 姘斾綋娴撳害妫�娴嬪姛鑳界爜
+ functionId: getFunctionId().gasDetection, // 姘斾綋娴撳害妫�娴嬪姛鑳界爜
timestamp: Date.now().toString() // 鏃堕棿鎴�
}
@@ -163,7 +178,7 @@
logger.info(`[grain]: 瑙f瀽鍚庣殑姘斾綋娴撳害鏁版嵁: ${JSON.stringify(gasData)}`)
// 鏍规嵁鎺ュ彛杩斿洖缂栫爜杩涜鏃ュ織杈撳嚭
- if (gasData.respCode === respCode.success) {
+ if (gasData.respCode === getRespCode().success) {
logger.info(`[grain]: 姘斾綋娴撳害妫�娴嬫帴鍙h皟鐢ㄦ垚鍔焋)
} else {
logger.error(`[grain]: 姘斾綋娴撳害妫�娴嬫帴鍙h皟鐢ㄥけ璐ワ紝杩斿洖缂栫爜: ${gasData.respCode}, 杩斿洖淇℃伅: ${gasData.respMsg}`)
@@ -178,7 +193,7 @@
logger.info(`[grain]: 娓呯悊鍚庤В鏋愮殑姘斾綋娴撳害鏁版嵁: ${JSON.stringify(gasData)}`)
// 鏍规嵁鎺ュ彛杩斿洖缂栫爜杩涜鏃ュ織杈撳嚭
- if (gasData.respCode === respCode.success) {
+ if (gasData.respCode === getRespCode().success) {
logger.info(`[grain]: 姘斾綋娴撳害妫�娴嬫帴鍙h皟鐢ㄦ垚鍔焋)
} else {
logger.error(`[grain]: 姘斾綋娴撳害妫�娴嬫帴鍙h皟鐢ㄥけ璐ワ紝杩斿洖缂栫爜: ${gasData.respCode}, 杩斿洖淇℃伅: ${gasData.respMsg}`)
@@ -259,6 +274,13 @@
* @returns {boolean} true琛ㄧず鐘舵�佷俊鎭幏鍙栨垚鍔燂紝false琛ㄧず澶辫触
*/
grainService.checkDevConcentration = function(params) {
+ // 妫�鏌ユ槸鍚﹀紑鍚畨鍏ㄥ叆浠撹仈鍔ㄦ帶鍒�
+ const isSafeInputControlEnabled = config.get('safeInputControl') === 1
+ if (!isSafeInputControlEnabled) {
+ logger.info('[grain]: 瀹夊叏鍏ヤ粨鑱斿姩鎺у埗鍔熻兘鏈惎鐢�')
+ return false
+ }
+
// 浣跨敤setTimeout灏咹TTP璇锋眰鏀惧叆鍚庡彴鎵ц锛岄伩鍏嶉樆濉炰富绾跨▼
std.setTimeout(() => {
try {
@@ -277,7 +299,7 @@
sn: config.get("sys.sn") || " ", // 璁惧搴忓垪鍙凤紝浠庨厤缃腑鑾峰彇
houseId: "0000", // 浠撳粧缂栫爜锛岄粯璁ゅ~鍏�"0000"
outId: "0000", // 鑷畾涔夌紪鐮侊紝榛樿濉厖"0000"
- functionId: params && params.functionId ? params.functionId : functionId.safeInputControl, // 鍔熻兘鐮侊紝榛樿涓哄畨鍏ㄥ叆浠撹仈鍔ㄦ帶鍒�
+ functionId: params && params.functionId ? params.functionId : getFunctionId().safeInputControl, // 鍔熻兘鐮侊紝榛樿涓哄畨鍏ㄥ叆浠撹仈鍔ㄦ帶鍒�
timestamp: Date.now().toString(), // 鏃堕棿鎴�
data: {}
}
@@ -311,7 +333,7 @@
logger.info(`[grain]: 瑙f瀽鍚庣殑鐘舵�佷俊鎭暟鎹�: ${JSON.stringify(statusData)}`)
// 鏍规嵁鎺ュ彛杩斿洖缂栫爜杩涜鏃ュ織杈撳嚭
- if (statusData.respCode === respCode.success) {
+ if (statusData.respCode === getRespCode().success) {
logger.info(`[grain]: 鐘舵�佷俊鎭帴鍙h皟鐢ㄦ垚鍔焋)
// 妫�鏌ata鏄惁涓虹┖锛屼笉涓虹┖鎵嶈Е鍙戦�氱煡
if (Object.keys(postData.data).length > 0) {
@@ -364,7 +386,7 @@
logger.info(`[grain]: 娓呯悊鍚庤В鏋愮殑鐘舵�佷俊鎭暟鎹�: ${JSON.stringify(statusData)}`)
// 鏍规嵁鎺ュ彛杩斿洖缂栫爜杩涜鏃ュ織杈撳嚭
- if (statusData.respCode === respCode.success) {
+ if (statusData.respCode === getRespCode().success) {
logger.info(`[grain]: 鐘舵�佷俊鎭帴鍙h皟鐢ㄦ垚鍔焋)
// 妫�鏌ata鏄惁涓虹┖锛屼笉涓虹┖鎵嶈Е鍙戦�氱煡
if (Object.keys(postData.data).length > 0) {
@@ -458,7 +480,7 @@
sn: config.get("sys.sn") || " ", // 璁惧搴忓垪鍙凤紝浠庨厤缃腑鑾峰彇
houseId: "0000", // 浠撳粧缂栫爜锛岄粯璁ゅ~鍏�"0000"
outId: "0000", // 鑷畾涔夌紪鐮侊紝榛樿濉厖"0000"
- functionId: functionId.lightControl, // 浠撳唴鐓ф槑鑱斿姩鎺у埗鍔熻兘鐮�
+ functionId: getFunctionId().lightControl, // 浠撳唴鐓ф槑鑱斿姩鎺у埗鍔熻兘鐮�
timestamp: Date.now().toString(), // 鏃堕棿鎴�
data: {}
}
@@ -489,7 +511,7 @@
logger.info(`[grain]: 瑙f瀽鍚庣殑浠撳唴鐓ф槑鑱斿姩鎺у埗鍝嶅簲鏁版嵁: ${JSON.stringify(statusData)}`)
// 鏍规嵁鎺ュ彛杩斿洖缂栫爜杩涜鏃ュ織杈撳嚭
- if (statusData.respCode === respCode.success) {
+ if (statusData.respCode === getRespCode().success) {
logger.info(`[grain]: 浠撳唴鐓ф槑鑱斿姩鎺у埗鎺ュ彛璋冪敤鎴愬姛`)
// 瑙﹀彂鎴愬姛寮圭獥
bus.fire('showAccessResult', {
@@ -536,7 +558,7 @@
logger.info(`[grain]: 娓呯悊鍚庤В鏋愮殑浠撳唴鐓ф槑鑱斿姩鎺у埗鍝嶅簲鏁版嵁: ${JSON.stringify(statusData)}`)
// 鏍规嵁鎺ュ彛杩斿洖缂栫爜杩涜鏃ュ織杈撳嚭
- if (statusData.respCode === respCode.success) {
+ if (statusData.respCode === getRespCode().success) {
logger.info(`[grain]: 浠撳唴鐓ф槑鑱斿姩鎺у埗鎺ュ彛璋冪敤鎴愬姛`)
// 瑙﹀彂鎴愬姛寮圭獥
bus.fire('showAccessResult', {
@@ -625,7 +647,7 @@
sn: config.get("sys.sn") || " ", // 璁惧搴忓垪鍙凤紝浠庨厤缃腑鑾峰彇
houseId: "0000", // 浠撳粧缂栫爜锛岄粯璁ゅ~鍏�"0000"
outId: "0000", // 鑷畾涔夌紪鐮侊紝榛樿濉厖"0000"
- functionId: functionId.doorStatus, // 闂ㄧ鐘舵�佸姛鑳界爜
+ functionId: getFunctionId().doorStatus, // 闂ㄧ鐘舵�佸姛鑳界爜
timestamp: Date.now().toString(), // 鏃堕棿鎴�
data: {
doorStatus: doorStatusData.status // 闂ㄧ鐘舵��
--
Gitblit v1.9.3