From b4a14804f37d0d715af1f00ccb9e1621d238cc58 Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期四, 15 一月 2026 11:33:03 +0800
Subject: [PATCH] 异常处理

---
 common/rfid-input-helper.js |   84 ++++++++++++++++++++++++++++--------------
 1 files changed, 56 insertions(+), 28 deletions(-)

diff --git a/common/rfid-input-helper.js b/common/rfid-input-helper.js
index 3dc0c07..6aa37c9 100644
--- a/common/rfid-input-helper.js
+++ b/common/rfid-input-helper.js
@@ -14,6 +14,7 @@
 /**
  * 鍒濆鍖朢FID鍔╂墜锛堝彧鍒濆鍖栨彃浠跺紩鐢ㄥ拰浜嬩欢鐩戝惉锛屼笉鍒濆鍖朢FID妯″潡锛�
  * RFID妯″潡鐢盇pp.vue鍏ㄥ眬鍒濆鍖栵紝杩欓噷鍙礋璐g洃鍚寜閿拰璇诲彇鏍囩
+ * 娉ㄦ剰锛氬嵆浣垮垵濮嬪寲澶辫触锛屼篃涓嶆姏鍑哄紓甯革紝纭繚涓嶅奖鍝嶉〉闈娇鐢�
  */
 function initRFIDForInput() {
 	try {
@@ -22,28 +23,34 @@
 		modal = uni.requireNativePlugin('modal');
 		
 		if (!uhfModel) {
-			console.warn('[RFIDInputHelper] RFID鎻掍欢鏈壘鍒�');
+			console.warn('[RFIDInputHelper] 鈿� RFID鎻掍欢鏈壘鍒帮紝RFID鎵弿鍔熻兘涓嶅彲鐢紝浣嗛〉闈㈠彲姝e父浣跨敤');
 			return false;
 		}
 		
 		// 鐩戝惉涓婄數浜嬩欢锛堢洃鍚叏灞�涓婄數鐘舵�侊紝RFID妯″潡鐢盇pp.vue鍒濆鍖栵級
-		globalEvent.addEventListener('POWEREvent', function(e) {
-			console.log('[RFIDInputHelper] POWEREvent:', JSON.stringify(e));
-			if (e && e.status === 'connected') {
-				isPowerOn = true;
-				console.log('[RFIDInputHelper] 鉁� RFID妯″潡宸蹭笂鐢�');
-			} else {
-				isPowerOn = false;
-				console.log('[RFIDInputHelper] 鉁� RFID妯″潡鏈笂鐢�');
-			}
-		});
+		try {
+			globalEvent.addEventListener('POWEREvent', function(e) {
+				console.log('[RFIDInputHelper] POWEREvent:', JSON.stringify(e));
+				if (e && e.status === 'connected') {
+					isPowerOn = true;
+					console.log('[RFIDInputHelper] 鉁� RFID妯″潡宸蹭笂鐢�');
+				} else {
+					isPowerOn = false;
+					console.log('[RFIDInputHelper] 鉁� RFID妯″潡鏈笂鐢�');
+				}
+			});
+		} catch (eventError) {
+			console.warn('[RFIDInputHelper] 鈿� 娣诲姞POWEREvent鐩戝惉澶辫触:', eventError);
+			console.warn('[RFIDInputHelper] 鈿� RFID鎵弿鍔熻兘鍙兘涓嶅彲鐢紝浣嗛〉闈㈠彲姝e父浣跨敤');
+		}
 		
 		// 娉ㄦ剰锛歊FID妯″潡鐢盇pp.vue鍦╫nLaunch鏃跺叏灞�鍒濆鍖�
 		// 杩欓噷鍙礋璐g洃鍚寜閿拰璇诲彇鏍囩锛屼笉鍒濆鍖朢FID妯″潡
 		
 		return true;
 	} catch (error) {
-		console.error('[RFIDInputHelper] 鍒濆鍖栧け璐�:', error);
+		console.error('[RFIDInputHelper] 鈿� 鍒濆鍖栧け璐�:', error);
+		console.warn('[RFIDInputHelper] 鈿� RFID鎵弿鍔熻兘涓嶅彲鐢紝浣嗛〉闈㈠彲姝e父浣跨敤');
 		return false;
 	}
 }
@@ -128,25 +135,46 @@
  * 璇诲彇RFID鏍囩锛堝崟鏍囩璇伙紝鏃犺繃婊わ級
  */
 function readRFIDTag() {
-	if (!uhfModel) {
-		// 濡傛灉妯″潡鏈垵濮嬪寲锛屽皾璇曞垵濮嬪寲
-		uhfModel = uni.requireNativePlugin("iData-UHFPlugin-UHFModule");
+	try {
 		if (!uhfModel) {
-			console.warn('[RFIDInputHelper] RFID妯″潡鏈壘鍒�');
-			modal.toast({
-				message: 'RFID妯″潡鏈壘鍒�',
-				duration: 1.5
-			});
+			// 濡傛灉妯″潡鏈垵濮嬪寲锛屽皾璇曞垵濮嬪寲
+			try {
+				uhfModel = uni.requireNativePlugin("iData-UHFPlugin-UHFModule");
+			} catch (e) {
+				console.warn('[RFIDInputHelper] 鈿� RFID妯″潡鏈壘鍒�:', e);
+			}
+			if (!uhfModel) {
+				console.warn('[RFIDInputHelper] RFID妯″潡鏈壘鍒�');
+				if (modal) {
+					modal.toast({
+						message: 'RFID妯″潡鏈壘鍒�',
+						duration: 1.5
+					});
+				}
+				return;
+			}
+		}
+		
+		// 妫�鏌FID鏄惁宸蹭笂鐢碉紙RFID妯″潡鐢盇pp.vue鍏ㄥ眬鍒濆鍖栵級
+		if (!isPowerOn) {
+			console.warn('[RFIDInputHelper] RFID鏈笂鐢碉紝鏃犳硶鎵弿');
+			if (modal) {
+				modal.toast({
+					message: 'RFID姝e湪涓婄數锛岃绋嶅��...',
+					duration: 1.5
+				});
+			}
 			return;
 		}
-	}
-	
-	// 妫�鏌FID鏄惁宸蹭笂鐢碉紙RFID妯″潡鐢盇pp.vue鍏ㄥ眬鍒濆鍖栵級
-	if (!isPowerOn) {
-		modal.toast({
-			message: 'RFID姝e湪涓婄數锛岃绋嶅��...',
-			duration: 1.5
-		});
+	} catch (error) {
+		console.error('[RFIDInputHelper] 鈿� 璇诲彇RFID鏍囩鍓嶆鏌ュけ璐�:', error);
+		console.warn('[RFIDInputHelper] 鈿� RFID鎵弿鍔熻兘涓嶅彲鐢紝浣嗛〉闈㈠彲姝e父浣跨敤');
+		if (modal) {
+			modal.toast({
+				message: 'RFID鎵弿鍔熻兘涓嶅彲鐢�',
+				duration: 1.5
+			});
+		}
 		return;
 	}
 	

--
Gitblit v1.9.1