"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 };