H5/Js/ScanTest.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
H5/ScanTest.aspx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
H5/ScanTest.aspx.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
H5/Js/ScanTest.js
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,77 @@ var 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('è§£æååºå¤±è´¥:', 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); } }); } } }); H5/ScanTest.aspx
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,36 @@ <%@ Page Title="" Language="C#" MasterPageFile="~/Mst.master" AutoEventWireup="true" CodeFile="ScanTest.aspx.cs" Inherits="H5_Config" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> <style> .bg-info { background-color:#fff; } </style> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="Server"> <br /> <br /> <br /> <br /> <van-nav-bar title="æµè¯æ«æ" left-text="è¿å" left-arrow @click-left="GoBack()" ></van-nav-bar> <div class="padding"> <van-button plain type="warning" @click="startScanTest">æµè¯æ«æ</van-button> <van-cell-group> <van-field v-model="textInput" placeholder="è¯·æ«æè¿é" v-focus.noKeyboard ></van-field> </van-cell-group> </div> </asp:Content> <asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder3" runat="Server"> <%--<comback ></comback>--%> </asp:Content> <asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder4" runat="Server"> <script src="Js/jquery-2.1.4.min.js"></script> <script src="Js/ScanTest.js?<%=11 %>"></script> </asp:Content> H5/ScanTest.aspx.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,14 @@ using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class H5_Config : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } }