您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

1年前
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932
  1. const dataHandler = require('./DataHandler.js');
  2. const dataUtil = require('./DataUtil.js');
  3. const common_vendor = require("../../../common/vendor.js");
  4. var wx = common_vendor.index
  5. module['exports'] = {
  6. 'connectDevice': connectDevice,
  7. 'disconnectDevice': disconnectDevice,
  8. 'transCmd': transCmd
  9. };
  10. const codeEnum = {
  11. 'successCode': 0x0,
  12. 'failureCode': 0x1,
  13. 'stopScanFailure': 0x2,
  14. 'creatConnectionFailure': 0x3,
  15. 'getServiceFailure': 0x4,
  16. 'noTargetServiceId': 0x5,
  17. 'getCharacteristicsFailure': 0x6,
  18. 'noTargetCharacteristic': 0x7,
  19. 'monitorNotificationFailure': 0x8,
  20. 'authResponseFailure': 0x9,
  21. 'initResponseFailure': 0xa,
  22. 'initDeviceFailure': 0xb,
  23. 'dataFrameTransboundary': 0xc,
  24. 'notPassBccCheck': 0xd,
  25. 'sendDataFailure': 0xe,
  26. 'paraError': 0xf,
  27. 'timeout': 0x64
  28. };
  29. const FUNCTION = 'function';
  30. const serviceUUID = '0000FEE7-0000-1000-8000-00805F9B34FB';
  31. const writeUUID = '0000FEC7-0000-1000-8000-00805F9B34FB';
  32. const readUUID = '0000FEC8-0000-1000-8000-00805F9B34FB';
  33. const connectTime = 0x14 * 0x3e8;
  34. const startA2Time = 0xf0;
  35. const waitA2ResponseTime = 0x3e8;
  36. var haveFoundDevice = new Array();
  37. var connectDeviceId;
  38. var connectCallback;
  39. var connectTimer;
  40. var startA2Timer;
  41. var waitA2ResponseTimer;
  42. var frame = '';
  43. var frameLen = 0x0;
  44. var frames = new Array();
  45. var framesLen = 0x0;
  46. var dataHandlerCallback;
  47. var sendBufferArray = new Array();
  48. var cmds = new Array();
  49. var sendIndex;
  50. var resendCount = 0x3;
  51. function toObject(_0x149c13, _0x3866a5, _0x513b59) {
  52. return {
  53. 'code': _0x149c13,
  54. 'data': _0x3866a5,
  55. 'msg': _0x513b59
  56. };
  57. }
  58. function startConnectBle() {
  59. var _0x39f7e7 = {
  60. 'pvrqv': function(_0x2f8775) {
  61. return _0x2f8775();
  62. },
  63. 'qCdfF': function(_0x52b0d5, _0x1cce83) {
  64. return _0x52b0d5 != _0x1cce83;
  65. },
  66. 'foNeu': function(_0x8efd3, _0x374dd8) {
  67. return _0x8efd3(_0x374dd8);
  68. },
  69. 'lqxoG': function(_0x527f5a, _0x30b24a) {
  70. return _0x527f5a == _0x30b24a;
  71. },
  72. 'iSVxQ': function(_0x28b856, _0x25b387) {
  73. return _0x28b856(_0x25b387);
  74. },
  75. 'gTweF': function(_0x5e8c45, _0x1e5c5, _0x5496cf, _0xf2d1b2) {
  76. return _0x5e8c45(_0x1e5c5, _0x5496cf, _0xf2d1b2);
  77. },
  78. 'pNyZL': 'creatConnectionFailure',
  79. 'waCGw': 'createBLEConnection'
  80. };
  81. wx[_0x39f7e7['waCGw']]({
  82. 'deviceId': connectDeviceId,
  83. 'success': function(_0x163be4) {
  84. _0x39f7e7['pvrqv'](startGetAndCheckService);
  85. },
  86. 'fail': function() {
  87. if (_0x39f7e7['qCdfF'](typeof connectTimer, undefined)) {
  88. _0x39f7e7['foNeu'](clearTimeout, connectTimer);
  89. }
  90. _0x39f7e7['lqxoG'](typeof connectCallback, FUNCTION) && _0x39f7e7['iSVxQ'](connectCallback,
  91. _0x39f7e7['gTweF'](toObject, codeEnum[_0x39f7e7['pNyZL']], undefined, _0x39f7e7[
  92. 'pNyZL']));
  93. }
  94. });
  95. }
  96. function startGetAndCheckService() {
  97. var _0x12e983 = {
  98. 'JSGmd': function(_0x14bd9d, _0x3f89d3) {
  99. return _0x14bd9d < _0x3f89d3;
  100. },
  101. 'zlttm': 'services',
  102. 'trMuO': 'length',
  103. 'txYHv': 'uuid',
  104. 'iJSjv': function(_0x4a1eba, _0x2b09e0) {
  105. return _0x4a1eba == _0x2b09e0;
  106. },
  107. 'qVRrb': function(_0x575a4d, _0x2c4ce5) {
  108. return _0x575a4d == _0x2c4ce5;
  109. },
  110. 'EuxTQ': function(_0x671ccf) {
  111. return _0x671ccf();
  112. },
  113. 'toJws': function(_0xfb6b1, _0x482a25) {
  114. return _0xfb6b1 != _0x482a25;
  115. },
  116. 'XMuaX': function(_0x36c32a, _0x3498b4) {
  117. return _0x36c32a(_0x3498b4);
  118. },
  119. 'bbOmp': function(_0x576d3e, _0x24a781) {
  120. return _0x576d3e == _0x24a781;
  121. },
  122. 'Qtmci': function(_0x4d49ce, _0x5052b7, _0x2e9f70, _0x2b47b2) {
  123. return _0x4d49ce(_0x5052b7, _0x2e9f70, _0x2b47b2);
  124. },
  125. 'Dtomi': 'noTargetServiceId',
  126. 'AHvRQ': function(_0x100f3d, _0x5793d6) {
  127. return _0x100f3d == _0x5793d6;
  128. },
  129. 'zoFlA': function(_0x18c43e, _0x52d31) {
  130. return _0x18c43e(_0x52d31);
  131. },
  132. 'goMav': 'getServiceFailure',
  133. 'YNHsh': 'getBLEDeviceServices'
  134. };
  135. wx[_0x12e983['YNHsh']]({
  136. 'deviceId': connectDeviceId,
  137. 'success': function(_0x1073ea) {
  138. let _0x5ac6af = ![];
  139. for (let _0x162af1 = 0x0; _0x12e983['JSGmd'](_0x162af1, _0x1073ea[_0x12e983['zlttm']][_0x12e983[
  140. 'trMuO']]); _0x162af1++) {
  141. let _0x5ae184 = _0x1073ea[_0x12e983['zlttm']][_0x162af1][_0x12e983['txYHv']];
  142. if (_0x12e983['iJSjv'](_0x5ae184, serviceUUID)) {
  143. _0x5ac6af = !![];
  144. break;
  145. }
  146. }
  147. if (_0x12e983['qVRrb'](_0x5ac6af, !![])) {
  148. _0x12e983['EuxTQ'](startGetAndCheckCharacterisitc);
  149. } else {
  150. if (_0x12e983['toJws'](typeof connectTimer, undefined)) {
  151. _0x12e983['XMuaX'](clearTimeout, connectTimer);
  152. }
  153. _0x12e983['bbOmp'](typeof connectCallback, FUNCTION) && _0x12e983['XMuaX'](connectCallback,
  154. _0x12e983['Qtmci'](toObject, codeEnum[_0x12e983['Dtomi']], undefined, _0x12e983[
  155. 'Dtomi']));
  156. }
  157. },
  158. 'fail': function() {
  159. if (_0x12e983['toJws'](typeof connectTimer, undefined)) {
  160. _0x12e983['XMuaX'](clearTimeout, connectTimer);
  161. }
  162. _0x12e983['AHvRQ'](typeof connectCallback, FUNCTION) && _0x12e983['zoFlA'](connectCallback,
  163. _0x12e983['Qtmci'](toObject, codeEnum[_0x12e983['goMav']], undefined, _0x12e983[
  164. 'goMav']));
  165. }
  166. });
  167. }
  168. function startGetAndCheckCharacterisitc() {
  169. var _0xf40bc4 = {
  170. 'ESCgk': function(_0x486916, _0x3ee539) {
  171. return _0x486916 < _0x3ee539;
  172. },
  173. 'sTyEY': 'characteristics',
  174. 'Zdmgr': 'length',
  175. 'MbNoh': 'uuid',
  176. 'ulTpP': function(_0x19d706, _0x442766) {
  177. return _0x19d706 == _0x442766;
  178. },
  179. 'uOgVf': function(_0x141a53, _0x529037) {
  180. return _0x141a53 == _0x529037;
  181. },
  182. 'fPLkc': function(_0x498485, _0x3cd947) {
  183. return _0x498485 == _0x3cd947;
  184. },
  185. 'CdbSX': function(_0x1fee51) {
  186. return _0x1fee51();
  187. },
  188. 'EtRIb': function(_0x2f6f95, _0x5afb48) {
  189. return _0x2f6f95 != _0x5afb48;
  190. },
  191. 'gUFZU': function(_0x494359, _0x18f814) {
  192. return _0x494359(_0x18f814);
  193. },
  194. 'yRYCB': function(_0xeafbb6, _0x2a6de1, _0x5e9dba, _0x58e47d) {
  195. return _0xeafbb6(_0x2a6de1, _0x5e9dba, _0x58e47d);
  196. },
  197. 'HXaXA': 'noTargetCharacteristic',
  198. 'bXFzG': function(_0x47ed07, _0x47b7bc) {
  199. return _0x47ed07 != _0x47b7bc;
  200. },
  201. 'zFWJb': function(_0xd79225, _0x2dfb09) {
  202. return _0xd79225(_0x2dfb09);
  203. },
  204. 'vSDBY': function(_0x3d88e9, _0x112ce5) {
  205. return _0x3d88e9(_0x112ce5);
  206. },
  207. 'uycxm': function(_0x464750, _0x34056e, _0x14860d, _0x5ba788) {
  208. return _0x464750(_0x34056e, _0x14860d, _0x5ba788);
  209. },
  210. 'rezQr': 'getCharacteristicsFailure',
  211. 'XQHPI': 'getBLEDeviceCharacteristics'
  212. };
  213. wx[_0xf40bc4['XQHPI']]({
  214. 'deviceId': connectDeviceId,
  215. 'serviceId': serviceUUID,
  216. 'success': function(_0x30ac36) {
  217. let _0x31ccc7 = ![];
  218. let _0x21f3ad = ![];
  219. for (let _0x2946ae = 0x0; _0xf40bc4['ESCgk'](_0x2946ae, _0x30ac36[_0xf40bc4['sTyEY']][_0xf40bc4[
  220. 'Zdmgr']]); _0x2946ae++) {
  221. let _0x2f2ed6 = _0x30ac36[_0xf40bc4['sTyEY']][_0x2946ae][_0xf40bc4['MbNoh']];
  222. if (_0xf40bc4['ulTpP'](_0x2f2ed6, readUUID)) {
  223. _0x31ccc7 = !![];
  224. } else if (_0xf40bc4['ulTpP'](_0x2f2ed6, writeUUID)) {
  225. _0x21f3ad = !![];
  226. }
  227. if (_0xf40bc4['uOgVf'](_0x31ccc7, !![]) && _0xf40bc4['fPLkc'](_0x21f3ad, !![])) {
  228. break;
  229. }
  230. }
  231. if (_0xf40bc4['fPLkc'](_0x31ccc7, !![]) && _0xf40bc4['fPLkc'](_0x21f3ad, !![])) {
  232. _0xf40bc4['CdbSX'](monitorNotification);
  233. } else {
  234. if (_0xf40bc4['EtRIb'](typeof connectTimer, undefined)) {
  235. _0xf40bc4['gUFZU'](clearTimeout, connectTimer);
  236. }
  237. _0xf40bc4['fPLkc'](typeof connectCallback, FUNCTION) && _0xf40bc4['gUFZU'](connectCallback,
  238. _0xf40bc4['yRYCB'](toObject, codeEnum[_0xf40bc4['HXaXA']], undefined, _0xf40bc4[
  239. 'HXaXA']));
  240. }
  241. },
  242. 'fail': function() {
  243. if (_0xf40bc4['bXFzG'](typeof connectTimer, undefined)) {
  244. _0xf40bc4['zFWJb'](clearTimeout, connectTimer);
  245. }
  246. _0xf40bc4['fPLkc'](typeof connectCallback, FUNCTION) && _0xf40bc4['vSDBY'](connectCallback,
  247. _0xf40bc4['uycxm'](toObject, codeEnum[_0xf40bc4['rezQr']], undefined, _0xf40bc4[
  248. 'rezQr']));
  249. }
  250. });
  251. }
  252. function monitorNotification() {
  253. var _0x154f78 = {
  254. 'Lpkqv': function(_0x57cbbf, _0x393d7a) {
  255. return _0x57cbbf != _0x393d7a;
  256. },
  257. 'XTtbf': function(_0x13eca1, _0x6d4a10) {
  258. return _0x13eca1(_0x6d4a10);
  259. },
  260. 'rLGvd': function(_0x9a1744, _0x5da334) {
  261. return _0x9a1744 == _0x5da334;
  262. },
  263. 'WjzsZ': function(_0x2a8943, _0x5912ee) {
  264. return _0x2a8943(_0x5912ee);
  265. },
  266. 'siyTj': function(_0x1830f5, _0x3dc8ea, _0x47849c, _0x18dc52) {
  267. return _0x1830f5(_0x3dc8ea, _0x47849c, _0x18dc52);
  268. },
  269. 'MqZIQ': 'successCode',
  270. 'TZkyD': 'success',
  271. 'ylkFd': function(_0x4dced7, _0x165ab6) {
  272. return _0x4dced7 == _0x165ab6;
  273. },
  274. 'HOYcs': 'monitorNotificationFailure',
  275. 'ijMuk': 'deviceId',
  276. 'vLwgz': 'serviceId',
  277. 'gKLKN': 'characteristicId',
  278. 'VCKrz': 'value',
  279. 'iSiuq': 'notifyBLECharacteristicValueChange',
  280. 'eYARS': 'onBLECharacteristicValueChange'
  281. };
  282. wx[_0x154f78['iSiuq']]({
  283. 'deviceId': connectDeviceId,
  284. 'serviceId': serviceUUID,
  285. 'characteristicId': readUUID,
  286. 'state': !![],
  287. 'success': function(_0x3dee60) {
  288. if (_0x154f78['Lpkqv'](typeof connectTimer, undefined)) {
  289. _0x154f78['XTtbf'](clearTimeout, connectTimer);
  290. }
  291. _0x154f78['rLGvd'](typeof connectCallback, FUNCTION) && _0x154f78['WjzsZ'](connectCallback,
  292. _0x154f78['siyTj'](toObject, codeEnum[_0x154f78['MqZIQ']], undefined, _0x154f78[
  293. 'TZkyD']));
  294. },
  295. 'fail': function() {
  296. if (_0x154f78['Lpkqv'](typeof connectTimer, undefined)) {
  297. _0x154f78['WjzsZ'](clearTimeout, connectTimer);
  298. }
  299. _0x154f78['ylkFd'](typeof connectCallback, FUNCTION) && _0x154f78['WjzsZ'](connectCallback,
  300. _0x154f78['siyTj'](toObject, codeEnum[_0x154f78['HOYcs']], undefined, _0x154f78[
  301. 'HOYcs']));
  302. }
  303. });
  304. wx[_0x154f78['eYARS']](function(_0x12509f) {
  305. if (_0x12509f[_0x154f78['ijMuk']] = connectDeviceId && _0x154f78['ylkFd'](_0x12509f[_0x154f78['vLwgz']],
  306. serviceUUID) && _0x154f78['ylkFd'](_0x12509f[_0x154f78['gKLKN']], readUUID)) {
  307. _0x154f78['WjzsZ'](analyticData, _0x12509f[_0x154f78['VCKrz']]);
  308. }
  309. });
  310. }
  311. function analyticData(_0x44bae4) {
  312. var _0x15dbe1 = {
  313. 'QGQiB': 'bufferArrayToHexString',
  314. 'GjGSn': 'log',
  315. 'ivgZY': function(_0xd48189, _0x4851b6) {
  316. return _0xd48189 + _0x4851b6;
  317. },
  318. 'kSZIH': '接收:',
  319. 'HGCGZ': function(_0x3b4a00, _0x717531) {
  320. return _0x3b4a00 == _0x717531;
  321. },
  322. 'hRsCl': 'length',
  323. 'BiRJA': function(_0x2a5cfe, _0x38dca5) {
  324. return _0x2a5cfe * _0x38dca5;
  325. },
  326. 'qPfli': function(_0x4e3a7b, _0x2c6f4b, _0x5eaef0) {
  327. return _0x4e3a7b(_0x2c6f4b, _0x5eaef0);
  328. },
  329. 'frDVs': 'slice',
  330. 'xBWmf': function(_0x297fda, _0x2b291f) {
  331. return _0x297fda != _0x2b291f;
  332. },
  333. 'FIsfs': 'fe01',
  334. 'AGTiB': function(_0x417f62, _0x51dd19) {
  335. return _0x417f62 > _0x51dd19;
  336. },
  337. 'SMsoU': function(_0x1e9f4a, _0x4f6f4c) {
  338. return _0x1e9f4a(_0x4f6f4c);
  339. },
  340. 'ZoAtS': function(_0x406bea, _0x5e5bea, _0x3c9660, _0x17deaa) {
  341. return _0x406bea(_0x5e5bea, _0x3c9660, _0x17deaa);
  342. },
  343. 'CdiNZ': 'dataFrameTransboundary',
  344. 'kGfWb': '数据长度越界',
  345. 'LdFxv': function(_0x58dba8, _0x5c7ad3) {
  346. return _0x58dba8 === _0x5c7ad3;
  347. },
  348. 'ufqbe': '2712',
  349. 'LalFj': function(_0x45919c, _0x14c90f) {
  350. return _0x45919c - _0x14c90f;
  351. },
  352. 'WoXTw': 'push',
  353. 'PcFfh': function(_0x533886, _0x28d0aa) {
  354. return _0x533886 == _0x28d0aa;
  355. },
  356. 'AQIAs': function(_0x5da22a, _0xb87897) {
  357. return _0x5da22a < _0xb87897;
  358. },
  359. 'sawFB': function(_0x3c12c9, _0x438cd9) {
  360. return _0x3c12c9 - _0x438cd9;
  361. },
  362. 'GxSVx': function(_0x3554b2, _0x2f5cf5) {
  363. return _0x3554b2(_0x2f5cf5);
  364. },
  365. 'VCtjk': function(_0x57efc4, _0x276321) {
  366. return _0x57efc4 / _0x276321;
  367. },
  368. 'teUPZ': function(_0x5111e1, _0x1298de, _0x19f175) {
  369. return _0x5111e1(_0x1298de, _0x19f175);
  370. },
  371. 'vpdUb': function(_0x59ef25, _0x155350) {
  372. return _0x59ef25 * _0x155350;
  373. },
  374. 'pNJBy': function(_0x16c41c, _0x2daa10) {
  375. return _0x16c41c * _0x2daa10;
  376. },
  377. 'VHSlU': function(_0x50fc65, _0x5d65d1) {
  378. return _0x50fc65 == _0x5d65d1;
  379. },
  380. 'XWDim': function(_0x376547, _0xe863d6) {
  381. return _0x376547(_0xe863d6);
  382. },
  383. 'nAYnO': 'notPassBccCheck',
  384. 'WouHa': 'bcc校验不通过',
  385. 'UjoZD': function(_0x492271, _0x5e8421) {
  386. return _0x492271(_0x5e8421);
  387. },
  388. 'XNzBn': function(_0x9b4b86, _0x33b175, _0x1d8a83, _0x49fbe4) {
  389. return _0x9b4b86(_0x33b175, _0x1d8a83, _0x49fbe4);
  390. },
  391. 'mqpli': 'successCode',
  392. 'ByKwN': '无效数据'
  393. };
  394. let _0x1f10a1 = dataHandler[_0x15dbe1['QGQiB']](_0x44bae4);
  395. console[_0x15dbe1['GjGSn']](_0x15dbe1['ivgZY'](_0x15dbe1['kSZIH'], _0x1f10a1));
  396. if (_0x15dbe1['HGCGZ'](frame[_0x15dbe1['hRsCl']], 0x0)) {
  397. frameLen = _0x15dbe1['BiRJA'](_0x15dbe1['qPfli'](parseInt, _0x1f10a1[_0x15dbe1['frDVs']](0x4, 0x8), 0x10), 0x2);
  398. }
  399. frame += _0x1f10a1;
  400. if (_0x15dbe1['xBWmf'](frame[_0x15dbe1['frDVs']](0x0, 0x4), _0x15dbe1['FIsfs'])) {
  401. frame = '';
  402. frameLen = 0x0;
  403. } else if (_0x15dbe1['AGTiB'](frame[_0x15dbe1['hRsCl']], frameLen)) {
  404. frame = '';
  405. frameLen = 0x0;
  406. _0x15dbe1['HGCGZ'](typeof dataHandlerCallback, FUNCTION) && _0x15dbe1['SMsoU'](dataHandlerCallback, _0x15dbe1[
  407. 'ZoAtS'](toObject, codeEnum[_0x15dbe1['CdiNZ']], '', _0x15dbe1['kGfWb']));
  408. } else if (_0x15dbe1['HGCGZ'](frame[_0x15dbe1['hRsCl']], frameLen)) {
  409. let _0x746526 = frame[_0x15dbe1['frDVs']](0x8, 0xc);
  410. if (_0x15dbe1['LdFxv'](_0x746526, _0x15dbe1['ufqbe'])) {
  411. let _0x4fe30b = frame[_0x15dbe1['frDVs']](0x10);
  412. let _0x1a5f8f = _0x4fe30b[_0x15dbe1['frDVs']](0x8, -0x6);
  413. frame = '';
  414. frameLen = 0x0;
  415. if (_0x15dbe1['HGCGZ'](frames[_0x15dbe1['hRsCl']], 0x0)) {
  416. let _0x301308 = _0x15dbe1['qPfli'](parseInt, _0x1a5f8f[_0x15dbe1['frDVs']](0x4, 0x6), 0x10);
  417. framesLen = _0x15dbe1['ivgZY'](_0x15dbe1['LalFj'](_0x301308, 0x80), 0x1);
  418. }
  419. frames[_0x15dbe1['WoXTw']](_0x1a5f8f);
  420. if (_0x15dbe1['PcFfh'](frames[_0x15dbe1['hRsCl']], framesLen)) {
  421. let _0x3ea6d9 = !![];
  422. for (let _0x4e9e7d = 0x0; _0x15dbe1['AQIAs'](_0x4e9e7d, frames[_0x15dbe1['hRsCl']]); _0x4e9e7d++) {
  423. let _0x578b9b = frames[_0x4e9e7d];
  424. let _0x1ba004 = 0x0;
  425. for (let _0x3d78bf = 0x1; _0x15dbe1['AQIAs'](_0x3d78bf, _0x15dbe1['sawFB'](_0x15dbe1['GxSVx'](
  426. parseInt, _0x15dbe1['VCtjk'](_0x578b9b[_0x15dbe1['hRsCl']], 0x2)), 0x1)); _0x3d78bf++) {
  427. let _0x469ca3 = _0x15dbe1['teUPZ'](parseInt, _0x578b9b[_0x15dbe1['frDVs']](_0x15dbe1['vpdUb'](
  428. _0x3d78bf, 0x2), _0x15dbe1['pNJBy'](_0x15dbe1['ivgZY'](_0x3d78bf, 0x1), 0x2)), 0x10);
  429. _0x1ba004 ^= _0x469ca3;
  430. }
  431. if (_0x15dbe1['xBWmf'](_0x1ba004, _0x15dbe1['teUPZ'](parseInt, _0x578b9b[_0x15dbe1['frDVs']](-0x2),
  432. 0x10))) {
  433. _0x3ea6d9 = ![];
  434. break;
  435. }
  436. }
  437. if (_0x15dbe1['VHSlU'](_0x3ea6d9, ![])) {
  438. frames = new Array();
  439. framesLen = 0x0;
  440. _0x15dbe1['VHSlU'](typeof dataHandlerCallback, FUNCTION) && _0x15dbe1['XWDim'](dataHandlerCallback,
  441. _0x15dbe1['ZoAtS'](toObject, codeEnum[_0x15dbe1['nAYnO']], '', _0x15dbe1['WouHa']));
  442. } else {
  443. let _0x57f038 = '';
  444. for (let _0x4e9e7d = 0x0; _0x15dbe1['AQIAs'](_0x4e9e7d, frames[_0x15dbe1['hRsCl']]); _0x4e9e7d++) {
  445. let _0x578b9b = frames[_0x4e9e7d];
  446. _0x57f038 += _0x578b9b[_0x15dbe1['frDVs']](0x8, -0x2);
  447. }
  448. frames = new Array();
  449. framesLen = 0x0;
  450. _0x15dbe1['VHSlU'](typeof dataHandlerCallback, FUNCTION) && _0x15dbe1['UjoZD'](dataHandlerCallback,
  451. _0x15dbe1['XNzBn'](toObject, codeEnum[_0x15dbe1['mqpli']], _0x57f038, '成功'));
  452. }
  453. }
  454. } else {
  455. console[_0x15dbe1['GjGSn']](_0x15dbe1['ByKwN']);
  456. frame = '';
  457. frameLen = 0x0;
  458. }
  459. }
  460. }
  461. function sendDataToDevice(_0x3c597a, _0x1d3048) {
  462. var _0x45ae09 = {
  463. 'PFmyC': '2|3|7|1|6|4|0|5',
  464. 'LrgPZ': 'concat',
  465. 'GgiUJ': function(_0x5203bb) {
  466. return _0x5203bb();
  467. }
  468. };
  469. var _0x29dd99 = _0x45ae09['PFmyC']['split']('|'),
  470. _0x48b3bc = 0x0;
  471. while (!![]) {
  472. switch (_0x29dd99[_0x48b3bc++]) {
  473. case '0':
  474. framesLen = 0x0;
  475. continue;
  476. case '1':
  477. frame = '';
  478. continue;
  479. case '2':
  480. dataHandlerCallback = _0x1d3048;
  481. continue;
  482. case '3':
  483. sendBufferArray = new Array()[_0x45ae09['LrgPZ']](_0x3c597a);
  484. continue;
  485. case '4':
  486. frames = new Array();
  487. continue;
  488. case '5':
  489. _0x45ae09['GgiUJ'](runningSendData);
  490. continue;
  491. case '6':
  492. frameLen = 0x0;
  493. continue;
  494. case '7':
  495. sendIndex = 0x0;
  496. continue;
  497. }
  498. break;
  499. }
  500. }
  501. function connectDevice(_0x1c90e2, _0x5ca937, _0x585ded) {
  502. var _0x47b9fb = {
  503. 'iGbFl': '7|8|2|0|3|6|1|5|4',
  504. 'rzSct': function(_0x25a848, _0x21eac2) {
  505. return _0x25a848 != _0x21eac2;
  506. },
  507. 'KRppn': function(_0x34b3a8, _0x3a0630) {
  508. return _0x34b3a8(_0x3a0630);
  509. },
  510. 'FluVK': function(_0x48dd3e, _0x1251f4) {
  511. return _0x48dd3e != _0x1251f4;
  512. },
  513. 'qelbd': function(_0x1107e7) {
  514. return _0x1107e7();
  515. },
  516. 'GsMWq': function(_0x6941ce, _0x176228, _0x5ab273) {
  517. return _0x6941ce(_0x176228, _0x5ab273);
  518. },
  519. 'WuGVf': function(_0x424ea9, _0x215b89) {
  520. return _0x424ea9 != _0x215b89;
  521. },
  522. 'mGXxZ': function(_0x50258d, _0x5aded5) {
  523. return _0x50258d(_0x5aded5);
  524. },
  525. 'odttp': function(_0x3923c5, _0x3b876e) {
  526. return _0x3923c5 == _0x3b876e;
  527. },
  528. 'lAsVi': function(_0x21daae, _0x152c6b) {
  529. return _0x21daae == _0x152c6b;
  530. },
  531. 'MEiAZ': function(_0x8a3868, _0x2c30d8, _0x317539, _0x5e147e) {
  532. return _0x8a3868(_0x2c30d8, _0x317539, _0x5e147e);
  533. },
  534. 'njHIQ': '连接成功',
  535. 'qoFPb': '断开连接',
  536. 'xHyPe': 'timeout',
  537. 'MyqbX': 'deviceId'
  538. };
  539. var _0x5765ea = _0x47b9fb['iGbFl']['split']('|'),
  540. _0x40a3ac = 0x0;
  541. while (!![]) {
  542. switch (_0x5765ea[_0x40a3ac++]) {
  543. case '0':
  544. if (_0x47b9fb['rzSct'](typeof connectTimer, undefined)) {
  545. _0x47b9fb['KRppn'](clearTimeout, connectTimer);
  546. }
  547. continue;
  548. case '1':
  549. wx['onBLEConnectionStateChange'](function(_0x18f3f9) {
  550. if (_0x2843a5['jyKyQ'](connectDeviceId, _0x18f3f9['deviceId'])) {
  551. _0x2843a5['lJXDt'](typeof _0x585ded, FUNCTION) && _0x2843a5['wDKDP'](_0x585ded,
  552. _0x2843a5['zqFHL'](toObject, _0x18f3f9['connected'] ? 0x0 : 0x1, undefined,
  553. _0x18f3f9['connected'] ? _0x2843a5['otXIl'] : _0x2843a5['WFEOh']));
  554. }
  555. });
  556. continue;
  557. case '2':
  558. connectCallback = _0x5ca937;
  559. continue;
  560. case '3':
  561. if (_0x47b9fb['FluVK'](typeof startA2Timer, undefined)) {
  562. _0x47b9fb['KRppn'](clearTimeout, startA2Timer);
  563. }
  564. continue;
  565. case '4':
  566. _0x47b9fb['qelbd'](startConnectBle);
  567. continue;
  568. case '5':
  569. connectTimer = _0x47b9fb['GsMWq'](setTimeout, () => {
  570. _0x2843a5['lJXDt'](typeof connectCallback, FUNCTION) && _0x2843a5['wDKDP'](connectCallback,
  571. _0x2843a5['zqFHL'](toObject, codeEnum[_0x2843a5['Cbuvg']], undefined, _0x2843a5[
  572. 'Cbuvg']));
  573. }, connectTime);
  574. continue;
  575. case '6':
  576. if (_0x47b9fb['WuGVf'](typeof waitA2ResponseTimer, undefined)) {
  577. _0x47b9fb['mGXxZ'](clearTimeout, waitA2ResponseTimer);
  578. }
  579. continue;
  580. case '7':
  581. var _0x2843a5 = {
  582. 'jyKyQ': function(_0x5bd09d, _0x16b3b6) {
  583. return _0x47b9fb['odttp'](_0x5bd09d, _0x16b3b6);
  584. },
  585. 'lJXDt': function(_0x21e56f, _0x4e22d8) {
  586. return _0x47b9fb['lAsVi'](_0x21e56f, _0x4e22d8);
  587. },
  588. 'wDKDP': function(_0x4a8af0, _0x2fb63f) {
  589. return _0x47b9fb['mGXxZ'](_0x4a8af0, _0x2fb63f);
  590. },
  591. 'zqFHL': function(_0x17f697, _0xe1581b, _0x3e9690, _0x641a34) {
  592. return _0x47b9fb['MEiAZ'](_0x17f697, _0xe1581b, _0x3e9690, _0x641a34);
  593. },
  594. 'otXIl': _0x47b9fb['njHIQ'],
  595. 'WFEOh': _0x47b9fb['qoFPb'],
  596. 'Cbuvg': _0x47b9fb['xHyPe']
  597. };
  598. continue;
  599. case '8':
  600. connectDeviceId = _0x1c90e2[_0x47b9fb['MyqbX']];
  601. continue;
  602. }
  603. break;
  604. }
  605. }
  606. function disconnectDevice(_0x2652df) {
  607. var _0x331de3 = {
  608. 'QrgrA': function(_0x51aeec, _0x3f4eed) {
  609. return _0x51aeec(_0x3f4eed);
  610. },
  611. 'qSano': function(_0x4e6a17, _0x4ec8a0, _0x40d777, _0x5284e1) {
  612. return _0x4e6a17(_0x4ec8a0, _0x40d777, _0x5284e1);
  613. },
  614. 'NsZnY': 'successCode',
  615. 'yQsSJ': function(_0xaa36e5, _0x5a5e8e) {
  616. return _0xaa36e5(_0x5a5e8e);
  617. },
  618. 'hwJaF': function(_0x49a7dc, _0x5d72a1) {
  619. return _0x49a7dc(_0x5d72a1);
  620. }
  621. };
  622. const _0x10fc94 = _0x331de3['hwJaF'](String, connectDeviceId);
  623. wx['closeBLEConnection']({
  624. 'deviceId': _0x10fc94,
  625. 'success'(_0x1b2d61) {
  626. console['log'](_0x1b2d61);
  627. _0x331de3['QrgrA'](_0x2652df, _0x331de3['qSano'](toObject, codeEnum[_0x331de3['NsZnY']], _0x1b2d61,
  628. '成功'));
  629. },
  630. 'fail'(_0x378c5f) {
  631. console['log'](_0x378c5f);
  632. _0x331de3['yQsSJ'](_0x2652df, _0x331de3['qSano'](toObject, _0x378c5f['errCode'], _0x378c5f,
  633. _0x378c5f['errMsg']));
  634. }
  635. });
  636. }
  637. function promise(_0x476dc4, _0x51c005) {
  638. var _0x370127 = {
  639. 'vwRnQ': function(_0x189eb1, _0x3fa153) {
  640. return _0x189eb1 === _0x3fa153;
  641. },
  642. 'qUPXh': 'successCode',
  643. 'AyjLX': '发送数据成功',
  644. 'ItOsk': function(_0x23c0bf, _0x3ddff6) {
  645. return _0x23c0bf === _0x3ddff6;
  646. },
  647. 'PAFri': function(_0x1b171e, _0x5c3c24) {
  648. return _0x1b171e == _0x5c3c24;
  649. },
  650. 'ETtYS': function(_0x5c05b8, _0x44fe51) {
  651. return _0x5c05b8 + _0x44fe51;
  652. },
  653. 'CIxOc': 'fff\x20d\x20',
  654. 'WuIGa': function(_0x309d03, _0x311822) {
  655. return _0x309d03(_0x311822);
  656. },
  657. 'iufKk': '数据返回错误',
  658. 'VnzJf': 'TLV指令集有指令执行失败',
  659. 'XSXFM': '条指令执行失败',
  660. 'rVqXB': function(_0x50ade6, _0x322c5a) {
  661. return _0x50ade6 + _0x322c5a;
  662. },
  663. 'CYOZz': '错误码:',
  664. 'BVcUx': function(_0x3b412f, _0x38e420) {
  665. return _0x3b412f - _0x38e420;
  666. },
  667. 'iSfUN': function(_0x13d291, _0x301a0f) {
  668. return _0x13d291 + _0x301a0f;
  669. },
  670. 'DcsPZ': '发送数据失败',
  671. 'Deesq': function(_0x3fab66, _0x194d8f) {
  672. return _0x3fab66 === _0x194d8f;
  673. },
  674. 'SyWFS': function(_0x13ffee, _0x19961e, _0x590700) {
  675. return _0x13ffee(_0x19961e, _0x590700);
  676. }
  677. };
  678. return new Promise((_0x5a84a6, _0x369ad6) => {
  679. if (_0x370127['Deesq'](_0x51c005, '10')) {
  680. var _0x65a379 = dataUtil['makeA3SendData']('00', dataHandler['makeTLV']([_0x476dc4]));
  681. } else {
  682. var _0x65a379 = dataUtil['makeA8SendData']('00', dataHandler['makeTLV']([_0x476dc4]));
  683. }
  684. _0x370127['SyWFS'](sendDataToDevice, _0x65a379, _0x55bd3b => {
  685. if (_0x370127['vwRnQ'](_0x55bd3b['code'], codeEnum[_0x370127['qUPXh']])) {
  686. console['log'](_0x370127['AyjLX']);
  687. if (_0x370127['ItOsk'](_0x55bd3b['data']['slice'](0x2, 0x4), '00') || _0x370127['ItOsk']
  688. (_0x55bd3b['data']['slice'](0x2, 0x4), 'cf')) {
  689. let _0x4d8e04 = _0x55bd3b['data']['slice'](0xa);
  690. let _0x5987a9 = dataHandler['resolveTLV'](_0x55bd3b['data']['slice'](0xa));
  691. console['log'](_0x5987a9);
  692. if (_0x370127['PAFri'](_0x5987a9['length'], 0x1)) {
  693. console['log'](_0x370127['ETtYS'](_0x370127['CIxOc'], _0x5987a9[0x0]['slice'](-
  694. 0x4)));
  695. _0x370127['WuIGa'](_0x5a84a6, _0x5987a9[0x0]);
  696. } else {
  697. _0x370127['WuIGa'](_0x369ad6, _0x370127['iufKk']);
  698. }
  699. } else {
  700. console['log'](_0x370127['VnzJf']);
  701. let _0x4c93b5 = _0x55bd3b['data']['slice'](0xa);
  702. let _0x5987a9 = dataHandler['resolveTLV'](_0x55bd3b['data']['slice'](0xa));
  703. console['log'](_0x370127['ETtYS'](_0x370127['ETtYS']('第', _0x5987a9['length']),
  704. _0x370127['XSXFM']));
  705. console['log'](_0x370127['rVqXB'](_0x370127['CYOZz'], _0x5987a9[_0x370127['BVcUx'](
  706. _0x5987a9['length'], 0x1)]['slice'](-0x4)));
  707. _0x370127['WuIGa'](_0x369ad6, _0x370127['iSfUN'](_0x370127['CYOZz'], _0x5987a9[
  708. _0x370127['BVcUx'](_0x5987a9['length'], 0x1)]['slice'](-0x4)));
  709. }
  710. } else {
  711. console['log'](_0x370127['DcsPZ']);
  712. _0x370127['WuIGa'](_0x369ad6, _0x55bd3b['msg']);
  713. }
  714. });
  715. });
  716. }
  717. function transCmd(_0x665fde, _0x9c5013, _0x52cc42) {
  718. var _0x33c405 = {
  719. 'YvtVd': '5|6|0|1|4|3|2',
  720. 'GLClT': function(_0x464208, _0x102083) {
  721. return _0x464208 < _0x102083;
  722. },
  723. 'bZlBX': function(_0x5670d1, _0x5e2071) {
  724. return _0x5670d1 == _0x5e2071;
  725. },
  726. 'ePLuK': function(_0x4281ff, _0x2b18ae, _0x77d88d) {
  727. return _0x4281ff(_0x2b18ae, _0x77d88d);
  728. },
  729. 'goZIj': function(_0x181164, _0x1455a0) {
  730. return _0x181164 === _0x1455a0;
  731. },
  732. 'Klkna': function(_0x4730b2, _0x15de1d) {
  733. return _0x4730b2 > _0x15de1d;
  734. },
  735. 'RpPAK': function(_0x10020a, _0x416c2d) {
  736. return _0x10020a == _0x416c2d;
  737. },
  738. 'ysiVL': function(_0x447cce, _0x3a1496) {
  739. return _0x447cce(_0x3a1496);
  740. },
  741. 'yUbXy': function(_0x54b2f8, _0x1c8def, _0x2f4418, _0x1ef892) {
  742. return _0x54b2f8(_0x1c8def, _0x2f4418, _0x1ef892);
  743. },
  744. 'nGBqQ': 'successCode',
  745. 'fqlTL': function(_0x5e402d, _0x386d9e) {
  746. return _0x5e402d != _0x386d9e;
  747. },
  748. 'UGNBG': function(_0xce76af, _0x32a699) {
  749. return _0xce76af(_0x32a699);
  750. },
  751. 'EpeKt': 'failureCode',
  752. 'ULhDf': function(_0x4b65ad, _0x3226fa) {
  753. return _0x4b65ad + _0x3226fa;
  754. },
  755. 'AuWGq': function(_0x1cd881, _0x5e7162) {
  756. return _0x1cd881 != _0x5e7162;
  757. },
  758. 'vCBmn': function(_0x390c08, _0x290eaa, _0x2298f5, _0x1a3b6d) {
  759. return _0x390c08(_0x290eaa, _0x2298f5, _0x1a3b6d);
  760. },
  761. 'czUeR': 'paraError',
  762. 'zxFsn': 'transCmd\x20type\x20错误'
  763. };
  764. var _0x252bf8 = _0x33c405['YvtVd']['split']('|'),
  765. _0x48b515 = 0x0;
  766. while (!![]) {
  767. switch (_0x252bf8[_0x48b515++]) {
  768. case '0':
  769. cmds = _0x665fde['slice']();
  770. continue;
  771. case '1':
  772. var _0x3307dd = new Array();
  773. continue;
  774. case '2':
  775. for (var _0x5ad3b7 = 0x0; _0x33c405['GLClT'](_0x5ad3b7, _0x665fde['length']); _0x5ad3b7++) {
  776. if (_0x33c405['bZlBX'](_0x5ad3b7, 0x0)) {
  777. _0x59d4bf = cmds['shift']();
  778. _0x47199 = _0x33c405['ePLuK'](promise, _0x59d4bf, _0x9c5013);
  779. }
  780. _0x47199 = _0x47199['then'](_0x1a4ad7 => {
  781. if (_0x212fcb['cLThq'](_0x1a4ad7, undefined)) {
  782. return;
  783. }
  784. _0x3307dd['push'](_0x1a4ad7);
  785. if (_0x212fcb['MtWVg'](cmds['length'], 0x0)) {
  786. _0x59d4bf = cmds['shift']();
  787. return _0x212fcb['VSzXs'](promise, _0x59d4bf, _0x9c5013);
  788. }
  789. _0x212fcb['eWsHQ'](typeof _0x52cc42, FUNCTION) && _0x212fcb['ChCCZ'](_0x52cc42,
  790. _0x212fcb['LMHxY'](toObject, codeEnum[_0x212fcb['ChGEm']], _0x3307dd, '成功'));
  791. }, (_0x479451, _0x5e1935) => {
  792. if (_0x212fcb['YdMfE'](_0x479451, undefined)) _0x212fcb['eWsHQ'](typeof _0x52cc42,
  793. FUNCTION) && _0x212fcb['vQWBb'](_0x52cc42, _0x212fcb['LMHxY'](toObject,
  794. codeEnum[_0x212fcb['pqsDN']], _0x3307dd, _0x212fcb['qPqCm'](_0x59d4bf,
  795. _0x479451)));
  796. });
  797. }
  798. continue;
  799. case '3':
  800. var _0x47199;
  801. continue;
  802. case '4':
  803. var _0x59d4bf;
  804. continue;
  805. case '5':
  806. var _0x212fcb = {
  807. 'cLThq': function(_0x1c2f5a, _0x318bdc) {
  808. return _0x33c405['goZIj'](_0x1c2f5a, _0x318bdc);
  809. },
  810. 'MtWVg': function(_0x3b86cb, _0x8fbe76) {
  811. return _0x33c405['Klkna'](_0x3b86cb, _0x8fbe76);
  812. },
  813. 'VSzXs': function(_0x284a9e, _0x46f135, _0x495789) {
  814. return _0x33c405['ePLuK'](_0x284a9e, _0x46f135, _0x495789);
  815. },
  816. 'eWsHQ': function(_0x5ec9af, _0x135b89) {
  817. return _0x33c405['RpPAK'](_0x5ec9af, _0x135b89);
  818. },
  819. 'ChCCZ': function(_0x5dbc4a, _0x1d82fc) {
  820. return _0x33c405['ysiVL'](_0x5dbc4a, _0x1d82fc);
  821. },
  822. 'LMHxY': function(_0x3a5c65, _0x4717a8, _0x91bcde, _0x38b9ac) {
  823. return _0x33c405['yUbXy'](_0x3a5c65, _0x4717a8, _0x91bcde, _0x38b9ac);
  824. },
  825. 'ChGEm': _0x33c405['nGBqQ'],
  826. 'YdMfE': function(_0x4f4e72, _0x2569e2) {
  827. return _0x33c405['fqlTL'](_0x4f4e72, _0x2569e2);
  828. },
  829. 'vQWBb': function(_0x4febaa, _0x20720c) {
  830. return _0x33c405['UGNBG'](_0x4febaa, _0x20720c);
  831. },
  832. 'pqsDN': _0x33c405['EpeKt'],
  833. 'qPqCm': function(_0x1696bb, _0x279a39) {
  834. return _0x33c405['ULhDf'](_0x1696bb, _0x279a39);
  835. }
  836. };
  837. continue;
  838. case '6':
  839. if (_0x33c405['fqlTL'](_0x9c5013, '10') && _0x33c405['AuWGq'](_0x9c5013, '20')) {
  840. _0x33c405['RpPAK'](typeof _0x52cc42, FUNCTION) && _0x33c405['UGNBG'](_0x52cc42, _0x33c405['vCBmn'](
  841. toObject, codeEnum[_0x33c405['czUeR']], undefined, _0x33c405['zxFsn']));
  842. return;
  843. }
  844. continue;
  845. }
  846. break;
  847. }
  848. }
  849. function runningSendData() {
  850. var _0x444063 = {
  851. 'jiMff': function(_0x45fa5b, _0x3d8034) {
  852. return _0x45fa5b < _0x3d8034;
  853. },
  854. 'aSLAv': 'length',
  855. 'fhbyZ': function(_0x4e9a31) {
  856. return _0x4e9a31();
  857. },
  858. 'hYRYy': 'log',
  859. 'zkPRe': function(_0x3ea1d2, _0x5eba25) {
  860. return _0x3ea1d2 + _0x5eba25;
  861. },
  862. 'KVGVS': function(_0x38a0ef, _0x112a49) {
  863. return _0x38a0ef - _0x112a49;
  864. },
  865. 'IjWih': '次重发',
  866. 'taPPG': function(_0x4ccaed, _0xd61cfe) {
  867. return _0x4ccaed > _0xd61cfe;
  868. },
  869. 'lwNXN': function(_0x5d1bc1, _0x30ad6c, _0xc2348e) {
  870. return _0x5d1bc1(_0x30ad6c, _0xc2348e);
  871. },
  872. 'UARwl': function(_0x3fa6a4, _0x3295e5) {
  873. return _0x3fa6a4 == _0x3295e5;
  874. },
  875. 'QdEoZ': function(_0x3e937c, _0x4b42b7) {
  876. return _0x3e937c(_0x4b42b7);
  877. },
  878. 'ckGrj': function(_0x5e5e81, _0x1d9c8c, _0x186773, _0x4ee3e0) {
  879. return _0x5e5e81(_0x1d9c8c, _0x186773, _0x4ee3e0);
  880. },
  881. 'zoWJN': 'sendDataFailure',
  882. 'CpTIF': '发送数据失败',
  883. 'xWWJZ': 'bufferArrayToHexString',
  884. 'OnMOL': function(_0x238ac5, _0x1e70c5) {
  885. return _0x238ac5 + _0x1e70c5;
  886. },
  887. 'gOXGH': '发送:',
  888. 'XxmyF': 'writeBLECharacteristicValue'
  889. };
  890. let _0x4336da = sendBufferArray[sendIndex];
  891. let _0x18a25b = dataHandler[_0x444063['xWWJZ']](_0x4336da);
  892. console[_0x444063['hYRYy']](_0x444063['OnMOL'](_0x444063['gOXGH'], _0x18a25b));
  893. wx[_0x444063['XxmyF']]({
  894. 'deviceId': connectDeviceId,
  895. 'serviceId': serviceUUID,
  896. 'characteristicId': writeUUID,
  897. 'value': _0x4336da,
  898. 'success': function(_0xd417d) {
  899. sendIndex++;
  900. resendCount = 0x3;
  901. if (_0x444063['jiMff'](sendIndex, sendBufferArray[_0x444063['aSLAv']])) {
  902. _0x444063['fhbyZ'](runningSendData);
  903. }
  904. },
  905. 'fail': function() {
  906. if (_0x444063['taPPG'](resendCount, 0x0)) {
  907. resendCount--;
  908. _0x444063['lwNXN'](setTimeout, () => {
  909. console[_0x444063['hYRYy']](_0x444063['zkPRe'](_0x444063['zkPRe']('第',
  910. _0x444063['KVGVS'](0x3, resendCount)), _0x444063['IjWih']));
  911. _0x444063['fhbyZ'](runningSendData);
  912. }, 0xc8);
  913. } else {
  914. _0x444063['UARwl'](typeof dataHandlerCallback, FUNCTION) && _0x444063['QdEoZ'](
  915. dataHandlerCallback, _0x444063['ckGrj'](toObject, codeEnum[_0x444063['zoWJN']], '',
  916. _0x444063['CpTIF']));
  917. }
  918. }
  919. });
  920. }