Index: ssts-web/src/main/webapp/disinfectsystem/packing/setPlugInRFID.js =================================================================== diff -u -r34448 -r34765 --- ssts-web/src/main/webapp/disinfectsystem/packing/setPlugInRFID.js (.../setPlugInRFID.js) (revision 34448) +++ ssts-web/src/main/webapp/disinfectsystem/packing/setPlugInRFID.js (.../setPlugInRFID.js) (revision 34765) @@ -1,4 +1,5 @@ var keepReading = true; +var isStop = false; var reader; var writer; var port; @@ -39,6 +40,7 @@ async function openPort(params, callback) { try { keepReading = true; + isStop = false; var usbVendorId = params.usbVendorId; var usbProductId = params.usbProductId; var baudRate = params.baudRate ? params.baudRate : 115200; @@ -267,7 +269,9 @@ var uid = arr[0].split('R')[1]; var userId = arr[1]; userId = hextoString(userId); - callback(uid + ',' + userId, true); + if(uid){ + callback(uid + ',' + userId, true); + } } else { var newData = dataString.substring(dataString.indexOf('M') + 1, dataString.indexOf('4646')); newData = hextoString(newData); @@ -415,10 +419,20 @@ writer.releaseLock(); } } -var isStop = false; + +async function startRFID() { + var { usbProductId, usbVendorId } = port.getInfo(); + if (usbVendorId == 6790 && usbProductId == 29987 && isStop == true) {//桌面式 F5005-H + var data = [187, 23, 9, 0, 0, 0, 0, 0, 0, 0, 0, 8, 40, 13, 10]; + var startData = new Uint8Array(data); + await writer.write(startData); + isStop = false; + } +} + async function stopRFID() { var { usbProductId, usbVendorId } = port.getInfo(); - if (usbVendorId == 6790 && usbProductId == 29987) {//桌面式 F5005-H + if (usbVendorId == 6790 && usbProductId == 29987 && isStop == false) {//桌面式 F5005-H //停止读取标签 var stop = [187, 24, 0, 24, 13, 10]; var stopData = new Uint8Array(stop); @@ -453,11 +467,19 @@ addArr.push(0); } } + // var arr = [187]; + // var arr1 = [26, 42, 0, 0, 0, 0, 1, 0, 12]; + // var arr3 = [3, 0, 0, 0, 9]; var arr = [187]; - var arr1 = [26, 42, 0, 0, 0, 0, 1, 0, 12]; - var arr3 = [3, 0, 0, 0, 9]; + var arr1 = [26, 28, 0, 0, 0, 0, 0, 0, 0]; + var arr3 = [3, 0, 0, 0, 8]; - var resultArr = arr1.concat(filterArr).concat(arr3).concat(barcodeArr).concat(addArr); + var resultArr = arr1.concat(arr3).concat(barcodeArr) + if(barcodeArr.length < 16){ + for(var k=0;k<16-barcodeArr.length;k++){ + resultArr.push(0) + } + } var sum = eval(resultArr.join('+')); var str = sum.toString(16); var crc = str.substring(str.length - 2);