@lovrabet/cli 1.1.8 → 1.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +51 -0
  2. package/lib/add-page/input-page-router.js +1 -1
  3. package/lib/add-page/main.js +1 -1
  4. package/lib/add-page/select-page-template.js +1 -1
  5. package/lib/api/api-doc-ui.js +1 -0
  6. package/lib/api/api-doc.js +1 -0
  7. package/lib/api/api-pull-ui.js +1 -1
  8. package/lib/api/fetch-datasets.js +1 -0
  9. package/lib/api/format-dataset.js +1 -1
  10. package/lib/api/generate-api-file.js +1 -1
  11. package/lib/api/main.js +1 -1
  12. package/lib/api/pull-silent.js +1 -1
  13. package/lib/api/pull.js +1 -1
  14. package/lib/auth/auth-server-ui.js +1 -1
  15. package/lib/auth/auth-server.js +1 -1
  16. package/lib/auth/constant.js +1 -1
  17. package/lib/auth/get-cookie.js +1 -1
  18. package/lib/auth/is-session-valid.js +1 -1
  19. package/lib/auth/logout.js +1 -1
  20. package/lib/cli.js +1 -1
  21. package/lib/cmd/build-watch.js +1 -1
  22. package/lib/cmd/build.js +1 -1
  23. package/lib/cmd/logs.js +1 -1
  24. package/lib/cmd/preview.js +1 -1
  25. package/lib/cmd/start.js +1 -1
  26. package/lib/config/config-help.js +1 -1
  27. package/lib/config/main.js +1 -1
  28. package/lib/constant/domain.js +1 -1
  29. package/lib/constant/env.js +1 -1
  30. package/lib/create-app/enhanced-guided-create.js +1 -1
  31. package/lib/create-app/format-elapsed.js +1 -1
  32. package/lib/create-app/main.js +1 -1
  33. package/lib/create-app/task-finished.js +1 -1
  34. package/lib/create-app/task-loading.js +1 -1
  35. package/lib/create-app/task-running.js +1 -1
  36. package/lib/create-app/task-time.js +1 -1
  37. package/lib/create-app/use-copy-project-template.js +1 -1
  38. package/lib/create-app/use-format-code.js +1 -1
  39. package/lib/create-app/use-install-dependencies.js +1 -1
  40. package/lib/help.js +1 -1
  41. package/lib/utils/config.js +1 -1
  42. package/lib/utils/copy-directory.js +1 -1
  43. package/lib/utils/http-client.js +1 -1
  44. package/lib/utils/logger.js +1 -1
  45. package/lib/utils/router-updater.js +1 -1
  46. package/lib/utils/template-replacer.js +1 -1
  47. package/package.json +1 -1
  48. package/templates/pages/sdk-fetch/index.tsx.tpl +41 -52
  49. package/templates/projects/sub-app-react-demo/package-lock.json +4 -4
  50. package/templates/projects/sub-app-react-demo/package.json +1 -1
package/README.md CHANGED
@@ -296,6 +296,56 @@ lovrabet logs --clear
296
296
 
297
297
  ## 📝 What's New
298
298
 
299
+ ### v1.1.10 (2025-10-16)
300
+
301
+ **新增功能 (New Features):**
302
+
303
+ - ✨ **API 文档自动生成** - 全新的文档生成工具,让 API 使用更清晰
304
+
305
+ 现在可以一键生成所有数据集的 API 使用文档(Markdown 格式):
306
+
307
+ ```bash
308
+ lovrabet api doc
309
+ ```
310
+
311
+ - 📚 自动生成完整的 API 使用说明
312
+ - 📊 包含数据字段、请求示例、响应格式等
313
+ - 🎯 支持批量生成,自动处理所有数据集
314
+ - 📁 输出为标准 Markdown 格式,便于团队共享
315
+
316
+ **改进优化 (Improvements):**
317
+
318
+ - 🔧 **数据集智能去重** - API 拉取更精准
319
+ - 自动识别并过滤重复的数据集(相同 `tableName`)
320
+ - 显示详细的去重统计信息
321
+ - 避免配置文件中出现重复项
322
+
323
+ - 🎨 **SDK 数据获取页面模板优化** - 生成的页面更简洁高效
324
+ - 精简 UI 组件代码,提升可维护性
325
+ - 增强表格数据处理能力
326
+ - 改进数据展示性能
327
+ - 优化代码结构和注释
328
+
329
+ - 🎯 **API 配置管理优化**
330
+ - 优化用户交互提示信息
331
+ - 改进错误处理和提示
332
+ - 提升整体用户体验
333
+
334
+ **使用示例:**
335
+
336
+ ```bash
337
+ # 生成 API 配置文件
338
+ lovrabet api pull --appcode my-app
339
+
340
+ # 生成 API 文档(新功能)
341
+ lovrabet api doc
342
+
343
+ # 查看详细日志
344
+ lovrabet logs
345
+ ```
346
+
347
+ ---
348
+
299
349
  ### v1.1.7 (2025-10-10)
300
350
 
301
351
  **重大变更 (Breaking Changes):**
@@ -371,6 +421,7 @@ lovrabet api pull my-app # 位置参数方式已废弃
371
421
  **专有软件(Proprietary)** - 详见 [LICENSE](./LICENSE) 文件
372
422
 
373
423
  本软件为 Lovrabet 开放平台的专有工具:
424
+
374
425
  - ✅ **允许使用** - 可以安装和使用本工具开发 Lovrabet 应用
375
426
  - ✅ **生成内容归您** - 使用本工具生成的代码和项目归您所有
376
427
  - ❌ **不得修改** - 不得修改、反编译或逆向工程
@@ -1 +1 @@
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
+ (function(_0x47a98a,_0x2d7e54){const _0x3bee83=a0_0x5999,_0x141a4f=_0x47a98a();while(!![]){try{const _0x4b30ba=parseInt(_0x3bee83(0xa7))/0x1*(parseInt(_0x3bee83(0xa6))/0x2)+parseInt(_0x3bee83(0x98))/0x3+-parseInt(_0x3bee83(0x9e))/0x4*(parseInt(_0x3bee83(0xa4))/0x5)+-parseInt(_0x3bee83(0xa5))/0x6*(-parseInt(_0x3bee83(0xa8))/0x7)+parseInt(_0x3bee83(0x94))/0x8+parseInt(_0x3bee83(0x93))/0x9+-parseInt(_0x3bee83(0xae))/0xa;if(_0x4b30ba===_0x2d7e54)break;else _0x141a4f['push'](_0x141a4f['shift']());}catch(_0x1ee0cc){_0x141a4f['push'](_0x141a4f['shift']());}}}(a0_0x2570,0x97404));function a0_0x5999(_0x59a143,_0x585bf7){const _0x25708c=a0_0x2570();return a0_0x5999=function(_0x599988,_0x31aa85){_0x599988=_0x599988-0x90;let _0x103014=_0x25708c[_0x599988];return _0x103014;},a0_0x5999(_0x59a143,_0x585bf7);}import{jsx as a0_0x4c80bd,jsxs as a0_0xe4e329}from'react/jsx-runtime';import{useState}from'react';function a0_0x2570(){const _0x296bb9=['slice','8854281iiBPSQ','8581536QgsjuI','delete','路径不能以\x20/\x20开头或结尾','trim','3056178cXgBHs','backspace','includes','endsWith','页面路径长度不能超过\x20100\x20个字符','gray','812ZYvKfk','页面路径不合法','red','startsWith','green','\x20已存在,请使用其他路径','9205LSFLgy','46488nFYUtn','749032FHfwZc','2OqJKIq','651mMnqZK','页面路由地址:\x20','\x20直接回车确认,或输入自定义路由地址','\x20←\x20','existsSync','路径不能包含连续的\x20/','35515760IiGqjz','my-page','length'];a0_0x2570=function(){return _0x296bb9;};return a0_0x2570();}import{Text,Box,useInput}from'ink';import a0_0x374580 from'node:fs';export function InputProjectCode(_0x2abf64){const _0x3a0d56=a0_0x5999,{onSubmit:_0xab5d88,pagePath:_0x425f83}=_0x2abf64,[_0x3f8ca2,_0x7f9875]=useState(''),[_0x1517e8,_0x355b3a]=useState(''),_0x531d9d=_0x3a0d56(0x90);function _0x1a5eac(_0x17a7d9){const _0x5c0b58=_0x3a0d56;if(_0x17a7d9[_0x5c0b58(0x91)]>0x64)return{'valid':![],'message':_0x5c0b58(0x9c)};if(_0x17a7d9[_0x5c0b58(0xa1)]('/')||_0x17a7d9[_0x5c0b58(0x9b)]('/'))return{'valid':![],'message':_0x5c0b58(0x96)};if(_0x17a7d9[_0x5c0b58(0x9a)]('//'))return{'valid':![],'message':_0x5c0b58(0xad)};const _0x2df8d3=_0x17a7d9['split']('/');for(const _0x559979 of _0x2df8d3){if(!_0x559979)continue;const _0x4b87c9=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(!_0x4b87c9['test'](_0x559979))return{'valid':![],'message':'路径中的每个段只能以字母或数字开头,且只包含字母、数字、-\x20和\x20_'};}return{'valid':!![]};}return useInput((_0x18e13a,_0x1e1db7)=>{const _0x3d98d4=_0x3a0d56;if(_0x1e1db7['return']){const _0x310ebc=_0x3f8ca2[_0x3d98d4(0x97)]()||_0x531d9d;if(_0x1517e8)return;const _0x35e60b=_0x425f83+'/'+_0x310ebc;if(a0_0x374580[_0x3d98d4(0xac)](_0x35e60b)){_0x355b3a('页面路径\x20'+_0x310ebc+_0x3d98d4(0xa3));return;}_0xab5d88(_0x310ebc),_0x7f9875(''),_0x355b3a('');}else _0x1e1db7[_0x3d98d4(0x99)]||_0x1e1db7[_0x3d98d4(0x95)]?_0x7f9875(_0x2b1510=>{const _0x2c541a=_0x3d98d4,_0x3e3d9c=_0x2b1510[_0x2c541a(0x92)](0x0,-0x1),{valid:_0xc0c9f5,message:_0x26c554}=_0x1a5eac(_0x3e3d9c);return _0x355b3a(_0xc0c9f5?'':_0x26c554||_0x2c541a(0x9f)),_0x3e3d9c;}):_0x7f9875(_0x4ac59e=>{const _0x45578a=_0x3d98d4,_0x4afef9=_0x4ac59e+_0x18e13a,{valid:_0x5e6312,message:_0x23d21a}=_0x1a5eac(_0x4afef9);return _0x355b3a(_0x5e6312?'':_0x23d21a||_0x45578a(0x9f)),_0x4afef9;});}),a0_0xe4e329(Box,{'flexDirection':'column','children':[a0_0xe4e329(Box,{'children':[a0_0x4c80bd(Text,{'color':_0x3a0d56(0x9d),'children':'\x20Step2:\x20'}),a0_0x4c80bd(Text,{'children':_0x3a0d56(0xa9)}),_0x3f8ca2?a0_0x4c80bd(Text,{'color':_0x3a0d56(0xa2),'children':_0x3f8ca2}):a0_0x4c80bd(Text,{'color':_0x3a0d56(0x9d),'children':_0x531d9d}),_0x1517e8&&a0_0xe4e329(Text,{'color':_0x3a0d56(0xa0),'children':[_0x3a0d56(0xab),_0x1517e8]})]}),!_0x1517e8&&!_0x3f8ca2&&a0_0x4c80bd(Box,{'children':a0_0x4c80bd(Text,{'color':'gray','children':_0x3a0d56(0xaa)})})]});}
@@ -1 +1 @@
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
+ const a1_0x14a584=a1_0x93ab;(function(_0x56b545,_0x4df72c){const _0x2d1006=a1_0x93ab,_0x585bb7=_0x56b545();while(!![]){try{const _0x51247c=parseInt(_0x2d1006(0x8b))/0x1*(parseInt(_0x2d1006(0x69))/0x2)+-parseInt(_0x2d1006(0x6d))/0x3*(parseInt(_0x2d1006(0x75))/0x4)+parseInt(_0x2d1006(0x81))/0x5*(-parseInt(_0x2d1006(0x66))/0x6)+-parseInt(_0x2d1006(0x71))/0x7*(-parseInt(_0x2d1006(0x88))/0x8)+-parseInt(_0x2d1006(0x6f))/0x9+-parseInt(_0x2d1006(0x89))/0xa*(parseInt(_0x2d1006(0x7f))/0xb)+parseInt(_0x2d1006(0x72))/0xc*(parseInt(_0x2d1006(0x65))/0xd);if(_0x51247c===_0x4df72c)break;else _0x585bb7['push'](_0x585bb7['shift']());}catch(_0x57ea78){_0x585bb7['push'](_0x585bb7['shift']());}}}(a1_0x2eab,0x4debe));import{jsx as a1_0x31e614,jsxs as a1_0x54942a,Fragment as a1_0x2c6d7b}from'react/jsx-runtime';import{fileURLToPath}from'node:url';import a1_0x3797ac from'node:path';function a1_0x2eab(){const _0x3042ba=['页面添加成功:\x20','info','12eJSOki','add-page','3366747gRuQgo','已选择页面模板\x20','49PVXZtt','192SmPxmX','\x20Step2:\x20','catch','359152NJNXmD','开始添加页面:\x20','green','column','setLogPath','join','url','\x20*\x20页面路径:\x20','src','success','253lYwXmR','now','65QdZxMK','正在创建页面,请稍候…','gray','pages','\x20*\x20路由地址:\x20','dirname','message','618032tFxquO','233300sqJJzm','resolve','18509FmPkim','824798DyNfpU','155586vJuLjv','cwd','../../templates/pages','40gwKgNU','\x20Step1:\x20'];a1_0x2eab=function(){return _0x3042ba;};return a1_0x2eab();}import{useEffect,useState}from'react';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';function a1_0x93ab(_0xdfd2bb,_0x2bff1e){const _0x2eab41=a1_0x2eab();return a1_0x93ab=function(_0x93ab56,_0x27497e){_0x93ab56=_0x93ab56-0x65;let _0x3eec74=_0x2eab41[_0x93ab56];return _0x3eec74;},a1_0x93ab(_0xdfd2bb,_0x2bff1e);}import{TemplateReplacer}from'../utils/template-replacer.js';const __dirname=a1_0x3797ac[a1_0x14a584(0x86)](fileURLToPath(import.meta[a1_0x14a584(0x7b)])),pageTemplateDir=a1_0x3797ac[a1_0x14a584(0x8a)](__dirname,a1_0x14a584(0x68)),projectDir=process[a1_0x14a584(0x67)]();export const AddPage=()=>{const _0x3b76df=a1_0x14a584,{exit:_0x1585e7}=useApp(),[_0x5cbede,_0x5dd85d]=useState(''),[_0x5b3db4,_0x562824]=useState(''),[_0x5c0835,_0x2fab80]=useState(![]),[_0x161639,_0x4c6979]=useState(![]),_0x4802ec=a1_0x3797ac[_0x3b76df(0x7a)](projectDir,_0x3b76df(0x7d),'pages'),_0x2d6be1=a1_0x3797ac['join'](_0x4802ec,_0x5b3db4),_0x5cfb08=a1_0x3797ac[_0x3b76df(0x7a)](_0x3b76df(0x7d),_0x3b76df(0x84),_0x5b3db4);useEffect(()=>{const _0x1b756b=_0x3b76df,_0x515a5c=a1_0x3797ac[_0x1b756b(0x8a)](pageTemplateDir,_0x5cbede);if(_0x5cbede&&_0x5b3db4){_0x2fab80(!![]),logger[_0x1b756b(0x79)](process[_0x1b756b(0x67)]());const _0x3e390d=Date[_0x1b756b(0x80)]();logger[_0x1b756b(0x6c)](_0x1b756b(0x6e),_0x1b756b(0x76)+_0x5b3db4,{'template':_0x5cbede,'targetPath':_0x5cfb08}),TemplateReplacer['processTemplate'](_0x515a5c,a1_0x3797ac[_0x1b756b(0x7a)](_0x4802ec,_0x5b3db4),_0x5b3db4,_0x5cbede)['then'](()=>{const _0x3a3f9f=_0x1b756b,_0x28e464=Date[_0x3a3f9f(0x80)]()-_0x3e390d;logger[_0x3a3f9f(0x7e)]('add-page',_0x3a3f9f(0x6b)+_0x5b3db4,_0x28e464,{'template':_0x5cbede,'targetPath':_0x5cfb08,'routePath':_0x5b3db4}),_0x4c6979(!![]);})[_0x1b756b(0x74)](_0x4143c5=>{const _0x254d36=_0x1b756b,_0x251ba9=Date[_0x254d36(0x80)]()-_0x3e390d;logger['error'](_0x254d36(0x6e),'页面添加失败:\x20'+_0x5b3db4,{'template':_0x5cbede,'targetPath':_0x5cfb08,'error':_0x4143c5 instanceof Error?_0x4143c5[_0x254d36(0x87)]:String(_0x4143c5),'duration':_0x251ba9});})['finally'](()=>{_0x2fab80(![]);});}},[_0x5cbede,_0x5b3db4]),useEffect(()=>{_0x161639&&setTimeout(()=>{_0x1585e7();});},[_0x161639]);if(_0x5cbede)return a1_0x54942a(Box,{'flexDirection':_0x3b76df(0x78),'paddingY':0x1,'children':[a1_0x54942a(Box,{'children':[a1_0x31e614(Text,{'color':_0x3b76df(0x83),'children':_0x3b76df(0x6a)}),a1_0x31e614(Text,{'children':_0x3b76df(0x70)}),a1_0x31e614(Text,{'color':_0x3b76df(0x77),'children':_0x5cbede})]}),_0x5b3db4?a1_0x54942a(Box,{'children':[a1_0x31e614(Text,{'color':_0x3b76df(0x83),'children':_0x3b76df(0x73)}),a1_0x31e614(Text,{'children':'已输入的页面路由\x20'}),a1_0x31e614(Text,{'color':'green','children':_0x5b3db4})]}):a1_0x31e614(InputProjectCode,{'pagePath':_0x2d6be1,'onSubmit':_0x562824}),_0x5b3db4&&_0x5c0835?a1_0x54942a(Box,{'marginTop':0x1,'children':[a1_0x31e614(Box,{'width':'4'}),a1_0x31e614(Text,{'children':_0x3b76df(0x82)})]}):null,_0x161639?a1_0x54942a(a1_0x2c6d7b,{'children':[a1_0x31e614(Box,{'marginTop':0x1,'children':a1_0x31e614(Text,{'color':'gray','children':'\x20*\x20页面创建成功!'})}),a1_0x54942a(Box,{'children':[a1_0x31e614(Text,{'color':_0x3b76df(0x83),'children':_0x3b76df(0x7c)}),a1_0x31e614(Text,{'color':'green','children':_0x5cfb08})]}),a1_0x54942a(Box,{'children':[a1_0x31e614(Text,{'color':_0x3b76df(0x83),'children':_0x3b76df(0x85)}),a1_0x54942a(Text,{'color':_0x3b76df(0x77),'children':['/',_0x5b3db4]})]}),a1_0x31e614(Box,{'marginTop':0x1,'children':a1_0x31e614(Text,{'color':'cyan','children':'\x20*\x20页面文件已创建,可直接通过路由访问'})})]}):null]});return a1_0x31e614(SelectPageTemplate,{'onSelect':_0x5dd85d});};
@@ -1 +1 @@
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
+ (function(_0x296802,_0xb4d221){const _0x43fb87=a2_0x18ea,_0x3334b3=_0x296802();while(!![]){try{const _0x19946d=parseInt(_0x43fb87(0xa1))/0x1*(parseInt(_0x43fb87(0x92))/0x2)+-parseInt(_0x43fb87(0x91))/0x3+parseInt(_0x43fb87(0x99))/0x4+parseInt(_0x43fb87(0x94))/0x5+parseInt(_0x43fb87(0x88))/0x6*(-parseInt(_0x43fb87(0x8b))/0x7)+parseInt(_0x43fb87(0xa3))/0x8*(-parseInt(_0x43fb87(0x8d))/0x9)+-parseInt(_0x43fb87(0xa4))/0xa;if(_0x19946d===_0xb4d221)break;else _0x3334b3['push'](_0x3334b3['shift']());}catch(_0x3dd33e){_0x3334b3['push'](_0x3334b3['shift']());}}}(a2_0x56cd,0x6b7f8));import{jsx as a2_0x7e1ee1,jsxs as a2_0x5726eb}from'react/jsx-runtime';import{useState,useEffect}from'react';import{Text,Box,useInput}from'ink';import{readdir}from'node:fs/promises';import a2_0x5d78be from'node:path';import{fileURLToPath}from'node:url';async function getTemplateList(){const _0x152fb0=a2_0x18ea;try{const _0x9c6871=fileURLToPath(import.meta['url']),_0x21d189=a2_0x5d78be[_0x152fb0(0x93)](a2_0x5d78be['dirname'](_0x9c6871),_0x152fb0(0xa0)),_0x466038=a2_0x5d78be[_0x152fb0(0x97)](_0x21d189,'templates/pages'),_0x3e1975=await readdir(_0x466038,{'withFileTypes':!![]}),_0x5d660a=_0x3e1975['filter'](_0x7bfa51=>_0x7bfa51[_0x152fb0(0xa5)]())[_0x152fb0(0x95)](_0x46090f=>({'label':_0x46090f[_0x152fb0(0x9c)]}))[_0x152fb0(0x8e)]((_0x32f502,_0x45279b)=>_0x32f502[_0x152fb0(0x89)][_0x152fb0(0x8c)](_0x45279b['label']));return _0x5d660a;}catch(_0xf62589){return console[_0x152fb0(0x9e)](_0x152fb0(0x98),_0xf62589),[{'label':_0x152fb0(0x90)},{'label':'sdk-fetch'}];}}function a2_0x56cd(){const _0xe550fe=['downArrow','../..','49vASgTh','return','49512HJJHKr','2488160waTzED','isDirectory','正在加载页面模板...','gray','6rTgHGD','label','\x20Step1:\x20','575134MKZUzg','localeCompare','441dezWtn','sort','upArrow','blank','1486956TZkrER','19126CPOFsC','resolve','1415185IkCxNZ','map','\x20\x20\x20\x20\x20\x20\x20\x20','join','获取模板列表失败:','3274316BXVpmL','column','请选择您要创建的页面模板','name','green','error'];a2_0x56cd=function(){return _0xe550fe;};return a2_0x56cd();}function a2_0x18ea(_0x1ba14b,_0x3c0e89){const _0x56cdcf=a2_0x56cd();return a2_0x18ea=function(_0x18ea71,_0x7549fb){_0x18ea71=_0x18ea71-0x87;let _0x594605=_0x56cdcf[_0x18ea71];return _0x594605;},a2_0x18ea(_0x1ba14b,_0x3c0e89);}export function SelectPageTemplate(_0xca734){const _0x32b6db=a2_0x18ea,[_0x1274dc,_0x4798a4]=useState(0x0),[_0x3435f8,_0x57d70e]=useState([]),[_0x27468f,_0x399c44]=useState(!![]);useEffect(()=>{async function _0xb74fc5(){const _0xb8bdcb=await getTemplateList();_0x57d70e(_0xb8bdcb),_0x399c44(![]);}_0xb74fc5();},[]),useInput((_0xa02bd,_0x331c4f)=>{const _0x17f377=a2_0x18ea;if(_0x27468f)return;if(_0x331c4f[_0x17f377(0xa2)]){const _0x1b584c=_0x3435f8[_0x1274dc];_0x1b584c&&_0xca734['onSelect'](_0x1b584c[_0x17f377(0x89)]);}_0x331c4f[_0x17f377(0x8f)]&&_0x4798a4(_0x38b7c=>_0x38b7c===0x0?_0x3435f8['length']-0x1:_0x38b7c-0x1),_0x331c4f[_0x17f377(0x9f)]&&_0x4798a4(_0x377eb9=>_0x377eb9===_0x3435f8['length']-0x1?0x0:_0x377eb9+0x1);});if(_0x27468f)return a2_0x7e1ee1(Box,{'flexDirection':_0x32b6db(0x9a),'paddingY':0x1,'children':a2_0x5726eb(Box,{'children':[a2_0x7e1ee1(Text,{'color':_0x32b6db(0x87),'children':'\x20Step1:\x20'}),a2_0x7e1ee1(Text,{'children':_0x32b6db(0xa6)})]})});return a2_0x5726eb(Box,{'flexDirection':_0x32b6db(0x9a),'paddingY':0x1,'children':[a2_0x5726eb(Box,{'children':[a2_0x7e1ee1(Text,{'color':_0x32b6db(0x87),'children':_0x32b6db(0x8a)}),a2_0x7e1ee1(Text,{'children':_0x32b6db(0x9b)})]}),_0x3435f8['map']((_0xa9710a,_0x123d2f)=>{const _0x39a46c=_0x32b6db,_0x4a4c1e=_0x123d2f===_0x1274dc,_0x481196=_0x4a4c1e?'\x20\x20\x20\x20\x20\x20>\x20'+_0xa9710a[_0x39a46c(0x89)]:_0x39a46c(0x96)+_0xa9710a[_0x39a46c(0x89)];return a2_0x7e1ee1(Box,{'children':a2_0x7e1ee1(Text,{'color':_0x4a4c1e?_0x39a46c(0x9d):undefined,'children':_0x481196})},_0x481196);})]});}
@@ -0,0 +1 @@
1
+ (function(_0x1f9201,_0x31c7ac){const _0x1fc8c0=a3_0xca46,_0xa8a426=_0x1f9201();while(!![]){try{const _0x5c2bd8=-parseInt(_0x1fc8c0(0x115))/0x1+-parseInt(_0x1fc8c0(0x116))/0x2+-parseInt(_0x1fc8c0(0x121))/0x3*(parseInt(_0x1fc8c0(0x120))/0x4)+parseInt(_0x1fc8c0(0x12f))/0x5+-parseInt(_0x1fc8c0(0x129))/0x6+parseInt(_0x1fc8c0(0x122))/0x7*(-parseInt(_0x1fc8c0(0x119))/0x8)+parseInt(_0x1fc8c0(0x128))/0x9*(parseInt(_0x1fc8c0(0x105))/0xa);if(_0x5c2bd8===_0x31c7ac)break;else _0xa8a426['push'](_0xa8a426['shift']());}catch(_0x59524f){_0xa8a426['push'](_0xa8a426['shift']());}}}(a3_0x275f,0x9de54));function a3_0x275f(){const _0x494bb3=['3872685QgtwcF','error','originalCount','red','未提供应用AppCode,且配置中也没有默认值','datasetName','lovrabet\x20auth','length','38106790qeKXyo','setLogPath','filePath','./docs','🚀\x20','map','success','yellow','env','datasetCode',',\x20失败\x20','dim','正在获取数据集列表...','green','cyan','api-doc','1146950ootLUf','821848jywfhb','使用指定的应用AppCode:\x20','未找到任何数据集','40FtCnMX','filter','!\x20原始数据集\x20','gray','white','duplicateCount','文档生成完成','8KQWBHV','1013217zffKVl','852131aHyZKz','column','正在生成\x20','*\x20输出目录:\x20','使用配置的应用AppCode:\x20','√\x20文档生成完成!成功\x20','9ugIpDV','6578754ZlBvWC','*\x20生成的文档文件:','message','\x20个,过滤重复','文档生成失败:\x20','\x20(环境:\x20'];a3_0x275f=function(){return _0x494bb3;};return a3_0x275f();}import{jsx as a3_0x3d1937,jsxs as a3_0x3063cd,Fragment as a3_0x102038}from'react/jsx-runtime';function a3_0xca46(_0x4722c3,_0x549554){const _0x275f68=a3_0x275f();return a3_0xca46=function(_0xca46e,_0x45f6eb){_0xca46e=_0xca46e-0x102;let _0x265d72=_0x275f68[_0xca46e];return _0x265d72;},a3_0xca46(_0x4722c3,_0x549554);}import{useEffect,useState}from'react';import{Box,Text,useApp}from'ink';import{readConfig,getConfigAppCode}from'../utils/config.js';import{initEnv}from'../constant/env.js';import{fetchDatasets}from'./fetch-datasets.js';import{generateDatasetDocs}from'./api-doc.js';import{logger}from'../utils/logger.js';export const ApiDocUI=({appCode:_0x512786,env:_0x10a2a9,output:_0x121972})=>{const _0xbb8a72=a3_0xca46,{exit:_0x239479}=useApp(),[_0x3da647,_0x24c583]=useState(![]),[_0x245581,_0x1353ae]=useState(''),[_0x42db59,_0x35641a]=useState(![]),[_0x157ed9,_0x5048de]=useState(null),[_0x502d5d,_0x4d38a0]=useState(null),[_0x55fe74,_0x116648]=useState(null),_0x55075f=readConfig(),_0x5c21ab=getConfigAppCode(),_0x584380=_0x512786||_0x5c21ab,_0x54fa6d=typeof _0x55075f?.['env']==='string'?_0x55075f[_0xbb8a72(0x10d)]:undefined,_0xd2fc4f=_0x10a2a9||_0x54fa6d||'online';initEnv(_0xd2fc4f);const _0x2a2db3=_0x121972||_0xbb8a72(0x108),_0x5457ae=_0x512786?_0xbb8a72(0x117)+_0x584380:_0xbb8a72(0x126)+_0x584380;useEffect(()=>{_0x24c583(!![]),_0x271e34();},[]),useEffect(()=>{(_0x42db59||_0x157ed9)&&_0x239479();},[_0x42db59,_0x157ed9,_0x239479]);async function _0x271e34(){const _0x482141=_0xbb8a72;if(!_0x584380){_0x5048de(_0x482141(0x133));return;}try{logger[_0x482141(0x106)](process['cwd']()),_0x1353ae(_0x482141(0x111));const {rawData:_0x55b319,originalCount:_0x87856e,filteredCount:_0x27398a,duplicateCount:_0xda7f65}=await fetchDatasets(_0x584380);_0x116648({'originalCount':_0x87856e,'filteredCount':_0x27398a,'duplicateCount':_0xda7f65});if(_0x55b319[_0x482141(0x104)]===0x0){_0x5048de(_0x482141(0x118));return;}_0x1353ae(_0x482141(0x124)+_0x55b319[_0x482141(0x104)]+'\x20个数据集的文档...');const _0x1b62a3=await generateDatasetDocs(_0x55b319,_0x584380,_0x2a2db3,(_0x348419,_0x17491a,_0x3d77a7)=>{_0x1353ae('正在生成\x20'+_0x3d77a7+'.md\x20('+_0x348419+'/'+_0x17491a+')');});_0x4d38a0(_0x1b62a3),_0x35641a(!![]);const _0x128dcb=_0x1b62a3[_0x482141(0x11a)](_0x10f86a=>_0x10f86a['success'])[_0x482141(0x104)],_0x28bb73=_0x1b62a3[_0x482141(0x11a)](_0x5a7d1f=>!_0x5a7d1f['success'])[_0x482141(0x104)];logger[_0x482141(0x10b)](_0x482141(0x114),_0x482141(0x11f),undefined,{'totalCount':_0x1b62a3[_0x482141(0x104)],'successCount':_0x128dcb,'failCount':_0x28bb73,'outputDir':_0x2a2db3});}catch(_0x28d3f5){const _0x55287e=_0x28d3f5 instanceof Error?_0x28d3f5[_0x482141(0x12b)]:String(_0x28d3f5);logger[_0x482141(0x130)](_0x482141(0x114),_0x482141(0x12d)+_0x55287e,{'appCode':_0x584380,'outputDir':_0x2a2db3}),_0x5048de(_0x482141(0x12d)+_0x55287e);}finally{_0x24c583(![]);}}const _0x100b2b=_0x502d5d?.[_0xbb8a72(0x11a)](_0x115e72=>_0x115e72[_0xbb8a72(0x10b)])[_0xbb8a72(0x104)]||0x0,_0x157e2a=_0x502d5d?.[_0xbb8a72(0x11a)](_0x4f53b4=>!_0x4f53b4[_0xbb8a72(0x10b)])[_0xbb8a72(0x104)]||0x0;return a3_0x3063cd(Box,{'flexDirection':'column','children':[(_0x3da647||_0x42db59)&&a3_0x3063cd(Box,{'children':[a3_0x3d1937(Text,{'color':_0xbb8a72(0x11c),'children':'*\x20'}),a3_0x3d1937(Text,{'color':_0x512786?_0xbb8a72(0x11d):_0xbb8a72(0x110),'children':_0x5457ae})]}),_0x3da647&&a3_0x3d1937(Box,{'children':a3_0x3063cd(Text,{'children':[_0xbb8a72(0x109),_0x245581,_0xbb8a72(0x12e),_0xd2fc4f,')']})}),_0x42db59&&_0x502d5d&&_0x55fe74&&a3_0x3063cd(Box,{'flexDirection':_0xbb8a72(0x123),'children':[a3_0x3d1937(Box,{'children':a3_0x3063cd(Text,{'color':_0xbb8a72(0x112),'children':[_0xbb8a72(0x127),_0x100b2b,'\x20个',_0x157e2a>0x0&&_0xbb8a72(0x10f)+_0x157e2a+'\x20个']})}),_0x55fe74[_0xbb8a72(0x11e)]>0x0&&a3_0x3d1937(Box,{'marginTop':0x1,'children':a3_0x3063cd(Text,{'color':_0xbb8a72(0x10c),'children':[_0xbb8a72(0x11b),_0x55fe74[_0xbb8a72(0x131)],_0xbb8a72(0x12c),'\x20',_0x55fe74[_0xbb8a72(0x11e)],'\x20个']})}),a3_0x3063cd(Box,{'marginTop':0x1,'children':[a3_0x3d1937(Text,{'color':'gray','children':_0xbb8a72(0x125)}),a3_0x3d1937(Text,{'color':'cyan','children':_0x2a2db3})]}),_0x100b2b>0x0&&a3_0x3063cd(a3_0x102038,{'children':[a3_0x3d1937(Box,{'marginTop':0x1,'children':a3_0x3d1937(Text,{'color':_0xbb8a72(0x11c),'children':_0xbb8a72(0x12a)})}),_0x502d5d[_0xbb8a72(0x11a)](_0x125fae=>_0x125fae[_0xbb8a72(0x10b)])[_0xbb8a72(0x10a)]((_0x3cef80,_0x1d17d9)=>a3_0x3063cd(Box,{'marginLeft':0x2,'children':[a3_0x3063cd(Text,{'color':'cyan','children':['•\x20',_0x3cef80[_0xbb8a72(0x107)]]}),a3_0x3063cd(Text,{'color':'dim','children':['\x20-\x20',_0x3cef80[_0xbb8a72(0x102)]]})]},_0x1d17d9))]}),_0x157e2a>0x0&&a3_0x3063cd(a3_0x102038,{'children':[a3_0x3d1937(Box,{'marginTop':0x1,'children':a3_0x3d1937(Text,{'color':'yellow','children':'⚠️\x20以下数据集生成失败:'})}),_0x502d5d[_0xbb8a72(0x11a)](_0x1b4a45=>!_0x1b4a45['success'])[_0xbb8a72(0x10a)]((_0x7223b5,_0x3c9c82)=>a3_0x3063cd(Box,{'marginLeft':0x2,'flexDirection':_0xbb8a72(0x123),'children':[a3_0x3063cd(Text,{'color':_0xbb8a72(0x132),'children':['•\x20',_0x7223b5[_0xbb8a72(0x102)],'\x20(',_0x7223b5[_0xbb8a72(0x10e)],')']}),_0x7223b5[_0xbb8a72(0x130)]&&a3_0x3d1937(Box,{'marginLeft':0x2,'children':a3_0x3d1937(Text,{'color':_0xbb8a72(0x110),'children':_0x7223b5['error']})})]},_0x3c9c82))]})]}),_0x157ed9&&a3_0x3063cd(Box,{'flexDirection':_0xbb8a72(0x123),'children':[a3_0x3d1937(Box,{'children':a3_0x3063cd(Text,{'color':_0xbb8a72(0x132),'children':['❌\x20',_0x157ed9]})}),_0x157ed9['includes']('登录')&&a3_0x3063cd(Box,{'marginTop':0x1,'children':[a3_0x3d1937(Text,{'color':_0xbb8a72(0x10c),'children':'💡\x20请使用\x20'}),a3_0x3d1937(Text,{'color':_0xbb8a72(0x113),'children':_0xbb8a72(0x103)}),a3_0x3d1937(Text,{'color':_0xbb8a72(0x10c),'children':'\x20重新登录后再试'})]})]})]});};
@@ -0,0 +1 @@
1
+ const a4_0x41d9a9=a4_0x2b90;(function(_0x35c151,_0x31a96e){const _0x2ac990=a4_0x2b90,_0xad9001=_0x35c151();while(!![]){try{const _0x447f38=parseInt(_0x2ac990(0x12a))/0x1+parseInt(_0x2ac990(0x138))/0x2+parseInt(_0x2ac990(0x122))/0x3+-parseInt(_0x2ac990(0x134))/0x4*(-parseInt(_0x2ac990(0x11d))/0x5)+parseInt(_0x2ac990(0x11a))/0x6+parseInt(_0x2ac990(0x11f))/0x7+-parseInt(_0x2ac990(0x129))/0x8;if(_0x447f38===_0x31a96e)break;else _0xad9001['push'](_0xad9001['shift']());}catch(_0x53b269){_0xad9001['push'](_0xad9001['shift']());}}}(a4_0x1b89,0x39d2b));import{mkdirSync,writeFileSync}from'node:fs';import a4_0x41a502 from'node:path';function a4_0x1b89(){const _0x335ca5=['data','slice','.md','stringify','code','生成文档失败:\x20','4PZRThf','dbtableConfig','markdown','./docs','876714XPDcSn','),HTTP状态码:\x20','status','push','length','184728hTmiFT','响应数据格式错误\x20(',']\x20正在生成:\x20','1223890alITSi','✓\x20成功生成:\x20','3286388kjOFVZ','log','/api/node-toolbox/api-doc-generator','84246gOkImw','api-doc','✗\x20失败:\x20','登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录','.md\x20(','name','string','7807672VkOInf','1313qoGLeH','):缺少\x20data.markdown\x20字段','utf8','tableName'];a4_0x1b89=function(){return _0x335ca5;};return a4_0x1b89();}import{getCookie}from'../auth/get-cookie.js';import{getApiDomain}from'../constant/domain.js';function a4_0x2b90(_0x57127b,_0x514be8){const _0x1b8993=a4_0x1b89();return a4_0x2b90=function(_0x2b90c1,_0x25ca83){_0x2b90c1=_0x2b90c1-0x119;let _0x1c12f6=_0x1b8993[_0x2b90c1];return _0x1c12f6;},a4_0x2b90(_0x57127b,_0x514be8);}import{logger}from'../utils/logger.js';export async function fetchDatasetDoc(_0xb354ee){const _0x5c5f84=a4_0x2b90,{appCode:_0x16ea57,datasetCode:_0x1a103e,datasetId:_0x574f81}=_0xb354ee,_0x3b1233=getApiDomain(),_0x363ec0=_0x3b1233+_0x5c5f84(0x121),_0x436578=await fetch(_0x363ec0,{'method':'POST','headers':{'Content-Type':'application/json','Cookie':getCookie()},'body':JSON[_0x5c5f84(0x131)]({'appCode':_0x16ea57,'datasetCode':_0x1a103e,'datasetId':_0x574f81})});if(!_0x436578['ok']){if(_0x436578[_0x5c5f84(0x13a)]===0x191)throw new Error(_0x5c5f84(0x125));let _0x87f1f9='';try{_0x87f1f9=await _0x436578['text']();}catch(_0x1fa237){}throw new Error('获取文档失败\x20('+_0x1a103e+_0x5c5f84(0x139)+_0x436578[_0x5c5f84(0x13a)]+(_0x87f1f9?'\x0a'+_0x87f1f9:''));}const _0x22c166=await _0x436578['json']();if(!_0x22c166[_0x5c5f84(0x12e)]||typeof _0x22c166[_0x5c5f84(0x12e)][_0x5c5f84(0x136)]!==_0x5c5f84(0x128))throw new Error(_0x5c5f84(0x11b)+_0x1a103e+_0x5c5f84(0x12b));return _0x22c166[_0x5c5f84(0x12e)][_0x5c5f84(0x136)];}function delay(_0x9221cf){return new Promise(_0xc6bb63=>setTimeout(_0xc6bb63,_0x9221cf));}export async function generateDatasetDocs(_0x4cd581,_0x5ac5bf,_0x49e9ac=a4_0x41d9a9(0x137),_0x93d7b1){const _0x133717=a4_0x41d9a9;mkdirSync(_0x49e9ac,{'recursive':!![]});const _0x32a204=[],_0x25322f=_0x4cd581[_0x133717(0x119)];console[_0x133717(0x120)]('\x0a共有\x20'+_0x25322f+'\x20个数据集需要生成文档\x0a');for(let _0x1132a9=0x0;_0x1132a9<_0x4cd581[_0x133717(0x119)];_0x1132a9++){const _0x2071da=_0x4cd581[_0x1132a9],_0x5e54d7=_0x1132a9+0x1;let _0x486250;if(_0x2071da[_0x133717(0x135)]?.[_0x133717(0x12d)])_0x486250=_0x2071da[_0x133717(0x135)]['tableName'];else{const _0xe52d58=_0x2071da[_0x133717(0x132)][_0x133717(0x12f)](-0x4);_0x486250='dataset_'+_0xe52d58;}try{console['log']('['+_0x5e54d7+'/'+_0x25322f+_0x133717(0x11c)+_0x486250+_0x133717(0x126)+_0x2071da[_0x133717(0x127)]+')');_0x93d7b1&&_0x93d7b1(_0x5e54d7,_0x25322f,_0x486250);const _0x5bb7b9=await fetchDatasetDoc({'appCode':_0x5ac5bf,'datasetCode':_0x2071da[_0x133717(0x132)],'datasetId':_0x2071da['id'],'enableAI':![]}),_0x2757b6=a4_0x41a502['join'](_0x49e9ac,_0x486250+_0x133717(0x130));writeFileSync(_0x2757b6,_0x5bb7b9,{'encoding':_0x133717(0x12c)}),console['log'](_0x133717(0x11e)+_0x486250+_0x133717(0x130)),logger['success'](_0x133717(0x123),'生成文档成功:\x20'+_0x486250,undefined,{'datasetCode':_0x2071da[_0x133717(0x132)],'datasetName':_0x2071da['name'],'filePath':_0x2757b6,'progress':_0x5e54d7+'/'+_0x25322f}),_0x32a204[_0x133717(0x13b)]({'datasetCode':_0x2071da[_0x133717(0x132)],'datasetName':_0x2071da[_0x133717(0x127)],'filePath':_0x2757b6,'success':!![]}),_0x5e54d7<_0x25322f&&await delay(0xbb8);}catch(_0x375fee){const _0x5bb393=_0x375fee instanceof Error?_0x375fee['message']:String(_0x375fee);console['log'](_0x133717(0x124)+_0x486250+'.md\x20-\x20'+_0x5bb393+'\x0a'),logger['error'](_0x133717(0x123),_0x133717(0x133)+_0x2071da[_0x133717(0x132)],{'datasetCode':_0x2071da[_0x133717(0x132)],'datasetName':_0x2071da[_0x133717(0x127)],'error':_0x5bb393,'progress':_0x5e54d7+'/'+_0x25322f}),_0x32a204[_0x133717(0x13b)]({'datasetCode':_0x2071da[_0x133717(0x132)],'datasetName':_0x2071da['name'],'filePath':'','success':![],'error':_0x5bb393}),_0x5e54d7<_0x25322f&&(console[_0x133717(0x120)]('等待\x203\x20秒...\x0a'),await delay(0xbb8));}}return _0x32a204;}
@@ -1 +1 @@
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
+ (function(_0x431aa9,_0x4be06d){const _0x30513d=a5_0x5c79,_0x3e6094=_0x431aa9();while(!![]){try{const _0x5392a9=parseInt(_0x30513d(0x10c))/0x1+parseInt(_0x30513d(0x117))/0x2*(parseInt(_0x30513d(0x10f))/0x3)+parseInt(_0x30513d(0x100))/0x4+-parseInt(_0x30513d(0x128))/0x5*(-parseInt(_0x30513d(0x10e))/0x6)+parseInt(_0x30513d(0xf5))/0x7+parseInt(_0x30513d(0xfd))/0x8+parseInt(_0x30513d(0x108))/0x9*(-parseInt(_0x30513d(0x111))/0xa);if(_0x5392a9===_0x4be06d)break;else _0x3e6094['push'](_0x3e6094['shift']());}catch(_0x116f28){_0x3e6094['push'](_0x3e6094['shift']());}}}(a5_0x2e2c,0x7364b));function a5_0x2e2c(){const _0x5e2926=['datasetCount','gray','590351MJYdzP','√\x20成功拉取\x20','6pPBerc','180027YOQjNX','\x20个,过滤重复','26110oLKtzz','未提供应用AppCode,且配置中也没有默认值','replace','includes','\x20from\x20\x27@/','string','2ArQKgD','modelCount','🚀\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20','-api','\x20个模型)','online','\x20-\x20客户端实例文件','column','-client','env','error','-\x20模型配置文件\x20(','api','\x20个模型','split','cwd','setLogPath','4471385vpftuQ','duplicateCount','💡\x20请使用\x20','.ts','./src/api/','client','4472279ORLfZm','*\x20已生成文件:','*\x20导入方式:','\x20个数据集,生成','originalCount','join','api-pull','使用指定的应用AppCode:\x20','2012376wrcESs','slice','\x20重新登录后再试','1852756INNGsU','yellow','dim','拉取\x20API\x20配置失败:\x20','cyan','message','green','lovrabet\x20auth','8361ceIAGa','white'];a5_0x2e2c=function(){return _0x5e2926;};return a5_0x2e2c();}import{jsx as a5_0x52a211,jsxs as a5_0x2c23f4}from'react/jsx-runtime';import{useEffect,useState}from'react';import{Box,Text,useApp}from'ink';import{readConfig,getConfigAppCode}from'../utils/config.js';import{initEnv}from'../constant/env.js';import{fetchDatasets}from'./fetch-datasets.js';import{generateApiFile}from'./generate-api-file.js';import{logger}from'../utils/logger.js';function a5_0x5c79(_0x1870d5,_0x1d5840){const _0x2e2c37=a5_0x2e2c();return a5_0x5c79=function(_0x5c79bb,_0x56470b){_0x5c79bb=_0x5c79bb-0xf4;let _0xf21cda=_0x2e2c37[_0x5c79bb];return _0xf21cda;},a5_0x5c79(_0x1870d5,_0x1d5840);}export const ApiPullUI=({appCode:_0x2955ec,env:_0x20f4a3,output:_0x5d3aac})=>{const _0x4010c1=a5_0x5c79,{exit:_0x43ba0d}=useApp(),[_0x41acac,_0x11e837]=useState(![]),[_0x4ad07b,_0x4a0195]=useState(![]),[_0x42e431,_0x56cf7d]=useState(null),[_0x5ee914,_0x26725a]=useState(null),_0x4323dc=readConfig(),_0x53c0b9=getConfigAppCode(),_0x187de9=_0x2955ec||_0x53c0b9,_0x2007ae=typeof _0x4323dc?.[_0x4010c1(0x120)]===_0x4010c1(0x116)?_0x4323dc[_0x4010c1(0x120)]:undefined,_0x4004de=_0x20f4a3||_0x2007ae||_0x4010c1(0x11c);initEnv(_0x4004de);const _0x1470a9=_0x5d3aac||_0x4010c1(0x12c),_0x30ddda=_0x2955ec&&_0x2955ec['includes']('-')?_0x2955ec[_0x4010c1(0x125)]('-')[_0x4010c1(0xfe)](0x1)[_0x4010c1(0xfa)]('-'):'',_0x2122ec=_0x2955ec?_0x4010c1(0xfc)+_0x187de9:'使用配置的应用AppCode:\x20'+_0x187de9,_0x33223f=_0x30ddda?_0x30ddda+_0x4010c1(0x11a):_0x4010c1(0x123),_0x5d8c91=_0x30ddda?_0x30ddda+_0x4010c1(0x11f):'client';useEffect(()=>{_0x11e837(!![]),_0x3e1ac0();},[]),useEffect(()=>{(_0x4ad07b||_0x42e431)&&_0x43ba0d();},[_0x4ad07b,_0x42e431,_0x43ba0d]);async function _0x3e1ac0(){const _0xfe5bd0=_0x4010c1;if(!_0x187de9){_0x56cf7d(_0xfe5bd0(0x112));return;}try{logger[_0xfe5bd0(0x127)](process[_0xfe5bd0(0x126)]());const {rawData:_0x47a4d1,originalCount:_0x115dfb,filteredCount:_0x1e7106,duplicateCount:_0x6d8e49}=await fetchDatasets(_0x187de9),_0x118eb3=_0x1e7106,_0x2b84df=!_0x2955ec,_0x10191f=await generateApiFile(_0x47a4d1,_0x30ddda,_0x187de9,_0x2b84df,_0x4004de,_0x1470a9),_0xf0dd56=_0x1470a9['endsWith']('/')?_0x1470a9:_0x1470a9+'/';_0x26725a({'api':''+_0xf0dd56+_0x33223f+_0xfe5bd0(0x12b),'client':''+_0xf0dd56+_0x5d8c91+'.ts','modelCount':_0x10191f[_0xfe5bd0(0x118)],'datasetCount':_0x118eb3,'originalCount':_0x115dfb,'duplicateCount':_0x6d8e49}),_0x4a0195(!![]);}catch(_0x5342bf){const _0x58b1a9=_0x5342bf instanceof Error?_0x5342bf[_0xfe5bd0(0x105)]:String(_0x5342bf);logger[_0xfe5bd0(0x121)](_0xfe5bd0(0xfb),_0xfe5bd0(0x103)+_0x58b1a9,{'appCode':_0x187de9,'error':_0x58b1a9}),_0x56cf7d(_0xfe5bd0(0x103)+_0x58b1a9);}finally{_0x11e837(![]);}}return a5_0x2c23f4(Box,{'flexDirection':_0x4010c1(0x11e),'children':[(_0x41acac||_0x4ad07b)&&a5_0x2c23f4(Box,{'children':[a5_0x52a211(Text,{'color':_0x4010c1(0x10b),'children':'*\x20'}),a5_0x52a211(Text,{'color':_0x2955ec?_0x4010c1(0x109):_0x4010c1(0x102),'children':_0x2122ec})]}),_0x41acac&&a5_0x52a211(Box,{'children':a5_0x2c23f4(Text,{'children':[_0x4010c1(0x119),_0x4004de,')']})}),_0x4ad07b&&_0x5ee914&&a5_0x2c23f4(Box,{'flexDirection':_0x4010c1(0x11e),'children':[a5_0x52a211(Box,{'children':a5_0x2c23f4(Text,{'color':_0x4010c1(0x106),'children':[_0x4010c1(0x10d),_0x5ee914[_0x4010c1(0x10a)],_0x4010c1(0xf8),'\x20',_0x5ee914[_0x4010c1(0x118)],_0x4010c1(0x124)]})}),_0x5ee914['duplicateCount']>0x0&&a5_0x52a211(Box,{'marginTop':0x1,'children':a5_0x2c23f4(Text,{'color':'yellow','children':['!\x20原始数据集\x20',_0x5ee914[_0x4010c1(0xf9)],_0x4010c1(0x110),'\x20',_0x5ee914[_0x4010c1(0x129)],'\x20个']})}),a5_0x52a211(Box,{'marginTop':0x1,'children':a5_0x52a211(Text,{'color':_0x4010c1(0x10b),'children':_0x4010c1(0xf6)})}),a5_0x2c23f4(Box,{'marginLeft':0x2,'children':[a5_0x2c23f4(Text,{'color':_0x4010c1(0x104),'children':['•\x20',_0x5ee914[_0x4010c1(0x123)]]}),a5_0x2c23f4(Text,{'color':'dim','children':['\x20',_0x4010c1(0x122),_0x5ee914['modelCount'],_0x4010c1(0x11b)]})]}),a5_0x2c23f4(Box,{'marginLeft':0x2,'children':[a5_0x2c23f4(Text,{'color':_0x4010c1(0x104),'children':['•\x20',_0x5ee914['client']]}),a5_0x52a211(Text,{'color':_0x4010c1(0x102),'children':_0x4010c1(0x11d)})]}),a5_0x52a211(Box,{'marginTop':0x1,'children':a5_0x52a211(Text,{'color':'gray','children':_0x4010c1(0xf7)})}),a5_0x52a211(Box,{'marginLeft':0x2,'children':a5_0x2c23f4(Text,{'color':'yellow','children':['import\x20','{\x20lovrabetClient\x20}',_0x4010c1(0x115),_0x5ee914[_0x4010c1(0xf4)][_0x4010c1(0x113)](/^\.\//,'')[_0x4010c1(0x113)](_0x4010c1(0x12b),''),'\x27']})})]}),_0x42e431&&a5_0x2c23f4(Box,{'flexDirection':_0x4010c1(0x11e),'children':[a5_0x52a211(Box,{'children':a5_0x2c23f4(Text,{'color':'red','children':['❌\x20',_0x42e431]})}),_0x42e431[_0x4010c1(0x114)]('登录')&&a5_0x2c23f4(Box,{'marginTop':0x1,'children':[a5_0x52a211(Text,{'color':_0x4010c1(0x101),'children':_0x4010c1(0x12a)}),a5_0x52a211(Text,{'color':'cyan','children':_0x4010c1(0x107)}),a5_0x52a211(Text,{'color':_0x4010c1(0x101),'children':_0x4010c1(0xff)})]})]})]});};
@@ -0,0 +1 @@
1
+ (function(_0x141cc4,_0x2452b7){const _0x578a0d=a6_0x3087,_0x32f131=_0x141cc4();while(!![]){try{const _0x184616=-parseInt(_0x578a0d(0xcc))/0x1*(parseInt(_0x578a0d(0xda))/0x2)+parseInt(_0x578a0d(0xe1))/0x3+-parseInt(_0x578a0d(0xd6))/0x4*(-parseInt(_0x578a0d(0xd0))/0x5)+parseInt(_0x578a0d(0xcf))/0x6*(parseInt(_0x578a0d(0xd9))/0x7)+parseInt(_0x578a0d(0xca))/0x8+parseInt(_0x578a0d(0xde))/0x9*(-parseInt(_0x578a0d(0xd8))/0xa)+parseInt(_0x578a0d(0xe0))/0xb;if(_0x184616===_0x2452b7)break;else _0x32f131['push'](_0x32f131['shift']());}catch(_0x1008b2){_0x32f131['push'](_0x32f131['shift']());}}}(a6_0x16ce,0xf0b87));import{getCookie}from'../auth/get-cookie.js';function a6_0x3087(_0x562d59,_0x37950b){const _0x16ceb4=a6_0x16ce();return a6_0x3087=function(_0x30873f,_0x48a355){_0x30873f=_0x30873f-0xc8;let _0xa84998=_0x16ceb4[_0x30873f];return _0xa84998;},a6_0x3087(_0x562d59,_0x37950b);}import{getApiDomain}from'../constant/domain.js';import{formatDataset}from'./format-dataset.js';export function filterDuplicateDatasets(_0x5f2a2c){const _0xb4bbaa=a6_0x3087,_0x7e64ff=_0x5f2a2c[_0xb4bbaa(0xdb)](_0xe21f09=>_0xe21f09[_0xb4bbaa(0xdd)]),_0x2e568d=_0x5f2a2c[_0xb4bbaa(0xdb)](_0x25eb04=>!_0x25eb04[_0xb4bbaa(0xdd)]),_0x4495d2=new Map();return _0x7e64ff[_0xb4bbaa(0xcd)](_0x307508=>{const _0x2886e7=_0xb4bbaa,_0x307eec=_0x307508[_0x2886e7(0xdd)][_0x2886e7(0xdf)],_0x1ec567=_0x4495d2['get'](_0x307eec);(!_0x1ec567||_0x307508['id']>_0x1ec567['id'])&&_0x4495d2['set'](_0x307eec,_0x307508);}),[...Array[_0xb4bbaa(0xd2)](_0x4495d2[_0xb4bbaa(0xc8)]()),..._0x2e568d];}export async function fetchDatasets(_0x2a926c){const _0x590324=a6_0x3087,_0x259601=await fetch(getApiDomain()+'/smartapi/dataset/getList?appCode='+_0x2a926c+_0x590324(0xd3),{'headers':{'Cookie':getCookie()}});if(!_0x259601['ok']){if(_0x259601[_0x590324(0xce)]===0x191)throw new Error('登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录');let _0x428725='';try{_0x428725=await _0x259601[_0x590324(0xd1)]();}catch(_0x5b1bf2){}throw new Error(_0x590324(0xd7)+_0x259601[_0x590324(0xce)]+(_0x428725?'\x0a'+_0x428725:''));}const _0x45652d=await _0x259601[_0x590324(0xd5)]();if(!_0x45652d[_0x590324(0xcb)])throw new Error('获取数据集失败:\x20'+(_0x45652d['message']||_0x590324(0xdc)));const _0x573ca2=_0x45652d[_0x590324(0xc9)][_0x590324(0xd4)],_0x14d124=_0x573ca2['length'],_0x188c58=filterDuplicateDatasets(_0x573ca2),_0x3923c1=_0x188c58['length'],_0xa541b1=_0x14d124-_0x3923c1,_0x5a214c=formatDataset(_0x188c58);return{'datasets':_0x5a214c,'rawData':_0x188c58,'originalCount':_0x14d124,'filteredCount':_0x3923c1,'duplicateCount':_0xa541b1};}function a6_0x16ce(){const _0x8a5e00=['dbtableConfig','61461DzYwxg','tableName','2424906tAeBno','119091WMmksQ','values','data','6738240mxlEun','success','1226HTlCyU','forEach','status','961458UqIvap','38635PiytMM','text','from','&pageSize=999&currentPage=1','tableData','json','956BkwZBi','获取数据集失败,HTTP状态码:\x20','2740XjOjwD','49vBobSd','1980KegYqj','filter','未知错误'];a6_0x16ce=function(){return _0x8a5e00;};return a6_0x16ce();}
@@ -1 +1 @@
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
+ function a7_0x5d46(){const _0x5de63c=['toUpperCase','set','pkField','get','131490OKatmw','30GpmZLM','5vEJewQ','replace','11vZgvjA','44930IxnsDt','dataset','map','values','6042416IRQsTv','code','slice','Api','tableName','3177392wEuhIk','36100188FHaFaw','name','allFields','filter','3RFtqmK','18VMeyFm','trim','1384943VrhcZg','3873666yNxChZ','dbtableConfig','forEach'];a7_0x5d46=function(){return _0x5de63c;};return a7_0x5d46();}(function(_0x261cfb,_0x54153d){const _0x3585c7=a7_0xcb6e,_0x44105a=_0x261cfb();while(!![]){try{const _0x428ffc=parseInt(_0x3585c7(0xaf))/0x1*(-parseInt(_0x3585c7(0xa1))/0x2)+-parseInt(_0x3585c7(0xb3))/0x3+parseInt(_0x3585c7(0xaa))/0x4*(parseInt(_0x3585c7(0x9e))/0x5)+parseInt(_0x3585c7(0x9d))/0x6*(-parseInt(_0x3585c7(0xb2))/0x7)+-parseInt(_0x3585c7(0xa5))/0x8+-parseInt(_0x3585c7(0xb0))/0x9*(parseInt(_0x3585c7(0x9c))/0xa)+-parseInt(_0x3585c7(0xa0))/0xb*(-parseInt(_0x3585c7(0xab))/0xc);if(_0x428ffc===_0x54153d)break;else _0x44105a['push'](_0x44105a['shift']());}catch(_0x4b7487){_0x44105a['push'](_0x44105a['shift']());}}}(a7_0x5d46,0xa45d3));export function formatDataset(_0x3ee8a0){const _0x524d71=a7_0xcb6e,_0xd8b979=_0x3ee8a0[_0x524d71(0xae)](_0x52e76b=>_0x52e76b[_0x524d71(0xb4)]),_0x1ef433=_0x3ee8a0[_0x524d71(0xae)](_0x2e6c1a=>!_0x2e6c1a['dbtableConfig']),_0x10d14e=new Map();_0xd8b979[_0x524d71(0xb5)](_0x25f653=>{const _0x421f4f=_0x524d71,_0x3e6a13=_0x25f653[_0x421f4f(0xb4)][_0x421f4f(0xa9)],_0x117cb4=_0x10d14e[_0x421f4f(0x9b)](_0x3e6a13);(!_0x117cb4||_0x25f653['id']>_0x117cb4['id'])&&_0x10d14e[_0x421f4f(0xb7)](_0x3e6a13,_0x25f653);});const _0x3e2550=Array['from'](_0x10d14e[_0x524d71(0xa4)]())[_0x524d71(0xa3)](_0x5e30d6=>{const _0x4b0b57=_0x524d71,_0x1a5cca=snakeToCamel(_0x5e30d6['dbtableConfig'][_0x4b0b57(0xa9)]);return{'id':_0x5e30d6['id'],'name':_0x5e30d6[_0x4b0b57(0xac)],'code':_0x5e30d6[_0x4b0b57(0xa6)],'tableName':_0x5e30d6[_0x4b0b57(0xb4)]['tableName'],'apiFucName':_0x1a5cca?_0x1a5cca+_0x4b0b57(0xa8):_0x4b0b57(0xa2)+_0x5e30d6[_0x4b0b57(0xa6)]+_0x4b0b57(0xa8),'pkField':_0x5e30d6[_0x4b0b57(0xb4)][_0x4b0b57(0x9a)],'allFields':_0x5e30d6[_0x4b0b57(0xb4)][_0x4b0b57(0xad)]['split'](',')};}),_0x527c9a=_0x1ef433[_0x524d71(0xa3)](_0x36815c=>{const _0x570f24=_0x524d71,_0xe047f2=_0x36815c[_0x570f24(0xa6)][_0x570f24(0xa7)](-0x6),_0x34ed6d='dataset_'+_0xe047f2,_0x4a9179=snakeToCamel(_0x34ed6d);return{'id':_0x36815c['id'],'name':_0x36815c[_0x570f24(0xac)],'code':_0x36815c[_0x570f24(0xa6)],'tableName':_0x34ed6d,'apiFucName':_0x4a9179?_0x4a9179+_0x570f24(0xa8):_0x570f24(0xa2)+_0xe047f2+_0x570f24(0xa8),'pkField':undefined,'allFields':[]};});return[..._0x3e2550,..._0x527c9a];}function a7_0xcb6e(_0x5659ee,_0x3ab747){const _0x5d4601=a7_0x5d46();return a7_0xcb6e=function(_0xcb6e96,_0x15d15b){_0xcb6e96=_0xcb6e96-0x9a;let _0x220946=_0x5d4601[_0xcb6e96];return _0x220946;},a7_0xcb6e(_0x5659ee,_0x3ab747);}function snakeToCamel(_0x400670){const _0x2319ff=a7_0xcb6e;if(!_0x400670)return _0x400670;const _0x3d0426=_0x400670[_0x2319ff(0xb1)]();return _0x3d0426[_0x2319ff(0x9f)](/_([a-zA-Z0-9])/g,(_0x43bfa3,_0x3139a)=>_0x3139a[_0x2319ff(0xb6)]());}
@@ -1 +1 @@
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');}
1
+ (function(_0x3423cc,_0x33d100){const _0x5a37fe=a8_0x1ee0,_0x3c4f3c=_0x3423cc();while(!![]){try{const _0x34c25f=parseInt(_0x5a37fe(0x140))/0x1+-parseInt(_0x5a37fe(0x131))/0x2+-parseInt(_0x5a37fe(0x12d))/0x3*(-parseInt(_0x5a37fe(0x134))/0x4)+-parseInt(_0x5a37fe(0x128))/0x5*(parseInt(_0x5a37fe(0x10e))/0x6)+parseInt(_0x5a37fe(0x112))/0x7*(-parseInt(_0x5a37fe(0x110))/0x8)+parseInt(_0x5a37fe(0x135))/0x9*(-parseInt(_0x5a37fe(0x139))/0xa)+parseInt(_0x5a37fe(0x111))/0xb*(parseInt(_0x5a37fe(0x125))/0xc);if(_0x34c25f===_0x33d100)break;else _0x3c4f3c['push'](_0x3c4f3c['shift']());}catch(_0x53c621){_0x3c4f3c['push'](_0x3c4f3c['shift']());}}}(a8_0x1007,0x4d109));import a8_0x11cc23 from'prettier';import{mkdirSync,writeFileSync,readFileSync}from'node:fs';import a8_0x2da0a9 from'node:path';function a8_0x1ee0(_0x314092,_0x285730){const _0x10079b=a8_0x1007();return a8_0x1ee0=function(_0x1ee069,_0x5e5055){_0x1ee069=_0x1ee069-0x10e;let _0x52658c=_0x10079b[_0x1ee069];return _0x52658c;},a8_0x1ee0(_0x314092,_0x285730);}import{fileURLToPath}from'node:url';import{readConfig}from'../utils/config.js';function a8_0x1007(){const _0x24f70d=['join','code','1468508yREFDW','36Wxdfas','online','client','forEach','1262220qTlHyn','init-api','format','slice','utf8','\x22\x20}','apiFucName','347812RThAhV','222SFvyxD','tableName','240mqViwA','1967746QVwgjq','112686YGkdCM','app','success','endsWith','replaceApiContent','请先通过\x20`lovrabet\x20config\x20set\x20app\x20<value>`\x20配置应用\x20Code','string','.ts','dirname','{\x20apiConfigName:\x20\x22','API\x20文件生成成功!','typescript','api','../..','toUpperCase','{\x20apiConfigName:\x20','url','api.ts.tpl','keys','72pguRMj',',\x20env:\x20\x22','resolve','25475vwfZVN','-api','-client','name','replace','3thNfHH','env','CONFIG_NAMES.DEFAULT','templates/generate-api','592510uYDKLK'];a8_0x1007=function(){return _0x24f70d;};return a8_0x1007();}import{formatDataset}from'./format-dataset.js';import{TemplateReplacer}from'../utils/template-replacer.js';import{logger}from'../utils/logger.js';export async function generateApiFile(_0x2273eb,_0x5cccef='',_0x3eb6f8,_0x2c95c0=![],_0x5083e5,_0xbe2aaa='./src/api/'){const _0x53b601=a8_0x1ee0,_0x55f454=readConfig(),_0x360f2b=_0x3eb6f8||_0x55f454?.[_0x53b601(0x113)];if(typeof _0x360f2b!==_0x53b601(0x118)||!_0x360f2b)throw new Error(_0x53b601(0x117));const _0x721c93=_0x2c95c0?_0x53b601(0x12f):'\x22'+_0x360f2b+'\x22',_0x4c044f=typeof _0x55f454[_0x53b601(0x12e)]===_0x53b601(0x118)?_0x55f454['env']:undefined,_0x41f0a1=_0x5083e5||_0x4c044f||_0x53b601(0x136),_0x16ce92=_0x41f0a1!==_0x53b601(0x136);let _0x467053;if(_0x2c95c0)_0x16ce92?_0x467053=_0x53b601(0x121)+_0x721c93+_0x53b601(0x126)+_0x41f0a1+_0x53b601(0x13e):_0x467053='';else{const _0x5df687=_0x16ce92?_0x53b601(0x126)+_0x41f0a1+'\x22':'';_0x467053=_0x53b601(0x11b)+_0x360f2b+'\x22'+_0x5df687+'\x20}';}const _0x50754c=_0x5cccef?_0x5cccef+_0x53b601(0x129):_0x53b601(0x11e),_0x4a0c2e=_0x5cccef?_0x5cccef+_0x53b601(0x12a):_0x53b601(0x137),_0xd12629=formatDataset(_0x2273eb),_0x1ed0e8={};_0xd12629[_0x53b601(0x138)](_0x39dbaa=>{const _0x1c0a98=_0x53b601,_0x104184=_0x39dbaa[_0x1c0a98(0x13f)][_0x1c0a98(0x12c)](/Api$/,''),_0x1fca8d=_0x104184['charAt'](0x0)[_0x1c0a98(0x120)]()+_0x104184[_0x1c0a98(0x13c)](0x1);_0x1ed0e8[_0x1fca8d]={'tableName':_0x39dbaa[_0x1c0a98(0x10f)],'datasetCode':_0x39dbaa[_0x1c0a98(0x133)],'name':_0x39dbaa[_0x1c0a98(0x12b)]||''};});const _0x4c2820=fileURLToPath(import.meta[_0x53b601(0x122)]),_0x536b13=a8_0x2da0a9[_0x53b601(0x127)](a8_0x2da0a9[_0x53b601(0x11a)](_0x4c2820),_0x53b601(0x11f)),_0x159695=a8_0x2da0a9['join'](_0x536b13,_0x53b601(0x130)),_0x4922f1=a8_0x2da0a9[_0x53b601(0x132)](_0x159695,_0x53b601(0x123)),_0x29bce9=a8_0x2da0a9[_0x53b601(0x132)](_0x159695,'client.ts.tpl'),_0x1f8e1f=_0xbe2aaa[_0x53b601(0x115)]('/')?_0xbe2aaa[_0x53b601(0x13c)](0x0,-0x1):_0xbe2aaa;mkdirSync(_0x1f8e1f,{'recursive':!![]});const _0x378455=readFileSync(_0x4922f1,'utf8'),_0x148ba7=TemplateReplacer[_0x53b601(0x116)](_0x378455,_0x360f2b,_0x1ed0e8,Object[_0x53b601(0x124)](_0x1ed0e8)[0x0],_0x50754c,_0x721c93),_0x3eb3ee=await a8_0x11cc23[_0x53b601(0x13b)](_0x148ba7,{'parser':_0x53b601(0x11d)}),_0x4a2489=_0x1f8e1f+'/'+_0x50754c+_0x53b601(0x119);writeFileSync(_0x4a2489,_0x3eb3ee,{'encoding':'utf8'});const _0x535b0c=readFileSync(_0x29bce9,_0x53b601(0x13d)),_0x3936de=TemplateReplacer['replaceApiContent'](_0x535b0c,_0x360f2b,_0x1ed0e8,Object['keys'](_0x1ed0e8)[0x0],_0x50754c,_0x721c93,_0x467053),_0x122692=await a8_0x11cc23[_0x53b601(0x13b)](_0x3936de,{'parser':_0x53b601(0x11d)}),_0x50c0f7=_0x1f8e1f+'/'+_0x4a0c2e+_0x53b601(0x119);writeFileSync(_0x50c0f7,_0x122692,{'encoding':_0x53b601(0x13d)});const _0x8a45b7=Object[_0x53b601(0x124)](_0x1ed0e8)['length'];return logger[_0x53b601(0x114)](_0x53b601(0x13a),_0x53b601(0x11c),undefined,{'apiFile':_0x4a2489,'clientFile':_0x50c0f7,'modelCount':_0x8a45b7,'configName':_0x721c93}),{'modelCount':_0x8a45b7,'apiFilePath':_0x4a2489,'clientFilePath':_0x50c0f7,'configName':_0x721c93};}
package/lib/api/main.js CHANGED
@@ -1 +1 @@
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
+ (function(_0x4206a4,_0x59e9f7){const _0x207ef3=a9_0x7775,_0xca6eca=_0x4206a4();while(!![]){try{const _0xa96f01=parseInt(_0x207ef3(0xdf))/0x1+-parseInt(_0x207ef3(0xe2))/0x2+-parseInt(_0x207ef3(0xec))/0x3+parseInt(_0x207ef3(0xd4))/0x4+parseInt(_0x207ef3(0xd1))/0x5+parseInt(_0x207ef3(0xd3))/0x6*(parseInt(_0x207ef3(0xe4))/0x7)+parseInt(_0x207ef3(0xea))/0x8;if(_0xa96f01===_0x59e9f7)break;else _0xca6eca['push'](_0xca6eca['shift']());}catch(_0x17642e){_0xca6eca['push'](_0xca6eca['shift']());}}}(a9_0xf4e3,0x5d7a0));function a9_0xf4e3(){const _0x365a68=['×\x20未配置\x20AppCode','input','\x0alovrabet\x20api\x20-\x20API\x20相关操作\x0a\x0a用法:\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20[options]\x0a\x20\x20$\x20lovrabet\x20api\x20doc\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指定输出目录(pull:\x20./src/api/,doc:\x20./docs)\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\x0a\x20\x20$\x20lovrabet\x20api\x20doc\x20\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\x20doc\x20--appcode\x20myapp\x20\x20\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode\x0a\x20\x20$\x20lovrabet\x20api\x20doc\x20--output\x20./docs\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定文档输出目录\x0a\x20\x20$\x20lovrabet\x20api\x20doc\x20--env\x20daily\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境生成文档\x0a','\x1b[0m','flags','\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配置文件','\x20\x20lovrabet\x20api\x20doc\x20--output\x20<dir>\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定文档输出目录(默认:\x20./docs)','\x20\x20lovrabet\x20api\x20pull\x20--appcode\x20<code>\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode','200213RYYRbb','error','\x20\x20lovrabet\x20api\x20pull\x20--output\x20<dir>\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定输出目录(默认:\x20./src/api/)','1362376fLdVcU','\x20\x20lovrabet\x20api\x20doc\x20\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文档','7IBFdIE','\x1b[90m*\x20使用配置的应用AppCode:\x20','❌\x20错误:不再支持位置参数方式','exit','help','output','1711952YHLuVJ','\x1b[90m\x20\x20(注:\x20--appcode\x20参数与配置一致,将使用默认配置)\x1b[0m','2153073dkjfpk','log','请使用\x20--appcode\x20参数,例如:','\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20pull\x20--appcode\x20<app-code>','\x20\x20lovrabet\x20api\x20doc\x20--appcode\x20<code>\x20\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode','\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20doc\x20--appcode\x20<app-code>','\x20\x20lovrabet\x20api\x20pull\x20--appcode\x20','\x20\x20lovrabet\x20api\x20pull\x20--env\x20<env>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境(如:\x20daily,\x20online)','\x20\x20\x201.\x20配置默认值:\x20lovrabet\x20config\x20set\x20appcode\x20<app-code>','1533355OHiNQs','pull','2011236GSFdWG','2902700ueGgiO','env','doc'];a9_0xf4e3=function(){return _0x365a68;};return a9_0xf4e3();}import{jsx as a9_0x5a569b}from'react/jsx-runtime';import{render}from'ink';function a9_0x7775(_0x455010,_0x381640){const _0xf4e371=a9_0xf4e3();return a9_0x7775=function(_0x77750f,_0x21857b){_0x77750f=_0x77750f-0xcf;let _0x6f511=_0xf4e371[_0x77750f];return _0x6f511;},a9_0x7775(_0x455010,_0x381640);}import{ApiPullUI}from'./api-pull-ui.js';import{ApiDocUI}from'./api-doc-ui.js';import{getConfigAppCode}from'../utils/config.js';export async function apiCli(_0x29aa52){const _0x6075bd=a9_0x7775,_0x1f67ae=_0x29aa52[_0x6075bd(0xd8)][0x1];if(_0x29aa52[_0x6075bd(0xdb)][_0x6075bd(0xe8)]){console[_0x6075bd(0xed)](_0x6075bd(0xd9));return;}if(_0x1f67ae===_0x6075bd(0xd2)){_0x29aa52[_0x6075bd(0xd8)][0x2]&&(console[_0x6075bd(0xe0)](_0x6075bd(0xe6)),console[_0x6075bd(0xed)](_0x6075bd(0xee)),console['log'](_0x6075bd(0xf2)+_0x29aa52['input'][0x2]),process['exit'](0x1));const _0x570034=getConfigAppCode();let _0x1105cc=_0x29aa52[_0x6075bd(0xdb)]['appcode'];const _0x4b5d4a=typeof _0x29aa52['flags'][_0x6075bd(0xd5)]==='string'?_0x29aa52[_0x6075bd(0xdb)][_0x6075bd(0xd5)]:undefined,_0x2708a2=_0x29aa52['flags'][_0x6075bd(0xe9)];!_0x1105cc&&!_0x570034&&(console['error'](_0x6075bd(0xd7)),console[_0x6075bd(0xed)]('!\x20请使用以下方式之一:'),console[_0x6075bd(0xed)](_0x6075bd(0xd0)),console[_0x6075bd(0xed)](_0x6075bd(0xef)),process[_0x6075bd(0xe7)](0x1)),_0x1105cc&&_0x570034&&_0x1105cc===_0x570034&&(console[_0x6075bd(0xed)](_0x6075bd(0xe5)+_0x1105cc+_0x6075bd(0xda)),console[_0x6075bd(0xed)](_0x6075bd(0xeb)),_0x1105cc=undefined),render(a9_0x5a569b(ApiPullUI,{'appCode':_0x1105cc,'env':_0x4b5d4a,'output':_0x2708a2}));}else{if(_0x1f67ae===_0x6075bd(0xd6)){_0x29aa52['input'][0x2]&&(console[_0x6075bd(0xe0)](_0x6075bd(0xe6)),console[_0x6075bd(0xed)]('请使用\x20--appcode\x20参数,例如:'),console[_0x6075bd(0xed)]('\x20\x20lovrabet\x20api\x20doc\x20--appcode\x20'+_0x29aa52[_0x6075bd(0xd8)][0x2]),process[_0x6075bd(0xe7)](0x1));const _0x184b7d=getConfigAppCode();let _0x41c2a7=_0x29aa52['flags']['appcode'];const _0x593e96=typeof _0x29aa52['flags'][_0x6075bd(0xd5)]==='string'?_0x29aa52['flags']['env']:undefined,_0x249eb5=_0x29aa52[_0x6075bd(0xdb)]['output'];!_0x41c2a7&&!_0x184b7d&&(console[_0x6075bd(0xe0)](_0x6075bd(0xd7)),console['log']('!\x20请使用以下方式之一:'),console[_0x6075bd(0xed)](_0x6075bd(0xd0)),console[_0x6075bd(0xed)](_0x6075bd(0xf1)),process[_0x6075bd(0xe7)](0x1)),_0x41c2a7&&_0x184b7d&&_0x41c2a7===_0x184b7d&&(console[_0x6075bd(0xed)](_0x6075bd(0xe5)+_0x41c2a7+_0x6075bd(0xda)),_0x41c2a7=undefined),render(a9_0x5a569b(ApiDocUI,{'appCode':_0x41c2a7,'env':_0x593e96,'output':_0x249eb5}));}else console[_0x6075bd(0xe0)]('Unknown\x20api\x20command:\x20'+_0x1f67ae),console[_0x6075bd(0xed)]('Available\x20commands:'),console[_0x6075bd(0xed)](_0x6075bd(0xdc)),console[_0x6075bd(0xed)](_0x6075bd(0xde)),console[_0x6075bd(0xed)](_0x6075bd(0xe1)),console[_0x6075bd(0xed)](_0x6075bd(0xcf)),console[_0x6075bd(0xed)](''),console[_0x6075bd(0xed)](_0x6075bd(0xe3)),console['log'](_0x6075bd(0xf0)),console[_0x6075bd(0xed)](_0x6075bd(0xdd)),console[_0x6075bd(0xed)]('\x20\x20lovrabet\x20api\x20doc\x20--env\x20<env>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境(如:\x20daily,\x20online)'),process['exit'](0x1);}}
@@ -1 +1 @@
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);}}
1
+ (function(_0x20539e,_0x717927){const _0x4d0eac=a10_0x3041,_0x48db5e=_0x20539e();while(!![]){try{const _0x3f8b95=parseInt(_0x4d0eac(0x1cf))/0x1*(parseInt(_0x4d0eac(0x1cd))/0x2)+-parseInt(_0x4d0eac(0x1ca))/0x3*(-parseInt(_0x4d0eac(0x1d4))/0x4)+parseInt(_0x4d0eac(0x1b6))/0x5+parseInt(_0x4d0eac(0x1b3))/0x6*(parseInt(_0x4d0eac(0x1ab))/0x7)+-parseInt(_0x4d0eac(0x1cc))/0x8*(-parseInt(_0x4d0eac(0x1b0))/0x9)+parseInt(_0x4d0eac(0x1b1))/0xa+parseInt(_0x4d0eac(0x1c2))/0xb*(-parseInt(_0x4d0eac(0x1c1))/0xc);if(_0x3f8b95===_0x717927)break;else _0x48db5e['push'](_0x48db5e['shift']());}catch(_0x408156){_0x48db5e['push'](_0x48db5e['shift']());}}}(a10_0x98d5,0xa7d8f));import{readConfig}from'../utils/config.js';function a10_0x3041(_0x2790e7,_0x3d9094){const _0x98d5b3=a10_0x98d5();return a10_0x3041=function(_0x304166,_0x51e11b){_0x304166=_0x304166-0x1ab;let _0x1908be=_0x98d5b3[_0x304166];return _0x1908be;},a10_0x3041(_0x2790e7,_0x3d9094);}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 a10_0x98d5(){const _0xdc5993=[',且无法读取错误响应内容','\x20个数据集...','cwd','6415788Hdhhzn','77oJDqbw','create-api-pull','modelCount','API\x20配置拉取失败:\x20','×\x20无法读取错误响应内容','message','text','length','3883023Gtxxlu','&pageSize=999&currentPage=1','919208FJNSoD','54OZIqDl','*\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20','7255gpjNHV','√\x20成功拉取\x20','获取数据集失败,原因:登录鉴权失败,登录已过期','-client','tableData','4bDvBym','chdir','status','\x20\x20\x20•\x20','url','742KqIxyJ','-api','env','×\x20错误详情:','data','81dFuUPx','181690dgyNrG','test','51006PCwooB','\x20个模型','API\x20配置拉取异常:\x20','4932180mFMnMp','log','trim','online','success','未知错误','.ts\x20-\x20客户端实例文件','error'];a10_0x98d5=function(){return _0xdc5993;};return a10_0x98d5();}import{logger}from'../utils/logger.js';import{httpRequest}from'../utils/http-client.js';export async function pullApiSilent(_0x49aaa7,_0x54289d,_0x1a0528,_0x2ca8e1){const _0x157c12=a10_0x3041;let _0x1a6718;try{const _0x3fdd4a=_0x54289d?.[_0x157c12(0x1b8)]()||'';if(_0x3fdd4a){const _0x6c35=/^[a-zA-Z][a-zA-Z0-9_-]*$/;if(!_0x6c35[_0x157c12(0x1b2)](_0x3fdd4a))return console[_0x157c12(0x1bd)]('×\x20文件前缀格式不正确。只能包含字母、数字、连字符和下划线,且必须以字母开头。'),![];}_0x1a0528&&(_0x1a6718=process[_0x157c12(0x1c0)](),process[_0x157c12(0x1d5)](_0x1a0528));const _0x2a8d1e=readConfig(),_0x128251=typeof _0x2a8d1e[_0x157c12(0x1ad)]==='string'?_0x2a8d1e[_0x157c12(0x1ad)]:undefined,_0x151b03=_0x2ca8e1||_0x128251||_0x157c12(0x1b9);initEnv(_0x151b03),console[_0x157c12(0x1b7)](_0x157c12(0x1ce)+_0x151b03+')');const _0x162038=getApiDomain()+'/smartapi/dataset/getList?appCode='+_0x49aaa7+_0x157c12(0x1cb),_0x4228e3=await httpRequest(_0x162038,{'headers':{'Cookie':getCookie()},'timeout':0xea60,'retries':0x2});if(_0x4228e3['ok']){const _0x56dc36=_0x4228e3[_0x157c12(0x1af)];if(_0x56dc36[_0x157c12(0x1ba)]){const _0x14faba=_0x3fdd4a?_0x3fdd4a+_0x157c12(0x1ac):'api',_0x495dc1=_0x3fdd4a?_0x3fdd4a+_0x157c12(0x1d2):'client';console[_0x157c12(0x1b7)]('*\x20开始生成\x20API\x20配置文件:'),console['log'](_0x157c12(0x1d7)+_0x14faba+'.ts\x20-\x20模型配置文件'),console[_0x157c12(0x1b7)](_0x157c12(0x1d7)+_0x495dc1+_0x157c12(0x1bc)),console[_0x157c12(0x1b7)]('*\x20正在处理\x20'+_0x56dc36[_0x157c12(0x1af)][_0x157c12(0x1d3)][_0x157c12(0x1c9)]+_0x157c12(0x1bf));const _0x18f0b3=await generateApiFile(_0x56dc36[_0x157c12(0x1af)][_0x157c12(0x1d3)],_0x3fdd4a,_0x49aaa7,!![],_0x151b03);return console['log'](_0x157c12(0x1d0)+_0x56dc36[_0x157c12(0x1af)][_0x157c12(0x1d3)][_0x157c12(0x1c9)]+'\x20个数据集,生成\x20'+_0x18f0b3[_0x157c12(0x1c4)]+_0x157c12(0x1b4)),_0x1a0528&&logger['info'](_0x157c12(0x1c3),'API\x20配置拉取成功:\x20'+_0x49aaa7,{'projectPath':_0x1a0528,'appCode':_0x49aaa7,'datasetCount':_0x56dc36[_0x157c12(0x1af)]['tableData']['length'],'filePrefix':_0x3fdd4a}),!![];}else return console[_0x157c12(0x1bd)]('×\x20服务器返回错误:',_0x56dc36[_0x157c12(0x1c7)]||'未知错误'),_0x1a0528&&logger[_0x157c12(0x1bd)]('create-api-pull',_0x157c12(0x1c5)+(_0x56dc36[_0x157c12(0x1c7)]||_0x157c12(0x1bb)),{'projectPath':_0x1a0528,'appCode':_0x49aaa7}),![];}else{if(_0x4228e3['status']===0x191){const _0x39e789=_0x157c12(0x1d1);console[_0x157c12(0x1bd)]('×\x20'+_0x39e789),_0x1a0528&&logger[_0x157c12(0x1bd)](_0x157c12(0x1c3),_0x39e789,{'status':_0x4228e3[_0x157c12(0x1d6)],'appCode':_0x49aaa7,'url':_0x4228e3[_0x157c12(0x1d8)],'projectPath':_0x1a0528});}else{const _0x20b691='获取数据集失败,HTTP状态码:\x20'+_0x4228e3[_0x157c12(0x1d6)];console[_0x157c12(0x1bd)]('×\x20'+_0x20b691);try{const _0x3d08f6=await _0x4228e3[_0x157c12(0x1c8)]();_0x3d08f6&&console[_0x157c12(0x1bd)](_0x157c12(0x1ae),_0x3d08f6),_0x1a0528&&logger[_0x157c12(0x1bd)](_0x157c12(0x1c3),_0x20b691,{'status':_0x4228e3[_0x157c12(0x1d6)],'appCode':_0x49aaa7,'url':_0x4228e3[_0x157c12(0x1d8)],'errorBody':_0x3d08f6,'projectPath':_0x1a0528});}catch(_0x456b18){console[_0x157c12(0x1bd)](_0x157c12(0x1c6)),_0x1a0528&&logger[_0x157c12(0x1bd)](_0x157c12(0x1c3),_0x20b691+_0x157c12(0x1be),{'status':_0x4228e3[_0x157c12(0x1d6)],'appCode':_0x49aaa7,'url':_0x4228e3[_0x157c12(0x1d8)],'readError':_0x456b18 instanceof Error?_0x456b18['message']:String(_0x456b18),'projectPath':_0x1a0528});}}return![];}}catch(_0x3541c0){const _0x1bfb50=_0x3541c0 instanceof Error?_0x3541c0[_0x157c12(0x1c7)]:String(_0x3541c0);return console[_0x157c12(0x1bd)]('×\x20API\x20配置拉取异常:',_0x1bfb50),_0x1a0528&&logger[_0x157c12(0x1bd)](_0x157c12(0x1c3),_0x157c12(0x1b5)+_0x1bfb50,{'appCode':_0x49aaa7,'projectPath':_0x1a0528}),![];}finally{_0x1a6718&&process[_0x157c12(0x1d5)](_0x1a6718);}}
package/lib/api/pull.js CHANGED
@@ -1 +1 @@
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
+ (function(_0x2844ec,_0x355504){const _0x194f86=a11_0x28a3,_0x3611f4=_0x2844ec();while(!![]){try{const _0x1d5a57=parseInt(_0x194f86(0x1e4))/0x1+parseInt(_0x194f86(0x1d2))/0x2*(-parseInt(_0x194f86(0x1e1))/0x3)+-parseInt(_0x194f86(0x1ec))/0x4+-parseInt(_0x194f86(0x1ca))/0x5+parseInt(_0x194f86(0x1d1))/0x6+parseInt(_0x194f86(0x1c5))/0x7*(-parseInt(_0x194f86(0x1bb))/0x8)+-parseInt(_0x194f86(0x1dc))/0x9*(-parseInt(_0x194f86(0x1c2))/0xa);if(_0x1d5a57===_0x355504)break;else _0x3611f4['push'](_0x3611f4['shift']());}catch(_0x4242a0){_0x3611f4['push'](_0x3611f4['shift']());}}}(a11_0x124e,0x1ebd8));import{createInterface}from'node:readline/promises';function a11_0x28a3(_0x22b736,_0x37ddde){const _0x124ea5=a11_0x124e();return a11_0x28a3=function(_0x28a3b6,_0x3b6f4e){_0x28a3b6=_0x28a3b6-0x1b8;let _0x5cb722=_0x124ea5[_0x28a3b6];return _0x5cb722;},a11_0x28a3(_0x22b736,_0x37ddde);}import{readConfig}from'../utils/config.js';import{getCookie}from'../auth/get-cookie.js';import{getApiDomain}from'../constant/domain.js';function a11_0x124e(){const _0x36a1fb=['message','1076844nOQQuX','7996eJaGSx','\x20个数据集...','length','exit','success','&pageSize=999&currentPage=1','online','api','*\x20使用指定的应用AppCode:\x20','env','207pdVuRs','\x20\x20\x202.\x20配置默认值:\x20lovrabet\x20config\x20set\x20app\x20<app-code>','!\x20请使用以下方式之一:','\x20\x20\x201.\x20直接指定:\x20lovrabet\x20api\x20pull\x20<app-code>','*\x20正在处理\x20','102FsvsUU',',且无法读取错误响应内容','text','199154PUQATW','error','app','status','\x0a*\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20','close','api-pull','×\x20错误详情:','668892JVMXrQ','string','×\x20未提供应用AppCode,且配置中也没有默认值','data','url','455720hekEYu','\x1b[90m*\x20使用配置的应用AppCode:\x20','question','\x20\x20\x20•\x20','stdout','/smartapi/dataset/getList?appCode=','.ts\x20-\x20模型配置文件','85290YYcTCI','log','获取数据集失败,HTTP状态码:\x20','7DTdDxT','获取数据集失败,原因:登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录后再尝试','!\x20请输入文件前缀\x20\x1b[90m[留空表示无前缀]\x1b[0m:\x20','tableData','*\x20开始生成\x20API\x20配置文件:','443815hEdyMH','stdin','client','test','\x1b[0m','json'];a11_0x124e=function(){return _0x36a1fb;};return a11_0x124e();}import{initEnv}from'../constant/env.js';import{generateApiFile}from'./generate-api-file.js';import{logger}from'../utils/logger.js';export async function initApi(_0x102b29,_0x3bdba){const _0x4adfb5=a11_0x28a3,_0x350e81=readConfig(),_0x2a1e7d=_0x102b29||_0x350e81?.[_0x4adfb5(0x1e6)],_0x302de0=typeof _0x350e81[_0x4adfb5(0x1db)]===_0x4adfb5(0x1ed)?_0x350e81[_0x4adfb5(0x1db)]:undefined,_0x1d144e=_0x3bdba||_0x302de0||_0x4adfb5(0x1d8);initEnv(_0x1d144e);(typeof _0x2a1e7d!=='string'||!_0x2a1e7d)&&(_0x102b29?console['error']('×\x20提供的应用AppCode\x20\x22'+_0x102b29+'\x22\x20无效'):(console[_0x4adfb5(0x1e5)](_0x4adfb5(0x1b8)),console[_0x4adfb5(0x1c3)](_0x4adfb5(0x1de)),console[_0x4adfb5(0x1c3)](_0x4adfb5(0x1df)),console[_0x4adfb5(0x1c3)](_0x4adfb5(0x1dd))),process['exit'](0x1));_0x102b29?console[_0x4adfb5(0x1c3)](_0x4adfb5(0x1da)+_0x2a1e7d):console[_0x4adfb5(0x1c3)](_0x4adfb5(0x1bc)+_0x2a1e7d+_0x4adfb5(0x1ce));const _0x5014c8=createInterface({'input':process[_0x4adfb5(0x1cb)],'output':process[_0x4adfb5(0x1bf)]});let _0x324bbb;try{const _0x16f69b=await _0x5014c8[_0x4adfb5(0x1bd)](_0x4adfb5(0x1c7));_0x324bbb=_0x16f69b['trim']();if(_0x324bbb){const _0x44e628=/^[a-zA-Z][a-zA-Z0-9_-]*$/;!_0x44e628[_0x4adfb5(0x1cd)](_0x324bbb)&&(console[_0x4adfb5(0x1e5)]('×\x20文件前缀格式不正确。只能包含字母、数字、连字符和下划线,且必须以字母开头。'),process[_0x4adfb5(0x1d5)](0x1));}}finally{_0x5014c8[_0x4adfb5(0x1e9)]();}console['log'](_0x4adfb5(0x1e8)+_0x1d144e+')');const _0x52def3=await fetch(getApiDomain()+_0x4adfb5(0x1c0)+_0x2a1e7d+_0x4adfb5(0x1d7),{'headers':{'Cookie':getCookie()}});if(_0x52def3['ok']){const _0x54d222=await _0x52def3[_0x4adfb5(0x1cf)]();if(_0x54d222[_0x4adfb5(0x1d6)]){const _0x27ef9d=_0x324bbb?_0x324bbb+'-api':_0x4adfb5(0x1d9),_0x399fb7=_0x324bbb?_0x324bbb+'-client':_0x4adfb5(0x1cc);console[_0x4adfb5(0x1c3)](_0x4adfb5(0x1c9)),console[_0x4adfb5(0x1c3)](_0x4adfb5(0x1be)+_0x27ef9d+_0x4adfb5(0x1c1)),console[_0x4adfb5(0x1c3)]('\x20\x20\x20•\x20'+_0x399fb7+'.ts\x20-\x20客户端实例文件'),console[_0x4adfb5(0x1c3)](_0x4adfb5(0x1e0)+_0x54d222[_0x4adfb5(0x1b9)][_0x4adfb5(0x1c8)][_0x4adfb5(0x1d4)]+_0x4adfb5(0x1d3));const _0x35bf57=!_0x102b29;await generateApiFile(_0x54d222[_0x4adfb5(0x1b9)][_0x4adfb5(0x1c8)],_0x324bbb,_0x2a1e7d,_0x35bf57,_0x1d144e);}}else{if(_0x52def3['status']===0x191){const _0x5266b4=_0x4adfb5(0x1c6);console[_0x4adfb5(0x1e5)]('×\x20'+_0x5266b4),logger[_0x4adfb5(0x1e5)](_0x4adfb5(0x1ea),_0x5266b4,{'status':_0x52def3[_0x4adfb5(0x1e7)],'appCode':_0x2a1e7d,'url':_0x52def3[_0x4adfb5(0x1ba)]});}else{const _0x33cc57=_0x4adfb5(0x1c4)+_0x52def3[_0x4adfb5(0x1e7)];console['error']('×\x20'+_0x33cc57);try{const _0x46a4ba=await _0x52def3[_0x4adfb5(0x1e3)]();_0x46a4ba?(console[_0x4adfb5(0x1e5)](_0x4adfb5(0x1eb),_0x46a4ba),logger[_0x4adfb5(0x1e5)](_0x4adfb5(0x1ea),_0x33cc57,{'status':_0x52def3['status'],'appCode':_0x2a1e7d,'url':_0x52def3[_0x4adfb5(0x1ba)],'errorBody':_0x46a4ba})):logger['error']('api-pull',_0x33cc57,{'status':_0x52def3['status'],'appCode':_0x2a1e7d,'url':_0x52def3[_0x4adfb5(0x1ba)]});}catch(_0x41cf78){console[_0x4adfb5(0x1e5)]('×\x20无法读取错误响应内容'),logger[_0x4adfb5(0x1e5)](_0x4adfb5(0x1ea),_0x33cc57+_0x4adfb5(0x1e2),{'status':_0x52def3[_0x4adfb5(0x1e7)],'appCode':_0x2a1e7d,'url':_0x52def3[_0x4adfb5(0x1ba)],'readError':_0x41cf78 instanceof Error?_0x41cf78[_0x4adfb5(0x1d0)]:String(_0x41cf78)});}}process[_0x4adfb5(0x1d5)](0x1);}}
@@ -1 +1 @@
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)})]})});}
1
+ (function(_0x15fb9f,_0x4b5df8){const _0x361d0e=a13_0x57a8,_0x4637e7=_0x15fb9f();while(!![]){try{const _0xee9eb3=-parseInt(_0x361d0e(0x1ab))/0x1*(-parseInt(_0x361d0e(0x19d))/0x2)+parseInt(_0x361d0e(0x19b))/0x3*(-parseInt(_0x361d0e(0x1ac))/0x4)+-parseInt(_0x361d0e(0x19c))/0x5*(parseInt(_0x361d0e(0x1a8))/0x6)+-parseInt(_0x361d0e(0x1a5))/0x7+parseInt(_0x361d0e(0x1a4))/0x8*(-parseInt(_0x361d0e(0x1a3))/0x9)+parseInt(_0x361d0e(0x1ad))/0xa+-parseInt(_0x361d0e(0x1a7))/0xb*(-parseInt(_0x361d0e(0x1a2))/0xc);if(_0xee9eb3===_0x4b5df8)break;else _0x4637e7['push'](_0x4637e7['shift']());}catch(_0x53a556){_0x4637e7['push'](_0x4637e7['shift']());}}}(a13_0x50a2,0x89565));import{jsx as a13_0x211f79,jsxs as a13_0x4c4784}from'react/jsx-runtime';import{Text,Box,useInput,useApp}from'ink';import{useEffect,useState}from'react';function a13_0x57a8(_0x103935,_0x591ec2){const _0x50a2ad=a13_0x50a2();return a13_0x57a8=function(_0x57a89d,_0x1d9a17){_0x57a89d=_0x57a89d-0x19a;let _0x2b8fd0=_0x50a2ad[_0x57a89d];return _0x2b8fd0;},a13_0x57a8(_0x103935,_0x591ec2);}import{getIsSessionValid}from'./is-session-valid.js';import{authServer}from'./auth-server.js';import a13_0x3e0341 from'ink-spinner';function a13_0x50a2(){const _0x418a4d=['196637FeuqNv','*\x20登录成功!','33zYUaen','262326TYhyMw','finally','√\x20当前为有效会话,无需重新登录。','1iczzkD','4204ihtQpM','10977170JyzBux','then','2949PtwmCG','85mEzfrS','1073122vmPWks','log','gray','*\x20按回车开始登录。','按\x20“q”\x20退出。','7349028alTHQl','99hjyEqo','803288XjkiLN'];a13_0x50a2=function(){return _0x418a4d;};return a13_0x50a2();}export function AuthServer(){const _0x1bf719=a13_0x57a8,{exit:_0x27af02}=useApp(),[_0x2e88c2,_0x46b2da]=useState(![]),[_0x48bf02,_0x2d4cd2]=useState(!![]),[_0x188938,_0x478fa1]=useState(![]),[_0x1b9ecc,_0x36cd59]=useState(![]);useEffect(()=>{const _0x487665=a13_0x57a8;getIsSessionValid()[_0x487665(0x19a)](_0x46b2da)[_0x487665(0x1a9)](()=>_0x2d4cd2(![]));},[]),useEffect(()=>{const _0x5eb0fc=a13_0x57a8;!_0x48bf02&&_0x2e88c2&&(console[_0x5eb0fc(0x19e)](_0x5eb0fc(0x1aa)),_0x27af02());},[_0x48bf02,_0x2e88c2,_0x27af02]),useEffect(()=>{const _0x2699c1=a13_0x57a8;_0x1b9ecc&&(console[_0x2699c1(0x19e)](_0x2699c1(0x1a6)),_0x27af02());},[_0x1b9ecc,_0x27af02]),useInput((_0x2962c8,_0x326938)=>{_0x326938['return']&&(_0x478fa1(!![]),authServer({'silent':!![]})['then'](_0x3632c2=>{_0x36cd59(_0x3632c2);})),_0x2962c8==='q'&&_0x27af02();});if(_0x48bf02)return null;if(_0x2e88c2||_0x1b9ecc)return null;return a13_0x211f79(Box,{'flexDirection':'column','marginTop':0x1,'marginBottom':0x1,'children':_0x188938?a13_0x4c4784(Box,{'children':[a13_0x211f79(Box,{'width':'1'}),a13_0x4c4784(Text,{'color':'green','children':[a13_0x211f79(a13_0x3e0341,{'type':'dots'}),'\x20\x20']}),a13_0x211f79(Text,{'children':'正在登录...\x20'}),a13_0x211f79(Text,{'color':_0x1bf719(0x19f),'children':'请前往浏览器完成登录。'})]}):a13_0x4c4784(Box,{'children':[a13_0x211f79(Box,{'width':'1'}),a13_0x211f79(Text,{'children':_0x1bf719(0x1a0)}),a13_0x211f79(Text,{'color':_0x1bf719(0x19f),'children':_0x1bf719(0x1a1)})]})});}