var isshowQR = true; //读取二维码 function fromKeyCode(code) { if((code >= 48 && code <= 57) || (code >= 65 && code <= 90)) return String.fromCharCode(code); var keys = {186: ';', 188: ',', 189: '-', 190: '.', 191: '/', 222: "'", 219: '[', 221: ']', 187: '=', 96:'Num 0', 97:'Num 1', 98:'Num 2', 99:'Num 3', 100:'Num 4', 101:'Num 5', 102:'Num 6', 103:'Num 7', 104:'Num 8', 105:'Num 9', 111:'Num /', 106:'Num *', 109:'Num -', 111:'Num /', 107:'Num +',13:'[enter]',8:'[back]',110:'Num .' //,45:'0', 35:'1', 40:'2', 34:'3', 37:'4', 12:'5', 39:'6', 36:'7', 38:'8', 33:'9' }; if(keys[code]) return keys[code]; return '*err*'; } function hashCode(strKey) { var hash = 0; if(strKey != null && strKey != "") { for (var i = 0; i < strKey.length; i++) { hash = hash * 31 + strKey.charCodeAt(i); hash = intValue(hash); } } return hash; } function intValue(num) { var MAX_VALUE = 0x7fffffff; var MIN_VALUE = -0x80000000; if(num > MAX_VALUE || num < MIN_VALUE) { return num &= 0xFFFFFFFF; } return num; } document.onkeydown = function() { var code = event.keyCode; //alert(code+","+fromKeyCode(code));return; //[st]sduf87fjsdfysd78,526976123; if(code == 16) return ; dealKey('1', fromKeyCode(code));//document.getElementById("div1").innerHTML += fromKeyCode(code); //document.getElementById("div1").innerHTML += fromKeyCode(code)+"|"; } var maxInputTime = 10; var kb_status = {'1':'1','2':'1'}; var kb_readStr = {'1':'','2':''}; var kb_timeOut = {'1':'','2':''}; var last1time = 0; var nowInput = false; var inputCode = ''; var closeTime = 0; var closeItv; var nowInputFrom = '1'; var nowLaseInput = 0; var lastCloseInput = 0; var lastInput1 = 0; var lastSucTime = 0; var lastddh = ''; var lastdctype = ''; //[st]a7nd823sd,-235435454; function dealKey(from, c) { if(from == '1') last1time = new Date().getTime();//alert(from); if(kb_status[from] == '1') { //开始 if(c == '[') { kb_timeOut[from] = setTimeout("readErr('"+from+"', 1);", 2000); kb_status[from] = '2'; } else readErr(from, 2); } else if(kb_status[from] == '2') { //读取s if(c == 'S') kb_status[from] = '3'; else { kb_status[from] = '1'; readErr(from, 3); } } else if(kb_status[from] == '3') { //读取t if(c == 'T') kb_status[from] = '4'; else { kb_status[from] = '1'; readErr(from, 4); } } else if(kb_status[from] == '4') { //读取] if(c == ']') { kb_status[from] = '5'; kb_readStr[from] = ''; } else { kb_status[from] = '1'; readErr(from, 5); } } else if(kb_status[from] == '5') { //读取内容 if(c == ';') { try{clearTimeout(kb_timeOut[from]);} catch(e){} kb_status[from] = '1'; var a = kb_readStr[from].split(","); if(a.length == 2) { var s1 = a[0].toLowerCase(); var hcode = a[1]; if(hashCode(s1) == hcode) { if(from == '1') { qrReadContent2(from, s1); } else { setTimeout(function() { if(new Date().getTime() - last1time > 1000) { qrReadContent2(from, s1); } }, 300); } } else { //alert(s1+","+hcode+","+hashCode(s1)); readErr(from, 6); } } else { readErr(from, 7); } kb_readStr[from] = ''; } else { if(c == '*err*') { kb_status[from] = '1'; readErr(from, 8); } else { kb_readStr[from] += c; } } } //document.getElementById("div1").innerHTML += c+"|"+kb_status[from]+"$"; } function readErr(from, rs) { kb_status[from] = '1'; kb_readStr[from] = ''; try{clearTimeout(kb_timeOut[from]);} catch(e){} //alert(from+":读取错误!"+rs); } function qrReadContent2(from, str) { //document.getElementById("div1").innerHTML += from+": "+str + '
'; if(lastddh == str && new Date().getTime() - lastSucTime < 30000) return ; lastSucTime = new Date().getTime(); //testdiv.innerHTML += str+"
"; //addOrder(str) //alert(str); //document.getElementById("div1").innerHTML += str; qrReadContent(str); }