@lovrabet/cli 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/lib/add-page/input-page-router.js +1 -1
- package/lib/add-page/main.js +1 -1
- package/lib/add-page/select-page-template.js +1 -1
- package/lib/api/api-pull-ui.js +1 -1
- package/lib/api/format-dataset.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/main.js +1 -1
- package/lib/api/pull-silent.js +1 -1
- package/lib/api/pull.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/cmd/build-watch.js +1 -1
- package/lib/cmd/build.js +1 -1
- package/lib/cmd/logs.js +1 -1
- package/lib/cmd/preview.js +1 -1
- package/lib/cmd/start.js +1 -1
- package/lib/config/config-help.js +1 -1
- package/lib/config/main.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/create-app/enhanced-guided-create.js +1 -1
- package/lib/create-app/format-elapsed.js +1 -1
- package/lib/create-app/main.js +1 -1
- package/lib/create-app/task-finished.js +1 -1
- package/lib/create-app/task-loading.js +1 -1
- package/lib/create-app/task-running.js +1 -1
- package/lib/create-app/task-time.js +1 -1
- package/lib/create-app/use-copy-project-template.js +1 -1
- package/lib/create-app/use-format-code.js +1 -1
- package/lib/create-app/use-install-dependencies.js +1 -1
- package/lib/help.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/router-updater.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/package.json +1 -1
- package/templates/pages/sdk-fetch/index.tsx.tpl +14 -5
- package/templates/projects/sub-app-react-demo/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Lovrabet CLI
|
|
2
2
|
|
|
3
|
-
一个强大的前端开发脚手架工具,专为 Lovrabet
|
|
3
|
+
一个强大的前端开发脚手架工具,专为 [Lovrabet](https://www.lovrabet.com) 开放平台应用开发而设计。提供项目创建、页面生成、API 集成、开发调试等全套开发工具链。
|
|
4
4
|
|
|
5
5
|
## ✨ 特性
|
|
6
6
|
|
|
@@ -250,7 +250,7 @@ cd component-library
|
|
|
250
250
|
lovrabet build
|
|
251
251
|
```
|
|
252
252
|
|
|
253
|
-
## 🆘
|
|
253
|
+
## 🆘 故障排查
|
|
254
254
|
|
|
255
255
|
### 常见问题
|
|
256
256
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2e461f,_0x62dfbd){const _0x132572=a0_0x1b32,_0x76f3c8=_0x2e461f();while(!![]){try{const _0x3e8db0=parseInt(_0x132572(0x1fd))/0x1+parseInt(_0x132572(0x1ea))/0x2+parseInt(_0x132572(0x1eb))/0x3+-parseInt(_0x132572(0x1ec))/0x4+-parseInt(_0x132572(0x1e9))/0x5*(parseInt(_0x132572(0x1f6))/0x6)+parseInt(_0x132572(0x1fe))/0x7+-parseInt(_0x132572(0x1f7))/0x8;if(_0x3e8db0===_0x62dfbd)break;else _0x76f3c8['push'](_0x76f3c8['shift']());}catch(_0x784424){_0x76f3c8['push'](_0x76f3c8['shift']());}}}(a0_0x45a9,0xba6f3));import{jsx as a0_0x255896,jsxs as a0_0x177f52}from'react/jsx-runtime';function a0_0x45a9(){const _0x5f3b30=['页面路径\x20','delete','\x20Step2:\x20','my-page','页面路径不合法','existsSync','17838cfTQeL','11962600QYKvoy','test','页面路径长度不能超过\x20100\x20个字符','gray','split','length','484524lhNAtB','7505575qKoGGJ','return','green','trim','includes','路径不能包含连续的\x20/','startsWith','2435XyOQZj','2061576ovPJFH','4366623JVBsOR','1345068HTnwpM','column','路径中的每个段只能以字母或数字开头,且只包含字母、数字、-\x20和\x20_','red'];a0_0x45a9=function(){return _0x5f3b30;};return a0_0x45a9();}function a0_0x1b32(_0x240bf7,_0x23c528){const _0x45a9c7=a0_0x45a9();return a0_0x1b32=function(_0x1b3270,_0x35d55e){_0x1b3270=_0x1b3270-0x1e5;let _0x25d5a6=_0x45a9c7[_0x1b3270];return _0x25d5a6;},a0_0x1b32(_0x240bf7,_0x23c528);}import{useState}from'react';import{Text,Box,useInput}from'ink';import a0_0x350198 from'node:fs';export function InputProjectCode(_0x54ae11){const _0x18927e=a0_0x1b32,{onSubmit:_0x5a69d0,pagePath:_0x360cd5}=_0x54ae11,[_0x6cc17e,_0x40689b]=useState(''),[_0x360f7d,_0x436ba3]=useState(''),_0x30dc01=_0x18927e(0x1f3);function _0x23ed8f(_0x52371e){const _0x36c547=_0x18927e;if(_0x52371e[_0x36c547(0x1fc)]>0x64)return{'valid':![],'message':_0x36c547(0x1f9)};if(_0x52371e[_0x36c547(0x1e8)]('/')||_0x52371e['endsWith']('/'))return{'valid':![],'message':'路径不能以\x20/\x20开头或结尾'};if(_0x52371e[_0x36c547(0x1e6)]('//'))return{'valid':![],'message':_0x36c547(0x1e7)};const _0x5d25da=_0x52371e[_0x36c547(0x1fb)]('/');for(const _0x1547dc of _0x5d25da){if(!_0x1547dc)continue;const _0x3679ff=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(!_0x3679ff[_0x36c547(0x1f8)](_0x1547dc))return{'valid':![],'message':_0x36c547(0x1ee)};}return{'valid':!![]};}return useInput((_0x4c59c2,_0x213f8d)=>{const _0x549c6d=_0x18927e;if(_0x213f8d[_0x549c6d(0x1ff)]){const _0x52d1e3=_0x6cc17e[_0x549c6d(0x1e5)]()||_0x30dc01;if(_0x360f7d)return;const _0x3336c1=_0x360cd5+'/'+_0x52d1e3;if(a0_0x350198[_0x549c6d(0x1f5)](_0x3336c1)){_0x436ba3(_0x549c6d(0x1f0)+_0x52d1e3+'\x20已存在,请使用其他路径');return;}_0x5a69d0(_0x52d1e3),_0x40689b(''),_0x436ba3('');}else _0x213f8d['backspace']||_0x213f8d[_0x549c6d(0x1f1)]?_0x40689b(_0x8b571c=>{const _0x36ea0f=_0x549c6d,_0x15255d=_0x8b571c['slice'](0x0,-0x1),{valid:_0xcc278c,message:_0x23be3f}=_0x23ed8f(_0x15255d);return _0x436ba3(_0xcc278c?'':_0x23be3f||_0x36ea0f(0x1f4)),_0x15255d;}):_0x40689b(_0x1d2697=>{const _0xab34c6=_0x549c6d,_0x55c03c=_0x1d2697+_0x4c59c2,{valid:_0x572b6c,message:_0x45b8b3}=_0x23ed8f(_0x55c03c);return _0x436ba3(_0x572b6c?'':_0x45b8b3||_0xab34c6(0x1f4)),_0x55c03c;});}),a0_0x177f52(Box,{'flexDirection':_0x18927e(0x1ed),'children':[a0_0x177f52(Box,{'children':[a0_0x255896(Text,{'color':_0x18927e(0x1fa),'children':_0x18927e(0x1f2)}),a0_0x255896(Text,{'children':'页面路由地址:\x20'}),_0x6cc17e?a0_0x255896(Text,{'color':_0x18927e(0x200),'children':_0x6cc17e}):a0_0x255896(Text,{'color':_0x18927e(0x1fa),'children':_0x30dc01}),_0x360f7d&&a0_0x177f52(Text,{'color':_0x18927e(0x1ef),'children':['\x20←\x20',_0x360f7d]})]}),!_0x360f7d&&!_0x6cc17e&&a0_0x255896(Box,{'children':a0_0x255896(Text,{'color':'gray','children':'\x20直接回车确认,或输入自定义路由地址'})})]});}
|
package/lib/add-page/main.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a1_0x229f(){const _0x27fbb6=['\x20*\x20页面路径:\x20','正在创建页面,请稍候…','24pTmfnO','144xPYoeI','125ThCKrs','已输入的页面路由\x20','join','green','页面添加失败:\x20','页面添加成功:\x20','add-page','cwd','131305HtZUFr','29490108AFuhBz','src','now','info','resolve','../../templates/pages','\x20*\x20页面创建成功!','then','7515541mOEYMf','message','10kYLQvT','48537KIntAo','13dgdXnd','49tAXMvl','setLogPath','gray','dirname','\x20Step2:\x20','540312ddJYRx','1148934SPeout','21652PtldiM','pages','\x20Step1:\x20'];a1_0x229f=function(){return _0x27fbb6;};return a1_0x229f();}const a1_0x3bd643=a1_0x4603;(function(_0x49e910,_0x4e2a6b){const _0x4ac08e=a1_0x4603,_0x409c2f=_0x49e910();while(!![]){try{const _0x1539c2=-parseInt(_0x4ac08e(0xf1))/0x1*(-parseInt(_0x4ac08e(0x10b))/0x2)+-parseInt(_0x4ac08e(0x104))/0x3+-parseInt(_0x4ac08e(0x106))/0x4*(parseInt(_0x4ac08e(0x10d))/0x5)+-parseInt(_0x4ac08e(0x105))/0x6*(-parseInt(_0x4ac08e(0xff))/0x7)+parseInt(_0x4ac08e(0x10c))/0x8*(parseInt(_0x4ac08e(0xfd))/0x9)+-parseInt(_0x4ac08e(0xfc))/0xa*(-parseInt(_0x4ac08e(0xfa))/0xb)+-parseInt(_0x4ac08e(0xf2))/0xc*(parseInt(_0x4ac08e(0xfe))/0xd);if(_0x1539c2===_0x4e2a6b)break;else _0x409c2f['push'](_0x409c2f['shift']());}catch(_0xbcd175){_0x409c2f['push'](_0x409c2f['shift']());}}}(a1_0x229f,0xe173a));import{jsx as a1_0x545af1,jsxs as a1_0x25eecd,Fragment as a1_0x1413db}from'react/jsx-runtime';import{fileURLToPath}from'node:url';import a1_0x3ad482 from'node:path';import{useEffect,useState}from'react';function a1_0x4603(_0xee0d76,_0x4c5387){const _0x229fc3=a1_0x229f();return a1_0x4603=function(_0x460326,_0x572149){_0x460326=_0x460326-0xeb;let _0x21f2bf=_0x229fc3[_0x460326];return _0x21f2bf;},a1_0x4603(_0xee0d76,_0x4c5387);}import{Box,Text,useApp}from'ink';import{SelectPageTemplate}from'./select-page-template.js';import{InputProjectCode}from'./input-page-router.js';import{logger}from'../utils/logger.js';import{TemplateReplacer}from'../utils/template-replacer.js';const __dirname=a1_0x3ad482[a1_0x3bd643(0x102)](fileURLToPath(import.meta['url'])),pageTemplateDir=a1_0x3ad482[a1_0x3bd643(0xf6)](__dirname,a1_0x3bd643(0xf7)),projectDir=process[a1_0x3bd643(0xf0)]();export const AddPage=()=>{const _0x83fc25=a1_0x3bd643,{exit:_0x902d0c}=useApp(),[_0x3c8fcb,_0xb5fae3]=useState(''),[_0x88daa1,_0x315a2c]=useState(''),[_0x38cbde,_0x5d4136]=useState(![]),[_0x435aa4,_0x257141]=useState(![]),_0x141d9b=a1_0x3ad482[_0x83fc25(0xeb)](projectDir,'src',_0x83fc25(0x107)),_0x1c5147=a1_0x3ad482[_0x83fc25(0xeb)](_0x141d9b,_0x88daa1),_0x374035=a1_0x3ad482[_0x83fc25(0xeb)](_0x83fc25(0xf3),_0x83fc25(0x107),_0x88daa1);useEffect(()=>{const _0x578381=_0x83fc25,_0x3ec014=a1_0x3ad482['resolve'](pageTemplateDir,_0x3c8fcb);if(_0x3c8fcb&&_0x88daa1){_0x5d4136(!![]),logger[_0x578381(0x100)](process[_0x578381(0xf0)]());const _0xb5cba1=Date[_0x578381(0xf4)]();logger[_0x578381(0xf5)](_0x578381(0xef),'开始添加页面:\x20'+_0x88daa1,{'template':_0x3c8fcb,'targetPath':_0x374035}),TemplateReplacer['processTemplate'](_0x3ec014,a1_0x3ad482[_0x578381(0xeb)](_0x141d9b,_0x88daa1),_0x88daa1,_0x3c8fcb)[_0x578381(0xf9)](()=>{const _0x525fed=_0x578381,_0x373aea=Date[_0x525fed(0xf4)]()-_0xb5cba1;logger['success'](_0x525fed(0xef),_0x525fed(0xee)+_0x88daa1,_0x373aea,{'template':_0x3c8fcb,'targetPath':_0x374035,'routePath':_0x88daa1}),_0x257141(!![]);})['catch'](_0x3c9cea=>{const _0x5c694d=_0x578381,_0x5f24bd=Date['now']()-_0xb5cba1;logger['error'](_0x5c694d(0xef),_0x5c694d(0xed)+_0x88daa1,{'template':_0x3c8fcb,'targetPath':_0x374035,'error':_0x3c9cea instanceof Error?_0x3c9cea[_0x5c694d(0xfb)]:String(_0x3c9cea),'duration':_0x5f24bd});})['finally'](()=>{_0x5d4136(![]);});}},[_0x3c8fcb,_0x88daa1]),useEffect(()=>{_0x435aa4&&setTimeout(()=>{_0x902d0c();});},[_0x435aa4]);if(_0x3c8fcb)return a1_0x25eecd(Box,{'flexDirection':'column','paddingY':0x1,'children':[a1_0x25eecd(Box,{'children':[a1_0x545af1(Text,{'color':'gray','children':_0x83fc25(0x108)}),a1_0x545af1(Text,{'children':'已选择页面模板\x20'}),a1_0x545af1(Text,{'color':_0x83fc25(0xec),'children':_0x3c8fcb})]}),_0x88daa1?a1_0x25eecd(Box,{'children':[a1_0x545af1(Text,{'color':_0x83fc25(0x101),'children':_0x83fc25(0x103)}),a1_0x545af1(Text,{'children':_0x83fc25(0x10e)}),a1_0x545af1(Text,{'color':_0x83fc25(0xec),'children':_0x88daa1})]}):a1_0x545af1(InputProjectCode,{'pagePath':_0x1c5147,'onSubmit':_0x315a2c}),_0x88daa1&&_0x38cbde?a1_0x25eecd(Box,{'marginTop':0x1,'children':[a1_0x545af1(Box,{'width':'4'}),a1_0x545af1(Text,{'children':_0x83fc25(0x10a)})]}):null,_0x435aa4?a1_0x25eecd(a1_0x1413db,{'children':[a1_0x545af1(Box,{'marginTop':0x1,'children':a1_0x545af1(Text,{'color':_0x83fc25(0x101),'children':_0x83fc25(0xf8)})}),a1_0x25eecd(Box,{'children':[a1_0x545af1(Text,{'color':_0x83fc25(0x101),'children':_0x83fc25(0x109)}),a1_0x545af1(Text,{'color':_0x83fc25(0xec),'children':_0x374035})]}),a1_0x25eecd(Box,{'children':[a1_0x545af1(Text,{'color':_0x83fc25(0x101),'children':'\x20*\x20路由地址:\x20'}),a1_0x25eecd(Text,{'color':_0x83fc25(0xec),'children':['/',_0x88daa1]})]}),a1_0x545af1(Box,{'marginTop':0x1,'children':a1_0x545af1(Text,{'color':'cyan','children':'\x20*\x20页面文件已创建,可直接通过路由访问'})})]}):null]});return a1_0x545af1(SelectPageTemplate,{'onSelect':_0xb5fae3});};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x349bd6,_0x183824){const _0x248ff9=a2_0x1e4d,_0x4e5aab=_0x349bd6();while(!![]){try{const _0x129e38=parseInt(_0x248ff9(0x103))/0x1+-parseInt(_0x248ff9(0x104))/0x2+-parseInt(_0x248ff9(0x112))/0x3*(-parseInt(_0x248ff9(0x10e))/0x4)+-parseInt(_0x248ff9(0x100))/0x5+parseInt(_0x248ff9(0xfe))/0x6+parseInt(_0x248ff9(0x107))/0x7+-parseInt(_0x248ff9(0xfd))/0x8;if(_0x129e38===_0x183824)break;else _0x4e5aab['push'](_0x4e5aab['shift']());}catch(_0x5f5247){_0x4e5aab['push'](_0x4e5aab['shift']());}}}(a2_0x506e,0xcb394));import{jsx as a2_0x41c266,jsxs as a2_0x48d44d}from'react/jsx-runtime';import{useState,useEffect}from'react';function a2_0x506e(){const _0x540a73=['dirname','localeCompare','filter','green','gray','18962280SaoMpp','1927848wKRIgZ','../..','4205470AYJijc','upArrow','map','1303213vyRRtj','950686Mlhdrs','onSelect','请选择您要创建的页面模板','10663492BPiLJr','url','column','sort','templates/pages','\x20\x20\x20\x20\x20\x20>\x20','\x20Step1:\x20','32076NosUnf','isDirectory','label','name','513SELMor'];a2_0x506e=function(){return _0x540a73;};return a2_0x506e();}function a2_0x1e4d(_0x51cfa3,_0x58e821){const _0x506e50=a2_0x506e();return a2_0x1e4d=function(_0x1e4d92,_0x1ed53e){_0x1e4d92=_0x1e4d92-0xfc;let _0x3e3ad0=_0x506e50[_0x1e4d92];return _0x3e3ad0;},a2_0x1e4d(_0x51cfa3,_0x58e821);}import{Text,Box,useInput}from'ink';import{readdir}from'node:fs/promises';import a2_0x1c489b from'node:path';import{fileURLToPath}from'node:url';async function getTemplateList(){const _0x135c90=a2_0x1e4d;try{const _0x2b6b50=fileURLToPath(import.meta[_0x135c90(0x108)]),_0x218da9=a2_0x1c489b['resolve'](a2_0x1c489b[_0x135c90(0x113)](_0x2b6b50),_0x135c90(0xff)),_0x5cbd3b=a2_0x1c489b['join'](_0x218da9,_0x135c90(0x10b)),_0x1efd5e=await readdir(_0x5cbd3b,{'withFileTypes':!![]}),_0xe17355=_0x1efd5e[_0x135c90(0x115)](_0x7751e7=>_0x7751e7[_0x135c90(0x10f)]())[_0x135c90(0x102)](_0x1aad8e=>({'label':_0x1aad8e[_0x135c90(0x111)]}))[_0x135c90(0x10a)]((_0x2e2650,_0x537d9b)=>_0x2e2650[_0x135c90(0x110)][_0x135c90(0x114)](_0x537d9b[_0x135c90(0x110)]));return _0xe17355;}catch(_0x3a3611){return console['error']('获取模板列表失败:',_0x3a3611),[{'label':'blank'},{'label':'sdk-fetch'}];}}export function SelectPageTemplate(_0x1193cd){const _0x295d7f=a2_0x1e4d,[_0x4008fe,_0x17373c]=useState(0x0),[_0x2dd00b,_0x37767f]=useState([]),[_0x5f3f8a,_0x579051]=useState(!![]);useEffect(()=>{async function _0x504e6d(){const _0xf5c1bf=await getTemplateList();_0x37767f(_0xf5c1bf),_0x579051(![]);}_0x504e6d();},[]),useInput((_0x1dbb73,_0xea06f9)=>{const _0x3361ba=a2_0x1e4d;if(_0x5f3f8a)return;if(_0xea06f9['return']){const _0x48faf7=_0x2dd00b[_0x4008fe];_0x48faf7&&_0x1193cd[_0x3361ba(0x105)](_0x48faf7[_0x3361ba(0x110)]);}_0xea06f9[_0x3361ba(0x101)]&&_0x17373c(_0x1880a6=>_0x1880a6===0x0?_0x2dd00b['length']-0x1:_0x1880a6-0x1),_0xea06f9['downArrow']&&_0x17373c(_0x1bc9fd=>_0x1bc9fd===_0x2dd00b['length']-0x1?0x0:_0x1bc9fd+0x1);});if(_0x5f3f8a)return a2_0x41c266(Box,{'flexDirection':_0x295d7f(0x109),'paddingY':0x1,'children':a2_0x48d44d(Box,{'children':[a2_0x41c266(Text,{'color':_0x295d7f(0xfc),'children':'\x20Step1:\x20'}),a2_0x41c266(Text,{'children':'正在加载页面模板...'})]})});return a2_0x48d44d(Box,{'flexDirection':_0x295d7f(0x109),'paddingY':0x1,'children':[a2_0x48d44d(Box,{'children':[a2_0x41c266(Text,{'color':_0x295d7f(0xfc),'children':_0x295d7f(0x10d)}),a2_0x41c266(Text,{'children':_0x295d7f(0x106)})]}),_0x2dd00b[_0x295d7f(0x102)]((_0x4b1578,_0x4a9c60)=>{const _0x36d438=_0x295d7f,_0x48a0a8=_0x4a9c60===_0x4008fe,_0x3eefc1=_0x48a0a8?_0x36d438(0x10c)+_0x4b1578[_0x36d438(0x110)]:'\x20\x20\x20\x20\x20\x20\x20\x20'+_0x4b1578[_0x36d438(0x110)];return a2_0x41c266(Box,{'children':a2_0x41c266(Text,{'color':_0x48a0a8?_0x36d438(0x116):undefined,'children':_0x3eefc1})},_0x3eefc1);})]});}
|
package/lib/api/api-pull-ui.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3e51d9,_0x292591){const _0x26da7f=a3_0x57fd,_0x4cf0cd=_0x3e51d9();while(!![]){try{const _0x507b0e=parseInt(_0x26da7f(0x1a6))/0x1+-parseInt(_0x26da7f(0x194))/0x2+parseInt(_0x26da7f(0x193))/0x3*(-parseInt(_0x26da7f(0x18c))/0x4)+parseInt(_0x26da7f(0x1b4))/0x5*(parseInt(_0x26da7f(0x1a4))/0x6)+-parseInt(_0x26da7f(0x1be))/0x7+-parseInt(_0x26da7f(0x1bb))/0x8*(parseInt(_0x26da7f(0x1a3))/0x9)+parseInt(_0x26da7f(0x1a0))/0xa;if(_0x507b0e===_0x292591)break;else _0x4cf0cd['push'](_0x4cf0cd['shift']());}catch(_0x188f9a){_0x4cf0cd['push'](_0x4cf0cd['shift']());}}}(a3_0x3b05,0x7d988));import{jsx as a3_0x21fe80,jsxs as a3_0x40f07a}from'react/jsx-runtime';function a3_0x57fd(_0x449937,_0x22c2cd){const _0x3b0516=a3_0x3b05();return a3_0x57fd=function(_0x57fd46,_0x453da2){_0x57fd46=_0x57fd46-0x189;let _0x4e0197=_0x3b0516[_0x57fd46];return _0x4e0197;},a3_0x57fd(_0x449937,_0x22c2cd);}import{useEffect,useState}from'react';import{Box,Text,useApp}from'ink';import{readConfig}from'../utils/config.js';import{getCookie}from'../auth/get-cookie.js';import{getApiDomain}from'../constant/domain.js';import{generateApiFile}from'./generate-api-file.js';import{logger}from'../utils/logger.js';export const ApiPullUI=({appCode:_0x4f4930})=>{const _0x4b66cf=a3_0x57fd,{exit:_0x1cbd26}=useApp(),[_0x1d4152,_0x33a6d0]=useState(![]),[_0x4452e7,_0x16cd99]=useState(![]),[_0x1abec5,_0x106752]=useState(null),[_0x36a0ee,_0x367ea2]=useState(null),_0x438f84=readConfig(),_0xe5972e=_0x4f4930||_0x438f84?.[_0x4b66cf(0x199)],_0x243f3b=_0x4f4930&&_0x4f4930[_0x4b66cf(0x195)]('-')?_0x4f4930[_0x4b66cf(0x192)]('-')[_0x4b66cf(0x1bd)](0x1)[_0x4b66cf(0x1b2)]('-'):'',_0x566b27=_0x4f4930?_0x4b66cf(0x1a2)+_0xe5972e:_0x4b66cf(0x1af)+_0xe5972e,_0x1c508e=_0x243f3b?_0x243f3b+_0x4b66cf(0x18f):_0x4b66cf(0x198),_0xfe1eca=_0x243f3b?_0x243f3b+'-client':_0x4b66cf(0x191);useEffect(()=>{_0x33a6d0(!![]),_0x13d013();},[]),useEffect(()=>{(_0x4452e7||_0x1abec5)&&_0x1cbd26();},[_0x4452e7,_0x1abec5,_0x1cbd26]);async function _0x13d013(){const _0x47c81b=_0x4b66cf;if(!_0xe5972e){_0x106752('未提供应用AppCode,且配置中也没有默认值');return;}try{logger[_0x47c81b(0x190)](process['cwd']());const _0xdf4b93=await fetch(getApiDomain()+'/smartapi/dataset/getList?appCode='+_0xe5972e+_0x47c81b(0x19a),{'headers':{'Cookie':getCookie()}});if(_0xdf4b93['ok']){const _0x5d8576=await _0xdf4b93[_0x47c81b(0x1ae)]();if(_0x5d8576[_0x47c81b(0x1a5)]){const _0x137a3c=!_0x4f4930;await generateApiFile(_0x5d8576[_0x47c81b(0x1b6)][_0x47c81b(0x1b1)],_0x243f3b,_0xe5972e,_0x137a3c),_0x367ea2({'api':'src/api/'+_0x1c508e+_0x47c81b(0x18a),'client':_0x47c81b(0x1b9)+_0xfe1eca+_0x47c81b(0x18a)}),_0x16cd99(!![]);}}else{if(_0xdf4b93[_0x47c81b(0x18d)]===0x191){const _0x1022d0=_0x47c81b(0x1ba);logger[_0x47c81b(0x1b5)](_0x47c81b(0x1ad),_0x1022d0,{'status':_0xdf4b93['status'],'appCode':_0xe5972e,'url':_0xdf4b93[_0x47c81b(0x1b3)]}),_0x106752(_0x1022d0);}else{const _0x4ea052=_0x47c81b(0x1c1)+_0xdf4b93['status'];try{const _0x203c2d=await _0xdf4b93[_0x47c81b(0x1a9)]();_0x203c2d?logger[_0x47c81b(0x1b5)]('api-pull',_0x4ea052,{'status':_0xdf4b93[_0x47c81b(0x18d)],'appCode':_0xe5972e,'url':_0xdf4b93[_0x47c81b(0x1b3)],'errorBody':_0x203c2d}):logger[_0x47c81b(0x1b5)](_0x47c81b(0x1ad),_0x4ea052,{'status':_0xdf4b93[_0x47c81b(0x18d)],'appCode':_0xe5972e,'url':_0xdf4b93[_0x47c81b(0x1b3)]});}catch(_0x46f901){logger['error'](_0x47c81b(0x1ad),_0x4ea052+_0x47c81b(0x1a1),{'status':_0xdf4b93[_0x47c81b(0x18d)],'appCode':_0xe5972e,'url':_0xdf4b93[_0x47c81b(0x1b3)],'readError':_0x46f901 instanceof Error?_0x46f901[_0x47c81b(0x19d)]:String(_0x46f901)});}_0x106752(_0x4ea052);}}}catch(_0x5e47e7){const _0x305f20=_0x5e47e7 instanceof Error?_0x5e47e7[_0x47c81b(0x19d)]:String(_0x5e47e7);_0x106752(_0x47c81b(0x1bf)+_0x305f20);}finally{_0x33a6d0(![]);}}return a3_0x40f07a(Box,{'flexDirection':'column','children':[a3_0x40f07a(Box,{'children':[a3_0x21fe80(Text,{'color':_0x4b66cf(0x1aa),'children':'*\x20'}),a3_0x21fe80(Text,{'color':_0x4f4930?'white':_0x4b66cf(0x1b7),'children':_0x566b27})]}),a3_0x40f07a(Box,{'children':[a3_0x21fe80(Text,{'color':_0x4b66cf(0x1aa),'children':_0x4b66cf(0x1b0)}),a3_0x40f07a(Text,{'color':'cyan','children':[_0x1c508e,_0x4b66cf(0x18a)]}),a3_0x21fe80(Text,{'color':'dim','children':_0x4b66cf(0x19c)}),a3_0x40f07a(Text,{'color':_0x4b66cf(0x196),'children':[_0xfe1eca,_0x4b66cf(0x18a)]})]}),_0x1d4152&&a3_0x21fe80(Box,{'children':a3_0x21fe80(Text,{'children':_0x4b66cf(0x1bc)})}),_0x4452e7&&_0x36a0ee&&a3_0x40f07a(Box,{'flexDirection':_0x4b66cf(0x1a7),'children':[a3_0x21fe80(Box,{'children':a3_0x21fe80(Text,{'color':_0x4b66cf(0x19e),'children':'√\x20API\x20文件生成成功!'})}),a3_0x21fe80(Box,{'marginTop':0x1,'children':a3_0x21fe80(Text,{'color':_0x4b66cf(0x1aa),'children':_0x4b66cf(0x189)})}),a3_0x40f07a(Box,{'marginLeft':0x2,'children':[a3_0x40f07a(Text,{'color':'cyan','children':['•\x20',_0x36a0ee[_0x4b66cf(0x198)]]}),a3_0x21fe80(Text,{'color':_0x4b66cf(0x1b7),'children':_0x4b66cf(0x19f)})]}),a3_0x40f07a(Box,{'marginLeft':0x2,'children':[a3_0x40f07a(Text,{'color':_0x4b66cf(0x196),'children':['•\x20',_0x36a0ee[_0x4b66cf(0x191)]]}),a3_0x21fe80(Text,{'color':_0x4b66cf(0x1b7),'children':_0x4b66cf(0x1c2)})]}),a3_0x21fe80(Box,{'marginTop':0x1,'children':a3_0x21fe80(Text,{'color':_0x4b66cf(0x1aa),'children':_0x4b66cf(0x1ac)})}),a3_0x21fe80(Box,{'marginLeft':0x2,'children':a3_0x40f07a(Text,{'color':'yellow','children':[_0x4b66cf(0x18b),_0x4b66cf(0x1b8),_0x4b66cf(0x197),_0x36a0ee[_0x4b66cf(0x191)]['replace'](_0x4b66cf(0x1b9),'')[_0x4b66cf(0x19b)]('.ts',''),'\x27']})})]}),_0x1abec5&&a3_0x40f07a(Box,{'flexDirection':_0x4b66cf(0x1a7),'children':[a3_0x21fe80(Box,{'children':a3_0x40f07a(Text,{'color':_0x4b66cf(0x1a8),'children':['❌\x20',_0x1abec5]})}),_0x1abec5[_0x4b66cf(0x195)]('登录')&&a3_0x40f07a(Box,{'marginTop':0x1,'children':[a3_0x21fe80(Text,{'color':_0x4b66cf(0x18e),'children':_0x4b66cf(0x1ab)}),a3_0x21fe80(Text,{'color':_0x4b66cf(0x196),'children':_0x4b66cf(0x1c0)}),a3_0x21fe80(Text,{'color':_0x4b66cf(0x18e),'children':'\x20重新登录后再试'})]})]})]});};function a3_0x3b05(){const _0x1e92e0=['4376CVoOQZ','🚀\x20正在从服务器拉取\x20API\x20配置...','slice','2679334lYeAKe','拉取\x20API\x20配置失败:\x20','lovrabet\x20auth','获取数据集失败,HTTP状态码:\x20','\x20-\x20客户端实例文件','*\x20已生成文件:','.ts','import\x20','52BUTuYA','status','yellow','-api','setLogPath','client','split','88218NHGhSH','1402048XEldQG','includes','cyan','\x20from\x20\x27@/api/','api','app','&pageSize=999¤tPage=1','replace','\x20和\x20','message','green','\x20-\x20模型配置文件','15923490xjreKK',',且无法读取错误响应内容','使用指定的应用AppCode:\x20','3420ANdHOu','735294ehPRXP','success','350917rurSfB','column','red','text','gray','💡\x20请使用\x20','*\x20导入方式:','api-pull','json','使用配置的应用AppCode:\x20','*\x20将生成文件:\x20','tableData','join','url','10kNiYYf','error','data','dim','{\x20lovrabetClient\x20}','src/api/','登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录'];a3_0x3b05=function(){return _0x1e92e0;};return a3_0x3b05();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3db2bc,_0x234080){const _0x55c1b1=a4_0x29bb,_0x5a9dea=_0x3db2bc();while(!![]){try{const _0x51fd75=parseInt(_0x55c1b1(0x1f5))/0x1+-parseInt(_0x55c1b1(0x1f3))/0x2*(parseInt(_0x55c1b1(0x1ed))/0x3)+parseInt(_0x55c1b1(0x1ff))/0x4*(-parseInt(_0x55c1b1(0x1f7))/0x5)+-parseInt(_0x55c1b1(0x1ee))/0x6+-parseInt(_0x55c1b1(0x1fb))/0x7+-parseInt(_0x55c1b1(0x201))/0x8+-parseInt(_0x55c1b1(0x1f0))/0x9*(-parseInt(_0x55c1b1(0x1ea))/0xa);if(_0x51fd75===_0x234080)break;else _0x5a9dea['push'](_0x5a9dea['shift']());}catch(_0x507a5f){_0x5a9dea['push'](_0x5a9dea['shift']());}}}(a4_0xb856,0x746b2));function a4_0x29bb(_0x2c517d,_0x2c188a){const _0xb85620=a4_0xb856();return a4_0x29bb=function(_0x29bb5a,_0x1f689c){_0x29bb5a=_0x29bb5a-0x1ea;let _0x14efe4=_0xb85620[_0x29bb5a];return _0x14efe4;},a4_0x29bb(_0x2c517d,_0x2c188a);}function a4_0xb856(){const _0x5ab3bd=['name','227685hgIecX','split','115UBGwwX','Api','pkField','set','5484815svNDUE','code','dbtableConfig','filter','4204eoHSHa','map','474424IubOPE','dataset','dataset_','values','464980JZOqpc','replace','tableName','129933ZGqvgN','2853684JGURDx','from','459BVeOgb','forEach','trim','36EGhyqe'];a4_0xb856=function(){return _0x5ab3bd;};return a4_0xb856();}export function formatDataset(_0x367cd6){const _0xb26408=a4_0x29bb,_0x47e674=_0x367cd6[_0xb26408(0x1fe)](_0x5b6169=>_0x5b6169['dbtableConfig']),_0x123699=_0x367cd6[_0xb26408(0x1fe)](_0x1713e7=>!_0x1713e7['dbtableConfig']),_0x169f4d=new Map();_0x47e674[_0xb26408(0x1f1)](_0x440c8e=>{const _0x253221=_0xb26408,_0x2fde45=_0x440c8e['dbtableConfig']['tableName'],_0xa599ab=_0x169f4d['get'](_0x2fde45);(!_0xa599ab||_0x440c8e['id']>_0xa599ab['id'])&&_0x169f4d[_0x253221(0x1fa)](_0x2fde45,_0x440c8e);});const _0xf6d0a9=Array[_0xb26408(0x1ef)](_0x169f4d[_0xb26408(0x204)]())['map'](_0x339b27=>{const _0x5e7651=_0xb26408,_0x252c1f=snakeToCamel(_0x339b27['dbtableConfig']['tableName']);return{'id':_0x339b27['id'],'name':_0x339b27[_0x5e7651(0x1f4)],'code':_0x339b27[_0x5e7651(0x1fc)],'tableName':_0x339b27['dbtableConfig'][_0x5e7651(0x1ec)],'apiFucName':_0x252c1f?_0x252c1f+_0x5e7651(0x1f8):_0x5e7651(0x202)+_0x339b27['code']+_0x5e7651(0x1f8),'pkField':_0x339b27[_0x5e7651(0x1fd)][_0x5e7651(0x1f9)],'allFields':_0x339b27[_0x5e7651(0x1fd)]['allFields'][_0x5e7651(0x1f6)](',')};}),_0x2959d1=_0x123699[_0xb26408(0x200)](_0x50be3=>{const _0x1d6dd0=_0xb26408,_0x2a51ca=_0x1d6dd0(0x203)+_0x50be3[_0x1d6dd0(0x1fc)],_0x27ecef=snakeToCamel(_0x2a51ca);return{'id':_0x50be3['id'],'name':_0x50be3[_0x1d6dd0(0x1f4)],'code':_0x50be3[_0x1d6dd0(0x1fc)],'tableName':_0x2a51ca,'apiFucName':_0x27ecef?_0x27ecef+'Api':_0x1d6dd0(0x202)+_0x50be3[_0x1d6dd0(0x1fc)]+'Api','pkField':undefined,'allFields':[]};});return[..._0xf6d0a9,..._0x2959d1];}function snakeToCamel(_0x4acf35){const _0x1b2158=a4_0x29bb;if(!_0x4acf35)return _0x4acf35;const _0x1ae856=_0x4acf35[_0x1b2158(0x1f2)]();return _0x1ae856[_0x1b2158(0x1eb)](/_([a-zA-Z0-9])/g,(_0x32f1ef,_0x381dfc)=>_0x381dfc['toUpperCase']());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a5_0x5b4c(){const _0x469896=['apiFucName','1409170GGxwrX','app','5333727DBxyze','slice','toUpperCase','utf8','templates/generate-api','forEach','CONFIG_NAMES.DEFAULT','length','116144uNXihE','replace','log','*\x20可以开始使用:\x20import\x20{\x20lovrabetClient\x20}\x20from\x20\x27@/api/','init-api','6179022aSHzxb','resolve','keys','12XkXiIT','*\x20API配置\x20apiConfigName\x20:\x20','replaceApiContent','1eohByt','\x20\x20\x20•\x20','api.ts.tpl','success','typescript','string','*\x20已生成文件:','src/api','.ts','5457930nTXskn','join','api','-api','code','2466783Hzotfh','format','396220duQcxn','src/api/'];a5_0x5b4c=function(){return _0x469896;};return a5_0x5b4c();}function a5_0x22b1(_0xab5aaa,_0x4b2f21){const _0x5b4c6f=a5_0x5b4c();return a5_0x22b1=function(_0x22b168,_0x54a666){_0x22b168=_0x22b168-0x1d4;let _0x5ec80f=_0x5b4c6f[_0x22b168];return _0x5ec80f;},a5_0x22b1(_0xab5aaa,_0x4b2f21);}(function(_0x551a9e,_0x334417){const _0x16854c=a5_0x22b1,_0x17ac5c=_0x551a9e();while(!![]){try{const _0x93630d=-parseInt(_0x16854c(0x1d9))/0x1*(-parseInt(_0x16854c(0x1ec))/0x2)+-parseInt(_0x16854c(0x1e7))/0x3+-parseInt(_0x16854c(0x1d6))/0x4*(parseInt(_0x16854c(0x1e9))/0x5)+parseInt(_0x16854c(0x1e2))/0x6+parseInt(_0x16854c(0x1ee))/0x7+-parseInt(_0x16854c(0x1f6))/0x8+-parseInt(_0x16854c(0x1fb))/0x9;if(_0x93630d===_0x334417)break;else _0x17ac5c['push'](_0x17ac5c['shift']());}catch(_0x3d2d24){_0x17ac5c['push'](_0x17ac5c['shift']());}}}(a5_0x5b4c,0x962dc));import a5_0x2a9447 from'prettier';import{mkdirSync,writeFileSync,readFileSync}from'node:fs';import a5_0x4cbabb 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';export async function generateApiFile(_0x11813d,_0x253e62='',_0x35bcd2,_0x223ce6=![]){const _0x105c7a=a5_0x22b1,_0x483df6=readConfig(),_0x320ddc=_0x35bcd2||_0x483df6?.[_0x105c7a(0x1ed)];if(typeof _0x320ddc!==_0x105c7a(0x1de)||!_0x320ddc)throw new Error('请先通过\x20`lovrabet\x20config\x20set\x20app\x20<value>`\x20配置应用\x20Code');const _0x31f99f=_0x223ce6?_0x105c7a(0x1f4):'\x22'+_0x320ddc+'\x22',_0xe66ce8=_0x223ce6?'':'\x22'+_0x320ddc+'\x22',_0x27a85f=_0x253e62?_0x253e62+_0x105c7a(0x1e5):_0x105c7a(0x1e4),_0x431b47=_0x253e62?_0x253e62+'-client':'client',_0x3e3009=formatDataset(_0x11813d),_0x584c={};_0x3e3009[_0x105c7a(0x1f3)](_0x3ca7ba=>{const _0x508f39=_0x105c7a,_0x49255f=_0x3ca7ba[_0x508f39(0x1eb)][_0x508f39(0x1f7)](/Api$/,''),_0x356e76=_0x49255f['charAt'](0x0)[_0x508f39(0x1f0)]()+_0x49255f[_0x508f39(0x1ef)](0x1);_0x584c[_0x356e76]={'tableName':_0x3ca7ba['tableName'],'datasetId':_0x3ca7ba[_0x508f39(0x1e6)]};});const _0x1a29f1=fileURLToPath(import.meta['url']),_0x30b12c=a5_0x4cbabb[_0x105c7a(0x1d4)](a5_0x4cbabb['dirname'](_0x1a29f1),'../..'),_0x3e2454=a5_0x4cbabb['join'](_0x30b12c,_0x105c7a(0x1f2)),_0x2c4f48=a5_0x4cbabb[_0x105c7a(0x1e3)](_0x3e2454,_0x105c7a(0x1db)),_0x4a4b96=a5_0x4cbabb[_0x105c7a(0x1e3)](_0x3e2454,'client.ts.tpl');mkdirSync(_0x105c7a(0x1e0),{'recursive':!![]});const _0x37860e=readFileSync(_0x2c4f48,_0x105c7a(0x1f1)),_0x304814=TemplateReplacer[_0x105c7a(0x1d8)](_0x37860e,_0x320ddc,_0x584c,Object[_0x105c7a(0x1d5)](_0x584c)[0x0],_0x27a85f,_0x31f99f),_0x49c3d8=await a5_0x2a9447['format'](_0x304814,{'parser':'typescript'}),_0x5e058a=_0x105c7a(0x1ea)+_0x27a85f+_0x105c7a(0x1e1);writeFileSync(_0x5e058a,_0x49c3d8,{'encoding':'utf8'});const _0x293ab8=readFileSync(_0x4a4b96,_0x105c7a(0x1f1)),_0x4be92b=TemplateReplacer[_0x105c7a(0x1d8)](_0x293ab8,_0x320ddc,_0x584c,Object[_0x105c7a(0x1d5)](_0x584c)[0x0],_0x27a85f,_0x31f99f,_0xe66ce8),_0x180c8d=await a5_0x2a9447[_0x105c7a(0x1e8)](_0x4be92b,{'parser':_0x105c7a(0x1dd)}),_0x3ebd36=_0x105c7a(0x1ea)+_0x431b47+'.ts';writeFileSync(_0x3ebd36,_0x180c8d,{'encoding':_0x105c7a(0x1f1)}),logger[_0x105c7a(0x1dc)](_0x105c7a(0x1fa),'API\x20文件生成成功!'),console[_0x105c7a(0x1f8)](_0x105c7a(0x1df)),console[_0x105c7a(0x1f8)]('\x20\x20\x20•\x20'+_0x5e058a+'\x20-\x20模型配置文件\x20('+Object[_0x105c7a(0x1d5)](_0x584c)[_0x105c7a(0x1f5)]+'\x20个模型)'),console['log'](_0x105c7a(0x1da)+_0x3ebd36+'\x20-\x20客户端实例文件'),console['log'](_0x105c7a(0x1d7)+_0x31f99f),console['log'](_0x105c7a(0x1f9)+_0x431b47+'\x27');}
|
package/lib/api/main.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3bff70,_0x13a622){const _0x414350=a6_0x160b,_0x30192b=_0x3bff70();while(!![]){try{const _0x27c970=-parseInt(_0x414350(0xe5))/0x1+-parseInt(_0x414350(0xec))/0x2+parseInt(_0x414350(0xe3))/0x3*(-parseInt(_0x414350(0xe7))/0x4)+parseInt(_0x414350(0xeb))/0x5+parseInt(_0x414350(0xef))/0x6+-parseInt(_0x414350(0xf2))/0x7*(-parseInt(_0x414350(0xee))/0x8)+-parseInt(_0x414350(0xe8))/0x9*(-parseInt(_0x414350(0xe9))/0xa);if(_0x27c970===_0x13a622)break;else _0x30192b['push'](_0x30192b['shift']());}catch(_0x40cccd){_0x30192b['push'](_0x30192b['shift']());}}}(a6_0xacc1,0x5aa67));import{jsx as a6_0x1be234}from'react/jsx-runtime';import{render}from'ink';import{ApiPullUI}from'./api-pull-ui.js';export async function apiCli(_0x4ed099){const _0x26c33d=a6_0x160b,_0x3c93e9=_0x4ed099[_0x26c33d(0xea)][0x1];if(_0x3c93e9===_0x26c33d(0xe4)){const _0x36e7bb=_0x4ed099[_0x26c33d(0xea)][0x2];render(a6_0x1be234(ApiPullUI,{'appCode':_0x36e7bb}));}else console[_0x26c33d(0xf1)](_0x26c33d(0xf3)+_0x3c93e9),console[_0x26c33d(0xe2)](_0x26c33d(0xe6)),console[_0x26c33d(0xe2)](_0x26c33d(0xf0)),console[_0x26c33d(0xe2)](_0x26c33d(0xed)),process['exit'](0x1);}function a6_0x160b(_0x19bfb9,_0x2d9ea3){const _0xacc1e6=a6_0xacc1();return a6_0x160b=function(_0x160bb8,_0xaaa5e){_0x160bb8=_0x160bb8-0xe2;let _0x550656=_0xacc1e6[_0x160bb8];return _0x550656;},a6_0x160b(_0x19bfb9,_0x2d9ea3);}function a6_0xacc1(){const _0x6c40c5=['593991rxkKBr','30nEZeRs','input','1824085VayFSQ','646124BfhmDH','\x20\x20\x20\x20app-code:\x20可选的应用AppCode,不指定则使用配置的默认值','205168rJbosC','3210444Xckyxt','\x20\x20lovrabet\x20api\x20pull\x20[app-code]\x20\x20\x20\x20//\x20拉取并生成\x20API\x20配置文件','error','126SxMran','Unknown\x20api\x20command:\x20','log','2222742UHpBaS','pull','124237HHsKmx','Available\x20commands:','4yiCgtA'];a6_0xacc1=function(){return _0x6c40c5;};return a6_0xacc1();}
|
package/lib/api/pull-silent.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x396138,_0x2375a4){const _0x509f3a=a7_0x2070,_0x5dcfdc=_0x396138();while(!![]){try{const _0x1791bf=parseInt(_0x509f3a(0x115))/0x1+-parseInt(_0x509f3a(0x11a))/0x2+parseInt(_0x509f3a(0x126))/0x3*(parseInt(_0x509f3a(0x103))/0x4)+-parseInt(_0x509f3a(0x116))/0x5*(-parseInt(_0x509f3a(0x10c))/0x6)+parseInt(_0x509f3a(0x100))/0x7+-parseInt(_0x509f3a(0x109))/0x8*(parseInt(_0x509f3a(0x114))/0x9)+parseInt(_0x509f3a(0x11c))/0xa;if(_0x1791bf===_0x2375a4)break;else _0x5dcfdc['push'](_0x5dcfdc['shift']());}catch(_0xf74ee4){_0x5dcfdc['push'](_0x5dcfdc['shift']());}}}(a7_0x303d,0x46750));function a7_0x2070(_0x4db295,_0x56a77c){const _0x303da3=a7_0x303d();return a7_0x2070=function(_0x20709c,_0x27f5ce){_0x20709c=_0x20709c-0xfb;let _0x1ed26d=_0x303da3[_0x20709c];return _0x1ed26d;},a7_0x2070(_0x4db295,_0x56a77c);}import{getCookie}from'../auth/get-cookie.js';import{getApiDomain}from'../constant/domain.js';function a7_0x303d(){const _0x23f148=['trim','json','\x20\x20\x20•\x20','API\x20配置拉取失败:\x20','*\x20开始生成\x20API\x20配置文件:','length','url','text','2793fgVXdt','×\x20文件前缀格式不正确。只能包含字母、数字、连字符和下划线,且必须以字母开头。','message','tableData','data','status','create-api-pull','*\x20正在处理\x20','1006320Ezwmwg','×\x20服务器返回错误:','api','536kklYkr','未知错误',',且无法读取错误响应内容','API\x20配置拉取成功:\x20','chdir','API\x20配置拉取异常:\x20','1743272YnxEEv','test','error','501762toPset','√\x20API\x20配置文件生成完成','.ts\x20-\x20客户端实例文件','client','/smartapi/dataset/getList?appCode=','cwd','&pageSize=999¤tPage=1','×\x20无法读取错误响应内容','9FjdxlZ','221275SnIzvO','5tuzyYE','获取数据集失败,HTTP状态码:\x20','*\x20正在从服务器拉取\x20API\x20配置...','log','758872PibpqU','.ts\x20-\x20模型配置文件','3125210QcdodK','\x20个数据集...'];a7_0x303d=function(){return _0x23f148;};return a7_0x303d();}import{generateApiFile}from'./generate-api-file.js';import{logger}from'../utils/logger.js';export async function pullApiSilent(_0x1bf1ce,_0x539e0c,_0x344096){const _0x30b314=a7_0x2070;let _0x5bd6e2;try{const _0x4f0ada=_0x539e0c?.[_0x30b314(0x11e)]()||'';if(_0x4f0ada){const _0x551253=/^[a-zA-Z][a-zA-Z0-9_-]*$/;if(!_0x551253[_0x30b314(0x10a)](_0x4f0ada))return console[_0x30b314(0x10b)](_0x30b314(0x127)),![];}_0x344096&&(_0x5bd6e2=process[_0x30b314(0x111)](),process[_0x30b314(0x107)](_0x344096));console[_0x30b314(0x119)](_0x30b314(0x118));const _0x267345=await fetch(getApiDomain()+_0x30b314(0x110)+_0x1bf1ce+_0x30b314(0x112),{'headers':{'Cookie':getCookie()}});if(_0x267345['ok']){const _0x4e5966=await _0x267345[_0x30b314(0x11f)]();if(_0x4e5966['success']){const _0x3003d6=_0x4f0ada?_0x4f0ada+'-api':_0x30b314(0x102),_0x1f0593=_0x4f0ada?_0x4f0ada+'-client':_0x30b314(0x10f);return console[_0x30b314(0x119)](_0x30b314(0x122)),console[_0x30b314(0x119)](_0x30b314(0x120)+_0x3003d6+_0x30b314(0x11b)),console['log'](_0x30b314(0x120)+_0x1f0593+_0x30b314(0x10e)),console['log'](_0x30b314(0xff)+_0x4e5966[_0x30b314(0xfc)]['tableData'][_0x30b314(0x123)]+_0x30b314(0x11d)),await generateApiFile(_0x4e5966[_0x30b314(0xfc)][_0x30b314(0xfb)],_0x4f0ada,_0x1bf1ce,!![]),console['log'](_0x30b314(0x10d)),_0x344096&&logger['info'](_0x30b314(0xfe),_0x30b314(0x106)+_0x1bf1ce,{'projectPath':_0x344096,'appCode':_0x1bf1ce,'datasetCount':_0x4e5966[_0x30b314(0xfc)][_0x30b314(0xfb)][_0x30b314(0x123)],'filePrefix':_0x4f0ada}),!![];}else return console['error'](_0x30b314(0x101),_0x4e5966[_0x30b314(0x128)]||_0x30b314(0x104)),_0x344096&&logger[_0x30b314(0x10b)](_0x30b314(0xfe),_0x30b314(0x121)+(_0x4e5966[_0x30b314(0x128)]||_0x30b314(0x104)),{'projectPath':_0x344096,'appCode':_0x1bf1ce}),![];}else{if(_0x267345[_0x30b314(0xfd)]===0x191){const _0x5de8a0='获取数据集失败,原因:登录鉴权失败,登录已过期';console[_0x30b314(0x10b)]('×\x20'+_0x5de8a0),_0x344096&&logger[_0x30b314(0x10b)](_0x30b314(0xfe),_0x5de8a0,{'status':_0x267345[_0x30b314(0xfd)],'appCode':_0x1bf1ce,'url':_0x267345[_0x30b314(0x124)],'projectPath':_0x344096});}else{const _0x56c50e=_0x30b314(0x117)+_0x267345[_0x30b314(0xfd)];console[_0x30b314(0x10b)]('×\x20'+_0x56c50e);try{const _0x57fde6=await _0x267345[_0x30b314(0x125)]();_0x57fde6&&console['error']('×\x20错误详情:',_0x57fde6),_0x344096&&logger[_0x30b314(0x10b)](_0x30b314(0xfe),_0x56c50e,{'status':_0x267345[_0x30b314(0xfd)],'appCode':_0x1bf1ce,'url':_0x267345[_0x30b314(0x124)],'errorBody':_0x57fde6,'projectPath':_0x344096});}catch(_0x128cfe){console[_0x30b314(0x10b)](_0x30b314(0x113)),_0x344096&&logger[_0x30b314(0x10b)](_0x30b314(0xfe),_0x56c50e+_0x30b314(0x105),{'status':_0x267345['status'],'appCode':_0x1bf1ce,'url':_0x267345[_0x30b314(0x124)],'readError':_0x128cfe instanceof Error?_0x128cfe[_0x30b314(0x128)]:String(_0x128cfe),'projectPath':_0x344096});}}return![];}}catch(_0x4b9d1d){const _0x254757=_0x4b9d1d instanceof Error?_0x4b9d1d['message']:String(_0x4b9d1d);return console[_0x30b314(0x10b)]('×\x20API\x20配置拉取异常:',_0x254757),_0x344096&&logger[_0x30b314(0x10b)](_0x30b314(0xfe),_0x30b314(0x108)+_0x254757,{'appCode':_0x1bf1ce,'projectPath':_0x344096}),![];}finally{_0x5bd6e2&&process[_0x30b314(0x107)](_0x5bd6e2);}}
|
package/lib/api/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x580fa6,_0x2f4b88){const _0x132427=a8_0x169e,_0x5c853f=_0x580fa6();while(!![]){try{const _0x5f0990=parseInt(_0x132427(0x9b))/0x1*(-parseInt(_0x132427(0xaa))/0x2)+-parseInt(_0x132427(0x8e))/0x3*(-parseInt(_0x132427(0x94))/0x4)+-parseInt(_0x132427(0xa9))/0x5+parseInt(_0x132427(0x92))/0x6*(parseInt(_0x132427(0xb8))/0x7)+parseInt(_0x132427(0xb2))/0x8+-parseInt(_0x132427(0x98))/0x9+-parseInt(_0x132427(0xb5))/0xa*(-parseInt(_0x132427(0x9f))/0xb);if(_0x5f0990===_0x2f4b88)break;else _0x5c853f['push'](_0x5c853f['shift']());}catch(_0x3796c7){_0x5c853f['push'](_0x5c853f['shift']());}}}(a8_0x3a30,0x8218c));function a8_0x169e(_0x1a4984,_0x481b77){const _0x3a307c=a8_0x3a30();return a8_0x169e=function(_0x169e6f,_0x1aab6c){_0x169e6f=_0x169e6f-0x8d;let _0x3eb3dd=_0x3a307c[_0x169e6f];return _0x3eb3dd;},a8_0x169e(_0x1a4984,_0x481b77);}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{generateApiFile}from'./generate-api-file.js';import{logger}from'../utils/logger.js';function a8_0x3a30(){const _0x47afc5=['510AhidsQ','获取数据集失败,HTTP状态码:\x20','\x20\x20\x20•\x20','2653yHnwHb','×\x20无法读取错误响应内容','\x20\x20\x202.\x20配置默认值:\x20lovrabet\x20config\x20set\x20app\x20<app-code>','url','app','24dbdUMk','message','api-pull','×\x20错误详情:','6756ZtpnZM','client','103236qTCdNH','-client','json','!\x20请输入文件前缀\x20\x1b[90m[留空表示无前缀]\x1b[0m:\x20','4033206LodwMq','tableData','!\x20请使用以下方式之一:','1qxqPMV','status','\x20个数据集...','\x20\x20\x201.\x20直接指定:\x20lovrabet\x20api\x20pull\x20<app-code>','366993jCBEpr','.ts\x20-\x20客户端实例文件','×\x20未提供应用AppCode,且配置中也没有默认值','\x0a*\x20正在从服务器拉取\x20API\x20配置...','-api','stdout','.ts\x20-\x20模型配置文件','/smartapi/dataset/getList?appCode=','length','exit','4206450LuMUsB','1181576HLtNHc','×\x20文件前缀格式不正确。只能包含字母、数字、连字符和下划线,且必须以字母开头。','success','error','*\x20开始生成\x20API\x20配置文件:','*\x20正在处理\x20','data','log','626792RJWSht','test','string'];a8_0x3a30=function(){return _0x47afc5;};return a8_0x3a30();}export async function initApi(_0x537efd){const _0x2b2b55=a8_0x169e,_0x34aa1f=readConfig(),_0x23cd8f=_0x537efd||_0x34aa1f?.[_0x2b2b55(0x8d)];(typeof _0x23cd8f!==_0x2b2b55(0xb4)||!_0x23cd8f)&&(_0x537efd?console['error']('×\x20提供的应用AppCode\x20\x22'+_0x537efd+'\x22\x20无效'):(console['error'](_0x2b2b55(0xa1)),console[_0x2b2b55(0xb1)](_0x2b2b55(0x9a)),console[_0x2b2b55(0xb1)](_0x2b2b55(0x9e)),console['log'](_0x2b2b55(0xba))),process['exit'](0x1));_0x537efd?console['log']('*\x20使用指定的应用AppCode:\x20'+_0x23cd8f):console[_0x2b2b55(0xb1)]('\x1b[90m*\x20使用配置的应用AppCode:\x20'+_0x23cd8f+'\x1b[0m');const _0x4a6001=createInterface({'input':process['stdin'],'output':process[_0x2b2b55(0xa4)]});let _0xaaa955;try{const _0x1e251a=await _0x4a6001['question'](_0x2b2b55(0x97));_0xaaa955=_0x1e251a['trim']();if(_0xaaa955){const _0x356a11=/^[a-zA-Z][a-zA-Z0-9_-]*$/;!_0x356a11[_0x2b2b55(0xb3)](_0xaaa955)&&(console[_0x2b2b55(0xad)](_0x2b2b55(0xab)),process[_0x2b2b55(0xa8)](0x1));}}finally{_0x4a6001['close']();}console[_0x2b2b55(0xb1)](_0x2b2b55(0xa2));const _0x58a0d2=await fetch(getApiDomain()+_0x2b2b55(0xa6)+_0x23cd8f+'&pageSize=999¤tPage=1',{'headers':{'Cookie':getCookie()}});if(_0x58a0d2['ok']){const _0x34ef16=await _0x58a0d2[_0x2b2b55(0x96)]();if(_0x34ef16[_0x2b2b55(0xac)]){const _0x3d0283=_0xaaa955?_0xaaa955+_0x2b2b55(0xa3):'api',_0x5c532a=_0xaaa955?_0xaaa955+_0x2b2b55(0x95):_0x2b2b55(0x93);console[_0x2b2b55(0xb1)](_0x2b2b55(0xae)),console[_0x2b2b55(0xb1)](_0x2b2b55(0xb7)+_0x3d0283+_0x2b2b55(0xa5)),console[_0x2b2b55(0xb1)](_0x2b2b55(0xb7)+_0x5c532a+_0x2b2b55(0xa0)),console[_0x2b2b55(0xb1)](_0x2b2b55(0xaf)+_0x34ef16['data'][_0x2b2b55(0x99)][_0x2b2b55(0xa7)]+_0x2b2b55(0x9d));const _0x2720a2=!_0x537efd;await generateApiFile(_0x34ef16[_0x2b2b55(0xb0)][_0x2b2b55(0x99)],_0xaaa955,_0x23cd8f,_0x2720a2);}}else{if(_0x58a0d2['status']===0x191){const _0x16578a='获取数据集失败,原因:登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录后再尝试';console['error']('×\x20'+_0x16578a),logger[_0x2b2b55(0xad)]('api-pull',_0x16578a,{'status':_0x58a0d2[_0x2b2b55(0x9c)],'appCode':_0x23cd8f,'url':_0x58a0d2['url']});}else{const _0x48efe2=_0x2b2b55(0xb6)+_0x58a0d2[_0x2b2b55(0x9c)];console[_0x2b2b55(0xad)]('×\x20'+_0x48efe2);try{const _0x562de0=await _0x58a0d2['text']();_0x562de0?(console[_0x2b2b55(0xad)](_0x2b2b55(0x91),_0x562de0),logger['error'](_0x2b2b55(0x90),_0x48efe2,{'status':_0x58a0d2[_0x2b2b55(0x9c)],'appCode':_0x23cd8f,'url':_0x58a0d2[_0x2b2b55(0xbb)],'errorBody':_0x562de0})):logger['error'](_0x2b2b55(0x90),_0x48efe2,{'status':_0x58a0d2['status'],'appCode':_0x23cd8f,'url':_0x58a0d2[_0x2b2b55(0xbb)]});}catch(_0x3f1aa1){console[_0x2b2b55(0xad)](_0x2b2b55(0xb9)),logger['error']('api-pull',_0x48efe2+',且无法读取错误响应内容',{'status':_0x58a0d2['status'],'appCode':_0x23cd8f,'url':_0x58a0d2['url'],'readError':_0x3f1aa1 instanceof Error?_0x3f1aa1[_0x2b2b55(0x8f)]:String(_0x3f1aa1)});}}process['exit'](0x1);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x9f89e9,_0x3784d5){const _0x3c477a=a10_0x7104,_0x36e2e1=_0x9f89e9();while(!![]){try{const _0x4d4d33=-parseInt(_0x3c477a(0x198))/0x1*(parseInt(_0x3c477a(0x194))/0x2)+parseInt(_0x3c477a(0x18e))/0x3+-parseInt(_0x3c477a(0x19d))/0x4+parseInt(_0x3c477a(0x195))/0x5+-parseInt(_0x3c477a(0x192))/0x6*(-parseInt(_0x3c477a(0x18f))/0x7)+parseInt(_0x3c477a(0x191))/0x8+parseInt(_0x3c477a(0x19c))/0x9*(-parseInt(_0x3c477a(0x196))/0xa);if(_0x4d4d33===_0x3784d5)break;else _0x36e2e1['push'](_0x36e2e1['shift']());}catch(_0x12378f){_0x36e2e1['push'](_0x36e2e1['shift']());}}}(a10_0x39aa,0x438aa));function a10_0x39aa(){const _0xd6cab0=['green','finally','2682kWrHGd','2163128cXssly','*\x20登录成功!','gray','223200koUiQC','6482exvkLX','请前往浏览器完成登录。','4002304DYsZdX','2862oMUHXJ','then','835886CEKqOo','1759465fHPWqu','4460EhVNuJ','log','1YfcpiL','dots'];a10_0x39aa=function(){return _0xd6cab0;};return a10_0x39aa();}import{jsx as a10_0x39772d,jsxs as a10_0x4cef98}from'react/jsx-runtime';import{Text,Box,useInput,useApp}from'ink';function a10_0x7104(_0x29e924,_0x6bd33){const _0x39aa6d=a10_0x39aa();return a10_0x7104=function(_0x710452,_0x417189){_0x710452=_0x710452-0x18e;let _0x29b359=_0x39aa6d[_0x710452];return _0x29b359;},a10_0x7104(_0x29e924,_0x6bd33);}import{useEffect,useState}from'react';import{getIsSessionValid}from'./is-session-valid.js';import{authServer}from'./auth-server.js';import a10_0x5a8dcc from'ink-spinner';export function AuthServer(){const _0xcef4cc=a10_0x7104,{exit:_0xad4925}=useApp(),[_0x563ac2,_0x145d76]=useState(![]),[_0x4d89df,_0x19441c]=useState(!![]),[_0x49adcd,_0x4298db]=useState(![]),[_0x56bb21,_0x5b1def]=useState(![]);useEffect(()=>{const _0x359ac6=a10_0x7104;getIsSessionValid()[_0x359ac6(0x193)](_0x145d76)[_0x359ac6(0x19b)](()=>_0x19441c(![]));},[]),useEffect(()=>{const _0x38c1c2=a10_0x7104;!_0x4d89df&&_0x563ac2&&(console[_0x38c1c2(0x197)]('√\x20当前为有效会话,无需重新登录。'),_0xad4925());},[_0x4d89df,_0x563ac2,_0xad4925]),useEffect(()=>{const _0x21a9b5=a10_0x7104;_0x56bb21&&(console[_0x21a9b5(0x197)](_0x21a9b5(0x19e)),_0xad4925());},[_0x56bb21,_0xad4925]),useInput((_0x50187f,_0x4b26f6)=>{const _0x255f91=a10_0x7104;_0x4b26f6['return']&&(_0x4298db(!![]),authServer({'silent':!![]})[_0x255f91(0x193)](_0x5f16ba=>{_0x5b1def(_0x5f16ba);})),_0x50187f==='q'&&_0xad4925();});if(_0x4d89df)return null;if(_0x563ac2||_0x56bb21)return null;return a10_0x39772d(Box,{'flexDirection':'column','marginTop':0x1,'marginBottom':0x1,'children':_0x49adcd?a10_0x4cef98(Box,{'children':[a10_0x39772d(Box,{'width':'1'}),a10_0x4cef98(Text,{'color':_0xcef4cc(0x19a),'children':[a10_0x39772d(a10_0x5a8dcc,{'type':_0xcef4cc(0x199)}),'\x20\x20']}),a10_0x39772d(Text,{'children':'正在登录...\x20'}),a10_0x39772d(Text,{'color':_0xcef4cc(0x19f),'children':_0xcef4cc(0x190)})]}):a10_0x4cef98(Box,{'children':[a10_0x39772d(Box,{'width':'1'}),a10_0x39772d(Text,{'children':'*\x20按回车开始登录。'}),a10_0x39772d(Text,{'color':'gray','children':'按\x20“q”\x20退出。'})]})});}
|
package/lib/auth/auth-server.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a11_0xb9d948=a11_0x1ede;function a11_0x1ede(_0x582336,_0x106ea1){const _0x3d5f52=a11_0x3d5f();return a11_0x1ede=function(_0x1ede3b,_0x475123){_0x1ede3b=_0x1ede3b-0x1e0;let _0x25b6a7=_0x3d5f52[_0x1ede3b];return _0x25b6a7;},a11_0x1ede(_0x582336,_0x106ea1);}(function(_0x38c527,_0x4808a2){const _0xa40cdd=a11_0x1ede,_0x238f53=_0x38c527();while(!![]){try{const _0x3fb5bf=-parseInt(_0xa40cdd(0x1ff))/0x1+-parseInt(_0xa40cdd(0x1ec))/0x2*(parseInt(_0xa40cdd(0x1e5))/0x3)+parseInt(_0xa40cdd(0x1f4))/0x4+-parseInt(_0xa40cdd(0x209))/0x5+-parseInt(_0xa40cdd(0x1e8))/0x6*(parseInt(_0xa40cdd(0x1ee))/0x7)+parseInt(_0xa40cdd(0x1f1))/0x8*(-parseInt(_0xa40cdd(0x1e0))/0x9)+-parseInt(_0xa40cdd(0x1ea))/0xa*(-parseInt(_0xa40cdd(0x1e4))/0xb);if(_0x3fb5bf===_0x4808a2)break;else _0x238f53['push'](_0x238f53['shift']());}catch(_0x273223){_0x238f53['push'](_0x238f53['shift']());}}}(a11_0x3d5f,0x83e4a));import{writeFileSync}from'node:fs';function a11_0x3d5f(){const _0x331004=['start\x20\x22\x22\x20\x22','writeHead','14754CibcYD','cookie','10GqSgfa','isAuth','239374TTiPzA','xdg-open\x20\x22','2261xBzOeA','💡\x20如果浏览器没有自动打开,请手动复制上面的登录地址到浏览器中打开','https://dev.lovrabet.com:','82552vdobad','json','createServer','563936YeqZIa','win32','✅\x20浏览器已自动打开,请在浏览器中完成登录','object','catch','port','error','darwin','Auth\x20server\x20error:','silent','log','912616IxvLvx','text/html;\x20charset=utf-8','close','/api/auth/get-session','🔗\x20请手动复制登录地址到浏览器:','⚠️\x20\x20无法自动打开浏览器','utf-8','📍\x20登录地址:','platform','then','2192390TKvOFA','558PZvBWv','session','open\x20\x22','end','36344726EvQBpE','3yiXMcS'];a11_0x3d5f=function(){return _0x331004;};return a11_0x3d5f();}import a11_0x16e55e from'node:https';import{getUserDomain}from'../constant/domain.js';import{exec}from'node:child_process';import{getIsSessionValid}from'./is-session-valid.js';import{cookieFile}from'./constant.js';export async function authServer(_0x2d4e6d){const _0x4c2ac0=a11_0x1ede,_0x53e230=_0x2d4e6d?.[_0x4c2ac0(0x1fd)]||![];if(await getIsSessionValid())return!![];const _0x3b4472=await(await fetch('https://g.yuntooai.com/cert/lovrabet-dev.json'))['json']();return new Promise(async(_0x3ee2f9,_0x4716d1)=>{const _0x179d16=_0x4c2ac0;let _0x2862ba=0x0;const _0x35cc08=a11_0x16e55e[_0x179d16(0x1f3)](_0x3b4472,async(_0x46b28c,_0x51da02)=>{const _0x2262dc=_0x179d16,_0x5a3725=getUserDomain(),_0x159838=_0x46b28c['headers'][_0x2262dc(0x1e9)]||'',_0x2558e7=await fetch(_0x5a3725+_0x2262dc(0x202),{'headers':{'cookie':_0x159838}})[_0x2262dc(0x208)](_0x54736c=>_0x54736c[_0x2262dc(0x1f2)]()),_0x452271=_0x2558e7&&_0x2558e7[_0x2262dc(0x1e1)]&&_0x2558e7['user'];if(_0x452271){writeFileSync(cookieFile,_0x159838,_0x2262dc(0x205)),_0x3ee2f9(!![]);const _0xf9cdb0='<!doctype\x20html>\x0a<html>\x0a<head><meta\x20charset=\x22utf-8\x22><title>登录成功</title></head>\x0a<body>\x0a\x20\x20<div>登录成功,请返回命令行继续操作。当前窗口将在\x20<span\x20id=\x22t\x22>5</span>\x20秒内关闭。</div>\x0a\x20\x20<div\x20id=\x22manualMsg\x22\x20style=\x22display:none;margin-top:10px;color:#d00;\x22>无法自动关闭窗口,请手动关闭此标签页或窗口。</div>\x0a\x20\x20<script>\x0a\x20\x20(function(){\x0a\x20\x20\x20\x20var\x20t\x20=\x205;\x0a\x20\x20\x20\x20var\x20el\x20=\x20document.getElementById(\x27t\x27);\x0a\x20\x20\x20\x20var\x20manual\x20=\x20document.getElementById(\x27manualMsg\x27);\x0a\x20\x20\x20\x20var\x20id\x20=\x20setInterval(function(){\x0a\x20\x20\x20\x20\x20\x20t--;\x0a\x20\x20\x20\x20\x20\x20if\x20(t\x20<=\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20clearInterval(id);\x0a\x20\x20\x20\x20\x20\x20\x20\x20el.textContent\x20=\x20\x270\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x20window.close();\x20}\x20catch(e)\x20{}\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20如果自动关闭无效,显示文本提示让用户手动关闭\x0a\x20\x20\x20\x20\x20\x20\x20\x20setTimeout(function(){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!window.closed)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20manual.style.display\x20=\x20\x27block\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x20300);\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20el.textContent\x20=\x20String(t);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20},\x201000);\x0a\x20\x20})();\x0a\x20\x20</script>\x0a</body>\x0a</html>';_0x51da02[_0x2262dc(0x1e7)](0xc8,{'Content-Type':_0x2262dc(0x200)}),_0x51da02['end'](_0xf9cdb0),_0x35cc08[_0x2262dc(0x201)]();}else{const _0x12feb7=''+encodeURIComponent(_0x2262dc(0x1f0)+_0x2862ba);_0x51da02[_0x2262dc(0x1e7)](0x12e,{'location':_0x5a3725+'/sign-in?redirect='+_0x12feb7}),_0x51da02[_0x2262dc(0x1e3)]();return;}});_0x35cc08['listen'](0x0,'127.0.0.1',()=>{const _0x13a916=_0x179d16,_0x3f47ef=_0x35cc08['address']();_0x2862ba=typeof _0x3f47ef===_0x13a916(0x1f7)&&_0x3f47ef?_0x3f47ef[_0x13a916(0x1f9)]:Number(_0x3f47ef);const _0x22c081=_0x13a916(0x1f0)+_0x2862ba;!_0x53e230&&(console[_0x13a916(0x1fe)]('🔐\x20正在启动登录服务...'),console[_0x13a916(0x1fe)](_0x13a916(0x206),_0x22c081),console[_0x13a916(0x1fe)]('🌐\x20正在尝试自动打开浏览器...'),console[_0x13a916(0x1fe)](''),console[_0x13a916(0x1fe)](_0x13a916(0x1ef)),console[_0x13a916(0x1fe)]('')),openInBrowser(_0x22c081)['then'](_0x4364ac=>{const _0x5f4d3e=_0x13a916;!_0x53e230&&(_0x4364ac?console[_0x5f4d3e(0x1fe)](_0x5f4d3e(0x1f6)):(console[_0x5f4d3e(0x1fe)]('⚠️\x20\x20无法自动打开浏览器'),console[_0x5f4d3e(0x1fe)](_0x5f4d3e(0x203),_0x22c081)),console[_0x5f4d3e(0x1fe)](''));})[_0x13a916(0x1f8)](()=>{const _0x217787=_0x13a916;!_0x53e230&&(console[_0x217787(0x1fe)](_0x217787(0x204)),console[_0x217787(0x1fe)](_0x217787(0x203),_0x22c081),console[_0x217787(0x1fe)](''));});}),_0x35cc08['on'](_0x179d16(0x1fa),_0x24e5ce=>{const _0x407d94=_0x179d16;!_0x53e230&&console[_0x407d94(0x1fa)](_0x407d94(0x1fc),_0x24e5ce),_0x4716d1(_0x24e5ce);});});}function openInBrowser(_0x56286a){return new Promise(_0xe604f9=>{const _0x33f478=a11_0x1ede,_0xd9dcef=process[_0x33f478(0x207)];let _0x195952;if(_0xd9dcef===_0x33f478(0x1f5))_0x195952=_0x33f478(0x1e6)+_0x56286a+'\x22';else _0xd9dcef===_0x33f478(0x1fb)?_0x195952=_0x33f478(0x1e2)+_0x56286a+'\x22':_0x195952=_0x33f478(0x1ed)+_0x56286a+'\x22';exec(_0x195952,_0x24f89e=>{_0x24f89e?_0xe604f9(![]):_0xe604f9(!![]);});});}if(import.meta['main']){const isAuth=await authServer();console[a11_0xb9d948(0x1fe)](a11_0xb9d948(0x1eb),isAuth);}
|
package/lib/auth/constant.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a12_0x1ae8(_0x25ea01,_0x1c16de){const _0x52349a=a12_0x5234();return a12_0x1ae8=function(_0x1ae8b4,_0x1ca69f){_0x1ae8b4=_0x1ae8b4-0x108;let _0x38497c=_0x52349a[_0x1ae8b4];return _0x38497c;},a12_0x1ae8(_0x25ea01,_0x1c16de);}const a12_0x5e47c2=a12_0x1ae8;(function(_0x687ceb,_0x521e39){const _0x5d290e=a12_0x1ae8,_0x228605=_0x687ceb();while(!![]){try{const _0x178651=parseInt(_0x5d290e(0x10b))/0x1+-parseInt(_0x5d290e(0x112))/0x2+parseInt(_0x5d290e(0x10c))/0x3*(parseInt(_0x5d290e(0x10a))/0x4)+parseInt(_0x5d290e(0x113))/0x5+-parseInt(_0x5d290e(0x10d))/0x6+-parseInt(_0x5d290e(0x108))/0x7*(-parseInt(_0x5d290e(0x109))/0x8)+parseInt(_0x5d290e(0x110))/0x9*(-parseInt(_0x5d290e(0x111))/0xa);if(_0x178651===_0x521e39)break;else _0x228605['push'](_0x228605['shift']());}catch(_0x553c97){_0x228605['push'](_0x228605['shift']());}}}(a12_0x5234,0xea550));function a12_0x5234(){const _0x1aebdc=['8bFsMII','148Exbnml','415298PppCYV','104313tFEQtA','7856358ZyVZDp','/.lovrabet','/cookie','2232kYDNPB','69820ucQqrM','337970RgjFwj','7266725tuIWvW','7101976PHbixu'];a12_0x5234=function(){return _0x1aebdc;};return a12_0x5234();}import{mkdirSync}from'node:fs';import{homedir}from'node:os';export const configDir=homedir()+a12_0x5e47c2(0x10e);export const cookieFile=configDir+a12_0x5e47c2(0x10f);mkdirSync(configDir,{'recursive':!![]});
|
package/lib/auth/get-cookie.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x3a0597,_0x22ee3d){var _0x1e8a5e=a13_0x1154,_0x2999d4=_0x3a0597();while(!![]){try{var _0x337931=parseInt(_0x1e8a5e(0x168))/0x1*(parseInt(_0x1e8a5e(0x163))/0x2)+parseInt(_0x1e8a5e(0x16b))/0x3*(parseInt(_0x1e8a5e(0x162))/0x4)+-parseInt(_0x1e8a5e(0x167))/0x5+-parseInt(_0x1e8a5e(0x166))/0x6+-parseInt(_0x1e8a5e(0x165))/0x7*(parseInt(_0x1e8a5e(0x16c))/0x8)+-parseInt(_0x1e8a5e(0x169))/0x9+-parseInt(_0x1e8a5e(0x164))/0xa*(-parseInt(_0x1e8a5e(0x16a))/0xb);if(_0x337931===_0x22ee3d)break;else _0x2999d4['push'](_0x2999d4['shift']());}catch(_0x23c9dc){_0x2999d4['push'](_0x2999d4['shift']());}}}(a13_0x14ee,0x96f4b));function a13_0x1154(_0x3ab22a,_0x4a0b97){var _0x14ee21=a13_0x14ee();return a13_0x1154=function(_0x1154fa,_0x290353){_0x1154fa=_0x1154fa-0x161;var _0x4c09a9=_0x14ee21[_0x1154fa];return _0x4c09a9;},a13_0x1154(_0x3ab22a,_0x4a0b97);}function a13_0x14ee(){var _0x5e39dd=['1189785NDtEKp','6212736RbvTwV','utf-8','4OjPmwb','57406trhXuy','393460HXYZnv','7eXqkxh','5889852NakwGM','569895IYfDwf','43fPpKzz','53172XxYUsw','242YBEnMt'];a13_0x14ee=function(){return _0x5e39dd;};return a13_0x14ee();}import{readFileSync}from'node:fs';import{cookieFile}from'./constant.js';export function getCookie(){var _0x2b43b4=a13_0x1154;try{return readFileSync(cookieFile,_0x2b43b4(0x161));}catch{}return'';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a14_0x4809(_0x188bde,_0x1e0607){const _0x19019e=a14_0x1901();return a14_0x4809=function(_0x480954,_0xf24997){_0x480954=_0x480954-0x1c9;let _0x2a522e=_0x19019e[_0x480954];return _0x2a522e;},a14_0x4809(_0x188bde,_0x1e0607);}(function(_0x9908ed,_0x5074c0){const _0x4450c8=a14_0x4809,_0x1eed40=_0x9908ed();while(!![]){try{const _0x96e04b=-parseInt(_0x4450c8(0x1ca))/0x1+-parseInt(_0x4450c8(0x1d2))/0x2+-parseInt(_0x4450c8(0x1d7))/0x3+parseInt(_0x4450c8(0x1cd))/0x4*(parseInt(_0x4450c8(0x1d0))/0x5)+parseInt(_0x4450c8(0x1c9))/0x6*(-parseInt(_0x4450c8(0x1d1))/0x7)+-parseInt(_0x4450c8(0x1ce))/0x8+parseInt(_0x4450c8(0x1d3))/0x9*(parseInt(_0x4450c8(0x1d5))/0xa);if(_0x96e04b===_0x5074c0)break;else _0x1eed40['push'](_0x1eed40['shift']());}catch(_0x206f88){_0x1eed40['push'](_0x1eed40['shift']());}}}(a14_0x1901,0x9f965));function a14_0x1901(){const _0x16bd1b=['json','3959360pkgPyW','user','2752374vIzxdA','6dHWulE','317785MVTHFo','/api/auth/get-session','session','586308rbaEMQ','6678984xzNOjJ','then','5ZMTWSH','1276919QNAqZp','2399470uIJrJp','90EGAXAW'];a14_0x1901=function(){return _0x16bd1b;};return a14_0x1901();}import{existsSync,readFileSync}from'node:fs';import{getUserDomain}from'../constant/domain.js';import{cookieFile}from'./constant.js';export async function getIsSessionValid(){const _0x220f2c=a14_0x4809;try{if(!existsSync(cookieFile))return![];const _0x2af84a=readFileSync(cookieFile,'utf-8'),_0x1e7872=await fetch(getUserDomain()+_0x220f2c(0x1cb),{'headers':{'cookie':_0x2af84a}})[_0x220f2c(0x1cf)](_0x4484fa=>_0x4484fa[_0x220f2c(0x1d4)]());return _0x1e7872&&_0x1e7872[_0x220f2c(0x1cc)]&&_0x1e7872[_0x220f2c(0x1d6)];}catch{}return![];}
|
package/lib/auth/logout.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a15_0x5ef0(_0x241fc6,_0x2ac870){var _0x717f4f=a15_0x717f();return a15_0x5ef0=function(_0x5ef0da,_0x409fc6){_0x5ef0da=_0x5ef0da-0x1c4;var _0x18871e=_0x717f4f[_0x5ef0da];return _0x18871e;},a15_0x5ef0(_0x241fc6,_0x2ac870);}(function(_0x38d521,_0x4bd381){var _0x2beba0=a15_0x5ef0,_0xa2e881=_0x38d521();while(!![]){try{var _0x3f50a6=-parseInt(_0x2beba0(0x1c7))/0x1*(parseInt(_0x2beba0(0x1c5))/0x2)+parseInt(_0x2beba0(0x1c8))/0x3*(parseInt(_0x2beba0(0x1c4))/0x4)+parseInt(_0x2beba0(0x1c6))/0x5+-parseInt(_0x2beba0(0x1ca))/0x6*(-parseInt(_0x2beba0(0x1d1))/0x7)+parseInt(_0x2beba0(0x1ce))/0x8*(parseInt(_0x2beba0(0x1cc))/0x9)+parseInt(_0x2beba0(0x1cb))/0xa*(parseInt(_0x2beba0(0x1c9))/0xb)+-parseInt(_0x2beba0(0x1d0))/0xc;if(_0x3f50a6===_0x4bd381)break;else _0xa2e881['push'](_0xa2e881['shift']());}catch(_0x368787){_0xa2e881['push'](_0xa2e881['shift']());}}}(a15_0x717f,0xdc16e));import{unlinkSync,existsSync}from'node:fs';function a15_0x717f(){var _0x4c6a95=['log','572480mUfLyB','✓\x20已退出登录','64413912lpyKnQ','1054109TAGgAw','24VrVdUS','2810208iEhFSL','6291740uriMxC','1pmWEnf','732315oINKdP','781oVsRnY','66nlNvNF','212110mrQjan','225fdinOY'];a15_0x717f=function(){return _0x4c6a95;};return a15_0x717f();}import{cookieFile}from'./constant.js';export function logout(){var _0x5cadf8=a15_0x5ef0;existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x5cadf8(0x1cd)](_0x5cadf8(0x1cf))):console[_0x5cadf8(0x1cd)]('!\x20当前未登录');}
|
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const
|
|
2
|
+
const a16_0x3dcfda=a16_0x4034;(function(_0x50edf0,_0x104f94){const _0x1054a=a16_0x4034,_0x33f48b=_0x50edf0();while(!![]){try{const _0x3d4cc2=parseInt(_0x1054a(0x1e1))/0x1*(-parseInt(_0x1054a(0x1e0))/0x2)+parseInt(_0x1054a(0x1e8))/0x3*(parseInt(_0x1054a(0x1f5))/0x4)+parseInt(_0x1054a(0x1e5))/0x5+parseInt(_0x1054a(0x1de))/0x6+parseInt(_0x1054a(0x1dc))/0x7*(parseInt(_0x1054a(0x1e4))/0x8)+parseInt(_0x1054a(0x1f4))/0x9*(-parseInt(_0x1054a(0x1ed))/0xa)+parseInt(_0x1054a(0x1ea))/0xb*(-parseInt(_0x1054a(0x1ee))/0xc);if(_0x3d4cc2===_0x104f94)break;else _0x33f48b['push'](_0x33f48b['shift']());}catch(_0x33132a){_0x33f48b['push'](_0x33f48b['shift']());}}}(a16_0x1903,0x27aea));function a16_0x1903(){const _0x275162=['2790900JmdQVY','2920yRuhFL','clear','page','setLogPath','logout','input','cwd','202993cnnNpE','auth','801588MOhBEK','start','764ZHFvpF','523TpXfOH','boolean','trim','88WzaZeD','1294270ZLXyaV','preview','watch','183PIiwDA','exit','11VwUvAR','string','flags','10UXBQbh','1002564jlZJqv','\x0a\x09Usage\x0a\x09\x20\x20$\x20lovrabet\x0a\x0a\x09Examples\x0a\x09\x20\x20$\x20lovrabet\x20auth\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20登录认证\x0a\x09\x20\x20$\x20lovrabet\x20logout\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20退出登录\x0a\x09\x20\x20$\x20lovrabet\x20create\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20创建一个项目\x0a\x09\x20\x20$\x20lovrabet\x20add\x20page\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20添加一个页面\x0a\x09\x20\x20$\x20lovrabet\x20start\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20启动项目\x0a\x09\x20\x20$\x20lovrabet\x20build\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20构建项目\x0a\x09\x20\x20$\x20lovrabet\x20preview\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20预览项目\x0a\x09\x20\x20$\x20lovrabet\x20preview\x20--watch\x20\x20\x20\x20\x20\x20//\x20监听文件变化并自动构建预览\x0a\x09\x20\x20$\x20lovrabet\x20config\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20项目配置\x0a\x09\x20\x20$\x20lovrabet\x20api\x20pull\x20[app-code]\x20\x20//\x20拉取并生成\x20API\x20配置文件\x0a\x09\x20\x20$\x20lovrabet\x20logs\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20查看日志\x0a\x09\x20\x20$\x20lovrabet\x20logs\x20--clear\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20清空日志\x0a','add','logs','all','error'];a16_0x1903=function(){return _0x275162;};return a16_0x1903();}import{jsx as a16_0x1d08fb}from'react/jsx-runtime';import a16_0x16a814 from'meow';import{render}from'ink';import{CreateApp}from'./create-app/main.js';import{AddPage}from'./add-page/main.js';import{runStart}from'./cmd/start.js';import{runBuild}from'./cmd/build.js';import{runPreview}from'./cmd/preview.js';import{runBuildWatch}from'./cmd/build-watch.js';import{Config}from'./config/main.js';import{apiCli}from'./api/main.js';import{AuthServer}from'./auth/auth-server-ui.js';import{logout}from'./auth/logout.js';import{Help}from'./help.js';function a16_0x4034(_0x1dcd58,_0x27addf){const _0x19035f=a16_0x1903();return a16_0x4034=function(_0x40345b,_0x57d36d){_0x40345b=_0x40345b-0x1da;let _0x3286c2=_0x19035f[_0x40345b];return _0x3286c2;},a16_0x4034(_0x1dcd58,_0x27addf);}import{logger}from'./utils/logger.js';import{showLogs,clearLogs}from'./cmd/logs.js';const cli=a16_0x16a814(a16_0x3dcfda(0x1ef),{'importMeta':import.meta,'flags':{'name':{'type':a16_0x3dcfda(0x1eb)},'clear':{'type':a16_0x3dcfda(0x1e2)}}});await run();async function run(){const _0x5b9966=a16_0x3dcfda,_0x306798=cli[_0x5b9966(0x1da)][0x0];switch(_0x306798){case'create':{const _0x51073d=cli['input'][0x1]?.[_0x5b9966(0x1e3)]();render(a16_0x1d08fb(CreateApp,{'projectCode':_0x51073d}));break;}case _0x5b9966(0x1f0):{cli[_0x5b9966(0x1da)][0x1]===_0x5b9966(0x1f7)&&(logger[_0x5b9966(0x1f8)](process['cwd']()),render(a16_0x1d08fb(AddPage,{})));break;}case _0x5b9966(0x1df):{try{logger['setLogPath'](process['cwd']()),await runStart();}catch(_0x3bcea0){console[_0x5b9966(0x1f3)](_0x3bcea0),process[_0x5b9966(0x1e9)](0x1);}break;}case'build':{try{logger['setLogPath'](process[_0x5b9966(0x1db)]()),await runBuild();}catch(_0x5536d8){console[_0x5b9966(0x1f3)](_0x5536d8),process[_0x5b9966(0x1e9)](0x1);}break;}case _0x5b9966(0x1e6):{const _0x169021=cli['flags'][_0x5b9966(0x1e7)];logger['setLogPath'](process[_0x5b9966(0x1db)]());if(_0x169021)try{await Promise[_0x5b9966(0x1f2)]([runBuildWatch(),runPreview()]);}catch(_0x4fb9d3){console[_0x5b9966(0x1f3)](_0x4fb9d3),process[_0x5b9966(0x1e9)](0x1);}else try{await runPreview();}catch(_0xf40b5c){console[_0x5b9966(0x1f3)](_0xf40b5c),process['exit'](0x1);}break;}case'config':{render(a16_0x1d08fb(Config,{'cli':cli}));break;}case'api':{await apiCli(cli);break;}case _0x5b9966(0x1dd):{render(a16_0x1d08fb(AuthServer,{}));break;}case _0x5b9966(0x1f9):{logout();break;}case _0x5b9966(0x1f1):{cli[_0x5b9966(0x1ec)][_0x5b9966(0x1f6)]?clearLogs():showLogs();break;}default:render(a16_0x1d08fb(Help,{}));break;}}
|
package/lib/cmd/build-watch.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x106e8c,_0x214046){const _0x2557ef=a17_0x40fc,_0x547527=_0x106e8c();while(!![]){try{const _0x219789=parseInt(_0x2557ef(0x133))/0x1*(-parseInt(_0x2557ef(0x13b))/0x2)+-parseInt(_0x2557ef(0x13c))/0x3+-parseInt(_0x2557ef(0x139))/0x4+parseInt(_0x2557ef(0x13a))/0x5*(parseInt(_0x2557ef(0x131))/0x6)+parseInt(_0x2557ef(0x12c))/0x7+parseInt(_0x2557ef(0x134))/0x8+parseInt(_0x2557ef(0x132))/0x9;if(_0x219789===_0x214046)break;else _0x547527['push'](_0x547527['shift']());}catch(_0x589efe){_0x547527['push'](_0x547527['shift']());}}}(a17_0x2a01,0x71c1b));import{spawn}from'node:child_process';function a17_0x40fc(_0x393bce,_0x1dd1db){const _0x2a0181=a17_0x2a01();return a17_0x40fc=function(_0x40fc69,_0x4677d8){_0x40fc69=_0x40fc69-0x12a;let _0x4b7bf1=_0x2a0181[_0x40fc69];return _0x4b7bf1;},a17_0x40fc(_0x393bce,_0x1dd1db);}import{delimiter,join}from'node:path';function a17_0x2a01(){const _0x581368=['error','build','cwd','766224XYnmZl','5320017ShMKaZ','4651vRmwKL','378024RVkyVH','vite','env','inherit','npm\x20run\x20build\x20exited\x20with\x20code\x20','3182692psaotg','35AdSfUi','116fqDVve','2141760idZgWQ','node_modules','.bin','--watch','4991028htNqXi','PATH'];a17_0x2a01=function(){return _0x581368;};return a17_0x2a01();}export function runBuildWatch(){return new Promise((_0x1ad034,_0x2399e2)=>{const _0x3483bb=a17_0x40fc,_0x47ed61=spawn(_0x3483bb(0x135),[_0x3483bb(0x12f),_0x3483bb(0x12b)],{'stdio':_0x3483bb(0x137),'shell':!![],'env':{...process['env'],'PATH':''+join(process[_0x3483bb(0x130)](),_0x3483bb(0x13d),_0x3483bb(0x12a))+delimiter+process[_0x3483bb(0x136)][_0x3483bb(0x12d)]}});_0x47ed61['on']('close',_0x854a0e=>{const _0x427d04=_0x3483bb;if(_0x854a0e===0x0||_0x854a0e===null)_0x1ad034();else _0x2399e2(new Error(_0x427d04(0x138)+_0x854a0e));}),_0x47ed61['on'](_0x3483bb(0x12e),_0x2399e2);});}
|