hunter-open-sdk 1.0.2 → 1.0.4
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/getAndroidSn/index.js +13 -8
- package/lib/getGeneralReport/index.js +3 -4
- package/lib/getSaaSReport/index.js +3 -4
- package/lib/index.js +6 -7
- package/lib/registerEvent/index.js +103 -129
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.GetAndroidSn = void 0;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _usb = require("usb");
|
|
@@ -159,29 +159,35 @@ var getWinSn = /*#__PURE__*/function () {
|
|
|
159
159
|
* @param {Object} params - 参数
|
|
160
160
|
* @param {Function} callBack - 回调函数
|
|
161
161
|
*/
|
|
162
|
-
var GetAndroidSn = function GetAndroidSn(params, callBack) {
|
|
162
|
+
var GetAndroidSn = exports.GetAndroidSn = function GetAndroidSn(params, callBack) {
|
|
163
163
|
console.log('GetAndroidSn params', params);
|
|
164
164
|
_usb.usb.on('attach', /*#__PURE__*/function () {
|
|
165
165
|
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(device) {
|
|
166
166
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
167
167
|
while (1) switch (_context3.prev = _context3.next) {
|
|
168
168
|
case 0:
|
|
169
|
+
saasCallBack({
|
|
170
|
+
data: {
|
|
171
|
+
eventName: 'type_usb_android_device_result',
|
|
172
|
+
eventCode: 0
|
|
173
|
+
}
|
|
174
|
+
});
|
|
169
175
|
if (!(0, _utils.isMac)()) {
|
|
170
|
-
_context3.next =
|
|
176
|
+
_context3.next = 4;
|
|
171
177
|
break;
|
|
172
178
|
}
|
|
173
179
|
// mac获取sn
|
|
174
180
|
getMacSn(device, callBack);
|
|
175
181
|
return _context3.abrupt("return");
|
|
176
|
-
case
|
|
182
|
+
case 4:
|
|
177
183
|
if (!(0, _utils.isWin)()) {
|
|
178
|
-
_context3.next =
|
|
184
|
+
_context3.next = 7;
|
|
179
185
|
break;
|
|
180
186
|
}
|
|
181
187
|
// win获取sn
|
|
182
188
|
getWinSn(device, callBack);
|
|
183
189
|
return _context3.abrupt("return");
|
|
184
|
-
case
|
|
190
|
+
case 7:
|
|
185
191
|
case "end":
|
|
186
192
|
return _context3.stop();
|
|
187
193
|
}
|
|
@@ -192,5 +198,4 @@ var GetAndroidSn = function GetAndroidSn(params, callBack) {
|
|
|
192
198
|
};
|
|
193
199
|
}());
|
|
194
200
|
_usb.usb.on('detach', function () {});
|
|
195
|
-
};
|
|
196
|
-
var _default = exports.default = GetAndroidSn;
|
|
201
|
+
};
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.GetGeneralReport = void 0;
|
|
8
8
|
var _path = _interopRequireDefault(require("path"));
|
|
9
9
|
var _utils = require("../utils/utils.global");
|
|
10
10
|
// 预定义worker
|
|
@@ -62,7 +62,7 @@ function getReport(params) {
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
// 获取报告
|
|
65
|
-
function GetGeneralReport(params, callBack) {
|
|
65
|
+
var GetGeneralReport = exports.GetGeneralReport = function GetGeneralReport(params, callBack) {
|
|
66
66
|
// 如果是在主进程,则直接获取报告
|
|
67
67
|
if (isInMainProcess()) {
|
|
68
68
|
var reportRes = (0, _utils.getGeneralReportCallKit)(params);
|
|
@@ -73,5 +73,4 @@ function GetGeneralReport(params, callBack) {
|
|
|
73
73
|
initWorker();
|
|
74
74
|
addWorkerListener(callBack);
|
|
75
75
|
getReport(params);
|
|
76
|
-
}
|
|
77
|
-
var _default = exports.default = GetGeneralReport;
|
|
76
|
+
};
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.GetSaaSReport = void 0;
|
|
8
8
|
var _path = _interopRequireDefault(require("path"));
|
|
9
9
|
var _utils = require("../utils/utils.global");
|
|
10
10
|
// 预定义worker
|
|
@@ -62,7 +62,7 @@ function getReport(params) {
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
// 获取报告
|
|
65
|
-
function GetSaaSReport(params, callBack) {
|
|
65
|
+
var GetSaaSReport = exports.GetSaaSReport = function GetSaaSReport(params, callBack) {
|
|
66
66
|
// 如果是在主进程,则直接获取报告
|
|
67
67
|
if (isInMainProcess()) {
|
|
68
68
|
var reportRes = (0, _utils.getSaaSReportCallKit)(params);
|
|
@@ -73,5 +73,4 @@ function GetSaaSReport(params, callBack) {
|
|
|
73
73
|
initWorker();
|
|
74
74
|
addWorkerListener(callBack);
|
|
75
75
|
getReport(params);
|
|
76
|
-
}
|
|
77
|
-
var _default = exports.default = GetSaaSReport;
|
|
76
|
+
};
|
package/lib/index.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.default = void 0;
|
|
8
7
|
var _registerEvent = require("./registerEvent");
|
|
9
|
-
var _getGeneralReport =
|
|
10
|
-
var _getSaaSReport =
|
|
11
|
-
var _getAndroidSn =
|
|
8
|
+
var _getGeneralReport = require("./getGeneralReport");
|
|
9
|
+
var _getSaaSReport = require("./getSaaSReport");
|
|
10
|
+
var _getAndroidSn = require("./getAndroidSn");
|
|
12
11
|
var Sentry = require("@sentry/browser");
|
|
13
12
|
Sentry.init({
|
|
14
13
|
dsn: "https://8a5296c59083430fbac0756f56ddbf5d@sentry.zhuanzhuan.com/2300",
|
|
@@ -19,7 +18,7 @@ console.log('Sentry initialized');
|
|
|
19
18
|
var _default = exports.default = {
|
|
20
19
|
registerEvent: _registerEvent.RegisterEvent,
|
|
21
20
|
unregisterEvent: _registerEvent.UnregisterEvent,
|
|
22
|
-
getGeneralReport: _getGeneralReport.
|
|
23
|
-
getSaaSReport: _getSaaSReport.
|
|
24
|
-
getAndroidSn: _getAndroidSn.
|
|
21
|
+
getGeneralReport: _getGeneralReport.GetGeneralReport,
|
|
22
|
+
getSaaSReport: _getSaaSReport.GetSaaSReport,
|
|
23
|
+
getAndroidSn: _getAndroidSn.GetAndroidSn
|
|
25
24
|
};
|
|
@@ -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
|
|
|
@@ -72,7 +68,7 @@ var DevicePair = /*#__PURE__*/function () {
|
|
|
72
68
|
}
|
|
73
69
|
pairRes = JSON.parse(devicePair);
|
|
74
70
|
Code = pairRes.Code, Data = pairRes.Data;
|
|
75
|
-
if (!(Code == 0 && Data.imei)) {
|
|
71
|
+
if (!(Code == 0 && (Data.imei || Data.serialNumber))) {
|
|
76
72
|
_context.next = 12;
|
|
77
73
|
break;
|
|
78
74
|
}
|
|
@@ -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
|
};
|