From ffa37d7edeb9c5b761760bd823e51a9df2432874 Mon Sep 17 00:00:00 2001 From: lu-yg <128358973+lu-yg@users.noreply.github.com> Date: Thu, 24 Jul 2025 23:30:32 -0700 Subject: [PATCH] feat: Add material upload script (#1516) --- .env.local | 4 +- docs/api/backend-api/material-center.md | 51 ++++++++++++++++++ docs/solutions/imgs/bundle_upload.png | Bin 0 -> 40022 bytes docs/solutions/imgs/component_create_code.png | Bin 0 -> 164055 bytes docs/solutions/material-sync-solution.md | 23 ++++++-- package.json | 3 +- scripts/uploadMaterials.mjs | 40 ++++++++++++++ 7 files changed, 115 insertions(+), 6 deletions(-) create mode 100644 docs/solutions/imgs/bundle_upload.png create mode 100644 docs/solutions/imgs/component_create_code.png create mode 100644 scripts/uploadMaterials.mjs diff --git a/.env.local b/.env.local index a361a78c..93b036e1 100644 --- a/.env.local +++ b/.env.local @@ -2,4 +2,6 @@ SQL_HOST=localhost SQL_PORT=3306 SQL_USER=root SQL_PASSWORD=admin -SQL_DATABASE=tiny_engine \ No newline at end of file +SQL_DATABASE=tiny_engine + +backend_url=http://localhost:9090/material-center/api/component/bundle/create \ No newline at end of file diff --git a/docs/api/backend-api/material-center.md b/docs/api/backend-api/material-center.md index 52c0049a..222bd09b 100644 --- a/docs/api/backend-api/material-center.md +++ b/docs/api/backend-api/material-center.md @@ -327,3 +327,54 @@ tenant 通过前端配置统一 x-lowcode-org 请求头传递,接口中不用 +## 物料同步接口 + + + +### 基本信息 + +**Path:** /material-center/api/component/bundle/create + +**Method:** POST + +**接口描述:** + +
处理物料同步上传bundle.json文件创建或更新组件
+ + +### 请求参数 + +**Headers** + +| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 | +| ------------ | ---------------- | -------- | ---- | ---- | +| Content-Type | multipart/form-data | 是 | | | + +**路径参数** + +| 参数名称 | 示例 | 备注 | +| -------- | ---- | ------ | +| file | bundle.json | bundle.json文件 | + +**Body** + +| 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 | +
|---|
| 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 | +
|---|---|---|---|---|---|
| data | object | 非必须 | |||
| ├─ insertNum | number | 非必须 | 新增组件数 | ||
| ├─ updateNum | number | 非必须 | 更新组件数 |
Zv6LAeWG&w0n?BeT6Uj|#H@lOKQkna0^b#X2|EURp~pMu&T_>XG_+`kC| zUXt~Qigo+pVrnCJ+yxS1lRpuOg2ZTdAAYJ9pCEp|97rMBX`pLL^8x~&8e4SQ>)2PC zwo=-sudRh?i;@oyB(=R-1Lu3sBSGOWbPvgNCnaB|$!@FA)E`*|O^XHl-zyCl z;-jmoMEygd?*{lExPqJA&mz}**S|dUk!YHTsH#a#`j~Ez?c!8a18PSmmQ3WDuLNY@ z!b;Tu^#Yzo`=tnMG`ZK_>f-RbBxoO0Vh99|?DgHoZTLQJZvf>j4#e?MvPWwD<8_^_ zvR?F^*Y3a*>j#W+jb$y$ rxD2r#;bkL{mhdVdtY@s99L FaaI-6rHY+58B%DBY)pmEfU$<*K{Lw&HFm* z6qt^84+0)Hn3(J4LS)u8% =S+thEd(#q 5gIH=!?|4hjKVsFb&s`7Li6LzU*kZ8S?bwwV2K 27`jo?_RFF2aj?HVsr5=loDGUXb(0yA1BF zj^6X$J5Oj5)Us(ES+oawM~nN2q0uf*N;g)%Z1U_)JBlQOvOSiJGAx@-E+ah-n6spF zHF{>tu}dM@SD+vY5z44NVG-c|6w7c*gVvrsx@S?T%xHdmxHntuNnG81@8yA!Z|Ft* z$pw_d@9)N|Si-hn?9%B?yus=TQrtk@RcUrc&@A2Jm+GL-T69a3Vp`JH8YHpTt060> zvF&n*KAWX(?;ps@`XlOX$~IDZp%Ve`6l%uY9!6&tE)Z> I0u0a7&pLn_ zRzJpfuYOU9@Mv&5_AFP7h}Ek7F A)+jn20&YN;KXKM0Y|G|9X=P4FSPL zTx1iTiLF$o@MyohV8utz20D;`$lQpPxVlwSQ<7-LNUkm>4)L2nYf_Wrf~5gon(q2$ zbs7B0FA?bw)6wMLEsz@J=yEZNJv&1mR~n4nw$uGQ44msT!ZoIs_tBR}hopSK<$N`n z3iJtd$HJ%J^0Z>jp-QL1IOWlNa$UI=(4P4Sh#m8{o&<8ld^~%K@GcvObw-r*uTN;9 z)j%qaBaI8Dp$({_u`B$B4Z_pze4wjl@T@d%pPS+hppDn%p{{iA8(%S}F#Vo4gyGNO zyXT4YXM~FCGNx( ;&l?R#9SOn0qBjtnF*QP^^NjN~gmz*cDC$RQM=yO84g33q=Nx>fs z@iu`Lqer#4 `V=Yg5)Qz` zcJ=8fSDGl$^oqQUu~BkCF $2p~Q }c|G*mn#?8x2Ky2<>jvdmgZ8amTcNZtibIW=Amfov8nN_H|C1>z* z1peGkWq2$m9bY!X?72Fbz4!cvWgt_2wQOAZ!A+q4gFi;{ThXeL+wHDL-*T2&b$a$B zK-H@(zmIwCN ypxI-0-Qd9UBln8epGCT)7cpa5g1*O_(Sko|#3J_o z>EHzlVym`bg48@mC=G(wCyS$}=12m|)in~O3kv7iJc{@L$oP!md4X8mB}rcZB?V@o z=Rhbovop&bxu1PluYx525iLdRc~u)8$&PU#I1a9i>+Jq)&Fd&{qo0@o`JjQ|$fpr^ zXdB5Lo3jK-rjlye |D zeJ1_MUfMiR5;Qx)QTDulv?P2C#cZ|se%4_oZ>xAY6X$ CU%WuE(dHf(cYU7E4wrn@)3HZ_oIn(Vm0FB(biWHI zWx^4S@*>{OK-X$BT!B%ID_LBQ<)dAxVbol-z^Azaph2kBbq=WLdmtTFOv z Y?vadiMG&$waABg=IlIHV0huR}bXdv1jk!Wf-5bFc8y~rBVEp*z z1^EtM^M_OYd=fr!6dh1y4`*OY8lCc 2Zh m|A$ zWiYeK)jqSg0gtSWJ<6xc=Y^RIisLW>_STcNbpRu3sHnlobJSNQ(})!aB{OmlNE|Ww zs J_T}H}mpu2+PGToeg2W38Ft)4D(*4EmXw? zqIH^NLUow6my11IK#X{w;6E?lHaUA%!A9^T`Ya=?9{j15e1m~K-xRf}G%j56lgBtz zO>`%Sdn!q1%xOj?r_iVQ#CIn`>nPHDM;@7vu9;z!? c(sW*OFb)&TZg&{|*7hTB=1EY(`jlVKG6sFxOH9>F_*qfe&$KI5EX z4%sLpqSw`W*gbj#cpM>>Uz#yMj?y;?7V0EkwjZp|me0!{?FpQdr*&J5t@W36s;Gw; z8{GTOxEQ2@e(pw5M7i5odOflm<>vuH11%dywQS`k-4E(7g|!qllmvUbSpmvLNnwLc ze4o{Vx}mKjTa8TuNtTo^4P0a%c3M824laoOLI4kj_pVzr+GftCLv~A~P-Gay@6b{E zFkeLv)>Nt|iV;l<*~DaI1**<|i3>n2mB*T`GN>oDp_e?RtL4X>`q$bgW|4t893E+k zsJ;`qJsh`ogMHLvr_lOg)P}Vbb5g)_Ozy{JTQNC)n3~@SxE*+TO!%dJ87P0_cdcHY zdTjdO7p8;UU(w6FlTvu856(W6n8I8=SL $-z{;)L+gJZki~ZVg z06=OrE8-as)VITPUYu0(mcLJh9+TQ(eZvLDH&GCCN}8?Slyw6#iD`4%wskkOSHS^u zWm)laTwMF!58@-8p2Cxiho@jy?m_Fpb5xyMO#Z&mv3a!`;!>0DN}VT~QoF#Mgcfhh zfHnvpz_$6d@~T<1Jq!Dc3lLZv?04Po7x7ky7fIAyIPs0&-Nv;BcVTyatocPqK=^+B ze#iCPQ2-ogTO5S}xIo*) >h_bYPxKmy9N3JICw&c}j4H7Rz cfl`LsIQ)4mu-uXg z`IfJ~_iY 7~ dYl_5xtU2g16mvA4;&w33E9Ko8ag`~;U|8d#@bHM-Gp2vo zm 17hlb 6Et@KIyVDHx+ufudk7RjcYYHta^ zVwx=gM>jp I063-up!eX?Q^Sd4Y(n6(nJ!KIrPwW iRymvb^myTh24qnBezc3Pcrr)v6O=erTk>d8Vnk8L02m zz+E1GIL87*13w4ew_8>J1MEzT>vN%Dyc!;CxzK}uIH(==FO<2>AIM{oc=|uY^cDTh ze< Ye zUT;36m-qhp`-u^FpJ4tzWv3%|*6l`04F{50eJg(@S3b)C_dg=d`I<2sInCKav=}7n zbkPS(yfP~Mpty9`v_)POHI0Gl+C&^c|IJDBPf*0*q4rTN*n68n|3RStFx5+CE4gM3 zEJ9l?9Co<7?9ct1b{ffLN%}VpsH#*?3;_bOBSI;D^?`RJk6JYa8W6u&kd@d1l&Wy| zxCE3Z&Xp+MB92+xis=6j3>ctnVLH_Ep6=57FZ#^3_%A5R_W2*C$pWD~|Da5^Kdt`3 zpllBu|Dm63{~t$q-7sA>RfqMw279rWGIiK;pY^ui+G~A5kc?;#uMZlOxbuNfZJ0$c z=Tq6N&!Tbxn%#MMXi4EjN$0xjl2s_j{u~O_@}N0Dcjedww?K-LTqD1vuCDuq5A}Ke zYy6*LO8Gt(rOit5rPe{B?vFXyKR|~3T1mfapEkSHA8Mi8zo<#s-xbn%a)e&+IN !?o(f;^&FDQ*2-*3?YE`Mbg>hTBtCP57zIk!e@s39g=gR})uiaNG&E;29 zC;2>DkC5_9Se?w@p17!9!S VhBQe}{MDn;N~*g|q5%HmeV}GCm=*qK&`w8IMl8ArsSP@0*i8 zq6|-Xd0%w5S8t4x!;BCtN{p-51Be~pOnBcRnhdHhbzCajGf?~D8vFwGV^h-WBuQ75 zWu50z-45{wMty0ygk_ h=N7LSWr|c-RBZCPP?UKZxgX!wAMPK&^_Nra!;rD=w1!tVb z>?&0)%x^MP@-0Stq1<*UReah)Mtis$u-+Ya( )1i5*6+{S^eN-oc78y_@0yZ z%bM@iGdmUL?z{W!jKuH#q8Vw4lxM#Us88)owwO*L?GM{_EoJM<-g#+t_+{B*Lwe-J zo@7mXmw>OHG-bw2&eP=K?gyoy*(}%nH%(Ew@-JG-I4de|%n7!a* T%jLctw69S@ovlJ^3}20hgN}aXtH)CW`foLU13vs9Y|k&9<=wmLI2A;D2y4 z6YtAdtdjNHf3;Qe=XA&eeVSh8=a?Un%;v&zOwq~+#fCAhnFz{|IEQSb$TX^*Cr-|I zI%sPnxR5hlmI{d+#HDj;0#1ueRNhv=>TSfMQ`k}IqktWl^Mi${bIp>1Zqj)Y?)x`A z8X?J8T2Hid(S*P2+Ml+MdqwiG4yGH1PEG-#Pnk^SNUe;MYI*S* CcE43Iu;}D)1PdV8-x!BmBKxuTD%Os17&>r*60i$ zjjT*V@><{Cwd8RQ%}A=ssDcuBa2vA#iFQ7YHSAnFarx*)44s|O?|f5akaVLVm^r$+ zJJxw_SH>W$-`RO-bGEv3?^b9(KD@JdIPP}uhpvjlX;CphN(sp@qF-ud#iBpsz;5{R z*^IVr&O@g8p22c)#k?l>-UkeDZQ0`G)w6rnt6u#RkIVPaAdq>M#n1l9VzJHL2J;1` zf4AoufuiUWujsQ&4Zh9nMYd+&Wk~`MZG#IxXM(MUmiVmdg;y-512onW%dL}x_Kbw# zoyqX#`8a`l+fCN>K^^yn{y^#qb)V}ma <~$;?wn z+1hC>6)r7w4fxP6W(}lgeG2CSE}LM7CK5lPlqc%Kck66N_A2R^PsS7Uhkf%=>}%dfTRJ_x#z7@xxu)}5(3E>=}Pn;ewJCy-QD_K+_l z^D>wlf^E+e`<#Gds@^;^q8&Td7O0KYgYm;s>M7K^vg!Sp!7V$z(a~4R&r?m0X=4K^ zKg3lE$v|wBiSd~cS+hI%GxTIW?IN!CuNP2`BV9ii?BaLn)?RgT4zlB;qHm{{7gT)2 zYoy$jYkGEOQdJBh4D>w#w}gPYr6GgNfh`x0cCf`Ue UUQem*y`Obkh0Fsf)0Hh&SVzaLXfnFGSkuf?{(ulP^ zq? @ctJ|*yzKsqOap}=*o)16Oy zy9lZcPVxMHulGo;-Cr_0Na!7HVv=)3*^E|9B8>fn$^!_&aK))+U1s!XXh5BN)TaTU z`_YTtzsqRaHU0Hcutf5BalGjBj%bN(0lFD+8Ajqb7k}e9JQfSU?CH?6vx50kY$*3{ zs0_kY$_M68&$%CYI*-g_PLKF(Vh)cz5S$+g7)UBP_KJP#N`&sa;d8#LCpIHpoU|cR z*1m67yUl_YLL@@NY5FVtjUry8-Q@kHY_z^%gTO`$iTo<$;i1NdhKTs!{Vept5B)%E zHB|WRjxB$Z$;0v8^*$ljWql8C!YlTI6TFU_@NC$VK8i*2jpgu{Hh`nXsR*MFl;)g* zhQFdofzF5wSAR~apHg`o7WnU8L&~>S5 ;wbOBnT7T+!$jw&&CB!CG0yF4zA5T|Hk4D| z`7M8g!(|*N(nEY@?qwbEO 6YpKQvI2@ydTf=p@8z-!eu61 z)=U|jD1@cf3#p()wK-GmaxWv|xuMq=Xop3hF)VXX40 xFX{76M%&KR~ic?3>+S%D378F K=8&pV#_LJXj> ;W= zi#Q1*j!Z=)LYIcKE%LEFoPERp>&?nuf?Cm=Wrk_$!C$4^0S`}`-a2fTDHmS&m~Qid zGCI~U?XS5`YV!D~gkI=YQCw_)kIrOTwhmx)mHl%6df^ZyN_^*O#5C*lKd$L=m~;8O zkGp-L$B13T6gWls)?}`{x>wAf`6)7TS1ro95?>zWh=^spTwBxua;%b*pO=en?!58` zzLwev4{JRornnt4RLZ#OYwRkGm^q2Gn}D3tDX)>5q^BjF7y1dMs1=aa6b)mTQuR`z z)0$jAgDWTm?xH6(S#<;?$R59KRjT#|{`Dwqg;8p-RO+O>nf{I^RKa~Z=GXz&2;TAf zIo~GZ7~^ad-cK6U6($WfRk`A2RhGG577B19hPw4?B8Wqn+iB|%?#KEJJMR06XQYh5 zdI5D~jZtx%w!_LdqH6 HyHjpB!SvxcL?5u WeOGRm|y7?d^!r>