"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 }, _wjUtils = require("./wjUtils.js"), _wjUtils2 = _interopRequireDefault(_wjUtils), _wjService = require("./wjService.js"), _wjService2 = _interopRequireDefault(_wjService), _wjDataInteract = require("./wjDataInteract.js"), _wjDataInteract2 = _interopRequireDefault(_wjDataInteract), _wjDataAnalysis = require("./wjDataAnalysis.js"), _wjDataAnalysis2 = _interopRequireDefault(_wjDataAnalysis), _wjDataEncode = require("./wjDataEncode.js"), _wjDataEncode2 = _interopRequireDefault(_wjDataEncode); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e } } var timeID, TAG_FUNCTION = "function", SDK_VERSION = "WJ_BLESDK_WX_WXCDAX_V2.0.1_20240605"; function connectDevice(e, t) { var i; _wjService2.default.reallyConnect(e, function(e) { console.log("设备连接", e), i = e, (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(i) }) } function scanDevice(d) { var c = {}, l = []; wx.openBluetoothAdapter({ success: function(e) { wx.startBluetoothDevicesDiscovery({ services: [], success: function(e) { wx.onBluetoothDeviceFound(function(e) { for (var t = 0; t < e.devices.length; t++) { for (var i = !1, n = 0; n < l.length; n++) if (e.devices[t].deviceId == l[n].deviceId) { i = !0; break } var o = e.devices[t].name.toUpperCase(); if (0 == i && null != o && (l.push(e.devices[t]), _wjUtils2 .default.showLog("connectedDeviceName:" + o), o .includes("WJ") || o.includes("WANJI") || o .includes("ETC") || o.includes("3601") || o .includes("YTK") || o.includes("HB") || o.includes( "CQ") || o.includes("YUN") || o.includes( "SH") || o.includes("HCZJ") || o.includes("NM") || o .includes("SC") || o.includes("LJ") || o.includes( "HN"))) { null != timeID && (clearTimeout(timeID), timeID = null); var a = e.devices[t].deviceId, s = (_wjUtils2.default.showLog( "connectedDeviceId:" + a), {}); s.device_name = o, s.device_id = a, wx .stopBluetoothDevicesDiscovery({ success: function(e) { wx.hideLoading(), _wjUtils2.default .showLog("停止扫描,开始连接"), connectDevice(s, function(e) { console.log( "serviceResult.serviceCode", e.serviceCode), console.log( "connectDevice2", e), 0 === e .serviceCode ? (c .serviceCode = 0, c .serviceInfo = "设备名称:" + s .device_name + e .serviceInfo, e .serviceInfo, console.log( "设备名称:" + s .device_name + e .serviceInfo )) : (c .serviceCode = e .serviceCode, c .serviceInfo = "连接失败," + e, e .serviceInfo), ( void 0 === d ? "undefined" : _typeof(d)) == TAG_FUNCTION && d(c) }) }, fail: function(e) { wx.hideLoading(), _wjUtils2.default .showError( "stopBluetoothDevicesDiscovery fail", e) } }); break } } }), timeID = setTimeout(function() { wx.closeBluetoothAdapter(), _wjUtils2.default.showError( "conn timeout fail"), c.serviceCode = -1, c .serviceData = "conn timeout fail", (void 0 === d ? "undefined" : _typeof(d)) == TAG_FUNCTION && d(c), wx .hideLoading() }, 5e3) }, fail: function(e) { _wjUtils2.default.showError("startBluetoothDevicesDiscovery fail", e), c .serviceCode = -1, c.serviceData = "startBluetoothDevicesDiscovery fail", (void 0 === d ? "undefined" : _typeof(d)) == TAG_FUNCTION && d(c) } }) }, fail: function() { wx.closeBluetoothAdapter({ success: function(e) { var t = "关闭蓝牙适配器"; _wjUtils2.default.showError(t), c.serviceCode = -1, c.serviceData = t, ( void 0 === d ? "undefined" : _typeof(d)) == TAG_FUNCTION && d(c) } }), wx.hideLoading(), wx.showModal({ title: "提示", content: "蓝牙开关未开启或者手机不支持蓝牙功能!" }) } }) } function disConnectDevice(t) { var i; _wjService2.default.reallyDisConnect(function(e) { i = e, (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(i) }) } function init(e) { var t = { serviceCode: 0, serviceInfo: SDK_VERSION }; console.log("SDK_VERSION", SDK_VERSION), (void 0 === e ? "undefined" : _typeof(e)) == TAG_FUNCTION && e(t) } function getDeviceInfo(t) { var i = {}, e = "", n = _wjUtils2.default.getCMD_TYPE(); 0 == n ? e = "810100C0" : 1 == n ? e = "A501C0" : 2 == n && (e = "C5040080020200"), n = _wjDataEncode2.default .encode(e), _wjDataInteract2.default._StartSendData(n.serviceData.dataEncode, function(e) { i = (0 == e.serviceCode && (console.log("设备信息res", e), _wjUtils2.default.showLog("获取设备信息成功")), e), ( void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(i) }) } function selectICDir(t, i) { var n = {}, e = "010700A4000002" + t, o = "", a = "", s = (1 == _wjUtils2.default.getTRANSFER_TYPE() && (e = _wjUtils2.default.TPDU2APDU(e)), _wjUtils2.default .getCMD_TYPE()); 0 == s ? (o = "10", a = "82") : 1 == s ? (o = "00", a = "A3") : 2 == s && (o = "01", a = "C2"), this .transCommandPlain(e, o, a, function(e) { 0 == e.serviceCode ? (_wjUtils2.default.showLog("IC卡进目录成功"), (n = e).serviceInfo = "IC卡进" + t + "目录成功") : n = e, (void 0 === i ? "undefined" : _typeof(i)) == TAG_FUNCTION && i(n) }) } function getCardInfo(t) { var i = {}, e = "", e = "010500B095002B0205805C000204", n = "", o = "", a = (1 == _wjUtils2.default.getTRANSFER_TYPE() && (e = _wjUtils2.default.TPDU2APDU(e)), _wjUtils2.default .getCMD_TYPE()); 0 == a ? (n = "10", o = "82") : 1 == a ? (n = "00", o = "A3") : 2 == a && (n = "01", o = "C2"), this .transCommandPlain(e, n, o, function(e) { i = 0 == e.serviceCode ? (_wjUtils2.default.showLog("获取卡片信息成功"), _wjDataAnalysis2.default .analysisCardInfo(e.serviceData.dataBuff)) : e, (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(i) }) } function selectESAMDir(t, i) { var n = {}, e = "010700A4000002" + t, o = "", a = "", s = (1 == _wjUtils2.default.getTRANSFER_TYPE() && (e = _wjUtils2.default.TPDU2APDU(e)), _wjUtils2.default .getCMD_TYPE()); 0 == s ? (o = "20", a = "82") : 1 == s ? (o = "00", a = "A0") : 2 == s && (o = "02", a = "C2"), this .transCommandPlain(e, o, a, function(e) { 0 == e.serviceCode ? (_wjUtils2.default.showLog("ESAM卡进" + t + "目录成功"), (n = e).serviceInfo = "ESAM卡进" + t + "目录成功") : n = e, (void 0 === i ? "undefined" : _typeof(i)) == TAG_FUNCTION && i(n) }) } function getObuSysInfo(t) { var i = {}, e = "010500B081001B", n = "", o = "", a = (1 == _wjUtils2.default.getTRANSFER_TYPE() && (e = _wjUtils2.default.TPDU2APDU(e)), _wjUtils2.default .getCMD_TYPE()); 0 == a ? (n = "20", o = "82") : 1 == a ? (n = "00", o = "A0") : 2 == a && (n = "02", o = "C2"), this .transCommandPlain(e, n, o, function(e) { i = 0 == e.serviceCode ? (_wjUtils2.default.showLog("获取系统信息成功"), _wjDataAnalysis2.default .analysisgetObuSysInfo(e.serviceData.dataBuff)) : e, (void 0 === t ? "undefined" : _typeof( t)) == TAG_FUNCTION && t(i) }) } function getRand(t) { var i = {}, e = "01050084000004", n = "", o = "", a = (1 == _wjUtils2.default.getTRANSFER_TYPE() && (e = _wjUtils2.default.TPDU2APDU(e)), _wjUtils2.default .getCMD_TYPE()); 0 == a ? (n = "20", o = "82") : 1 == a ? (n = "00", o = "A0") : 2 == a && (n = "02", o = "C2"), this .transCommandPlain(e, n, o, function(e) { i = 0 == e.serviceCode ? (_wjUtils2.default.showLog("获取随机数成功"), _wjDataAnalysis2.default .analysisGetRand(e.serviceData.dataBuff)) : e, (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(i) }) } function writeObuSysInfo(e, t) { var i, n, o, a = {}; null != e && 20 == e.length ? (e = "010A" + e, n = i = "", 1 == _wjUtils2.default.getTRANSFER_TYPE() && (e = _wjUtils2.default.TPDU2APDU(e)), 0 == (o = _wjUtils2.default.getCMD_TYPE()) ? (i = "20", n = "82") : 1 == o ? (i = "00", n = "A0") : 2 == o && (i = "02", n = "C2"), this.transCommandPlain(e, i, n, function( e) { 0 == e.serviceCode ? (_wjUtils2.default.showLog("OBU激活成功"), (a = e).serviceInfo = "OBU激活成功") : a = e, (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(a) })) : (a.serviceCode = -1, a.serviceInfo = "激活参数错误", (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(a)) } function getVehCipherInfo(t) { var i = {}, e = "010F00B400000A01020304050607083B00", n = "", o = "", a = (1 == _wjUtils2.default.getTRANSFER_TYPE() && (e = _wjUtils2.default.TPDU2APDU(e)), _wjUtils2.default .getCMD_TYPE()); 0 == a ? (n = "20", o = "82") : 1 == a ? (n = "00", o = "A0") : 2 == a && (n = "02", o = "C2"), this .transCommandPlain(e, n, o, function(e) { i = 0 == e.serviceCode ? (_wjUtils2.default.showLog("获取车辆信息密文成功"), _wjDataAnalysis2.default .analysisVehCipherInfo(e.serviceData.dataBuff)) : e, (void 0 === t ? "undefined" : _typeof( t)) == TAG_FUNCTION && t(i) }) } function transCommandPlain(e, t, i, n) { var o = {}, a = {}; "01" == t || "02" == t || "00" == t ? (a = {}, a = _wjDataEncode2.default.encode(e, t, i), _wjDataInteract2.default ._StartSendData(a.serviceData.dataEncode, function(e) { o = (0 == (o = e).serviceCode ? _wjUtils2.default.showLog("APDU透传指令成功") : _wjUtils2.default.showLog( "APDU透传指令失败"), e), (void 0 === n ? "undefined" : _typeof(n)) == TAG_FUNCTION && n(o) })) : (o.serviceCode = -1, o.serviceInfo = "command参数错误!", (void 0 === n ? "undefined" : _typeof(n)) == TAG_FUNCTION && n(o)) } function transCommand(e, t, i) { var n = {}; e = _wjDataEncode2.default.encode(e, "00", t), _wjDataInteract2.default._StartSendData(e.serviceData.dataEncode, function(e) { n = (0 == (n = e).serviceCode ? _wjUtils2.default.showLog("APDU透传指令成功") : _wjUtils2.default.showLog( "APDU透传指令失败"), e), (void 0 === i ? "undefined" : _typeof(i)) == TAG_FUNCTION && i(n) }) } module.exports = { scanDevice: scanDevice, connectDevice: connectDevice, init: init, disConnectDevice: disConnectDevice, getDeviceInfo: getDeviceInfo, transCommand: transCommand };