From 42bf8e8f07c0ed4288e8c847978112af0615d041 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期四, 29 五月 2025 17:34:04 +0800
Subject: [PATCH] 1.生成表格

---
 H5/Js/ScanTest.js |   77 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 77 insertions(+), 0 deletions(-)

diff --git a/H5/Js/ScanTest.js b/H5/Js/ScanTest.js
new file mode 100644
index 0000000..9be9b7c
--- /dev/null
+++ b/H5/Js/ScanTest.js
@@ -0,0 +1,77 @@
+锘縱ar vm = new Vue({
+    el: '#app',
+    data: function () {
+        return {
+            isLoading: false,
+            textInput: '',
+            scanWorkstation: '',
+            html5QrCode: null,
+            pendingCallbacks: {}  // 瀛樺偍鍥炶皟鍑芥暟
+        }
+    },
+    mounted() {
+        // 鍒濆鍖栨秷鎭洃鍚�
+        window.addEventListener('message', this.handleH5Response);
+    },
+    beforeDestroy() {
+        // 娓呯悊浜嬩欢鐩戝惉
+        window.removeEventListener('message', this.handleH5Response);
+    },
+    methods: {
+        // 澶勭悊H5鐨勫搷搴�
+        handleH5Response(event) {
+            try {
+                const data = JSON.parse(event.data);
+                if (data.RequestId && typeof data.returnValue !== 'undefined') {
+                    const callback = this.pendingCallbacks[data.RequestId];
+                    if (callback) {
+                        callback(data.returnValue);
+                        delete this.pendingCallbacks[data.RequestId];
+                    }
+                }
+            } catch (e) {
+                console.error('瑙f瀽鍝嶅簲澶辫触:', e);
+            }
+        },
+
+        // 鍚姩鎵弿娴嬭瘯
+        startScanTest() {
+            const requestId = Date.now().toString(); // 鐢熸垚鍞竴璇锋眰ID
+            const sendData = {
+                Type: 'Scan',
+                Barcode: 'TM250304-000104-2',
+                Detail: 'detail info',
+                Ip: '192.168.38.135',
+                Port: '9100',
+                RequestId: requestId // 娣诲姞璇锋眰鏍囪瘑
+            };
+
+            // 鍒涘缓Promise绛夊緟鍝嶅簲
+            new Promise((resolve) => {
+                this.pendingCallbacks[requestId] = resolve;
+
+                // 鍙戦�佹秷鎭�
+                var result = uni.webView.postMessage({
+                    data: JSON.stringify(sendData)
+                });
+                alert(result);
+                //// 璁剧疆瓒呮椂澶勭悊
+                //setTimeout(() => {
+                //    if (this.pendingCallbacks[requestId]) {
+                //        delete this.pendingCallbacks[requestId];
+                //        console.error('璇锋眰瓒呮椂');
+                //        resolve(-1); // 杩斿洖瓒呮椂鐘舵��
+                //    }
+                //}, 5000); // 5绉掕秴鏃�
+            }).then(result => {
+                console.log('鎿嶄綔缁撴灉:', result);
+                // 杩欓噷澶勭悊杩斿洖缁撴灉
+                if (result === 0) {
+                    alert('鎿嶄綔鎴愬姛!');
+                } else {
+                    alert('鎿嶄綔澶辫触锛岄敊璇爜: ' + result);
+                }
+            });
+        }
+    }
+});
\ No newline at end of file

--
Gitblit v1.9.3