hunter-open-sdk 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/registerEvent/index.js +102 -128
- package/package.json +1 -1
|
@@ -19,10 +19,6 @@ var Sentry = require("@sentry/browser");
|
|
|
19
19
|
// saas回调
|
|
20
20
|
var saasCallBack;
|
|
21
21
|
|
|
22
|
-
// 驱动安装状态
|
|
23
|
-
var isDriverInstalling = false;
|
|
24
|
-
var isDriverReady = false;
|
|
25
|
-
|
|
26
22
|
// usb监听
|
|
27
23
|
var usbListener = null;
|
|
28
24
|
|
|
@@ -202,146 +198,124 @@ var updateDllFileCheck = function updateDllFileCheck() {
|
|
|
202
198
|
* 检查并安装驱动
|
|
203
199
|
*/
|
|
204
200
|
var checkAndInstallDriver = function checkAndInstallDriver() {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
}
|
|
209
|
-
(0, _winDriver.checkHasDriver)().then(function (res) {
|
|
210
|
-
if (res) {
|
|
211
|
-
isDriverReady = true; // 已有驱动,设置为就绪
|
|
201
|
+
return new Promise(function (resolve, reject) {
|
|
202
|
+
if (!(0, _utils.isWin)()) {
|
|
203
|
+
resolve();
|
|
212
204
|
return;
|
|
213
205
|
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
206
|
+
(0, _winDriver.checkHasDriver)().then(function (res) {
|
|
207
|
+
if (res) {
|
|
208
|
+
resolve();
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
(0, _winDriver.downloadDriver)(function (percent) {
|
|
212
|
+
saasCallBack({
|
|
213
|
+
data: {
|
|
214
|
+
eventName: 'type_need_install_driver',
|
|
215
|
+
eventCode: 0,
|
|
216
|
+
eventContent: JSON.stringify({
|
|
217
|
+
percent: percent // 下载进度
|
|
218
|
+
})
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
}).then(function () {
|
|
222
|
+
// 成功
|
|
223
|
+
console.log('驱动下载并安装成功');
|
|
224
|
+
saasCallBack({
|
|
225
|
+
data: {
|
|
226
|
+
eventName: 'type_install_driver_result',
|
|
227
|
+
eventCode: 0 // 0 成功 -1 失败
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
resolve();
|
|
231
|
+
}).catch(function (err) {
|
|
232
|
+
// 失败
|
|
233
|
+
console.error('驱动下载或安装失败', err);
|
|
234
|
+
Sentry.captureException('驱动下载或安装失败:' + JSON.stringify(err));
|
|
235
|
+
saasCallBack({
|
|
236
|
+
data: {
|
|
237
|
+
eventName: 'type_install_driver_result',
|
|
238
|
+
eventCode: -1 // 0 成功 -1 失败
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
reject();
|
|
237
242
|
});
|
|
238
243
|
}).catch(function (err) {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
isDriverInstalling = false;
|
|
243
|
-
saasCallBack({
|
|
244
|
-
data: {
|
|
245
|
-
eventName: 'type_install_driver_result',
|
|
246
|
-
eventCode: -1 // 0 成功 -1 失败
|
|
247
|
-
}
|
|
248
|
-
});
|
|
244
|
+
console.error('驱动检测失败', err);
|
|
245
|
+
Sentry.captureException('驱动检测失败:' + JSON.stringify(err));
|
|
246
|
+
reject();
|
|
249
247
|
});
|
|
250
|
-
}).catch(function (err) {
|
|
251
|
-
console.error('驱动检测失败', err);
|
|
252
|
-
Sentry.captureException('驱动检测失败:' + JSON.stringify(err));
|
|
253
248
|
});
|
|
254
249
|
};
|
|
255
|
-
var RegisterEvent = exports.RegisterEvent = function
|
|
256
|
-
|
|
250
|
+
var RegisterEvent = exports.RegisterEvent = /*#__PURE__*/function () {
|
|
251
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(params, callBack) {
|
|
252
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
253
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
254
|
+
case 0:
|
|
255
|
+
saasCallBack = callBack;
|
|
257
256
|
|
|
258
|
-
|
|
259
|
-
|
|
257
|
+
// 检查是否需要更新dll
|
|
258
|
+
updateDllFileCheck();
|
|
260
259
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
260
|
+
// 在插线之前就检测驱动状态
|
|
261
|
+
_context3.next = 4;
|
|
262
|
+
return checkAndInstallDriver();
|
|
263
|
+
case 4:
|
|
264
|
+
usbListener = new usbmux.createListener().on('attached', /*#__PURE__*/function () {
|
|
265
|
+
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(udid) {
|
|
266
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
267
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
268
|
+
case 0:
|
|
269
|
+
if (udid) {
|
|
270
|
+
_context2.next = 2;
|
|
271
|
+
break;
|
|
272
|
+
}
|
|
273
|
+
return _context2.abrupt("return");
|
|
274
|
+
case 2:
|
|
275
|
+
// 插入设备通知
|
|
276
|
+
saasCallBack({
|
|
277
|
+
data: {
|
|
278
|
+
eventName: 'type_usb_device_result',
|
|
279
|
+
udid: udid,
|
|
280
|
+
eventCode: 0
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
// 有驱动,直接运行脚本
|
|
284
|
+
DevicePair(udid, params);
|
|
285
|
+
case 4:
|
|
286
|
+
case "end":
|
|
287
|
+
return _context2.stop();
|
|
288
|
+
}
|
|
289
|
+
}, _callee2);
|
|
290
|
+
}));
|
|
291
|
+
return function (_x3) {
|
|
292
|
+
return _ref3.apply(this, arguments);
|
|
293
|
+
};
|
|
294
|
+
}()).on('detached', function (udid) {
|
|
295
|
+
// 拔出设备
|
|
275
296
|
saasCallBack({
|
|
276
297
|
data: {
|
|
277
298
|
eventName: 'type_usb_device_result',
|
|
278
299
|
udid: udid,
|
|
279
|
-
eventCode:
|
|
300
|
+
eventCode: -1
|
|
280
301
|
}
|
|
281
302
|
});
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
data: {
|
|
292
|
-
eventName: 'type_usb_device_result',
|
|
293
|
-
udid: udid,
|
|
294
|
-
eventCode: -2,
|
|
295
|
-
// -2 表示驱动安装中,请等待
|
|
296
|
-
eventContent: JSON.stringify({
|
|
297
|
-
message: '驱动正在安装中,请稍后重试'
|
|
298
|
-
})
|
|
299
|
-
}
|
|
300
|
-
});
|
|
301
|
-
} else {
|
|
302
|
-
// 驱动未安装,重新触发安装流程
|
|
303
|
-
checkAndInstallDriver();
|
|
304
|
-
saasCallBack({
|
|
305
|
-
data: {
|
|
306
|
-
eventName: 'type_usb_device_result',
|
|
307
|
-
udid: udid,
|
|
308
|
-
eventCode: -3,
|
|
309
|
-
// -3 表示需要安装驱动
|
|
310
|
-
eventContent: JSON.stringify({
|
|
311
|
-
message: '需要安装驱动,正在处理中'
|
|
312
|
-
})
|
|
313
|
-
}
|
|
314
|
-
});
|
|
315
|
-
}
|
|
316
|
-
} else {
|
|
317
|
-
// 有驱动,直接运行脚本
|
|
318
|
-
DevicePair(udid, params);
|
|
319
|
-
}
|
|
320
|
-
case 4:
|
|
321
|
-
case "end":
|
|
322
|
-
return _context2.stop();
|
|
323
|
-
}
|
|
324
|
-
}, _callee2);
|
|
325
|
-
}));
|
|
326
|
-
return function (_x) {
|
|
327
|
-
return _ref2.apply(this, arguments);
|
|
328
|
-
};
|
|
329
|
-
}()).on('detached', function (udid) {
|
|
330
|
-
// 拔出设备
|
|
331
|
-
saasCallBack({
|
|
332
|
-
data: {
|
|
333
|
-
eventName: 'type_usb_device_result',
|
|
334
|
-
udid: udid,
|
|
335
|
-
eventCode: -1
|
|
303
|
+
}).on('error', function (err) {
|
|
304
|
+
console.log('usb连接错误:', err);
|
|
305
|
+
Sentry.captureException('usb连接错误:' + JSON.stringify(err));
|
|
306
|
+
var errMsg = "usb\u8FDE\u63A5\u9519\u8BEF\uFF1A".concat(err);
|
|
307
|
+
throw new Error(errMsg);
|
|
308
|
+
});
|
|
309
|
+
case 5:
|
|
310
|
+
case "end":
|
|
311
|
+
return _context3.stop();
|
|
336
312
|
}
|
|
337
|
-
});
|
|
338
|
-
})
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
});
|
|
344
|
-
};
|
|
313
|
+
}, _callee3);
|
|
314
|
+
}));
|
|
315
|
+
return function RegisterEvent(_x, _x2) {
|
|
316
|
+
return _ref2.apply(this, arguments);
|
|
317
|
+
};
|
|
318
|
+
}();
|
|
345
319
|
var UnregisterEvent = exports.UnregisterEvent = function UnregisterEvent() {
|
|
346
320
|
usbListener && usbListener.destroy();
|
|
347
321
|
};
|