123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932 |
- const dataHandler = require('./DataHandler.js');
- const dataUtil = require('./DataUtil.js');
- const common_vendor = require("../../../common/vendor.js");
- var wx = common_vendor.index
- module['exports'] = {
- 'connectDevice': connectDevice,
- 'disconnectDevice': disconnectDevice,
- 'transCmd': transCmd
- };
- const codeEnum = {
- 'successCode': 0x0,
- 'failureCode': 0x1,
- 'stopScanFailure': 0x2,
- 'creatConnectionFailure': 0x3,
- 'getServiceFailure': 0x4,
- 'noTargetServiceId': 0x5,
- 'getCharacteristicsFailure': 0x6,
- 'noTargetCharacteristic': 0x7,
- 'monitorNotificationFailure': 0x8,
- 'authResponseFailure': 0x9,
- 'initResponseFailure': 0xa,
- 'initDeviceFailure': 0xb,
- 'dataFrameTransboundary': 0xc,
- 'notPassBccCheck': 0xd,
- 'sendDataFailure': 0xe,
- 'paraError': 0xf,
- 'timeout': 0x64
- };
- const FUNCTION = 'function';
- const serviceUUID = '0000FEE7-0000-1000-8000-00805F9B34FB';
- const writeUUID = '0000FEC7-0000-1000-8000-00805F9B34FB';
- const readUUID = '0000FEC8-0000-1000-8000-00805F9B34FB';
- const connectTime = 0x14 * 0x3e8;
- const startA2Time = 0xf0;
- const waitA2ResponseTime = 0x3e8;
- var haveFoundDevice = new Array();
- var connectDeviceId;
- var connectCallback;
- var connectTimer;
- var startA2Timer;
- var waitA2ResponseTimer;
- var frame = '';
- var frameLen = 0x0;
- var frames = new Array();
- var framesLen = 0x0;
- var dataHandlerCallback;
- var sendBufferArray = new Array();
- var cmds = new Array();
- var sendIndex;
- var resendCount = 0x3;
-
- function toObject(_0x149c13, _0x3866a5, _0x513b59) {
- return {
- 'code': _0x149c13,
- 'data': _0x3866a5,
- 'msg': _0x513b59
- };
- }
-
- function startConnectBle() {
- var _0x39f7e7 = {
- 'pvrqv': function(_0x2f8775) {
- return _0x2f8775();
- },
- 'qCdfF': function(_0x52b0d5, _0x1cce83) {
- return _0x52b0d5 != _0x1cce83;
- },
- 'foNeu': function(_0x8efd3, _0x374dd8) {
- return _0x8efd3(_0x374dd8);
- },
- 'lqxoG': function(_0x527f5a, _0x30b24a) {
- return _0x527f5a == _0x30b24a;
- },
- 'iSVxQ': function(_0x28b856, _0x25b387) {
- return _0x28b856(_0x25b387);
- },
- 'gTweF': function(_0x5e8c45, _0x1e5c5, _0x5496cf, _0xf2d1b2) {
- return _0x5e8c45(_0x1e5c5, _0x5496cf, _0xf2d1b2);
- },
- 'pNyZL': 'creatConnectionFailure',
- 'waCGw': 'createBLEConnection'
- };
- wx[_0x39f7e7['waCGw']]({
- 'deviceId': connectDeviceId,
- 'success': function(_0x163be4) {
- _0x39f7e7['pvrqv'](startGetAndCheckService);
- },
- 'fail': function() {
- if (_0x39f7e7['qCdfF'](typeof connectTimer, undefined)) {
- _0x39f7e7['foNeu'](clearTimeout, connectTimer);
- }
- _0x39f7e7['lqxoG'](typeof connectCallback, FUNCTION) && _0x39f7e7['iSVxQ'](connectCallback,
- _0x39f7e7['gTweF'](toObject, codeEnum[_0x39f7e7['pNyZL']], undefined, _0x39f7e7[
- 'pNyZL']));
- }
- });
- }
-
- function startGetAndCheckService() {
- var _0x12e983 = {
- 'JSGmd': function(_0x14bd9d, _0x3f89d3) {
- return _0x14bd9d < _0x3f89d3;
- },
- 'zlttm': 'services',
- 'trMuO': 'length',
- 'txYHv': 'uuid',
- 'iJSjv': function(_0x4a1eba, _0x2b09e0) {
- return _0x4a1eba == _0x2b09e0;
- },
- 'qVRrb': function(_0x575a4d, _0x2c4ce5) {
- return _0x575a4d == _0x2c4ce5;
- },
- 'EuxTQ': function(_0x671ccf) {
- return _0x671ccf();
- },
- 'toJws': function(_0xfb6b1, _0x482a25) {
- return _0xfb6b1 != _0x482a25;
- },
- 'XMuaX': function(_0x36c32a, _0x3498b4) {
- return _0x36c32a(_0x3498b4);
- },
- 'bbOmp': function(_0x576d3e, _0x24a781) {
- return _0x576d3e == _0x24a781;
- },
- 'Qtmci': function(_0x4d49ce, _0x5052b7, _0x2e9f70, _0x2b47b2) {
- return _0x4d49ce(_0x5052b7, _0x2e9f70, _0x2b47b2);
- },
- 'Dtomi': 'noTargetServiceId',
- 'AHvRQ': function(_0x100f3d, _0x5793d6) {
- return _0x100f3d == _0x5793d6;
- },
- 'zoFlA': function(_0x18c43e, _0x52d31) {
- return _0x18c43e(_0x52d31);
- },
- 'goMav': 'getServiceFailure',
- 'YNHsh': 'getBLEDeviceServices'
- };
- wx[_0x12e983['YNHsh']]({
- 'deviceId': connectDeviceId,
- 'success': function(_0x1073ea) {
- let _0x5ac6af = ![];
- for (let _0x162af1 = 0x0; _0x12e983['JSGmd'](_0x162af1, _0x1073ea[_0x12e983['zlttm']][_0x12e983[
- 'trMuO']]); _0x162af1++) {
- let _0x5ae184 = _0x1073ea[_0x12e983['zlttm']][_0x162af1][_0x12e983['txYHv']];
- if (_0x12e983['iJSjv'](_0x5ae184, serviceUUID)) {
- _0x5ac6af = !![];
- break;
- }
- }
- if (_0x12e983['qVRrb'](_0x5ac6af, !![])) {
- _0x12e983['EuxTQ'](startGetAndCheckCharacterisitc);
- } else {
- if (_0x12e983['toJws'](typeof connectTimer, undefined)) {
- _0x12e983['XMuaX'](clearTimeout, connectTimer);
- }
- _0x12e983['bbOmp'](typeof connectCallback, FUNCTION) && _0x12e983['XMuaX'](connectCallback,
- _0x12e983['Qtmci'](toObject, codeEnum[_0x12e983['Dtomi']], undefined, _0x12e983[
- 'Dtomi']));
- }
- },
- 'fail': function() {
- if (_0x12e983['toJws'](typeof connectTimer, undefined)) {
- _0x12e983['XMuaX'](clearTimeout, connectTimer);
- }
- _0x12e983['AHvRQ'](typeof connectCallback, FUNCTION) && _0x12e983['zoFlA'](connectCallback,
- _0x12e983['Qtmci'](toObject, codeEnum[_0x12e983['goMav']], undefined, _0x12e983[
- 'goMav']));
- }
- });
- }
-
- function startGetAndCheckCharacterisitc() {
- var _0xf40bc4 = {
- 'ESCgk': function(_0x486916, _0x3ee539) {
- return _0x486916 < _0x3ee539;
- },
- 'sTyEY': 'characteristics',
- 'Zdmgr': 'length',
- 'MbNoh': 'uuid',
- 'ulTpP': function(_0x19d706, _0x442766) {
- return _0x19d706 == _0x442766;
- },
- 'uOgVf': function(_0x141a53, _0x529037) {
- return _0x141a53 == _0x529037;
- },
- 'fPLkc': function(_0x498485, _0x3cd947) {
- return _0x498485 == _0x3cd947;
- },
- 'CdbSX': function(_0x1fee51) {
- return _0x1fee51();
- },
- 'EtRIb': function(_0x2f6f95, _0x5afb48) {
- return _0x2f6f95 != _0x5afb48;
- },
- 'gUFZU': function(_0x494359, _0x18f814) {
- return _0x494359(_0x18f814);
- },
- 'yRYCB': function(_0xeafbb6, _0x2a6de1, _0x5e9dba, _0x58e47d) {
- return _0xeafbb6(_0x2a6de1, _0x5e9dba, _0x58e47d);
- },
- 'HXaXA': 'noTargetCharacteristic',
- 'bXFzG': function(_0x47ed07, _0x47b7bc) {
- return _0x47ed07 != _0x47b7bc;
- },
- 'zFWJb': function(_0xd79225, _0x2dfb09) {
- return _0xd79225(_0x2dfb09);
- },
- 'vSDBY': function(_0x3d88e9, _0x112ce5) {
- return _0x3d88e9(_0x112ce5);
- },
- 'uycxm': function(_0x464750, _0x34056e, _0x14860d, _0x5ba788) {
- return _0x464750(_0x34056e, _0x14860d, _0x5ba788);
- },
- 'rezQr': 'getCharacteristicsFailure',
- 'XQHPI': 'getBLEDeviceCharacteristics'
- };
- wx[_0xf40bc4['XQHPI']]({
- 'deviceId': connectDeviceId,
- 'serviceId': serviceUUID,
- 'success': function(_0x30ac36) {
- let _0x31ccc7 = ![];
- let _0x21f3ad = ![];
- for (let _0x2946ae = 0x0; _0xf40bc4['ESCgk'](_0x2946ae, _0x30ac36[_0xf40bc4['sTyEY']][_0xf40bc4[
- 'Zdmgr']]); _0x2946ae++) {
- let _0x2f2ed6 = _0x30ac36[_0xf40bc4['sTyEY']][_0x2946ae][_0xf40bc4['MbNoh']];
- if (_0xf40bc4['ulTpP'](_0x2f2ed6, readUUID)) {
- _0x31ccc7 = !![];
- } else if (_0xf40bc4['ulTpP'](_0x2f2ed6, writeUUID)) {
- _0x21f3ad = !![];
- }
- if (_0xf40bc4['uOgVf'](_0x31ccc7, !![]) && _0xf40bc4['fPLkc'](_0x21f3ad, !![])) {
- break;
- }
- }
- if (_0xf40bc4['fPLkc'](_0x31ccc7, !![]) && _0xf40bc4['fPLkc'](_0x21f3ad, !![])) {
- _0xf40bc4['CdbSX'](monitorNotification);
- } else {
- if (_0xf40bc4['EtRIb'](typeof connectTimer, undefined)) {
- _0xf40bc4['gUFZU'](clearTimeout, connectTimer);
- }
- _0xf40bc4['fPLkc'](typeof connectCallback, FUNCTION) && _0xf40bc4['gUFZU'](connectCallback,
- _0xf40bc4['yRYCB'](toObject, codeEnum[_0xf40bc4['HXaXA']], undefined, _0xf40bc4[
- 'HXaXA']));
- }
- },
- 'fail': function() {
- if (_0xf40bc4['bXFzG'](typeof connectTimer, undefined)) {
- _0xf40bc4['zFWJb'](clearTimeout, connectTimer);
- }
- _0xf40bc4['fPLkc'](typeof connectCallback, FUNCTION) && _0xf40bc4['vSDBY'](connectCallback,
- _0xf40bc4['uycxm'](toObject, codeEnum[_0xf40bc4['rezQr']], undefined, _0xf40bc4[
- 'rezQr']));
- }
- });
- }
-
- function monitorNotification() {
- var _0x154f78 = {
- 'Lpkqv': function(_0x57cbbf, _0x393d7a) {
- return _0x57cbbf != _0x393d7a;
- },
- 'XTtbf': function(_0x13eca1, _0x6d4a10) {
- return _0x13eca1(_0x6d4a10);
- },
- 'rLGvd': function(_0x9a1744, _0x5da334) {
- return _0x9a1744 == _0x5da334;
- },
- 'WjzsZ': function(_0x2a8943, _0x5912ee) {
- return _0x2a8943(_0x5912ee);
- },
- 'siyTj': function(_0x1830f5, _0x3dc8ea, _0x47849c, _0x18dc52) {
- return _0x1830f5(_0x3dc8ea, _0x47849c, _0x18dc52);
- },
- 'MqZIQ': 'successCode',
- 'TZkyD': 'success',
- 'ylkFd': function(_0x4dced7, _0x165ab6) {
- return _0x4dced7 == _0x165ab6;
- },
- 'HOYcs': 'monitorNotificationFailure',
- 'ijMuk': 'deviceId',
- 'vLwgz': 'serviceId',
- 'gKLKN': 'characteristicId',
- 'VCKrz': 'value',
- 'iSiuq': 'notifyBLECharacteristicValueChange',
- 'eYARS': 'onBLECharacteristicValueChange'
- };
- wx[_0x154f78['iSiuq']]({
- 'deviceId': connectDeviceId,
- 'serviceId': serviceUUID,
- 'characteristicId': readUUID,
- 'state': !![],
- 'success': function(_0x3dee60) {
- if (_0x154f78['Lpkqv'](typeof connectTimer, undefined)) {
- _0x154f78['XTtbf'](clearTimeout, connectTimer);
- }
- _0x154f78['rLGvd'](typeof connectCallback, FUNCTION) && _0x154f78['WjzsZ'](connectCallback,
- _0x154f78['siyTj'](toObject, codeEnum[_0x154f78['MqZIQ']], undefined, _0x154f78[
- 'TZkyD']));
- },
- 'fail': function() {
- if (_0x154f78['Lpkqv'](typeof connectTimer, undefined)) {
- _0x154f78['WjzsZ'](clearTimeout, connectTimer);
- }
- _0x154f78['ylkFd'](typeof connectCallback, FUNCTION) && _0x154f78['WjzsZ'](connectCallback,
- _0x154f78['siyTj'](toObject, codeEnum[_0x154f78['HOYcs']], undefined, _0x154f78[
- 'HOYcs']));
- }
- });
- wx[_0x154f78['eYARS']](function(_0x12509f) {
- if (_0x12509f[_0x154f78['ijMuk']] = connectDeviceId && _0x154f78['ylkFd'](_0x12509f[_0x154f78['vLwgz']],
- serviceUUID) && _0x154f78['ylkFd'](_0x12509f[_0x154f78['gKLKN']], readUUID)) {
- _0x154f78['WjzsZ'](analyticData, _0x12509f[_0x154f78['VCKrz']]);
- }
- });
- }
-
- function analyticData(_0x44bae4) {
- var _0x15dbe1 = {
- 'QGQiB': 'bufferArrayToHexString',
- 'GjGSn': 'log',
- 'ivgZY': function(_0xd48189, _0x4851b6) {
- return _0xd48189 + _0x4851b6;
- },
- 'kSZIH': '接收:',
- 'HGCGZ': function(_0x3b4a00, _0x717531) {
- return _0x3b4a00 == _0x717531;
- },
- 'hRsCl': 'length',
- 'BiRJA': function(_0x2a5cfe, _0x38dca5) {
- return _0x2a5cfe * _0x38dca5;
- },
- 'qPfli': function(_0x4e3a7b, _0x2c6f4b, _0x5eaef0) {
- return _0x4e3a7b(_0x2c6f4b, _0x5eaef0);
- },
- 'frDVs': 'slice',
- 'xBWmf': function(_0x297fda, _0x2b291f) {
- return _0x297fda != _0x2b291f;
- },
- 'FIsfs': 'fe01',
- 'AGTiB': function(_0x417f62, _0x51dd19) {
- return _0x417f62 > _0x51dd19;
- },
- 'SMsoU': function(_0x1e9f4a, _0x4f6f4c) {
- return _0x1e9f4a(_0x4f6f4c);
- },
- 'ZoAtS': function(_0x406bea, _0x5e5bea, _0x3c9660, _0x17deaa) {
- return _0x406bea(_0x5e5bea, _0x3c9660, _0x17deaa);
- },
- 'CdiNZ': 'dataFrameTransboundary',
- 'kGfWb': '数据长度越界',
- 'LdFxv': function(_0x58dba8, _0x5c7ad3) {
- return _0x58dba8 === _0x5c7ad3;
- },
- 'ufqbe': '2712',
- 'LalFj': function(_0x45919c, _0x14c90f) {
- return _0x45919c - _0x14c90f;
- },
- 'WoXTw': 'push',
- 'PcFfh': function(_0x533886, _0x28d0aa) {
- return _0x533886 == _0x28d0aa;
- },
- 'AQIAs': function(_0x5da22a, _0xb87897) {
- return _0x5da22a < _0xb87897;
- },
- 'sawFB': function(_0x3c12c9, _0x438cd9) {
- return _0x3c12c9 - _0x438cd9;
- },
- 'GxSVx': function(_0x3554b2, _0x2f5cf5) {
- return _0x3554b2(_0x2f5cf5);
- },
- 'VCtjk': function(_0x57efc4, _0x276321) {
- return _0x57efc4 / _0x276321;
- },
- 'teUPZ': function(_0x5111e1, _0x1298de, _0x19f175) {
- return _0x5111e1(_0x1298de, _0x19f175);
- },
- 'vpdUb': function(_0x59ef25, _0x155350) {
- return _0x59ef25 * _0x155350;
- },
- 'pNJBy': function(_0x16c41c, _0x2daa10) {
- return _0x16c41c * _0x2daa10;
- },
- 'VHSlU': function(_0x50fc65, _0x5d65d1) {
- return _0x50fc65 == _0x5d65d1;
- },
- 'XWDim': function(_0x376547, _0xe863d6) {
- return _0x376547(_0xe863d6);
- },
- 'nAYnO': 'notPassBccCheck',
- 'WouHa': 'bcc校验不通过',
- 'UjoZD': function(_0x492271, _0x5e8421) {
- return _0x492271(_0x5e8421);
- },
- 'XNzBn': function(_0x9b4b86, _0x33b175, _0x1d8a83, _0x49fbe4) {
- return _0x9b4b86(_0x33b175, _0x1d8a83, _0x49fbe4);
- },
- 'mqpli': 'successCode',
- 'ByKwN': '无效数据'
- };
- let _0x1f10a1 = dataHandler[_0x15dbe1['QGQiB']](_0x44bae4);
- console[_0x15dbe1['GjGSn']](_0x15dbe1['ivgZY'](_0x15dbe1['kSZIH'], _0x1f10a1));
- if (_0x15dbe1['HGCGZ'](frame[_0x15dbe1['hRsCl']], 0x0)) {
- frameLen = _0x15dbe1['BiRJA'](_0x15dbe1['qPfli'](parseInt, _0x1f10a1[_0x15dbe1['frDVs']](0x4, 0x8), 0x10), 0x2);
- }
- frame += _0x1f10a1;
- if (_0x15dbe1['xBWmf'](frame[_0x15dbe1['frDVs']](0x0, 0x4), _0x15dbe1['FIsfs'])) {
- frame = '';
- frameLen = 0x0;
- } else if (_0x15dbe1['AGTiB'](frame[_0x15dbe1['hRsCl']], frameLen)) {
- frame = '';
- frameLen = 0x0;
- _0x15dbe1['HGCGZ'](typeof dataHandlerCallback, FUNCTION) && _0x15dbe1['SMsoU'](dataHandlerCallback, _0x15dbe1[
- 'ZoAtS'](toObject, codeEnum[_0x15dbe1['CdiNZ']], '', _0x15dbe1['kGfWb']));
- } else if (_0x15dbe1['HGCGZ'](frame[_0x15dbe1['hRsCl']], frameLen)) {
- let _0x746526 = frame[_0x15dbe1['frDVs']](0x8, 0xc);
- if (_0x15dbe1['LdFxv'](_0x746526, _0x15dbe1['ufqbe'])) {
- let _0x4fe30b = frame[_0x15dbe1['frDVs']](0x10);
- let _0x1a5f8f = _0x4fe30b[_0x15dbe1['frDVs']](0x8, -0x6);
- frame = '';
- frameLen = 0x0;
- if (_0x15dbe1['HGCGZ'](frames[_0x15dbe1['hRsCl']], 0x0)) {
- let _0x301308 = _0x15dbe1['qPfli'](parseInt, _0x1a5f8f[_0x15dbe1['frDVs']](0x4, 0x6), 0x10);
- framesLen = _0x15dbe1['ivgZY'](_0x15dbe1['LalFj'](_0x301308, 0x80), 0x1);
- }
- frames[_0x15dbe1['WoXTw']](_0x1a5f8f);
- if (_0x15dbe1['PcFfh'](frames[_0x15dbe1['hRsCl']], framesLen)) {
- let _0x3ea6d9 = !![];
- for (let _0x4e9e7d = 0x0; _0x15dbe1['AQIAs'](_0x4e9e7d, frames[_0x15dbe1['hRsCl']]); _0x4e9e7d++) {
- let _0x578b9b = frames[_0x4e9e7d];
- let _0x1ba004 = 0x0;
- for (let _0x3d78bf = 0x1; _0x15dbe1['AQIAs'](_0x3d78bf, _0x15dbe1['sawFB'](_0x15dbe1['GxSVx'](
- parseInt, _0x15dbe1['VCtjk'](_0x578b9b[_0x15dbe1['hRsCl']], 0x2)), 0x1)); _0x3d78bf++) {
- let _0x469ca3 = _0x15dbe1['teUPZ'](parseInt, _0x578b9b[_0x15dbe1['frDVs']](_0x15dbe1['vpdUb'](
- _0x3d78bf, 0x2), _0x15dbe1['pNJBy'](_0x15dbe1['ivgZY'](_0x3d78bf, 0x1), 0x2)), 0x10);
- _0x1ba004 ^= _0x469ca3;
- }
- if (_0x15dbe1['xBWmf'](_0x1ba004, _0x15dbe1['teUPZ'](parseInt, _0x578b9b[_0x15dbe1['frDVs']](-0x2),
- 0x10))) {
- _0x3ea6d9 = ![];
- break;
- }
- }
- if (_0x15dbe1['VHSlU'](_0x3ea6d9, ![])) {
- frames = new Array();
- framesLen = 0x0;
- _0x15dbe1['VHSlU'](typeof dataHandlerCallback, FUNCTION) && _0x15dbe1['XWDim'](dataHandlerCallback,
- _0x15dbe1['ZoAtS'](toObject, codeEnum[_0x15dbe1['nAYnO']], '', _0x15dbe1['WouHa']));
- } else {
- let _0x57f038 = '';
- for (let _0x4e9e7d = 0x0; _0x15dbe1['AQIAs'](_0x4e9e7d, frames[_0x15dbe1['hRsCl']]); _0x4e9e7d++) {
- let _0x578b9b = frames[_0x4e9e7d];
- _0x57f038 += _0x578b9b[_0x15dbe1['frDVs']](0x8, -0x2);
- }
- frames = new Array();
- framesLen = 0x0;
- _0x15dbe1['VHSlU'](typeof dataHandlerCallback, FUNCTION) && _0x15dbe1['UjoZD'](dataHandlerCallback,
- _0x15dbe1['XNzBn'](toObject, codeEnum[_0x15dbe1['mqpli']], _0x57f038, '成功'));
- }
- }
- } else {
- console[_0x15dbe1['GjGSn']](_0x15dbe1['ByKwN']);
- frame = '';
- frameLen = 0x0;
- }
- }
- }
-
- function sendDataToDevice(_0x3c597a, _0x1d3048) {
- var _0x45ae09 = {
- 'PFmyC': '2|3|7|1|6|4|0|5',
- 'LrgPZ': 'concat',
- 'GgiUJ': function(_0x5203bb) {
- return _0x5203bb();
- }
- };
- var _0x29dd99 = _0x45ae09['PFmyC']['split']('|'),
- _0x48b3bc = 0x0;
- while (!![]) {
- switch (_0x29dd99[_0x48b3bc++]) {
- case '0':
- framesLen = 0x0;
- continue;
- case '1':
- frame = '';
- continue;
- case '2':
- dataHandlerCallback = _0x1d3048;
- continue;
- case '3':
- sendBufferArray = new Array()[_0x45ae09['LrgPZ']](_0x3c597a);
- continue;
- case '4':
- frames = new Array();
- continue;
- case '5':
- _0x45ae09['GgiUJ'](runningSendData);
- continue;
- case '6':
- frameLen = 0x0;
- continue;
- case '7':
- sendIndex = 0x0;
- continue;
- }
- break;
- }
- }
-
- function connectDevice(_0x1c90e2, _0x5ca937, _0x585ded) {
- var _0x47b9fb = {
- 'iGbFl': '7|8|2|0|3|6|1|5|4',
- 'rzSct': function(_0x25a848, _0x21eac2) {
- return _0x25a848 != _0x21eac2;
- },
- 'KRppn': function(_0x34b3a8, _0x3a0630) {
- return _0x34b3a8(_0x3a0630);
- },
- 'FluVK': function(_0x48dd3e, _0x1251f4) {
- return _0x48dd3e != _0x1251f4;
- },
- 'qelbd': function(_0x1107e7) {
- return _0x1107e7();
- },
- 'GsMWq': function(_0x6941ce, _0x176228, _0x5ab273) {
- return _0x6941ce(_0x176228, _0x5ab273);
- },
- 'WuGVf': function(_0x424ea9, _0x215b89) {
- return _0x424ea9 != _0x215b89;
- },
- 'mGXxZ': function(_0x50258d, _0x5aded5) {
- return _0x50258d(_0x5aded5);
- },
- 'odttp': function(_0x3923c5, _0x3b876e) {
- return _0x3923c5 == _0x3b876e;
- },
- 'lAsVi': function(_0x21daae, _0x152c6b) {
- return _0x21daae == _0x152c6b;
- },
- 'MEiAZ': function(_0x8a3868, _0x2c30d8, _0x317539, _0x5e147e) {
- return _0x8a3868(_0x2c30d8, _0x317539, _0x5e147e);
- },
- 'njHIQ': '连接成功',
- 'qoFPb': '断开连接',
- 'xHyPe': 'timeout',
- 'MyqbX': 'deviceId'
- };
- var _0x5765ea = _0x47b9fb['iGbFl']['split']('|'),
- _0x40a3ac = 0x0;
- while (!![]) {
- switch (_0x5765ea[_0x40a3ac++]) {
- case '0':
- if (_0x47b9fb['rzSct'](typeof connectTimer, undefined)) {
- _0x47b9fb['KRppn'](clearTimeout, connectTimer);
- }
- continue;
- case '1':
- wx['onBLEConnectionStateChange'](function(_0x18f3f9) {
- if (_0x2843a5['jyKyQ'](connectDeviceId, _0x18f3f9['deviceId'])) {
- _0x2843a5['lJXDt'](typeof _0x585ded, FUNCTION) && _0x2843a5['wDKDP'](_0x585ded,
- _0x2843a5['zqFHL'](toObject, _0x18f3f9['connected'] ? 0x0 : 0x1, undefined,
- _0x18f3f9['connected'] ? _0x2843a5['otXIl'] : _0x2843a5['WFEOh']));
- }
- });
- continue;
- case '2':
- connectCallback = _0x5ca937;
- continue;
- case '3':
- if (_0x47b9fb['FluVK'](typeof startA2Timer, undefined)) {
- _0x47b9fb['KRppn'](clearTimeout, startA2Timer);
- }
- continue;
- case '4':
- _0x47b9fb['qelbd'](startConnectBle);
- continue;
- case '5':
- connectTimer = _0x47b9fb['GsMWq'](setTimeout, () => {
- _0x2843a5['lJXDt'](typeof connectCallback, FUNCTION) && _0x2843a5['wDKDP'](connectCallback,
- _0x2843a5['zqFHL'](toObject, codeEnum[_0x2843a5['Cbuvg']], undefined, _0x2843a5[
- 'Cbuvg']));
- }, connectTime);
- continue;
- case '6':
- if (_0x47b9fb['WuGVf'](typeof waitA2ResponseTimer, undefined)) {
- _0x47b9fb['mGXxZ'](clearTimeout, waitA2ResponseTimer);
- }
- continue;
- case '7':
- var _0x2843a5 = {
- 'jyKyQ': function(_0x5bd09d, _0x16b3b6) {
- return _0x47b9fb['odttp'](_0x5bd09d, _0x16b3b6);
- },
- 'lJXDt': function(_0x21e56f, _0x4e22d8) {
- return _0x47b9fb['lAsVi'](_0x21e56f, _0x4e22d8);
- },
- 'wDKDP': function(_0x4a8af0, _0x2fb63f) {
- return _0x47b9fb['mGXxZ'](_0x4a8af0, _0x2fb63f);
- },
- 'zqFHL': function(_0x17f697, _0xe1581b, _0x3e9690, _0x641a34) {
- return _0x47b9fb['MEiAZ'](_0x17f697, _0xe1581b, _0x3e9690, _0x641a34);
- },
- 'otXIl': _0x47b9fb['njHIQ'],
- 'WFEOh': _0x47b9fb['qoFPb'],
- 'Cbuvg': _0x47b9fb['xHyPe']
- };
- continue;
- case '8':
- connectDeviceId = _0x1c90e2[_0x47b9fb['MyqbX']];
- continue;
- }
- break;
- }
- }
-
- function disconnectDevice(_0x2652df) {
- var _0x331de3 = {
- 'QrgrA': function(_0x51aeec, _0x3f4eed) {
- return _0x51aeec(_0x3f4eed);
- },
- 'qSano': function(_0x4e6a17, _0x4ec8a0, _0x40d777, _0x5284e1) {
- return _0x4e6a17(_0x4ec8a0, _0x40d777, _0x5284e1);
- },
- 'NsZnY': 'successCode',
- 'yQsSJ': function(_0xaa36e5, _0x5a5e8e) {
- return _0xaa36e5(_0x5a5e8e);
- },
- 'hwJaF': function(_0x49a7dc, _0x5d72a1) {
- return _0x49a7dc(_0x5d72a1);
- }
- };
- const _0x10fc94 = _0x331de3['hwJaF'](String, connectDeviceId);
- wx['closeBLEConnection']({
- 'deviceId': _0x10fc94,
- 'success'(_0x1b2d61) {
- console['log'](_0x1b2d61);
- _0x331de3['QrgrA'](_0x2652df, _0x331de3['qSano'](toObject, codeEnum[_0x331de3['NsZnY']], _0x1b2d61,
- '成功'));
- },
- 'fail'(_0x378c5f) {
- console['log'](_0x378c5f);
- _0x331de3['yQsSJ'](_0x2652df, _0x331de3['qSano'](toObject, _0x378c5f['errCode'], _0x378c5f,
- _0x378c5f['errMsg']));
- }
- });
- }
-
- function promise(_0x476dc4, _0x51c005) {
- var _0x370127 = {
- 'vwRnQ': function(_0x189eb1, _0x3fa153) {
- return _0x189eb1 === _0x3fa153;
- },
- 'qUPXh': 'successCode',
- 'AyjLX': '发送数据成功',
- 'ItOsk': function(_0x23c0bf, _0x3ddff6) {
- return _0x23c0bf === _0x3ddff6;
- },
- 'PAFri': function(_0x1b171e, _0x5c3c24) {
- return _0x1b171e == _0x5c3c24;
- },
- 'ETtYS': function(_0x5c05b8, _0x44fe51) {
- return _0x5c05b8 + _0x44fe51;
- },
- 'CIxOc': 'fff\x20d\x20',
- 'WuIGa': function(_0x309d03, _0x311822) {
- return _0x309d03(_0x311822);
- },
- 'iufKk': '数据返回错误',
- 'VnzJf': 'TLV指令集有指令执行失败',
- 'XSXFM': '条指令执行失败',
- 'rVqXB': function(_0x50ade6, _0x322c5a) {
- return _0x50ade6 + _0x322c5a;
- },
- 'CYOZz': '错误码:',
- 'BVcUx': function(_0x3b412f, _0x38e420) {
- return _0x3b412f - _0x38e420;
- },
- 'iSfUN': function(_0x13d291, _0x301a0f) {
- return _0x13d291 + _0x301a0f;
- },
- 'DcsPZ': '发送数据失败',
- 'Deesq': function(_0x3fab66, _0x194d8f) {
- return _0x3fab66 === _0x194d8f;
- },
- 'SyWFS': function(_0x13ffee, _0x19961e, _0x590700) {
- return _0x13ffee(_0x19961e, _0x590700);
- }
- };
- return new Promise((_0x5a84a6, _0x369ad6) => {
- if (_0x370127['Deesq'](_0x51c005, '10')) {
- var _0x65a379 = dataUtil['makeA3SendData']('00', dataHandler['makeTLV']([_0x476dc4]));
- } else {
- var _0x65a379 = dataUtil['makeA8SendData']('00', dataHandler['makeTLV']([_0x476dc4]));
- }
- _0x370127['SyWFS'](sendDataToDevice, _0x65a379, _0x55bd3b => {
- if (_0x370127['vwRnQ'](_0x55bd3b['code'], codeEnum[_0x370127['qUPXh']])) {
- console['log'](_0x370127['AyjLX']);
- if (_0x370127['ItOsk'](_0x55bd3b['data']['slice'](0x2, 0x4), '00') || _0x370127['ItOsk']
- (_0x55bd3b['data']['slice'](0x2, 0x4), 'cf')) {
- let _0x4d8e04 = _0x55bd3b['data']['slice'](0xa);
- let _0x5987a9 = dataHandler['resolveTLV'](_0x55bd3b['data']['slice'](0xa));
- console['log'](_0x5987a9);
- if (_0x370127['PAFri'](_0x5987a9['length'], 0x1)) {
- console['log'](_0x370127['ETtYS'](_0x370127['CIxOc'], _0x5987a9[0x0]['slice'](-
- 0x4)));
- _0x370127['WuIGa'](_0x5a84a6, _0x5987a9[0x0]);
- } else {
- _0x370127['WuIGa'](_0x369ad6, _0x370127['iufKk']);
- }
- } else {
- console['log'](_0x370127['VnzJf']);
- let _0x4c93b5 = _0x55bd3b['data']['slice'](0xa);
- let _0x5987a9 = dataHandler['resolveTLV'](_0x55bd3b['data']['slice'](0xa));
- console['log'](_0x370127['ETtYS'](_0x370127['ETtYS']('第', _0x5987a9['length']),
- _0x370127['XSXFM']));
- console['log'](_0x370127['rVqXB'](_0x370127['CYOZz'], _0x5987a9[_0x370127['BVcUx'](
- _0x5987a9['length'], 0x1)]['slice'](-0x4)));
- _0x370127['WuIGa'](_0x369ad6, _0x370127['iSfUN'](_0x370127['CYOZz'], _0x5987a9[
- _0x370127['BVcUx'](_0x5987a9['length'], 0x1)]['slice'](-0x4)));
- }
- } else {
- console['log'](_0x370127['DcsPZ']);
- _0x370127['WuIGa'](_0x369ad6, _0x55bd3b['msg']);
- }
- });
- });
- }
-
- function transCmd(_0x665fde, _0x9c5013, _0x52cc42) {
- var _0x33c405 = {
- 'YvtVd': '5|6|0|1|4|3|2',
- 'GLClT': function(_0x464208, _0x102083) {
- return _0x464208 < _0x102083;
- },
- 'bZlBX': function(_0x5670d1, _0x5e2071) {
- return _0x5670d1 == _0x5e2071;
- },
- 'ePLuK': function(_0x4281ff, _0x2b18ae, _0x77d88d) {
- return _0x4281ff(_0x2b18ae, _0x77d88d);
- },
- 'goZIj': function(_0x181164, _0x1455a0) {
- return _0x181164 === _0x1455a0;
- },
- 'Klkna': function(_0x4730b2, _0x15de1d) {
- return _0x4730b2 > _0x15de1d;
- },
- 'RpPAK': function(_0x10020a, _0x416c2d) {
- return _0x10020a == _0x416c2d;
- },
- 'ysiVL': function(_0x447cce, _0x3a1496) {
- return _0x447cce(_0x3a1496);
- },
- 'yUbXy': function(_0x54b2f8, _0x1c8def, _0x2f4418, _0x1ef892) {
- return _0x54b2f8(_0x1c8def, _0x2f4418, _0x1ef892);
- },
- 'nGBqQ': 'successCode',
- 'fqlTL': function(_0x5e402d, _0x386d9e) {
- return _0x5e402d != _0x386d9e;
- },
- 'UGNBG': function(_0xce76af, _0x32a699) {
- return _0xce76af(_0x32a699);
- },
- 'EpeKt': 'failureCode',
- 'ULhDf': function(_0x4b65ad, _0x3226fa) {
- return _0x4b65ad + _0x3226fa;
- },
- 'AuWGq': function(_0x1cd881, _0x5e7162) {
- return _0x1cd881 != _0x5e7162;
- },
- 'vCBmn': function(_0x390c08, _0x290eaa, _0x2298f5, _0x1a3b6d) {
- return _0x390c08(_0x290eaa, _0x2298f5, _0x1a3b6d);
- },
- 'czUeR': 'paraError',
- 'zxFsn': 'transCmd\x20type\x20错误'
- };
- var _0x252bf8 = _0x33c405['YvtVd']['split']('|'),
- _0x48b515 = 0x0;
- while (!![]) {
- switch (_0x252bf8[_0x48b515++]) {
- case '0':
- cmds = _0x665fde['slice']();
- continue;
- case '1':
- var _0x3307dd = new Array();
- continue;
- case '2':
- for (var _0x5ad3b7 = 0x0; _0x33c405['GLClT'](_0x5ad3b7, _0x665fde['length']); _0x5ad3b7++) {
- if (_0x33c405['bZlBX'](_0x5ad3b7, 0x0)) {
- _0x59d4bf = cmds['shift']();
- _0x47199 = _0x33c405['ePLuK'](promise, _0x59d4bf, _0x9c5013);
- }
- _0x47199 = _0x47199['then'](_0x1a4ad7 => {
- if (_0x212fcb['cLThq'](_0x1a4ad7, undefined)) {
- return;
- }
- _0x3307dd['push'](_0x1a4ad7);
- if (_0x212fcb['MtWVg'](cmds['length'], 0x0)) {
- _0x59d4bf = cmds['shift']();
- return _0x212fcb['VSzXs'](promise, _0x59d4bf, _0x9c5013);
- }
- _0x212fcb['eWsHQ'](typeof _0x52cc42, FUNCTION) && _0x212fcb['ChCCZ'](_0x52cc42,
- _0x212fcb['LMHxY'](toObject, codeEnum[_0x212fcb['ChGEm']], _0x3307dd, '成功'));
- }, (_0x479451, _0x5e1935) => {
- if (_0x212fcb['YdMfE'](_0x479451, undefined)) _0x212fcb['eWsHQ'](typeof _0x52cc42,
- FUNCTION) && _0x212fcb['vQWBb'](_0x52cc42, _0x212fcb['LMHxY'](toObject,
- codeEnum[_0x212fcb['pqsDN']], _0x3307dd, _0x212fcb['qPqCm'](_0x59d4bf,
- _0x479451)));
- });
- }
- continue;
- case '3':
- var _0x47199;
- continue;
- case '4':
- var _0x59d4bf;
- continue;
- case '5':
- var _0x212fcb = {
- 'cLThq': function(_0x1c2f5a, _0x318bdc) {
- return _0x33c405['goZIj'](_0x1c2f5a, _0x318bdc);
- },
- 'MtWVg': function(_0x3b86cb, _0x8fbe76) {
- return _0x33c405['Klkna'](_0x3b86cb, _0x8fbe76);
- },
- 'VSzXs': function(_0x284a9e, _0x46f135, _0x495789) {
- return _0x33c405['ePLuK'](_0x284a9e, _0x46f135, _0x495789);
- },
- 'eWsHQ': function(_0x5ec9af, _0x135b89) {
- return _0x33c405['RpPAK'](_0x5ec9af, _0x135b89);
- },
- 'ChCCZ': function(_0x5dbc4a, _0x1d82fc) {
- return _0x33c405['ysiVL'](_0x5dbc4a, _0x1d82fc);
- },
- 'LMHxY': function(_0x3a5c65, _0x4717a8, _0x91bcde, _0x38b9ac) {
- return _0x33c405['yUbXy'](_0x3a5c65, _0x4717a8, _0x91bcde, _0x38b9ac);
- },
- 'ChGEm': _0x33c405['nGBqQ'],
- 'YdMfE': function(_0x4f4e72, _0x2569e2) {
- return _0x33c405['fqlTL'](_0x4f4e72, _0x2569e2);
- },
- 'vQWBb': function(_0x4febaa, _0x20720c) {
- return _0x33c405['UGNBG'](_0x4febaa, _0x20720c);
- },
- 'pqsDN': _0x33c405['EpeKt'],
- 'qPqCm': function(_0x1696bb, _0x279a39) {
- return _0x33c405['ULhDf'](_0x1696bb, _0x279a39);
- }
- };
- continue;
- case '6':
- if (_0x33c405['fqlTL'](_0x9c5013, '10') && _0x33c405['AuWGq'](_0x9c5013, '20')) {
- _0x33c405['RpPAK'](typeof _0x52cc42, FUNCTION) && _0x33c405['UGNBG'](_0x52cc42, _0x33c405['vCBmn'](
- toObject, codeEnum[_0x33c405['czUeR']], undefined, _0x33c405['zxFsn']));
- return;
- }
- continue;
- }
- break;
- }
- }
-
- function runningSendData() {
- var _0x444063 = {
- 'jiMff': function(_0x45fa5b, _0x3d8034) {
- return _0x45fa5b < _0x3d8034;
- },
- 'aSLAv': 'length',
- 'fhbyZ': function(_0x4e9a31) {
- return _0x4e9a31();
- },
- 'hYRYy': 'log',
- 'zkPRe': function(_0x3ea1d2, _0x5eba25) {
- return _0x3ea1d2 + _0x5eba25;
- },
- 'KVGVS': function(_0x38a0ef, _0x112a49) {
- return _0x38a0ef - _0x112a49;
- },
- 'IjWih': '次重发',
- 'taPPG': function(_0x4ccaed, _0xd61cfe) {
- return _0x4ccaed > _0xd61cfe;
- },
- 'lwNXN': function(_0x5d1bc1, _0x30ad6c, _0xc2348e) {
- return _0x5d1bc1(_0x30ad6c, _0xc2348e);
- },
- 'UARwl': function(_0x3fa6a4, _0x3295e5) {
- return _0x3fa6a4 == _0x3295e5;
- },
- 'QdEoZ': function(_0x3e937c, _0x4b42b7) {
- return _0x3e937c(_0x4b42b7);
- },
- 'ckGrj': function(_0x5e5e81, _0x1d9c8c, _0x186773, _0x4ee3e0) {
- return _0x5e5e81(_0x1d9c8c, _0x186773, _0x4ee3e0);
- },
- 'zoWJN': 'sendDataFailure',
- 'CpTIF': '发送数据失败',
- 'xWWJZ': 'bufferArrayToHexString',
- 'OnMOL': function(_0x238ac5, _0x1e70c5) {
- return _0x238ac5 + _0x1e70c5;
- },
- 'gOXGH': '发送:',
- 'XxmyF': 'writeBLECharacteristicValue'
- };
- let _0x4336da = sendBufferArray[sendIndex];
- let _0x18a25b = dataHandler[_0x444063['xWWJZ']](_0x4336da);
- console[_0x444063['hYRYy']](_0x444063['OnMOL'](_0x444063['gOXGH'], _0x18a25b));
- wx[_0x444063['XxmyF']]({
- 'deviceId': connectDeviceId,
- 'serviceId': serviceUUID,
- 'characteristicId': writeUUID,
- 'value': _0x4336da,
- 'success': function(_0xd417d) {
- sendIndex++;
- resendCount = 0x3;
- if (_0x444063['jiMff'](sendIndex, sendBufferArray[_0x444063['aSLAv']])) {
- _0x444063['fhbyZ'](runningSendData);
- }
- },
- 'fail': function() {
- if (_0x444063['taPPG'](resendCount, 0x0)) {
- resendCount--;
- _0x444063['lwNXN'](setTimeout, () => {
- console[_0x444063['hYRYy']](_0x444063['zkPRe'](_0x444063['zkPRe']('第',
- _0x444063['KVGVS'](0x3, resendCount)), _0x444063['IjWih']));
- _0x444063['fhbyZ'](runningSendData);
- }, 0xc8);
- } else {
- _0x444063['UARwl'](typeof dataHandlerCallback, FUNCTION) && _0x444063['QdEoZ'](
- dataHandlerCallback, _0x444063['ckGrj'](toObject, codeEnum[_0x444063['zoWJN']], '',
- _0x444063['CpTIF']));
- }
- }
- });
- }
|