hunter-open-sdk 0.0.2 → 0.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/README.md CHANGED
@@ -1,92 +1,2 @@
1
- # hunter-coruscant@0.0.1
2
-
3
1
  采货侠SaaS版本桌面端sdk
4
2
 
5
- > Git仓库地址:[GitLab](http://gitlab.zhuanspirit.com/u/hunter-coruscant)
6
- >
7
- > 文档线上地址:[文档](https://fe.zhuanspirit.com/u/hunter-coruscant/)
8
-
9
- ## 使用
10
-
11
- ### npm
12
-
13
- ```bash
14
- $ npm i hunter-coruscant -S
15
- ```
16
-
17
- ### CDN
18
-
19
- <!-- 需要在 beetle 自行配置业务线和包名 -->
20
-
21
- ```html
22
- <script src="https://m.zhuanzhuan.com/u/hunter-coruscant/static/js/0.0.1/index.js"></script>
23
- <script src="https://m.zhuanzhuan.com/u/hunter-coruscant/static/js/0.0.1/index.min.js"></script>
24
- ```
25
-
26
- ### 按需加载
27
-
28
- ```bash
29
- $ npm i babel-plugin-import -D
30
- ```
31
-
32
- 此 `npm` 包实现了按需加载,使用时,需要设置 `babel` 配置,如下:
33
-
34
- ```javascript
35
- // babel.config.js
36
- {
37
- "plugins": [
38
- ["import", {
39
- "libraryName": "hunter-coruscant"
40
- }]
41
- ]
42
- }
43
- ```
44
-
45
- ## 开发
46
-
47
- ### 命令行
48
-
49
- ```bash
50
- # 统一的 git commit 指令
51
- $ npm run cz
52
-
53
- # eslint 校验
54
- $ npm run lint
55
-
56
- # eslint 校验并修复
57
- $ npm run fix
58
-
59
- # eslint 校验暂存区的文件
60
- $ npm run staged
61
-
62
- # 本地测试模式
63
- $ npm run dev
64
-
65
- # 编译代码
66
- $ npm run build
67
-
68
- # 发布npm包,同时gitlab标签
69
- $ npm run pub
70
-
71
- # 发布npm的beta包,同时gitlab标签
72
- $ npm run pub-beta
73
-
74
- # 删除gitlab及npm包对应版本代码
75
- $ npm run unpub
76
-
77
- # 打开开发文档在浏览器中运行
78
- $ npm run doc
79
-
80
- # 编译开发文档
81
- $ npm run build-doc
82
-
83
- # 上传文档到ftp
84
- $ npm run doc-upload
85
- ```
86
-
87
- ### 文档
88
-
89
- 按照 `tsdoc` 自动生成文档
90
- ### 更新日志
91
-
92
- 每次发正式包时务必更新当前版本的 `changelog`,否则会在 `npm run pub` 这一步被驳回
@@ -22,7 +22,7 @@ var options = {
22
22
  name: 'Electron'
23
23
  };
24
24
  var msiStr = 'AppleMobileDeviceService';
25
- var reddirPath = 'C:/Program Files (x86)/Common Files/Apple/Apple Application Support';
25
+ // const reddirPath = 'C:/Program Files (x86)/Common Files/Apple/Apple Application Support'
26
26
  var cmdStr = process.platform === 'win32' ? 'tasklist' : 'ps aux';
27
27
  var CACHE_PATH = (0, _utils.isDev)() ? path.join(process.cwd(), './cache') : path.join(process.resourcesPath, './cache');
28
28
  var filePath = path.join(CACHE_PATH, './iTunesOL_Lite_64_12.10.0.7.zip');
@@ -31,7 +31,7 @@ var checkProcess = function checkProcess() {
31
31
  return new Promise(function (resolve, reject) {
32
32
  exec(cmdStr, function (err, stdout, stderr) {
33
33
  // console.log('stdout>>>', stdout)
34
- // console.log('stderr>>>', stderr)
34
+ console.log('stderr>>>', stderr);
35
35
  if (err) {
36
36
  return reject(err);
37
37
  }
@@ -50,13 +50,14 @@ var checkProcess = function checkProcess() {
50
50
  });
51
51
  });
52
52
  };
53
- var checkFs = function checkFs(paths) {
54
- return new Promise(function (resolve) {
55
- fs.readdir(paths, function (err) {
56
- resolve(err ? false : true);
57
- });
58
- });
59
- };
53
+ // const checkFs = (paths) => {
54
+ // return new Promise((resolve) => {
55
+ // fs.readdir(paths, function(err) {
56
+ // resolve(err ? false : true)
57
+ // })
58
+ // })
59
+ // }
60
+
60
61
  var checkCache = function checkCache() {
61
62
  return new Promise(function (resolve) {
62
63
  fs.readFile(filePath, function (err) {
@@ -114,7 +115,7 @@ var installDriver = function installDriver() {
114
115
  // 解压文件
115
116
  var uncopressingFile = function uncopressingFile(filePath) {
116
117
  return new Promise(function (resolve) {
117
- compressing.zip.uncompress(filePath, CACHE_PATH).then(function (res) {
118
+ compressing.zip.uncompress(filePath, CACHE_PATH).then(function () {
118
119
  resolve(true);
119
120
  }).catch(function (err) {
120
121
  resolve(false);
@@ -142,28 +143,23 @@ function downloadDriver(mainWindow) {
142
143
  }
143
144
  });
144
145
  // 下载完成
145
- item.on('done', /*#__PURE__*/function () {
146
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(e, start) {
147
- var uncopressing;
148
- return _regenerator.default.wrap(function _callee2$(_context2) {
149
- while (1) switch (_context2.prev = _context2.next) {
150
- case 0:
151
- _context2.next = 2;
152
- return uncopressingFile(filePath);
153
- case 2:
154
- uncopressing = _context2.sent;
155
- if (uncopressing) installDriver();
156
- mainWindow.webContents.send('downloadDriverDone');
157
- case 5:
158
- case "end":
159
- return _context2.stop();
160
- }
161
- }, _callee2);
162
- }));
163
- return function (_x, _x2) {
164
- return _ref2.apply(this, arguments);
165
- };
166
- }());
146
+ item.on('done', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
147
+ var uncopressing;
148
+ return _regenerator.default.wrap(function _callee2$(_context2) {
149
+ while (1) switch (_context2.prev = _context2.next) {
150
+ case 0:
151
+ _context2.next = 2;
152
+ return uncopressingFile(filePath);
153
+ case 2:
154
+ uncopressing = _context2.sent;
155
+ if (uncopressing) installDriver();
156
+ mainWindow.webContents.send('downloadDriverDone');
157
+ case 5:
158
+ case "end":
159
+ return _context2.stop();
160
+ }
161
+ }, _callee2);
162
+ })));
167
163
  item.on('error', function () {
168
164
  console.log('驱动下载失败');
169
165
  });
@@ -10,7 +10,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
10
10
  var _usb = require("usb");
11
11
  var GetAndroidSn = function GetAndroidSn(params, callBack) {
12
12
  _usb.usb.on('attach', /*#__PURE__*/function () {
13
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(device, res) {
13
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(device) {
14
14
  var attachDeviceId, customWebUSB, deviceList, currentDevice;
15
15
  return _regenerator.default.wrap(function _callee$(_context) {
16
16
  while (1) switch (_context.prev = _context.next) {
@@ -52,7 +52,7 @@ var GetAndroidSn = function GetAndroidSn(params, callBack) {
52
52
  }
53
53
  }, _callee);
54
54
  }));
55
- return function (_x, _x2) {
55
+ return function (_x) {
56
56
  return _ref.apply(this, arguments);
57
57
  };
58
58
  }());
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
10
  var _utils = require("../utils/utils");
13
11
  var _utils2 = require("../utils/utils.initDll");
@@ -84,23 +82,48 @@ var DevicePair = /*#__PURE__*/function () {
84
82
  return _ref.apply(this, arguments);
85
83
  };
86
84
  }();
87
- var updateDll = function updateDll(packageUrl) {
85
+
86
+ // 写入dll文件version
87
+ var writeDllVersion = function writeDllVersion(version) {
88
+ var versionPath = path.resolve(__dirname, '../resources/version.online');
89
+ fs.writeFile(versionPath, version, function (err) {
90
+ if (err) return console.log(err);
91
+ console.log('========写入version成功');
92
+ });
93
+ };
94
+
95
+ // 下载更新dll
96
+ var updateDll = function updateDll(packageUrl, version) {
88
97
  // 若需要更新 则下载完成后 覆盖本地dll文件
89
98
  var dllOutPath;
90
99
  if ((0, _utils.isMac)()) {
91
100
  if ((0, _utils.isArm64)()) {
92
- dllOutPath = path.resolve(__dirname, '../resources/mac/arm64.dylib');
93
- }
94
- if ((0, _utils.isAmd64)()) {
95
- dllOutPath = path.resolve(__dirname, '../resources/mac/amd64.dylib');
101
+ dllOutPath = path.resolve(__dirname, "../resources/mac/arm64-".concat(version, ".dylib"));
96
102
  }
97
103
  } else {
98
- dllOutPath = path.resolve(__dirname, "../resources/dll/x64.dll");
104
+ dllOutPath = path.resolve(__dirname, "../resources/dll/x64-".concat(version, ".dll"));
99
105
  }
100
106
  var dllStream = fs.createWriteStream(dllOutPath);
101
- request(packageUrl).pipe(dllStream).on("close", function () {
102
- // 下载完成后 重新初始化dll
103
- (0, _utils2.HunterInspectionKit)();
107
+ request(packageUrl).pipe(dllStream).on("close", function (err) {
108
+ if (err) {
109
+ saasCallBack({
110
+ data: {
111
+ eventName: 'type_update_result',
112
+ eventCode: -1 // eventCode 0 更新成功 -1 更新失败
113
+ }
114
+ });
115
+ } else {
116
+ // 写version文件内容
117
+ writeDllVersion(version);
118
+ // 下载完成后 重新初始化dll
119
+ (0, _utils2.HunterInspectionKit)();
120
+ saasCallBack({
121
+ data: {
122
+ eventName: 'type_update_result',
123
+ eventCode: 0 // eventCode 0 更新成功 -1 更新失败
124
+ }
125
+ });
126
+ }
104
127
  });
105
128
  };
106
129
 
@@ -110,97 +133,103 @@ var updateDll = function updateDll(packageUrl) {
110
133
  * @returns
111
134
  */
112
135
  var updateDllFileCheck = function updateDllFileCheck() {
136
+ // amd不支持更新
137
+ if ((0, _utils.isAmd64)()) return;
113
138
  var updateParams = {
114
139
  cmd: 'hot_update',
115
140
  label: (0, _utils.isWin)() ? 'Windows' : 'Mac',
116
141
  params: {}
117
142
  };
118
143
  var updateRes = window.HunterInspectionKit.TheForceKit(JSON.stringify(updateParams));
119
- console.log('------updateRes', updateRes);
120
144
  if (updateRes) {
121
145
  var updateResObj = JSON.parse(updateRes);
122
146
  var Code = updateResObj.Code,
123
147
  Data = updateResObj.Data;
124
148
  if (Code == 0) {
125
149
  var isHot = Data.isHot,
126
- url = Data.url;
127
- if (isHot == 1) {
128
- // 需要更新 则直接下载
129
- updateDll(url);
130
- } else {}
150
+ url = Data.url,
151
+ version = Data.version;
152
+
153
+ // 需要更新 则直接下载
154
+ isHot == 1 && updateDll(url, version);
155
+ saasCallBack({
156
+ data: {
157
+ eventName: 'type_need_update',
158
+ eventCode: isHot == 1 ? 0 : -1 // eventCode 0 需要更新 -1 不需要更新
159
+ }
160
+ });
161
+ } else {
162
+ // 错误的时候不需要更新
163
+ saasCallBack({
164
+ data: {
165
+ eventName: 'type_need_update',
166
+ eventCode: -1 // eventCode 0 需要更新 -1 不需要更新
167
+ }
168
+ });
131
169
  }
132
170
  }
133
171
  };
134
- var RegisterEvent = /*#__PURE__*/function () {
135
- function RegisterEvent() {
136
- (0, _classCallCheck2.default)(this, RegisterEvent);
137
- }
138
- (0, _createClass2.default)(RegisterEvent, [{
139
- key: "init",
140
- value: function () {
141
- var _init = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(params, callBack) {
142
- return _regenerator.default.wrap(function _callee3$(_context3) {
143
- while (1) switch (_context3.prev = _context3.next) {
144
- case 0:
145
- saasCallBack = callBack;
172
+ var RegisterEvent = function RegisterEvent(params, callBack) {
173
+ saasCallBack = callBack;
146
174
 
147
- // 检查是否需要更新dll
148
- updateDllFileCheck();
149
- new usbmux.createListener().on('attached', /*#__PURE__*/function () {
150
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(udid) {
151
- return _regenerator.default.wrap(function _callee2$(_context2) {
152
- while (1) switch (_context2.prev = _context2.next) {
153
- case 0:
154
- if (udid) {
155
- _context2.next = 2;
156
- break;
157
- }
158
- return _context2.abrupt("return");
159
- case 2:
160
- if ((0, _utils.isWin)()) {
161
- // windows检查驱动 mac不需要
162
- // 检查是否有驱动
163
- (0, _winDriver.checkHasDriver)().then(function (res) {
164
- if (res) {
165
- // 有驱动,直接运行脚本
166
- DevicePair(udid, params);
167
- } else {
168
- (0, _winDriver.downloadDriver)();
169
- }
170
- });
171
- } else {
172
- // 有驱动,直接运行脚本
173
- DevicePair(udid, params);
174
- }
175
- case 3:
176
- case "end":
177
- return _context2.stop();
178
- }
179
- }, _callee2);
180
- }));
181
- return function (_x3) {
182
- return _ref2.apply(this, arguments);
183
- };
184
- }()).on('detached', function (udid) {
185
- console.log('--------udid', udid);
186
- // clearInterval(pairTimer)
187
- }).on('error', function (err) {
188
- console.log('usb连接错误:', err);
189
- var errMsg = "usb\u8FDE\u63A5\u9519\u8BEF\uFF1A".concat(err);
190
- throw new Error(errMsg);
175
+ // 检查是否需要更新dll
176
+ updateDllFileCheck();
177
+ new usbmux.createListener().on('attached', /*#__PURE__*/function () {
178
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(udid) {
179
+ return _regenerator.default.wrap(function _callee2$(_context2) {
180
+ while (1) switch (_context2.prev = _context2.next) {
181
+ case 0:
182
+ if (udid) {
183
+ _context2.next = 2;
184
+ break;
185
+ }
186
+ return _context2.abrupt("return");
187
+ case 2:
188
+ // 插入设备
189
+ saasCallBack({
190
+ data: {
191
+ eventName: 'type_usb_device_result',
192
+ udid: udid,
193
+ eventCode: 0
194
+ }
195
+ });
196
+ if ((0, _utils.isWin)()) {
197
+ // windows检查驱动 mac不需要
198
+ // 检查是否有驱动
199
+ (0, _winDriver.checkHasDriver)().then(function (res) {
200
+ if (res) {
201
+ // 有驱动,直接运行脚本
202
+ DevicePair(udid, params);
203
+ } else {
204
+ (0, _winDriver.downloadDriver)();
205
+ }
191
206
  });
192
- case 3:
193
- case "end":
194
- return _context3.stop();
195
- }
196
- }, _callee3);
197
- }));
198
- function init(_x, _x2) {
199
- return _init.apply(this, arguments);
207
+ } else {
208
+ // 有驱动,直接运行脚本
209
+ DevicePair(udid, params);
210
+ }
211
+ case 4:
212
+ case "end":
213
+ return _context2.stop();
214
+ }
215
+ }, _callee2);
216
+ }));
217
+ return function (_x) {
218
+ return _ref2.apply(this, arguments);
219
+ };
220
+ }()).on('detached', function (udid) {
221
+ // 拔出设备
222
+ saasCallBack({
223
+ data: {
224
+ eventName: 'type_usb_device_result',
225
+ udid: udid,
226
+ eventCode: -1
200
227
  }
201
- return init;
202
- }()
203
- }]);
204
- return RegisterEvent;
205
- }();
228
+ });
229
+ }).on('error', function (err) {
230
+ console.log('usb连接错误:', err);
231
+ var errMsg = "usb\u8FDE\u63A5\u9519\u8BEF\uFF1A".concat(err);
232
+ throw new Error(errMsg);
233
+ });
234
+ };
206
235
  var _default = exports.default = RegisterEvent;
@@ -0,0 +1 @@
1
+ 0.0.3
@@ -7,6 +7,7 @@ exports.HunterInspectionKit = void 0;
7
7
  var _utils = require("./utils");
8
8
  var ffi = require('ffi-napi');
9
9
  var path = require('path');
10
+ var fs = require('fs');
10
11
 
11
12
  /**
12
13
  * 声明dll函数
@@ -16,15 +17,19 @@ var path = require('path');
16
17
 
17
18
  var HunterInspectionKit = exports.HunterInspectionKit = function HunterInspectionKit() {
18
19
  var dllPath;
20
+
21
+ // 读取本地sdk的version
22
+ var versionPath = path.resolve(__dirname, '../resources/version.online');
23
+ var version = fs.readFileSync(versionPath, 'utf-8');
19
24
  if ((0, _utils.isMac)()) {
20
25
  if ((0, _utils.isArm64)()) {
21
- dllPath = path.resolve(__dirname, '../resources/mac/arm64.dylib');
26
+ dllPath = path.resolve(__dirname, "../resources/mac/arm64-".concat(version, ".dylib"));
22
27
  }
23
28
  if ((0, _utils.isAmd64)()) {
24
- dllPath = path.resolve(__dirname, '../resources/mac/amd64.dylib');
29
+ dllPath = path.resolve(__dirname, "../resources/mac/amd64-".concat(version, ".dylib"));
25
30
  }
26
31
  } else {
27
- dllPath = path.resolve(__dirname, '../resources/dll/x64.dll');
32
+ dllPath = path.resolve(__dirname, "../resources/dll/x64-".concat(version, ".dll"));
28
33
  }
29
34
  if (!(0, _utils.isDev)()) {
30
35
  // 如果是生产模式 则替换app.asar 路径 为了在生产调用dll
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hunter-open-sdk",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "采货侠SaaS版本桌面端sdk",
5
5
  "scripts": {
6
6
  "start": "zz dev",
File without changes