@lovrabet/cli 1.1.7 → 1.1.8

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.
Files changed (45) hide show
  1. package/LICENSE +45 -0
  2. package/README.md +85 -4
  3. package/lib/add-page/input-page-router.js +1 -1
  4. package/lib/add-page/main.js +1 -1
  5. package/lib/add-page/select-page-template.js +1 -1
  6. package/lib/api/api-pull-ui.js +1 -1
  7. package/lib/api/format-dataset.js +1 -1
  8. package/lib/api/generate-api-file.js +1 -1
  9. package/lib/api/main.js +1 -1
  10. package/lib/api/pull-silent.js +1 -1
  11. package/lib/api/pull.js +1 -1
  12. package/lib/auth/auth-server-ui.js +1 -1
  13. package/lib/auth/auth-server.js +1 -1
  14. package/lib/auth/constant.js +1 -1
  15. package/lib/auth/get-cookie.js +1 -1
  16. package/lib/auth/is-session-valid.js +1 -1
  17. package/lib/auth/logout.js +1 -1
  18. package/lib/cli.js +1 -1
  19. package/lib/cmd/build-watch.js +1 -1
  20. package/lib/cmd/build.js +1 -1
  21. package/lib/cmd/logs.js +1 -1
  22. package/lib/cmd/preview.js +1 -1
  23. package/lib/cmd/start.js +1 -1
  24. package/lib/config/config-help.js +1 -1
  25. package/lib/config/main.js +1 -1
  26. package/lib/constant/domain.js +1 -1
  27. package/lib/constant/env.js +1 -1
  28. package/lib/create-app/enhanced-guided-create.js +1 -1
  29. package/lib/create-app/format-elapsed.js +1 -1
  30. package/lib/create-app/main.js +1 -1
  31. package/lib/create-app/task-finished.js +1 -1
  32. package/lib/create-app/task-loading.js +1 -1
  33. package/lib/create-app/task-running.js +1 -1
  34. package/lib/create-app/task-time.js +1 -1
  35. package/lib/create-app/use-copy-project-template.js +1 -1
  36. package/lib/create-app/use-format-code.js +1 -1
  37. package/lib/create-app/use-install-dependencies.js +1 -1
  38. package/lib/help.js +1 -1
  39. package/lib/utils/config.js +1 -1
  40. package/lib/utils/copy-directory.js +1 -1
  41. package/lib/utils/http-client.js +1 -1
  42. package/lib/utils/logger.js +1 -1
  43. package/lib/utils/router-updater.js +1 -1
  44. package/lib/utils/template-replacer.js +1 -1
  45. package/package.json +2 -2
package/LICENSE ADDED
@@ -0,0 +1,45 @@
1
+ # Lovrabet CLI 软件许可协议
2
+
3
+ 版权所有 (c) 2024-2025 Lovrabet
4
+
5
+ ## 许可范围
6
+
7
+ 本软件("Lovrabet CLI")是专有软件,由 Lovrabet 开发和维护。
8
+
9
+ ### 允许的使用
10
+
11
+ 您被授予有限的、非独占的、不可转让的许可,可以:
12
+
13
+ 1. **安装和使用** - 通过 npm 安装并在您的开发环境中使用本软件
14
+ 2. **个人和商业用途** - 在个人项目或商业项目中使用本软件
15
+ 3. **生成内容** - 使用本软件生成的代码和项目文件归您所有
16
+
17
+ ### 限制条款
18
+
19
+ 您**不得**:
20
+
21
+ 1. ❌ **修改源代码** - 不得修改、反编译、逆向工程或反汇编本软件
22
+ 2. ❌ **再分发** - 不得复制、分发、出售或转让本软件
23
+ 3. ❌ **创建衍生作品** - 不得基于本软件创建衍生产品或竞争产品
24
+ 4. ❌ **移除版权声明** - 不得移除或修改任何版权声明或商标
25
+ 5. ❌ **公开源代码** - 本软件为闭源软件,源代码不公开
26
+
27
+ ## 免责声明
28
+
29
+ 本软件按"原样"提供,不提供任何明示或暗示的保证,包括但不限于对适销性、特定用途适用性和非侵权性的保证。
30
+
31
+ 在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权行为还是其他方面。
32
+
33
+ ## 终止
34
+
35
+ 如果您违反本许可协议的任何条款,您使用本软件的权利将自动终止。
36
+
37
+ ## 联系方式
38
+
39
+ 如有疑问或需要商业授权,请联系:
40
+ - 网站:https://www.lovrabet.com
41
+ - 邮箱:support@lovrabet.com
42
+
43
+ ---
44
+
45
+ **本软件受著作权法和国际条约保护。未经授权的复制或分发可能导致严重的民事和刑事处罚。**
package/README.md CHANGED
@@ -65,7 +65,7 @@ lovrabet start
65
65
  如果在create的时候未选择自动更新API列表,或者API已经发生变化,可以手动根据应用的appcode自动生成 API 配置:
66
66
 
67
67
  ```bash
68
- lovrabet api pull [app-code]
68
+ lovrabet api pull --appcode <app-code>
69
69
  ```
70
70
 
71
71
  ### 5. 添加页面
@@ -126,13 +126,14 @@ lovrabet add page
126
126
 
127
127
  ### API 集成
128
128
 
129
- #### `lovrabet api pull [app-code]`
129
+ #### `lovrabet api pull`
130
130
 
131
131
  拉取并生成 API 配置文件
132
132
 
133
133
  - **自动发现**: 扫描应用数据集和接口
134
134
  - **类型生成**: 自动生成 TypeScript 类型定义
135
135
  - **配置生成**: 生成 SDK 配置文件
136
+ - **可用参数**: `--appcode`、`--output`、`--env`(v1.1.7+)
136
137
 
137
138
  ### 身份认证
138
139
 
@@ -227,7 +228,7 @@ module.exports = {
227
228
  ```bash
228
229
  lovrabet create prototype-app
229
230
  cd prototype-app
230
- lovrabet api pull your-app-code
231
+ lovrabet api pull --appcode your-app-code
231
232
  lovrabet start
232
233
  ```
233
234
 
@@ -266,7 +267,7 @@ lovrabet auth
266
267
  A: 检查应用代码是否正确,确认您有该应用的访问权限:
267
268
 
268
269
  ```bash
269
- lovrabet api pull correct-app-code
270
+ lovrabet api pull --appcode correct-app-code
270
271
  ```
271
272
 
272
273
  **Q: 构建错误?**
@@ -293,10 +294,90 @@ lovrabet logs
293
294
  lovrabet logs --clear
294
295
  ```
295
296
 
297
+ ## 📝 What's New
298
+
299
+ ### v1.1.7 (2025-10-10)
300
+
301
+ **重大变更 (Breaking Changes):**
302
+
303
+ - 🔴 **`lovrabet api pull` 命令参数调整**
304
+ - ❌ **不再支持**位置参数方式(如 `lovrabet api pull my-app-code`)
305
+ - ✅ **改用** `--appcode` 参数(如 `lovrabet api pull --appcode my-app-code`)
306
+ - 迁移指南:将 `lovrabet api pull <app-code>` 改为 `lovrabet api pull --appcode <app-code>`
307
+
308
+ **新增功能 (New Features):**
309
+
310
+ - ✨ **新增 `--output` 参数** - 支持自定义 API 文件输出目录
311
+ ```bash
312
+ lovrabet api pull --output ./lib/api
313
+ ```
314
+ - ✨ **新增 `--env` 参数** - 支持指定环境拉取 API(内部使用)
315
+ ```bash
316
+ lovrabet api pull --env <env>
317
+ ```
318
+
319
+ **改进 (Improvements):**
320
+
321
+ - 📚 优化命令行帮助信息,参数说明更加清晰
322
+ - 🔧 统一命令行参数风格,所有参数均使用 `--` 前缀
323
+ - 📖 更新文档,添加版本标识和迁移说明
324
+
325
+ **使用示例:**
326
+
327
+ ```bash
328
+ # ✅ 推荐用法
329
+ lovrabet api pull # 使用配置的 appcode
330
+ lovrabet api pull --appcode my-app # 指定 appcode
331
+ lovrabet api pull --output ./lib/api # 自定义输出目录
332
+ lovrabet api pull --appcode my-app --output ./api # 组合使用
333
+
334
+ # ❌ 不再支持
335
+ lovrabet api pull my-app # 位置参数方式已废弃
336
+ ```
337
+
338
+ ---
339
+
340
+ ### v1.1.6 (2025-09-30)
341
+
342
+ **改进 (Improvements):**
343
+
344
+ - 📦 **升级模板 SDK** - 项目模板中的 SDK 升级到最新版本,支持更多特性
345
+
346
+ ---
347
+
348
+ ### v1.1.4 (2025-09-27)
349
+
350
+ **重大变更 (Breaking Changes):**
351
+
352
+ - 🔴 **统一模型配置字段命名** - 重构模型配置字段命名规范(可能影响现有配置)
353
+ - 请查阅文档更新配置文件中的字段名称
354
+
355
+ ---
356
+
296
357
  ## 📖 更多资源
297
358
 
298
359
  - [Lovrabet SDK 使用指南](https://www.npmjs.com/package/@lovrabet/sdk)
299
360
  - [示例项目](https://github.com/lovrabet-ai/sub-app-react-demo)
361
+ - [完整文档](https://docs.lovrabet.com)
362
+
363
+ ---
364
+
365
+ ## 🤝 反馈
366
+
367
+ 如遇到问题或有功能建议,欢迎提交 Issue!
368
+
369
+ ## 📄 许可证
370
+
371
+ **专有软件(Proprietary)** - 详见 [LICENSE](./LICENSE) 文件
372
+
373
+ 本软件为 Lovrabet 开放平台的专有工具:
374
+ - ✅ **允许使用** - 可以安装和使用本工具开发 Lovrabet 应用
375
+ - ✅ **生成内容归您** - 使用本工具生成的代码和项目归您所有
376
+ - ❌ **不得修改** - 不得修改、反编译或逆向工程
377
+ - ❌ **不得再分发** - 不得复制或分发本软件
378
+ - ❌ **源代码不公开** - 本软件为闭源软件
379
+
380
+ 如需商业授权或有疑问,请访问 [lovrabet.com](https://www.lovrabet.com)
300
381
 
301
382
  ---
302
383
 
@@ -1 +1 @@
1
- function a0_0x5b4f(_0x59a3bc,_0x5630b0){const _0x389584=a0_0x3895();return a0_0x5b4f=function(_0x5b4fa8,_0x34b1aa){_0x5b4fa8=_0x5b4fa8-0x196;let _0x1f57fc=_0x389584[_0x5b4fa8];return _0x1f57fc;},a0_0x5b4f(_0x59a3bc,_0x5630b0);}(function(_0x2ef32b,_0x59feaa){const _0x2e66bd=a0_0x5b4f,_0x154d48=_0x2ef32b();while(!![]){try{const _0x13a684=parseInt(_0x2e66bd(0x1b4))/0x1*(-parseInt(_0x2e66bd(0x1aa))/0x2)+-parseInt(_0x2e66bd(0x1a9))/0x3+parseInt(_0x2e66bd(0x1b3))/0x4*(parseInt(_0x2e66bd(0x1a0))/0x5)+parseInt(_0x2e66bd(0x19b))/0x6*(parseInt(_0x2e66bd(0x1a6))/0x7)+-parseInt(_0x2e66bd(0x197))/0x8+-parseInt(_0x2e66bd(0x1b6))/0x9*(-parseInt(_0x2e66bd(0x199))/0xa)+parseInt(_0x2e66bd(0x19d))/0xb*(parseInt(_0x2e66bd(0x1af))/0xc);if(_0x13a684===_0x59feaa)break;else _0x154d48['push'](_0x154d48['shift']());}catch(_0x3d1ef4){_0x154d48['push'](_0x154d48['shift']());}}}(a0_0x3895,0xda540));import{jsx as a0_0xc39c85,jsxs as a0_0xa8d649}from'react/jsx-runtime';import{useState}from'react';import{Text,Box,useInput}from'ink';import a0_0xf4b223 from'node:fs';function a0_0x3895(){const _0x4a92d4=['3506cyHRYB','endsWith','slice','startsWith','column','2057520jykCSJ','页面路由地址:\x20','backspace','\x20直接回车确认,或输入自定义路由地址','40tywmtN','593owOSjC','return','6419862DtkzrL','路径不能包含连续的\x20/','gray','5009248GsQxlZ','\x20←\x20','20ZWVLJn','\x20Step2:\x20','782658fznaVU','test','121IiJoOx','\x20已存在,请使用其他路径','includes','37775xVuoIY','路径中的每个段只能以字母或数字开头,且只包含字母、数字、-\x20和\x20_','delete','页面路径长度不能超过\x20100\x20个字符','red','my-page','28azXCmH','页面路径\x20','existsSync','4050183eNBTmx'];a0_0x3895=function(){return _0x4a92d4;};return a0_0x3895();}export function InputProjectCode(_0x28d9d7){const _0x33e5dc=a0_0x5b4f,{onSubmit:_0x3e1b57,pagePath:_0x3421ba}=_0x28d9d7,[_0x1ea7f5,_0x4d3f31]=useState(''),[_0x7747c4,_0x145ed7]=useState(''),_0x4564c3=_0x33e5dc(0x1a5);function _0x9de74a(_0x1371f0){const _0x22f92f=_0x33e5dc;if(_0x1371f0['length']>0x64)return{'valid':![],'message':_0x22f92f(0x1a3)};if(_0x1371f0[_0x22f92f(0x1ad)]('/')||_0x1371f0[_0x22f92f(0x1ab)]('/'))return{'valid':![],'message':'路径不能以\x20/\x20开头或结尾'};if(_0x1371f0[_0x22f92f(0x19f)]('//'))return{'valid':![],'message':_0x22f92f(0x1b7)};const _0x586999=_0x1371f0['split']('/');for(const _0x356fa6 of _0x586999){if(!_0x356fa6)continue;const _0xeea8d7=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(!_0xeea8d7[_0x22f92f(0x19c)](_0x356fa6))return{'valid':![],'message':_0x22f92f(0x1a1)};}return{'valid':!![]};}return useInput((_0x58dce1,_0x36ca1d)=>{const _0xc156a2=_0x33e5dc;if(_0x36ca1d[_0xc156a2(0x1b5)]){const _0x551934=_0x1ea7f5['trim']()||_0x4564c3;if(_0x7747c4)return;const _0x1b44c2=_0x3421ba+'/'+_0x551934;if(a0_0xf4b223[_0xc156a2(0x1a8)](_0x1b44c2)){_0x145ed7(_0xc156a2(0x1a7)+_0x551934+_0xc156a2(0x19e));return;}_0x3e1b57(_0x551934),_0x4d3f31(''),_0x145ed7('');}else _0x36ca1d[_0xc156a2(0x1b1)]||_0x36ca1d[_0xc156a2(0x1a2)]?_0x4d3f31(_0x443728=>{const _0x18fc77=_0xc156a2,_0x4671ce=_0x443728[_0x18fc77(0x1ac)](0x0,-0x1),{valid:_0x1b65d3,message:_0x4dc77c}=_0x9de74a(_0x4671ce);return _0x145ed7(_0x1b65d3?'':_0x4dc77c||'页面路径不合法'),_0x4671ce;}):_0x4d3f31(_0x31525f=>{const _0x4e2977=_0x31525f+_0x58dce1,{valid:_0x33fe14,message:_0x534871}=_0x9de74a(_0x4e2977);return _0x145ed7(_0x33fe14?'':_0x534871||'页面路径不合法'),_0x4e2977;});}),a0_0xa8d649(Box,{'flexDirection':_0x33e5dc(0x1ae),'children':[a0_0xa8d649(Box,{'children':[a0_0xc39c85(Text,{'color':_0x33e5dc(0x196),'children':_0x33e5dc(0x19a)}),a0_0xc39c85(Text,{'children':_0x33e5dc(0x1b0)}),_0x1ea7f5?a0_0xc39c85(Text,{'color':'green','children':_0x1ea7f5}):a0_0xc39c85(Text,{'color':_0x33e5dc(0x196),'children':_0x4564c3}),_0x7747c4&&a0_0xa8d649(Text,{'color':_0x33e5dc(0x1a4),'children':[_0x33e5dc(0x198),_0x7747c4]})]}),!_0x7747c4&&!_0x1ea7f5&&a0_0xc39c85(Box,{'children':a0_0xc39c85(Text,{'color':_0x33e5dc(0x196),'children':_0x33e5dc(0x1b2)})})]});}
1
+ (function(_0x2d9927,_0x922dcb){const _0x32993c=a0_0x3522,_0x2836ef=_0x2d9927();while(!![]){try{const _0x401f41=-parseInt(_0x32993c(0x9d))/0x1+parseInt(_0x32993c(0xa9))/0x2+parseInt(_0x32993c(0xa8))/0x3+-parseInt(_0x32993c(0x9b))/0x4+parseInt(_0x32993c(0xa7))/0x5+-parseInt(_0x32993c(0xaa))/0x6+-parseInt(_0x32993c(0x9e))/0x7*(-parseInt(_0x32993c(0xa6))/0x8);if(_0x401f41===_0x922dcb)break;else _0x2836ef['push'](_0x2836ef['shift']());}catch(_0x2d88f7){_0x2836ef['push'](_0x2836ef['shift']());}}}(a0_0x29c3,0x2bcac));import{jsx as a0_0x82848e,jsxs as a0_0x50db1b}from'react/jsx-runtime';import{useState}from'react';import{Text,Box,useInput}from'ink';import a0_0x44b443 from'node:fs';function a0_0x3522(_0x341bfb,_0x182aab){const _0x29c32f=a0_0x29c3();return a0_0x3522=function(_0x352285,_0x4193c6){_0x352285=_0x352285-0x94;let _0x507d4f=_0x29c32f[_0x352285];return _0x507d4f;},a0_0x3522(_0x341bfb,_0x182aab);}export function InputProjectCode(_0x3bebfb){const _0x3ae20a=a0_0x3522,{onSubmit:_0x126f22,pagePath:_0x4a6a21}=_0x3bebfb,[_0x23ae17,_0x5b3e25]=useState(''),[_0x2c54b6,_0x4ae6cc]=useState(''),_0x23997c='my-page';function _0x93f8b8(_0x4d4088){const _0x7bb17f=a0_0x3522;if(_0x4d4088['length']>0x64)return{'valid':![],'message':_0x7bb17f(0xa5)};if(_0x4d4088[_0x7bb17f(0xab)]('/')||_0x4d4088[_0x7bb17f(0xa4)]('/'))return{'valid':![],'message':_0x7bb17f(0xac)};if(_0x4d4088[_0x7bb17f(0xa3)]('//'))return{'valid':![],'message':_0x7bb17f(0x9a)};const _0x1c2bd2=_0x4d4088[_0x7bb17f(0xa2)]('/');for(const _0x3ce1f3 of _0x1c2bd2){if(!_0x3ce1f3)continue;const _0x5c0602=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(!_0x5c0602[_0x7bb17f(0x99)](_0x3ce1f3))return{'valid':![],'message':'路径中的每个段只能以字母或数字开头,且只包含字母、数字、-\x20和\x20_'};}return{'valid':!![]};}return useInput((_0x342a8d,_0x518331)=>{const _0x1cd92e=a0_0x3522;if(_0x518331['return']){const _0x5a5cdc=_0x23ae17[_0x1cd92e(0xa0)]()||_0x23997c;if(_0x2c54b6)return;const _0xabdbf0=_0x4a6a21+'/'+_0x5a5cdc;if(a0_0x44b443[_0x1cd92e(0xaf)](_0xabdbf0)){_0x4ae6cc('页面路径\x20'+_0x5a5cdc+_0x1cd92e(0xae));return;}_0x126f22(_0x5a5cdc),_0x5b3e25(''),_0x4ae6cc('');}else _0x518331[_0x1cd92e(0x98)]||_0x518331[_0x1cd92e(0x94)]?_0x5b3e25(_0x2702ce=>{const _0xb7371d=_0x1cd92e,_0xdcaacc=_0x2702ce[_0xb7371d(0xad)](0x0,-0x1),{valid:_0x755181,message:_0x28c686}=_0x93f8b8(_0xdcaacc);return _0x4ae6cc(_0x755181?'':_0x28c686||_0xb7371d(0x97)),_0xdcaacc;}):_0x5b3e25(_0x72268c=>{const _0x134470=_0x72268c+_0x342a8d,{valid:_0x275619,message:_0xa0d330}=_0x93f8b8(_0x134470);return _0x4ae6cc(_0x275619?'':_0xa0d330||'页面路径不合法'),_0x134470;});}),a0_0x50db1b(Box,{'flexDirection':_0x3ae20a(0x96),'children':[a0_0x50db1b(Box,{'children':[a0_0x82848e(Text,{'color':_0x3ae20a(0x9f),'children':_0x3ae20a(0xa1)}),a0_0x82848e(Text,{'children':'页面路由地址:\x20'}),_0x23ae17?a0_0x82848e(Text,{'color':'green','children':_0x23ae17}):a0_0x82848e(Text,{'color':_0x3ae20a(0x9f),'children':_0x23997c}),_0x2c54b6&&a0_0x50db1b(Text,{'color':_0x3ae20a(0x95),'children':[_0x3ae20a(0x9c),_0x2c54b6]})]}),!_0x2c54b6&&!_0x23ae17&&a0_0x82848e(Box,{'children':a0_0x82848e(Text,{'color':'gray','children':'\x20直接回车确认,或输入自定义路由地址'})})]});}function a0_0x29c3(){const _0x3bf32c=['existsSync','delete','red','column','页面路径不合法','backspace','test','路径不能包含连续的\x20/','2468mwLQDK','\x20←\x20','278683KXSCDl','2396359sMefXZ','gray','trim','\x20Step2:\x20','split','includes','endsWith','页面路径长度不能超过\x20100\x20个字符','8wIFokk','87520HhVupi','71184iCaaBe','707482oPhJxR','1671828ZkfVXN','startsWith','路径不能以\x20/\x20开头或结尾','slice','\x20已存在,请使用其他路径'];a0_0x29c3=function(){return _0x3bf32c;};return a0_0x29c3();}
@@ -1 +1 @@
1
- const a1_0x40d0ae=a1_0x4253;(function(_0x39dbac,_0x601f20){const _0x431cfc=a1_0x4253,_0x1effb2=_0x39dbac();while(!![]){try{const _0x5e304f=-parseInt(_0x431cfc(0x192))/0x1+parseInt(_0x431cfc(0x1b4))/0x2+-parseInt(_0x431cfc(0x1ab))/0x3*(-parseInt(_0x431cfc(0x18d))/0x4)+parseInt(_0x431cfc(0x1b1))/0x5*(parseInt(_0x431cfc(0x1ad))/0x6)+-parseInt(_0x431cfc(0x1a6))/0x7*(-parseInt(_0x431cfc(0x19a))/0x8)+parseInt(_0x431cfc(0x1aa))/0x9*(parseInt(_0x431cfc(0x197))/0xa)+parseInt(_0x431cfc(0x19e))/0xb*(-parseInt(_0x431cfc(0x19f))/0xc);if(_0x5e304f===_0x601f20)break;else _0x1effb2['push'](_0x1effb2['shift']());}catch(_0x523677){_0x1effb2['push'](_0x1effb2['shift']());}}}(a1_0x2de5,0xa31f9));function a1_0x2de5(){const _0x2cdf94=['catch','2365TgKHkB','108312jgeTkH','\x20*\x20页面文件已创建,可直接通过路由访问','join','\x20*\x20页面路径:\x20','\x20Step2:\x20','\x20*\x20路由地址:\x20','column','16079StKVUW','setLogPath','finally','green','9phLdCZ','12whhZRX','then','6DHyyXQ','开始添加页面:\x20','src','message','4703335AmQPCW','add-page','resolve','2330658ZtBdsm','273548PImXye','url','页面添加失败:\x20','processTemplate','已输入的页面路由\x20','664497cAhhOx','now','success','页面添加成功:\x20','gray','5927890KJVBfU','已选择页面模板\x20','cwd','1048mNahtW','../../templates/pages','cyan'];a1_0x2de5=function(){return _0x2cdf94;};return a1_0x2de5();}import{jsx as a1_0x13c719,jsxs as a1_0xca579b,Fragment as a1_0x2f3c67}from'react/jsx-runtime';import{fileURLToPath}from'node:url';import a1_0x3df011 from'node:path';import{useEffect,useState}from'react';function a1_0x4253(_0x3badc8,_0x5f4771){const _0x2de5a2=a1_0x2de5();return a1_0x4253=function(_0x4253b8,_0x2fd677){_0x4253b8=_0x4253b8-0x18d;let _0x44116e=_0x2de5a2[_0x4253b8];return _0x44116e;},a1_0x4253(_0x3badc8,_0x5f4771);}import{Box,Text,useApp}from'ink';import{SelectPageTemplate}from'./select-page-template.js';import{InputProjectCode}from'./input-page-router.js';import{logger}from'../utils/logger.js';import{TemplateReplacer}from'../utils/template-replacer.js';const __dirname=a1_0x3df011['dirname'](fileURLToPath(import.meta[a1_0x40d0ae(0x18e)])),pageTemplateDir=a1_0x3df011['resolve'](__dirname,a1_0x40d0ae(0x19b)),projectDir=process[a1_0x40d0ae(0x199)]();export const AddPage=()=>{const _0x2cef51=a1_0x40d0ae,{exit:_0xebd0e7}=useApp(),[_0x130905,_0x3da1bf]=useState(''),[_0x33b37f,_0x12c083]=useState(''),[_0x26c93c,_0x87565c]=useState(![]),[_0x53090f,_0x55268a]=useState(![]),_0x449925=a1_0x3df011[_0x2cef51(0x1a1)](projectDir,'src','pages'),_0x265a36=a1_0x3df011['join'](_0x449925,_0x33b37f),_0x2ec926=a1_0x3df011[_0x2cef51(0x1a1)](_0x2cef51(0x1af),'pages',_0x33b37f);useEffect(()=>{const _0x597b14=_0x2cef51,_0x5d564d=a1_0x3df011[_0x597b14(0x1b3)](pageTemplateDir,_0x130905);if(_0x130905&&_0x33b37f){_0x87565c(!![]),logger[_0x597b14(0x1a7)](process[_0x597b14(0x199)]());const _0x15eb66=Date['now']();logger['info'](_0x597b14(0x1b2),_0x597b14(0x1ae)+_0x33b37f,{'template':_0x130905,'targetPath':_0x2ec926}),TemplateReplacer[_0x597b14(0x190)](_0x5d564d,a1_0x3df011[_0x597b14(0x1a1)](_0x449925,_0x33b37f),_0x33b37f,_0x130905)[_0x597b14(0x1ac)](()=>{const _0xf3f713=_0x597b14,_0x3e8cf5=Date[_0xf3f713(0x193)]()-_0x15eb66;logger[_0xf3f713(0x194)](_0xf3f713(0x1b2),_0xf3f713(0x195)+_0x33b37f,_0x3e8cf5,{'template':_0x130905,'targetPath':_0x2ec926,'routePath':_0x33b37f}),_0x55268a(!![]);})[_0x597b14(0x19d)](_0x2cddda=>{const _0x1e5180=_0x597b14,_0x2dee29=Date[_0x1e5180(0x193)]()-_0x15eb66;logger['error'](_0x1e5180(0x1b2),_0x1e5180(0x18f)+_0x33b37f,{'template':_0x130905,'targetPath':_0x2ec926,'error':_0x2cddda instanceof Error?_0x2cddda[_0x1e5180(0x1b0)]:String(_0x2cddda),'duration':_0x2dee29});})[_0x597b14(0x1a8)](()=>{_0x87565c(![]);});}},[_0x130905,_0x33b37f]),useEffect(()=>{_0x53090f&&setTimeout(()=>{_0xebd0e7();});},[_0x53090f]);if(_0x130905)return a1_0xca579b(Box,{'flexDirection':_0x2cef51(0x1a5),'paddingY':0x1,'children':[a1_0xca579b(Box,{'children':[a1_0x13c719(Text,{'color':_0x2cef51(0x196),'children':'\x20Step1:\x20'}),a1_0x13c719(Text,{'children':_0x2cef51(0x198)}),a1_0x13c719(Text,{'color':_0x2cef51(0x1a9),'children':_0x130905})]}),_0x33b37f?a1_0xca579b(Box,{'children':[a1_0x13c719(Text,{'color':_0x2cef51(0x196),'children':_0x2cef51(0x1a3)}),a1_0x13c719(Text,{'children':_0x2cef51(0x191)}),a1_0x13c719(Text,{'color':_0x2cef51(0x1a9),'children':_0x33b37f})]}):a1_0x13c719(InputProjectCode,{'pagePath':_0x265a36,'onSubmit':_0x12c083}),_0x33b37f&&_0x26c93c?a1_0xca579b(Box,{'marginTop':0x1,'children':[a1_0x13c719(Box,{'width':'4'}),a1_0x13c719(Text,{'children':'正在创建页面,请稍候…'})]}):null,_0x53090f?a1_0xca579b(a1_0x2f3c67,{'children':[a1_0x13c719(Box,{'marginTop':0x1,'children':a1_0x13c719(Text,{'color':_0x2cef51(0x196),'children':'\x20*\x20页面创建成功!'})}),a1_0xca579b(Box,{'children':[a1_0x13c719(Text,{'color':_0x2cef51(0x196),'children':_0x2cef51(0x1a2)}),a1_0x13c719(Text,{'color':'green','children':_0x2ec926})]}),a1_0xca579b(Box,{'children':[a1_0x13c719(Text,{'color':_0x2cef51(0x196),'children':_0x2cef51(0x1a4)}),a1_0xca579b(Text,{'color':_0x2cef51(0x1a9),'children':['/',_0x33b37f]})]}),a1_0x13c719(Box,{'marginTop':0x1,'children':a1_0x13c719(Text,{'color':_0x2cef51(0x19c),'children':_0x2cef51(0x1a0)})})]}):null]});return a1_0x13c719(SelectPageTemplate,{'onSelect':_0x3da1bf});};
1
+ const a1_0x598a23=a1_0x2015;(function(_0x14a8bf,_0x244b41){const _0x179c8a=a1_0x2015,_0x15e9aa=_0x14a8bf();while(!![]){try{const _0x1e6209=parseInt(_0x179c8a(0x184))/0x1+parseInt(_0x179c8a(0x181))/0x2*(parseInt(_0x179c8a(0x189))/0x3)+parseInt(_0x179c8a(0x197))/0x4*(parseInt(_0x179c8a(0x196))/0x5)+-parseInt(_0x179c8a(0x180))/0x6*(parseInt(_0x179c8a(0x183))/0x7)+parseInt(_0x179c8a(0x195))/0x8+parseInt(_0x179c8a(0x18c))/0x9+parseInt(_0x179c8a(0x19b))/0xa*(-parseInt(_0x179c8a(0x190))/0xb);if(_0x1e6209===_0x244b41)break;else _0x15e9aa['push'](_0x15e9aa['shift']());}catch(_0x4e91a1){_0x15e9aa['push'](_0x15e9aa['shift']());}}}(a1_0x76f4,0xb60d7));import{jsx as a1_0x29c919,jsxs as a1_0xc7d44c,Fragment as a1_0x126c0e}from'react/jsx-runtime';function a1_0x2015(_0x52786f,_0x827f6b){const _0x76f435=a1_0x76f4();return a1_0x2015=function(_0x20158e,_0x2f9ceb){_0x20158e=_0x20158e-0x176;let _0x447216=_0x76f435[_0x20158e];return _0x447216;},a1_0x2015(_0x52786f,_0x827f6b);}import{fileURLToPath}from'node:url';import a1_0x5ca495 from'node:path';import{useEffect,useState}from'react';import{Box,Text,useApp}from'ink';import{SelectPageTemplate}from'./select-page-template.js';function a1_0x76f4(){const _0x5508e3=['success','30MwameO','processTemplate','pages','7976826uMtOsZ','\x20*\x20页面文件已创建,可直接通过路由访问','url','\x20*\x20页面创建成功!','52657WBSdOp','已输入的页面路由\x20','cyan','src','gray','1274744UmDkmc','15ealYLV','628244DZmGYy','catch','join','resolve','1600KjzeiP','then','\x20Step1:\x20','setLogPath','cwd','\x20*\x20页面路径:\x20','dirname','green','error','now','正在创建页面,请稍候…','\x20Step2:\x20','info','6WBTobp','60952xERktm','已选择页面模板\x20','9241099qfcabv','1010164WMLPrP','finally','add-page','开始添加页面:\x20'];a1_0x76f4=function(){return _0x5508e3;};return a1_0x76f4();}import{InputProjectCode}from'./input-page-router.js';import{logger}from'../utils/logger.js';import{TemplateReplacer}from'../utils/template-replacer.js';const __dirname=a1_0x5ca495[a1_0x598a23(0x179)](fileURLToPath(import.meta[a1_0x598a23(0x18e)])),pageTemplateDir=a1_0x5ca495[a1_0x598a23(0x19a)](__dirname,'../../templates/pages'),projectDir=process[a1_0x598a23(0x177)]();export const AddPage=()=>{const _0x31b3bd=a1_0x598a23,{exit:_0x1bf321}=useApp(),[_0x1804bc,_0x1ced09]=useState(''),[_0x5bc1b8,_0x2fed51]=useState(''),[_0xf9f204,_0x4758c7]=useState(![]),[_0x4a513e,_0x5d0ef0]=useState(![]),_0x4e4109=a1_0x5ca495['join'](projectDir,'src','pages'),_0x49d363=a1_0x5ca495[_0x31b3bd(0x199)](_0x4e4109,_0x5bc1b8),_0x591956=a1_0x5ca495[_0x31b3bd(0x199)](_0x31b3bd(0x193),_0x31b3bd(0x18b),_0x5bc1b8);useEffect(()=>{const _0x48b771=_0x31b3bd,_0x3d859d=a1_0x5ca495[_0x48b771(0x19a)](pageTemplateDir,_0x1804bc);if(_0x1804bc&&_0x5bc1b8){_0x4758c7(!![]),logger[_0x48b771(0x176)](process['cwd']());const _0x70fd8d=Date[_0x48b771(0x17c)]();logger[_0x48b771(0x17f)](_0x48b771(0x186),_0x48b771(0x187)+_0x5bc1b8,{'template':_0x1804bc,'targetPath':_0x591956}),TemplateReplacer[_0x48b771(0x18a)](_0x3d859d,a1_0x5ca495[_0x48b771(0x199)](_0x4e4109,_0x5bc1b8),_0x5bc1b8,_0x1804bc)[_0x48b771(0x19c)](()=>{const _0x25a5e7=_0x48b771,_0x573783=Date[_0x25a5e7(0x17c)]()-_0x70fd8d;logger[_0x25a5e7(0x188)](_0x25a5e7(0x186),'页面添加成功:\x20'+_0x5bc1b8,_0x573783,{'template':_0x1804bc,'targetPath':_0x591956,'routePath':_0x5bc1b8}),_0x5d0ef0(!![]);})[_0x48b771(0x198)](_0x15f190=>{const _0x2a387a=_0x48b771,_0x3eb106=Date[_0x2a387a(0x17c)]()-_0x70fd8d;logger[_0x2a387a(0x17b)]('add-page','页面添加失败:\x20'+_0x5bc1b8,{'template':_0x1804bc,'targetPath':_0x591956,'error':_0x15f190 instanceof Error?_0x15f190['message']:String(_0x15f190),'duration':_0x3eb106});})[_0x48b771(0x185)](()=>{_0x4758c7(![]);});}},[_0x1804bc,_0x5bc1b8]),useEffect(()=>{_0x4a513e&&setTimeout(()=>{_0x1bf321();});},[_0x4a513e]);if(_0x1804bc)return a1_0xc7d44c(Box,{'flexDirection':'column','paddingY':0x1,'children':[a1_0xc7d44c(Box,{'children':[a1_0x29c919(Text,{'color':_0x31b3bd(0x194),'children':_0x31b3bd(0x19d)}),a1_0x29c919(Text,{'children':_0x31b3bd(0x182)}),a1_0x29c919(Text,{'color':'green','children':_0x1804bc})]}),_0x5bc1b8?a1_0xc7d44c(Box,{'children':[a1_0x29c919(Text,{'color':'gray','children':_0x31b3bd(0x17e)}),a1_0x29c919(Text,{'children':_0x31b3bd(0x191)}),a1_0x29c919(Text,{'color':'green','children':_0x5bc1b8})]}):a1_0x29c919(InputProjectCode,{'pagePath':_0x49d363,'onSubmit':_0x2fed51}),_0x5bc1b8&&_0xf9f204?a1_0xc7d44c(Box,{'marginTop':0x1,'children':[a1_0x29c919(Box,{'width':'4'}),a1_0x29c919(Text,{'children':_0x31b3bd(0x17d)})]}):null,_0x4a513e?a1_0xc7d44c(a1_0x126c0e,{'children':[a1_0x29c919(Box,{'marginTop':0x1,'children':a1_0x29c919(Text,{'color':_0x31b3bd(0x194),'children':_0x31b3bd(0x18f)})}),a1_0xc7d44c(Box,{'children':[a1_0x29c919(Text,{'color':_0x31b3bd(0x194),'children':_0x31b3bd(0x178)}),a1_0x29c919(Text,{'color':_0x31b3bd(0x17a),'children':_0x591956})]}),a1_0xc7d44c(Box,{'children':[a1_0x29c919(Text,{'color':'gray','children':'\x20*\x20路由地址:\x20'}),a1_0xc7d44c(Text,{'color':'green','children':['/',_0x5bc1b8]})]}),a1_0x29c919(Box,{'marginTop':0x1,'children':a1_0x29c919(Text,{'color':_0x31b3bd(0x192),'children':_0x31b3bd(0x18d)})})]}):null]});return a1_0x29c919(SelectPageTemplate,{'onSelect':_0x1ced09});};
@@ -1 +1 @@
1
- (function(_0x46c0d7,_0x3d6517){const _0xbdb7e8=a2_0x5a89,_0x2dd957=_0x46c0d7();while(!![]){try{const _0x3b4e5d=-parseInt(_0xbdb7e8(0x169))/0x1*(parseInt(_0xbdb7e8(0x17b))/0x2)+parseInt(_0xbdb7e8(0x157))/0x3+-parseInt(_0xbdb7e8(0x15a))/0x4*(-parseInt(_0xbdb7e8(0x17c))/0x5)+parseInt(_0xbdb7e8(0x15e))/0x6*(parseInt(_0xbdb7e8(0x176))/0x7)+-parseInt(_0xbdb7e8(0x160))/0x8*(parseInt(_0xbdb7e8(0x170))/0x9)+-parseInt(_0xbdb7e8(0x162))/0xa+-parseInt(_0xbdb7e8(0x15d))/0xb*(parseInt(_0xbdb7e8(0x175))/0xc);if(_0x3b4e5d===_0x3d6517)break;else _0x2dd957['push'](_0x2dd957['shift']());}catch(_0x1b10d5){_0x2dd957['push'](_0x2dd957['shift']());}}}(a2_0x5c55,0x36b21));function a2_0x5c55(){const _0x24cba9=['onSelect','264zntQBX','35qFoUUR','error','sdk-fetch','dirname','resolve','56HERywX','5kUeBNw','gray','872991wRRLlj','isDirectory','sort','1015796TdAcHs','\x20\x20\x20\x20\x20\x20>\x20','map','26653jZuQxU','377304pVlCmg','请选择您要创建的页面模板','181736TRqPQq','\x20\x20\x20\x20\x20\x20\x20\x20','3172320SEIPiV','upArrow','green','column','获取模板列表失败:','../..','url','7023JcyUZm','\x20Step1:\x20','join','localeCompare','templates/pages','label','downArrow','27QGFyeW','blank','filter','length'];a2_0x5c55=function(){return _0x24cba9;};return a2_0x5c55();}import{jsx as a2_0x541009,jsxs as a2_0x1c86e7}from'react/jsx-runtime';import{useState,useEffect}from'react';function a2_0x5a89(_0x727287,_0x4cc103){const _0x5c5513=a2_0x5c55();return a2_0x5a89=function(_0x5a8948,_0xbb787b){_0x5a8948=_0x5a8948-0x157;let _0x989a59=_0x5c5513[_0x5a8948];return _0x989a59;},a2_0x5a89(_0x727287,_0x4cc103);}import{Text,Box,useInput}from'ink';import{readdir}from'node:fs/promises';import a2_0x54b893 from'node:path';import{fileURLToPath}from'node:url';async function getTemplateList(){const _0x33348d=a2_0x5a89;try{const _0x56f642=fileURLToPath(import.meta[_0x33348d(0x168)]),_0x33a249=a2_0x54b893[_0x33348d(0x17a)](a2_0x54b893[_0x33348d(0x179)](_0x56f642),_0x33348d(0x167)),_0x10ac72=a2_0x54b893[_0x33348d(0x16b)](_0x33a249,_0x33348d(0x16d)),_0x36d857=await readdir(_0x10ac72,{'withFileTypes':!![]}),_0x1628f1=_0x36d857[_0x33348d(0x172)](_0x46a029=>_0x46a029[_0x33348d(0x158)]())[_0x33348d(0x15c)](_0x4a7013=>({'label':_0x4a7013['name']}))[_0x33348d(0x159)]((_0xd4e6f,_0x9acff6)=>_0xd4e6f[_0x33348d(0x16e)][_0x33348d(0x16c)](_0x9acff6[_0x33348d(0x16e)]));return _0x1628f1;}catch(_0x401d1f){return console[_0x33348d(0x177)](_0x33348d(0x166),_0x401d1f),[{'label':_0x33348d(0x171)},{'label':_0x33348d(0x178)}];}}export function SelectPageTemplate(_0x4b78bf){const _0x465dd8=a2_0x5a89,[_0x31dbf8,_0x4e1f40]=useState(0x0),[_0x14b43f,_0x442bfb]=useState([]),[_0x258690,_0x53a02d]=useState(!![]);useEffect(()=>{async function _0x373c18(){const _0x2fc343=await getTemplateList();_0x442bfb(_0x2fc343),_0x53a02d(![]);}_0x373c18();},[]),useInput((_0x4cbceb,_0x463df7)=>{const _0x4fe965=a2_0x5a89;if(_0x258690)return;if(_0x463df7['return']){const _0xd11c23=_0x14b43f[_0x31dbf8];_0xd11c23&&_0x4b78bf[_0x4fe965(0x174)](_0xd11c23[_0x4fe965(0x16e)]);}_0x463df7[_0x4fe965(0x163)]&&_0x4e1f40(_0xd3cc19=>_0xd3cc19===0x0?_0x14b43f['length']-0x1:_0xd3cc19-0x1),_0x463df7[_0x4fe965(0x16f)]&&_0x4e1f40(_0x12327b=>_0x12327b===_0x14b43f[_0x4fe965(0x173)]-0x1?0x0:_0x12327b+0x1);});if(_0x258690)return a2_0x541009(Box,{'flexDirection':_0x465dd8(0x165),'paddingY':0x1,'children':a2_0x1c86e7(Box,{'children':[a2_0x541009(Text,{'color':_0x465dd8(0x17d),'children':_0x465dd8(0x16a)}),a2_0x541009(Text,{'children':'正在加载页面模板...'})]})});return a2_0x1c86e7(Box,{'flexDirection':_0x465dd8(0x165),'paddingY':0x1,'children':[a2_0x1c86e7(Box,{'children':[a2_0x541009(Text,{'color':_0x465dd8(0x17d),'children':'\x20Step1:\x20'}),a2_0x541009(Text,{'children':_0x465dd8(0x15f)})]}),_0x14b43f['map']((_0x555d3c,_0x54c7ee)=>{const _0x1f72a3=_0x465dd8,_0x4f6d68=_0x54c7ee===_0x31dbf8,_0x25e97e=_0x4f6d68?_0x1f72a3(0x15b)+_0x555d3c[_0x1f72a3(0x16e)]:_0x1f72a3(0x161)+_0x555d3c[_0x1f72a3(0x16e)];return a2_0x541009(Box,{'children':a2_0x541009(Text,{'color':_0x4f6d68?_0x1f72a3(0x164):undefined,'children':_0x25e97e})},_0x25e97e);})]});}
1
+ function a2_0x38b2(){const _0x48eace=['blank','42RZQply','resolve','322662WRdiuQ','label','isDirectory','484588YBUqOO','7582120avcbwb','column','正在加载页面模板...','803446JBLanE','10396449vuClzl','join','sort','dirname','3949365JOufaV','gray','\x20Step1:\x20','map','downArrow','14wXtzdJ','请选择您要创建的页面模板','1544132pdmJAA','length','templates/pages','url'];a2_0x38b2=function(){return _0x48eace;};return a2_0x38b2();}(function(_0x54e65d,_0x6e906a){const _0x5afba7=a2_0x32f1,_0x55ed53=_0x54e65d();while(!![]){try{const _0x8bc6c8=-parseInt(_0x5afba7(0x9d))/0x1+parseInt(_0x5afba7(0x91))/0x2*(-parseInt(_0x5afba7(0x9a))/0x3)+-parseInt(_0x5afba7(0x93))/0x4+-parseInt(_0x5afba7(0x8c))/0x5+-parseInt(_0x5afba7(0x98))/0x6*(-parseInt(_0x5afba7(0x87))/0x7)+parseInt(_0x5afba7(0x9e))/0x8+parseInt(_0x5afba7(0x88))/0x9;if(_0x8bc6c8===_0x6e906a)break;else _0x55ed53['push'](_0x55ed53['shift']());}catch(_0x28ec0a){_0x55ed53['push'](_0x55ed53['shift']());}}}(a2_0x38b2,0x785c8));import{jsx as a2_0x4a4b8a,jsxs as a2_0x42faa1}from'react/jsx-runtime';import{useState,useEffect}from'react';function a2_0x32f1(_0x2011f7,_0x5bfe99){const _0x38b29f=a2_0x38b2();return a2_0x32f1=function(_0x32f181,_0x5984cd){_0x32f181=_0x32f181-0x87;let _0x25c52b=_0x38b29f[_0x32f181];return _0x25c52b;},a2_0x32f1(_0x2011f7,_0x5bfe99);}import{Text,Box,useInput}from'ink';import{readdir}from'node:fs/promises';import a2_0x122cca from'node:path';import{fileURLToPath}from'node:url';async function getTemplateList(){const _0x1caff1=a2_0x32f1;try{const _0x279a67=fileURLToPath(import.meta[_0x1caff1(0x96)]),_0x615297=a2_0x122cca[_0x1caff1(0x99)](a2_0x122cca[_0x1caff1(0x8b)](_0x279a67),'../..'),_0x4e78d5=a2_0x122cca[_0x1caff1(0x89)](_0x615297,_0x1caff1(0x95)),_0x1ee479=await readdir(_0x4e78d5,{'withFileTypes':!![]}),_0x1b097b=_0x1ee479['filter'](_0x291c88=>_0x291c88[_0x1caff1(0x9c)]())[_0x1caff1(0x8f)](_0x500900=>({'label':_0x500900['name']}))[_0x1caff1(0x8a)]((_0x4132b0,_0x4090c7)=>_0x4132b0[_0x1caff1(0x9b)]['localeCompare'](_0x4090c7[_0x1caff1(0x9b)]));return _0x1b097b;}catch(_0x3b3a5a){return console['error']('获取模板列表失败:',_0x3b3a5a),[{'label':_0x1caff1(0x97)},{'label':'sdk-fetch'}];}}export function SelectPageTemplate(_0x4536cd){const _0x2ab132=a2_0x32f1,[_0x5a3337,_0x4f0248]=useState(0x0),[_0x59e0db,_0x551b1c]=useState([]),[_0x5f0d79,_0x29be37]=useState(!![]);useEffect(()=>{async function _0x30ea6a(){const _0x38ef5f=await getTemplateList();_0x551b1c(_0x38ef5f),_0x29be37(![]);}_0x30ea6a();},[]),useInput((_0x2bbe88,_0x126dbc)=>{const _0x50c4c3=a2_0x32f1;if(_0x5f0d79)return;if(_0x126dbc['return']){const _0x453466=_0x59e0db[_0x5a3337];_0x453466&&_0x4536cd['onSelect'](_0x453466[_0x50c4c3(0x9b)]);}_0x126dbc['upArrow']&&_0x4f0248(_0xaba88f=>_0xaba88f===0x0?_0x59e0db[_0x50c4c3(0x94)]-0x1:_0xaba88f-0x1),_0x126dbc[_0x50c4c3(0x90)]&&_0x4f0248(_0x119082=>_0x119082===_0x59e0db[_0x50c4c3(0x94)]-0x1?0x0:_0x119082+0x1);});if(_0x5f0d79)return a2_0x4a4b8a(Box,{'flexDirection':_0x2ab132(0x9f),'paddingY':0x1,'children':a2_0x42faa1(Box,{'children':[a2_0x4a4b8a(Text,{'color':_0x2ab132(0x8d),'children':_0x2ab132(0x8e)}),a2_0x4a4b8a(Text,{'children':_0x2ab132(0xa0)})]})});return a2_0x42faa1(Box,{'flexDirection':_0x2ab132(0x9f),'paddingY':0x1,'children':[a2_0x42faa1(Box,{'children':[a2_0x4a4b8a(Text,{'color':_0x2ab132(0x8d),'children':_0x2ab132(0x8e)}),a2_0x4a4b8a(Text,{'children':_0x2ab132(0x92)})]}),_0x59e0db[_0x2ab132(0x8f)]((_0x23e954,_0x2fc5c8)=>{const _0x4b4066=_0x2ab132,_0x5673f3=_0x2fc5c8===_0x5a3337,_0x18877f=_0x5673f3?'\x20\x20\x20\x20\x20\x20>\x20'+_0x23e954[_0x4b4066(0x9b)]:'\x20\x20\x20\x20\x20\x20\x20\x20'+_0x23e954[_0x4b4066(0x9b)];return a2_0x4a4b8a(Box,{'children':a2_0x4a4b8a(Text,{'color':_0x5673f3?'green':undefined,'children':_0x18877f})},_0x18877f);})]});}
@@ -1 +1 @@
1
- (function(_0xc3d26a,_0x538884){const _0x4daae5=a3_0x5a60,_0x51dbda=_0xc3d26a();while(!![]){try{const _0x3f26f8=parseInt(_0x4daae5(0x122))/0x1*(-parseInt(_0x4daae5(0x129))/0x2)+parseInt(_0x4daae5(0x108))/0x3+parseInt(_0x4daae5(0x120))/0x4+parseInt(_0x4daae5(0x111))/0x5+-parseInt(_0x4daae5(0x12b))/0x6+-parseInt(_0x4daae5(0x10f))/0x7+-parseInt(_0x4daae5(0x123))/0x8*(-parseInt(_0x4daae5(0x135))/0x9);if(_0x3f26f8===_0x538884)break;else _0x51dbda['push'](_0x51dbda['shift']());}catch(_0x304877){_0x51dbda['push'](_0x51dbda['shift']());}}}(a3_0x21a5,0x55778));import{jsx as a3_0x323b6c,jsxs as a3_0x3743db}from'react/jsx-runtime';import{useEffect,useState}from'react';function a3_0x21a5(){const _0x48bc94=['🚀\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20','status','\x20from\x20\x27@/','使用配置的应用AppCode:\x20','app','148OzJbXp','./src/api/','1222368dmJqWB','lovrabet\x20auth','success','message','-client','import\x20','\x20-\x20模型配置文件','green','tableData','url','9sFmzaN','json','env','replace','登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录','error','cwd','online','💡\x20请使用\x20','获取数据集失败,HTTP状态码:\x20','text','data','white','*\x20已生成文件:','1179102TvHwzN','yellow','dim','*\x20将生成文件:\x20','/smartapi/dataset/getList?appCode=','\x20和\x20','includes','3306632lwOrJy','split','3000985lsyfGj','join','未提供应用AppCode,且配置中也没有默认值','cyan','api-pull','api','column','slice','gray','使用指定的应用AppCode:\x20','string',',且无法读取错误响应内容','endsWith','拉取\x20API\x20配置失败:\x20','.ts','272100WQevpy','client','5627IsRObn','3050544AvhvKg'];a3_0x21a5=function(){return _0x48bc94;};return a3_0x21a5();}function a3_0x5a60(_0x4c8777,_0x30f12f){const _0x21a5cb=a3_0x21a5();return a3_0x5a60=function(_0x5a6088,_0x3d63e3){_0x5a6088=_0x5a6088-0xfd;let _0x2963d6=_0x21a5cb[_0x5a6088];return _0x2963d6;},a3_0x5a60(_0x4c8777,_0x30f12f);}import{Box,Text,useApp}from'ink';import{readConfig}from'../utils/config.js';import{getCookie}from'../auth/get-cookie.js';import{getApiDomain}from'../constant/domain.js';import{initEnv}from'../constant/env.js';import{generateApiFile}from'./generate-api-file.js';import{logger}from'../utils/logger.js';export const ApiPullUI=({appCode:_0x3402b1,env:_0x3a20be,output:_0x2f062a})=>{const _0x1a7345=a3_0x5a60,{exit:_0x59d912}=useApp(),[_0x3f02d6,_0x3cd5c2]=useState(![]),[_0x4478dc,_0x32e447]=useState(![]),[_0x39f641,_0x3f2915]=useState(null),[_0x17d4c4,_0x22d88d]=useState(null),_0xe7f14b=readConfig(),_0x24b7a8=_0x3402b1||_0xe7f14b?.[_0x1a7345(0x128)],_0x1eeff3=typeof _0xe7f14b?.['env']===_0x1a7345(0x11b)?_0xe7f14b[_0x1a7345(0x137)]:undefined,_0x208e26=_0x3a20be||_0x1eeff3||_0x1a7345(0x101);initEnv(_0x208e26);const _0x2801af=_0x2f062a||_0x1a7345(0x12a),_0x2e07a3=_0x3402b1&&_0x3402b1[_0x1a7345(0x10e)]('-')?_0x3402b1[_0x1a7345(0x110)]('-')[_0x1a7345(0x118)](0x1)[_0x1a7345(0x112)]('-'):'',_0x4b50c6=_0x3402b1?_0x1a7345(0x11a)+_0x24b7a8:_0x1a7345(0x127)+_0x24b7a8,_0x429dec=_0x2e07a3?_0x2e07a3+'-api':'api',_0x5936b2=_0x2e07a3?_0x2e07a3+_0x1a7345(0x12f):_0x1a7345(0x121);useEffect(()=>{_0x3cd5c2(!![]),_0x24286b();},[]),useEffect(()=>{(_0x4478dc||_0x39f641)&&_0x59d912();},[_0x4478dc,_0x39f641,_0x59d912]);async function _0x24286b(){const _0x1976ca=_0x1a7345;if(!_0x24b7a8){_0x3f2915(_0x1976ca(0x113));return;}try{logger['setLogPath'](process[_0x1976ca(0x100)]());const _0x365c65=await fetch(getApiDomain()+_0x1976ca(0x10c)+_0x24b7a8+'&pageSize=999&currentPage=1',{'headers':{'Cookie':getCookie()}});if(_0x365c65['ok']){const _0x927180=await _0x365c65[_0x1976ca(0x136)]();if(_0x927180[_0x1976ca(0x12d)]){const _0x5c5979=!_0x3402b1;await generateApiFile(_0x927180[_0x1976ca(0x105)][_0x1976ca(0x133)],_0x2e07a3,_0x24b7a8,_0x5c5979,_0x208e26,_0x2801af);const _0x4e2603=_0x2801af[_0x1976ca(0x11d)]('/')?_0x2801af:_0x2801af+'/';_0x22d88d({'api':''+_0x4e2603+_0x429dec+_0x1976ca(0x11f),'client':''+_0x4e2603+_0x5936b2+_0x1976ca(0x11f)}),_0x32e447(!![]);}}else{if(_0x365c65[_0x1976ca(0x125)]===0x191){const _0x41d677=_0x1976ca(0xfe);logger[_0x1976ca(0xff)](_0x1976ca(0x115),_0x41d677,{'status':_0x365c65[_0x1976ca(0x125)],'appCode':_0x24b7a8,'url':_0x365c65[_0x1976ca(0x134)]}),_0x3f2915(_0x41d677);}else{const _0x710f1=_0x1976ca(0x103)+_0x365c65[_0x1976ca(0x125)];try{const _0x129233=await _0x365c65[_0x1976ca(0x104)]();_0x129233?logger[_0x1976ca(0xff)](_0x1976ca(0x115),_0x710f1,{'status':_0x365c65[_0x1976ca(0x125)],'appCode':_0x24b7a8,'url':_0x365c65[_0x1976ca(0x134)],'errorBody':_0x129233}):logger[_0x1976ca(0xff)]('api-pull',_0x710f1,{'status':_0x365c65[_0x1976ca(0x125)],'appCode':_0x24b7a8,'url':_0x365c65[_0x1976ca(0x134)]});}catch(_0x57a806){logger[_0x1976ca(0xff)](_0x1976ca(0x115),_0x710f1+_0x1976ca(0x11c),{'status':_0x365c65['status'],'appCode':_0x24b7a8,'url':_0x365c65[_0x1976ca(0x134)],'readError':_0x57a806 instanceof Error?_0x57a806[_0x1976ca(0x12e)]:String(_0x57a806)});}_0x3f2915(_0x710f1);}}}catch(_0x3c1930){const _0x392511=_0x3c1930 instanceof Error?_0x3c1930[_0x1976ca(0x12e)]:String(_0x3c1930);_0x3f2915(_0x1976ca(0x11e)+_0x392511);}finally{_0x3cd5c2(![]);}}return a3_0x3743db(Box,{'flexDirection':'column','children':[a3_0x3743db(Box,{'children':[a3_0x323b6c(Text,{'color':_0x1a7345(0x119),'children':'*\x20'}),a3_0x323b6c(Text,{'color':_0x3402b1?_0x1a7345(0x106):'dim','children':_0x4b50c6})]}),a3_0x3743db(Box,{'children':[a3_0x323b6c(Text,{'color':_0x1a7345(0x119),'children':_0x1a7345(0x10b)}),a3_0x3743db(Text,{'color':_0x1a7345(0x114),'children':[_0x429dec,_0x1a7345(0x11f)]}),a3_0x323b6c(Text,{'color':'dim','children':_0x1a7345(0x10d)}),a3_0x3743db(Text,{'color':_0x1a7345(0x114),'children':[_0x5936b2,_0x1a7345(0x11f)]})]}),_0x3f02d6&&a3_0x323b6c(Box,{'children':a3_0x3743db(Text,{'children':[_0x1a7345(0x124),_0x208e26,')']})}),_0x4478dc&&_0x17d4c4&&a3_0x3743db(Box,{'flexDirection':_0x1a7345(0x117),'children':[a3_0x323b6c(Box,{'children':a3_0x323b6c(Text,{'color':_0x1a7345(0x132),'children':'√\x20API\x20文件生成成功!'})}),a3_0x323b6c(Box,{'marginTop':0x1,'children':a3_0x323b6c(Text,{'color':'gray','children':_0x1a7345(0x107)})}),a3_0x3743db(Box,{'marginLeft':0x2,'children':[a3_0x3743db(Text,{'color':_0x1a7345(0x114),'children':['•\x20',_0x17d4c4[_0x1a7345(0x116)]]}),a3_0x323b6c(Text,{'color':_0x1a7345(0x10a),'children':_0x1a7345(0x131)})]}),a3_0x3743db(Box,{'marginLeft':0x2,'children':[a3_0x3743db(Text,{'color':'cyan','children':['•\x20',_0x17d4c4[_0x1a7345(0x121)]]}),a3_0x323b6c(Text,{'color':_0x1a7345(0x10a),'children':'\x20-\x20客户端实例文件'})]}),a3_0x323b6c(Box,{'marginTop':0x1,'children':a3_0x323b6c(Text,{'color':_0x1a7345(0x119),'children':'*\x20导入方式:'})}),a3_0x323b6c(Box,{'marginLeft':0x2,'children':a3_0x3743db(Text,{'color':_0x1a7345(0x109),'children':[_0x1a7345(0x130),'{\x20lovrabetClient\x20}',_0x1a7345(0x126),_0x17d4c4['client'][_0x1a7345(0xfd)](/^\.\//,'')['replace'](/^src\//,'')[_0x1a7345(0xfd)]('.ts',''),'\x27']})})]}),_0x39f641&&a3_0x3743db(Box,{'flexDirection':_0x1a7345(0x117),'children':[a3_0x323b6c(Box,{'children':a3_0x3743db(Text,{'color':'red','children':['❌\x20',_0x39f641]})}),_0x39f641['includes']('登录')&&a3_0x3743db(Box,{'marginTop':0x1,'children':[a3_0x323b6c(Text,{'color':_0x1a7345(0x109),'children':_0x1a7345(0x102)}),a3_0x323b6c(Text,{'color':_0x1a7345(0x114),'children':_0x1a7345(0x12c)}),a3_0x323b6c(Text,{'color':_0x1a7345(0x109),'children':'\x20重新登录后再试'})]})]})]});};
1
+ (function(_0x3a325c,_0x342490){const _0x297f27=a3_0x2a43,_0x1ec1df=_0x3a325c();while(!![]){try{const _0x21b86a=parseInt(_0x297f27(0x135))/0x1*(-parseInt(_0x297f27(0x12c))/0x2)+parseInt(_0x297f27(0x111))/0x3+-parseInt(_0x297f27(0x107))/0x4*(-parseInt(_0x297f27(0x11b))/0x5)+parseInt(_0x297f27(0x100))/0x6*(parseInt(_0x297f27(0x118))/0x7)+parseInt(_0x297f27(0x10f))/0x8*(parseInt(_0x297f27(0x129))/0x9)+-parseInt(_0x297f27(0x128))/0xa+parseInt(_0x297f27(0x10e))/0xb*(-parseInt(_0x297f27(0x113))/0xc);if(_0x21b86a===_0x342490)break;else _0x1ec1df['push'](_0x1ec1df['shift']());}catch(_0x432974){_0x1ec1df['push'](_0x1ec1df['shift']());}}}(a3_0x5af5,0xaa865));import{jsx as a3_0x1122bb,jsxs as a3_0x5dfdb2}from'react/jsx-runtime';import{useEffect,useState}from'react';import{Box,Text,useApp}from'ink';import{readConfig}from'../utils/config.js';function a3_0x2a43(_0x245445,_0x3d0a65){const _0x5af56b=a3_0x5af5();return a3_0x2a43=function(_0x2a437d,_0x273a7c){_0x2a437d=_0x2a437d-0xfe;let _0x2338e9=_0x5af56b[_0x2a437d];return _0x2338e9;},a3_0x2a43(_0x245445,_0x3d0a65);}function a3_0x5af5(){const _0x1e3c65=['*\x20已生成文件:','6yPrApD','拉取\x20API\x20配置失败:\x20','status','setLogPath','includes','error','🚀\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20','8gkEhuW','column','./src/api/','√\x20API\x20文件生成成功!','\x20-\x20模型配置文件','gray','json','1331XuWRbb','104wHWbLb','replace','899154YUntwE','-api','205188gURpun','red','dim',',且无法读取错误响应内容','data','9425136qZZsMr','green','api-pull','2342350LmhenL','client','\x20重新登录后再试','登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录','cyan','import\x20','message','lovrabet\x20auth','endsWith','split','使用指定的应用AppCode:\x20','join','string','6400510cSfLTb','612162bxNcaM','yellow','-client','366aeZFoV','success','\x20from\x20\x27@/','url','white','tableData','*\x20导入方式:','.ts','💡\x20请使用\x20','327OnFxbW','未提供应用AppCode,且配置中也没有默认值','env','api'];a3_0x5af5=function(){return _0x1e3c65;};return a3_0x5af5();}import{getCookie}from'../auth/get-cookie.js';import{getApiDomain}from'../constant/domain.js';import{initEnv}from'../constant/env.js';import{generateApiFile}from'./generate-api-file.js';import{logger}from'../utils/logger.js';export const ApiPullUI=({appCode:_0x285624,env:_0x2e1329,output:_0x1dfc73})=>{const _0x4756e0=a3_0x2a43,{exit:_0x4d4fb9}=useApp(),[_0x30d3ca,_0xe22220]=useState(![]),[_0x49b027,_0x20a620]=useState(![]),[_0x42ca94,_0x44ca0c]=useState(null),[_0x5c048a,_0x1195d2]=useState(null),_0x1267fc=readConfig(),_0x4bf246=_0x285624||_0x1267fc?.['app'],_0x4456da=typeof _0x1267fc?.[_0x4756e0(0x137)]===_0x4756e0(0x127)?_0x1267fc[_0x4756e0(0x137)]:undefined,_0x318064=_0x2e1329||_0x4456da||'online';initEnv(_0x318064);const _0x1b2b2a=_0x1dfc73||_0x4756e0(0x109),_0x43e15b=_0x285624&&_0x285624[_0x4756e0(0x104)]('-')?_0x285624[_0x4756e0(0x124)]('-')['slice'](0x1)[_0x4756e0(0x126)]('-'):'',_0x49dd4e=_0x285624?_0x4756e0(0x125)+_0x4bf246:'使用配置的应用AppCode:\x20'+_0x4bf246,_0x2cd643=_0x43e15b?_0x43e15b+_0x4756e0(0x112):_0x4756e0(0xfe),_0xa3937b=_0x43e15b?_0x43e15b+_0x4756e0(0x12b):_0x4756e0(0x11c);useEffect(()=>{_0xe22220(!![]),_0x42db15();},[]),useEffect(()=>{(_0x49b027||_0x42ca94)&&_0x4d4fb9();},[_0x49b027,_0x42ca94,_0x4d4fb9]);async function _0x42db15(){const _0x40c670=_0x4756e0;if(!_0x4bf246){_0x44ca0c(_0x40c670(0x136));return;}try{logger[_0x40c670(0x103)](process['cwd']());const _0x8f2673=await fetch(getApiDomain()+'/smartapi/dataset/getList?appCode='+_0x4bf246+'&pageSize=999&currentPage=1',{'headers':{'Cookie':getCookie()}});if(_0x8f2673['ok']){const _0x1fc34f=await _0x8f2673[_0x40c670(0x10d)]();if(_0x1fc34f[_0x40c670(0x12d)]){const _0x494703=!_0x285624;await generateApiFile(_0x1fc34f[_0x40c670(0x117)][_0x40c670(0x131)],_0x43e15b,_0x4bf246,_0x494703,_0x318064,_0x1b2b2a);const _0x411a6b=_0x1b2b2a[_0x40c670(0x123)]('/')?_0x1b2b2a:_0x1b2b2a+'/';_0x1195d2({'api':''+_0x411a6b+_0x2cd643+_0x40c670(0x133),'client':''+_0x411a6b+_0xa3937b+_0x40c670(0x133)}),_0x20a620(!![]);}}else{if(_0x8f2673[_0x40c670(0x102)]===0x191){const _0x58182e=_0x40c670(0x11e);logger[_0x40c670(0x105)](_0x40c670(0x11a),_0x58182e,{'status':_0x8f2673[_0x40c670(0x102)],'appCode':_0x4bf246,'url':_0x8f2673[_0x40c670(0x12f)]}),_0x44ca0c(_0x58182e);}else{const _0x3f5534='获取数据集失败,HTTP状态码:\x20'+_0x8f2673[_0x40c670(0x102)];try{const _0x206fad=await _0x8f2673['text']();_0x206fad?logger[_0x40c670(0x105)](_0x40c670(0x11a),_0x3f5534,{'status':_0x8f2673[_0x40c670(0x102)],'appCode':_0x4bf246,'url':_0x8f2673[_0x40c670(0x12f)],'errorBody':_0x206fad}):logger['error']('api-pull',_0x3f5534,{'status':_0x8f2673[_0x40c670(0x102)],'appCode':_0x4bf246,'url':_0x8f2673['url']});}catch(_0x1fad36){logger[_0x40c670(0x105)](_0x40c670(0x11a),_0x3f5534+_0x40c670(0x116),{'status':_0x8f2673[_0x40c670(0x102)],'appCode':_0x4bf246,'url':_0x8f2673[_0x40c670(0x12f)],'readError':_0x1fad36 instanceof Error?_0x1fad36[_0x40c670(0x121)]:String(_0x1fad36)});}_0x44ca0c(_0x3f5534);}}}catch(_0x1414db){const _0x53186c=_0x1414db instanceof Error?_0x1414db[_0x40c670(0x121)]:String(_0x1414db);_0x44ca0c(_0x40c670(0x101)+_0x53186c);}finally{_0xe22220(![]);}}return a3_0x5dfdb2(Box,{'flexDirection':_0x4756e0(0x108),'children':[a3_0x5dfdb2(Box,{'children':[a3_0x1122bb(Text,{'color':_0x4756e0(0x10c),'children':'*\x20'}),a3_0x1122bb(Text,{'color':_0x285624?_0x4756e0(0x130):_0x4756e0(0x115),'children':_0x49dd4e})]}),a3_0x5dfdb2(Box,{'children':[a3_0x1122bb(Text,{'color':_0x4756e0(0x10c),'children':'*\x20将生成文件:\x20'}),a3_0x5dfdb2(Text,{'color':'cyan','children':[_0x2cd643,'.ts']}),a3_0x1122bb(Text,{'color':_0x4756e0(0x115),'children':'\x20和\x20'}),a3_0x5dfdb2(Text,{'color':_0x4756e0(0x11f),'children':[_0xa3937b,'.ts']})]}),_0x30d3ca&&a3_0x1122bb(Box,{'children':a3_0x5dfdb2(Text,{'children':[_0x4756e0(0x106),_0x318064,')']})}),_0x49b027&&_0x5c048a&&a3_0x5dfdb2(Box,{'flexDirection':_0x4756e0(0x108),'children':[a3_0x1122bb(Box,{'children':a3_0x1122bb(Text,{'color':_0x4756e0(0x119),'children':_0x4756e0(0x10a)})}),a3_0x1122bb(Box,{'marginTop':0x1,'children':a3_0x1122bb(Text,{'color':_0x4756e0(0x10c),'children':_0x4756e0(0xff)})}),a3_0x5dfdb2(Box,{'marginLeft':0x2,'children':[a3_0x5dfdb2(Text,{'color':_0x4756e0(0x11f),'children':['•\x20',_0x5c048a['api']]}),a3_0x1122bb(Text,{'color':_0x4756e0(0x115),'children':_0x4756e0(0x10b)})]}),a3_0x5dfdb2(Box,{'marginLeft':0x2,'children':[a3_0x5dfdb2(Text,{'color':_0x4756e0(0x11f),'children':['•\x20',_0x5c048a[_0x4756e0(0x11c)]]}),a3_0x1122bb(Text,{'color':_0x4756e0(0x115),'children':'\x20-\x20客户端实例文件'})]}),a3_0x1122bb(Box,{'marginTop':0x1,'children':a3_0x1122bb(Text,{'color':'gray','children':_0x4756e0(0x132)})}),a3_0x1122bb(Box,{'marginLeft':0x2,'children':a3_0x5dfdb2(Text,{'color':_0x4756e0(0x12a),'children':[_0x4756e0(0x120),'{\x20lovrabetClient\x20}',_0x4756e0(0x12e),_0x5c048a[_0x4756e0(0x11c)][_0x4756e0(0x110)](/^\.\//,'')['replace'](/^src\//,'')[_0x4756e0(0x110)](_0x4756e0(0x133),''),'\x27']})})]}),_0x42ca94&&a3_0x5dfdb2(Box,{'flexDirection':'column','children':[a3_0x1122bb(Box,{'children':a3_0x5dfdb2(Text,{'color':_0x4756e0(0x114),'children':['❌\x20',_0x42ca94]})}),_0x42ca94[_0x4756e0(0x104)]('登录')&&a3_0x5dfdb2(Box,{'marginTop':0x1,'children':[a3_0x1122bb(Text,{'color':_0x4756e0(0x12a),'children':_0x4756e0(0x134)}),a3_0x1122bb(Text,{'color':'cyan','children':_0x4756e0(0x122)}),a3_0x1122bb(Text,{'color':_0x4756e0(0x12a),'children':_0x4756e0(0x11d)})]})]})]});};
@@ -1 +1 @@
1
- function a4_0x2dba(_0x3e00c6,_0x449fc4){const _0x3589e0=a4_0x3589();return a4_0x2dba=function(_0x2dba6f,_0x4a50cd){_0x2dba6f=_0x2dba6f-0x9b;let _0x177b08=_0x3589e0[_0x2dba6f];return _0x177b08;},a4_0x2dba(_0x3e00c6,_0x449fc4);}function a4_0x3589(){const _0x2da101=['dbtableConfig','2032430qRVVCN','dataset','code','set','allFields','get','156MvtIGd','toUpperCase','map','trim','filter','forEach','88320FxhijU','2jmmXmA','118966YLfcPc','split','name','values','750332ieFxmN','tableName','dataset_','Api','946845JPLkVT','1179626gZIinx','16UNEdkI','replace','755HtbFCa'];a4_0x3589=function(){return _0x2da101;};return a4_0x3589();}(function(_0x4b1ca2,_0x28fb6e){const _0x518609=a4_0x2dba,_0x2471a2=_0x4b1ca2();while(!![]){try{const _0x241486=parseInt(_0x518609(0xad))/0x1*(parseInt(_0x518609(0xae))/0x2)+-parseInt(_0x518609(0xac))/0x3+parseInt(_0x518609(0xb2))/0x4+parseInt(_0x518609(0x9e))/0x5*(parseInt(_0x518609(0xa6))/0x6)+-parseInt(_0x518609(0x9b))/0x7+parseInt(_0x518609(0x9c))/0x8*(-parseInt(_0x518609(0xb6))/0x9)+parseInt(_0x518609(0xa0))/0xa;if(_0x241486===_0x28fb6e)break;else _0x2471a2['push'](_0x2471a2['shift']());}catch(_0x40b674){_0x2471a2['push'](_0x2471a2['shift']());}}}(a4_0x3589,0x19b86));export function formatDataset(_0x4ebf31){const _0x39b06e=a4_0x2dba,_0x68dae7=_0x4ebf31[_0x39b06e(0xaa)](_0x56c72=>_0x56c72[_0x39b06e(0x9f)]),_0x45fdd5=_0x4ebf31[_0x39b06e(0xaa)](_0x8dbed5=>!_0x8dbed5['dbtableConfig']),_0x14d256=new Map();_0x68dae7[_0x39b06e(0xab)](_0x5dec25=>{const _0x390fee=_0x39b06e,_0x35ccb0=_0x5dec25['dbtableConfig'][_0x390fee(0xb3)],_0x6f258c=_0x14d256[_0x390fee(0xa5)](_0x35ccb0);(!_0x6f258c||_0x5dec25['id']>_0x6f258c['id'])&&_0x14d256[_0x390fee(0xa3)](_0x35ccb0,_0x5dec25);});const _0x108c3f=Array['from'](_0x14d256[_0x39b06e(0xb1)]())[_0x39b06e(0xa8)](_0xe307f8=>{const _0x4f0372=_0x39b06e,_0x27e1d6=snakeToCamel(_0xe307f8[_0x4f0372(0x9f)][_0x4f0372(0xb3)]);return{'id':_0xe307f8['id'],'name':_0xe307f8['name'],'code':_0xe307f8[_0x4f0372(0xa2)],'tableName':_0xe307f8[_0x4f0372(0x9f)][_0x4f0372(0xb3)],'apiFucName':_0x27e1d6?_0x27e1d6+_0x4f0372(0xb5):'dataset'+_0xe307f8['code']+_0x4f0372(0xb5),'pkField':_0xe307f8[_0x4f0372(0x9f)]['pkField'],'allFields':_0xe307f8[_0x4f0372(0x9f)][_0x4f0372(0xa4)][_0x4f0372(0xaf)](',')};}),_0x22e53e=_0x45fdd5[_0x39b06e(0xa8)](_0x445340=>{const _0x3bf04e=_0x39b06e,_0x13240b=_0x3bf04e(0xb4)+_0x445340[_0x3bf04e(0xa2)],_0x4e686b=snakeToCamel(_0x13240b);return{'id':_0x445340['id'],'name':_0x445340[_0x3bf04e(0xb0)],'code':_0x445340[_0x3bf04e(0xa2)],'tableName':_0x13240b,'apiFucName':_0x4e686b?_0x4e686b+_0x3bf04e(0xb5):_0x3bf04e(0xa1)+_0x445340[_0x3bf04e(0xa2)]+_0x3bf04e(0xb5),'pkField':undefined,'allFields':[]};});return[..._0x108c3f,..._0x22e53e];}function snakeToCamel(_0x55fbec){const _0x2ed199=a4_0x2dba;if(!_0x55fbec)return _0x55fbec;const _0x6640ef=_0x55fbec[_0x2ed199(0xa9)]();return _0x6640ef[_0x2ed199(0x9d)](/_([a-zA-Z0-9])/g,(_0x487e36,_0xf179c9)=>_0xf179c9[_0x2ed199(0xa7)]());}
1
+ (function(_0x3084b8,_0x5e5690){const _0x5dbaa4=a4_0x4bb0,_0xff40e5=_0x3084b8();while(!![]){try{const _0x4aec91=parseInt(_0x5dbaa4(0x94))/0x1+-parseInt(_0x5dbaa4(0x9a))/0x2+-parseInt(_0x5dbaa4(0xa7))/0x3*(parseInt(_0x5dbaa4(0xa0))/0x4)+parseInt(_0x5dbaa4(0x99))/0x5*(-parseInt(_0x5dbaa4(0x8d))/0x6)+parseInt(_0x5dbaa4(0xa3))/0x7+parseInt(_0x5dbaa4(0x97))/0x8*(-parseInt(_0x5dbaa4(0xa6))/0x9)+parseInt(_0x5dbaa4(0x90))/0xa*(parseInt(_0x5dbaa4(0x9e))/0xb);if(_0x4aec91===_0x5e5690)break;else _0xff40e5['push'](_0xff40e5['shift']());}catch(_0x2bea06){_0xff40e5['push'](_0xff40e5['shift']());}}}(a4_0x4a33,0xbe1dd));function a4_0x4bb0(_0x36a66d,_0x16ad64){const _0x4a3314=a4_0x4a33();return a4_0x4bb0=function(_0x4bb0a8,_0x2e6b8e){_0x4bb0a8=_0x4bb0a8-0x8d;let _0x1fc4cf=_0x4a3314[_0x4bb0a8];return _0x1fc4cf;},a4_0x4bb0(_0x36a66d,_0x16ad64);}function a4_0x4a33(){const _0x4d54ed=['2782794uKJEVD','dbtableConfig','get','469143TLbsyr','186TxPvuK','137892ynyXLm','tableName','from','548190JqXLno','dataset_','dataset','values','1002009bHkEoP','map','name','216OwgnWn','replace','245vOcThU','1774000SqVLJy','pkField','code','Api','847XtLDJR','trim','91700Qxphwu','filter','allFields'];a4_0x4a33=function(){return _0x4d54ed;};return a4_0x4a33();}export function formatDataset(_0x3e0c68){const _0x346f56=a4_0x4bb0,_0x32ebdc=_0x3e0c68[_0x346f56(0xa1)](_0x2c7356=>_0x2c7356['dbtableConfig']),_0x571ac1=_0x3e0c68['filter'](_0x3f16bb=>!_0x3f16bb['dbtableConfig']),_0x30064c=new Map();_0x32ebdc['forEach'](_0x4cfa40=>{const _0x234d87=_0x346f56,_0x5f1e59=_0x4cfa40[_0x234d87(0xa4)][_0x234d87(0x8e)],_0x34732b=_0x30064c[_0x234d87(0xa5)](_0x5f1e59);(!_0x34732b||_0x4cfa40['id']>_0x34732b['id'])&&_0x30064c['set'](_0x5f1e59,_0x4cfa40);});const _0x17d8b1=Array[_0x346f56(0x8f)](_0x30064c[_0x346f56(0x93)]())[_0x346f56(0x95)](_0x32607f=>{const _0x31815e=_0x346f56,_0x3fdc16=snakeToCamel(_0x32607f['dbtableConfig'][_0x31815e(0x8e)]);return{'id':_0x32607f['id'],'name':_0x32607f[_0x31815e(0x96)],'code':_0x32607f[_0x31815e(0x9c)],'tableName':_0x32607f[_0x31815e(0xa4)][_0x31815e(0x8e)],'apiFucName':_0x3fdc16?_0x3fdc16+'Api':_0x31815e(0x92)+_0x32607f[_0x31815e(0x9c)]+'Api','pkField':_0x32607f['dbtableConfig'][_0x31815e(0x9b)],'allFields':_0x32607f[_0x31815e(0xa4)][_0x31815e(0xa2)]['split'](',')};}),_0x2f0991=_0x571ac1['map'](_0x5b8fc0=>{const _0x34dccb=_0x346f56,_0x19c3c0=_0x34dccb(0x91)+_0x5b8fc0[_0x34dccb(0x9c)],_0x4b05f2=snakeToCamel(_0x19c3c0);return{'id':_0x5b8fc0['id'],'name':_0x5b8fc0[_0x34dccb(0x96)],'code':_0x5b8fc0[_0x34dccb(0x9c)],'tableName':_0x19c3c0,'apiFucName':_0x4b05f2?_0x4b05f2+_0x34dccb(0x9d):'dataset'+_0x5b8fc0[_0x34dccb(0x9c)]+'Api','pkField':undefined,'allFields':[]};});return[..._0x17d8b1,..._0x2f0991];}function snakeToCamel(_0x35e58f){const _0x5b618f=a4_0x4bb0;if(!_0x35e58f)return _0x35e58f;const _0xdcf788=_0x35e58f[_0x5b618f(0x9f)]();return _0xdcf788[_0x5b618f(0x98)](/_([a-zA-Z0-9])/g,(_0x272323,_0x3b7b9b)=>_0x3b7b9b['toUpperCase']());}
@@ -1 +1 @@
1
- const a5_0x497cd3=a5_0x3bac;(function(_0x1df8c6,_0x1428f0){const _0x4aad75=a5_0x3bac,_0x9302f6=_0x1df8c6();while(!![]){try{const _0x2d40b9=-parseInt(_0x4aad75(0x119))/0x1*(-parseInt(_0x4aad75(0x122))/0x2)+parseInt(_0x4aad75(0x107))/0x3*(-parseInt(_0x4aad75(0x106))/0x4)+-parseInt(_0x4aad75(0x12c))/0x5+parseInt(_0x4aad75(0x102))/0x6*(parseInt(_0x4aad75(0x11f))/0x7)+-parseInt(_0x4aad75(0x115))/0x8*(parseInt(_0x4aad75(0x10a))/0x9)+-parseInt(_0x4aad75(0x125))/0xa*(-parseInt(_0x4aad75(0x120))/0xb)+parseInt(_0x4aad75(0x128))/0xc*(-parseInt(_0x4aad75(0x127))/0xd);if(_0x2d40b9===_0x1428f0)break;else _0x9302f6['push'](_0x9302f6['shift']());}catch(_0x1435ab){_0x9302f6['push'](_0x9302f6['shift']());}}}(a5_0x1f11,0xcd942));import a5_0x174ee0 from'prettier';import{mkdirSync,writeFileSync,readFileSync}from'node:fs';import a5_0x17faf3 from'node:path';import{fileURLToPath}from'node:url';import{readConfig}from'../utils/config.js';function a5_0x3bac(_0x2f0a79,_0x2d1ced){const _0x1f1109=a5_0x1f11();return a5_0x3bac=function(_0x3bac2d,_0x15b063){_0x3bac2d=_0x3bac2d-0xff;let _0x4aad8a=_0x1f1109[_0x3bac2d];return _0x4aad8a;},a5_0x3bac(_0x2f0a79,_0x2d1ced);}import{formatDataset}from'./format-dataset.js';import{TemplateReplacer}from'../utils/template-replacer.js';function a5_0x1f11(){const _0x2430e6=['url','\x20个模型)','client','4446070LerLVx','API\x20文件生成成功!','resolve','format','api','请先通过\x20`lovrabet\x20config\x20set\x20app\x20<value>`\x20配置应用\x20Code','dirname','apiFucName','9549984HTxqMx','online','./src/api/','\x22\x20}','244Awfjbr','27051ABLIzx','.ts','length','9PsRzce','CONFIG_NAMES.DEFAULT','-client','replace','code','slice','utf8','string','keys','{\x20apiConfigName:\x20','templates/generate-api','7720408pyjdma','tableName','api.ts.tpl','*\x20可以开始使用:\x20import\x20{\x20lovrabetClient\x20}\x20from\x20\x27@/','1uIogaw','typescript','../..','endsWith','app','join','7iqitgh','10038523DlKptA','\x20\x20\x20•\x20','1840502InElPp','env','log','10oIjsFE',',\x20env:\x20\x22','105274UwRwlJ','264fBMxkx'];a5_0x1f11=function(){return _0x2430e6;};return a5_0x1f11();}import{logger}from'../utils/logger.js';export async function generateApiFile(_0x432935,_0x241e99='',_0x1cecbe,_0x542e9e=![],_0x3ab604,_0x4a6586=a5_0x497cd3(0x104)){const _0x5b482d=a5_0x497cd3,_0x5ea918=readConfig(),_0x19676b=_0x1cecbe||_0x5ea918?.[_0x5b482d(0x11d)];if(typeof _0x19676b!==_0x5b482d(0x111)||!_0x19676b)throw new Error(_0x5b482d(0xff));const _0x53e6c6=_0x542e9e?_0x5b482d(0x10b):'\x22'+_0x19676b+'\x22',_0x2cc0c4=typeof _0x5ea918[_0x5b482d(0x123)]===_0x5b482d(0x111)?_0x5ea918['env']:undefined,_0x36d66d=_0x3ab604||_0x2cc0c4||'online',_0xcdacf0=_0x36d66d!==_0x5b482d(0x103);let _0x146b4b;if(_0x542e9e)_0xcdacf0?_0x146b4b=_0x5b482d(0x113)+_0x53e6c6+_0x5b482d(0x126)+_0x36d66d+_0x5b482d(0x105):_0x146b4b='';else{const _0x69b8d3=_0xcdacf0?_0x5b482d(0x126)+_0x36d66d+'\x22':'';_0x146b4b='{\x20apiConfigName:\x20\x22'+_0x19676b+'\x22'+_0x69b8d3+'\x20}';}const _0x5b4782=_0x241e99?_0x241e99+'-api':_0x5b482d(0x130),_0x3611c2=_0x241e99?_0x241e99+_0x5b482d(0x10c):_0x5b482d(0x12b),_0x2c2231=formatDataset(_0x432935),_0x1dcc50={};_0x2c2231['forEach'](_0x9e01c1=>{const _0x4df0f9=_0x5b482d,_0x1adc21=_0x9e01c1[_0x4df0f9(0x101)][_0x4df0f9(0x10d)](/Api$/,''),_0x14eb6c=_0x1adc21['charAt'](0x0)['toUpperCase']()+_0x1adc21[_0x4df0f9(0x10f)](0x1);_0x1dcc50[_0x14eb6c]={'tableName':_0x9e01c1[_0x4df0f9(0x116)],'datasetCode':_0x9e01c1[_0x4df0f9(0x10e)]};});const _0x4ff11c=fileURLToPath(import.meta[_0x5b482d(0x129)]),_0x50afeb=a5_0x17faf3[_0x5b482d(0x12e)](a5_0x17faf3[_0x5b482d(0x100)](_0x4ff11c),_0x5b482d(0x11b)),_0x53e496=a5_0x17faf3[_0x5b482d(0x11e)](_0x50afeb,_0x5b482d(0x114)),_0x330a79=a5_0x17faf3['join'](_0x53e496,_0x5b482d(0x117)),_0x47bdec=a5_0x17faf3[_0x5b482d(0x11e)](_0x53e496,'client.ts.tpl'),_0x5a3feb=_0x4a6586[_0x5b482d(0x11c)]('/')?_0x4a6586[_0x5b482d(0x10f)](0x0,-0x1):_0x4a6586;mkdirSync(_0x5a3feb,{'recursive':!![]});const _0x877e1e=readFileSync(_0x330a79,'utf8'),_0x1ffd50=TemplateReplacer['replaceApiContent'](_0x877e1e,_0x19676b,_0x1dcc50,Object[_0x5b482d(0x112)](_0x1dcc50)[0x0],_0x5b4782,_0x53e6c6),_0x1c7055=await a5_0x174ee0[_0x5b482d(0x12f)](_0x1ffd50,{'parser':_0x5b482d(0x11a)}),_0x29e2f8=_0x5a3feb+'/'+_0x5b4782+_0x5b482d(0x108);writeFileSync(_0x29e2f8,_0x1c7055,{'encoding':_0x5b482d(0x110)});const _0x44f452=readFileSync(_0x47bdec,'utf8'),_0x4ef9c4=TemplateReplacer['replaceApiContent'](_0x44f452,_0x19676b,_0x1dcc50,Object[_0x5b482d(0x112)](_0x1dcc50)[0x0],_0x5b4782,_0x53e6c6,_0x146b4b),_0x98547b=await a5_0x174ee0['format'](_0x4ef9c4,{'parser':_0x5b482d(0x11a)}),_0x453dc5=_0x5a3feb+'/'+_0x3611c2+_0x5b482d(0x108);writeFileSync(_0x453dc5,_0x98547b,{'encoding':_0x5b482d(0x110)}),logger['success']('init-api',_0x5b482d(0x12d)),console['log']('*\x20已生成文件:'),console[_0x5b482d(0x124)](_0x5b482d(0x121)+_0x29e2f8+'\x20-\x20模型配置文件\x20('+Object[_0x5b482d(0x112)](_0x1dcc50)[_0x5b482d(0x109)]+_0x5b482d(0x12a)),console[_0x5b482d(0x124)]('\x20\x20\x20•\x20'+_0x453dc5+'\x20-\x20客户端实例文件'),console[_0x5b482d(0x124)]('*\x20API配置\x20apiConfigName\x20:\x20'+_0x53e6c6);const _0x341fc7=_0x5a3feb[_0x5b482d(0x10d)](/^\.\//,'')[_0x5b482d(0x10d)](/\/$/,'');console['log'](_0x5b482d(0x118)+_0x341fc7+'/'+_0x3611c2+'\x27');}
1
+ function a5_0x5799(){const _0x14eeeb=['\x20\x20\x20•\x20','*\x20API配置\x20apiConfigName\x20:\x20','init-api',',\x20env:\x20\x22','client.ts.tpl','client','1194242keecaV','code','log','1954458YaViIB','env','dirname','string','1228221VEonCQ','37315PJPTlB','207847COVwPg','API\x20文件生成成功!','replaceApiContent','app','*\x20可以开始使用:\x20import\x20{\x20lovrabetClient\x20}\x20from\x20\x27@/','CONFIG_NAMES.DEFAULT','6605352xvZIfA','6NEtvGU','{\x20apiConfigName:\x20\x22','templates/generate-api','slice','replace','online','resolve','length','api.ts.tpl','api','{\x20apiConfigName:\x20','toUpperCase','format','utf8','apiFucName','join','typescript','.ts','604OvyKwX','\x20-\x20客户端实例文件','\x22\x20}','1813746vhlxFT','30tBmKHZ','../..','请先通过\x20`lovrabet\x20config\x20set\x20app\x20<value>`\x20配置应用\x20Code','tableName','keys','*\x20已生成文件:'];a5_0x5799=function(){return _0x14eeeb;};return a5_0x5799();}(function(_0x78c4da,_0x4ba294){const _0x3e6e18=a5_0x2a1b,_0x3a72cb=_0x78c4da();while(!![]){try{const _0xc419c4=parseInt(_0x3e6e18(0x1db))/0x1*(-parseInt(_0x3e6e18(0x1e2))/0x2)+parseInt(_0x3e6e18(0x1d5))/0x3+-parseInt(_0x3e6e18(0x1f4))/0x4*(parseInt(_0x3e6e18(0x1da))/0x5)+parseInt(_0x3e6e18(0x1f7))/0x6+parseInt(_0x3e6e18(0x1d2))/0x7+parseInt(_0x3e6e18(0x1e1))/0x8+parseInt(_0x3e6e18(0x1d9))/0x9*(parseInt(_0x3e6e18(0x1f8))/0xa);if(_0xc419c4===_0x4ba294)break;else _0x3a72cb['push'](_0x3a72cb['shift']());}catch(_0x128db5){_0x3a72cb['push'](_0x3a72cb['shift']());}}}(a5_0x5799,0x94aed));import a5_0x10a6d0 from'prettier';import{mkdirSync,writeFileSync,readFileSync}from'node:fs';import a5_0x3e1008 from'node:path';import{fileURLToPath}from'node:url';import{readConfig}from'../utils/config.js';import{formatDataset}from'./format-dataset.js';import{TemplateReplacer}from'../utils/template-replacer.js';import{logger}from'../utils/logger.js';function a5_0x2a1b(_0x58f316,_0x3568b2){const _0x5799d3=a5_0x5799();return a5_0x2a1b=function(_0x2a1b6d,_0x21d44d){_0x2a1b6d=_0x2a1b6d-0x1d2;let _0x3d616d=_0x5799d3[_0x2a1b6d];return _0x3d616d;},a5_0x2a1b(_0x58f316,_0x3568b2);}export async function generateApiFile(_0x2d8a00,_0x8a5e50='',_0x3bf8fa,_0x53cac0=![],_0xba449c,_0x555aa3='./src/api/'){const _0x3ecc21=a5_0x2a1b,_0x7ad4cf=readConfig(),_0x532233=_0x3bf8fa||_0x7ad4cf?.[_0x3ecc21(0x1de)];if(typeof _0x532233!==_0x3ecc21(0x1d8)||!_0x532233)throw new Error(_0x3ecc21(0x1fa));const _0x262581=_0x53cac0?_0x3ecc21(0x1e0):'\x22'+_0x532233+'\x22',_0xe1acd7=typeof _0x7ad4cf[_0x3ecc21(0x1d6)]===_0x3ecc21(0x1d8)?_0x7ad4cf[_0x3ecc21(0x1d6)]:undefined,_0x90fbad=_0xba449c||_0xe1acd7||_0x3ecc21(0x1e7),_0x355764=_0x90fbad!=='online';let _0x34aaae;if(_0x53cac0)_0x355764?_0x34aaae=_0x3ecc21(0x1ec)+_0x262581+_0x3ecc21(0x201)+_0x90fbad+_0x3ecc21(0x1f6):_0x34aaae='';else{const _0x249dfa=_0x355764?_0x3ecc21(0x201)+_0x90fbad+'\x22':'';_0x34aaae=_0x3ecc21(0x1e3)+_0x532233+'\x22'+_0x249dfa+'\x20}';}const _0x182a68=_0x8a5e50?_0x8a5e50+'-api':_0x3ecc21(0x1eb),_0x272643=_0x8a5e50?_0x8a5e50+'-client':_0x3ecc21(0x203),_0x3fff97=formatDataset(_0x2d8a00),_0x2ddf38={};_0x3fff97['forEach'](_0x2d8bac=>{const _0x4f6e04=_0x3ecc21,_0x313bd0=_0x2d8bac[_0x4f6e04(0x1f0)]['replace'](/Api$/,''),_0x4f6214=_0x313bd0['charAt'](0x0)[_0x4f6e04(0x1ed)]()+_0x313bd0[_0x4f6e04(0x1e5)](0x1);_0x2ddf38[_0x4f6214]={'tableName':_0x2d8bac[_0x4f6e04(0x1fb)],'datasetCode':_0x2d8bac[_0x4f6e04(0x1d3)]};});const _0xcd1394=fileURLToPath(import.meta['url']),_0x9ac6da=a5_0x3e1008[_0x3ecc21(0x1e8)](a5_0x3e1008[_0x3ecc21(0x1d7)](_0xcd1394),_0x3ecc21(0x1f9)),_0xc879d=a5_0x3e1008[_0x3ecc21(0x1f1)](_0x9ac6da,_0x3ecc21(0x1e4)),_0x5428d1=a5_0x3e1008[_0x3ecc21(0x1f1)](_0xc879d,_0x3ecc21(0x1ea)),_0x33b543=a5_0x3e1008[_0x3ecc21(0x1f1)](_0xc879d,_0x3ecc21(0x202)),_0x265f6b=_0x555aa3['endsWith']('/')?_0x555aa3['slice'](0x0,-0x1):_0x555aa3;mkdirSync(_0x265f6b,{'recursive':!![]});const _0x1693d0=readFileSync(_0x5428d1,_0x3ecc21(0x1ef)),_0x5dd704=TemplateReplacer['replaceApiContent'](_0x1693d0,_0x532233,_0x2ddf38,Object[_0x3ecc21(0x1fc)](_0x2ddf38)[0x0],_0x182a68,_0x262581),_0x44431e=await a5_0x10a6d0[_0x3ecc21(0x1ee)](_0x5dd704,{'parser':_0x3ecc21(0x1f2)}),_0x33332a=_0x265f6b+'/'+_0x182a68+_0x3ecc21(0x1f3);writeFileSync(_0x33332a,_0x44431e,{'encoding':'utf8'});const _0x3bd38e=readFileSync(_0x33b543,_0x3ecc21(0x1ef)),_0x19954e=TemplateReplacer[_0x3ecc21(0x1dd)](_0x3bd38e,_0x532233,_0x2ddf38,Object[_0x3ecc21(0x1fc)](_0x2ddf38)[0x0],_0x182a68,_0x262581,_0x34aaae),_0x87db8d=await a5_0x10a6d0[_0x3ecc21(0x1ee)](_0x19954e,{'parser':_0x3ecc21(0x1f2)}),_0x235d1d=_0x265f6b+'/'+_0x272643+_0x3ecc21(0x1f3);writeFileSync(_0x235d1d,_0x87db8d,{'encoding':_0x3ecc21(0x1ef)}),logger['success'](_0x3ecc21(0x200),_0x3ecc21(0x1dc)),console[_0x3ecc21(0x1d4)](_0x3ecc21(0x1fd)),console[_0x3ecc21(0x1d4)](_0x3ecc21(0x1fe)+_0x33332a+'\x20-\x20模型配置文件\x20('+Object[_0x3ecc21(0x1fc)](_0x2ddf38)[_0x3ecc21(0x1e9)]+'\x20个模型)'),console[_0x3ecc21(0x1d4)](_0x3ecc21(0x1fe)+_0x235d1d+_0x3ecc21(0x1f5)),console[_0x3ecc21(0x1d4)](_0x3ecc21(0x1ff)+_0x262581);const _0x3b016c=_0x265f6b['replace'](/^\.\//,'')[_0x3ecc21(0x1e6)](/\/$/,'');console['log'](_0x3ecc21(0x1df)+_0x3b016c+'/'+_0x272643+'\x27');}
package/lib/api/main.js CHANGED
@@ -1 +1 @@
1
- (function(_0x8998b6,_0x44aa6c){const _0x201587=a6_0x3ae3,_0x4fcb9d=_0x8998b6();while(!![]){try{const _0x36607d=parseInt(_0x201587(0x14f))/0x1+parseInt(_0x201587(0x14a))/0x2*(parseInt(_0x201587(0x14e))/0x3)+parseInt(_0x201587(0x152))/0x4+-parseInt(_0x201587(0x153))/0x5+parseInt(_0x201587(0x154))/0x6+parseInt(_0x201587(0x14b))/0x7+parseInt(_0x201587(0x159))/0x8*(-parseInt(_0x201587(0x151))/0x9);if(_0x36607d===_0x44aa6c)break;else _0x4fcb9d['push'](_0x4fcb9d['shift']());}catch(_0x3d4382){_0x4fcb9d['push'](_0x4fcb9d['shift']());}}}(a6_0x353f,0xb295a));import{jsx as a6_0xc600d5}from'react/jsx-runtime';function a6_0x3ae3(_0x14faf0,_0x5bf349){const _0x353f46=a6_0x353f();return a6_0x3ae3=function(_0x3ae34d,_0x1d28bb){_0x3ae34d=_0x3ae34d-0x145;let _0x1a338b=_0x353f46[_0x3ae34d];return _0x1a338b;},a6_0x3ae3(_0x14faf0,_0x5bf349);}import{render}from'ink';import{ApiPullUI}from'./api-pull-ui.js';function a6_0x353f(){const _0x5a8db4=['3pTVeoT','1036458oNezsn','\x20\x20lovrabet\x20api\x20pull\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20拉取并生成\x20API\x20配置文件','2452941kPKxjz','5466408tVyhzB','3004185nGeFnx','109506rpIYuP','string','\x20\x20lovrabet\x20api\x20pull\x20--env\x20<env>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境(如:\x20daily,\x20online)','\x0alovrabet\x20api\x20-\x20API\x20相关操作\x0a\x0a用法:\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20[options]\x0a\x0a选项:\x0a\x20\x20--appcode\x20<code>\x20\x20\x20\x20指定应用代码\x0a\x20\x20--output\x20<dir>\x20\x20\x20\x20\x20\x20指定输出目录(默认:./src/api/)\x0a\x20\x20--env\x20<env>\x20\x20\x20\x20\x20\x20\x20\x20\x20指定环境(如:daily、online)\x0a\x20\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20显示此帮助信息\x0a\x0a示例:\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20拉取并生成\x20API\x20配置文件\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20--appcode\x20myapp\x20\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20--output\x20./api\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定输出目录\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20--env\x20daily\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境拉取\x20API\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20--appcode\x20myapp\x20--env\x20daily\x20--output\x20./api\x0a','env','56kvmReI','flags','output','error','input','\x20\x20lovrabet\x20api\x20pull\x20--output\x20<dir>\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定输出目录(默认:\x20./src/api/)','❌\x20错误:不再支持位置参数方式','请使用\x20--appcode\x20参数,例如:','appcode','pull','log','exit','1143764nLbBlc','1728783NGvlyH','\x20\x20lovrabet\x20api\x20pull\x20--appcode\x20<code>\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode','help'];a6_0x353f=function(){return _0x5a8db4;};return a6_0x353f();}export async function apiCli(_0x2b71ad){const _0x9d8cda=a6_0x3ae3,_0x554b5f=_0x2b71ad[_0x9d8cda(0x15d)][0x1];if(_0x2b71ad['flags'][_0x9d8cda(0x14d)]){console[_0x9d8cda(0x148)](_0x9d8cda(0x157));return;}if(_0x554b5f===_0x9d8cda(0x147)){_0x2b71ad['input'][0x2]&&(console[_0x9d8cda(0x15c)](_0x9d8cda(0x15f)),console[_0x9d8cda(0x148)](_0x9d8cda(0x145)),console[_0x9d8cda(0x148)]('\x20\x20lovrabet\x20api\x20pull\x20--appcode\x20'+_0x2b71ad[_0x9d8cda(0x15d)][0x2]),process[_0x9d8cda(0x149)](0x1));const _0xf3d9c2=_0x2b71ad[_0x9d8cda(0x15a)][_0x9d8cda(0x146)],_0x11847d=typeof _0x2b71ad[_0x9d8cda(0x15a)]['env']===_0x9d8cda(0x155)?_0x2b71ad['flags'][_0x9d8cda(0x158)]:undefined,_0x33d538=_0x2b71ad['flags'][_0x9d8cda(0x15b)];render(a6_0xc600d5(ApiPullUI,{'appCode':_0xf3d9c2,'env':_0x11847d,'output':_0x33d538}));}else console[_0x9d8cda(0x15c)]('Unknown\x20api\x20command:\x20'+_0x554b5f),console['log']('Available\x20commands:'),console[_0x9d8cda(0x148)](_0x9d8cda(0x150)),console[_0x9d8cda(0x148)](_0x9d8cda(0x14c)),console[_0x9d8cda(0x148)](_0x9d8cda(0x15e)),console[_0x9d8cda(0x148)](_0x9d8cda(0x156)),process['exit'](0x1);}
1
+ (function(_0xf91ed7,_0x3d0b06){const _0x7ae519=a6_0xd871,_0x462874=_0xf91ed7();while(!![]){try{const _0x5bc0c2=-parseInt(_0x7ae519(0x1d7))/0x1*(parseInt(_0x7ae519(0x1cd))/0x2)+-parseInt(_0x7ae519(0x1c8))/0x3*(parseInt(_0x7ae519(0x1c6))/0x4)+parseInt(_0x7ae519(0x1c7))/0x5+parseInt(_0x7ae519(0x1c4))/0x6*(-parseInt(_0x7ae519(0x1db))/0x7)+parseInt(_0x7ae519(0x1d3))/0x8+-parseInt(_0x7ae519(0x1c5))/0x9+parseInt(_0x7ae519(0x1d9))/0xa;if(_0x5bc0c2===_0x3d0b06)break;else _0x462874['push'](_0x462874['shift']());}catch(_0x38bbdc){_0x462874['push'](_0x462874['shift']());}}}(a6_0x4422,0x4ad24));import{jsx as a6_0x3e465d}from'react/jsx-runtime';function a6_0xd871(_0xe7406f,_0xde077d){const _0x4422e5=a6_0x4422();return a6_0xd871=function(_0xd871c7,_0x879a5a){_0xd871c7=_0xd871c7-0x1c4;let _0x2e2e97=_0x4422e5[_0xd871c7];return _0x2e2e97;},a6_0xd871(_0xe7406f,_0xde077d);}function a6_0x4422(){const _0x16862c=['Unknown\x20api\x20command:\x20','input','3826LNFqyS','error','\x20\x20lovrabet\x20api\x20pull\x20--appcode\x20','exit','Available\x20commands:','env','2024376mUvNfb','output','log','\x20\x20lovrabet\x20api\x20pull\x20--env\x20<env>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境(如:\x20daily,\x20online)','199wBcLkQ','\x20\x20lovrabet\x20api\x20pull\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20拉取并生成\x20API\x20配置文件','16524320vHygms','\x20\x20lovrabet\x20api\x20pull\x20--appcode\x20<code>\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode','30604rLHAME','786rycmnr','5327541GFtOpc','550524XenzVO','419940RqJiLz','3USYtKq','flags','\x0alovrabet\x20api\x20-\x20API\x20相关操作\x0a\x0a用法:\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20[options]\x0a\x0a选项:\x0a\x20\x20--appcode\x20<code>\x20\x20\x20\x20指定应用代码\x0a\x20\x20--output\x20<dir>\x20\x20\x20\x20\x20\x20指定输出目录(默认:./src/api/)\x0a\x20\x20--env\x20<env>\x20\x20\x20\x20\x20\x20\x20\x20\x20指定环境(如:daily、online)\x0a\x20\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20显示此帮助信息\x0a\x0a示例:\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20拉取并生成\x20API\x20配置文件\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20--appcode\x20myapp\x20\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20--output\x20./api\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定输出目录\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20--env\x20daily\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境拉取\x20API\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20--appcode\x20myapp\x20--env\x20daily\x20--output\x20./api\x0a'];a6_0x4422=function(){return _0x16862c;};return a6_0x4422();}import{render}from'ink';import{ApiPullUI}from'./api-pull-ui.js';export async function apiCli(_0x59a072){const _0xf85b04=a6_0xd871,_0x471ddf=_0x59a072[_0xf85b04(0x1cc)][0x1];if(_0x59a072[_0xf85b04(0x1c9)]['help']){console[_0xf85b04(0x1d5)](_0xf85b04(0x1ca));return;}if(_0x471ddf==='pull'){_0x59a072['input'][0x2]&&(console['error']('❌\x20错误:不再支持位置参数方式'),console[_0xf85b04(0x1d5)]('请使用\x20--appcode\x20参数,例如:'),console['log'](_0xf85b04(0x1cf)+_0x59a072[_0xf85b04(0x1cc)][0x2]),process[_0xf85b04(0x1d0)](0x1));const _0x3c2359=_0x59a072[_0xf85b04(0x1c9)]['appcode'],_0x139a81=typeof _0x59a072['flags']['env']==='string'?_0x59a072[_0xf85b04(0x1c9)][_0xf85b04(0x1d2)]:undefined,_0x1b71dd=_0x59a072[_0xf85b04(0x1c9)][_0xf85b04(0x1d4)];render(a6_0x3e465d(ApiPullUI,{'appCode':_0x3c2359,'env':_0x139a81,'output':_0x1b71dd}));}else console[_0xf85b04(0x1ce)](_0xf85b04(0x1cb)+_0x471ddf),console[_0xf85b04(0x1d5)](_0xf85b04(0x1d1)),console[_0xf85b04(0x1d5)](_0xf85b04(0x1d8)),console[_0xf85b04(0x1d5)](_0xf85b04(0x1da)),console[_0xf85b04(0x1d5)]('\x20\x20lovrabet\x20api\x20pull\x20--output\x20<dir>\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定输出目录(默认:\x20./src/api/)'),console[_0xf85b04(0x1d5)](_0xf85b04(0x1d6)),process[_0xf85b04(0x1d0)](0x1);}
@@ -1 +1 @@
1
- (function(_0x1437ca,_0x2482ff){const _0x25a84f=a7_0x2a24,_0x159dee=_0x1437ca();while(!![]){try{const _0x2ef2c4=parseInt(_0x25a84f(0xb5))/0x1+parseInt(_0x25a84f(0x9e))/0x2+parseInt(_0x25a84f(0xa2))/0x3*(-parseInt(_0x25a84f(0xaf))/0x4)+-parseInt(_0x25a84f(0xa3))/0x5*(-parseInt(_0x25a84f(0x97))/0x6)+parseInt(_0x25a84f(0xb4))/0x7*(parseInt(_0x25a84f(0x99))/0x8)+parseInt(_0x25a84f(0x95))/0x9+-parseInt(_0x25a84f(0xbe))/0xa;if(_0x2ef2c4===_0x2482ff)break;else _0x159dee['push'](_0x159dee['shift']());}catch(_0x133fe3){_0x159dee['push'](_0x159dee['shift']());}}}(a7_0x1953,0xcf2d6));function a7_0x2a24(_0x39d6b6,_0x5be0a4){const _0x195389=a7_0x1953();return a7_0x2a24=function(_0x2a2443,_0x330a39){_0x2a2443=_0x2a2443-0x93;let _0x2518ad=_0x195389[_0x2a2443];return _0x2518ad;},a7_0x2a24(_0x39d6b6,_0x5be0a4);}import{readConfig}from'../utils/config.js';function a7_0x1953(){const _0x224f3e=['data','3vFhctm','20cvkAtX','-client','error','env','×\x20服务器返回错误:','API\x20配置拉取成功:\x20','API\x20配置拉取异常:\x20','length','cwd','.ts\x20-\x20模型配置文件','\x20个数据集...','API\x20配置拉取失败:\x20','1793116CaQokS','未知错误','online','&pageSize=999&currentPage=1','message','273FkAVBn','1454535acKRea','-api',',且无法读取错误响应内容','获取数据集失败,原因:登录鉴权失败,登录已过期','log','test','×\x20API\x20配置拉取异常:','*\x20正在处理\x20','\x20\x20\x20•\x20','42656010odezAi','.ts\x20-\x20客户端实例文件','status','√\x20API\x20配置文件生成完成','/smartapi/dataset/getList?appCode=','string','api','success','1599912FPJzPt','text','1596966oLazqQ','url','326504TizhIT','获取数据集失败,HTTP状态码:\x20','tableData','client','×\x20错误详情:','2547648fcbxXk','create-api-pull','chdir'];a7_0x1953=function(){return _0x224f3e;};return a7_0x1953();}import{getCookie}from'../auth/get-cookie.js';import{getApiDomain}from'../constant/domain.js';import{initEnv}from'../constant/env.js';import{generateApiFile}from'./generate-api-file.js';import{logger}from'../utils/logger.js';import{httpRequest}from'../utils/http-client.js';export async function pullApiSilent(_0x2bf723,_0x28a047,_0xd0d7e7,_0x3d4572){const _0x528db2=a7_0x2a24;let _0x47e646;try{const _0x5b23d3=_0x28a047?.['trim']()||'';if(_0x5b23d3){const _0x4553eb=/^[a-zA-Z][a-zA-Z0-9_-]*$/;if(!_0x4553eb[_0x528db2(0xba)](_0x5b23d3))return console[_0x528db2(0xa5)]('×\x20文件前缀格式不正确。只能包含字母、数字、连字符和下划线,且必须以字母开头。'),![];}_0xd0d7e7&&(_0x47e646=process[_0x528db2(0xab)](),process[_0x528db2(0xa0)](_0xd0d7e7));const _0x34f6f4=readConfig(),_0x15b6fd=typeof _0x34f6f4[_0x528db2(0xa6)]===_0x528db2(0xc3)?_0x34f6f4[_0x528db2(0xa6)]:undefined,_0x40610c=_0x3d4572||_0x15b6fd||_0x528db2(0xb1);initEnv(_0x40610c),console[_0x528db2(0xb9)]('*\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20'+_0x40610c+')');const _0x33fdfb=getApiDomain()+_0x528db2(0xc2)+_0x2bf723+_0x528db2(0xb2),_0x4ec561=await httpRequest(_0x33fdfb,{'headers':{'Cookie':getCookie()},'timeout':0xea60,'retries':0x2});if(_0x4ec561['ok']){const _0x3b523c=_0x4ec561['data'];if(_0x3b523c[_0x528db2(0x94)]){const _0x2d61e2=_0x5b23d3?_0x5b23d3+_0x528db2(0xb6):_0x528db2(0x93),_0x3137d7=_0x5b23d3?_0x5b23d3+_0x528db2(0xa4):_0x528db2(0x9c);return console['log']('*\x20开始生成\x20API\x20配置文件:'),console['log'](_0x528db2(0xbd)+_0x2d61e2+_0x528db2(0xac)),console[_0x528db2(0xb9)](_0x528db2(0xbd)+_0x3137d7+_0x528db2(0xbf)),console[_0x528db2(0xb9)](_0x528db2(0xbc)+_0x3b523c[_0x528db2(0xa1)][_0x528db2(0x9b)]['length']+_0x528db2(0xad)),await generateApiFile(_0x3b523c[_0x528db2(0xa1)][_0x528db2(0x9b)],_0x5b23d3,_0x2bf723,!![],_0x40610c),console['log'](_0x528db2(0xc1)),_0xd0d7e7&&logger['info'](_0x528db2(0x9f),_0x528db2(0xa8)+_0x2bf723,{'projectPath':_0xd0d7e7,'appCode':_0x2bf723,'datasetCount':_0x3b523c[_0x528db2(0xa1)]['tableData'][_0x528db2(0xaa)],'filePrefix':_0x5b23d3}),!![];}else return console[_0x528db2(0xa5)](_0x528db2(0xa7),_0x3b523c['message']||'未知错误'),_0xd0d7e7&&logger['error'](_0x528db2(0x9f),_0x528db2(0xae)+(_0x3b523c[_0x528db2(0xb3)]||_0x528db2(0xb0)),{'projectPath':_0xd0d7e7,'appCode':_0x2bf723}),![];}else{if(_0x4ec561[_0x528db2(0xc0)]===0x191){const _0x2ef8d0=_0x528db2(0xb8);console['error']('×\x20'+_0x2ef8d0),_0xd0d7e7&&logger['error'](_0x528db2(0x9f),_0x2ef8d0,{'status':_0x4ec561[_0x528db2(0xc0)],'appCode':_0x2bf723,'url':_0x4ec561[_0x528db2(0x98)],'projectPath':_0xd0d7e7});}else{const _0x1299df=_0x528db2(0x9a)+_0x4ec561[_0x528db2(0xc0)];console['error']('×\x20'+_0x1299df);try{const _0x19a540=await _0x4ec561[_0x528db2(0x96)]();_0x19a540&&console['error'](_0x528db2(0x9d),_0x19a540),_0xd0d7e7&&logger[_0x528db2(0xa5)](_0x528db2(0x9f),_0x1299df,{'status':_0x4ec561['status'],'appCode':_0x2bf723,'url':_0x4ec561[_0x528db2(0x98)],'errorBody':_0x19a540,'projectPath':_0xd0d7e7});}catch(_0x29bfa4){console[_0x528db2(0xa5)]('×\x20无法读取错误响应内容'),_0xd0d7e7&&logger['error'](_0x528db2(0x9f),_0x1299df+_0x528db2(0xb7),{'status':_0x4ec561[_0x528db2(0xc0)],'appCode':_0x2bf723,'url':_0x4ec561[_0x528db2(0x98)],'readError':_0x29bfa4 instanceof Error?_0x29bfa4[_0x528db2(0xb3)]:String(_0x29bfa4),'projectPath':_0xd0d7e7});}}return![];}}catch(_0xc3ef25){const _0x51b212=_0xc3ef25 instanceof Error?_0xc3ef25[_0x528db2(0xb3)]:String(_0xc3ef25);return console[_0x528db2(0xa5)](_0x528db2(0xbb),_0x51b212),_0xd0d7e7&&logger['error'](_0x528db2(0x9f),_0x528db2(0xa9)+_0x51b212,{'appCode':_0x2bf723,'projectPath':_0xd0d7e7}),![];}finally{_0x47e646&&process[_0x528db2(0xa0)](_0x47e646);}}
1
+ (function(_0x5e3972,_0x4d9c87){const _0x5c29b7=a7_0x12c3,_0x5ebf8e=_0x5e3972();while(!![]){try{const _0x21027b=-parseInt(_0x5c29b7(0x1a6))/0x1*(parseInt(_0x5c29b7(0x1b8))/0x2)+parseInt(_0x5c29b7(0x19b))/0x3+-parseInt(_0x5c29b7(0x192))/0x4*(-parseInt(_0x5c29b7(0x195))/0x5)+-parseInt(_0x5c29b7(0x194))/0x6*(parseInt(_0x5c29b7(0x19f))/0x7)+parseInt(_0x5c29b7(0x1ab))/0x8*(parseInt(_0x5c29b7(0x19d))/0x9)+-parseInt(_0x5c29b7(0x18f))/0xa+parseInt(_0x5c29b7(0x1a5))/0xb;if(_0x21027b===_0x4d9c87)break;else _0x5ebf8e['push'](_0x5ebf8e['shift']());}catch(_0xb81c79){_0x5ebf8e['push'](_0x5ebf8e['shift']());}}}(a7_0x99c8,0xc364c));import{readConfig}from'../utils/config.js';import{getCookie}from'../auth/get-cookie.js';function a7_0x12c3(_0x4223a0,_0x1294e8){const _0x99c89a=a7_0x99c8();return a7_0x12c3=function(_0x12c390,_0x327432){_0x12c390=_0x12c390-0x18e;let _0x427608=_0x99c89a[_0x12c390];return _0x427608;},a7_0x12c3(_0x4223a0,_0x1294e8);}import{getApiDomain}from'../constant/domain.js';import{initEnv}from'../constant/env.js';function a7_0x99c8(){const _0x3ad075=['6147784HmQFuL','status','api','string','-api','-client','API\x20配置拉取成功:\x20','tableData','/smartapi/dataset/getList?appCode=','success','log','data','cwd','2286990HWhbVu','√\x20API\x20配置文件生成完成','test','未知错误','1681230tZatbt','url','create-api-pull','572maKhCI','获取数据集失败,HTTP状态码:\x20','41646WZswfB','7475JvYyIF','获取数据集失败,原因:登录鉴权失败,登录已过期','×\x20API\x20配置拉取异常:','env','text','chdir','3818379KYnoUi','error','9ifGubd','API\x20配置拉取失败:\x20','273ovpWVt','info','×\x20错误详情:','message',',且无法读取错误响应内容','length','1403578HHLleP','1lqJgwx','client','.ts\x20-\x20客户端实例文件','\x20\x20\x20•\x20','×\x20服务器返回错误:'];a7_0x99c8=function(){return _0x3ad075;};return a7_0x99c8();}import{generateApiFile}from'./generate-api-file.js';import{logger}from'../utils/logger.js';import{httpRequest}from'../utils/http-client.js';export async function pullApiSilent(_0x2efd51,_0xf51efc,_0x1bcc57,_0x51830d){const _0x5e8b28=a7_0x12c3;let _0x1e122b;try{const _0x4a435f=_0xf51efc?.['trim']()||'';if(_0x4a435f){const _0x4df62d=/^[a-zA-Z][a-zA-Z0-9_-]*$/;if(!_0x4df62d[_0x5e8b28(0x1ba)](_0x4a435f))return console[_0x5e8b28(0x19c)]('×\x20文件前缀格式不正确。只能包含字母、数字、连字符和下划线,且必须以字母开头。'),![];}_0x1bcc57&&(_0x1e122b=process[_0x5e8b28(0x1b7)](),process[_0x5e8b28(0x19a)](_0x1bcc57));const _0x5786c4=readConfig(),_0x233013=typeof _0x5786c4[_0x5e8b28(0x198)]===_0x5e8b28(0x1ae)?_0x5786c4[_0x5e8b28(0x198)]:undefined,_0x1c1e62=_0x51830d||_0x233013||'online';initEnv(_0x1c1e62),console['log']('*\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20'+_0x1c1e62+')');const _0x59a2d2=getApiDomain()+_0x5e8b28(0x1b3)+_0x2efd51+'&pageSize=999&currentPage=1',_0x56c19c=await httpRequest(_0x59a2d2,{'headers':{'Cookie':getCookie()},'timeout':0xea60,'retries':0x2});if(_0x56c19c['ok']){const _0x360cae=_0x56c19c[_0x5e8b28(0x1b6)];if(_0x360cae[_0x5e8b28(0x1b4)]){const _0x5cd6bc=_0x4a435f?_0x4a435f+_0x5e8b28(0x1af):_0x5e8b28(0x1ad),_0x23dab3=_0x4a435f?_0x4a435f+_0x5e8b28(0x1b0):_0x5e8b28(0x1a7);return console[_0x5e8b28(0x1b5)]('*\x20开始生成\x20API\x20配置文件:'),console[_0x5e8b28(0x1b5)](_0x5e8b28(0x1a9)+_0x5cd6bc+'.ts\x20-\x20模型配置文件'),console[_0x5e8b28(0x1b5)](_0x5e8b28(0x1a9)+_0x23dab3+_0x5e8b28(0x1a8)),console[_0x5e8b28(0x1b5)]('*\x20正在处理\x20'+_0x360cae['data'][_0x5e8b28(0x1b2)][_0x5e8b28(0x1a4)]+'\x20个数据集...'),await generateApiFile(_0x360cae[_0x5e8b28(0x1b6)][_0x5e8b28(0x1b2)],_0x4a435f,_0x2efd51,!![],_0x1c1e62),console[_0x5e8b28(0x1b5)](_0x5e8b28(0x1b9)),_0x1bcc57&&logger[_0x5e8b28(0x1a0)](_0x5e8b28(0x191),_0x5e8b28(0x1b1)+_0x2efd51,{'projectPath':_0x1bcc57,'appCode':_0x2efd51,'datasetCount':_0x360cae['data'][_0x5e8b28(0x1b2)][_0x5e8b28(0x1a4)],'filePrefix':_0x4a435f}),!![];}else return console[_0x5e8b28(0x19c)](_0x5e8b28(0x1aa),_0x360cae[_0x5e8b28(0x1a2)]||_0x5e8b28(0x18e)),_0x1bcc57&&logger[_0x5e8b28(0x19c)](_0x5e8b28(0x191),_0x5e8b28(0x19e)+(_0x360cae[_0x5e8b28(0x1a2)]||_0x5e8b28(0x18e)),{'projectPath':_0x1bcc57,'appCode':_0x2efd51}),![];}else{if(_0x56c19c[_0x5e8b28(0x1ac)]===0x191){const _0x2a5da9=_0x5e8b28(0x196);console[_0x5e8b28(0x19c)]('×\x20'+_0x2a5da9),_0x1bcc57&&logger['error'](_0x5e8b28(0x191),_0x2a5da9,{'status':_0x56c19c['status'],'appCode':_0x2efd51,'url':_0x56c19c[_0x5e8b28(0x190)],'projectPath':_0x1bcc57});}else{const _0xdb544a=_0x5e8b28(0x193)+_0x56c19c[_0x5e8b28(0x1ac)];console[_0x5e8b28(0x19c)]('×\x20'+_0xdb544a);try{const _0x4b274f=await _0x56c19c[_0x5e8b28(0x199)]();_0x4b274f&&console[_0x5e8b28(0x19c)](_0x5e8b28(0x1a1),_0x4b274f),_0x1bcc57&&logger[_0x5e8b28(0x19c)](_0x5e8b28(0x191),_0xdb544a,{'status':_0x56c19c[_0x5e8b28(0x1ac)],'appCode':_0x2efd51,'url':_0x56c19c['url'],'errorBody':_0x4b274f,'projectPath':_0x1bcc57});}catch(_0x2166d6){console[_0x5e8b28(0x19c)]('×\x20无法读取错误响应内容'),_0x1bcc57&&logger['error'](_0x5e8b28(0x191),_0xdb544a+_0x5e8b28(0x1a3),{'status':_0x56c19c[_0x5e8b28(0x1ac)],'appCode':_0x2efd51,'url':_0x56c19c[_0x5e8b28(0x190)],'readError':_0x2166d6 instanceof Error?_0x2166d6[_0x5e8b28(0x1a2)]:String(_0x2166d6),'projectPath':_0x1bcc57});}}return![];}}catch(_0xacda30){const _0x1b4930=_0xacda30 instanceof Error?_0xacda30[_0x5e8b28(0x1a2)]:String(_0xacda30);return console[_0x5e8b28(0x19c)](_0x5e8b28(0x197),_0x1b4930),_0x1bcc57&&logger[_0x5e8b28(0x19c)](_0x5e8b28(0x191),'API\x20配置拉取异常:\x20'+_0x1b4930,{'appCode':_0x2efd51,'projectPath':_0x1bcc57}),![];}finally{_0x1e122b&&process[_0x5e8b28(0x19a)](_0x1e122b);}}
package/lib/api/pull.js CHANGED
@@ -1 +1 @@
1
- function a8_0x4b67(){const _0x1d0a2c=['data','\x0a*\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20','api','api-pull','*\x20使用指定的应用AppCode:\x20','*\x20开始生成\x20API\x20配置文件:','8586530DOTCJN','×\x20提供的应用AppCode\x20\x22','12BgGkHE','error','stdout','status','!\x20请使用以下方式之一:','\x20个数据集...','/smartapi/dataset/getList?appCode=','env','668622NzIZOT','742736NZFDfo','×\x20未提供应用AppCode,且配置中也没有默认值','test','.ts\x20-\x20模型配置文件','5201238TeHvhv','-client','9ILAwva','url','trim','&pageSize=999&currentPage=1','×\x20错误详情:','tableData','\x20\x20\x202.\x20配置默认值:\x20lovrabet\x20config\x20set\x20app\x20<app-code>','log','stdin','app',',且无法读取错误响应内容','\x1b[90m*\x20使用配置的应用AppCode:\x20','exit','获取数据集失败,原因:登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录后再尝试','3adQVpO','8515472nZZrwE','\x1b[0m','7868072GmiSsu','question','×\x20文件前缀格式不正确。只能包含字母、数字、连字符和下划线,且必须以字母开头。','\x22\x20无效','online','\x20\x20\x20•\x20','string','*\x20正在处理\x20','text','167795KQcnjV','\x20\x20\x201.\x20直接指定:\x20lovrabet\x20api\x20pull\x20<app-code>','json'];a8_0x4b67=function(){return _0x1d0a2c;};return a8_0x4b67();}(function(_0x1dcc70,_0x3860e7){const _0x3a4712=a8_0x5192,_0x4dd676=_0x1dcc70();while(!![]){try{const _0x1740e3=-parseInt(_0x3a4712(0x11e))/0x1*(-parseInt(_0x3a4712(0x10a))/0x2)+-parseInt(_0x3a4712(0x109))/0x3+parseInt(_0x3a4712(0x135))/0x4*(parseInt(_0x3a4712(0x12a))/0x5)+-parseInt(_0x3a4712(0x10e))/0x6+-parseInt(_0x3a4712(0x11f))/0x7+-parseInt(_0x3a4712(0x121))/0x8*(-parseInt(_0x3a4712(0x110))/0x9)+parseInt(_0x3a4712(0x133))/0xa;if(_0x1740e3===_0x3860e7)break;else _0x4dd676['push'](_0x4dd676['shift']());}catch(_0x3d3dd8){_0x4dd676['push'](_0x4dd676['shift']());}}}(a8_0x4b67,0xb746c));import{createInterface}from'node:readline/promises';import{readConfig}from'../utils/config.js';import{getCookie}from'../auth/get-cookie.js';function a8_0x5192(_0x2dafdb,_0x4cb25a){const _0x4b6720=a8_0x4b67();return a8_0x5192=function(_0x519213,_0x37a41b){_0x519213=_0x519213-0x105;let _0x292d3c=_0x4b6720[_0x519213];return _0x292d3c;},a8_0x5192(_0x2dafdb,_0x4cb25a);}import{getApiDomain}from'../constant/domain.js';import{initEnv}from'../constant/env.js';import{generateApiFile}from'./generate-api-file.js';import{logger}from'../utils/logger.js';export async function initApi(_0x11edcb,_0x44cd88){const _0x32d156=a8_0x5192,_0x5c5d3e=readConfig(),_0x37a5e5=_0x11edcb||_0x5c5d3e?.[_0x32d156(0x119)],_0x1892d1=typeof _0x5c5d3e['env']===_0x32d156(0x127)?_0x5c5d3e[_0x32d156(0x108)]:undefined,_0x318396=_0x44cd88||_0x1892d1||_0x32d156(0x125);initEnv(_0x318396);(typeof _0x37a5e5!==_0x32d156(0x127)||!_0x37a5e5)&&(_0x11edcb?console[_0x32d156(0x136)](_0x32d156(0x134)+_0x11edcb+_0x32d156(0x124)):(console['error'](_0x32d156(0x10b)),console[_0x32d156(0x117)](_0x32d156(0x105)),console['log'](_0x32d156(0x12b)),console[_0x32d156(0x117)](_0x32d156(0x116))),process[_0x32d156(0x11c)](0x1));_0x11edcb?console['log'](_0x32d156(0x131)+_0x37a5e5):console[_0x32d156(0x117)](_0x32d156(0x11b)+_0x37a5e5+_0x32d156(0x120));const _0x537b98=createInterface({'input':process[_0x32d156(0x118)],'output':process[_0x32d156(0x137)]});let _0x15f9b5;try{const _0x564a81=await _0x537b98[_0x32d156(0x122)]('!\x20请输入文件前缀\x20\x1b[90m[留空表示无前缀]\x1b[0m:\x20');_0x15f9b5=_0x564a81[_0x32d156(0x112)]();if(_0x15f9b5){const _0x65036f=/^[a-zA-Z][a-zA-Z0-9_-]*$/;!_0x65036f[_0x32d156(0x10c)](_0x15f9b5)&&(console[_0x32d156(0x136)](_0x32d156(0x123)),process[_0x32d156(0x11c)](0x1));}}finally{_0x537b98['close']();}console['log'](_0x32d156(0x12e)+_0x318396+')');const _0x1e6f88=await fetch(getApiDomain()+_0x32d156(0x107)+_0x37a5e5+_0x32d156(0x113),{'headers':{'Cookie':getCookie()}});if(_0x1e6f88['ok']){const _0x37e731=await _0x1e6f88[_0x32d156(0x12c)]();if(_0x37e731['success']){const _0x7279f3=_0x15f9b5?_0x15f9b5+'-api':_0x32d156(0x12f),_0x2b177c=_0x15f9b5?_0x15f9b5+_0x32d156(0x10f):'client';console[_0x32d156(0x117)](_0x32d156(0x132)),console[_0x32d156(0x117)](_0x32d156(0x126)+_0x7279f3+_0x32d156(0x10d)),console[_0x32d156(0x117)](_0x32d156(0x126)+_0x2b177c+'.ts\x20-\x20客户端实例文件'),console[_0x32d156(0x117)](_0x32d156(0x128)+_0x37e731[_0x32d156(0x12d)][_0x32d156(0x115)]['length']+_0x32d156(0x106));const _0x55fd6c=!_0x11edcb;await generateApiFile(_0x37e731[_0x32d156(0x12d)][_0x32d156(0x115)],_0x15f9b5,_0x37a5e5,_0x55fd6c,_0x318396);}}else{if(_0x1e6f88[_0x32d156(0x138)]===0x191){const _0x4f1cfc=_0x32d156(0x11d);console[_0x32d156(0x136)]('×\x20'+_0x4f1cfc),logger[_0x32d156(0x136)](_0x32d156(0x130),_0x4f1cfc,{'status':_0x1e6f88[_0x32d156(0x138)],'appCode':_0x37a5e5,'url':_0x1e6f88[_0x32d156(0x111)]});}else{const _0x30d139='获取数据集失败,HTTP状态码:\x20'+_0x1e6f88[_0x32d156(0x138)];console['error']('×\x20'+_0x30d139);try{const _0x54e6ab=await _0x1e6f88[_0x32d156(0x129)]();_0x54e6ab?(console[_0x32d156(0x136)](_0x32d156(0x114),_0x54e6ab),logger[_0x32d156(0x136)](_0x32d156(0x130),_0x30d139,{'status':_0x1e6f88['status'],'appCode':_0x37a5e5,'url':_0x1e6f88['url'],'errorBody':_0x54e6ab})):logger['error']('api-pull',_0x30d139,{'status':_0x1e6f88[_0x32d156(0x138)],'appCode':_0x37a5e5,'url':_0x1e6f88[_0x32d156(0x111)]});}catch(_0x406f75){console['error']('×\x20无法读取错误响应内容'),logger[_0x32d156(0x136)](_0x32d156(0x130),_0x30d139+_0x32d156(0x11a),{'status':_0x1e6f88[_0x32d156(0x138)],'appCode':_0x37a5e5,'url':_0x1e6f88[_0x32d156(0x111)],'readError':_0x406f75 instanceof Error?_0x406f75['message']:String(_0x406f75)});}}process[_0x32d156(0x11c)](0x1);}}
1
+ function a8_0xad0d(_0xb12953,_0x3e6100){const _0x38a178=a8_0x38a1();return a8_0xad0d=function(_0xad0daa,_0x33db13){_0xad0daa=_0xad0daa-0x84;let _0x18eaa2=_0x38a178[_0xad0daa];return _0x18eaa2;},a8_0xad0d(_0xb12953,_0x3e6100);}(function(_0x275600,_0x62cb7e){const _0x8c7877=a8_0xad0d,_0x4c7623=_0x275600();while(!![]){try{const _0x38715e=parseInt(_0x8c7877(0x94))/0x1*(parseInt(_0x8c7877(0xa0))/0x2)+-parseInt(_0x8c7877(0x9d))/0x3+-parseInt(_0x8c7877(0xb1))/0x4+-parseInt(_0x8c7877(0x99))/0x5*(parseInt(_0x8c7877(0xa2))/0x6)+-parseInt(_0x8c7877(0xa7))/0x7+parseInt(_0x8c7877(0xac))/0x8+parseInt(_0x8c7877(0xb3))/0x9;if(_0x38715e===_0x62cb7e)break;else _0x4c7623['push'](_0x4c7623['shift']());}catch(_0x3ec835){_0x4c7623['push'](_0x4c7623['shift']());}}}(a8_0x38a1,0x4dd1e));import{createInterface}from'node:readline/promises';import{readConfig}from'../utils/config.js';import{getCookie}from'../auth/get-cookie.js';import{getApiDomain}from'../constant/domain.js';import{initEnv}from'../constant/env.js';import{generateApiFile}from'./generate-api-file.js';function a8_0x38a1(){const _0x305fb3=['.ts\x20-\x20模型配置文件','message','question','1886405Tzzgld','trim','!\x20请输入文件前缀\x20\x1b[90m[留空表示无前缀]\x1b[0m:\x20','exit','675018uanUBl','获取数据集失败,原因:登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录后再尝试','×\x20未提供应用AppCode,且配置中也没有默认值','3368ubbtbw','online','6wQQkJR','!\x20请使用以下方式之一:','close','*\x20开始生成\x20API\x20配置文件:','api','4174513IVDlwv','test','\x1b[90m*\x20使用配置的应用AppCode:\x20',',且无法读取错误响应内容','&pageSize=999&currentPage=1','2798080GQFKxM','×\x20错误详情:','data','env','获取数据集失败,HTTP状态码:\x20','2498472eCBjhE','log','12705030EFFqYC','*\x20使用指定的应用AppCode:\x20','×\x20文件前缀格式不正确。只能包含字母、数字、连字符和下划线,且必须以字母开头。','\x0a*\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20','api-pull','\x20\x20\x202.\x20配置默认值:\x20lovrabet\x20config\x20set\x20app\x20<app-code>','\x1b[0m','client','tableData','error','stdout','stdin','-api','\x20\x20\x20•\x20','string','/smartapi/dataset/getList?appCode=','\x20\x20\x201.\x20直接指定:\x20lovrabet\x20api\x20pull\x20<app-code>','status','226GZEdCm','url'];a8_0x38a1=function(){return _0x305fb3;};return a8_0x38a1();}import{logger}from'../utils/logger.js';export async function initApi(_0x23fce0,_0x2de2a7){const _0x1b1dc9=a8_0xad0d,_0x1fb6bf=readConfig(),_0x2f4b42=_0x23fce0||_0x1fb6bf?.['app'],_0xcea3d0=typeof _0x1fb6bf[_0x1b1dc9(0xaf)]===_0x1b1dc9(0x90)?_0x1fb6bf[_0x1b1dc9(0xaf)]:undefined,_0x44bffe=_0x2de2a7||_0xcea3d0||_0x1b1dc9(0xa1);initEnv(_0x44bffe);(typeof _0x2f4b42!==_0x1b1dc9(0x90)||!_0x2f4b42)&&(_0x23fce0?console['error']('×\x20提供的应用AppCode\x20\x22'+_0x23fce0+'\x22\x20无效'):(console[_0x1b1dc9(0x8b)](_0x1b1dc9(0x9f)),console[_0x1b1dc9(0xb2)](_0x1b1dc9(0xa3)),console[_0x1b1dc9(0xb2)](_0x1b1dc9(0x92)),console[_0x1b1dc9(0xb2)](_0x1b1dc9(0x87))),process[_0x1b1dc9(0x9c)](0x1));_0x23fce0?console['log'](_0x1b1dc9(0xb4)+_0x2f4b42):console[_0x1b1dc9(0xb2)](_0x1b1dc9(0xa9)+_0x2f4b42+_0x1b1dc9(0x88));const _0x8da4e0=createInterface({'input':process[_0x1b1dc9(0x8d)],'output':process[_0x1b1dc9(0x8c)]});let _0x1a6f24;try{const _0x314d75=await _0x8da4e0[_0x1b1dc9(0x98)](_0x1b1dc9(0x9b));_0x1a6f24=_0x314d75[_0x1b1dc9(0x9a)]();if(_0x1a6f24){const _0x49de60=/^[a-zA-Z][a-zA-Z0-9_-]*$/;!_0x49de60[_0x1b1dc9(0xa8)](_0x1a6f24)&&(console['error'](_0x1b1dc9(0x84)),process[_0x1b1dc9(0x9c)](0x1));}}finally{_0x8da4e0[_0x1b1dc9(0xa4)]();}console[_0x1b1dc9(0xb2)](_0x1b1dc9(0x85)+_0x44bffe+')');const _0x3f088f=await fetch(getApiDomain()+_0x1b1dc9(0x91)+_0x2f4b42+_0x1b1dc9(0xab),{'headers':{'Cookie':getCookie()}});if(_0x3f088f['ok']){const _0x39192d=await _0x3f088f['json']();if(_0x39192d['success']){const _0x228dbc=_0x1a6f24?_0x1a6f24+_0x1b1dc9(0x8e):_0x1b1dc9(0xa6),_0x42ef75=_0x1a6f24?_0x1a6f24+'-client':_0x1b1dc9(0x89);console[_0x1b1dc9(0xb2)](_0x1b1dc9(0xa5)),console[_0x1b1dc9(0xb2)](_0x1b1dc9(0x8f)+_0x228dbc+_0x1b1dc9(0x96)),console[_0x1b1dc9(0xb2)](_0x1b1dc9(0x8f)+_0x42ef75+'.ts\x20-\x20客户端实例文件'),console[_0x1b1dc9(0xb2)]('*\x20正在处理\x20'+_0x39192d[_0x1b1dc9(0xae)][_0x1b1dc9(0x8a)]['length']+'\x20个数据集...');const _0xcc0232=!_0x23fce0;await generateApiFile(_0x39192d[_0x1b1dc9(0xae)][_0x1b1dc9(0x8a)],_0x1a6f24,_0x2f4b42,_0xcc0232,_0x44bffe);}}else{if(_0x3f088f[_0x1b1dc9(0x93)]===0x191){const _0x3ed1d2=_0x1b1dc9(0x9e);console[_0x1b1dc9(0x8b)]('×\x20'+_0x3ed1d2),logger['error'](_0x1b1dc9(0x86),_0x3ed1d2,{'status':_0x3f088f[_0x1b1dc9(0x93)],'appCode':_0x2f4b42,'url':_0x3f088f['url']});}else{const _0x1dcc60=_0x1b1dc9(0xb0)+_0x3f088f['status'];console[_0x1b1dc9(0x8b)]('×\x20'+_0x1dcc60);try{const _0x50c598=await _0x3f088f['text']();_0x50c598?(console[_0x1b1dc9(0x8b)](_0x1b1dc9(0xad),_0x50c598),logger['error'](_0x1b1dc9(0x86),_0x1dcc60,{'status':_0x3f088f[_0x1b1dc9(0x93)],'appCode':_0x2f4b42,'url':_0x3f088f[_0x1b1dc9(0x95)],'errorBody':_0x50c598})):logger['error'](_0x1b1dc9(0x86),_0x1dcc60,{'status':_0x3f088f[_0x1b1dc9(0x93)],'appCode':_0x2f4b42,'url':_0x3f088f['url']});}catch(_0x1eff7c){console[_0x1b1dc9(0x8b)]('×\x20无法读取错误响应内容'),logger[_0x1b1dc9(0x8b)](_0x1b1dc9(0x86),_0x1dcc60+_0x1b1dc9(0xaa),{'status':_0x3f088f[_0x1b1dc9(0x93)],'appCode':_0x2f4b42,'url':_0x3f088f[_0x1b1dc9(0x95)],'readError':_0x1eff7c instanceof Error?_0x1eff7c[_0x1b1dc9(0x97)]:String(_0x1eff7c)});}}process[_0x1b1dc9(0x9c)](0x1);}}
@@ -1 +1 @@
1
- (function(_0x5b87fe,_0x490d99){const _0x718fca=a10_0x515a,_0x14176c=_0x5b87fe();while(!![]){try{const _0x109d3a=parseInt(_0x718fca(0xd1))/0x1+parseInt(_0x718fca(0xc5))/0x2+-parseInt(_0x718fca(0xd3))/0x3*(parseInt(_0x718fca(0xc4))/0x4)+parseInt(_0x718fca(0xd5))/0x5*(parseInt(_0x718fca(0xce))/0x6)+parseInt(_0x718fca(0xcc))/0x7*(parseInt(_0x718fca(0xc1))/0x8)+-parseInt(_0x718fca(0xc2))/0x9+-parseInt(_0x718fca(0xc7))/0xa;if(_0x109d3a===_0x490d99)break;else _0x14176c['push'](_0x14176c['shift']());}catch(_0x24010f){_0x14176c['push'](_0x14176c['shift']());}}}(a10_0xaeaf,0x54884));import{jsx as a10_0x48d0b7,jsxs as a10_0x26756e}from'react/jsx-runtime';import{Text,Box,useInput,useApp}from'ink';import{useEffect,useState}from'react';import{getIsSessionValid}from'./is-session-valid.js';import{authServer}from'./auth-server.js';import a10_0x34e7e5 from'ink-spinner';function a10_0x515a(_0xf2749e,_0x54241f){const _0xaeaf1e=a10_0xaeaf();return a10_0x515a=function(_0x515ac9,_0x513ca8){_0x515ac9=_0x515ac9-0xc1;let _0xdeca23=_0xaeaf1e[_0x515ac9];return _0xdeca23;},a10_0x515a(_0xf2749e,_0x54241f);}export function AuthServer(){const _0x8b19a1=a10_0x515a,{exit:_0x25d757}=useApp(),[_0x94c985,_0xa14d82]=useState(![]),[_0x210102,_0x54a4c9]=useState(!![]),[_0x3414eb,_0x274c77]=useState(![]),[_0x263c42,_0x1787c6]=useState(![]);useEffect(()=>{getIsSessionValid()['then'](_0xa14d82)['finally'](()=>_0x54a4c9(![]));},[]),useEffect(()=>{!_0x210102&&_0x94c985&&(console['log']('√\x20当前为有效会话,无需重新登录。'),_0x25d757());},[_0x210102,_0x94c985,_0x25d757]),useEffect(()=>{const _0x100937=a10_0x515a;_0x263c42&&(console[_0x100937(0xcb)](_0x100937(0xc3)),_0x25d757());},[_0x263c42,_0x25d757]),useInput((_0x3cbfaa,_0x306248)=>{const _0x4b402b=a10_0x515a;_0x306248[_0x4b402b(0xcd)]&&(_0x274c77(!![]),authServer({'silent':!![]})[_0x4b402b(0xd2)](_0x187bff=>{_0x1787c6(_0x187bff);})),_0x3cbfaa==='q'&&_0x25d757();});if(_0x210102)return null;if(_0x94c985||_0x263c42)return null;return a10_0x48d0b7(Box,{'flexDirection':_0x8b19a1(0xc8),'marginTop':0x1,'marginBottom':0x1,'children':_0x3414eb?a10_0x26756e(Box,{'children':[a10_0x48d0b7(Box,{'width':'1'}),a10_0x26756e(Text,{'color':_0x8b19a1(0xcf),'children':[a10_0x48d0b7(a10_0x34e7e5,{'type':_0x8b19a1(0xc6)}),'\x20\x20']}),a10_0x48d0b7(Text,{'children':'正在登录...\x20'}),a10_0x48d0b7(Text,{'color':_0x8b19a1(0xd4),'children':_0x8b19a1(0xd0)})]}):a10_0x26756e(Box,{'children':[a10_0x48d0b7(Box,{'width':'1'}),a10_0x48d0b7(Text,{'children':_0x8b19a1(0xca)}),a10_0x48d0b7(Text,{'color':'gray','children':_0x8b19a1(0xc9)})]})});}function a10_0xaeaf(){const _0x2cf4d9=['column','按\x20“q”\x20退出。','*\x20按回车开始登录。','log','63VXrSEJ','return','1430418rSctWB','green','请前往浏览器完成登录。','538723SwkInw','then','512217DjIdoZ','gray','5zOMuKe','23192tsAxSG','3570894vzjwZU','*\x20登录成功!','4dtDZdJ','1197340kaHWXh','dots','4881380VMqeeT'];a10_0xaeaf=function(){return _0x2cf4d9;};return a10_0xaeaf();}
1
+ (function(_0x3fb5fa,_0x5e6df6){const _0x38d2bb=a10_0x20b0,_0x592c9c=_0x3fb5fa();while(!![]){try{const _0x22b42e=parseInt(_0x38d2bb(0xaf))/0x1+parseInt(_0x38d2bb(0xb5))/0x2*(parseInt(_0x38d2bb(0xa7))/0x3)+parseInt(_0x38d2bb(0xad))/0x4+-parseInt(_0x38d2bb(0xa6))/0x5*(parseInt(_0x38d2bb(0xb1))/0x6)+-parseInt(_0x38d2bb(0xa2))/0x7*(parseInt(_0x38d2bb(0xaa))/0x8)+parseInt(_0x38d2bb(0xae))/0x9*(-parseInt(_0x38d2bb(0xa1))/0xa)+parseInt(_0x38d2bb(0xa9))/0xb;if(_0x22b42e===_0x5e6df6)break;else _0x592c9c['push'](_0x592c9c['shift']());}catch(_0x35e632){_0x592c9c['push'](_0x592c9c['shift']());}}}(a10_0x4857,0x2957a));function a10_0x4857(){const _0x56efd1=['gray','按\x20“q”\x20退出。','2FLEMbo','dots','10bXoaVB','113981tnGkIY','column','*\x20按回车开始登录。','√\x20当前为有效会话,无需重新登录。','73630GBIDKv','172281SzyNnS','finally','925320SqlhTE','8yHonbS','请前往浏览器完成登录。','*\x20登录成功!','412600jmyrrv','3046239sydDpy','294121dThkev','then','6UNYxmu','green'];a10_0x4857=function(){return _0x56efd1;};return a10_0x4857();}import{jsx as a10_0x198728,jsxs as a10_0x7d7d19}from'react/jsx-runtime';import{Text,Box,useInput,useApp}from'ink';import{useEffect,useState}from'react';import{getIsSessionValid}from'./is-session-valid.js';import{authServer}from'./auth-server.js';function a10_0x20b0(_0x760ea5,_0x1d17c5){const _0x485706=a10_0x4857();return a10_0x20b0=function(_0x20b07e,_0xf51387){_0x20b07e=_0x20b07e-0xa0;let _0x3a4e13=_0x485706[_0x20b07e];return _0x3a4e13;},a10_0x20b0(_0x760ea5,_0x1d17c5);}import a10_0x5e6286 from'ink-spinner';export function AuthServer(){const _0x12a6eb=a10_0x20b0,{exit:_0x7412de}=useApp(),[_0xba297c,_0x3d8a8d]=useState(![]),[_0x4a6751,_0x44210e]=useState(!![]),[_0x48c498,_0x79fa88]=useState(![]),[_0x2680c3,_0x15f429]=useState(![]);useEffect(()=>{const _0x2c5734=a10_0x20b0;getIsSessionValid()['then'](_0x3d8a8d)[_0x2c5734(0xa8)](()=>_0x44210e(![]));},[]),useEffect(()=>{const _0x49c8eb=a10_0x20b0;!_0x4a6751&&_0xba297c&&(console['log'](_0x49c8eb(0xa5)),_0x7412de());},[_0x4a6751,_0xba297c,_0x7412de]),useEffect(()=>{const _0x1f15f4=a10_0x20b0;_0x2680c3&&(console['log'](_0x1f15f4(0xac)),_0x7412de());},[_0x2680c3,_0x7412de]),useInput((_0x76c96a,_0x4acad2)=>{const _0x4ee66e=a10_0x20b0;_0x4acad2['return']&&(_0x79fa88(!![]),authServer({'silent':!![]})[_0x4ee66e(0xb0)](_0x3ff599=>{_0x15f429(_0x3ff599);})),_0x76c96a==='q'&&_0x7412de();});if(_0x4a6751)return null;if(_0xba297c||_0x2680c3)return null;return a10_0x198728(Box,{'flexDirection':_0x12a6eb(0xa3),'marginTop':0x1,'marginBottom':0x1,'children':_0x48c498?a10_0x7d7d19(Box,{'children':[a10_0x198728(Box,{'width':'1'}),a10_0x7d7d19(Text,{'color':_0x12a6eb(0xb2),'children':[a10_0x198728(a10_0x5e6286,{'type':_0x12a6eb(0xa0)}),'\x20\x20']}),a10_0x198728(Text,{'children':'正在登录...\x20'}),a10_0x198728(Text,{'color':_0x12a6eb(0xb3),'children':_0x12a6eb(0xab)})]}):a10_0x7d7d19(Box,{'children':[a10_0x198728(Box,{'width':'1'}),a10_0x198728(Text,{'children':_0x12a6eb(0xa4)}),a10_0x198728(Text,{'color':'gray','children':_0x12a6eb(0xb4)})]})});}