@@ -1 +0,0 @@ | |||
var appVersion="1.0.2";export var area_config={protocol_version:1330,};export function ICCResetCmd(){switch(area_config.protocol_version){case 1310:return'A2';break;case 1320:return'A2';break;case 1312:return'A2';break;case 1330:return"A801";break}}export function ICCChannelCmd(){switch(area_config.protocol_version){case 1310:return'A3';break;case 1320:return'A3';break;case 1312:return'A3';break;case 1330:return"A3";break}}export function ESAMResetCmd(){switch(area_config.protocol_version){case 1310:return'AA';break;case 1320:return'A8';break;case 1312:return'A2';break;case 1330:return"A803";break}}export function ESAMChannelCmd(){switch(area_config.protocol_version){case 1310:return'AC';break;case 1320:return'A4';break;case 1312:return'A8';break;case 1330:return"A7";break}}export function ObuAuthCmd(){switch(area_config.protocol_version){case 1310:return'FF';break;case 1320:return'A9';break;case 1312:return'FF';break}}export function deviceInfo(){switch(area_config.protocol_version){case 1310:return'FF';break;case 1320:return'AA';break;case 1312:return'FF';break}}export function NewPipe(){switch(area_config.protocol_version){case 1310:return'FF';break;case 1320:return'AD';break;case 1312:return'FF';break}}export function ActState(){switch(area_config.protocol_version){case 1310:return'FF';break;case 1320:return'AC';break;case 1312:return'FF';break}}export function checkPower(){switch(area_config.protocol_version){case 1330:return'A5';break}}export function ResetFlag(){return'JLReset'}export function ChannelFlag(){return'JLChannel'}export function Auth(){return'JLAuth'}export function ActStateFlag(){return'JLActState'}export function NewPipFlag(){return'JLNewPip'}export function DeviceInfo(){return'JLDeviceInfo'}export function successCode(){return 0}export function errorCode(){return 10020}export function timeOutCode(){return 10102}export function cardNoExists(){return 10103}export function bleSuccessCode(){return 0}export function bleErrorCode(){return 10101}export function bleAvailableCode(){return 10104}export function cosErrorCode(){return 100100}export var message={api:'',status:'',sendCmd:[],reciveCmd:[]};export function DevResult(type,objc){var code='';var err_msg='';var res=null;var msg='';if(objc.code==successCode()){err_msg='执行成功';message.reciveCmd.push(objc.data);switch(type){case 0:{var data=objc.data;var sw=data.substr(data.length-4,4);if(sw=='9000'){message.status='00';code=successCode();data=objc.data.substr(0,data.length-4);err_msg='操作成功';msg=''}else{message.status='01';code=cosErrorCode();data=null;err_msg='COS指令错误';msg=sw}}break;case 1:{message.status='00';code=objc.code;err_msg=objc.msg;data=objc.data.substr(4,objc.data.length-4);msg=crsateMessage()}break;case 2:{message.status='00';console.log('判断obuInfo:'+objc.data);code=objc.code;err_msg=objc.msg;data=objc.data.substr(6,objc.data.length-6);msg=crsateMessage()}break;case 3:{message.status='00';console.log('认证数据:'+objc.data);code=objc.code;err_msg=objc.msg;data=objc.data.substr(8,2);msg=crsateMessage()}break;default:break}return{code:code,err_msg:err_msg,data:data,msg:crsateMessage()}}else{message.status='01';return{code:objc.code,err_msg:objc.msg,data:null,msg:crsateMessage()}}}function crsateMessage(){var messageInfo=message.api+"|"+message.sendCmd+"|"+message.status+"|"+message.reciveCmd;return messageInfo} |
@@ -1,136 +0,0 @@ | |||
var JLSDK = require('./JLDeviceWechat+33Protocol.js'); | |||
var Analysis = require('./JLObuWecha33UnPackt.js'); | |||
var config = require('./JLConfig.js'); | |||
var TAG = " JLObuSdk "; | |||
/** | |||
* 扫描设备 | |||
* @param {需要查询的设备名称或部分名称} nameFlag | |||
* @param {*} callBack | |||
*/ | |||
export function ScanDevice(nameFlag, timeOut, callBack) { | |||
JLSDK.scanDevice(nameFlag, timeOut, | |||
(res) => { | |||
callBack.call(this, res); | |||
} | |||
) | |||
} | |||
/** | |||
* 停止扫描 | |||
* @param {回调} callBack | |||
*/ | |||
export function StopScanDevice(callBack) { | |||
JLSDK.stopScanDevice( | |||
(res) => { | |||
callBack.call(this, res); | |||
} | |||
); | |||
} | |||
/** | |||
* 连接设备 | |||
* @param {设备对象} device | |||
* @param {回调} callBack | |||
*/ | |||
export function connectDevice(device, callBack) { | |||
JLSDK.connectDevice(device, | |||
(res) => { | |||
callBack.call(this, res); | |||
}) | |||
} | |||
/** | |||
* 断开连接 | |||
* @param {回调} callBack | |||
*/ | |||
export function disonnectDevice(callBack) { | |||
JLSDK.disConnectDevice((res) => { | |||
callBack.call(this, res); | |||
}) | |||
} | |||
/** | |||
* ESAM复位 | |||
* @param {回调方法} callBack | |||
*/ | |||
export function ESAMReset(callBack) { | |||
JLSDK.ESAMRset((res) => { | |||
callBack.call(this, res); | |||
}) | |||
} | |||
/** | |||
* ESAM通道透传 | |||
* @param {透传数据} data | |||
* @param {回调方法} callBack | |||
*/ | |||
export function ESAMChannel(data, callBack) { | |||
JLSDK.ESAMChannel(data, (res) => { | |||
callBack.call(this, res); | |||
}) | |||
} | |||
/** | |||
* ESAM通道透传(数组) | |||
* @param {cos指令数组} cmdArray | |||
* @param {结果回掉} callBack | |||
*/ | |||
export function ESAMChannelArray(cmdArray, callBack) { | |||
JLSDK.ESAMChannel_CmdArray(cmdArray, callBack); | |||
} | |||
/** | |||
* ICC复位 | |||
* @param {回调方法} callBack | |||
*/ | |||
export function ICCReset(callBack) { | |||
JLSDK.ICCReset((res) => { | |||
callBack.call(this, res); | |||
}) | |||
} | |||
/** | |||
* ICC通道透传 | |||
* @param {透传数据} data | |||
* @param {回调方法} callBack | |||
*/ | |||
export function ICCChannel(data, callBack) { | |||
JLSDK.ICCChannel(data, (res) => { | |||
callBack.call(this, res); | |||
}) | |||
} | |||
export function ICCChannelArray(cmdArray, callBack) { | |||
JLSDK.ICCChannel_CmdArray(cmdArray, callBack); | |||
} | |||
export function transCmd(cmdArray, cmdtype, callback) { | |||
if (cmdtype == '10') { | |||
JLSDK.ICCChannel_CmdArray(cmdArray, (res) => { | |||
callback.call(this, res); | |||
}) | |||
} | |||
if (cmdtype == '20') { | |||
ESAMChannel('00A40000023F00', (res) => { | |||
JLSDK.ESAMChannel_CmdArray(cmdArray, (res) => { | |||
callback.call(this, res); | |||
}) | |||
}) | |||
} | |||
} |
@@ -1 +0,0 @@ | |||
function strToHexCharCode(str){if(str==="")return"";var hexCharCode=[];for(var i=0;i<str.length;i++){hexCharCode.push((str.charCodeAt(i)).toString(16))}return hexCharCode.join("").toUpperCase()}function bccCheck(data){var bcc='';for(var a=0;a<data.length/2;a++){bcc^=parseInt(data.substring(2*a,2*a+2),16)}if(bcc.length==1){bcc='0'+bcc}return tenToHex(bcc,2).toUpperCase()}function tenToHex(num,len,boo){var hex=num.toString(16);var zero='';for(var a=0;a<len-hex.length;a++){zero+='0'}var ret='';if(boo){if(hex.length%2==0){}else{hex='0'+hex;zero=zero.substring(1)}ret=hex+zero}else if(!boo){ret=zero+hex}return ret.toUpperCase()}function hexToString(str){var trimedStr=str.trim();var rawStr=trimedStr.substr(0,2).toLowerCase()==="0x"?trimedStr.substr(2):trimedStr;var len=rawStr.length;if(len%2!==0){alert("Illegal Format ASCII Code!");return""}var curCharCode;var resultStr=[];for(var i=0;i<len;i=i+2){curCharCode=parseInt(rawStr.substr(i,2),16);resultStr.push(String.fromCharCode(curCharCode))}return resultStr.join("").toUpperCase()}function encodeUtf8(text){const code=encodeURIComponent(text);const bytes=[];for(var i=0;i<code.length;i++){const c=code.charAt(i);if(c==='%'){const hex=code.charAt(i+1)+code.charAt(i+2);const hexVal=parseInt(hex,16);bytes.push(hexVal);i+=2}else bytes.push(c.charCodeAt(0))}return bytes}function hexToTen(sixteen){var ten=parseInt(sixteen,16);return ten}function str2utf8(str){var code;var utf="";for(var i=0;i<str.length;i++){code=str.charCodeAt(i);if(code<0x0080){utf+=str.charAt(i)}else if(code<0x0800){utf+=String.fromCharCode(0xC0|((code>>6)&0x1F));utf+=String.fromCharCode(0x80|((code>>0)&0x3F))}else if(code<0x10000){utf+=String.fromCharCode(0xE0|((code>>12)&0x0F));utf+=String.fromCharCode(0x80|((code>>6)&0x3F));utf+=String.fromCharCode(0x80|((code>>0)&0x3F))}else{throw"不是UCS-2字符集";}}return utf}function hexTobin(str){str=str.toUpperCase();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"}];let value="";for(let i=0;i<str.length;i++){for(let j=0;j<hex_array.length;j++){if(str.charAt(i)==hex_array[j].key){value=value.concat(hex_array[j].val);break}}}return value}function binTohex(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"}];let value='';let list=[];if(str.length%4!==0){let a="0000";let b=a.substring(0,4-str.length%4);str=b.concat(str)}while(str.length>4){list.push(str.substring(0,4));str=str.substring(4)}list.push(str);for(let i=0;i<list.length;i++){for(let j=0;j<hex_array.length;j++){if(list[i]==hex_array[j].val){value=value.concat(hex_array[j].key);break}}}return value}function strToBuffer(cmd){let buffer=new ArrayBuffer(cmd.length/2);let dataView=new Uint8Array(buffer);for(var a=0;a<cmd.length/2;a++){dataView[a]='0x'+cmd.substring(2*a,2*a+2)}return buffer}function bufferTohex(buffer){var hexArr=Array.prototype.map.call(new Uint8Array(buffer),function(bit){return('00'+bit.toString(16)).slice(-2)});return hexArr.join('')}function isEmpty(data){if(data.length==0||data==null||data=='undefined'){return true}return false}module.exports={encodeUtf8:encodeUtf8,tenToHex:tenToHex,hexToTen:hexToTen,bccCheck:bccCheck,hexToString:hexToString,strToHexCharCode:strToHexCharCode,str2utf8:str2utf8,hexTobin:hexTobin,binTohex:binTohex,isEmpty:isEmpty,strToBuffer:strToBuffer,bufferTohex:bufferTohex} |
@@ -1 +0,0 @@ | |||
!function(root,factory){if(typeof module==='object'&&module.exports)module.exports=factory();else root.onfire=factory()}(typeof window!=='undefined'?window:this,function(){var __onfireEvents={},__cnt=0,string_str='string',function_str='function',hasOwnKey=Function.call.bind(Object.hasOwnProperty),slice=Function.call.bind(Array.prototype.slice);function _bind(eventName,callback,is_one,context){if(typeof eventName!==string_str||typeof callback!==function_str){throw new Error('args: '+string_str+', '+function_str+'');}if(!hasOwnKey(__onfireEvents,eventName)){__onfireEvents[eventName]={}}__onfireEvents[eventName][++__cnt]=[callback,is_one,context];return[eventName,__cnt]}function _each(obj,callback){for(var key in obj){if(hasOwnKey(obj,key))callback(key,obj[key])}}function on(eventName,callback,context){return _bind(eventName,callback,0,context)}function one(eventName,callback,context){return _bind(eventName,callback,1,context)}function _fire_func(eventName,args){if(hasOwnKey(__onfireEvents,eventName)){_each(__onfireEvents[eventName],function(key,item){item[0].apply(item[2],args);if(item[1])delete __onfireEvents[eventName][key]})}}function fire(eventName){var args=slice(arguments,1);setTimeout(function(){_fire_func(eventName,args)})}function fireSync(eventName){_fire_func(eventName,slice(arguments,1))}function un(event){var eventName,key,r=false,type=typeof event;if(type===string_str){if(hasOwnKey(__onfireEvents,event)){delete __onfireEvents[event];return true}return false}else if(type==='object'){eventName=event[0];key=event[1];if(hasOwnKey(__onfireEvents,eventName)&&hasOwnKey(__onfireEvents[eventName],key)){delete __onfireEvents[eventName][key];return true}return false}else if(type===function_str){_each(__onfireEvents,function(key_1,item_1){_each(item_1,function(key_2,item_2){if(item_2[0]===event){delete __onfireEvents[key_1][key_2];r=true}})});return r}return true}function clear(){__onfireEvents={}}return{on:on,one:one,un:un,fire:fire,fireSync:fireSync,clear:clear}}); |
@@ -1,324 +0,0 @@ | |||
"use strict"; | |||
var _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { | |||
return typeof e | |||
} : function(e) { | |||
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : | |||
typeof e | |||
}, | |||
_WJService = require("./WJService.js"), | |||
_WJService2 = _interopRequireDefault(_WJService), | |||
_WJDataEncode = require("./WJDataEncode.js"), | |||
_WJDataEncode2 = _interopRequireDefault(_WJDataEncode), | |||
_WJDataInteract = require("./WJDataInteract.js"), | |||
_WJDataInteract2 = _interopRequireDefault(_WJDataInteract), | |||
_WJUtils = require("./WJUtils.js"), | |||
_WJUtils2 = _interopRequireDefault(_WJUtils), | |||
_WJDataAnalysis = require("./WJDataAnalysis.js"), | |||
_WJDataAnalysis2 = _interopRequireDefault(_WJDataAnalysis); | |||
function _interopRequireDefault(e) { | |||
return e && e.__esModule ? e : { | |||
default: e | |||
} | |||
} | |||
var connectedDeviceId, TAG_FUNCTION = "function", | |||
SDK_VERSION = "WJ_BLESDK_ZFB_SD_V1.0.1_20230112"; | |||
function connectDevice(t) { | |||
_WJService2.default.reallyConnect(function(e) { | |||
console.log("连接结果:", e.err_msg), (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(e) | |||
}) | |||
} | |||
function connectDevice2(e, t) { | |||
_WJService2.default._connectDevice(e, function(e) { | |||
console.log("连接结果:", e.err_msg), (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(e) | |||
}) | |||
} | |||
function disconnectDevice(e, t) { | |||
_WJService2.default.reallyDisConnect(e, function(e) { | |||
console.log("断开结果:", e.err_msg), (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(e) | |||
}) | |||
} | |||
function authOBU(e, t, a, d) { | |||
var i, s = {}, | |||
n = e.length; | |||
n == t && 8 == a.length ? (t = "c5" + _WJUtils2.default.byte2hexStr(4 + parseInt(n / 2)) + e + a, n = _WJUtils2 | |||
.default.getCMD_TYPE(), i = {}, e = "", 0 == n ? e = "84" : 1 == n && (e = "A2"), i = _WJDataEncode2.default | |||
.encode(t, "", e), _WJDataInteract2.default._StartSendData(i.serviceData.dataEncode, function(e) { | |||
0 == e.serviceCode ? (i = _WJDataAnalysis2.default.analysisAuthOBU(e.serviceData.dataBuff), s.code = | |||
i.serviceCode, s.err_msg = i.serviceInfo, s.data = i.serviceData.dataBuff) : s = e, ( | |||
void 0 === d ? "undefined" : _typeof(d)) == TAG_FUNCTION && d(s) | |||
})) : (s.serviceCode = -1, s.serviceInfo = "paramater is error!", (void 0 === d ? "undefined" : _typeof( | |||
d)) == TAG_FUNCTION && d(s)) | |||
} | |||
function getActState(t) { | |||
var a, d = {}, | |||
e = "", | |||
i = _WJUtils2.default.getCMD_TYPE(); | |||
0 == i ? e = "810100C6" : 1 == i && (e = "A501CB"), a = _WJDataEncode2.default.encode(e), _WJDataInteract2.default | |||
._StartSendData(a.serviceData.dataEncode, function(e) { | |||
0 == e.serviceCode ? (a = _WJDataAnalysis2.default.analysisGetActState(e.serviceData.dataBuff), d.code = | |||
a.serviceCode, d.err_msg = a.serviceInfo, d.data = a.serviceData.dataBuff) : d = e, (void 0 === | |||
t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(d) | |||
}) | |||
} | |||
function lightAct(e, t, a) { | |||
var d, i = {}, | |||
s = "", | |||
n = "", | |||
o = _WJUtils2.default.getCMD_TYPE(); | |||
1 == e || 0 == e && 0 < t ? (t = _WJUtils2.default.byte2hexStr(t), n = 0 == e ? "C1" : "C2", d = {}, 0 == o ? s = | |||
"870200" + n + t : 1 == o && (s = "A2"), d = _WJDataEncode2.default.encode(s), _WJDataInteract2.default | |||
._StartSendData(d.serviceData.dataEncode, function(e) { | |||
0 == e.serviceCode ? (d = _WJDataAnalysis2.default.analysisLightAct(e.serviceData.dataBuff), i | |||
.code = d.serviceCode, i.err_msg = d.serviceInfo, i.data = d.serviceData.dataBuff) : i = e, | |||
(void 0 === a ? "undefined" : _typeof(a)) == TAG_FUNCTION && a(i) | |||
})) : (i.serviceCode = -1, i.serviceInfo = "paramater is error", (void 0 === a ? "undefined" : _typeof( | |||
a)) == TAG_FUNCTION && a(i)) | |||
} | |||
function upNewPipe(e, t) { | |||
var a, d = {}, | |||
i = "", | |||
s = _WJUtils2.default.getCMD_TYPE(); - 1 < e ? (e = _WJUtils2.default.byte2hexStr(e), a = {}, 0 == s ? i = | |||
"810200C7" + e : 1 == s && (i = "A2"), a = _WJDataEncode2.default.encode(i), _WJDataInteract2.default | |||
._StartSendData(a.serviceData.dataEncode, function(e) { | |||
0 == e.serviceCode ? (a = _WJDataAnalysis2.default.analysisUpNewPipe(e.serviceData.dataBuff), d | |||
.code = a.serviceCode, d.err_msg = a.serviceInfo, d.data = a.serviceData.dataBuff) : d = e, | |||
(void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(d) | |||
})) : (d.serviceCode = -1, d.serviceInfo = "paramater is error", (void 0 === t ? "undefined" : _typeof( | |||
t)) == TAG_FUNCTION && t(d)) | |||
} | |||
function transCmd(e, t, a, d) { | |||
var i, s = {}; | |||
"10" == t || "20" == t || "30" == t || "00" == t ? (i = {}, i = _WJDataEncode2.default.encode(e, t, a), | |||
_WJDataInteract2.default._StartSendData(i.serviceData.dataEncode, function(e) { | |||
0 == e.serviceCode ? (_WJUtils2.default.showLog("APDU透传指令成功"), s.code = 0, s.err_msg = | |||
"transcmd success", s.data = e.serviceData.dataBuff) : (s.err_msg = e.serviceInfo, s.code = | |||
e.serviceCode), (void 0 === d ? "undefined" : _typeof(d)) == TAG_FUNCTION && d(s) | |||
})) : (s.code = -1, s.msg = "cmdtype参数错误!", (void 0 === d ? "undefined" : _typeof(d)) == TAG_FUNCTION && d( | |||
s)) | |||
} | |||
function initIC(t) { | |||
var a, d = {}, | |||
e = "", | |||
i = _WJUtils2.default.getCMD_TYPE(); | |||
0 == i ? e = "80" : 1 == i && (e = "A9"), a = _WJDataEncode2.default.encode(e), _WJDataInteract2.default | |||
._StartSendData(a.serviceData.dataEncode, function(e) { | |||
0 == e.serviceCode ? (a = _WJDataAnalysis2.default.analysisinitIC(e.serviceData.dataBuff), d.code = a | |||
.serviceCode, d.err_msg = a.serviceInfo, d.data = a.serviceData.dataBuff) : (d.code = e | |||
.serviceCode, d.err_msg = e.serviceInfo), (void 0 === t ? "undefined" : _typeof(t)) == | |||
TAG_FUNCTION && t(d) | |||
}) | |||
} | |||
function getDeviceInfo(e, t) { | |||
var a, d = {}, | |||
i = "", | |||
s = _WJUtils2.default.getCMD_TYPE(); | |||
0 == s ? i = "810100" + e : 1 == s && (i = "A501" + e), a = _WJDataEncode2.default.encode(i), _WJDataInteract2 | |||
.default._StartSendData(a.serviceData.dataEncode, function(e) { | |||
0 == e.serviceCode ? (_WJUtils2.default.showLog("获取设备信息成功"), a = _WJDataAnalysis2.default | |||
.analysisDeviceInfo(e.serviceData.dataBuff), d.err_msg = "获取设备信息成功", d.code = a.serviceCode, d | |||
.data = a.serviceData) : (d.code = e.serviceCode, d.err_msg = e.serviceInfo), (void 0 === t ? | |||
"undefined" : _typeof(t)) == TAG_FUNCTION && t(d) | |||
}) | |||
} | |||
function selectDir(t, e, a) { | |||
var d, i, s, n, o = {}; | |||
4 == t.length && "10" == e || "20" == e || "00" == e ? (i = "010700A4000002" + t, e = e, s = "", 1 == _WJUtils2 | |||
.default.getTRANSFER_TYPE() && (i = _WJUtils2.default.TPDU2APDU(i)), 0 == (n = _WJUtils2.default | |||
.getCMD_TYPE()) ? s = "82" : 1 == n && (s = "AC"), this.transCmd(i, e, s, function(e) { | |||
0 == e.code ? (console.log(e.data), _WJUtils2.default.showLog("transCmd success", e.data), d = | |||
_WJDataAnalysis2.default._analysisIs9000(e.data), console.log(d), o.code = d.serviceCode, | |||
0 == d.serviceCode ? (_WJUtils2.default.showLog("进 " + t + " 目录成功"), o.err_msg = "进" + t + | |||
"目录成功") : (_WJUtils2.default.showLog("进 " + t + " 目录失败"), o.err_msg = "进" + t + "目录失败") | |||
) : o = e, (void 0 === a ? "undefined" : _typeof(a)) == TAG_FUNCTION && a(o) | |||
})) : (o.code = -1, o.err_msg = "参数长度有误", (void 0 === a ? "undefined" : _typeof(a)) == TAG_FUNCTION && a(o)) | |||
} | |||
function getCardInfo(t) { | |||
var a, d = {}, | |||
e = "010500B095002B0205805C000204", | |||
i = "", | |||
s = "", | |||
n = (1 == _WJUtils2.default.getTRANSFER_TYPE() && (e = _WJUtils2.default.TPDU2APDU(e)), _WJUtils2.default | |||
.getCMD_TYPE()); | |||
0 == n ? (i = "10", s = "82") : 1 == n && (i = "00", s = "A3"), this.transCmd(e, i, s, function(e) { | |||
0 == e.code ? (_WJUtils2.default.showLog("transCmd success"), a = _WJDataAnalysis2.default | |||
.analysisCardInfo(e.data), d.code = a.serviceCode, d.err_msg = "获取卡片信息成功", d.data = a | |||
.serviceData) : d = e, (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(d) | |||
}) | |||
} | |||
function readCardOwnerRecord(t) { | |||
var a, d = {}, | |||
e = "010500B0960037", | |||
i = "", | |||
s = "", | |||
n = (1 == _WJUtils2.default.getTRANSFER_TYPE() && (e = _WJUtils2.default.TPDU2APDU(e)), _WJUtils2.default | |||
.getCMD_TYPE()); | |||
0 == n ? (i = "10", s = "82") : 1 == n && (i = "00", s = "A3"), this.transCmd(e, i, s, function(e) { | |||
0 == e.code ? (_WJUtils2.default.showLog("transCmd success"), a = _WJDataAnalysis2.default | |||
.analysisCardOwnerRecord(e.data), d.code = a.serviceCode, d.err_msg = "获取持卡人信息成功", d.data = a | |||
.serviceData) : d = e, (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(d) | |||
}) | |||
} | |||
function readCardTransactionRecord(e, t) { | |||
var a, d = {}, | |||
e = "010500B2" + _WJUtils2.default.byte2hexStr(e) + "C400", | |||
i = "", | |||
s = "", | |||
n = (1 == _WJUtils2.default.getTRANSFER_TYPE() && (e = _WJUtils2.default.TPDU2APDU(e)), _WJUtils2.default | |||
.getCMD_TYPE()); | |||
0 == n ? (i = "10", s = "82") : 1 == n && (i = "00", s = "A3"), this.transCmd(e, i, s, function(e) { | |||
0 == e.code ? (_WJUtils2.default.showLog("transCmd success"), a = _WJDataAnalysis2.default | |||
.analysisCardTransactionRecord(e.data), d.code = a.serviceCode, d.err_msg = "获取交易记录信息成功", d | |||
.data = a.serviceData) : d = e, (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t( | |||
d) | |||
}) | |||
} | |||
function authPIN(e, t) { | |||
var a, d, i, s, n = {}; | |||
e.length % 2 == 0 && 6 <= e.length && e.length <= 12 ? (d = _WJUtils2.default.byte2hexStr(parseInt(e.length / 2)), | |||
d = "01" + _WJUtils2.default.byte2hexStr(5 + parseInt(e.length / 2)) + "00200000" + d + e, i = e = "", 1 == | |||
_WJUtils2.default.getTRANSFER_TYPE() && (d = _WJUtils2.default.TPDU2APDU(d)), 0 == (s = _WJUtils2.default | |||
.getCMD_TYPE()) ? (e = "10", i = "82") : 1 == s && (e = "00", i = "A3"), this.transCmd(d, e, i, | |||
function(e) { | |||
0 == e.code ? (_WJUtils2.default.showLog("transCmd success"), a = _WJDataAnalysis2.default | |||
._analysisIs9000(e.data), n.code = a.serviceCode, 0 == n.code ? (_WJUtils2.default.showLog( | |||
"PIN认证成功"), n.err_msg = "PIN认证成功") : (_WJUtils2.default.showLog("PIN认证失败"), n.err_msg = | |||
"PIN认证失败")) : n = e, (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(n) | |||
})) : (n.code = -1, n.err_msg = "参数长度有误", (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && | |||
t(n)) | |||
} | |||
function initLoadCreadit(e, t, a, d, i, s) { | |||
var n, o, r = {}; | |||
null != e && null != t && null != a && null != d && null != i ? 12 == a.length && 2 == d.length && 2 == i.length ? ( | |||
e = new ArrayBuffer(4), (o = new DataView(e)).setInt8(0, t >> 24 & 255), o.setInt8(1, t >> 16 & 255), o | |||
.setInt8(2, t >> 8 & 255), o.setInt8(3, t >> 0 & 255), o = "0110805000" + d + "0B" + i + _WJUtils2.default | |||
.byteArray2hexStr(e) + a, d = t = "", 1 == _WJUtils2.default.getTRANSFER_TYPE() && (o = _WJUtils2.default | |||
.TPDU2APDU(o)), 0 == (i = _WJUtils2.default.getCMD_TYPE()) ? (t = "10", d = "82") : 1 == i && (t = "00", | |||
d = "A3"), this.transCmd(o, t, d, function(e) { | |||
0 == e.code ? (_WJUtils2.default.showLog("transCmd success"), n = _WJDataAnalysis2.default | |||
.analysisInitInfo(e.data), r.code = n.serviceCode, r.err_msg = "圈存初始化成功", r.data = n | |||
.serviceData) : r = e, (void 0 === s ? "undefined" : _typeof(s)) == TAG_FUNCTION && s(r) | |||
})) : (r.code = -2, r.err_msg = "参数长度有误!", (void 0 === s ? "undefined" : _typeof(s)) == TAG_FUNCTION && s( | |||
r)) : (r.code = -1, r.err_msg = "参数有空!", (void 0 === s ? "undefined" : _typeof(s)) == TAG_FUNCTION && s(r)) | |||
} | |||
function loadCreadit(e, t) { | |||
var a, d, i, s, n = {}; | |||
null != e && 22 == e.length ? (e = "0111805200000B" + e + "04", i = d = "", 1 == _WJUtils2.default | |||
.getTRANSFER_TYPE() && (e = _WJUtils2.default.TPDU2APDU(e)), 0 == (s = _WJUtils2.default.getCMD_TYPE()) ? ( | |||
d = "10", i = "82") : 1 == s && (d = "00", i = "A3"), this.transCmd(e, d, i, function(e) { | |||
0 == e.code ? (_WJUtils2.default.showLog("transCmd success"), a = _WJDataAnalysis2.default | |||
.analysisLoadCreadit(e.data), n.code = a.serviceCode, n.err_msg = "圈存成功", n.data = a | |||
.serviceData) : n = e, (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(n) | |||
})) : (n.code = -1, n.err_msg = "获取圈存指令失败:参数null或长度有误", (void 0 === t ? "undefined" : _typeof(t)) == | |||
TAG_FUNCTION && t(n)) | |||
} | |||
function getObuSysInfo(t) { | |||
var a, d = {}, | |||
e = "010500B081001B", | |||
i = "", | |||
s = "", | |||
n = (1 == _WJUtils2.default.getTRANSFER_TYPE() && (e = _WJUtils2.default.TPDU2APDU(e)), _WJUtils2.default | |||
.getCMD_TYPE()); | |||
0 == n ? (i = "20", s = "82") : 1 == n && (i = "00", s = "AC"), this.transCmd(e, i, s, function(e) { | |||
0 == e.code ? (_WJUtils2.default.showLog("transCmd success"), a = _WJDataAnalysis2.default | |||
.analysisgetObuSysInfo(e.data), d.code = a.serviceCode, d.err_msg = "获取系统信息成功", d.data = a | |||
.serviceData) : d = e, (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(d) | |||
}) | |||
} | |||
function getRand(e, t) { | |||
var a, d = {}, | |||
i = "01050084000004", | |||
s = "", | |||
n = (1 == _WJUtils2.default.getTRANSFER_TYPE() && (i = _WJUtils2.default.TPDU2APDU(i)), _WJUtils2.default | |||
.getCMD_TYPE()); | |||
0 == n ? s = "82" : 1 == n && (s = "AC"), this.transCmd(i, e, s, function(e) { | |||
0 == e.code ? (_WJUtils2.default.showLog("transCmd success"), a = _WJDataAnalysis2.default | |||
.analysisGetRand(e.data), d.code = a.serviceCode, d.err_msg = "获取随机数成功", d.data = a.serviceData | |||
) : d = e, (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(d) | |||
}) | |||
} | |||
function writeOBUInfo(e, t) { | |||
var a, d, i, s, n = {}; | |||
null != e && e.length % 2 == 0 ? (e = "01" + _WJUtils2.default.byte2hexStr(parseInt(e.length / 2)) + e, i = d = "", | |||
1 == _WJUtils2.default.getTRANSFER_TYPE() && (e = _WJUtils2.default.TPDU2APDU(e)), 0 == (s = _WJUtils2 | |||
.default.getCMD_TYPE()) ? (d = "20", i = "82") : 1 == s && (d = "00", i = "A0"), this.transCmd(e, d, i, | |||
function(e) { | |||
0 == e.serviceCode ? (a = _WJDataAnalysis2.default._analysisIs9000(e.data), n.code = a.serviceCode, | |||
0 == n.serviceCode ? (_WJUtils2.default.showLog("写OBU信息成功"), n.err_msg = "写OBU信息成功") : ( | |||
_WJUtils2.default.showLog("写OBU信息失败"), n.err_msg = "写OBU信息失败")) : n = e, (void 0 === t ? | |||
"undefined" : _typeof(t)) == TAG_FUNCTION && t(n) | |||
})) : (n.code = -1, n.err_msg = "参数错误", (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t( | |||
n)) | |||
} | |||
function writeObuIssueSpecial(t) { | |||
var a, d = {}, | |||
e = "01050059000001", | |||
i = "", | |||
s = "", | |||
n = (1 == _WJUtils2.default.getTRANSFER_TYPE() && (e = _WJUtils2.default.TPDU2APDU(e)), _WJUtils2.default | |||
.getCMD_TYPE()); | |||
0 == n ? (i = "20", s = "82") : 1 == n && (i = "00", s = "A0"), this.transCmd(e, i, s, function(e) { | |||
0 == e.code ? (a = _WJDataAnalysis2.default._analysisIs9000(e.data), d.code = a.serviceCode, 0 == d | |||
.serviceCode ? (_WJUtils2.default.showLog("写OBU信息成功"), d.err_msg = "写OBU信息成功") : (_WJUtils2 | |||
.default.showLog("写OBU信息失败"), d.err_msg = "写OBU信息失败")) : d = e, (void 0 === t ? | |||
"undefined" : _typeof(t)) == TAG_FUNCTION && t(d) | |||
}) | |||
} | |||
function writeICInfo(e, t) { | |||
var a, d, i, s, n = {}; | |||
null != e && e.length % 2 == 0 ? (e = "01" + _WJUtils2.default.byte2hexStr(parseInt(e.length / 2)) + e, i = d = "", | |||
1 == _WJUtils2.default.getTRANSFER_TYPE() && (e = _WJUtils2.default.TPDU2APDU(e)), 0 == (s = _WJUtils2 | |||
.default.getCMD_TYPE()) ? (d = "10", i = "82") : 1 == s && (d = "00", i = "A3"), this.transCmd(e, d, i, | |||
function(e) { | |||
0 == e.code ? (a = _WJDataAnalysis2.default._analysisIs9000(e.data), n.code = a.serviceCode, 0 == n | |||
.serviceCode ? (_WJUtils2.default.showLog("写IC信息成功"), n.err_msg = "写IC信息成功") : (_WJUtils2 | |||
.default.showLog("写IC信息失败"), n.err_msg = "写IC信息失败")) : n = e, (void 0 === t ? | |||
"undefined" : _typeof(t)) == TAG_FUNCTION && t(n) | |||
})) : (n.code = -1, n.err_msg = "参数错误", (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t( | |||
n)) | |||
} | |||
module.exports = { | |||
connectDevice: connectDevice, | |||
connectDevice2: connectDevice2, | |||
disconnectDevice: disconnectDevice, | |||
transCmd: transCmd, | |||
getDeviceInfo: getDeviceInfo, | |||
getCardInfo: getCardInfo, | |||
selectDir: selectDir, | |||
getObuSysInfo: getObuSysInfo, | |||
getRand: getRand, | |||
authPIN: authPIN, | |||
initLoadCreadit: initLoadCreadit, | |||
loadCreadit: loadCreadit, | |||
writeOBUInfo: writeOBUInfo, | |||
writeICInfo: writeICInfo, | |||
readCardOwnerRecord: readCardOwnerRecord, | |||
readCardTransactionRecord: readCardTransactionRecord, | |||
initIC: initIC, | |||
authOBU: authOBU, | |||
upNewPipe: upNewPipe, | |||
lightAct: lightAct, | |||
getActState: getActState | |||
}; |
@@ -1 +0,0 @@ | |||
"use strict";var iPackageLen,_WJUtils=require("./WJUtils.js"),_WJUtils2=_interopRequireDefault(_WJUtils);function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}var bleCount,rxCount=0,strTemData="",strRxBuffer="",isPagFinish=!0;function decode_GB(t){var e=0,a={},t=_WJUtils2.default.byteArray2hexStr(t),r=(_WJUtils2.default.showLog("WJ当前接受包的数据:",t),_WJUtils2.default.hexStr2byteArray(t));if(1<r.byteLength&&80==r[0]&&1==isPagFinish?(isPagFinish=!1,iPackageLen=r[3],strTemData=t):strTemData+=t,strTemData.length/2>=iPackageLen+5){rxCount+=1,isPagFinish=!0;var s=_WJUtils2.default.hexStr2byteArray(strTemData);_WJUtils2.default.showLog("接受完第",rxCount,"包数据,内容 ",strTemData);for(var i=0;i<iPackageLen+4;i++)e^=s[i];if(s[strTemData.length/2-1]!=e)return _WJUtils2.default.showError("WJ第",rxCount," 包校验bcc:Error!"),a.serviceCode=-1,a.serviceInfo="校验错误。。。",a;128==(128&s[1])&&(bleCount=((127&s[1])<<8)+s[2],_WJUtils2.default.showLog("总共:",bleCount,"大包")),_WJUtils2.default.showLog("WJ第",rxCount," 包校验bcc:ok!"),strRxBuffer+=strTemData.substring(8,strTemData.length-2)}return bleCount<=rxCount?(a.serviceCode=0,a.serviceInfo="数据接收完成!",a.serviceData={},a.serviceData.strData=strRxBuffer):(a.serviceCode=1,a.serviceInfo="数据接收中。。。"),a}function decode_WX(t){var e=0,a={},t=_WJUtils2.default.byteArray2hexStr(t),r=(_WJUtils2.default.showLog("WJ当前接受包的数据:",t),_WJUtils2.default.hexStr2byteArray(t));if(1<r.byteLength&&254==r[0]&&1==r[1]&&1==isPagFinish?(isPagFinish=!1,iPackageLen=(255&r[2])<<8,iPackageLen+=255&r[3],strTemData=t):strTemData+=t,strTemData.length/2>=iPackageLen){_WJUtils2.default.showLog("大包长度:",iPackageLen,strTemData.length),isPagFinish=!0,rxCount+=1;var s=_WJUtils2.default.hexStr2byteArray(strTemData),r={},i=0,o=0,u=0;for(r.FixHead={},r.FixHead.MagicNumber=strTemData.substr(2*i,2),r.FixHead.Ver=strTemData.substring(2*++i,2),r.FixHead.Len=(s[++i]<<8)+s[i+1],r.FixHead.CmdId=(s[i+=2]<<8)+s[i+1],r.FixHead.Seq=(s[i+=2]<<8)+s[i+1],i+=2,r.ProtoBuf={},r.ProtoBuf.BaseRequest={},r.ProtoBuf.BaseRequest.Mark=strTemData.substr(2*i,2),i++,u=o=0;128==(128&s[i]);)o+=(127&s[i])<<7*u,i++,u++;for(o+=(127&s[i])<<7*u,r.ProtoBuf.BaseRequest.Data=strTemData.substr(2*++i,2*o),i+=o,r.ProtoBuf.Data={},r.ProtoBuf.Data.Mark=strTemData.substr(2*i,2),i++,u=o=0;128==(128&s[i]);)o+=(127&s[i])<<7*u,i++,u++;for(o+=(127&s[i])<<7*u,r.ProtoBuf.Data.Data=strTemData.substr(2*++i,2*o),i+=o,r.ProtoBuf.DataType={},r.ProtoBuf.DataType.Mark=strTemData.substr(2*i,2),i++,u=o=0;128==(128&s[i]);)o+=(127&s[i])<<7*u,i++,u++;o+=(127&s[i])<<7*u,i++,r.ProtoBuf.DataType.Varint=o;for(var n=_WJUtils2.default.hexStr2byteArray(r.ProtoBuf.Data.Data),f=1;f<n.byteLength-1;f++)e^=n[f];if(n[n.byteLength-1]!=e)return _WJUtils2.default.showError("WJ第",rxCount," 包校验bcc:Error!"),a.serviceCode=-1,a.serviceInfo="校验错误。。。",a;128==(128&n[2])&&(bleCount=1+(127&n[2]),_WJUtils2.default.showLog("总共:",bleCount,"大包")),strRxBuffer+=r.ProtoBuf.Data.Data.substr(8,2*n[3]),_WJUtils2.default.showLog("WJ第",rxCount," 包校验bcc:ok!"),_WJUtils2.default.showLog("接受完第",rxCount,"大包数据,内容 ",strTemData)}return bleCount<=rxCount?(a.serviceCode=0,a.serviceInfo="数据接收完成!",a.serviceData={},a.serviceData.strData=strRxBuffer):(a.serviceCode=1,a.serviceInfo="数据接收中。。。"),a}function init(){rxCount=iPackageLen=0,isPagFinish=!(strRxBuffer=strTemData="")}module.exports={decode_GB:decode_GB,decode_WX:decode_WX,init:init}; |
@@ -1,85 +0,0 @@ | |||
"use strict"; | |||
var _WJUtils = require("./WJUtils.js"), | |||
_WJUtils2 = _interopRequireDefault(_WJUtils); | |||
function _interopRequireDefault(e) { | |||
return e && e.__esModule ? e : { | |||
default: e | |||
} | |||
} | |||
function encode(e, t, a) { | |||
var r = _WJUtils2.default.getProtocolType(), | |||
e = getETCData(e, t, a), | |||
t = {}; | |||
return 0 == r ? t = encode_GB(e) : 1 == r && (t = encode_WX(e)), t | |||
} | |||
function getETCData(e, t, a) { | |||
var r = "", | |||
r = "A0" == a || "A3" == a || "A4" == a || "82" == a || "84" == a || "AC" == a || "A9" == a ? a + t + (r = | |||
getCommand(e)) : e; | |||
return _WJUtils2.default.showLog("组拼ETCData完毕:", r.length / 2, r), r | |||
} | |||
function getCommand(e) { | |||
var t, a = e, | |||
r = _WJUtils2.default.getDATA_TYPE(), | |||
e = e.length / 2, | |||
n = new ArrayBuffer(10), | |||
s = new DataView(n); | |||
return 0 == r ? (t = 256 < e ? (s.setInt8(0, 4 + e & 255), s.setInt8(1, 4 + e >> 8 & 255), s.setInt8(2, 128), s | |||
.setInt8(3, 130), s.setInt8(4, e >> 8 & 255), s.setInt8(5, 255 & e), n.slice(0, 6)) : 128 < e && e <= | |||
256 ? (s.setInt8(0, 3 + e & 255), s.setInt8(1, 3 + e >> 8 & 255), s.setInt8(2, 128), s.setInt8(3, 129), s | |||
.setInt8(4, e), n.slice(0, 5)) : (s.setInt8(0, 2 + e & 255), s.setInt8(1, 2 + e >> 8 & 255), s.setInt8( | |||
2, 128), s.setInt8(3, e), n.slice(0, 4)), a = _WJUtils2.default.byteArray2hexStr(t) + a) : 1 == r && (s | |||
.setInt8(0, 255 & e), s.setInt8(1, e >> 8 & 255), t = n.slice(0, 2), a = _WJUtils2.default.byteArray2hexStr( | |||
t) + a), a | |||
} | |||
function encode_GB(e) { | |||
var t = {}, | |||
a = _WJUtils2.default.getPagLenMax(), | |||
r = parseInt(e.length / 2 / a), | |||
n = (e.length / 2 % a != 0 && (r += 1), new ArrayBuffer(10)); | |||
new DataView(n); | |||
t.serviceCode = 0, t.serviceInfo = "encode ok", t.serviceData = {}, t.serviceData.dataEncode = new Array; | |||
for (var s = 0; s < r - 1; s++) t.serviceData.dataEncode[s] = e.substr(s * a * 2, 2 * a), t.serviceData.dataEncode[ | |||
s] = getGBFrame(t.serviceData.dataEncode[s], s, r); | |||
return t.serviceData.dataEncode[r - 1] = e.substring((r - 1) * a * 2), t.serviceData.dataEncode[r - 1] = getGBFrame( | |||
t.serviceData.dataEncode[r - 1], r - 1, r), t | |||
} | |||
function encode_WX(e) { | |||
for (var t = {}, a = _WJUtils2.default.getPagLenMax(), r = parseInt(e.length / 2 / a), n = (e.length / 2 % a != 0 && | |||
(r += 1), t.serviceCode = 0, t.serviceInfo = "encode ok", t.serviceData = {}, t.serviceData.dataEncode = | |||
new Array, 0), n = 0; n < r - 1; n++) t.serviceData.dataEncode[n] = e.substr(n * a * 2, 2 * a), t | |||
.serviceData.dataEncode[n] = getWXFrame(t.serviceData.dataEncode[n], n, r); | |||
return t.serviceData.dataEncode[r - 1] = e.substring((r - 1) * a * 2), t.serviceData.dataEncode[r - 1] = getWXFrame( | |||
t.serviceData.dataEncode[r - 1], r - 1, r), t | |||
} | |||
function getWXFrame(e, t, a) { | |||
for (var r = e, n = new ArrayBuffer(10), s = new DataView(n), i = "", d = 0, e = e.length / 2, l = (0 == t ? s | |||
.setInt8(0, 128 + (a - 1 - t & 255)) : s.setInt8(0, a - 1 - t & 255), r = "3301" + (i = _WJUtils2 | |||
.default.byteArray2hexStr(n).substring(0, 2)) + _WJUtils2.default.byte2hexStr(255 & e) + r, | |||
_WJUtils2.default.hexStr2byteArray(r)), c = 1; c < l.length; c++) d ^= l[c]; | |||
r += _WJUtils2.default.byte2hexStr(d); | |||
var u, a = _WJUtils2.default.hexStr2byteArray(r).length; | |||
return 127 < a ? (s.setInt8(0, 128 + (a % 128 & 255)), s.setInt8(1, a / 128 & 255), i = _WJUtils2.default | |||
.byteArray2hexStr(n).substring(0, 4), s.setInt8(0, (u = a + 8 + 4 + 3) >> 8 & 255)) : (s.setInt8(0, 255 & | |||
a), i = _WJUtils2.default.byteArray2hexStr(n).substring(0, 2), s.setInt8(0, (u = a + 8 + 4 + 2) >> 8 & 255) | |||
), s.setInt8(1, 255 & u), r = "FE01" + _WJUtils2.default.byteArray2hexStr(n).substring(0, 4) + | |||
"753100000A0012" + i + r + "1800" | |||
} | |||
function getGBFrame(e, t, a) { | |||
for (var r = e, n = new ArrayBuffer(10), s = new DataView(n), i = 0, e = e.length / 2, d = (0 == t ? (s.setInt8(0, | |||
128 + (a >> 8 & 255)), s.setInt8(1, 255 & a)) : (s.setInt8(0, t + 1 >> 8 & 255), s.setInt8(1, t + | |||
1 & 255)), s.setInt8(2, 255 & e), a = _WJUtils2.default.byteArray2hexStr(n).substring(0, 6), | |||
_WJUtils2.default.hexStr2byteArray(r = "50" + a + r)), l = 0; l < d.length; l++) i ^= d[l]; | |||
return r += _WJUtils2.default.byte2hexStr(i) | |||
} | |||
module.exports = { | |||
encode: encode | |||
}; |
@@ -1 +0,0 @@ | |||
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_WJService=require("./WJService.js"),_WJService2=_interopRequireDefault(_WJService),_WJUtils=require("./WJUtils.js"),_WJUtils2=_interopRequireDefault(_WJUtils),_WJDataDecode=require("./WJDataDecode.js"),_WJDataDecode2=_interopRequireDefault(_WJDataDecode);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var TAG_FUNCTION="function",sendCallback=void 0,TimerID=null;function _StartSendData(a,e){var l={},r=0,i=0;null!=TimerID&&(clearTimeout(TimerID),TimerID=null),_WJDataDecode2.default.init(),TimerID=setTimeout(pro_timeout,1e4),_WJUtils2.default.showLog(TimerID,"开启时钟"),sendCallback=e,_WJService2.default.SetDataListenerCallBack(!0,datacallback),function t(){var e="";40*i>=a[r].length&&(r++,i=0);r<a.length&&(e=a[r].length>=40*(i+1)?a[r].substring(40*i,40*(i+1)):a[r].substring(40*i,a[r].length));""==e?_WJUtils2.default.showLog("数据发送完毕!"):(_WJUtils2.default.showLog("发送数据:",e),_WJService2.default.reallyWriteBLECharacteristicValue(e,function(e){0==e.code?(i++,t()):(_WJUtils2.default.showError(TimerID,"数据发送失败,取消时钟"),null!=TimerID&&(clearTimeout(TimerID),TimerID=null),_WJService2.default.SetDataListenerCallBack(!1),l.serviceCode=-2,l.serviceInfo="数据发送失败",(void 0===sendCallback?"undefined":_typeof(sendCallback))==TAG_FUNCTION&&sendCallback(l))}))}()}function datacallback(e){_WJService2.default.SetDataListenerCallBack(!0,datacallback),_ReceiveData(e)}function pro_timeout(){var e={};_WJUtils2.default.showError(TimerID,"数据接收超时,取消时钟"),null!=TimerID&&(clearTimeout(TimerID),TimerID=null),_WJService2.default.SetDataListenerCallBack(!1),e.serviceCode=-3,e.serviceInfo="数据接收超时",(void 0===sendCallback?"undefined":_typeof(sendCallback))==TAG_FUNCTION&&sendCallback(e)}function _ReceiveData(e){for(var t=_WJUtils2.default.hexStr2byteArray(e),e=new ArrayBuffer(t.byteLength),a=new DataView(e),l=0;l<t.byteLength;l++)a.setUint8(l,t[l]);var r,i={},o=_WJUtils2.default.getProtocolType();0==o?r=_WJDataDecode2.default.decode_GB(e):1==o&&(r=_WJDataDecode2.default.decode_WX(e)),0==r.serviceCode&&(null!=(o=PackageDecode(r.serviceData.strData))?(_WJUtils2.default.showLog(TimerID,"接收数据成功,取消时钟"),null!=TimerID&&(clearTimeout(TimerID),TimerID=null),_WJService2.default.SetDataListenerCallBack(!1),i.serviceCode=0,i.serviceInfo="数据接收成功",i.serviceData={},i.serviceData.dataBuff=o):(_WJUtils2.default.showError(TimerID,"数据解析失败,取消时钟"),null!=TimerID&&(clearTimeout(TimerID),TimerID=null),_WJService2.default.SetDataListenerCallBack(!1),i.serviceCode=-1,i.serviceInfo="数据解析失败"),(void 0===sendCallback?"undefined":_typeof(sendCallback))==TAG_FUNCTION)&&sendCallback(i)}function PackageDecode(e){var t=_WJUtils2.default.getDATA_TYPE(),a=_WJUtils2.default.hexStr2byteArray(e),l=0,r=a[1],i=a[0];if(_WJUtils2.default.showLog("WJPackageDecode:",e),0!=r)return _WJUtils2.default.showError("WJ结果码非00"),null;switch(i){case 146:case 176:case 179:case 180:case 188:case 185:return 0==t?(c=7,129==a[5]&&(129==a[6]?(l=255&a[7],c+=1):130==a[6]?(l=a[7]<<8,l+=255&a[8],c+=2):l=255&a[6]),c=a.slice(c,l+c),s=_WJUtils2.default.byteArray2hexStr(c)):1==t&&(c=a.slice(5),s=_WJUtils2.default.APDU2TPDU(_WJUtils2.default.byteArray2hexStr(c))),_WJUtils2.default.showLog("WJ有效数据长度:",s.length/2,s),_WJUtils2.default.showLog("操作类型ok",i),s;case 145:case 151:case 148:case 144:var o=(255&a[3])<<8,s=(o+=a[2],c=a.slice(4,o+4),_WJUtils2.default.byteArray2hexStr(c));return _WJUtils2.default.showLog("WJ有效数据长度:",o,_WJUtils2.default.byteArray2hexStr(c)),_WJUtils2.default.showLog("操作类型ok",i),s;case 181:var o=a[2],c=a.slice(3,o+3);return _WJUtils2.default.showLog("WJ有效数据长度:",o,_WJUtils2.default.byteArray2hexStr(c)),_WJUtils2.default.showLog("操作类型ok",i),_WJUtils2.default.byteArray2hexStr(c);default:return _WJUtils2.default.showError("WJ通道类型有误"),null}}module.exports={_StartSendData:_StartSendData,_ReceiveData:_ReceiveData}; |
@@ -1 +0,0 @@ | |||
"use strict";var PROTOCOL_TYPE=1,PAGLENMAX=205,TRANSFER_TYPE=0,DATA_TYPE=0,CMD_TYPE=1;function showLog(){if(!(arguments.length<1)){for(var r=arguments[0],t=1;t<arguments.length;t++)r+=" "+arguments[t];console.log(r)}}function showError(){if(!(arguments.length<1)){for(var r=arguments[0],t=1;t<arguments.length;t++)r+=" "+arguments[t];console.error(r)}}function byteArray2hexStr(r){return Array.prototype.map.call(new Uint8Array(r),function(r){return("00"+r.toString(16)).slice(-2)}).join("")}function hexStr2byteArray(r){return new Uint8Array(r.match(/[\da-f]{2}/gi).map(function(r){return parseInt(r,16)}))}function byte2hexStr(r){var t="0123456789abcdef",e="";return(e+=t.charAt(r>>4))+t.charAt(15&r)}function getProtocolType(){return PROTOCOL_TYPE}function getPagLenMax(){return PAGLENMAX}function getTRANSFER_TYPE(){return TRANSFER_TYPE}function getDATA_TYPE(){return DATA_TYPE}function getCMD_TYPE(){return CMD_TYPE}function APDU2TPDU(r){var t=hexStr2byteArray(r),e="";if("01"==r.substring(0,2))e=r;else{for(var n=new Array,o=0,a=0;a<t[0];a++){var h=o+2,T=o+2+t[o+1];o+=1+t[o+1],n[a]=r.substring(2*h,2*T)}for(a=0;a<t[0];a++){var A=n[a].length/2;e+=byte2hexStr(a+1&255)+byte2hexStr(255&A)+n[a]}}return e}function TPDU2APDU(r){for(var t=hexStr2byteArray(r),e="",n=new Array,o=0,a=t.byteLength;o<a;){var h=t[o++],T=t[o++];n[h-1]=r.substring(2*o,2*(o+T)),o+=T}for(var e=byte2hexStr(255&n.length),A=0;A<n.length;A++)e+=byte2hexStr(n[A].length/2&255)+n[A];return e}function hexCharCodeToStr(r){var t,r=r.trim(),e="0x"===r.substr(0,2).toLowerCase()?r.substr(2):r,n=e.length;if(n%2!=0)return"";for(var o=[],a=0;a<n;a+=2)t=parseInt(e.substr(a,2),16),o.push(String.fromCharCode(t));return o.join("")}module.exports={showLog:showLog,byteArray2hexStr:byteArray2hexStr,hexStr2byteArray:hexStr2byteArray,showError:showError,byte2hexStr:byte2hexStr,getProtocolType:getProtocolType,getPagLenMax:getPagLenMax,getTRANSFER_TYPE:getTRANSFER_TYPE,getDATA_TYPE:getDATA_TYPE,getCMD_TYPE:getCMD_TYPE,APDU2TPDU:APDU2TPDU,TPDU2APDU:TPDU2APDU,hexCharCodeToStr:hexCharCodeToStr}; |