Index: ssts-web/src/main/webapp/disinfectsystem/packing/setPlugInRFID.js =================================================================== diff -u -r35976 -r36889 --- ssts-web/src/main/webapp/disinfectsystem/packing/setPlugInRFID.js (.../setPlugInRFID.js) (revision 35976) +++ ssts-web/src/main/webapp/disinfectsystem/packing/setPlugInRFID.js (.../setPlugInRFID.js) (revision 36889) @@ -37,6 +37,19 @@ return arr } +//16转10进制 +function str10ToString(hex){ + var arr = hex.split(""); + var out = ""; + for (var i = 0; i < arr.length / 2; i++) { + var tmp = "0x" + arr[i * 2] + arr[i * 2 + 1] + var char16Value = eval(tmp).toString(10); + var charValue = String.fromCharCode(char16Value); + out += charValue + } + return out; +} + function hex_to_bin(str) { let hex_array = [{ key: 0, val: "0000" }, { key: 1, val: "0001" }, { key: 2, val: "0010" }, { key: 3, val: "0011" }, { key: 4, val: "0100" }, { key: 5, val: "0101" }, { key: 6, val: "0110" }, { key: 7, val: "0111" }, { key: 8, val: "1000" }, { key: 9, val: "1001" }, { key: 'a', val: "1010" }, { key: 'b', val: "1011" }, { key: 'c', val: "1100" }, { key: 'd', val: "1101" }, { key: 'e', val: "1110" }, { key: 'f', val: "1111" }] @@ -302,14 +315,14 @@ var newData = ''; if (dataString.indexOf('T') == 0) { newData = dataString.substring(dataString.indexOf('T') + 1, dataString.indexOf('46')); - newData = hextoString(newData); + newData = str10ToString(newData); } else if (dataString.indexOf('>T') == 0) { - newData = dataString.substring(dataString.indexOf('>T') + 1, dataString.indexOf('46')); - newData = hextoString(newData); + newData = dataString.substring(dataString.indexOf('>T') + 2, dataString.indexOf('46')); + newData = str10ToString(newData); } var rssi = dataString.substring(dataString.length - 2, dataString.length); - var rssiValue = parseInt(rssi, 16) - 130; - if (rssiValue < 0 && rssiValue > -100 && rssiValue > newRssiValue) { + var rssiValue = parseInt(rssi, 16) - 100; + if (rssiValue < 0 && rssiValue >= -100 && rssiValue >= newRssiValue) { if (barcode !== newData) { barcode = newData; callback(barcode, true); @@ -417,13 +430,13 @@ var newData = ''; if (dataString.indexOf('T') == 0) { newData = dataString.substring(dataString.indexOf('T') + 1, dataString.indexOf('46')); - newData = hextoString(newData); + newData = str10ToString(newData); } else if (dataString.indexOf('>T') == 0) { - newData = dataString.substring(dataString.indexOf('>T') + 1, dataString.indexOf('46')); - newData = hextoString(newData); + newData = dataString.substring(dataString.indexOf('>T') + 2, dataString.indexOf('46')); + newData = str10ToString(newData); } var rssi = dataString.substring(dataString.length - 2, dataString.length); - var rssiValue = parseInt(rssi, 16) - 130; + var rssiValue = parseInt(rssi, 16) - 100; if (rssiValue < 0 && rssiValue > -100 && rssiValue > newRssiValue) { if (barcode !== newData) { barcode = newData;