@lovrabet/cli 1.1.8 → 1.1.9
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/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/http-client.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/projects/sub-app-react-demo/package-lock.json +4 -4
- package/templates/projects/sub-app-react-demo/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a0_0x4e8c(_0xd50599,_0x566223){const _0x531f20=a0_0x531f();return a0_0x4e8c=function(_0x4e8cd0,_0x3d8f38){_0x4e8cd0=_0x4e8cd0-0xd9;let _0xdc4305=_0x531f20[_0x4e8cd0];return _0xdc4305;},a0_0x4e8c(_0xd50599,_0x566223);}function a0_0x531f(){const _0x23cad4=['delete','71821UMtUPx','length','7mKZsYW','split','页面路径\x20','gray','1725714DMauFX','my-page','10LtttIl','路径中的每个段只能以字母或数字开头,且只包含字母、数字、-\x20和\x20_','\x20Step2:\x20','4153448hHnhSU','2uJysHa','页面路径不合法','column','路径不能以\x20/\x20开头或结尾','endsWith','页面路径长度不能超过\x20100\x20个字符','980832EFltkn','existsSync','2002670KzHZAn','458128kETycN','页面路由地址:\x20','\x20直接回车确认,或输入自定义路由地址','464583RUELTX','test','\x20←\x20','路径不能包含连续的\x20/','red'];a0_0x531f=function(){return _0x23cad4;};return a0_0x531f();}(function(_0x5b1d47,_0x3c3c8){const _0x2a75ae=a0_0x4e8c,_0x495dce=_0x5b1d47();while(!![]){try{const _0xb48e59=parseInt(_0x2a75ae(0xde))/0x1*(-parseInt(_0x2a75ae(0xea))/0x2)+parseInt(_0x2a75ae(0xf6))/0x3+parseInt(_0x2a75ae(0xf3))/0x4+-parseInt(_0x2a75ae(0xf2))/0x5+parseInt(_0x2a75ae(0xf0))/0x6+-parseInt(_0x2a75ae(0xe0))/0x7*(-parseInt(_0x2a75ae(0xe9))/0x8)+-parseInt(_0x2a75ae(0xe4))/0x9*(parseInt(_0x2a75ae(0xe6))/0xa);if(_0xb48e59===_0x3c3c8)break;else _0x495dce['push'](_0x495dce['shift']());}catch(_0x26ca47){_0x495dce['push'](_0x495dce['shift']());}}}(a0_0x531f,0x464c9));import{jsx as a0_0x26ea40,jsxs as a0_0x185837}from'react/jsx-runtime';import{useState}from'react';import{Text,Box,useInput}from'ink';import a0_0x20a90e from'node:fs';export function InputProjectCode(_0x4fb1f8){const _0x2c5c55=a0_0x4e8c,{onSubmit:_0x104cb3,pagePath:_0x3a1c46}=_0x4fb1f8,[_0xa82e58,_0x41de3f]=useState(''),[_0x406031,_0x29ac9f]=useState(''),_0x164cb2=_0x2c5c55(0xe5);function _0x47fbbf(_0x772e10){const _0x2b96b1=_0x2c5c55;if(_0x772e10[_0x2b96b1(0xdf)]>0x64)return{'valid':![],'message':_0x2b96b1(0xef)};if(_0x772e10['startsWith']('/')||_0x772e10[_0x2b96b1(0xee)]('/'))return{'valid':![],'message':_0x2b96b1(0xed)};if(_0x772e10['includes']('//'))return{'valid':![],'message':_0x2b96b1(0xdb)};const _0x16c930=_0x772e10[_0x2b96b1(0xe1)]('/');for(const _0x1955f0 of _0x16c930){if(!_0x1955f0)continue;const _0x57660d=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(!_0x57660d[_0x2b96b1(0xd9)](_0x1955f0))return{'valid':![],'message':_0x2b96b1(0xe7)};}return{'valid':!![]};}return useInput((_0x57ac71,_0x28f544)=>{const _0x569e17=_0x2c5c55;if(_0x28f544['return']){const _0x4b3a2e=_0xa82e58['trim']()||_0x164cb2;if(_0x406031)return;const _0x454678=_0x3a1c46+'/'+_0x4b3a2e;if(a0_0x20a90e[_0x569e17(0xf1)](_0x454678)){_0x29ac9f(_0x569e17(0xe2)+_0x4b3a2e+'\x20已存在,请使用其他路径');return;}_0x104cb3(_0x4b3a2e),_0x41de3f(''),_0x29ac9f('');}else _0x28f544['backspace']||_0x28f544[_0x569e17(0xdd)]?_0x41de3f(_0x3b9c2e=>{const _0x7f00ab=_0x569e17,_0x20bd01=_0x3b9c2e['slice'](0x0,-0x1),{valid:_0x5b4cd3,message:_0x1cfbce}=_0x47fbbf(_0x20bd01);return _0x29ac9f(_0x5b4cd3?'':_0x1cfbce||_0x7f00ab(0xeb)),_0x20bd01;}):_0x41de3f(_0x55d665=>{const _0x267fdc=_0x569e17,_0x5354b5=_0x55d665+_0x57ac71,{valid:_0x37c6b1,message:_0x1444ad}=_0x47fbbf(_0x5354b5);return _0x29ac9f(_0x37c6b1?'':_0x1444ad||_0x267fdc(0xeb)),_0x5354b5;});}),a0_0x185837(Box,{'flexDirection':_0x2c5c55(0xec),'children':[a0_0x185837(Box,{'children':[a0_0x26ea40(Text,{'color':_0x2c5c55(0xe3),'children':_0x2c5c55(0xe8)}),a0_0x26ea40(Text,{'children':_0x2c5c55(0xf4)}),_0xa82e58?a0_0x26ea40(Text,{'color':'green','children':_0xa82e58}):a0_0x26ea40(Text,{'color':_0x2c5c55(0xe3),'children':_0x164cb2}),_0x406031&&a0_0x185837(Text,{'color':_0x2c5c55(0xdc),'children':[_0x2c5c55(0xda),_0x406031]})]}),!_0x406031&&!_0xa82e58&&a0_0x26ea40(Box,{'children':a0_0x26ea40(Text,{'color':_0x2c5c55(0xe3),'children':_0x2c5c55(0xf5)})})]});}
|
package/lib/add-page/main.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a1_0x14a6c6=a1_0xcff5;(function(_0x3413a8,_0xc853c2){const _0x41f596=a1_0xcff5,_0x6d6e67=_0x3413a8();while(!![]){try{const _0x9b55e1=parseInt(_0x41f596(0x1bb))/0x1*(parseInt(_0x41f596(0x1af))/0x2)+-parseInt(_0x41f596(0x1b5))/0x3*(-parseInt(_0x41f596(0x1b9))/0x4)+-parseInt(_0x41f596(0x1a3))/0x5+-parseInt(_0x41f596(0x1b7))/0x6*(-parseInt(_0x41f596(0x1b2))/0x7)+parseInt(_0x41f596(0x1bf))/0x8*(parseInt(_0x41f596(0x1bd))/0x9)+-parseInt(_0x41f596(0x1a7))/0xa+-parseInt(_0x41f596(0x1b6))/0xb;if(_0x9b55e1===_0xc853c2)break;else _0x6d6e67['push'](_0x6d6e67['shift']());}catch(_0x5c6722){_0x6d6e67['push'](_0x6d6e67['shift']());}}}(a1_0x3e9c,0xed852));import{jsx as a1_0x5e70c2,jsxs as a1_0x347187,Fragment as a1_0x47a434}from'react/jsx-runtime';import{fileURLToPath}from'node:url';import a1_0x4897bf from'node:path';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_0xcff5(_0x48e8c9,_0x3bc752){const _0x3e9c22=a1_0x3e9c();return a1_0xcff5=function(_0xcff527,_0x1108e6){_0xcff527=_0xcff527-0x1a2;let _0x22aeed=_0x3e9c22[_0xcff527];return _0x22aeed;},a1_0xcff5(_0x48e8c9,_0x3bc752);}import{TemplateReplacer}from'../utils/template-replacer.js';const __dirname=a1_0x4897bf['dirname'](fileURLToPath(import.meta[a1_0x14a6c6(0x1a5)])),pageTemplateDir=a1_0x4897bf[a1_0x14a6c6(0x1b1)](__dirname,a1_0x14a6c6(0x1b8)),projectDir=process[a1_0x14a6c6(0x1be)]();function a1_0x3e9c(){const _0x84ed40=['error','6094170CGmMKp','\x20Step2:\x20','url','src','2519410nLhxbo','\x20*\x20路由地址:\x20','正在创建页面,请稍候…','页面添加成功:\x20','catch','\x20*\x20页面文件已创建,可直接通过路由访问','success','then','2GZtkgm','gray','resolve','2359XaexBi','join','now','6izbamg','16716172VGoiWj','7926PiAaPx','../../templates/pages','510604tryuXb','column','1639679shjaqR','info','14608359oIjbXR','cwd','8nZIqdY','green','\x20*\x20页面创建成功!','processTemplate','开始添加页面:\x20','setLogPath','add-page','pages'];a1_0x3e9c=function(){return _0x84ed40;};return a1_0x3e9c();}export const AddPage=()=>{const _0x1ba9a4=a1_0x14a6c6,{exit:_0x476ff6}=useApp(),[_0x39de59,_0x4b20a5]=useState(''),[_0x5a33ae,_0x47bfad]=useState(''),[_0x3a869e,_0x1ae624]=useState(![]),[_0x353286,_0x20808c]=useState(![]),_0x111c01=a1_0x4897bf[_0x1ba9a4(0x1b3)](projectDir,_0x1ba9a4(0x1a6),_0x1ba9a4(0x1c6)),_0x1dee9c=a1_0x4897bf[_0x1ba9a4(0x1b3)](_0x111c01,_0x5a33ae),_0x174a1f=a1_0x4897bf[_0x1ba9a4(0x1b3)](_0x1ba9a4(0x1a6),'pages',_0x5a33ae);useEffect(()=>{const _0x14d266=_0x1ba9a4,_0x5e9bef=a1_0x4897bf['resolve'](pageTemplateDir,_0x39de59);if(_0x39de59&&_0x5a33ae){_0x1ae624(!![]),logger[_0x14d266(0x1c4)](process[_0x14d266(0x1be)]());const _0x1cfc40=Date['now']();logger[_0x14d266(0x1bc)](_0x14d266(0x1c5),_0x14d266(0x1c3)+_0x5a33ae,{'template':_0x39de59,'targetPath':_0x174a1f}),TemplateReplacer[_0x14d266(0x1c2)](_0x5e9bef,a1_0x4897bf[_0x14d266(0x1b3)](_0x111c01,_0x5a33ae),_0x5a33ae,_0x39de59)[_0x14d266(0x1ae)](()=>{const _0x521bc6=_0x14d266,_0x5e43d3=Date[_0x521bc6(0x1b4)]()-_0x1cfc40;logger[_0x521bc6(0x1ad)]('add-page',_0x521bc6(0x1aa)+_0x5a33ae,_0x5e43d3,{'template':_0x39de59,'targetPath':_0x174a1f,'routePath':_0x5a33ae}),_0x20808c(!![]);})[_0x14d266(0x1ab)](_0x11cc2f=>{const _0x311084=_0x14d266,_0x121c9d=Date[_0x311084(0x1b4)]()-_0x1cfc40;logger[_0x311084(0x1a2)](_0x311084(0x1c5),'页面添加失败:\x20'+_0x5a33ae,{'template':_0x39de59,'targetPath':_0x174a1f,'error':_0x11cc2f instanceof Error?_0x11cc2f['message']:String(_0x11cc2f),'duration':_0x121c9d});})['finally'](()=>{_0x1ae624(![]);});}},[_0x39de59,_0x5a33ae]),useEffect(()=>{_0x353286&&setTimeout(()=>{_0x476ff6();});},[_0x353286]);if(_0x39de59)return a1_0x347187(Box,{'flexDirection':_0x1ba9a4(0x1ba),'paddingY':0x1,'children':[a1_0x347187(Box,{'children':[a1_0x5e70c2(Text,{'color':_0x1ba9a4(0x1b0),'children':'\x20Step1:\x20'}),a1_0x5e70c2(Text,{'children':'已选择页面模板\x20'}),a1_0x5e70c2(Text,{'color':_0x1ba9a4(0x1c0),'children':_0x39de59})]}),_0x5a33ae?a1_0x347187(Box,{'children':[a1_0x5e70c2(Text,{'color':_0x1ba9a4(0x1b0),'children':_0x1ba9a4(0x1a4)}),a1_0x5e70c2(Text,{'children':'已输入的页面路由\x20'}),a1_0x5e70c2(Text,{'color':_0x1ba9a4(0x1c0),'children':_0x5a33ae})]}):a1_0x5e70c2(InputProjectCode,{'pagePath':_0x1dee9c,'onSubmit':_0x47bfad}),_0x5a33ae&&_0x3a869e?a1_0x347187(Box,{'marginTop':0x1,'children':[a1_0x5e70c2(Box,{'width':'4'}),a1_0x5e70c2(Text,{'children':_0x1ba9a4(0x1a9)})]}):null,_0x353286?a1_0x347187(a1_0x47a434,{'children':[a1_0x5e70c2(Box,{'marginTop':0x1,'children':a1_0x5e70c2(Text,{'color':_0x1ba9a4(0x1b0),'children':_0x1ba9a4(0x1c1)})}),a1_0x347187(Box,{'children':[a1_0x5e70c2(Text,{'color':'gray','children':'\x20*\x20页面路径:\x20'}),a1_0x5e70c2(Text,{'color':_0x1ba9a4(0x1c0),'children':_0x174a1f})]}),a1_0x347187(Box,{'children':[a1_0x5e70c2(Text,{'color':_0x1ba9a4(0x1b0),'children':_0x1ba9a4(0x1a8)}),a1_0x347187(Text,{'color':_0x1ba9a4(0x1c0),'children':['/',_0x5a33ae]})]}),a1_0x5e70c2(Box,{'marginTop':0x1,'children':a1_0x5e70c2(Text,{'color':'cyan','children':_0x1ba9a4(0x1ac)})})]}):null]});return a1_0x5e70c2(SelectPageTemplate,{'onSelect':_0x4b20a5});};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a2_0x5a18(_0x44248e,_0x6c2d05){const _0x40a0a5=a2_0x40a0();return a2_0x5a18=function(_0x5a1830,_0x2d4511){_0x5a1830=_0x5a1830-0x17a;let _0x3793a5=_0x40a0a5[_0x5a1830];return _0x3793a5;},a2_0x5a18(_0x44248e,_0x6c2d05);}(function(_0x1816aa,_0x3b16b0){const _0x1b5bc6=a2_0x5a18,_0x2c049c=_0x1816aa();while(!![]){try{const _0x438bad=parseInt(_0x1b5bc6(0x187))/0x1*(parseInt(_0x1b5bc6(0x19c))/0x2)+-parseInt(_0x1b5bc6(0x191))/0x3+parseInt(_0x1b5bc6(0x186))/0x4*(-parseInt(_0x1b5bc6(0x18c))/0x5)+parseInt(_0x1b5bc6(0x17f))/0x6+parseInt(_0x1b5bc6(0x194))/0x7*(parseInt(_0x1b5bc6(0x197))/0x8)+-parseInt(_0x1b5bc6(0x192))/0x9+parseInt(_0x1b5bc6(0x193))/0xa;if(_0x438bad===_0x3b16b0)break;else _0x2c049c['push'](_0x2c049c['shift']());}catch(_0x58ca8b){_0x2c049c['push'](_0x2c049c['shift']());}}}(a2_0x40a0,0x3fc65));import{jsx as a2_0x280047,jsxs as a2_0x2bc691}from'react/jsx-runtime';import{useState,useEffect}from'react';import{Text,Box,useInput}from'ink';import{readdir}from'node:fs/promises';import a2_0x306911 from'node:path';import{fileURLToPath}from'node:url';function a2_0x40a0(){const _0x100526=['label','gray','length','585882kekacg','2212605klsJTQ','3905800QloZnM','410893mxKrqJ','resolve','正在加载页面模板...','56gggMOE','isDirectory','url','sdk-fetch','获取模板列表失败:','99406ciYznk','../..','filter','column','templates/pages','sort','1834500tPtWHx','map','dirname','name','请选择您要创建的页面模板','onSelect','green','2017076ipEmDE','2wWTqkD','\x20\x20\x20\x20\x20\x20>\x20','\x20Step1:\x20','downArrow','return','5fTxnMM','blank'];a2_0x40a0=function(){return _0x100526;};return a2_0x40a0();}async function getTemplateList(){const _0x204bb2=a2_0x5a18;try{const _0x294a31=fileURLToPath(import.meta[_0x204bb2(0x199)]),_0x4ba8ac=a2_0x306911[_0x204bb2(0x195)](a2_0x306911[_0x204bb2(0x181)](_0x294a31),_0x204bb2(0x17a)),_0x2a7354=a2_0x306911['join'](_0x4ba8ac,_0x204bb2(0x17d)),_0x2ec324=await readdir(_0x2a7354,{'withFileTypes':!![]}),_0x4d4feb=_0x2ec324[_0x204bb2(0x17b)](_0x1bea8d=>_0x1bea8d[_0x204bb2(0x198)]())[_0x204bb2(0x180)](_0x2083ef=>({'label':_0x2083ef[_0x204bb2(0x182)]}))[_0x204bb2(0x17e)]((_0x16a754,_0x4d3c52)=>_0x16a754[_0x204bb2(0x18e)]['localeCompare'](_0x4d3c52[_0x204bb2(0x18e)]));return _0x4d4feb;}catch(_0x17e73a){return console['error'](_0x204bb2(0x19b),_0x17e73a),[{'label':_0x204bb2(0x18d)},{'label':_0x204bb2(0x19a)}];}}export function SelectPageTemplate(_0x34fcd3){const _0x4130d4=a2_0x5a18,[_0x457a76,_0x487cc5]=useState(0x0),[_0x54b3a3,_0x435237]=useState([]),[_0x597e4b,_0x3579fc]=useState(!![]);useEffect(()=>{async function _0x5cb910(){const _0xccf7d2=await getTemplateList();_0x435237(_0xccf7d2),_0x3579fc(![]);}_0x5cb910();},[]),useInput((_0x2dd2f9,_0x1ffa6d)=>{const _0x150057=a2_0x5a18;if(_0x597e4b)return;if(_0x1ffa6d[_0x150057(0x18b)]){const _0x9b32c6=_0x54b3a3[_0x457a76];_0x9b32c6&&_0x34fcd3[_0x150057(0x184)](_0x9b32c6['label']);}_0x1ffa6d['upArrow']&&_0x487cc5(_0x4be6ac=>_0x4be6ac===0x0?_0x54b3a3[_0x150057(0x190)]-0x1:_0x4be6ac-0x1),_0x1ffa6d[_0x150057(0x18a)]&&_0x487cc5(_0x40b07e=>_0x40b07e===_0x54b3a3['length']-0x1?0x0:_0x40b07e+0x1);});if(_0x597e4b)return a2_0x280047(Box,{'flexDirection':_0x4130d4(0x17c),'paddingY':0x1,'children':a2_0x2bc691(Box,{'children':[a2_0x280047(Text,{'color':_0x4130d4(0x18f),'children':_0x4130d4(0x189)}),a2_0x280047(Text,{'children':_0x4130d4(0x196)})]})});return a2_0x2bc691(Box,{'flexDirection':_0x4130d4(0x17c),'paddingY':0x1,'children':[a2_0x2bc691(Box,{'children':[a2_0x280047(Text,{'color':_0x4130d4(0x18f),'children':_0x4130d4(0x189)}),a2_0x280047(Text,{'children':_0x4130d4(0x183)})]}),_0x54b3a3[_0x4130d4(0x180)]((_0xc3df1a,_0x42c643)=>{const _0x3e09ee=_0x4130d4,_0x1cf9af=_0x42c643===_0x457a76,_0x2738a3=_0x1cf9af?_0x3e09ee(0x188)+_0xc3df1a['label']:'\x20\x20\x20\x20\x20\x20\x20\x20'+_0xc3df1a[_0x3e09ee(0x18e)];return a2_0x280047(Box,{'children':a2_0x280047(Text,{'color':_0x1cf9af?_0x3e09ee(0x185):undefined,'children':_0x2738a3})},_0x2738a3);})]});}
|
package/lib/api/api-pull-ui.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3de300,_0x5b7d20){const _0x1f06af=a3_0xf095,_0x6a04e5=_0x3de300();while(!![]){try{const _0x258521=parseInt(_0x1f06af(0x14d))/0x1+parseInt(_0x1f06af(0x169))/0x2+parseInt(_0x1f06af(0x177))/0x3+-parseInt(_0x1f06af(0x15f))/0x4*(-parseInt(_0x1f06af(0x14b))/0x5)+-parseInt(_0x1f06af(0x147))/0x6*(parseInt(_0x1f06af(0x168))/0x7)+parseInt(_0x1f06af(0x164))/0x8+-parseInt(_0x1f06af(0x157))/0x9*(parseInt(_0x1f06af(0x15d))/0xa);if(_0x258521===_0x5b7d20)break;else _0x6a04e5['push'](_0x6a04e5['shift']());}catch(_0x31fb58){_0x6a04e5['push'](_0x6a04e5['shift']());}}}(a3_0x4302,0xf0968));import{jsx as a3_0x239839,jsxs as a3_0x2c8b61}from'react/jsx-runtime';import{useEffect,useState}from'react';function a3_0x4302(){const _0x560483=['29784663uMMxqu','api-pull','success','green','拉取\x20API\x20配置失败:\x20','cyan','10OFgXzA','使用指定的应用AppCode:\x20','1535188YwGowy','status',',且无法读取错误响应内容','string','replace','1057160IdmdWQ','slice','.ts','message','5572021SaZAAK','3761592Drwszk','💡\x20请使用\x20','data','white','split','env','\x20-\x20客户端实例文件','tableData','未提供应用AppCode,且配置中也没有默认值','url','dim','api','yellow','🚀\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20','3133935uptdzw','-client','setLogPath','\x20和\x20','\x20-\x20模型配置文件','-api','includes','import\x20','12sJeDOE','red','\x20重新登录后再试','client','25hkywhz','√\x20API\x20文件生成成功!','910290szWblG','&pageSize=999¤tPage=1','gray','error','lovrabet\x20auth','online','获取数据集失败,HTTP状态码:\x20','/smartapi/dataset/getList?appCode=','app','column'];a3_0x4302=function(){return _0x560483;};return a3_0x4302();}import{Box,Text,useApp}from'ink';import{readConfig}from'../utils/config.js';import{getCookie}from'../auth/get-cookie.js';import{getApiDomain}from'../constant/domain.js';import{initEnv}from'../constant/env.js';function a3_0xf095(_0x59a2a4,_0x3a331f){const _0x430237=a3_0x4302();return a3_0xf095=function(_0xf09505,_0x4402ab){_0xf09505=_0xf09505-0x147;let _0x262626=_0x430237[_0xf09505];return _0x262626;},a3_0xf095(_0x59a2a4,_0x3a331f);}import{generateApiFile}from'./generate-api-file.js';import{logger}from'../utils/logger.js';export const ApiPullUI=({appCode:_0x4c33c6,env:_0x2e9dcb,output:_0x5f03f1})=>{const _0x31547c=a3_0xf095,{exit:_0x22e97c}=useApp(),[_0xdcf659,_0x52c032]=useState(![]),[_0x51fa5d,_0x495b07]=useState(![]),[_0xe13024,_0x22819b]=useState(null),[_0x26bcca,_0x32a584]=useState(null),_0x22e576=readConfig(),_0x458797=_0x4c33c6||_0x22e576?.[_0x31547c(0x155)],_0x48aa9b=typeof _0x22e576?.[_0x31547c(0x16e)]===_0x31547c(0x162)?_0x22e576[_0x31547c(0x16e)]:undefined,_0x755727=_0x2e9dcb||_0x48aa9b||_0x31547c(0x152);initEnv(_0x755727);const _0x411917=_0x5f03f1||'./src/api/',_0x3c10e5=_0x4c33c6&&_0x4c33c6[_0x31547c(0x17d)]('-')?_0x4c33c6[_0x31547c(0x16d)]('-')[_0x31547c(0x165)](0x1)['join']('-'):'',_0x3dc67f=_0x4c33c6?_0x31547c(0x15e)+_0x458797:'使用配置的应用AppCode:\x20'+_0x458797,_0x14484=_0x3c10e5?_0x3c10e5+_0x31547c(0x17c):_0x31547c(0x174),_0x4b3550=_0x3c10e5?_0x3c10e5+_0x31547c(0x178):'client';useEffect(()=>{_0x52c032(!![]),_0x2af923();},[]),useEffect(()=>{(_0x51fa5d||_0xe13024)&&_0x22e97c();},[_0x51fa5d,_0xe13024,_0x22e97c]);async function _0x2af923(){const _0x2e71d1=_0x31547c;if(!_0x458797){_0x22819b(_0x2e71d1(0x171));return;}try{logger[_0x2e71d1(0x179)](process['cwd']());const _0x25258f=await fetch(getApiDomain()+_0x2e71d1(0x154)+_0x458797+_0x2e71d1(0x14e),{'headers':{'Cookie':getCookie()}});if(_0x25258f['ok']){const _0x473a56=await _0x25258f['json']();if(_0x473a56[_0x2e71d1(0x159)]){const _0x2d1c6c=!_0x4c33c6;await generateApiFile(_0x473a56[_0x2e71d1(0x16b)][_0x2e71d1(0x170)],_0x3c10e5,_0x458797,_0x2d1c6c,_0x755727,_0x411917);const _0x3e9c33=_0x411917['endsWith']('/')?_0x411917:_0x411917+'/';_0x32a584({'api':''+_0x3e9c33+_0x14484+'.ts','client':''+_0x3e9c33+_0x4b3550+_0x2e71d1(0x166)}),_0x495b07(!![]);}}else{if(_0x25258f[_0x2e71d1(0x160)]===0x191){const _0x424b9b='登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录';logger[_0x2e71d1(0x150)](_0x2e71d1(0x158),_0x424b9b,{'status':_0x25258f[_0x2e71d1(0x160)],'appCode':_0x458797,'url':_0x25258f[_0x2e71d1(0x172)]}),_0x22819b(_0x424b9b);}else{const _0x2e1e1=_0x2e71d1(0x153)+_0x25258f[_0x2e71d1(0x160)];try{const _0x57c04f=await _0x25258f['text']();_0x57c04f?logger[_0x2e71d1(0x150)](_0x2e71d1(0x158),_0x2e1e1,{'status':_0x25258f['status'],'appCode':_0x458797,'url':_0x25258f[_0x2e71d1(0x172)],'errorBody':_0x57c04f}):logger[_0x2e71d1(0x150)](_0x2e71d1(0x158),_0x2e1e1,{'status':_0x25258f[_0x2e71d1(0x160)],'appCode':_0x458797,'url':_0x25258f[_0x2e71d1(0x172)]});}catch(_0x35b19f){logger[_0x2e71d1(0x150)](_0x2e71d1(0x158),_0x2e1e1+_0x2e71d1(0x161),{'status':_0x25258f[_0x2e71d1(0x160)],'appCode':_0x458797,'url':_0x25258f[_0x2e71d1(0x172)],'readError':_0x35b19f instanceof Error?_0x35b19f[_0x2e71d1(0x167)]:String(_0x35b19f)});}_0x22819b(_0x2e1e1);}}}catch(_0x37fac8){const _0x1ceb65=_0x37fac8 instanceof Error?_0x37fac8[_0x2e71d1(0x167)]:String(_0x37fac8);_0x22819b(_0x2e71d1(0x15b)+_0x1ceb65);}finally{_0x52c032(![]);}}return a3_0x2c8b61(Box,{'flexDirection':_0x31547c(0x156),'children':[a3_0x2c8b61(Box,{'children':[a3_0x239839(Text,{'color':_0x31547c(0x14f),'children':'*\x20'}),a3_0x239839(Text,{'color':_0x4c33c6?_0x31547c(0x16c):_0x31547c(0x173),'children':_0x3dc67f})]}),a3_0x2c8b61(Box,{'children':[a3_0x239839(Text,{'color':_0x31547c(0x14f),'children':'*\x20将生成文件:\x20'}),a3_0x2c8b61(Text,{'color':'cyan','children':[_0x14484,_0x31547c(0x166)]}),a3_0x239839(Text,{'color':'dim','children':_0x31547c(0x17a)}),a3_0x2c8b61(Text,{'color':_0x31547c(0x15c),'children':[_0x4b3550,_0x31547c(0x166)]})]}),_0xdcf659&&a3_0x239839(Box,{'children':a3_0x2c8b61(Text,{'children':[_0x31547c(0x176),_0x755727,')']})}),_0x51fa5d&&_0x26bcca&&a3_0x2c8b61(Box,{'flexDirection':'column','children':[a3_0x239839(Box,{'children':a3_0x239839(Text,{'color':_0x31547c(0x15a),'children':_0x31547c(0x14c)})}),a3_0x239839(Box,{'marginTop':0x1,'children':a3_0x239839(Text,{'color':'gray','children':'*\x20已生成文件:'})}),a3_0x2c8b61(Box,{'marginLeft':0x2,'children':[a3_0x2c8b61(Text,{'color':_0x31547c(0x15c),'children':['•\x20',_0x26bcca['api']]}),a3_0x239839(Text,{'color':_0x31547c(0x173),'children':_0x31547c(0x17b)})]}),a3_0x2c8b61(Box,{'marginLeft':0x2,'children':[a3_0x2c8b61(Text,{'color':_0x31547c(0x15c),'children':['•\x20',_0x26bcca[_0x31547c(0x14a)]]}),a3_0x239839(Text,{'color':_0x31547c(0x173),'children':_0x31547c(0x16f)})]}),a3_0x239839(Box,{'marginTop':0x1,'children':a3_0x239839(Text,{'color':_0x31547c(0x14f),'children':'*\x20导入方式:'})}),a3_0x239839(Box,{'marginLeft':0x2,'children':a3_0x2c8b61(Text,{'color':_0x31547c(0x175),'children':[_0x31547c(0x17e),'{\x20lovrabetClient\x20}','\x20from\x20\x27@/',_0x26bcca[_0x31547c(0x14a)][_0x31547c(0x163)](/^\.\//,'')[_0x31547c(0x163)](/^src\//,'')['replace'](_0x31547c(0x166),''),'\x27']})})]}),_0xe13024&&a3_0x2c8b61(Box,{'flexDirection':_0x31547c(0x156),'children':[a3_0x239839(Box,{'children':a3_0x2c8b61(Text,{'color':_0x31547c(0x148),'children':['❌\x20',_0xe13024]})}),_0xe13024['includes']('登录')&&a3_0x2c8b61(Box,{'marginTop':0x1,'children':[a3_0x239839(Text,{'color':_0x31547c(0x175),'children':_0x31547c(0x16a)}),a3_0x239839(Text,{'color':_0x31547c(0x15c),'children':_0x31547c(0x151)}),a3_0x239839(Text,{'color':_0x31547c(0x175),'children':_0x31547c(0x149)})]})]})]});};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4f8d33,_0x3e20c4){const _0x15b885=a4_0x3651,_0x2d3c76=_0x4f8d33();while(!![]){try{const _0x343edb=-parseInt(_0x15b885(0x1b8))/0x1+-parseInt(_0x15b885(0x1a8))/0x2*(-parseInt(_0x15b885(0x1b9))/0x3)+parseInt(_0x15b885(0x1b1))/0x4*(-parseInt(_0x15b885(0x1b5))/0x5)+parseInt(_0x15b885(0x1ae))/0x6+parseInt(_0x15b885(0x1c2))/0x7*(-parseInt(_0x15b885(0x1ac))/0x8)+parseInt(_0x15b885(0x1a9))/0x9+parseInt(_0x15b885(0x1b6))/0xa;if(_0x343edb===_0x3e20c4)break;else _0x2d3c76['push'](_0x2d3c76['shift']());}catch(_0xb69836){_0x2d3c76['push'](_0x2d3c76['shift']());}}}(a4_0x54cd,0xa8985));function a4_0x3651(_0x2a6a2b,_0x47cd1d){const _0x54cdf9=a4_0x54cd();return a4_0x3651=function(_0x36511b,_0x33fcae){_0x36511b=_0x36511b-0x1a6;let _0x5231f6=_0x54cdf9[_0x36511b];return _0x5231f6;},a4_0x3651(_0x2a6a2b,_0x47cd1d);}export function formatDataset(_0xdc08e7){const _0x198e0c=a4_0x3651,_0x383404=_0xdc08e7[_0x198e0c(0x1ad)](_0x2d12a5=>_0x2d12a5[_0x198e0c(0x1bc)]),_0x155f69=_0xdc08e7[_0x198e0c(0x1ad)](_0x440c7c=>!_0x440c7c['dbtableConfig']),_0x92fbd1=new Map();_0x383404[_0x198e0c(0x1b7)](_0x44879e=>{const _0x378b92=_0x198e0c,_0x1c019c=_0x44879e[_0x378b92(0x1bc)][_0x378b92(0x1c1)],_0x36fb8c=_0x92fbd1[_0x378b92(0x1b2)](_0x1c019c);(!_0x36fb8c||_0x44879e['id']>_0x36fb8c['id'])&&_0x92fbd1[_0x378b92(0x1bd)](_0x1c019c,_0x44879e);});const _0x3b225d=Array['from'](_0x92fbd1[_0x198e0c(0x1a6)]())[_0x198e0c(0x1b0)](_0x236564=>{const _0x5e35de=_0x198e0c,_0x2091d3=snakeToCamel(_0x236564[_0x5e35de(0x1bc)][_0x5e35de(0x1c1)]);return{'id':_0x236564['id'],'name':_0x236564[_0x5e35de(0x1aa)],'code':_0x236564[_0x5e35de(0x1af)],'tableName':_0x236564['dbtableConfig'][_0x5e35de(0x1c1)],'apiFucName':_0x2091d3?_0x2091d3+_0x5e35de(0x1bf):'dataset'+_0x236564[_0x5e35de(0x1af)]+_0x5e35de(0x1bf),'pkField':_0x236564[_0x5e35de(0x1bc)][_0x5e35de(0x1b4)],'allFields':_0x236564['dbtableConfig'][_0x5e35de(0x1b3)][_0x5e35de(0x1a7)](',')};}),_0x192f62=_0x155f69['map'](_0x242778=>{const _0x67e39c=_0x198e0c,_0x5bbcd5=_0x67e39c(0x1ba)+_0x242778[_0x67e39c(0x1af)],_0x2efd2e=snakeToCamel(_0x5bbcd5);return{'id':_0x242778['id'],'name':_0x242778[_0x67e39c(0x1aa)],'code':_0x242778[_0x67e39c(0x1af)],'tableName':_0x5bbcd5,'apiFucName':_0x2efd2e?_0x2efd2e+_0x67e39c(0x1bf):_0x67e39c(0x1bb)+_0x242778['code']+_0x67e39c(0x1bf),'pkField':undefined,'allFields':[]};});return[..._0x3b225d,..._0x192f62];}function a4_0x54cd(){const _0x232221=['toUpperCase','tableName','648683MFDREC','values','split','4kpokRv','2225484NRPkry','name','trim','24ZXNKKx','filter','549426UoKhnn','code','map','2620172dpnCWN','get','allFields','pkField','5DUdiCF','18812460TRZVBm','forEach','851224VYMhwb','382119sTQOvF','dataset_','dataset','dbtableConfig','set','replace','Api'];a4_0x54cd=function(){return _0x232221;};return a4_0x54cd();}function snakeToCamel(_0x3ce49f){const _0xc7fa22=a4_0x3651;if(!_0x3ce49f)return _0x3ce49f;const _0x574fd5=_0x3ce49f[_0xc7fa22(0x1ab)]();return _0x574fd5[_0xc7fa22(0x1be)](/_([a-zA-Z0-9])/g,(_0x4fa6cd,_0x1b96cf)=>_0x1b96cf[_0xc7fa22(0x1c0)]());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a5_0x1e34e2=a5_0x41f5;(function(_0x1438d0,_0x3aef82){const _0x2d8239=a5_0x41f5,_0x25a755=_0x1438d0();while(!![]){try{const _0x3d3712=parseInt(_0x2d8239(0x15b))/0x1+parseInt(_0x2d8239(0x15c))/0x2+-parseInt(_0x2d8239(0x14b))/0x3+-parseInt(_0x2d8239(0x141))/0x4*(-parseInt(_0x2d8239(0x140))/0x5)+parseInt(_0x2d8239(0x164))/0x6*(-parseInt(_0x2d8239(0x168))/0x7)+-parseInt(_0x2d8239(0x165))/0x8+-parseInt(_0x2d8239(0x166))/0x9;if(_0x3d3712===_0x3aef82)break;else _0x25a755['push'](_0x25a755['shift']());}catch(_0x1a466b){_0x25a755['push'](_0x25a755['shift']());}}}(a5_0x19d6,0xf3fdd));import a5_0x163c1e from'prettier';import{mkdirSync,writeFileSync,readFileSync}from'node:fs';import a5_0x4e0317 from'node:path';import{fileURLToPath}from'node:url';import{readConfig}from'../utils/config.js';import{formatDataset}from'./format-dataset.js';function a5_0x41f5(_0x2afff8,_0x40e673){const _0x19d69d=a5_0x19d6();return a5_0x41f5=function(_0x41f534,_0x30d88d){_0x41f534=_0x41f534-0x140;let _0x5c4d82=_0x19d69d[_0x41f534];return _0x5c4d82;},a5_0x41f5(_0x2afff8,_0x40e673);}import{TemplateReplacer}from'../utils/template-replacer.js';import{logger}from'../utils/logger.js';function a5_0x19d6(){const _0xe6eb2f=['.ts','{\x20apiConfigName:\x20','请先通过\x20`lovrabet\x20config\x20set\x20app\x20<value>`\x20配置应用\x20Code','env','templates/generate-api','client.ts.tpl','-client','667270efFUJA','1778610ZQuMxP','string','client','replace','code','slice','\x20-\x20模型配置文件\x20(','\x20个模型)','208668IpemYX','6782848XdPvXW','9101511bdhNpG','\x20\x20\x20•\x20','7aSPjDb','tableName','6809555fJUzGV','4zyIRqJ','success','init-api','\x20-\x20客户端实例文件','CONFIG_NAMES.DEFAULT','log','API\x20文件生成成功!','./src/api/','online','typescript','75552iBRbMu','join',',\x20env:\x20\x22','../..','forEach','keys','utf8','replaceApiContent','charAt'];a5_0x19d6=function(){return _0xe6eb2f;};return a5_0x19d6();}export async function generateApiFile(_0x258630,_0x40014e='',_0x485c25,_0x5be7f8=![],_0x422e2e,_0x62c4d4=a5_0x1e34e2(0x148)){const _0x206e4a=a5_0x1e34e2,_0x4a91d4=readConfig(),_0x55ca08=_0x485c25||_0x4a91d4?.['app'];if(typeof _0x55ca08!==_0x206e4a(0x15d)||!_0x55ca08)throw new Error(_0x206e4a(0x156));const _0x47e587=_0x5be7f8?_0x206e4a(0x145):'\x22'+_0x55ca08+'\x22',_0x36f80a=typeof _0x4a91d4[_0x206e4a(0x157)]==='string'?_0x4a91d4[_0x206e4a(0x157)]:undefined,_0x367274=_0x422e2e||_0x36f80a||_0x206e4a(0x149),_0x1517f0=_0x367274!=='online';let _0x269b18;if(_0x5be7f8)_0x1517f0?_0x269b18=_0x206e4a(0x155)+_0x47e587+',\x20env:\x20\x22'+_0x367274+'\x22\x20}':_0x269b18='';else{const _0x376228=_0x1517f0?_0x206e4a(0x14d)+_0x367274+'\x22':'';_0x269b18='{\x20apiConfigName:\x20\x22'+_0x55ca08+'\x22'+_0x376228+'\x20}';}const _0x460eb1=_0x40014e?_0x40014e+'-api':'api',_0x4ecb98=_0x40014e?_0x40014e+_0x206e4a(0x15a):_0x206e4a(0x15e),_0xa06d69=formatDataset(_0x258630),_0x4822a9={};_0xa06d69[_0x206e4a(0x14f)](_0x35ece7=>{const _0x4552d5=_0x206e4a,_0x5b4c3c=_0x35ece7['apiFucName'][_0x4552d5(0x15f)](/Api$/,''),_0x5248cd=_0x5b4c3c[_0x4552d5(0x153)](0x0)['toUpperCase']()+_0x5b4c3c[_0x4552d5(0x161)](0x1);_0x4822a9[_0x5248cd]={'tableName':_0x35ece7[_0x4552d5(0x169)],'datasetCode':_0x35ece7[_0x4552d5(0x160)]};});const _0x48188f=fileURLToPath(import.meta['url']),_0x3ffd0a=a5_0x4e0317['resolve'](a5_0x4e0317['dirname'](_0x48188f),_0x206e4a(0x14e)),_0x440b57=a5_0x4e0317[_0x206e4a(0x14c)](_0x3ffd0a,_0x206e4a(0x158)),_0x1141da=a5_0x4e0317[_0x206e4a(0x14c)](_0x440b57,'api.ts.tpl'),_0x225898=a5_0x4e0317[_0x206e4a(0x14c)](_0x440b57,_0x206e4a(0x159)),_0xc3eb9b=_0x62c4d4['endsWith']('/')?_0x62c4d4[_0x206e4a(0x161)](0x0,-0x1):_0x62c4d4;mkdirSync(_0xc3eb9b,{'recursive':!![]});const _0x1830e1=readFileSync(_0x1141da,_0x206e4a(0x151)),_0x1e1e3a=TemplateReplacer[_0x206e4a(0x152)](_0x1830e1,_0x55ca08,_0x4822a9,Object[_0x206e4a(0x150)](_0x4822a9)[0x0],_0x460eb1,_0x47e587),_0x1f7801=await a5_0x163c1e['format'](_0x1e1e3a,{'parser':_0x206e4a(0x14a)}),_0x5709a1=_0xc3eb9b+'/'+_0x460eb1+_0x206e4a(0x154);writeFileSync(_0x5709a1,_0x1f7801,{'encoding':_0x206e4a(0x151)});const _0x3222e0=readFileSync(_0x225898,_0x206e4a(0x151)),_0x4fcb14=TemplateReplacer[_0x206e4a(0x152)](_0x3222e0,_0x55ca08,_0x4822a9,Object[_0x206e4a(0x150)](_0x4822a9)[0x0],_0x460eb1,_0x47e587,_0x269b18),_0x1765d4=await a5_0x163c1e['format'](_0x4fcb14,{'parser':'typescript'}),_0x1389bf=_0xc3eb9b+'/'+_0x4ecb98+'.ts';writeFileSync(_0x1389bf,_0x1765d4,{'encoding':_0x206e4a(0x151)}),logger[_0x206e4a(0x142)](_0x206e4a(0x143),_0x206e4a(0x147)),console[_0x206e4a(0x146)]('*\x20已生成文件:'),console[_0x206e4a(0x146)](_0x206e4a(0x167)+_0x5709a1+_0x206e4a(0x162)+Object[_0x206e4a(0x150)](_0x4822a9)['length']+_0x206e4a(0x163)),console[_0x206e4a(0x146)](_0x206e4a(0x167)+_0x1389bf+_0x206e4a(0x144)),console[_0x206e4a(0x146)]('*\x20API配置\x20apiConfigName\x20:\x20'+_0x47e587);const _0x581969=_0xc3eb9b[_0x206e4a(0x15f)](/^\.\//,'')[_0x206e4a(0x15f)](/\/$/,'');console['log']('*\x20可以开始使用:\x20import\x20{\x20lovrabetClient\x20}\x20from\x20\x27@/'+_0x581969+'/'+_0x4ecb98+'\x27');}
|
package/lib/api/main.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5ecaa3,_0x4e238d){const _0x3cd966=a6_0x4d0c,_0x2e6479=_0x5ecaa3();while(!![]){try{const _0x1fca95=-parseInt(_0x3cd966(0x65))/0x1*(-parseInt(_0x3cd966(0x7c))/0x2)+parseInt(_0x3cd966(0x80))/0x3+-parseInt(_0x3cd966(0x69))/0x4+-parseInt(_0x3cd966(0x78))/0x5+parseInt(_0x3cd966(0x81))/0x6*(-parseInt(_0x3cd966(0x72))/0x7)+-parseInt(_0x3cd966(0x77))/0x8+parseInt(_0x3cd966(0x75))/0x9*(parseInt(_0x3cd966(0x73))/0xa);if(_0x1fca95===_0x4e238d)break;else _0x2e6479['push'](_0x2e6479['shift']());}catch(_0x2cb869){_0x2e6479['push'](_0x2e6479['shift']());}}}(a6_0x1978,0x7d86a));import{jsx as a6_0x3819f8}from'react/jsx-runtime';function a6_0x4d0c(_0x423fdc,_0x45df98){const _0x1978e3=a6_0x1978();return a6_0x4d0c=function(_0x4d0c56,_0x4d20da){_0x4d0c56=_0x4d0c56-0x64;let _0x295d26=_0x1978e3[_0x4d0c56];return _0x295d26;},a6_0x4d0c(_0x423fdc,_0x45df98);}function a6_0x1978(){const _0x565157=['\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','\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配置文件','appcode','2140240sevEUl','\x20\x20lovrabet\x20api\x20pull\x20--env\x20<env>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境(如:\x20daily,\x20online)','Available\x20commands:','\x20\x20lovrabet\x20api\x20pull\x20--output\x20<dir>\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定输出目录(默认:\x20./src/api/)','env','help','\x20\x20lovrabet\x20api\x20pull\x20--appcode\x20<code>\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode','Unknown\x20api\x20command:\x20','input','7zzaSvq','8675690VenDbU','\x20\x20lovrabet\x20api\x20pull\x20--appcode\x20','18CkDPCf','❌\x20错误:不再支持位置参数方式','4209344iqPBph','1726490UnZOzE','请使用\x20--appcode\x20参数,例如:','string','pull','514pCaNGj','flags','log','error','553338nCuxjP','3701934QsfZPL','exit','2405JDmHrn'];a6_0x1978=function(){return _0x565157;};return a6_0x1978();}import{render}from'ink';import{ApiPullUI}from'./api-pull-ui.js';export async function apiCli(_0x1d16d6){const _0xcca91c=a6_0x4d0c,_0x300bcf=_0x1d16d6[_0xcca91c(0x71)][0x1];if(_0x1d16d6['flags'][_0xcca91c(0x6e)]){console[_0xcca91c(0x7e)](_0xcca91c(0x66));return;}if(_0x300bcf===_0xcca91c(0x7b)){_0x1d16d6[_0xcca91c(0x71)][0x2]&&(console[_0xcca91c(0x7f)](_0xcca91c(0x76)),console[_0xcca91c(0x7e)](_0xcca91c(0x79)),console[_0xcca91c(0x7e)](_0xcca91c(0x74)+_0x1d16d6['input'][0x2]),process[_0xcca91c(0x64)](0x1));const _0x50f4be=_0x1d16d6[_0xcca91c(0x7d)][_0xcca91c(0x68)],_0x59099d=typeof _0x1d16d6[_0xcca91c(0x7d)]['env']===_0xcca91c(0x7a)?_0x1d16d6[_0xcca91c(0x7d)][_0xcca91c(0x6d)]:undefined,_0x22994c=_0x1d16d6[_0xcca91c(0x7d)]['output'];render(a6_0x3819f8(ApiPullUI,{'appCode':_0x50f4be,'env':_0x59099d,'output':_0x22994c}));}else console[_0xcca91c(0x7f)](_0xcca91c(0x70)+_0x300bcf),console[_0xcca91c(0x7e)](_0xcca91c(0x6b)),console[_0xcca91c(0x7e)](_0xcca91c(0x67)),console[_0xcca91c(0x7e)](_0xcca91c(0x6f)),console['log'](_0xcca91c(0x6c)),console[_0xcca91c(0x7e)](_0xcca91c(0x6a)),process[_0xcca91c(0x64)](0x1);}
|
package/lib/api/pull-silent.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x11c922,_0x52c266){const _0x210493=a7_0x4769,_0x1dbc99=_0x11c922();while(!![]){try{const _0x20ad43=-parseInt(_0x210493(0x205))/0x1+parseInt(_0x210493(0x1ed))/0x2+-parseInt(_0x210493(0x21b))/0x3+-parseInt(_0x210493(0x1f9))/0x4+-parseInt(_0x210493(0x1f0))/0x5+parseInt(_0x210493(0x1fd))/0x6*(-parseInt(_0x210493(0x206))/0x7)+parseInt(_0x210493(0x1fc))/0x8;if(_0x20ad43===_0x52c266)break;else _0x1dbc99['push'](_0x1dbc99['shift']());}catch(_0x1126dd){_0x1dbc99['push'](_0x1dbc99['shift']());}}}(a7_0x8fe1,0x21c32));import{readConfig}from'../utils/config.js';import{getCookie}from'../auth/get-cookie.js';function a7_0x4769(_0x1aa63d,_0x2ddc93){const _0x8fe16a=a7_0x8fe1();return a7_0x4769=function(_0x476965,_0x56dee6){_0x476965=_0x476965-0x1ed;let _0x5ce299=_0x8fe16a[_0x476965];return _0x5ce299;},a7_0x4769(_0x1aa63d,_0x2ddc93);}import{getApiDomain}from'../constant/domain.js';function a7_0x8fe1(){const _0x1cd028=['*\x20开始生成\x20API\x20配置文件:','-client','未知错误','.ts\x20-\x20模型配置文件','&pageSize=999¤tPage=1','status','api','460348GrHOWC','API\x20配置拉取失败:\x20','获取数据集失败,HTTP状态码:\x20','5934072qGzKCt','4146lDkEqP','client','tableData','/smartapi/dataset/getList?appCode=','url','*\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20','API\x20配置拉取成功:\x20',',且无法读取错误响应内容','118303mCXTWV','2611bZLbYq','create-api-pull','data','-api','×\x20错误详情:','log','string','text','chdir','length','*\x20正在处理\x20','info','×\x20文件前缀格式不正确。只能包含字母、数字、连字符和下划线,且必须以字母开头。','message','cwd','\x20\x20\x20•\x20','×\x20服务器返回错误:','×\x20API\x20配置拉取异常:','error','获取数据集失败,原因:登录鉴权失败,登录已过期','online','701037wrQikp','env','365434KjVWKr','×\x20无法读取错误响应内容','trim','306870GBtiYa','API\x20配置拉取异常:\x20'];a7_0x8fe1=function(){return _0x1cd028;};return a7_0x8fe1();}import{initEnv}from'../constant/env.js';import{generateApiFile}from'./generate-api-file.js';import{logger}from'../utils/logger.js';import{httpRequest}from'../utils/http-client.js';export async function pullApiSilent(_0x57f9f8,_0x5ae705,_0x22b0e5,_0x414f6b){const _0x36ff85=a7_0x4769;let _0x584872;try{const _0x58d892=_0x5ae705?.[_0x36ff85(0x1ef)]()||'';if(_0x58d892){const _0x5d37e8=/^[a-zA-Z][a-zA-Z0-9_-]*$/;if(!_0x5d37e8['test'](_0x58d892))return console['error'](_0x36ff85(0x212)),![];}_0x22b0e5&&(_0x584872=process[_0x36ff85(0x214)](),process[_0x36ff85(0x20e)](_0x22b0e5));const _0xf28bb8=readConfig(),_0x27ad53=typeof _0xf28bb8[_0x36ff85(0x21c)]===_0x36ff85(0x20c)?_0xf28bb8[_0x36ff85(0x21c)]:undefined,_0x5575c2=_0x414f6b||_0x27ad53||_0x36ff85(0x21a);initEnv(_0x5575c2),console[_0x36ff85(0x20b)](_0x36ff85(0x202)+_0x5575c2+')');const _0x560ffb=getApiDomain()+_0x36ff85(0x200)+_0x57f9f8+_0x36ff85(0x1f6),_0x1460b8=await httpRequest(_0x560ffb,{'headers':{'Cookie':getCookie()},'timeout':0xea60,'retries':0x2});if(_0x1460b8['ok']){const _0x580321=_0x1460b8['data'];if(_0x580321['success']){const _0xbed659=_0x58d892?_0x58d892+_0x36ff85(0x209):_0x36ff85(0x1f8),_0x470711=_0x58d892?_0x58d892+_0x36ff85(0x1f3):_0x36ff85(0x1fe);return console[_0x36ff85(0x20b)](_0x36ff85(0x1f2)),console['log'](_0x36ff85(0x215)+_0xbed659+_0x36ff85(0x1f5)),console[_0x36ff85(0x20b)](_0x36ff85(0x215)+_0x470711+'.ts\x20-\x20客户端实例文件'),console[_0x36ff85(0x20b)](_0x36ff85(0x210)+_0x580321['data'][_0x36ff85(0x1ff)][_0x36ff85(0x20f)]+'\x20个数据集...'),await generateApiFile(_0x580321[_0x36ff85(0x208)][_0x36ff85(0x1ff)],_0x58d892,_0x57f9f8,!![],_0x5575c2),console[_0x36ff85(0x20b)]('√\x20API\x20配置文件生成完成'),_0x22b0e5&&logger[_0x36ff85(0x211)](_0x36ff85(0x207),_0x36ff85(0x203)+_0x57f9f8,{'projectPath':_0x22b0e5,'appCode':_0x57f9f8,'datasetCount':_0x580321['data'][_0x36ff85(0x1ff)][_0x36ff85(0x20f)],'filePrefix':_0x58d892}),!![];}else return console['error'](_0x36ff85(0x216),_0x580321[_0x36ff85(0x213)]||_0x36ff85(0x1f4)),_0x22b0e5&&logger[_0x36ff85(0x218)](_0x36ff85(0x207),_0x36ff85(0x1fa)+(_0x580321[_0x36ff85(0x213)]||_0x36ff85(0x1f4)),{'projectPath':_0x22b0e5,'appCode':_0x57f9f8}),![];}else{if(_0x1460b8['status']===0x191){const _0x3d1a48=_0x36ff85(0x219);console[_0x36ff85(0x218)]('×\x20'+_0x3d1a48),_0x22b0e5&&logger['error'](_0x36ff85(0x207),_0x3d1a48,{'status':_0x1460b8[_0x36ff85(0x1f7)],'appCode':_0x57f9f8,'url':_0x1460b8[_0x36ff85(0x201)],'projectPath':_0x22b0e5});}else{const _0x4842cf=_0x36ff85(0x1fb)+_0x1460b8[_0x36ff85(0x1f7)];console[_0x36ff85(0x218)]('×\x20'+_0x4842cf);try{const _0x4ac4ea=await _0x1460b8[_0x36ff85(0x20d)]();_0x4ac4ea&&console[_0x36ff85(0x218)](_0x36ff85(0x20a),_0x4ac4ea),_0x22b0e5&&logger['error']('create-api-pull',_0x4842cf,{'status':_0x1460b8[_0x36ff85(0x1f7)],'appCode':_0x57f9f8,'url':_0x1460b8[_0x36ff85(0x201)],'errorBody':_0x4ac4ea,'projectPath':_0x22b0e5});}catch(_0x341c9d){console[_0x36ff85(0x218)](_0x36ff85(0x1ee)),_0x22b0e5&&logger[_0x36ff85(0x218)](_0x36ff85(0x207),_0x4842cf+_0x36ff85(0x204),{'status':_0x1460b8['status'],'appCode':_0x57f9f8,'url':_0x1460b8[_0x36ff85(0x201)],'readError':_0x341c9d instanceof Error?_0x341c9d[_0x36ff85(0x213)]:String(_0x341c9d),'projectPath':_0x22b0e5});}}return![];}}catch(_0x1af6af){const _0x28c372=_0x1af6af instanceof Error?_0x1af6af[_0x36ff85(0x213)]:String(_0x1af6af);return console[_0x36ff85(0x218)](_0x36ff85(0x217),_0x28c372),_0x22b0e5&&logger[_0x36ff85(0x218)](_0x36ff85(0x207),_0x36ff85(0x1f1)+_0x28c372,{'appCode':_0x57f9f8,'projectPath':_0x22b0e5}),![];}finally{_0x584872&&process[_0x36ff85(0x20e)](_0x584872);}}
|
package/lib/api/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x250f72,_0x5609c4){const _0x35b850=a8_0x4142,_0x52161a=_0x250f72();while(!![]){try{const _0x56acb6=-parseInt(_0x35b850(0x127))/0x1*(parseInt(_0x35b850(0x137))/0x2)+-parseInt(_0x35b850(0x10f))/0x3+parseInt(_0x35b850(0x13d))/0x4+-parseInt(_0x35b850(0x10d))/0x5*(parseInt(_0x35b850(0x122))/0x6)+parseInt(_0x35b850(0x124))/0x7*(parseInt(_0x35b850(0x120))/0x8)+parseInt(_0x35b850(0x10a))/0x9+parseInt(_0x35b850(0x128))/0xa;if(_0x56acb6===_0x5609c4)break;else _0x52161a['push'](_0x52161a['shift']());}catch(_0x35d1b2){_0x52161a['push'](_0x52161a['shift']());}}}(a8_0x364a,0x562a3));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_0x364a(){const _0x34856e=['获取数据集失败,HTTP状态码:\x20','-api','获取数据集失败,原因:登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录后再尝试','*\x20开始生成\x20API\x20配置文件:','\x1b[0m','message','error','api-pull','data','env','×\x20文件前缀格式不正确。只能包含字母、数字、连字符和下划线,且必须以字母开头。','url','\x20个数据集...','\x0a*\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20','2bBIBiP','×\x20无法读取错误响应内容','stdout','test','text','\x20\x20\x20•\x20','2039424WuDHpd','json','×\x20未提供应用AppCode,且配置中也没有默认值','2404134lWmAwP','.ts\x20-\x20模型配置文件','success','649795BUHznR','question','1972395DMCxNA','×\x20提供的应用AppCode\x20\x22','exit','trim','*\x20使用指定的应用AppCode:\x20','.ts\x20-\x20客户端实例文件','stdin','×\x20错误详情:','api','tableData','-client','\x20\x20\x201.\x20直接指定:\x20lovrabet\x20api\x20pull\x20<app-code>','!\x20请使用以下方式之一:','string','log','&pageSize=999¤tPage=1',',且无法读取错误响应内容','66304pKWdFM','/smartapi/dataset/getList?appCode=','6eKBtuo','\x20\x20\x202.\x20配置默认值:\x20lovrabet\x20config\x20set\x20app\x20<app-code>','7LbqHsC','*\x20正在处理\x20','status','665748qnVQEX','10208330qNHbZm'];a8_0x364a=function(){return _0x34856e;};return a8_0x364a();}import{logger}from'../utils/logger.js';function a8_0x4142(_0x3af225,_0x582773){const _0x364a8e=a8_0x364a();return a8_0x4142=function(_0x414281,_0x51f8ea){_0x414281=_0x414281-0x108;let _0x3186cd=_0x364a8e[_0x414281];return _0x3186cd;},a8_0x4142(_0x3af225,_0x582773);}export async function initApi(_0x91e62e,_0x31a2bb){const _0x164a3d=a8_0x4142,_0x1884df=readConfig(),_0x4f4bd0=_0x91e62e||_0x1884df?.['app'],_0x5b779e=typeof _0x1884df['env']===_0x164a3d(0x11c)?_0x1884df[_0x164a3d(0x132)]:undefined,_0x262d34=_0x31a2bb||_0x5b779e||'online';initEnv(_0x262d34);(typeof _0x4f4bd0!==_0x164a3d(0x11c)||!_0x4f4bd0)&&(_0x91e62e?console['error'](_0x164a3d(0x110)+_0x91e62e+'\x22\x20无效'):(console[_0x164a3d(0x12f)](_0x164a3d(0x109)),console[_0x164a3d(0x11d)](_0x164a3d(0x11b)),console['log'](_0x164a3d(0x11a)),console[_0x164a3d(0x11d)](_0x164a3d(0x123))),process['exit'](0x1));_0x91e62e?console[_0x164a3d(0x11d)](_0x164a3d(0x113)+_0x4f4bd0):console[_0x164a3d(0x11d)]('\x1b[90m*\x20使用配置的应用AppCode:\x20'+_0x4f4bd0+_0x164a3d(0x12d));const _0x59063c=createInterface({'input':process[_0x164a3d(0x115)],'output':process[_0x164a3d(0x139)]});let _0x1f2f28;try{const _0x2d11da=await _0x59063c[_0x164a3d(0x10e)]('!\x20请输入文件前缀\x20\x1b[90m[留空表示无前缀]\x1b[0m:\x20');_0x1f2f28=_0x2d11da[_0x164a3d(0x112)]();if(_0x1f2f28){const _0x550fc3=/^[a-zA-Z][a-zA-Z0-9_-]*$/;!_0x550fc3[_0x164a3d(0x13a)](_0x1f2f28)&&(console[_0x164a3d(0x12f)](_0x164a3d(0x133)),process['exit'](0x1));}}finally{_0x59063c['close']();}console[_0x164a3d(0x11d)](_0x164a3d(0x136)+_0x262d34+')');const _0x31c2f2=await fetch(getApiDomain()+_0x164a3d(0x121)+_0x4f4bd0+_0x164a3d(0x11e),{'headers':{'Cookie':getCookie()}});if(_0x31c2f2['ok']){const _0x3ef205=await _0x31c2f2[_0x164a3d(0x108)]();if(_0x3ef205[_0x164a3d(0x10c)]){const _0x1e2288=_0x1f2f28?_0x1f2f28+_0x164a3d(0x12a):_0x164a3d(0x117),_0x4d8e8d=_0x1f2f28?_0x1f2f28+_0x164a3d(0x119):'client';console['log'](_0x164a3d(0x12c)),console[_0x164a3d(0x11d)]('\x20\x20\x20•\x20'+_0x1e2288+_0x164a3d(0x10b)),console[_0x164a3d(0x11d)](_0x164a3d(0x13c)+_0x4d8e8d+_0x164a3d(0x114)),console[_0x164a3d(0x11d)](_0x164a3d(0x125)+_0x3ef205['data']['tableData']['length']+_0x164a3d(0x135));const _0x172f96=!_0x91e62e;await generateApiFile(_0x3ef205[_0x164a3d(0x131)][_0x164a3d(0x118)],_0x1f2f28,_0x4f4bd0,_0x172f96,_0x262d34);}}else{if(_0x31c2f2[_0x164a3d(0x126)]===0x191){const _0x2ac4a8=_0x164a3d(0x12b);console['error']('×\x20'+_0x2ac4a8),logger['error'](_0x164a3d(0x130),_0x2ac4a8,{'status':_0x31c2f2[_0x164a3d(0x126)],'appCode':_0x4f4bd0,'url':_0x31c2f2[_0x164a3d(0x134)]});}else{const _0x35b74a=_0x164a3d(0x129)+_0x31c2f2[_0x164a3d(0x126)];console[_0x164a3d(0x12f)]('×\x20'+_0x35b74a);try{const _0x583fbb=await _0x31c2f2[_0x164a3d(0x13b)]();_0x583fbb?(console['error'](_0x164a3d(0x116),_0x583fbb),logger[_0x164a3d(0x12f)](_0x164a3d(0x130),_0x35b74a,{'status':_0x31c2f2[_0x164a3d(0x126)],'appCode':_0x4f4bd0,'url':_0x31c2f2[_0x164a3d(0x134)],'errorBody':_0x583fbb})):logger['error'](_0x164a3d(0x130),_0x35b74a,{'status':_0x31c2f2[_0x164a3d(0x126)],'appCode':_0x4f4bd0,'url':_0x31c2f2[_0x164a3d(0x134)]});}catch(_0x175e25){console[_0x164a3d(0x12f)](_0x164a3d(0x138)),logger[_0x164a3d(0x12f)](_0x164a3d(0x130),_0x35b74a+_0x164a3d(0x11f),{'status':_0x31c2f2[_0x164a3d(0x126)],'appCode':_0x4f4bd0,'url':_0x31c2f2['url'],'readError':_0x175e25 instanceof Error?_0x175e25[_0x164a3d(0x12e)]:String(_0x175e25)});}}process[_0x164a3d(0x111)](0x1);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a10_0x22e3(){const _0x2d482b=['127105hvPmGi','111923nBSoNr','184vTuWQW','按\x20“q”\x20退出。','请前往浏览器完成登录。','*\x20按回车开始登录。','15785890ZBPImj','gray','return','finally','then','√\x20当前为有效会话,无需重新登录。','831123sGrCVJ','*\x20登录成功!','dots','5943906QZJcyR','116487XuyFrg','log','column','78gReczU','40GENzak','1109824oVzCFI'];a10_0x22e3=function(){return _0x2d482b;};return a10_0x22e3();}(function(_0xdcdd0,_0x28e78d){const _0x411cea=a10_0x5d90,_0x23983c=_0xdcdd0();while(!![]){try{const _0x422ebc=parseInt(_0x411cea(0x1c6))/0x1+-parseInt(_0x411cea(0x1ce))/0x2*(parseInt(_0x411cea(0x1ca))/0x3)+parseInt(_0x411cea(0x1cf))/0x4+-parseInt(_0x411cea(0x1ba))/0x5*(parseInt(_0x411cea(0x1cd))/0x6)+parseInt(_0x411cea(0x1bb))/0x7*(-parseInt(_0x411cea(0x1bc))/0x8)+-parseInt(_0x411cea(0x1c9))/0x9+parseInt(_0x411cea(0x1c0))/0xa;if(_0x422ebc===_0x28e78d)break;else _0x23983c['push'](_0x23983c['shift']());}catch(_0x21f68c){_0x23983c['push'](_0x23983c['shift']());}}}(a10_0x22e3,0x86bfe));function a10_0x5d90(_0x2ab4d8,_0x1258d0){const _0x22e35b=a10_0x22e3();return a10_0x5d90=function(_0x5d90e,_0x4a4490){_0x5d90e=_0x5d90e-0x1ba;let _0x248ec3=_0x22e35b[_0x5d90e];return _0x248ec3;},a10_0x5d90(_0x2ab4d8,_0x1258d0);}import{jsx as a10_0x415a53,jsxs as a10_0x4c45d0}from'react/jsx-runtime';import{Text,Box,useInput,useApp}from'ink';import{useEffect,useState}from'react';import{getIsSessionValid}from'./is-session-valid.js';import{authServer}from'./auth-server.js';import a10_0xd183f2 from'ink-spinner';export function AuthServer(){const _0x237e7d=a10_0x5d90,{exit:_0x544bde}=useApp(),[_0x321d57,_0x1f91b6]=useState(![]),[_0x2125f0,_0x3044d0]=useState(!![]),[_0x19876a,_0x1a3d34]=useState(![]),[_0x202b95,_0x530ed7]=useState(![]);useEffect(()=>{const _0x3c6971=a10_0x5d90;getIsSessionValid()['then'](_0x1f91b6)[_0x3c6971(0x1c3)](()=>_0x3044d0(![]));},[]),useEffect(()=>{const _0x150033=a10_0x5d90;!_0x2125f0&&_0x321d57&&(console[_0x150033(0x1cb)](_0x150033(0x1c5)),_0x544bde());},[_0x2125f0,_0x321d57,_0x544bde]),useEffect(()=>{const _0x14b14c=a10_0x5d90;_0x202b95&&(console[_0x14b14c(0x1cb)](_0x14b14c(0x1c7)),_0x544bde());},[_0x202b95,_0x544bde]),useInput((_0xb971aa,_0x140f3f)=>{const _0x40a323=a10_0x5d90;_0x140f3f[_0x40a323(0x1c2)]&&(_0x1a3d34(!![]),authServer({'silent':!![]})[_0x40a323(0x1c4)](_0x3c00f2=>{_0x530ed7(_0x3c00f2);})),_0xb971aa==='q'&&_0x544bde();});if(_0x2125f0)return null;if(_0x321d57||_0x202b95)return null;return a10_0x415a53(Box,{'flexDirection':_0x237e7d(0x1cc),'marginTop':0x1,'marginBottom':0x1,'children':_0x19876a?a10_0x4c45d0(Box,{'children':[a10_0x415a53(Box,{'width':'1'}),a10_0x4c45d0(Text,{'color':'green','children':[a10_0x415a53(a10_0xd183f2,{'type':_0x237e7d(0x1c8)}),'\x20\x20']}),a10_0x415a53(Text,{'children':'正在登录...\x20'}),a10_0x415a53(Text,{'color':'gray','children':_0x237e7d(0x1be)})]}):a10_0x4c45d0(Box,{'children':[a10_0x415a53(Box,{'width':'1'}),a10_0x415a53(Text,{'children':_0x237e7d(0x1bf)}),a10_0x415a53(Text,{'color':_0x237e7d(0x1c1),'children':_0x237e7d(0x1bd)})]})});}
|
package/lib/auth/auth-server.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a11_0xefd9c8=a11_0x11da;(function(_0xc0595f,_0x285de1){const _0x2416f3=a11_0x11da,_0x401340=_0xc0595f();while(!![]){try{const _0x3fc8c0=parseInt(_0x2416f3(0x130))/0x1+parseInt(_0x2416f3(0x11c))/0x2+parseInt(_0x2416f3(0x109))/0x3+-parseInt(_0x2416f3(0x12f))/0x4*(parseInt(_0x2416f3(0x10f))/0x5)+parseInt(_0x2416f3(0x124))/0x6*(parseInt(_0x2416f3(0x12d))/0x7)+-parseInt(_0x2416f3(0x12a))/0x8*(parseInt(_0x2416f3(0x113))/0x9)+parseInt(_0x2416f3(0x10d))/0xa*(-parseInt(_0x2416f3(0x108))/0xb);if(_0x3fc8c0===_0x285de1)break;else _0x401340['push'](_0x401340['shift']());}catch(_0x4bc584){_0x401340['push'](_0x401340['shift']());}}}(a11_0x336f,0x5835e));function a11_0x336f(){const _0x8dc609=['then','✅\x20浏览器已自动打开,请在浏览器中完成登录','object','main','close','user','Auth\x20server\x20error:','216000fAylkn','end','text/html;\x20charset=utf-8','127.0.0.1','listen','🔐\x20正在启动登录服务...','💡\x20如果浏览器没有自动打开,请手动复制上面的登录地址到浏览器中打开','writeHead','519744SeNJKa','darwin','platform','log','https://dev.lovrabet.com:','address','528qNaids','error','win32','56VKUxTd','⚠️\x20\x20无法自动打开浏览器','32SVZQkG','708308lsGSka','headers','catch','📍\x20登录地址:','start\x20\x22\x22\x20\x22','🔗\x20请手动复制登录地址到浏览器:','3798421NFhqJH','1281894IzZlzw','silent','xdg-open\x20\x22','https://g.yuntooai.com/cert/lovrabet-dev.json','20nuRgSk','createServer','357515ycNTST','session','<!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>','/sign-in?redirect=','42633ehVtTR','json'];a11_0x336f=function(){return _0x8dc609;};return a11_0x336f();}import{writeFileSync}from'node:fs';function a11_0x11da(_0x58db24,_0x29e815){const _0x336f9f=a11_0x336f();return a11_0x11da=function(_0x11da81,_0x370710){_0x11da81=_0x11da81-0x104;let _0x4d3831=_0x336f9f[_0x11da81];return _0x4d3831;},a11_0x11da(_0x58db24,_0x29e815);}import a11_0x2f81b8 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(_0x2eeeba){const _0x2e2ee1=a11_0x11da,_0x16890d=_0x2eeeba?.[_0x2e2ee1(0x10a)]||![];if(await getIsSessionValid())return!![];const _0x2d448c=await(await fetch(_0x2e2ee1(0x10c)))[_0x2e2ee1(0x114)]();return new Promise(async(_0x37668f,_0x49be59)=>{const _0x4bebf4=_0x2e2ee1;let _0xd1f350=0x0;const _0x4da91e=a11_0x2f81b8[_0x4bebf4(0x10e)](_0x2d448c,async(_0x469832,_0x20a387)=>{const _0x137631=_0x4bebf4,_0x4684f0=getUserDomain(),_0x395179=_0x469832[_0x137631(0x131)]['cookie']||'',_0x52f465=await fetch(_0x4684f0+'/api/auth/get-session',{'headers':{'cookie':_0x395179}})['then'](_0x104182=>_0x104182[_0x137631(0x114)]()),_0x573fb6=_0x52f465&&_0x52f465[_0x137631(0x110)]&&_0x52f465[_0x137631(0x11a)];if(_0x573fb6){writeFileSync(cookieFile,_0x395179,'utf-8'),_0x37668f(!![]);const _0x4141cd=_0x137631(0x111);_0x20a387[_0x137631(0x123)](0xc8,{'Content-Type':_0x137631(0x11e)}),_0x20a387['end'](_0x4141cd),_0x4da91e[_0x137631(0x119)]();}else{const _0x2fb2e6=''+encodeURIComponent(_0x137631(0x128)+_0xd1f350);_0x20a387[_0x137631(0x123)](0x12e,{'location':_0x4684f0+_0x137631(0x112)+_0x2fb2e6}),_0x20a387[_0x137631(0x11d)]();return;}});_0x4da91e[_0x4bebf4(0x120)](0x0,_0x4bebf4(0x11f),()=>{const _0x5aa5f9=_0x4bebf4,_0x54ee87=_0x4da91e[_0x5aa5f9(0x129)]();_0xd1f350=typeof _0x54ee87===_0x5aa5f9(0x117)&&_0x54ee87?_0x54ee87['port']:Number(_0x54ee87);const _0x4ab59d=_0x5aa5f9(0x128)+_0xd1f350;!_0x16890d&&(console[_0x5aa5f9(0x127)](_0x5aa5f9(0x121)),console[_0x5aa5f9(0x127)](_0x5aa5f9(0x105),_0x4ab59d),console[_0x5aa5f9(0x127)]('🌐\x20正在尝试自动打开浏览器...'),console[_0x5aa5f9(0x127)](''),console[_0x5aa5f9(0x127)](_0x5aa5f9(0x122)),console[_0x5aa5f9(0x127)]('')),openInBrowser(_0x4ab59d)[_0x5aa5f9(0x115)](_0x210dfe=>{const _0x49437f=_0x5aa5f9;!_0x16890d&&(_0x210dfe?console['log'](_0x49437f(0x116)):(console[_0x49437f(0x127)]('⚠️\x20\x20无法自动打开浏览器'),console[_0x49437f(0x127)](_0x49437f(0x107),_0x4ab59d)),console[_0x49437f(0x127)](''));})[_0x5aa5f9(0x104)](()=>{const _0x170d1b=_0x5aa5f9;!_0x16890d&&(console['log'](_0x170d1b(0x12e)),console[_0x170d1b(0x127)](_0x170d1b(0x107),_0x4ab59d),console[_0x170d1b(0x127)](''));});}),_0x4da91e['on'](_0x4bebf4(0x12b),_0xf9a4d5=>{const _0x4e4ef3=_0x4bebf4;!_0x16890d&&console[_0x4e4ef3(0x12b)](_0x4e4ef3(0x11b),_0xf9a4d5),_0x49be59(_0xf9a4d5);});});}function openInBrowser(_0x177d5f){return new Promise(_0x539325=>{const _0xc7e635=a11_0x11da,_0x59126e=process[_0xc7e635(0x126)];let _0x580f96;if(_0x59126e===_0xc7e635(0x12c))_0x580f96=_0xc7e635(0x106)+_0x177d5f+'\x22';else _0x59126e===_0xc7e635(0x125)?_0x580f96='open\x20\x22'+_0x177d5f+'\x22':_0x580f96=_0xc7e635(0x10b)+_0x177d5f+'\x22';exec(_0x580f96,_0x289d4d=>{_0x289d4d?_0x539325(![]):_0x539325(!![]);});});}if(import.meta[a11_0xefd9c8(0x118)]){const isAuth=await authServer();console[a11_0xefd9c8(0x127)]('isAuth',isAuth);}
|
package/lib/auth/constant.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a12_0x2e71ee=a12_0x2f5e;(function(_0x3d6b06,_0x173c92){const _0x1c38f1=a12_0x2f5e,_0x27d5ec=_0x3d6b06();while(!![]){try{const _0x20fe0c=-parseInt(_0x1c38f1(0x1cd))/0x1+parseInt(_0x1c38f1(0x1d2))/0x2*(parseInt(_0x1c38f1(0x1d3))/0x3)+parseInt(_0x1c38f1(0x1d5))/0x4*(parseInt(_0x1c38f1(0x1d6))/0x5)+parseInt(_0x1c38f1(0x1d0))/0x6*(parseInt(_0x1c38f1(0x1ce))/0x7)+parseInt(_0x1c38f1(0x1d4))/0x8+-parseInt(_0x1c38f1(0x1d1))/0x9+-parseInt(_0x1c38f1(0x1cf))/0xa*(parseInt(_0x1c38f1(0x1d7))/0xb);if(_0x20fe0c===_0x173c92)break;else _0x27d5ec['push'](_0x27d5ec['shift']());}catch(_0x5435a5){_0x27d5ec['push'](_0x27d5ec['shift']());}}}(a12_0x3714,0x1c37c));import{mkdirSync}from'node:fs';import{homedir}from'node:os';export const configDir=homedir()+'/.lovrabet';export const cookieFile=configDir+a12_0x2e71ee(0x1d8);function a12_0x3714(){const _0x55bea5=['4AqvfRI','741745CttQMb','219956EBLQVq','/cookie','13868XnVEMi','78337HdXePQ','100xVakEn','30nmMMCS','816102kejcAC','12nJMmdX','80892NqwAJE','431984lkmXMj'];a12_0x3714=function(){return _0x55bea5;};return a12_0x3714();}function a12_0x2f5e(_0x2b3e5e,_0xcc4cc7){const _0x3714a3=a12_0x3714();return a12_0x2f5e=function(_0x2f5eb7,_0x4d0e92){_0x2f5eb7=_0x2f5eb7-0x1cd;let _0x511869=_0x3714a3[_0x2f5eb7];return _0x511869;},a12_0x2f5e(_0x2b3e5e,_0xcc4cc7);}mkdirSync(configDir,{'recursive':!![]});
|
package/lib/auth/get-cookie.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x3746c4,_0x4e8191){var _0x5cdffd=a13_0x48f0,_0x545f15=_0x3746c4();while(!![]){try{var _0x38629a=parseInt(_0x5cdffd(0xc8))/0x1+-parseInt(_0x5cdffd(0xc2))/0x2*(parseInt(_0x5cdffd(0xc1))/0x3)+-parseInt(_0x5cdffd(0xc4))/0x4+-parseInt(_0x5cdffd(0xc3))/0x5+-parseInt(_0x5cdffd(0xc0))/0x6+-parseInt(_0x5cdffd(0xc5))/0x7*(-parseInt(_0x5cdffd(0xc7))/0x8)+parseInt(_0x5cdffd(0xca))/0x9*(parseInt(_0x5cdffd(0xc6))/0xa);if(_0x38629a===_0x4e8191)break;else _0x545f15['push'](_0x545f15['shift']());}catch(_0x1443b3){_0x545f15['push'](_0x545f15['shift']());}}}(a13_0x32c1,0x25aab));function a13_0x48f0(_0xaa112f,_0x328ac4){var _0x32c18a=a13_0x32c1();return a13_0x48f0=function(_0x48f085,_0x3222ad){_0x48f085=_0x48f085-0xc0;var _0x844851=_0x32c18a[_0x48f085];return _0x844851;},a13_0x48f0(_0xaa112f,_0x328ac4);}import{readFileSync}from'node:fs';import{cookieFile}from'./constant.js';function a13_0x32c1(){var _0x275450=['11694uShcoD','98sveUtw','927425gsIvnU','1035892qYGkSr','56567VYSpcx','10uwLJMb','8oCQXyM','215373QWUPMX','utf-8','5861556dXQkjL','509970HmVYds'];a13_0x32c1=function(){return _0x275450;};return a13_0x32c1();}export function getCookie(){var _0x8b5362=a13_0x48f0;try{return readFileSync(cookieFile,_0x8b5362(0xc9));}catch{}return'';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a14_0x33cd(){const _0x31fbdd=['then','/api/auth/get-session','1226tLZXqY','user','476RaRKiK','json','session','1761910zZpLiR','167hDFwMI','7378656KJYrxg','11fUFjnk','utf-8','16FPlURJ','999198gvispJ','1145dkfHmd','36ivBnPJ','213479HxdlIg','762150zpcjcw'];a14_0x33cd=function(){return _0x31fbdd;};return a14_0x33cd();}(function(_0x1f951d,_0x2ca05c){const _0x1dfdff=a14_0x4ff8,_0x5c6d37=_0x1f951d();while(!![]){try{const _0x4a6d91=-parseInt(_0x1dfdff(0xd1))/0x1*(-parseInt(_0x1dfdff(0xcb))/0x2)+-parseInt(_0x1dfdff(0xc8))/0x3+parseInt(_0x1dfdff(0xcd))/0x4*(-parseInt(_0x1dfdff(0xc5))/0x5)+-parseInt(_0x1dfdff(0xc6))/0x6*(-parseInt(_0x1dfdff(0xc7))/0x7)+parseInt(_0x1dfdff(0xd5))/0x8*(-parseInt(_0x1dfdff(0xc4))/0x9)+parseInt(_0x1dfdff(0xd0))/0xa*(-parseInt(_0x1dfdff(0xd3))/0xb)+parseInt(_0x1dfdff(0xd2))/0xc;if(_0x4a6d91===_0x2ca05c)break;else _0x5c6d37['push'](_0x5c6d37['shift']());}catch(_0x294834){_0x5c6d37['push'](_0x5c6d37['shift']());}}}(a14_0x33cd,0x35e21));import{existsSync,readFileSync}from'node:fs';import{getUserDomain}from'../constant/domain.js';function a14_0x4ff8(_0x2e3933,_0x58cdc6){const _0x33cd04=a14_0x33cd();return a14_0x4ff8=function(_0x4ff8fc,_0x4315b5){_0x4ff8fc=_0x4ff8fc-0xc4;let _0x45dfb4=_0x33cd04[_0x4ff8fc];return _0x45dfb4;},a14_0x4ff8(_0x2e3933,_0x58cdc6);}import{cookieFile}from'./constant.js';export async function getIsSessionValid(){const _0x243bec=a14_0x4ff8;try{if(!existsSync(cookieFile))return![];const _0xd0bcc0=readFileSync(cookieFile,_0x243bec(0xd4)),_0x560e72=await fetch(getUserDomain()+_0x243bec(0xca),{'headers':{'cookie':_0xd0bcc0}})[_0x243bec(0xc9)](_0x17e754=>_0x17e754[_0x243bec(0xce)]());return _0x560e72&&_0x560e72[_0x243bec(0xcf)]&&_0x560e72[_0x243bec(0xcc)];}catch{}return![];}
|
package/lib/auth/logout.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x1bf359,_0x454f02){var _0x3eb964=a15_0x2b3b,_0x43ead6=_0x1bf359();while(!![]){try{var _0x51e230=parseInt(_0x3eb964(0x8f))/0x1+parseInt(_0x3eb964(0x93))/0x2+parseInt(_0x3eb964(0x89))/0x3+parseInt(_0x3eb964(0x94))/0x4+-parseInt(_0x3eb964(0x8d))/0x5*(parseInt(_0x3eb964(0x91))/0x6)+parseInt(_0x3eb964(0x8a))/0x7*(-parseInt(_0x3eb964(0x90))/0x8)+parseInt(_0x3eb964(0x8e))/0x9*(-parseInt(_0x3eb964(0x92))/0xa);if(_0x51e230===_0x454f02)break;else _0x43ead6['push'](_0x43ead6['shift']());}catch(_0x310d2d){_0x43ead6['push'](_0x43ead6['shift']());}}}(a15_0xb0ec,0x92833));import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'./constant.js';export function logout(){var _0x5cce91=a15_0x2b3b;existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x5cce91(0x8b)](_0x5cce91(0x8c))):console[_0x5cce91(0x8b)]('!\x20当前未登录');}function a15_0x2b3b(_0x1a6f32,_0x2ff6ea){var _0xb0ec89=a15_0xb0ec();return a15_0x2b3b=function(_0x2b3ba1,_0x301ea3){_0x2b3ba1=_0x2b3ba1-0x89;var _0x2af99d=_0xb0ec89[_0x2b3ba1];return _0x2af99d;},a15_0x2b3b(_0x1a6f32,_0x2ff6ea);}function a15_0xb0ec(){var _0x3cda3f=['log','✓\x20已退出登录','5894465wJVVFv','18klFKuK','701551isDKhQ','50672CNIuxu','6Pvefwy','1985450QVMStO','1817822ILfYun','512664lniMej','1559436PsRUib','91QIshEj'];a15_0xb0ec=function(){return _0x3cda3f;};return a15_0xb0ec();}
|