From 16541bcf48bc05bdd6f582c3c578a85d354ebafb Mon Sep 17 00:00:00 2001 From: yumoqing Date: Fri, 3 Jul 2026 14:50:53 +0800 Subject: [PATCH] fix: CRUD endpoint return format - remove json.dumps, use widgettype format --- reallife_asset.egg-info/PKG-INFO | 7 +++++++ reallife_asset.egg-info/SOURCES.txt | 11 +++++++++++ reallife_asset.egg-info/dependency_links.txt | 1 + reallife_asset.egg-info/requires.txt | 2 ++ reallife_asset.egg-info/top_level.txt | 1 + .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 846 bytes reallife_asset/__pycache__/init.cpython-310.pyc | Bin 0 -> 22625 bytes .../rl_volcengine_client.cpython-310.pyc | Bin 0 -> 4077 bytes scripts/__pycache__/load_path.cpython-310.pyc | Bin 0 -> 4388 bytes wwwroot/api/rl_asset_create.dspy | 4 ++-- wwwroot/api/rl_asset_delete.dspy | 4 ++-- wwwroot/api/rl_asset_group_create.dspy | 4 ++-- wwwroot/api/rl_asset_group_delete.dspy | 4 ++-- wwwroot/api/rl_asset_group_update.dspy | 6 +++--- wwwroot/api/rl_asset_update.dspy | 6 +++--- wwwroot/api/rl_org_group_create.dspy | 2 +- wwwroot/api/rl_org_group_delete.dspy | 5 +++-- wwwroot/api/rl_org_group_update.dspy | 8 +++++--- wwwroot/api/rl_vendor_config_create.dspy | 9 ++++----- wwwroot/api/rl_vendor_config_delete.dspy | 5 +++-- wwwroot/api/rl_vendor_config_update.dspy | 11 ++++++----- 21 files changed, 58 insertions(+), 32 deletions(-) create mode 100644 reallife_asset.egg-info/PKG-INFO create mode 100644 reallife_asset.egg-info/SOURCES.txt create mode 100644 reallife_asset.egg-info/dependency_links.txt create mode 100644 reallife_asset.egg-info/requires.txt create mode 100644 reallife_asset.egg-info/top_level.txt create mode 100644 reallife_asset/__pycache__/__init__.cpython-310.pyc create mode 100644 reallife_asset/__pycache__/init.cpython-310.pyc create mode 100644 reallife_asset/__pycache__/rl_volcengine_client.cpython-310.pyc create mode 100644 scripts/__pycache__/load_path.cpython-310.pyc diff --git a/reallife_asset.egg-info/PKG-INFO b/reallife_asset.egg-info/PKG-INFO new file mode 100644 index 0000000..cd88a1b --- /dev/null +++ b/reallife_asset.egg-info/PKG-INFO @@ -0,0 +1,7 @@ +Metadata-Version: 2.4 +Name: reallife_asset +Version: 1.0.0 +Summary: Real Person Portrait Asset Management Module - supports multiple vendors (Volcengine Ark, etc.) +Requires-Python: >=3.8 +Requires-Dist: sqlor +Requires-Dist: bricks_for_python diff --git a/reallife_asset.egg-info/SOURCES.txt b/reallife_asset.egg-info/SOURCES.txt new file mode 100644 index 0000000..a516437 --- /dev/null +++ b/reallife_asset.egg-info/SOURCES.txt @@ -0,0 +1,11 @@ +README.md +pyproject.toml +reallife_asset/__init__.py +reallife_asset/init.py +reallife_asset/rl_volcengine_client.py +reallife_asset/volcengine_client.py +reallife_asset.egg-info/PKG-INFO +reallife_asset.egg-info/SOURCES.txt +reallife_asset.egg-info/dependency_links.txt +reallife_asset.egg-info/requires.txt +reallife_asset.egg-info/top_level.txt \ No newline at end of file diff --git a/reallife_asset.egg-info/dependency_links.txt b/reallife_asset.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/reallife_asset.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/reallife_asset.egg-info/requires.txt b/reallife_asset.egg-info/requires.txt new file mode 100644 index 0000000..3f3a3f3 --- /dev/null +++ b/reallife_asset.egg-info/requires.txt @@ -0,0 +1,2 @@ +sqlor +bricks_for_python diff --git a/reallife_asset.egg-info/top_level.txt b/reallife_asset.egg-info/top_level.txt new file mode 100644 index 0000000..c323353 --- /dev/null +++ b/reallife_asset.egg-info/top_level.txt @@ -0,0 +1 @@ +reallife_asset diff --git a/reallife_asset/__pycache__/__init__.cpython-310.pyc b/reallife_asset/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3898b4d07c7a56bc8ee6031e436a104b1cf02f01 GIT binary patch literal 846 zcmZXSOOn$t5Qgo%U(Umc!$1`**kv<002IXu*s$x3Mp#NBMr{YlPE~HfHMk51&~{dH z1y-o-gd~Hj{FVCeR{NLSc@zx-|NQ>>?z?IP!4n17kJp0F{~z`LmNBL!7g;M2R-aV9|thNAq;T@Ba9%zF^q8n6P&^nXE4JUVw}Sq7qGwtk}wdB zufeMM9Qx0!5*M?rEZ9M2A~!6}vyIxi5lgw&C(*qznx#haLb3zbO3=beYgL}PJId{3 z`glnhX-i$W$z>O}Ru*pI1$)d=R)x$KyeMr|CZv|WXI)17PQupY<=(wM@2f(#F*#m4 zyR@`7xv}4NkVb8ethCZNip#yuxv1lRZLjUrsl=CRWsBO8WvNy&D_rd59nXZ8)%ASi z>0@R8M=8ybRqm{N<%`ajrA$$BU1!|#-1KlQTle1U)fsN}o3s2^Q+d8U@7tICPc^mq zFRP_%sZ14y#>_McEkc{nA#@2nLZ3jxYKDXnAtH@p?Bo*&LtEshstmvx|h-e>Q%wws~oP zzwcIeSGQ(HWaFHZUFpo%w{G3K_4>Zw_q;Wk&88ywck8iLhn9XZ68Rt82>**><6Zcx zzt@UHRAgU7S;`)>_F4Fij@je(KHFlSGZr0p_Bqmyjm5^}`{L4$k0r+4eXg_QTMNt$hQ@zND?*rTWzpY%Nt=)PP!w*0SWF?73MjR~KM=P_0laaqM!nN?nNG z3sg~Egx?i7;$rmQek(q}HkR_`Mj%Y*3eB z#5>gG>I(E+g0tCbo4Qh6h2GWbYPAu)YcTE_buD_{sjgGMfu13?NnMZMVYOM^fZw(1 zMs*W@FID#L$nY&?JhMnjSIT2!)dQ7Mxn8d{isO@NYOGRRU%VUr#k(rHJ~>gmYf?9K zx!Ndhkui6aC(5Ih@ybMFLu&U_t%kkz;`r29qgunEhbt3mQrC-ztL37q>dFWXyK850 z1gEJNk5n56i}zeztXD@TsuQCdQuoMc8KEbq8tB_p)MF(xNoizq;y`tDL%CKhjhAaR z>@EK0?mKrCu~9EpCmIz!Q65W8)+)N(s7_AQi;YQ{syxEY;zW78Qr}SAa@%FQZ!6Xt zle(gC)VcGgULh0i8n%2_l^c~tb-aRh>cFHPFE>h+2S>1#*mm<>laph0G?Tk4`fx?x zGI4k~>c>=N|J10T#HdP*XZ2$httU0c#YQWQo!dCmw(3aZ&i#k*EMCDgkD#lM&!cpB za%`kBF1Yu9j8$FRrm z!HG-eO_tPtJ_SF0$DP~u-hNAI*OohO!Rf67CnLHCV_&=WGIiO(ipGN~S1;3*+GHIx z%o5$3)ro3jL+z-aF7Yg8`X#(52gJ2pOZTBM!s~7ROQ1o)|JV4dL*gQjSiJfft6_oK zo;_!K)(PwC$W93Nj>r@D&qTfGTvXXA>P4#73ET9~IG$6#TsbP{MLr*S(pK?V`(8X0 zWjPTiax7{_S&`il&rylN$V|+O9deX=e^lRwqmt)4YC4PYF}=4DpG&ZH!kVzEk(v0t zk%^oWX~Yk?jpPCQ=m9Ij|J-w5WWqWE0P*6DlowNJl{pqw+1cp)S9L{jfAvR>SZ0p< zFpuK9%T4dNeRA^t;#4h=pQ2&?O~o+pUn)|xzdUk(X-bb359rD9bD4RUU+5MfKW^k{ z`_yv0ftOzV{HYf{dFoRidgX(Uz5Jc0U;5@_r~de}r)K|PQ}LwjC+brpBb9pHPkBlKihbx`OpPqf})JIR8dj9LD9+`dllQ@2lpCMZ}FVK&GA(!&-bm%TLuVFYX zT%yS{ey0Aw*reV%33-07;ahk6@p_}&n5yd)-0K_y1o^SC$+D{Zd5ZtG%E+Xu+(Iey zlY5TVf@T8zSZ*}*a6*$G{dmCow%YGU>lo_*jOu8*2dxfDpkcXFAUk748 z9Jk|EzcpYvR?ZrD({)n(ea%iRw|c?z_E|e>TPe$V^YT~qS{yJ!Ro47R{?Fh~`2Uk= zkpI2NF)QF}ayt~=39Fv>qTt@Bih_Hc>1@OHBA(^ho^#9z#)7Bs1&4zlqepjI;6W=g zy|UpbhujUxut4Kp95m609iyDM$G~mMZJ_st^B)#din4N5I9y$>~Q^ zMf}@}SJ>o2BKJ9%%|TEPsvaO~c|vut>HK^tbKhNQOljbBt*q++V+C9c*tk-!0l+I8 zWY{iY8+l99*^+@uqbOdpE}M3Xg0P#4zLnB09w**7pSd3e2WUQMKY2?Nj%9%6+W-@^ znIqX!8h#uXQyvFnj2sv>EEm_6I@FnORl0d36TX=|=Rwqsv5 z*ylo(L}rqWC}_${%{g8&fMuNjiEC%lWT}}90rEs-&Q-Y+)=bt*&m~pf%aB!7!OIFX zH-CF@H@#lMb8&AP_vX~5K(k&}_08r4*fFyexi_Mm7KlsFL|Why?fO6OfXjZI3G=BX zvkriBVEXE<&{vI0amPk5t*#!Zj)*N#tOLJj1VD=ysnLqC5@^hnry2)0=nL@V0e5LK zJMn7o-M9PcyYwV=^e!sQ+=xtD3Z~g5eB{Rjb+-G7I}AF$n#Vj4k~7a90|K7<%D+7G z+*5i0eSYfZqm7E%GkJey!jIo=_$j_)ec$@kKc;Ip4Hx35b3 zq3MH1LA%ILPt|B6mAJ9zq+)AmT7ns*8*-Dboj`5=tlSh0P zB6&dOwYCoD^bYPNc*{lT+c_>VRj+8?-WBY>illWWy_%bANZtto0KmB2+@x(2!uI8O zyun=@E{|2^4uUt!Yp?Uf!1$PL#oy|63ifhqg}uUxM~V5A=eT9df7&;uMH&zK3qKut z)9yF@@i+8)Fj)uwQ`FP=6H$M(ZU02Y{()5k`zIQ*e>Tu^naBQt*w@$7{#nHGiHqfv z@Dhid85d&JWg7)z1uLt*Ei6_PP~`%4k`3q(*hU?C1zU=JKAfu4+)sUO4j_wf36M;eJa7ci1ky#gcMPvIhY z3MoY$m{ENSf-le#`~pIj%*LCxp+LyO_xeKkUey5RTgodKUN*gX>%q#%{T&Dqa0tP} zD1st29CS-lE8a>GE$-a5VVAxcuT_(Uwoj37PtShs)amkamvfyraA0s=&A&^t+fljPkX zdvN8nQ&q&Qb~Ph1fN1~WN{B#zO{Ea=jX;Iq09}$H4#gsyi1Vv5Dy+E zky%@!?^{|fVO}9$Mj@AH+LCee{-!Wdoo^~^#<^m~xz^C@w%Zo_jNK1K4&yFL!4C_4 z;kBW&sgxeUG=6O7I89?Jkr5go&3|Npe*B4``)xsYMbIHs5Og;r=+}vsHI5EUvnDfB zc+M;6X%X~{7prabG7$C{Xbjpob0}WB!Hd&vSw#4Eg#|)P%%~R!05~%_&(ZJm951Jm zn<1ibYf@gW1qOL9551ojYAg$E83>puG?H^E2y|NPf}TbOwnDF0(2oKJ3KZQ5OJ!&J z&Up&g$WzF|cIbtu!wK^WUKEzXNjQc%)pNp9y@R+H)%QUgzx^g5kdYJaPi@pq=*>(4}RH3giF_lv!tg8|en zpN#=JE||V-Z;f6_(L_!VdN6_{XknC1QTQDwGBT-E6D=r0+g~NCy!_nU=_en5`CG?N zJ^tu?XyNGJ#wb5Z<0L7u7kWDeJsh!8GE;I1#&qy)00Ut{7*kX3UvuT+HeGg^?=~$A zeJOUlau)wyxsubTVD`}Eqd{T$naV_cN;4cZQmvlM3q*)s_T3gh@Y-9jAt!(^`zh0+ zv0>0dY>ZTWa!QX>=&<@pGh#|tjcRWq52RF#e|;w=)_0K*bh;q%WGrNCP^1k|EkkR# zr`ygDMB;Ut8=xf-GD>*x2BJf93~NXl=)@q zd)U`$j0lFoBGENn=H3>DX}NYog+2$)4FC69 z@z?dkI8{eThY={+a)NZhEC~$QU2uL%>&p!2^#7h!!?@GGg#d08?o2yk86+SD}|aj{?HL&uSVxE^w=9@VKf+ z#voc87(8hl(I zAOWz^_TDbq{Z;r$0Oc|;p9W_UY#3fXy=wQ-iID)sOytG*f$W$H3M+ zfTgd&z$w}Zr#~~-3NyX@N6(!3ljASF@cTQr!HT$_bBX!>)KSB-|Ai;Bvi0J4Kpyg+jOcsa+rD@M_^6j#(Z*7D7{r6|j9$teGiG@<%gfAnB zYdj|q+QoaR6tzoqnN>LJMiC;7>c=qY!u+-A|4;t9B;YS_M>u%_PK-hqbfq-rcbY)c;ZknOuwCW1q`(j)u(;5xX;Mnu>qZmqU zIQUu8XsENSq!_iNCbSCM=wncu&6TgR%*^CL8)Ngv=YIsL6*d3M!FKQO^A?(jH zwqve&36^B^5sXY?WJaY1BZnA_LG+a~NsD$!upRXD%09+jW6fEu$i&7*8eUosb0Lu9 z%ei^KyC33`ohoBHFjHR=<9&-oa|G0`?izxO3SHm++w4%MZ zJ6wl}_M%40s#!k0He{y=57ax@9S&FvY5nA_jM0d@v<)v;GyL|70y!D= zg{iFwiTp_+jkoO?OEOWp^YCXl@8 z5_3vHRlsISKA!<3AGQvxoi}@9D{Kcg5IiB6w*W+&6 z12VlS*~7iLpQm#6e?z3_68%-2VuX*Q`HzpQ8QuBWX6y;l*tSG>n8ZUWI~3iyMsVWX z=njIr=Z)^fB)WruFCshePvG;opvLD(E*jbC^m*K{&x1&gI|{s+wHdYrzC>qI@O}~u z)3zc!4BXPEA?*=t!&ZQ88I?eUsrx=Zg8R$>&)yFl$>FG8)dxI7q^SOh2R;mpj3SDX zfY-7lz%vA&L$RU(;8_o%L_fgD3`Q1s=kR@lpqfd;0?o22 z12oG%@ZovhMy6>oK5o_fJMipc9QO{vvrDEgZ{rz|3~8!zQJ8%}R11fj=hNJ;&f|KS z=+e$@nlK2sdK^E#E9kgW)dd&zzd)b<1a}zl6En81Kf`XiVIk0?E7$}*@o)t6j&sl` z3E{5^b!|sS!0O%He~^SYtZO7=Bm#SkXaJl9Y6R-U+7NJ+^Bm?#nWsH1gC+*_+IXkG z$cYw-2MKx#Y;EM>>q!;_Jvm{LL-umoK7)K^c67pUay3k8|CYCD4UFbqBb82lNZz#;|^+`&`_L@ox8DXVY}JhG<2{3n14 zK>jS1w|~6$Y-+Xs22S3Q(k`HbAStHQ-MBufb3k=cyLJI4gQ;^s2-S;W3q}^e0zijE zaSSe80yPf^u6T(SAh}3$yU0IX3WE#3`Z{E%TpWpBP!#V;I3`1(lAf&4Tws=EIX})| zj>&iIL-<(sr4Vf12gpP1#FNNeiP@HEICC)sv*Qdv&tw}3F_QpFjpVUN2;^52=;l(Y zR}$bhjHfgLK7_oahq@rosvSr8hzai{LBbpGH=o%b%FI340U5|vaV{8BOn4(>wHFD| zBC@#;9^F(lcEW%&;ipA!fT0R)EXIFg2TshV&_NOZ5%(R~AVPCq=V5@H$K@Hj|!5 zcNt5Z3E~}LHiRZclA2W}h(uy|4Vzp}{I@f)ev7;`aI4>UWCA?k0JNM2v^uWvff) z5)Oj28sXp!#Ik-6;{rX4nh*+f?k&eb0PM9?0)f|G+L@-1{~D4l-@?f{LKFh^-1?Op+ z{EOcE55xD4gfXB-Et3Sx;Pkcgg23dF2~?yVtk#MUesKj%vO_B8skDQ5@vz;tinmWu zoVpS)=Mnf1;0S$;q)T3Zi+v*c$JrA37bAWPH$}`p$kvBI_UI3@`6$S6uK^;Fq6H;z zn8QWlMean4w`FlZ_g+ZC$&FNggsm=FY()XYB`KLih-m3GuqEo7aY!JR_Oez6v>E@i zQ}bm)%s6B~-pIuDw=qG7kDoyY%e6$*UTllnLO%YLO&|XpjZ829e4-{^K0JJ6HAOcg zv$-gfb!g=26f|!HhH{8OCk9a%oH$xTVK7#~pn%w=(M-L{BH(*X;jjCUI}t+xFn(G1 zdyYT9H@GJh%p*2{9BESo00hbUXH|L>>tq%xy&q-eXcEzYAyl!X=8|6eP^v+r7-D@a zDy@90RcN((TCLtztB)muV165sbKo-9Vw$OhHvVH0j(3bW!Hv=B(xFSVdt040Uf)-_sA?0}NP-U)14q1y0>K!XmJ3AriGH!baouWWu1v zPP9Xk);VZ6Gq1K5u`Tn!Z;&v`uHzs$eT}83W@bJFOt6D{MLBmWV%Ce)N-ViIFd*|? z&A~$?FOmohbcy_uc^}km6!$$iW>GDiMzYgd&dTev{Z6Nzc3c+#!P2hK|6kc>hklXj z*MEkIJ79nsH;X@kf#-1U^Mv}!O&I7}vGNZH^#z3qFu0FJYqv;|LW*sO7gnOE^!>IT zMJuUC8(?-X(G+ro@fk2ovQS~xnSUk9qM~#pEJ^}v1<~Rtk%0Lf*5c5+(Bhwfze_Ft z)ds_NQllv=4ye;%nhRZ`20C;)QUfiWo@F@#MlLf2>>45v6T-LMiCyl^wyuUX1F) zr~>COV_=cw)v8&y34rtZ?creGl8$HBeU*c9mA$Yk5^x(h_l2{FKrCWkgy-HGo*VDH zNMKhN@y)A?#d*T|4y^P*=(H7L{HxZA4i>o=52BEDtfE_}bJv}__tcA6{)N=_0i;A2 zM__$CRv(RHEnfqx=VSt|O{#Nol1Z?bDCPd6#Zditap=gw>c~N?uNxVgLS~~0YzL~9 zF*UqSrg>lr1^S^~Qkl<{7VCqM z!{QW1WX+xKnM&daE_C|J@s}U}&~Q-oE{G<`w~Q0sN3xHkWoJ#VY|YPmKiYgK!TJ^B zHnq*L-{!%;L$Za03J1V1082<74pK;RN;$dQ(z~(iq}#R;4cvAO5;Z}+fQy$HtL&Fv z9zVUTb)l^Xu&IbwaKp5_&OC)1rt|B9>o*SR4Z6hn`sY<4?KrL|6Y2`1h2*?cCMFLh zk7_}8@O>P&7X&uv9c+sk*{NrYIvM6(c_yvL)m;4`>m9D({;Np#lgL%j7xYts2hJkA zr?{(29rc10jo8T2AM(mk=!5#FF&4Tg-dTJ{(=*O=vz?QY8z!QhHwJ!gKRgt%mo&{$ z>Zo?1u~}o#^eLIDGQOlqRW;kq-`p?lhu8kJe|bBFRd{3V*#b(KU0H(`e@p*6Tv|uj zMFJf(Y(<;>IU0dBTc}uX+v3G~F#iy#onN!S{EK-G%)ezcYLWOx>I#2x(O>W^kD<&M z>nK@rhqx}xyCg7}=G_&G>ZE;P?1Q%$;}yWXOHFS#2p6*P-Yt?w7=ziz)j*KtE-NoE z{wB!bO;{20j?B|enTqs>jV&>(VupK!uSEdcvNeC1&i62B=$Mu)VA+~5>wNsow=}PL z#L67Ok|0I>*JQ>aj0Q8p{yR>NJ0WhRj5X2nEW2<#Jvb;pJ#!h z9sv}QK+pj%3c6IWf0^fi4yxs#Fc&~qs4VD8p{s;mh-l$)X%)Q;_FY6OidxpD$<^f$ zdPqU>GRNpb;YOSLCG+_l_9m&8&3?oyZM7Wn(n|tkLgoR>FTCpQ-*mA2YRurOH4;#G z=k!fM*ni8;Tel)ypc_+I-*#|nyo}{-vP9qLErt@!$Sv%>RhF&558B{6JQAv)N;Z3f z=( z{w>LT3TP<=K6oR+n>LdFcNBakZS99`$7qN68@+L}c8vnh)oV;sFy{w7bQT5OZ#hx> zO~Fh1`Tv2vx-ta!EXsb z_jrlW5*vVz9>H2S1W1rLNGcRSh)*>Ft;OT$L%G<`6>ivvEv}4`@LbrOi^l-wbaNn>nvD5xOxKt9`}|2=4X)tRXs6#)^;_J`anY)Dn5e*l8wyEa2h zvW3{~D^%tJJ_^^mh-&&Q`?io&Nj^s+3iI=9 zQDKTFsh?!)3nXGl{wKCX*GNH%K7nnlQWB{WF%u2ZRt{g{_&Jg;nfo&PzCt3(L41~^ zxZx#K(rIcDKRr2$uhaw;bzQP}F=Ua!#Zsp%hAT3EJ=bmZ{I=UBhnZfW3uf{BfDqI*{a(LFd8=jiYmBthUwLWiRg2%0&Aul>v*dYE0f z5MohJ^RY1QAjOgZrk$H&agY89QY=^%ffNfOtzNPjeGO79$%m4XV!`jcDVBSJJ0fBy z6ymGRC?K^<{l}^YK6XO&F7zcKc-cUCNwQ>6sF}i|-!z^BSIOfUNUOiqTGDC_v|3AB ztz~Qh(@m1)zt8h*!ZFAd;ip5VtAX<$gX0w}CEIqMWJ}acRr2lBU6Ap3D_VA#!DBGI4bIt;EEl3-YT z{!~p0B^3*$YS#Xu(69dsPSX*+;4L*3MEzZDVEd<7L)Bf?bYW1>MPN&XoD-Bq=qkjS z>54d3&8KFv^9W|UQtSO;u{4!hUbgljLL%ZfT+#n=S<#=775&J?p0lDK*T($)MO^#6^l=*PNOwM4452BcbR zsjTSF)_$x~tyTTYq+;u3lzVVh|KNElw!#o)g`WjtE?Ce1xK+y`*3-GN->m7!e%$v8 zbH7Xo!NgoOeSP=J{&FkI686%}r?C)2EVe%x(vc|EFHoQcNGy_@Nhqymx!(b{#6&p6 zme>!!~E~Ibqt$O4#$Si|5K(Ghg8+YtQy}u8aR0oOA?#t$!9;e2`o5CpNWw z=rGbiAy&!a=iEwm1M9m>(FQ))R&o$hh?HWi<0vsi9w{XnE+~qOL6i8XV5G$AiAafx zHd4wovY^=pqKc(l1I9xs-#|TNsnF;F?P(zXS?X={f%Y}}LHp(7g7);9yMxSHk>7SZ zFf}3H#|%Elxx4u_%ME+*ZezG``GS#r=|n%w&5x2iM)GlzuabO&fy8wet6oe}fp5*H#*a{rcE8|0eoq561Gvi8CrR(+%Uy>f=wo#Kmk3wT7iv4U z_IV0h#0=l{lwYLJ#Qvsm?F#mo5n>`BCMaTe4R;T(^An|#nj9&W4CnKm`bm5Rb)>=+ zkolloRz6&~LG7>c%b@0ChP~y3C>lgL@doo#nK*1d%9%y dSS$EqV6#wJIloAuTd=MJWpyBky6-7DN1-PNfL?ml}Z_MLUNr!H`JxHr33XLkG_&qxqv literal 0 HcmV?d00001 diff --git a/reallife_asset/__pycache__/rl_volcengine_client.cpython-310.pyc b/reallife_asset/__pycache__/rl_volcengine_client.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..aa02bacd85631b31c1a9907cb58a6a1fd881e04f GIT binary patch literal 4077 zcmb_f-ESMm5x>1V9*>`*BfY9TSb;5!?B~9sgn>W4kzx4Jc+!c z_m-A)U8X6N_RTpoN-`&fbxdlJv26yxrN| z+1;7hnVlc~TrRD^^S(E?^TMQ}{9QIqKRPtN4`1+mD6mpfFv4mJ)lgKcH8rZWnikc1 zO@~@*CE7;KK$2H)CEI4rY^Q3esGVq~+nHJ>qK#IzovY=5PS*0+tc~GRt$@?DahxIJ z?vm0v?CfG@ihd?XmPN(+b>%=Xwom%Lxd!U=@FR+pW8>>Zy&fUk_H&O~yLG zN~O|pS+l#fT=(0R`^UmXWZCZ!&*`{jOxk`>*=qS)mA2!06}gMUx|CEp2dwGG9m}1A z^kX;-<#q{)#J#T1NJ$k5Ot!iWksy@%6b1@aMv2qjfX!pQp)XY>^gf~M-hH7tbT>@b zz48`ucR-OaedXCJSIf^n2fuJy%CmeTB#0)(4$YA&Lfa(=B3bu626n2eQkvl-X#>7B z_=0&Tn9@gF;iwOuGC)k*(Fa;TF;J??`|9nZM3-%szg;qf-fTN{p?PFa7{sgln22Q4 z37Rc;OBg}Z0iz28yA2Ysl1fcjn5Lk3U!fCF9lcz^l_sHW5;$&!k`9;=)Ni%iZDKp} zT))oyzNa!3jzFDLn0Bbrr(+sMiam`ZrgIgmSbLyieMW(n7Pn>;oS0F* zrS#Cfse9(v`B)-e=MXLgIr|hpaAN}}e+E1D5FEXMO`ICY&`gI{U+TIoY}Fml_uM)J z%)Kt52UftSjHeEvry~fWF6fZ@vQR?3Y%jkBPOJycHWBE>BXs%p<1gSjLQjX<(v@dR zNpKX1WrBqc?iq-*8@OJ;9IsA<-g03Fd6Yr}LL|XQT27smbYXNH>a+tHN+3w&S_0kw z>Vafz&!=rW;#q)Y0_k?TT0nV}MVFEK#j=(Kie859x;&H7BRjJ2{T04I(G=yUh--Za zhym*9To1G!M;gsa>YdhHSX`Fcq+IKE2p>;ul%~A!VF!}l|wD&LExS|g*7;%G)wX{PUFm> z*2_e6HlnjULu))6G-0Kji~jc-uYYY_FZ0|`zF>b3Aw|A#!pF=Vv!5C$y&TW=(>M=$ z<#`@FWi0ZPF_ziMf-l0=jwc>yy#mYe!XfI7bDib!y76jYD~s%kmu0&nOLjfN+LS@$p6yW=+Em)3DwQp6eI* z7@J^|ctP^?W}{Wk^E{vBGf~eREAniA3R?rj#}3urJhbQ81W;#yI>RP`It$cUya3cW zpw98RL$yB*`YzxL{TZIYb2AE`g>Q;447A>PHv67}FY-w^A+2YzaoBB~7x{U-_%PAC zz~=BJ=@)p3Tfm_of+dgpF7xS8UwD)4@K<(|eF8 zWxgHe*yV`%y5DN~d%;Pb9c5sdDpn$vQFi)&CR!;cmEqhShvJime|-G22mko!!%u$k z;Ny=Tu2@ti0l1Ws*IwH6{Z=6IU(PzWMS()1As+Ur4e4^*Z3rW7cIB=9@n7D1^ygnb z`qj_lWk3GYgGV3y`q9HbtXM*IcIgbT2sPO4%A~P+vr@fzEJ2uGdUL70gkM|QSh}@T ztv!}G;5q;S^vn@jfjUdP0FVP@zq;#+bU@@a$9x*Vn6X-CuJ4KDU4TG9gaxP5X~AtQ zdn-GDijL5CN_vfDtu8Bbo3H!@tVutDY&&Y~I6Dt!J_kF`b#2G9Xe>%|}Up0TO`kqF)( z4hB_@dm_*Ttx&Ceuapq_hLqfRqkIkI3=40R*J9*Su13Hj%#PZxNj-C`T>x9u4I^`e znG>8~g$b)mTQ7#ill)~5f>Ar%gmQ;*G@IX9C?3N#Jo9WHM9Qp1Htd zbXnc=_k;-vZaeDHo3EANLJVH z+`X~39s!;ht!RK&gaNp@?J!}!v|3%ae|YB=3b{<75&_ZYWpQ4Lp4d8IBmksFA_$jg z`3??5YJI;>I?}nKSfUqzwRD+2C1<1nY=UFTu|?U=0NS+M;Ew;$8aXn!oi17sBfnYUBVs!JO(PFX`}=2nf}bwB>*y2 z15N)+HJ|)tp0Iql(+MgE8 zG?H&#)3tOw>$7}PRgXFTQ#6Z6gRi128GCik>HQUGI#(OH$sUy@W9RP7F>$UEx!@_y37M&{$v0S3;trsv=je- zh=M^(I8Av%gf7Pw@$N@qO>fElUXjHOS=^MxrYwFS3mFq}%t?qJ#b+e@sk4!glSY3J o%opP8;kz>b1ec)D6*FNX`GU>i%OYLX!NNM&ZbHlJa5}mF0$Z?)5&!@I literal 0 HcmV?d00001 diff --git a/scripts/__pycache__/load_path.cpython-310.pyc b/scripts/__pycache__/load_path.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..423b9c18418d48fb7536e700dc4a865bddc99a4b GIT binary patch literal 4388 zcma)9X>8oa6()z=L!;aBeZ;h5J6RuMVkdFxxM>tiwOurlAt^tyKta%)(Tehlq=!S> zTC5B=GFlYK;R0>aHWpx^2T~wu1Eha?p}%|I7ki|wtySDB1=<3w(WHGtuBefvwB>@s zZ|2RsdFRYqzr7tR@VuJeG4a|OMY%3I@>7J)Bk+a?HANvxSs^MxRkf@pUsOiPS1W5o zBl=~ftW$kPDd%V|G-#gWW>i(7+O-17&k2Mkiq~3bjuc3dw9M&coQ>c)RBk1$fVP9kW^mmD?*y+Mh)qR-2U0SuMj|67H7p8VUDEc&&ujNqD`4H%NG+gf~fe zvxK)uc&miBN%#&4Z-zDMQ65b=>yCi(Kgi8|ME8%?--Y?+; z67H3-DdBr0e6NHLO8Ah3@00NT5`I9!hb8==gx?|IBNBc{!bb%zcQm8sompf(oS}DR z=#dQdW$00ez+e6oqlV{Ksl|4^;W)xK+Xe4<{ z?}=i_9?Ym+t-52>vcr&aqw(V0{Ot3_@S}aljK=KD&5vJM_}tvWl@Gjr`4f$+FJXM+ zt6y9A$cv5VzSwy6qerj-k3)=$CZmBLnxS2x$yl!$OdT>$yB>V`xbI~%mhWbU4s!z@ znpNK>R$%k--e3yj#^;}Hyfk;?%b#4h_Wt>2Kh}8R3-h0OvT^l8jptr5#3W<>gI`*B z=9M?T^3=_%m*%fL)p+^SFbAlOmp_%tdHvFp_$Fwl3_7A+d=P+Ec#pvw)}i6bgnA7Q ziaE83P!nlMUv71tn}d1cSJ9@Gy3((_Z|iirE}zUU)K#L*0SER_(q9_Y)6u$$zyTx5 z+3f_{Qf{!;CR?tSznEAs*1&ji;r#jY%=dYz7$ZN7b)k5S>4m`dNEA{Q7l_L|dy>Wl z`*fI4imX=uAm zAO0U6iaW+!k66OnmJqR9m=lg@1tYBPRP{HDx&3NUMVEAyb-{3L&%p5T(C`uCnC*E! zH^gdV1XdejwE>b+hx=^mrV5jpa8j&6?8Nyrcxqh`n6MFO7J#e}B5}uZDQ~G}t!PeC zFY1ll+B(w?K%1)NKxCh`oin{845n%=CTvSDh#5Vm0}ME|&e_$(EMlYQ1UBaw7lqCf?dPDHWz zR6wn&8}d|;bdK5I{Y>Be|HVP#! z7d+OQOS!W&yVFcWYq~pf9dWiVK01ILyvb#}2LM;NT3707MW03-O=xwvm_-f$v^K5P zwF#YQXP|Z|>4T$irFA%Vz#~R2KjJ~eW1Z6roQVshl#BDHo)|qbG#Gb|42)W*28JKA zMve`iJT)3)Fm%9thlXLSvB-;|`~fbW;}craV_jS_Ob8Wg&LoNRjD}H_C)Z`#bP8G< zthB_PB(9^2FcRjWX;ZsYtTF@O3O&Vtl|;{e07RWebrs5o)@dj(Kx1tNu};ty9ag5% zS)D@}QCHxfhF(X|<~YorQ32&=3*ui(U09(om?+D{-CIM3QA0-zwoY`qlNu>B7_C6W zQ$|TiOQec(0dqYbYgOu%bhZs9!w{4eVVraP2qmgjkMHuY$ybJO9i$=$l5Z}cYMGa9vT`=j2gF`>Ki>VV)YF^ z5x1xCy+g-O4i5Ck9cgz6g1m2ZXgKan`y-FTz~dtW!zDG&aUuWhj@2h^*LxZ^3q^(2 z0siY~{<_pQm6<{es3*lN%POsl3zkKE$FkUFpfKUpSPQ4Zq`qS%F_uWK(+e(7GKh&n zn{5=$reyYGL;Y;8=P( LY{9Ld-M{|>oK#bT literal 0 HcmV?d00001 diff --git a/wwwroot/api/rl_asset_create.dspy b/wwwroot/api/rl_asset_create.dspy index 33ea07e..3fa994e 100644 --- a/wwwroot/api/rl_asset_create.dspy +++ b/wwwroot/api/rl_asset_create.dspy @@ -16,10 +16,10 @@ result = await rl_create_asset( user_id=user_id ) -return json.dumps({ +return { "widgettype": "Message", "options": { "message": f"素材上传已提交: {result.get('vendor_asset_id', '')}" if result.get('success') else result.get('message', '上传失败'), "type": "success" if result.get('success') else "error" } -}) +} diff --git a/wwwroot/api/rl_asset_delete.dspy b/wwwroot/api/rl_asset_delete.dspy index f6ea927..2faac01 100644 --- a/wwwroot/api/rl_asset_delete.dspy +++ b/wwwroot/api/rl_asset_delete.dspy @@ -6,10 +6,10 @@ if not rid: result = await rl_delete_asset(rid) -return json.dumps({ +return { "widgettype": "Message", "options": { "message": "删除成功" if result.get("success") else result.get("message", "删除失败"), "type": "success" if result.get("success") else "error" } -}) +} diff --git a/wwwroot/api/rl_asset_group_create.dspy b/wwwroot/api/rl_asset_group_create.dspy index f721435..275c91a 100644 --- a/wwwroot/api/rl_asset_group_create.dspy +++ b/wwwroot/api/rl_asset_group_create.dspy @@ -14,10 +14,10 @@ result = await rl_create_validate_session( user_id=user_id ) -return json.dumps({ +return { "widgettype": "Message", "options": { "message": f"认证链接已生成: {result.get('h5_link', '')}", "type": "success" if result.get('success') else "error" } -}) +} diff --git a/wwwroot/api/rl_asset_group_delete.dspy b/wwwroot/api/rl_asset_group_delete.dspy index 25b2646..951800b 100644 --- a/wwwroot/api/rl_asset_group_delete.dspy +++ b/wwwroot/api/rl_asset_group_delete.dspy @@ -6,10 +6,10 @@ if not rid: result = await rl_delete_group(rid) -return json.dumps({ +return { "widgettype": "Message", "options": { "message": "删除成功" if result.get("success") else result.get("message", "删除失败"), "type": "success" if result.get("success") else "error" } -}) +} diff --git a/wwwroot/api/rl_asset_group_update.dspy b/wwwroot/api/rl_asset_group_update.dspy index 211eb5a..86c3fc2 100644 --- a/wwwroot/api/rl_asset_group_update.dspy +++ b/wwwroot/api/rl_asset_group_update.dspy @@ -5,11 +5,11 @@ now = datetime.now().strftime("%Y-%m-%d %H:%M:%S") dbname = get_module_dbname('reallife_asset') db = DBPools() async with db.sqlorContext(dbname) as sor: - upd = {"update_time": now} + upd = {"update_time": now, "id": rid} for f in ['name', 'title', 'description', 'status']: v = params_kw.get(f) if v is not None: upd[f] = v - await sor.U("rl_asset_group", {**upd, "id": rid}) + await sor.U("rl_asset_group", upd) -return {"success": True, "message": "更新成功"} +return {"widgettype":"Message","options":{"title":"更新成功","message":"ok","cwidth":16,"cheight":9,"timeout":3}} diff --git a/wwwroot/api/rl_asset_update.dspy b/wwwroot/api/rl_asset_update.dspy index 0daf634..9ecf376 100644 --- a/wwwroot/api/rl_asset_update.dspy +++ b/wwwroot/api/rl_asset_update.dspy @@ -5,11 +5,11 @@ now = datetime.now().strftime("%Y-%m-%d %H:%M:%S") dbname = get_module_dbname('reallife_asset') db = DBPools() async with db.sqlorContext(dbname) as sor: - upd = {"update_time": now} + upd = {"update_time": now, "id": rid, "org_id": org_id} for f in ['name', 'status']: v = params_kw.get(f) if v is not None: upd[f] = v - await sor.U("rl_asset", upd, {"id": rid, "org_id": org_id}) + await sor.U("rl_asset", upd) -return {"success": True, "message": "更新成功"} +return {"widgettype":"Message","options":{"title":"更新成功","message":"ok","cwidth":16,"cheight":9,"timeout":3}} diff --git a/wwwroot/api/rl_org_group_create.dspy b/wwwroot/api/rl_org_group_create.dspy index 6396cfb..3f363fb 100644 --- a/wwwroot/api/rl_org_group_create.dspy +++ b/wwwroot/api/rl_org_group_create.dspy @@ -17,4 +17,4 @@ dbname = get_module_dbname('reallife_asset') async with db.sqlorContext(dbname) as sor: await sor.I("rl_org_group", data) -return {"success": True, "id": id} +return {"widgettype":"Message","options":{"title":"创建成功","message":"ok","cwidth":16,"cheight":9,"timeout":3,"user_data": data}} diff --git a/wwwroot/api/rl_org_group_delete.dspy b/wwwroot/api/rl_org_group_delete.dspy index f53b58c..77bc778 100644 --- a/wwwroot/api/rl_org_group_delete.dspy +++ b/wwwroot/api/rl_org_group_delete.dspy @@ -1,9 +1,10 @@ id = params_kw.get('id', '') -if not id: return {"success": False, "message": "id required"} +if not id: + return {"widgettype":"Error","options":{"title":"删除失败","message":"id required","cwidth":16,"cheight":9,"timeout":3}} db = DBPools() dbname = get_module_dbname('reallife_asset') async with db.sqlorContext(dbname) as sor: await sor.D("rl_org_group", {"id": id}) -return {"success": True} +return {"widgettype":"Message","options":{"title":"删除成功","message":"ok","cwidth":16,"cheight":9,"timeout":3}} diff --git a/wwwroot/api/rl_org_group_update.dspy b/wwwroot/api/rl_org_group_update.dspy index 9ae279c..69be448 100644 --- a/wwwroot/api/rl_org_group_update.dspy +++ b/wwwroot/api/rl_org_group_update.dspy @@ -1,11 +1,13 @@ id = params_kw.get('id', '') -if not id: return {"success": False, "message": "id required"} +if not id: + return {"widgettype":"Error","options":{"title":"更新失败","message":"id required","cwidth":16,"cheight":9,"timeout":3}} db = DBPools() dbname = get_module_dbname('reallife_asset') async with db.sqlorContext(dbname) as sor: recs = await sor.R("rl_org_group", {"id": id}) - if not recs: return {"success": False, "message": "Not found"} + if not recs: + return {"widgettype":"Error","options":{"title":"更新失败","message":"Not found","cwidth":16,"cheight":9,"timeout":3}} upd = {} for k in ['status', 'vendor_group_id', 'local_group_id', 'vendor']: @@ -15,4 +17,4 @@ for k in ['status', 'vendor_group_id', 'local_group_id', 'vendor']: async with db.sqlorContext(dbname) as sor: await sor.U("rl_org_group", {**upd, "id": id}) -return {"success": True} +return {"widgettype":"Message","options":{"title":"更新成功","message":"ok","cwidth":16,"cheight":9,"timeout":3}} diff --git a/wwwroot/api/rl_vendor_config_create.dspy b/wwwroot/api/rl_vendor_config_create.dspy index 0cc77b0..9547500 100644 --- a/wwwroot/api/rl_vendor_config_create.dspy +++ b/wwwroot/api/rl_vendor_config_create.dspy @@ -7,16 +7,15 @@ upappid = params_kw.get('upappid', '') api_mapping = params_kw.get('api_mapping', '{}') if not vendor: - return {"success": False, "message": "供应商标识不能为空"} + return {"widgettype":"Error","options":{"title":"创建失败","message":"供应商标识不能为空","cwidth":16,"cheight":9,"timeout":3}} if not upappid: - return {"success": False, "message": "上位系统ID不能为空"} + return {"widgettype":"Error","options":{"title":"创建失败","message":"上位系统ID不能为空","cwidth":16,"cheight":9,"timeout":3}} -# Validate api_mapping is valid JSON try: api_mapping_dict = json.loads(api_mapping) if api_mapping else {} api_mapping = json.dumps(api_mapping_dict, ensure_ascii=False) except json.JSONDecodeError: - return {"success": False, "message": "API映射必须是有效的JSON"} + return {"widgettype":"Error","options":{"title":"创建失败","message":"API映射必须是有效的JSON","cwidth":16,"cheight":9,"timeout":3}} data = { "id": id, @@ -36,4 +35,4 @@ dbname = get_module_dbname('reallife_asset') async with db.sqlorContext(dbname) as sor: await sor.I("rl_vendor_config", data) -return {"success": True, "id": id} +return {"widgettype":"Message","options":{"title":"创建成功","message":"ok","cwidth":16,"cheight":9,"timeout":3,"user_data": data}} diff --git a/wwwroot/api/rl_vendor_config_delete.dspy b/wwwroot/api/rl_vendor_config_delete.dspy index efccae6..c7d4e80 100644 --- a/wwwroot/api/rl_vendor_config_delete.dspy +++ b/wwwroot/api/rl_vendor_config_delete.dspy @@ -1,9 +1,10 @@ id = params_kw.get('id', '') -if not id: return {"success": False, "message": "id required"} +if not id: + return {"widgettype":"Error","options":{"title":"删除失败","message":"id required","cwidth":16,"cheight":9,"timeout":3}} db = DBPools() dbname = get_module_dbname('reallife_asset') async with db.sqlorContext(dbname) as sor: await sor.D("rl_vendor_config", {"id": id}) -return {"success": True} +return {"widgettype":"Message","options":{"title":"删除成功","message":"ok","cwidth":16,"cheight":9,"timeout":3}} diff --git a/wwwroot/api/rl_vendor_config_update.dspy b/wwwroot/api/rl_vendor_config_update.dspy index 0b0d977..4204526 100644 --- a/wwwroot/api/rl_vendor_config_update.dspy +++ b/wwwroot/api/rl_vendor_config_update.dspy @@ -1,29 +1,30 @@ id = params_kw.get('id', '') -if not id: return {"success": False, "message": "id required"} +if not id: + return {"widgettype":"Error","options":{"title":"更新失败","message":"id required","cwidth":16,"cheight":9,"timeout":3}} db = DBPools() dbname = get_module_dbname('reallife_asset') async with db.sqlorContext(dbname) as sor: recs = await sor.R("rl_vendor_config", {"id": id}) - if not recs: return {"success": False, "message": "Not found"} + if not recs: + return {"widgettype":"Error","options":{"title":"更新失败","message":"Not found","cwidth":16,"cheight":9,"timeout":3}} upd = {} for k in ['status', 'callback_url', 'vendor', 'vendor_title', 'upappid']: if params_kw.get(k) is not None: upd[k] = params_kw.get(k) -# Update api_mapping if provided api_mapping = params_kw.get('api_mapping', None) if api_mapping is not None: try: api_mapping_dict = json.loads(api_mapping) if api_mapping else {} upd['api_mapping'] = json.dumps(api_mapping_dict, ensure_ascii=False) except json.JSONDecodeError: - return {"success": False, "message": "API映射必须是有效的JSON"} + return {"widgettype":"Error","options":{"title":"更新失败","message":"API映射必须是有效的JSON","cwidth":16,"cheight":9,"timeout":3}} upd['update_time'] = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") async with db.sqlorContext(dbname) as sor: await sor.U("rl_vendor_config", {**upd, "id": id}) -return {"success": True} +return {"widgettype":"Message","options":{"title":"更新成功","message":"ok","cwidth":16,"cheight":9,"timeout":3}}