|
1 |
- var dataTool=require('./dataTool');var cmdKey=require('./JLConfig.js');var returnObjc=require('./JLConfig.js');var wxSeq=0;var frame=0;var MAX_PACK_LEN=95;var ST='33';export function wechatInit1(mac){var cmd_arr=packWechatInit1(mac);return cmd_arr}export function wechatInit2(){var cmd_arr=packWechatInit2();return cmd_arr}export function DevicesInfo(){var cmd=cmdKey.deviceInfo();returnObjc.message.sendCmd.push(cmd);var cmd_arr=packData(cmd);return cmd_arr}export function ICCResetReq(){var cmd=cmdKey.ICCResetCmd();returnObjc.message.sendCmd.push(cmd);var cmd_arr=packData(cmd);return cmd_arr}export function ESAMResetReq(){var cmd=cmdKey.ESAMResetCmd();returnObjc.message.sendCmd.push(cmd);var cmd_arr=packData(cmd);return cmd_arr}export function ICCChannelTransmission(type,dataArr){console.log('==================>>:'+dataArr);returnObjc.message.sendCmd.push(dataArr);var cmdApdu=cread_apdu(dataArr);var cmdApduLen=cmdApdu.length/2;var cmd=cmdKey.ICCChannelCmd()+type+dataTool.tenToHex(cmdApduLen,4,true)+cmdApdu;var cmd_arr=packData(cmd);return cmd_arr}export function ESAMChannelTransmission(type,dataArr){returnObjc.message.sendCmd.push(dataArr);console.log('==================>>:'+dataArr);var cmdApdu=cread_apdu(dataArr);var cmdApduLen=cmdApdu.length/2;var cmd=cmdKey.ESAMChannelCmd()+type+dataTool.tenToHex(cmdApduLen,4,true)+cmdApdu;var cmd_arr=packData(cmd);return cmd_arr}export function obuAuth(src,mac){var cmd=cmdKey.ObuAuthCmd()+'01'+dataTool.tenToHex(src.length/2,2)+src+mac;returnObjc.message.sendCmd.push(cmd);var cmd_arr=packData(cmd);return cmd_arr}function packData(cmd){var cmd_arr=pack33Protocol(cmd);var wechat_arr=packWechatCmd(cmd_arr);var cmdArray=[];for(var i=0;i<wechat_arr.length;i++){var wechat_cmd=wechat_arr[i].wxTotalData;if(wechat_cmd.length<40){cmdArray.push(wechat_cmd)}else{for(var j=0;j<wechat_cmd.length;j+=40){var wechat_sub_cmd=wechat_cmd.substr(j,40);cmdArray.push(wechat_sub_cmd)}}}return cmdArray}function pack33Protocol(cmd){add_Frame();var cmdlen=cmd.length/2;var cmd33conten=[];if(cmdlen>MAX_PACK_LEN){var packages=Math.round(cmdlen/MAX_PACK_LEN);for(var i=0;i<packages;i++){var tempBean={'ST':'','SN':'','CTL':'','LEN':'','DATA':'','BCC':'','TOTALDATA':''};tempBean.ST=ST;tempBean.SN=dataTool.tenToHex(frame,2);if(i==0){tempBean.CTL=get_ctl(1,packages-(i+1))}else{tempBean.CTL=get_ctl(0,packages-(i+1))}if((i+1)==packages){tempBean.DATA=cmd.substring(i*MAX_PACK_LEN*2)}else{tempBean.DATA=cmd.substring(i*MAX_PACK_LEN*2,i*MAX_PACK_LEN*2+MAX_PACK_LEN*2)}tempBean.LEN=dataTool.tenToHex(tempBean.DATA.length/2,2);tempBean.BCC=dataTool.bccCheck(tempBean.SN+tempBean.CTL+tempBean.LEN+tempBean.DATA);console.log('tempBean.BCC====================:'+tempBean.BCC);tempBean.TOTALDATA=tempBean.ST+tempBean.SN+tempBean.CTL+tempBean.LEN+tempBean.DATA+tempBean.BCC;cmd33conten.push(tempBean)}}else{var tempBean={'ST':'','SN':'','CTL':'','LEN':'','DATA':'','BCC':'','TOTALDATA':''};tempBean.ST=ST;tempBean.SN=dataTool.tenToHex(frame,2);tempBean.CTL=get_ctl(1,0);tempBean.LEN=dataTool.tenToHex(cmdlen,2);tempBean.DATA=cmd;tempBean.BCC=dataTool.bccCheck(tempBean.SN+tempBean.CTL+tempBean.LEN+tempBean.DATA);tempBean.TOTALDATA=tempBean.ST+tempBean.SN+tempBean.CTL+tempBean.LEN+tempBean.DATA+tempBean.BCC;cmd33conten.push(tempBean)}return cmd33conten}export function cread_apdu(cmdArr){var content=cread_TLV(cmdArr);var contentuLen=content.length/2;var contentApdu='';var contentApduLen='';if(contentuLen<=80){contentApduLen=dataTool.tenToHex(contentuLen,2)}else{if(contentuLen<=255){contentApduLen="81"+dataTool.tenToHex(contentuLen,2)}else{contentApduLen="82"+dataTool.tenToHex(contentuLen,4)}}contentApdu="80"+contentApduLen+content;return contentApdu}function cread_TLV(cmdArr){var strTLV='';for(var i=1;i<=cmdArr.length;i++){var cmd=cmdArr[i-1];var len=cmd.length/2;strTLV=strTLV+dataTool.tenToHex(i,2)+dataTool.tenToHex(len,2)+cmd}return strTLV}function add_Frame(){frame++;if(frame>15){frame=0}}function get_ctl(bit7,serial){var ctl='';if(bit7==0){ctl=dataTool.tenToHex(serial,2)}else{var n=(2<<6)+serial;ctl=dataTool.tenToHex(n,2)}return ctl}export function packWechatInit1(mac){var cmd='fe01000e4e21'+mac+'0a0208001200';var cmd_arr=[];for(var i=0;i<cmd.length;i+=40){var cmd_sub=cmd.substr(i,40);cmd_arr.push(cmd_sub)}return cmd_arr}export function packWechatInit2(){var cmd='fe0100134e2300020a02080010b42418f8ac01';var cmd_arr=[];for(var i=0;i<cmd.length;i+=40){var cmd_sub=cmd.substr(i,40);cmd_arr.push(cmd_sub)}return cmd_arr}function packWechatCmd(cmdArray){var cmdwxconten=[];var temp33conten=cmdArray;if(temp33conten.length>0){for(var i=0;i<temp33conten.length;i++){var tempBean_33=temp33conten[i].TOTALDATA;var tempBean_wx={'wxMagicNumber':'','wxVer':'','wxLen':'','wxCMD':'','wxSeq':'','wxData':'','wxExtra':'','wxTail':'','wxTotalData':''};tempBean_wx.wxMagicNumber='FE';tempBean_wx.wxVer='01';tempBean_wx.wxLen=dataTool.tenToHex(tempBean_33.length/2+14,4);tempBean_wx.wxCMD='7531';tempBean_wx.wxSeq='0000';tempBean_wx.wxExtra="0A0012"+getwcDATAlen(tempBean_33.length/2);tempBean_wx.wxData=tempBean_33;tempBean_wx.wxTail='1800';tempBean_wx.wxTotalData=tempBean_wx.wxMagicNumber+tempBean_wx.wxVer+tempBean_wx.wxLen+tempBean_wx.wxCMD+tempBean_wx.wxSeq+tempBean_wx.wxExtra+tempBean_wx.wxData+tempBean_wx.wxTail;cmdwxconten.push(tempBean_wx)}}return cmdwxconten}function getwcDATAlen(dataLen){var len='';var lens1=0;var lens2=0;if(dataLen>127){lens1=(dataLen&0x7F)|0x80;lens2=(dataLen>>7)&0X7f;len=dataTool.tenToHex(lens1,2)+dataTool.tenToHex(lens2,2)}else{len=dataTool.tenToHex(dataLen,2)}return len}
|