123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409 |
- var timeId, TAG = "JLDeviceWechar+33Protocol",
- ble = require("./JLBleManager"),
- protocolRequest = require("./JLObuWechat33Request"),
- onfire = require("./onfire"),
- timeOut = require("./timeOut"),
- request33 = require("./JLObuWechat33Request"),
- reveive33 = require("./JLObuWechat33Reveice"),
- Code = require("./errorCode"),
- config = require("./JLZJConfig"),
- service = require("./JLService"),
- dataTool = require("./dataTool"),
- dataArray = [],
- isConnect = !1,
- frame_total = 1,
- frame_count = 1,
- fireFlag = "",
- receive_data = "",
- receive_data_total_len = "",
- wechat1 = !1,
- wechat2 = !1,
- revc_count = 0;
- export function scanDevice(e, t, i) {
- timeId = setTimeout(e => {
- ble.stopScanDevice(e => {
- i.call(this, {
- code: Code.timeOutCode(),
- err_msg: "扫描超时",
- data: null,
- msg: ""
- })
- })
- }, t), ble.scanDevice(e, e => {
- clearTimeout(timeId), i.call(this, e)
- })
- }
- export function stopScanDevice(e) {
- ble.stopScanDevice(t => {
- e.call(this, t)
- })
- }
- export function connectDevice(e, t) {
- receive_data = "", null != e && "undefined" != e ? (timeId = setTimeout(e => {
- disConnectDevice(), t.call(this, {
- code: Code.timeOutCode(),
- err_msg: "连接超时",
- data: null,
- msg: ""
- })
- }, timeOut.connectTimeOut()), ble.stopScanDevice(i => {
- i.code == Code.successCode() ? ble.connectDevice(e, e => {
- e.code == Code.successCode() ? ble.characticValueChange(e.data, e => {
- console.info(JSON.stringify(e)), ble.initModule(e.data.id), e.code != Code.successCode() && (disConnectDevice(), t.call(this, {
- code: Code.bleErrorCode(),
- err_msg: "连接失败",
- data: null,
- msg: ""
- }))
- }, e => {
- console.info(TAG + " 监听特征值变化:" + JSON.stringify(e) + "time = " + Date.parse(new Date)), dealReceiveData(e.data.value, e => {
- clearTimeout(timeId), t.call(this, {
- code: Code.bleSuccessCode(),
- err_msg: "连接成功",
- data: null,
- msg: ""
- })
- })
- }) : t.call(this, e)
- }) : t.call(this, i)
- })) : t.call(this, {
- code: 10003,
- err_msg: "参数错误",
- data: null,
- msg: ""
- })
- }
- export function onDisconnet(e) {
- ble.onDeviceDisconnect(t => {
- isConnect = !1, dataArray = [], frame_count = 0, frame_total = 0, onfire.clear(), receive_data = "", clearTimeout(timeId), e.call(this, t)
- })
- }
- export function disConnectDevice(e) {
- receive_data = "", ble.disConnect(t => {
- isConnect = !1, dataArray = [], frame_count = 0, frame_total = 0, onfire.clear(), clearTimeout(timeId), e.call(this, t)
- })
- }
- export function checkCard(e) {
- receive_data = "";
- var t = request33.checkCardRequest();
- timeId = setTimeout(t => {
- e.call(this, {
- code: Code.timeOutCode(),
- err_msg: "检查卡片超时",
- data: null,
- msg: ""
- }), receive_data = ""
- }, timeOut.sendTime()), ble.sendCommand(t, t => {
- t.code == Code.successCode() ? (clearTimeout(timeId), reveive33.recevieShakeHands(t => {
- e.call(this, t)
- })) : e.call(this, t)
- })
- }
- export function getSystemInfo(e) {
- receive_data = "", timeId = setTimeout(t => {
- e.call(this, {
- code: Code.timeOutCode(),
- err_msg: "读系统信息超时",
- data: null,
- msg: ""
- }), receive_data = ""
- }, timeOut.sendTime()), service.getSystemInfo(e => {
- fireFlag = e.fireFlag, receive_data = ""
- }, t => {
- clearTimeout(timeId), e.call(this, t)
- })
- }
- export function getCarInfo(e, t) {
- receive_data = "", timeId = setTimeout(e => {
- t.call(this, {
- code: Code.timeOutCode(),
- err_msg: "读车辆信息超时",
- data: null,
- msg: ""
- }), receive_data = ""
- }, timeOut.sendTime()), service.getCarInfo(e, e => {
- console.log(TAG + "-----fireFlag--------" + JSON.stringify(e)), fireFlag = e.fireFlag, receive_data = ""
- }, e => {
- clearTimeout(timeId), t.call(this, e)
- })
- }
- export function writeObuIfo(e, t, i) {
- receive_data = "", timeId = setTimeout(e => {
- receive_data = "", i.call(this, {
- code: Code.timeOutCode(),
- err_msg: "写系统信息超时",
- data: null,
- msg: ""
- })
- }, timeOut.sendTime()), service.systemInfo_WriteObuInfoFile([t], e => {
- receive_data = "", fireFlag = e.fireFlag
- }, e => {
- clearTimeout(timeId), i.call(this, e)
- })
- }
- export function getCardInfo(e) {
- console.log(TAG + " getCardInfo:" + Date.parse(new Date)), receive_data = "", timeId = setTimeout(t => {
- receive_data = "", e.call(this, {
- code: Code.timeOutCode(),
- err_msg: "读取卡信息超时",
- data: null,
- msg: ""
- })
- }, timeOut.sendTime()), service.getCardInfo(e => {
- fireFlag = e.fireFlag, receive_data = ""
- }, t => {
- clearTimeout(timeId), e.call(this, t)
- })
- }
- export function getCardholderInfo(e) {
- receive_data = "", timeId = setTimeout(t => {
- receive_data = "", e.call(this, {
- code: Code.timeOutCode(),
- err_msg: "读取持卡人信息超时",
- data: null,
- msg: ""
- })
- }, timeOut.sendTime()), service.getCardholderInfo(e => {
- fireFlag = e.fireFlag, receive_data = ""
- }, t => {
- clearTimeout(timeId), e.call(this, t)
- })
- }
- export function writeCardInfomation(e, t, i) {
- receive_data = "", timeId = setTimeout(e => {
- receive_data = "", i.call(this, {
- code: Code.timeOutCode(),
- err_msg: "读写卡片发行信息超时",
- data: null,
- msg: ""
- })
- }, timeOut.sendTime()), service.cardInfo_WriteCardInfoFile([t], e => {
- fireFlag = e.fireFlag, receive_data = ""
- }, e => {
- clearTimeout(timeId), i.call(this, e)
- })
- }
- export function ICCReset(e) {
- receive_data = "", timeId = setTimeout(t => {
- receive_data = "", e.call(this, {
- code: Code.timeOutCode(),
- err_msg: "ICC复位超时",
- data: null,
- msg: ""
- })
- }, timeOut.sendTime()), console.log(TAG + "cardInfo_ICCReset--------ICC复位");
- var t = protocolRequest.ICCResetRequest();
- ble.sendCommand(t, t => {
- t.code == Code.successCode() ? (fireFlag = config.ICCReset(), reveive33.receiveICCReset(t => {
- clearTimeout(timeId), e.call(this, t)
- })) : e.call(this, t)
- })
- }
- export function ESAMRset(e) {
- receive_data = "", timeId = setTimeout(t => {
- receive_data = "", e.call(this, {
- code: Code.timeOutCode(),
- err_msg: "ICC复位超时",
- data: null,
- msg: ""
- })
- }, timeOut.sendTime()), console.log(TAG + "carInfo_ESAMReset--------ESAM 复位");
- var t = protocolRequest.ESAMReset();
- ble.sendCommand(t, t => {
- console.log(TAG + "sendCommand--------res" + JSON.stringify(t)), fireFlag = config.ESAMReset(), reveive33.receiveEsamReset(t => {
- clearTimeout(timeId), console.log(TAG + "receiveEsamReset--------res" + JSON.stringify(t)), e.call(this, t)
- })
- })
- }
- export function ICCChannel(e, t) {
- var i = protocolRequest.ICCChannelTransmission("00", [e]);
- timeId = setTimeout(e => {
- receive_data = "", t.call(this, {
- code: Code.timeOutCode(),
- err_msg: "ICC透传超时",
- data: null,
- msg: ""
- })
- }, timeOut.sendTime()), ble.sendCommand(i, e => {
- e.code == Code.successCode() ? (fireFlag = config.ICCChannel(), reveive33.receiveICCChannel(e => {
- clearTimeout(timeId), t.call(this, e)
- })) : t.call(this, e)
- })
- }
- export function ESAMChannel(e, t) {
- console.log(TAG + "ESAMChannel--------ESAM透传");
- var i = protocolRequest.ESAMChannelTransmission("00", [e]);
- timeId = setTimeout(e => {
- receive_data = "", t.call(this, {
- code: Code.timeOutCode(),
- err_msg: "ESAM透传超时",
- data: null,
- msg: ""
- })
- }, timeOut.sendTime()), ble.sendCommand(i, e => {
- console.log(TAG + "sendCommand--------res" + JSON.stringify(e)), fireFlag = config.ESAMChannel(), reveive33.receiveESAMChannel(e => {
- clearTimeout(timeId), t.call(this, e)
- })
- })
- }
- export function creditForLoad_Init(e, t, i, a, o) {
- receive_data = "", timeId = setTimeout(e => {
- receive_data = "", o.call(this, {
- code: Code.timeOutCode(),
- err_msg: "圈存初始化超时",
- data: null,
- msg: ""
- })
- }, timeOut.sendTime()), service.creditForLoadInit(e, t, i, a, e => {
- fireFlag = e.fireFlag, receive_data = ""
- }, e => {
- clearTimeout(timeId), o.call(this, e)
- })
- }
- export function creditForLoad_Load(e, t, i) {
- receive_data = "", timeId = setTimeout(e => {
- receive_data = "", i.call(this, {
- code: Code.timeOutCode(),
- err_msg: "圈存写卡超时",
- data: null,
- msg: ""
- })
- }, timeOut.sendTime()), service.creditForLoad(e, t, e => {
- fireFlag = e.fireFlag, receive_data = ""
- }, e => {
- clearTimeout(timeId), i.call(this, e)
- })
- }
- export function readRetainFile(e, t, i) {
- receive_data = "", timeId = setTimeout(t => {
- receive_data = "", i.call(this, {
- code: Code.timeOutCode(),
- err_msg: "读取" + e + "文件信息超时",
- data: null,
- msg: ""
- })
- }, timeOut.sendTime()), service.readRetainFile(e, t, e => {
- fireFlag = e.fireFlag, receive_data = ""
- }, e => {
- clearTimeout(timeId), i.call(this, e)
- })
- }
- export function writeRetainFile(e, t) {
- receive_data = "", timeId = setTimeout(e => {
- receive_data = "", t.call(this, {
- code: Code.timeOutCode(),
- err_msg: "写卡片信息超时",
- data: null,
- msg: ""
- })
- }, timeOut.sendTime()), service.cardInfo_WriteCardInfoFile([e], e => {
- fireFlag = e.fireFlag, receive_data = ""
- }, e => {
- clearTimeout(timeId), t.call(this, e)
- })
- }
- export function getCardNum(e) {
- receive_data = "", timeId = setTimeout(t => {
- receive_data = "", e.call(this, {
- code: Code.timeOutCode(),
- err_msg: "读取卡号超时",
- data: null,
- msg: ""
- })
- }, timeOut.sendTime()), service.getCardInfo(e => {
- fireFlag = e.fireFlag, receive_data = ""
- }, t => {
- clearTimeout(timeId), t.code == Code.successCode() ? e.call(this, {
- code: Code.successCode(),
- err_msg: "获取卡号成功",
- data: t.data.substr(24, 16),
- msg: ""
- }) : e.call(this, t)
- })
- }
- export function getObuSN(e) {
- receive_data = "", timeId = setTimeout(t => {
- e.call(this, {
- code: Code.timeOutCode(),
- err_msg: "获取合同序列号超时",
- data: null,
- msg: ""
- }), receive_data = ""
- }, timeOut.sendTime()), service.getSystemInfo(e => {
- fireFlag = e.fireFlag, receive_data = ""
- }, t => {
- clearTimeout(timeId), e.call(this, {
- code: Code.successCode(),
- err_msg: "获取合同序列号成功",
- data: t.data.substr(20, 16),
- msg: ""
- })
- })
- }
- export function getCardRandNum(e, t) {
- receive_data = "", timeId = setTimeout(e => {
- receive_data = "", t.call(this, {
- code: Code.timeOutCode(),
- err_msg: "读取卡片随机数",
- data: null,
- msg: ""
- })
- }, timeOut.sendTime()), service.getCardRandom(e, "04", e => {
- fireFlag = e.fireFlag, receive_data = ""
- }, e => {
- clearTimeout(timeId), t.call(this, e)
- })
- }
- export function getObuRadom(e, t) {
- receive_data = "", timeId = setTimeout(e => {
- receive_data = "", t.call(this, {
- code: Code.timeOutCode(),
- err_msg: "读随机数超时",
- data: null,
- msg: ""
- })
- }, timeOut.sendTime()), console.log(TAG + "-----getObuRadom--------"), service.getObuRandom(e, e => {
- fireFlag = e.fireFlag, receive_data = ""
- }, e => {
- clearTimeout(timeId), t.call(this, e)
- })
- }
- var timepReceive_data = "";
-
- function dealReceiveData(e, t) {
- console.log(TAG + " dealReceiveData: " + e + Date.parse(new Date)), console.log(TAG + " revc_count:" + revc_count), console.log(TAG + " timepReceive_data:" + timepReceive_data), 0 == revc_count ? "FE01" == e.substr(0, 4) && (timepReceive_data += e, revc_count++) : (timepReceive_data += e, revc_count++);
- var i = 2 * parseInt(timepReceive_data.substring(4, 8), 16) == timepReceive_data.length;
- if (console.log(TAG + " 8blg:" + i), i) {
- console.log("receive_data:" + timepReceive_data);
- var a = timepReceive_data.substr(24, 2),
- o = timepReceive_data.substr(8, 4);
- if ("33" == a) console.log(TAG + "----fireFlag:" + fireFlag), onfire.fire(fireFlag, timepReceive_data), timepReceive_data = "", receive_data = "", revc_count = 0;
- else if ("2711" == o || "2713" == o)
- if ("2711" == o) {
- var c = timepReceive_data.substring(40, 44),
- r = protocolRequest.wechatInit1(c);
- timepReceive_data = "", receive_data = "", revc_count = 0, console.log("认证1", r), ble.sendCommand(r, e => {
- console.log("发送认证1 :" + JSON.stringify(e))
- })
- } else if ("2713" == o) {
- console.log("认证2");
- r = protocolRequest.wechatInit2(c);
- timepReceive_data = "", receive_data = "", revc_count = 0, ble.sendCommand(r, e => {
- console.log("发送认证2 :" + JSON.stringify(e)), timepReceive_data = "", receive_data = "", revc_count = 0, t.call(this, {
- code: Code.bleSuccessCode(),
- msg: "连接成功",
- data: null
- })
- })
- } else t.call(this, {
- code: Code.bleErrorCode,
- msg: "非法连接",
- data: null
- });
- else t.call(this, {
- code: Code.bleErrorCode,
- msg: "非法连接",
- data: null
- })
- }
- }
|