@zeppos/zeus-cli 1.0.8 → 1.0.10

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/bin/cli.js CHANGED
@@ -19,6 +19,7 @@ yargs_1["default"].usage('Usage: $0 <command> [args?]')
19
19
  .alias('v', 'version')
20
20
  .command('init', 'init a new project in current directory', proxy, index_1.create)
21
21
  .command('create', 'add a new project to current directory', proxy, index_1.create)
22
+ // @ts-ignore
22
23
  .command('login', 'login to your account', proxy, index_1.login)
23
24
  .command('dev', 'run this project in development mode', proxy, index_1.run)
24
25
  .command('preview', 'preview this project in your device', proxy, index_1.buildPreview)
package/config/project.js CHANGED
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  exports.__esModule = true;
3
- exports.TemplateCopyType = exports.AppSourceType = exports.AppType = void 0;
6
+ exports.loginStorageKey = exports.loginConfig = exports.LocalServerConfig = exports.TemplateCopyType = exports.AppSourceType = exports.AppType = void 0;
7
+ var lodash_1 = __importDefault(require("lodash"));
4
8
  var AppType;
5
9
  (function (AppType) {
6
10
  AppType["APP"] = "app";
@@ -16,3 +20,21 @@ var TemplateCopyType;
16
20
  TemplateCopyType["CLONE"] = "clone";
17
21
  TemplateCopyType["EDIT"] = "edit";
18
22
  })(TemplateCopyType = exports.TemplateCopyType || (exports.TemplateCopyType = {}));
23
+ var LocalServerConfig;
24
+ (function (LocalServerConfig) {
25
+ LocalServerConfig["HOSTNAME"] = "localhost";
26
+ LocalServerConfig[LocalServerConfig["PORT"] = 8086] = "PORT";
27
+ })(LocalServerConfig = exports.LocalServerConfig || (exports.LocalServerConfig = {}));
28
+ var loginURL = 'https://user.huami.com/universalLogin/index.html#/login';
29
+ var loginUrl = new URL(loginURL);
30
+ var accountPrefix = "____" + lodash_1["default"].replace(loginUrl.host, /\./g, '_') + "__";
31
+ exports.loginConfig = {
32
+ LOGIN_URL: loginURL,
33
+ PROJECT_NAME: 'zeppos_zeus_cli',
34
+ PLATFORM_APP: 'com.huami.watch.hmwatchmanager',
35
+ PROJECT_REDIRECT_URI: encodeURIComponent("http://" + LocalServerConfig.HOSTNAME + ":" + LocalServerConfig.PORT + "/")
36
+ };
37
+ exports.loginStorageKey = {
38
+ accountToken: accountPrefix + "token",
39
+ account: accountPrefix + "account"
40
+ };
package/modules/build.js CHANGED
@@ -84,6 +84,7 @@ var qrcode_terminal_1 = __importDefault(require("qrcode-terminal"));
84
84
  var inquirer_1 = __importDefault(require("inquirer"));
85
85
  var login_1 = require("./login");
86
86
  var logger = __importStar(require("../utils/logger"));
87
+ var storage_1 = require("./storage");
87
88
  var STUDIO_URL = 'https://studio.huami.com';
88
89
  var BuildMode;
89
90
  (function (BuildMode) {
@@ -173,10 +174,12 @@ var buildProd = function (packages) {
173
174
  };
174
175
  exports.buildProd = buildProd;
175
176
  var buildPreview = function (args) { return __awaiter(void 0, void 0, void 0, function () {
176
- var userToken, form, buildInfo;
177
+ var storage, userToken, form, buildInfo;
177
178
  return __generator(this, function (_a) {
178
179
  switch (_a.label) {
179
- case 0: return [4 /*yield*/, (0, login_1.login)(args)];
180
+ case 0:
181
+ storage = new storage_1.Storage({ cmd: lodash_1["default"].get(args, '$0') });
182
+ return [4 /*yield*/, (0, login_1.login)(args)];
180
183
  case 1:
181
184
  userToken = _a.sent();
182
185
  form = new form_data_1["default"]();
package/modules/login.js CHANGED
@@ -60,12 +60,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
60
60
  exports.__esModule = true;
61
61
  exports.login = void 0;
62
62
  var qs_1 = __importDefault(require("qs"));
63
- var url_1 = require("url");
64
63
  var lodash_1 = __importDefault(require("lodash"));
65
64
  var axios_1 = __importDefault(require("axios"));
66
65
  var inquirer_1 = __importDefault(require("inquirer"));
67
66
  var storage_1 = require("./storage");
68
67
  var logger = __importStar(require("../utils/logger"));
68
+ var project_1 = require("../config/project");
69
+ var open = require('open');
70
+ var http = require('http');
71
+ var url = require('url');
72
+ var querystring = require('querystring');
69
73
  var REGIST_URL = 'https://api-user.huami.com';
70
74
  var LOGIN_URL = 'https://account.huami.com';
71
75
  var postForm = function (url, data) {
@@ -118,23 +122,22 @@ var loginByLocal = function (account, password) { return __awaiter(void 0, void
118
122
  });
119
123
  }); };
120
124
  var login = function (args) { return __awaiter(void 0, void 0, void 0, function () {
121
- var loginUrl, storage, accountPrefix, accountTokenKey, accountKey, accountInfo, historyToken, answer, loginInfo, token;
125
+ var storage, accountInfo, historyToken, isLocal, answer, loginInfo, token_1, token;
122
126
  return __generator(this, function (_a) {
123
127
  switch (_a.label) {
124
128
  case 0:
125
- loginUrl = new url_1.URL(LOGIN_URL);
126
129
  storage = new storage_1.Storage({ cmd: lodash_1["default"].get(args, '$0') });
127
- accountPrefix = "____" + lodash_1["default"].replace(loginUrl.host, /\./g, '_') + "__";
128
- accountTokenKey = accountPrefix + "token";
129
- accountKey = accountPrefix + "account";
130
- accountInfo = storage.get(accountKey);
130
+ accountInfo = storage.get(project_1.loginStorageKey.account);
131
131
  if (!lodash_1["default"].get(args, 'relogin')) {
132
- historyToken = storage.get(accountTokenKey);
132
+ historyToken = storage.get(project_1.loginStorageKey.accountToken);
133
133
  if (historyToken) {
134
- logger.success("have logged in with account: " + accountInfo);
134
+ // logger.success(`have logged in with account: ${accountInfo}`)
135
+ logger.success("Has logged");
135
136
  return [2 /*return*/, historyToken];
136
137
  }
137
138
  }
139
+ isLocal = false;
140
+ if (!isLocal) return [3 /*break*/, 3];
138
141
  return [4 /*yield*/, inquirer_1["default"].prompt([
139
142
  {
140
143
  name: 'account',
@@ -157,12 +160,45 @@ var login = function (args) { return __awaiter(void 0, void 0, void 0, function
157
160
  })];
158
161
  case 2:
159
162
  loginInfo = _a.sent();
160
- token = lodash_1["default"].get(loginInfo, 'token_info.app_token');
161
- if (token) {
163
+ token_1 = lodash_1["default"].get(loginInfo, 'token_info.app_token');
164
+ if (token_1) {
162
165
  logger.success("logged in with account: " + answer.account);
163
- storage.set(accountKey, answer.account);
164
- storage.set(accountTokenKey, token);
166
+ storage.set(project_1.loginStorageKey.account, answer.account);
167
+ storage.set(project_1.loginStorageKey.accountToken, token_1);
165
168
  }
169
+ _a.label = 3;
170
+ case 3: return [4 /*yield*/, new Promise(function (resolve) { return __awaiter(void 0, void 0, void 0, function () {
171
+ var server;
172
+ return __generator(this, function (_a) {
173
+ switch (_a.label) {
174
+ case 0:
175
+ server = http.createServer(function (req, res) {
176
+ var arg = url.parse(req.url).query;
177
+ var params = querystring.parse(arg);
178
+ var appToken = params['apptoken'];
179
+ res.statusCode = 200;
180
+ res.setHeader('Content-Type', 'text/plain');
181
+ res.end('Login is successful, please return to the operation interface manually');
182
+ if (appToken) {
183
+ resolve(appToken);
184
+ storage.set(project_1.loginStorageKey.accountToken, appToken);
185
+ logger.success('logger success');
186
+ server.close();
187
+ process.exit(1);
188
+ }
189
+ });
190
+ server.listen(project_1.LocalServerConfig.PORT, project_1.LocalServerConfig.HOSTNAME);
191
+ // 打开浏览器的登录页面
192
+ return [4 /*yield*/, open(project_1.loginConfig.LOGIN_URL + "?project_name=" + project_1.loginConfig.PROJECT_NAME + "&platform_app=" + project_1.loginConfig.PLATFORM_APP + "&project_redirect_uri=" + project_1.loginConfig.PROJECT_REDIRECT_URI)];
193
+ case 1:
194
+ // 打开浏览器的登录页面
195
+ _a.sent();
196
+ return [2 /*return*/];
197
+ }
198
+ });
199
+ }); })];
200
+ case 4:
201
+ token = _a.sent();
166
202
  return [2 /*return*/, token];
167
203
  }
168
204
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeppos/zeus-cli",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "description": "zeus mini-program tools",
5
5
  "main": "index.js",
6
6
  "author": "zepp",
@@ -49,6 +49,7 @@
49
49
  "inquirer": "^8.1.2",
50
50
  "lodash": "^4.17.21",
51
51
  "npm-keyword": "^6.1.0",
52
+ "open": "^8.4.0",
52
53
  "qrcode-terminal": "^0.12.0",
53
54
  "qs": "^6.10.1",
54
55
  "rd": "^2.0.1",
@@ -0,0 +1,3 @@
1
+
2
+ msgid "appName"
3
+ msgstr "HelloWorld"
@@ -1,2 +0,0 @@
1
- msgid "appName"
2
- msgstr "HelloWorld"