hunter-open-sdk 2.0.0-beta.4 → 2.0.0-beta.5
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 +41 -77
- package/lib/test.js +7 -0
- package/lib/utils/utils.js +4 -3
- package/package.json +1 -1
|
@@ -8,43 +8,42 @@ exports.UnregisterAndroidSn = 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");
|
|
11
|
-
var _utils = require("../utils/utils");
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
var isPause = false; // 是否暂停获取sn
|
|
11
|
+
var _utils = require("../utils/utils.js");
|
|
12
|
+
var _utilsSn = require("../utils/utils.sn.js");
|
|
13
|
+
var _child_process = require("child_process");
|
|
14
|
+
// const childProcess = require('child_process')
|
|
15
|
+
// const exec = childProcess.exec
|
|
17
16
|
var attachHandler = null;
|
|
18
|
-
var
|
|
17
|
+
var customWebUSB = new _usb.WebUSB({
|
|
18
|
+
allowAllDevices: true
|
|
19
|
+
});
|
|
20
|
+
|
|
19
21
|
// mac获取sn
|
|
20
22
|
var getMacSn = /*#__PURE__*/function () {
|
|
21
23
|
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(device, callBack) {
|
|
22
24
|
var _deviceInfo$productNa, _deviceInfo$manufactu;
|
|
23
|
-
var attachDeviceId,
|
|
25
|
+
var attachDeviceId, deviceList, currentDevice, deviceInfo, productName, manufacturerName, supportedBrands, isSupportedBrand;
|
|
24
26
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
25
27
|
while (1) switch (_context.prev = _context.next) {
|
|
26
28
|
case 0:
|
|
27
29
|
// 拿到当前连接的设备deviceAddress 作为标识去usb列表筛选
|
|
28
30
|
attachDeviceId = device.deviceAddress;
|
|
29
|
-
|
|
30
|
-
allowAllDevices: true
|
|
31
|
-
});
|
|
32
|
-
_context.next = 4;
|
|
31
|
+
_context.next = 3;
|
|
33
32
|
return customWebUSB.getDevices();
|
|
34
|
-
case
|
|
33
|
+
case 3:
|
|
35
34
|
deviceList = _context.sent;
|
|
36
35
|
if (attachDeviceId) {
|
|
37
|
-
_context.next =
|
|
36
|
+
_context.next = 6;
|
|
38
37
|
break;
|
|
39
38
|
}
|
|
40
39
|
return _context.abrupt("return");
|
|
41
|
-
case
|
|
40
|
+
case 6:
|
|
42
41
|
// 删选出当前的设备信息 为获取到serialNumber
|
|
43
42
|
currentDevice = deviceList.filter(function (item) {
|
|
44
43
|
return item.device.deviceAddress == attachDeviceId;
|
|
45
44
|
});
|
|
46
45
|
if (currentDevice.length) {
|
|
47
|
-
_context.next =
|
|
46
|
+
_context.next = 10;
|
|
48
47
|
break;
|
|
49
48
|
}
|
|
50
49
|
callBack({
|
|
@@ -53,7 +52,7 @@ var getMacSn = /*#__PURE__*/function () {
|
|
|
53
52
|
message: '获取SN失败'
|
|
54
53
|
});
|
|
55
54
|
return _context.abrupt("return");
|
|
56
|
-
case
|
|
55
|
+
case 10:
|
|
57
56
|
// 检查设备是否为支持的三星、华为、荣耀手机品牌
|
|
58
57
|
deviceInfo = currentDevice[0];
|
|
59
58
|
productName = ((_deviceInfo$productNa = deviceInfo.productName) === null || _deviceInfo$productNa === void 0 ? void 0 : _deviceInfo$productNa.toLowerCase()) || '';
|
|
@@ -63,7 +62,7 @@ var getMacSn = /*#__PURE__*/function () {
|
|
|
63
62
|
return productName.includes(brand) || manufacturerName.includes(brand);
|
|
64
63
|
});
|
|
65
64
|
if (isSupportedBrand) {
|
|
66
|
-
_context.next =
|
|
65
|
+
_context.next = 18;
|
|
67
66
|
break;
|
|
68
67
|
}
|
|
69
68
|
callBack({
|
|
@@ -72,7 +71,7 @@ var getMacSn = /*#__PURE__*/function () {
|
|
|
72
71
|
message: '暂不支持该品牌手机查询SN'
|
|
73
72
|
});
|
|
74
73
|
return _context.abrupt("return");
|
|
75
|
-
case
|
|
74
|
+
case 18:
|
|
76
75
|
callBack({
|
|
77
76
|
code: 0,
|
|
78
77
|
data: {
|
|
@@ -80,7 +79,7 @@ var getMacSn = /*#__PURE__*/function () {
|
|
|
80
79
|
},
|
|
81
80
|
message: '获取SN成功'
|
|
82
81
|
});
|
|
83
|
-
case
|
|
82
|
+
case 19:
|
|
84
83
|
case "end":
|
|
85
84
|
return _context.stop();
|
|
86
85
|
}
|
|
@@ -100,7 +99,7 @@ var getWinSn = /*#__PURE__*/function () {
|
|
|
100
99
|
case 0:
|
|
101
100
|
// windows 需要运行命令获取sn
|
|
102
101
|
cmdStr = "wmic path Win32_PnPEntity where \"DeviceID like 'USB%'\" get Name, PNPDeviceID /value";
|
|
103
|
-
exec(cmdStr, function (err, stdout, stderr) {
|
|
102
|
+
(0, _child_process.exec)(cmdStr, function (err, stdout, stderr) {
|
|
104
103
|
if (err) {
|
|
105
104
|
// 运行失败 则直接返回获取失败
|
|
106
105
|
callBack({
|
|
@@ -121,7 +120,7 @@ var getWinSn = /*#__PURE__*/function () {
|
|
|
121
120
|
}
|
|
122
121
|
|
|
123
122
|
// 处理WMIC输出并提取手机序列号
|
|
124
|
-
var phoneDevices = (0,
|
|
123
|
+
var phoneDevices = (0, _utilsSn.parseWmicOutput)(stdout);
|
|
125
124
|
if (phoneDevices.length === 0) {
|
|
126
125
|
callBack({
|
|
127
126
|
code: -1,
|
|
@@ -164,52 +163,30 @@ var getWinSn = /*#__PURE__*/function () {
|
|
|
164
163
|
*/
|
|
165
164
|
|
|
166
165
|
var GetAndroidSn = exports.GetAndroidSn = function GetAndroidSn(params, callBack) {
|
|
167
|
-
if (
|
|
168
|
-
isPause = false;
|
|
169
|
-
return;
|
|
170
|
-
}
|
|
171
|
-
hadRegisterUsb = true;
|
|
172
|
-
|
|
173
|
-
// 先移除可能存在的旧监听器
|
|
174
|
-
if (attachHandler) {
|
|
175
|
-
_usb.usb.removeListener('attach', attachHandler);
|
|
176
|
-
}
|
|
177
|
-
if (detachHandler) {
|
|
178
|
-
_usb.usb.removeListener('detach', detachHandler);
|
|
179
|
-
}
|
|
180
|
-
|
|
166
|
+
if (attachHandler) return;
|
|
181
167
|
// 定义处理函数并保存引用
|
|
182
168
|
attachHandler = /*#__PURE__*/function () {
|
|
183
169
|
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(device) {
|
|
184
|
-
var idVendor;
|
|
185
170
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
186
171
|
while (1) switch (_context3.prev = _context3.next) {
|
|
187
172
|
case 0:
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
}
|
|
206
|
-
});
|
|
207
|
-
if ((0, _utils.isMac)()) {
|
|
208
|
-
getMacSn(device, callBack);
|
|
209
|
-
} else if ((0, _utils.isWin)()) {
|
|
210
|
-
getWinSn(device, callBack);
|
|
211
|
-
}
|
|
212
|
-
case 7:
|
|
173
|
+
console.log('device', device);
|
|
174
|
+
// const {idVendor} = device.deviceDescriptor;
|
|
175
|
+
// if(idVendor == 1452) return;
|
|
176
|
+
|
|
177
|
+
// callBack({
|
|
178
|
+
// data: {
|
|
179
|
+
// eventName: 'type_usb_android_device_result',
|
|
180
|
+
// eventCode: 0
|
|
181
|
+
// }
|
|
182
|
+
// });
|
|
183
|
+
|
|
184
|
+
// if (isMac()) {
|
|
185
|
+
// getMacSn(device, callBack);
|
|
186
|
+
// } else if (isWin()) {
|
|
187
|
+
// getWinSn(device, callBack);
|
|
188
|
+
// }
|
|
189
|
+
case 1:
|
|
213
190
|
case "end":
|
|
214
191
|
return _context3.stop();
|
|
215
192
|
}
|
|
@@ -219,25 +196,12 @@ var GetAndroidSn = exports.GetAndroidSn = function GetAndroidSn(params, callBack
|
|
|
219
196
|
return _ref3.apply(this, arguments);
|
|
220
197
|
};
|
|
221
198
|
}();
|
|
222
|
-
|
|
223
|
-
if (isPause) return;
|
|
224
|
-
};
|
|
225
|
-
|
|
226
|
-
// 注册新监听器
|
|
227
|
-
_usb.usb.on('attach', attachHandler);
|
|
228
|
-
_usb.usb.on('detach', detachHandler);
|
|
199
|
+
customWebUSB.addEventListener('connect', attachHandler);
|
|
229
200
|
};
|
|
230
201
|
var UnregisterAndroidSn = exports.UnregisterAndroidSn = function UnregisterAndroidSn() {
|
|
231
|
-
isPause = true;
|
|
232
|
-
|
|
233
202
|
// 移除事件监听器
|
|
234
203
|
if (attachHandler) {
|
|
235
|
-
|
|
204
|
+
customWebUSB.removeEventListener('connect', attachHandler);
|
|
236
205
|
attachHandler = null;
|
|
237
206
|
}
|
|
238
|
-
if (detachHandler) {
|
|
239
|
-
_usb.usb.removeListener('detach', detachHandler);
|
|
240
|
-
detachHandler = null;
|
|
241
|
-
}
|
|
242
|
-
hadRegisterUsb = false;
|
|
243
207
|
};
|
package/lib/test.js
ADDED
package/lib/utils/utils.js
CHANGED
|
@@ -30,9 +30,10 @@ var isDev = exports.isDev = function isDev() {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
// 检查是否在 Electron 主进程中,且没有打包
|
|
33
|
-
if (process.type === 'browser' && !process.resourcesPath.includes('app.asar')) {
|
|
34
|
-
|
|
35
|
-
}
|
|
33
|
+
// if (process.type === 'browser' && !process.resourcesPath.includes('app.asar')) {
|
|
34
|
+
// return true
|
|
35
|
+
// }
|
|
36
|
+
|
|
36
37
|
return false;
|
|
37
38
|
};
|
|
38
39
|
var isProd = exports.isProd = function isProd() {
|