From 8ca284f7625628c273f358e65966716711467e3e Mon Sep 17 00:00:00 2001 From: Edward Yang Date: Fri, 14 Oct 2022 18:11:55 +0800 Subject: [PATCH] add token for marketing --- .../Http/Controllers/MarketingController.php | 17 ++----- beike/Admin/Services/MarketingService.php | 45 ++++++++++++++++-- plugins/Paypal/Static/image/logo.png | Bin 10610 -> 11470 bytes plugins/Paypal/config.json | 2 +- 4 files changed, 45 insertions(+), 19 deletions(-) diff --git a/beike/Admin/Http/Controllers/MarketingController.php b/beike/Admin/Http/Controllers/MarketingController.php index ea76eb77..a171cc52 100644 --- a/beike/Admin/Http/Controllers/MarketingController.php +++ b/beike/Admin/Http/Controllers/MarketingController.php @@ -29,7 +29,7 @@ class MarketingController 'type' => $request->get('type'), 'keyword' => $request->get('keyword'), ]; - $plugins = MarketingService::getList($filters); + $plugins = MarketingService::getInstance()->getList($filters); $data = [ 'plugins' => $plugins, 'types' => PluginRepo::getTypes(), @@ -49,8 +49,8 @@ class MarketingController public function show(Request $request) { try { - $code = $request->code; - $plugin = MarketingService::getPlugin($code); + $pluginCode = $request->code; + $plugin = MarketingService::getInstance()->getPlugin($pluginCode); $data = [ 'plugin' => $plugin, ]; @@ -68,16 +68,7 @@ class MarketingController { try { $pluginCode = $request->code; - $datetime = date('Y-m-d'); - $url = config('beike.api_url') . "/api/plugins/{$pluginCode}/download"; - $content = file_get_contents($url); - - $pluginPath = "plugins/{$pluginCode}-{$datetime}.zip"; - Storage::disk('local')->put($pluginPath, $content); - - $pluginZip = storage_path('app/' . $pluginPath); - $zipFile = Zip::open($pluginZip); - $zipFile->extract(base_path('plugins')); + MarketingService::getInstance()->download($pluginCode); return json_success('下载解压成功, 请去插件列表安装'); } catch (\Exception $e) { return json_fail($e->getMessage()); diff --git a/beike/Admin/Services/MarketingService.php b/beike/Admin/Services/MarketingService.php index ab936939..35cca426 100644 --- a/beike/Admin/Services/MarketingService.php +++ b/beike/Admin/Services/MarketingService.php @@ -11,27 +11,62 @@ namespace Beike\Admin\Services; +use ZanySoft\Zip\Zip; use Illuminate\Support\Facades\Http; +use Illuminate\Support\Facades\Storage; +use Illuminate\Http\Client\PendingRequest; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; class MarketingService { - public static function getList($filters = []) + private PendingRequest $httpClient; + + public function __construct() + { + $this->httpClient = Http::withOptions([ + 'verify' => false, + ])->withHeaders([ + 'developer-token' => system_setting('base.developer_token'), + ]); + } + + public static function getInstance() + { + return new self; + } + + public function getList($filters = []) { $url = config('beike.api_url') . '/api/plugins'; if (!empty($filters)) { $url .= '?' . http_build_query($filters); } - return Http::withOptions(['verify' => false])->get($url)->json(); + return $this->httpClient->get($url)->json(); } - public static function getPlugin($code) + public function getPlugin($pluginCode) { - $url = config('beike.api_url') . '/api/plugins/' . $code; - $plugin = Http::withOptions(['verify' => false])->get($url)->json(); + $url = config('beike.api_url') . '/api/plugins/' . $pluginCode; + $plugin = $this->httpClient->get($url)->json(); if (empty($plugin)) { throw new NotFoundHttpException('该插件不存在或已下架'); } return $plugin; } + + public function download($pluginCode) + { + $datetime = date('Y-m-d'); + $url = config('beike.api_url') . "/api/plugins/{$pluginCode}/download"; + + $content = $this->httpClient->get($url)->body(); + + $pluginPath = "plugins/{$pluginCode}-{$datetime}.zip"; + Storage::disk('local')->put($pluginPath, $content); + + $pluginZip = storage_path('app/' . $pluginPath); + $zipFile = Zip::open($pluginZip); + $zipFile->extract(base_path('plugins')); + } + } diff --git a/plugins/Paypal/Static/image/logo.png b/plugins/Paypal/Static/image/logo.png index a8ab186f57dde491a67c90076aef9cecf4be8a74..e078b42531dc2a0f6fdd4798c117d2c9ec983551 100644 GIT binary patch literal 11470 zcma)?MOPdQvxEumu7kU~yK8U>&fpN--Q7L7Yj6z`2o8e;3+@aMTxNp%eZPNj7hS#W z)4h34b;WC{D`KDmP+?$TFqD<#wEycf|CK5-;(t1;$%_vILj|KOC#~yOco~e8YpU;k zHSoaPwR@_kQ>m3>(=#!QU@_Qf0vTbzB6VU+yGDqGM~=$r3vxFLi^@)e*B-)Fu{5KA zSQrf=JGBgr@4;p#+bDO^Ia(+4Rh)KpE#ANQ2p{i=ssZ?4C*JN%m3bewJbjEEo9~)` z+{?pZ@Xbs8|Ah^2)bmmcCVos(;ZcuDF6Tp%)SQBtI8JdeZZ&rV(QJ0Yz0BgX;5=M7 zre*>X#dak0lxNt2obhp9j0^EZF0$#92to!o+}kf@bd38Y6xy4@@r18?HW>ZEhuIrn zk(XgKUuTXfMolRLVW4v8F=g!S8kUrwsPVIuaj5eXSB|(=Fz+n46PV2Wp(=ggpEuIA z)Dqwx0c7FNqQ-C-g(9QsnWjeeUIsoWn=Wr+)zvB|mvMtO@Yd^r7)y+Ck0Zp=V;*Uf zL}^pm7WVkYE4~MpUBI}mt)SYz9ZxA@guMuU`0wF4NFL9Vd{$m!SY7+&^f<6^2=o_O zuLS^F^e8U5Vf=JA*k9zzeo5f5biQ{`$vY!O@ENki3)nb%kY^6j0wetE-e0%?9(MoJ zH8$Hn2vMq+4QZcD%!QtRTCKJDAV@rXvx6W}zGeqyYPV!M*!(v(Y2lJbp$dUkhY4~l zyj|+{Ke4bgcp{gJk(&NTy8eHcHBzNT?6Xbbi0UYxQIiJ@?EVm%TyJR(C2^l1&Tp6YB=tRvhItJYcUg0uW)dvI0}0Ycn_)^nr(=(NQcY8G?V z39yr+vbhVVP4{l((?Qln0nr6n6ojz{u5Erkj1g{ za?;<>6eZ!NXwa!Uv|aMcK(WkNpuBw422f%e;yY<#2_iTW5?;Ldi5}-qhc=U^UDAIFv<-iY9XGDy&DSAV zf6ODXhAEc5BC8P?CLi`~A}N*#GkG5kxJm!)==Qfo&LmE{f2N)0=Vm4`;AHTOK&!#5 zhi1aoyh&UU?e#f~lq!jnYk$v}wtekM8#8|hud##PF3NQ(UjbVH`8gBEDGtXe`K!H# zf>cl2otRLPw5Xl56OGPj)?kpwHGBxSmNZ{oqQpP0IA`81v8AYjXBuss1k5&hA3!x9 zO4u*XlrjUB$UleWsmGr*G%;L!01a7$$p#dw3_p@S(=G4eVB{-+ZCUJHlWRYdb#rI| zu5S4=6p6o^|0UkJDJyyezj0EnFS79M_OVxXR-K8j-i?;VRxse=VB`SjW4pH7F!XXg2|kar_XRE;`PL)`+)UN4_kBi=@;w^ zAKG1uK;%7I%DW3IiB!Q*3B>a(V$X(Lnfg;*f3nc;Oc$hfJSbIk*9nD<>M@^UFw(Ri zRjBIRImSvJ+1m)6M1%+!l&X`IG7vB4)L1Q>C(gM|A@3pYE@lH6zSqm$MQ=7=F8q)T!Dmq8)HjJ$!>mM3rZY; z!%qILGRq!D4mPj`x zyeGFd66;AKAVu*8ISM^;ER#Tk)7aV2m!L;Vit*i`XX;S%tfMz??!`kBcd{wtuuJJ0 z%e$dD1(UPC5yQ0Fe(1y4tKxJU7*v4qUP=}4`3N(1|4T^)c)u43#L3&o$srSk_>|t( zi_RK7|466%3ncR3v+oM>OrJI8y2E=Ib~gbpYW_&(6c6$Q-eITMwnmsZlHxk{hPT9~ ze$d2TCs~hT`Z0jKc8A=5+oE!z|2)~Zy}75T=IN@J?4^+1T553*rhGqZPu*XC1Lj&SUk%wUw7|;2~WSl7zx}Rv(OP4sQAyr5LMhW`;w0(+ICprlUj3N@!xVXE!N z15?bMXcFJAzUY$m&Z6y4RkYKmFg{S=$+AZst+Eu;g1-K-K&#vGh_(pE^?Qj{Lp~Lm zq8L$aiZDGz4dJq(wkuGI5!W(<-K9i|o{gTg@bfE=5X90Z$rjxfmY_cDOCm72!dimo z7n4XoQO-X>$@{TQ_}^WYB1DA5!nG%HHmsmh#kX*K>@y-oWMW!^vTX=i0livcA3^p# zN%Lad$y7P+P>2BvQCCsey9DzD31z`=YU@7$tIyasLIGllzPs+sJ9jJkv%TvlC-@=f zO|E-mBZgjGv00%yMv(jE z%QJGq*O$QsbeCsC074G6YAw%l*5t?sH!@GLQO1f=?Zcr`J{9O(s2Q)uc zLHV=c7&oGF<#)spiPq7a^%UX)23Kd4n!2@hq2t=3hBufY6^*uJ=NDf);ri;S*Qqs!JA z?SVIUTaT@8nq=*3wfH)!wv9&afwb`>LP{dP#huAQ*4ay<5bM8)JY9t9{_aRNW9d&d zuyOya0|Kg%mrFI&sRw+J^H@2NW)9^q5Jwv`hz@VNoPgax;^M(IYXEyA)PZvBfLKNW zIWk!7pReUr5NH_>E#%T1DL}+ntJPUfhCc)iYQD~~uZ6c@AoretH2ocE%37>mB%gz) zhfHi$md=`nEIv`5ssM~!osvfXs=P{Ajj`}L$L3CMW6;f|EKm6uxbeq^_}?pHL~y&X zTd_DkcZByGLiO)jZam_ofDOAtZY3M$TDSv!ucUOI1$) z{v#AK zrt`$E-JN-)c?f%NVV)7FqK{{o>9*=&yAstNoomCNo3&1_gEZj5HU5n8cIGx&`3a{Vbh(kSYBYma(m; z`iOU}8COw5!|SlduARdvHjITHJfH&&v(GA}*ZSf4HWv>=&UdjR86LkbCSr8J?+mUt zQe1B`pB`6#Vr^386MpA9W!s;fp(>Csz3cT=q*>v zt7YRD2tt;88gPwmI{)+A#GH;PJ>b6UTikJBZJM}z&!f8$Feq*Q?fB$2v zanE)HckD6o*_mO;TovsAHwnS|skR}LsbWyw#?T0!&4O>jv)lwOP?kDEzl()1k!PVP zL4W9Dhd+6af`eM}9EKWhPgGPnLEfuj-}1qU0@&>LILO)lIP{~4YY5VW!~oO3sPlzB zS)0&h9d~54$*?M9u0_(Z-U%_(kjuct9zB8J=+zvKkPy%#g-KaNxIXh{>YT`_Rh%%~ zKGdgT3OTl>@^LB;=Rx$e#LZUcaz8ds>klH8!PC(eO{>#0JGvp~Z~Y|BhbvapEbLh2j2OsF%NM=c!8^ioSWlTt$+-7>b$Tt}7 zA;gu_XtQE%!b+ofz`m}Q@lwqqt)I}^lfLiz0Bav?3gYT6Copx^%FC%K9`Vh*tM83i z=(l|dKzA{XwU!||>Ig0BD#r)}<_?XdQjYRBZ*=b&X#SYqd83pZpN+-bD{rjt*?_SD zXygt#mBDyGVRrmq=%qOoyOm}A2}_%nFv7<{3($GI`^a#!7G9Nsh<#0g*dNF3#` z`0Z*Dj})5<#%l1lZJcj-)nKAU!>#*F5_Ao{uxh6LE#8Nqzef>Mhthr){(rP2uJ?~h zX7<|dnQmu=RAsq)67D(u2B%h()I>B81`b7ksY`WZsTj0O|FEYBAX1Jp94yXAR{2Xz z_F}DG1g>SD{!E1PWV01DYiFL6LL)h!nEvqIk4^0C0gxLF3`*2*GyH9NqO9%oRs79b zEiZuuuAuO=u9tL?D|5=~JUTc|&bq&dOSG1+SvwE*eUEb>zT}!hI#j=$<2&e~;WUqo zL#P=m$F#%fm7|2y9ON2`34DJyE9~lrgEL7CR6Sh}kRJ&Jy%kuCC0XmBO9mZMv2-FN z7x)K>E!A5Fo?L(Di8B_&+J8-+$t`4#H`PHE3|D7j0}WMZP^Mqfde#)g%lo?dpXbG6Gs>jcPuP6(|+AW%NDR!`Uwk{CZbe3X&;M4U{j z)?8&Ul#CCAY|EBVL~Apuss@O%B!^mCVsP=9ERg8?mMRgElTEFMO|s|Z>zM}S^w0p*<%4X)r(fa4G>#axHWAsg%tZ)Q;C|(XY-9d5 z3nAIEM;?cwd<#}RbD?6`Y-^>j8!2V<4x2?upF4*9F#yEdSI$lzpp^;ZD2kYl=6u|s z==%K}P)wUKB-Z#grYziBQZk;ecbQg(TI(2{T@FZ5KZ5RbnWFO2sTGU9pO}d~O`|x8 zHlw9{mSf;VVk|a6v=$1?WFCTwMWJI{vTKc6F{s{!F0=tWtE^}6z4V=r-)Wq3g#vshPA(|jEa!)_)|5|Y}E*AP0h&}Eh_ zf5&e=p%$HSUORBf(Neh;Cf-k76#S4iYm$6VGMj!lAxvBH7;zhNpkxM8y}c5Hu>AFR zoE#R=5!yz(8>r5 zOjR|s4D?N7+_fKp_<{Gy<~P;S!k{x`_LR`)KNWr_@i-=ZJ^C#wntE4@UrAeAVp2a& zG1o(n!f?qe2pC{PgF&_%3k)v}Q}Hg(*Bsez0PKX)^43IqTYBqA_#lk33`@jJe9`$H~fQ z^o4n{Di5WzS9XTBKTq8qF?=?-j=B38hiSq;EVWx32rS|P=npE?ozd)4PGqo)L%EaX zhBZmYWEyfAGg#7#;o@ScU37gJ`FU+23fpmRcCHk^Q@a zumdsS2(kZhQ4VyQ^Bb#`2TLkv$gM3O{l1WhL}Y64yL$tL6DE8jaL#iJGue9nj|?Pl zpzo7lUjSZ4Jj=R=wG$%c%kNak@(XaV?j4ha5)~f6ltb?2JLS1h9*z8QYjJ}y&|a`((H5p{qg9w-Hng5Oiw`X(e)2TcDplYmiF(9DIGtc;Ml`v!VfA~kQHzU~ z9d^lP%L^*jGQLIj%J)Ym#0>sHV12E8FVud|)vP&ZD*z)i?0)^adoLi5|lVE{v7y=;^E^K`#B)Pa=}fsC^cBfdM|#Pw)YYGyavUN6@AA;OCzE}V( zYU8@i-4;_~+zfq*C4c2xzWFj}bujz=tkj_C+0yn1*XJXdzjZJ!&TA#WI{3Z;;4m&e zQEl#d1XOtc(t+bGV5bGLC7OCOOQ^E0DY+V?TG}BcEgTG9upx(5)pJ(TeWFvk4|4f{H;F|FEzSRSnL7F^ zfK%l=T2ng|Pop|_)bjG=K1zeW`+6)0o)rXgG|dow_JcqpiBBAkzO^NM3r7yfo+fyG zQFOtD9U&5sl-9M^eNRRiKFVzPv+2?UAFbVE8+0gh@L(T*I`2*U_-pr8-A z7)Bi8dkrnl*v^|3lfFv$=?ipDA|kc~FqU8TMJS~&Re@x@#^b~Z>j3z^FL=0ZswjLf z*P=EzgO7lsNq~r=%oWH#q%CYo0S)DxR+yqlW92!tV{dSEhm0nRcQ@(h=clS2x%o}S z;Go6xz&x6C+g~( zTv{iY92;T2ED8{+^_Rg57ZaXuJU-X=V)K@Jz-rKjDx_EJf5a;2#6=C?G*M@vAcb0r z#iB}5wK60|*1{B9^(qO-bFC4LT?!VZO1>9e+PgZVas>T5&4IjzGdGag=gjHy@^EK@ z962vR_n%kl5tpA`n>P3lUAp~)8GnjeF&RsZO0^JWvl5Er%X+`(xth6{Z6>mIH4b5g z2EefP8ZSj4WT4=^#MVIPE0Ej|_>CdI(P$qb1Mldh`kfKNW~E%@vF)MsTQ8G>rN4TZ zOOxNM;@Tse+XjX20?xybBTM%JAgE~)cH3giE0Li1a*@uCe82N4zoY;3y&Cn% zRAIC*fkWfl&6lGDMeM`jS*IAf2*etH4fSO07>uQv#3Y?dutEg%M)fw478b{S6CC)W z9RTGPM9%JbL?wc8)0_Y~riO?{8csEZl~h%HEgU<5pZ7+$W=m`EW?DcBWet_*`?tCJ zZp`Myx_X;^g$f%{gWjK?P0tWZ(n&}}I$ckP1^c^5tr7HkJpK%`6PkiQyZ7D5?&A4d z#pf~?e*)L*hy}U<2K*2FyP^CDDV|Kyi#9tjcT`?bfd^QNer8*45;)gP#^5l;3r-~c$0VJ}G~epU{~g?os1 zQ#w^?IK4Tl3erk629GU+~pu zV@QhkptJ150mNIl8K4r ze}mWM;=yLHn4mKt6@)8WFJQ5t0frM|E@x4>*`}3FFX^T&Vj$lcEosfZ(@~Z%QvuAL zO<>NtndmKBDl9ZXhW9eI{oXPtY_UUNUE4|AT6|Xnf)U0}0V^gF0%LK!shHwc&+(Yl znY~9p)OdrAezn(gNfrT@?f^A4)?)|K^75yKS+C6MC=>jrpszc%EU%`kP%d6k){ttN z)dcwWlqkYVOmWDGg`5zcd>#Ky=g52(-@-0AmJ!hwP`qiN3(r{4XAhK0J|YF=aq|x_ z+V{JtwGhjF;96T{@MUJGZOk~g3}8ttD*1&m!;V6rbMrD5;V=W|uW$VUNPi~(d7^!S zL*zj?f?@iU*T0^F z+73@TK(VaeB5&o}eyYrTVO9h3rVp#~&@_kBXkzUf~G1r_3D`-RUFHcinB+*k7t5d@?)!5A)07 zkH4w;ql*LNO@61-s?bD5&gP1Eh9jWPb+J0cD(n<99;nD`Ct_oX83Fpa>(&IP9I_jA zO+wP{FH`3%1+J+8G(-IRhL|nXB;n)jLwS|0ScFwA_WTKJN0F9*wJkEOrSV~s_nYDK z175@5zmIT4q~m!XthQEcg)GQzanKs5LPt?lve9N^`|LiGnQGw?qz+NRb4QkC1`s=> z?ClFQA)qfCDz>QiM=Lqhv1lMk$KOD+jQH*z*s`5(y%<|ON*Ua`3(0l2n|=vn&eikM zjDF~Q(L?4B6rnxM5;42MHw4~yyb}HQgUX6el`t^q@&C&LEc(p>FXS9~60jx5>yGyP z)dia!TxB#~hP7!iztRmZZ?2a9qK{Eomtmrt0pxU3<%^W4A`=lDr;$r!k3TtXLRUkd zMf|bm7$uLMjRedN>B7{HHKPAoSk<6p;<0*qKB+s*Tg&x>G*O!P?Y=`L^5T)Nc7Vgl z+dAEyUBMv&;`MvKG}OVxk@8UmsyKUC_AcP#-V@{(->lws>-BnO%Cs93Fg>+0+_{nL zXNtdi-_ZG$0x`)!Cs2}x6BpBtf??+x_$s+W_{4<4{aMGV2u|Qa!lt~`Z2j)uSw~9E zg_5$vQg1+wbitEm>fa5e)ycle^4I{U+BtDhyFu&DgR z-p`sLmXnNaFZwHyEf0Jq_Fb@|#JXyf@;aV2RNPx;9+@%U3uscw4SH*MPm7Vpam zDfl~?cPBTT2Q?v#Sh}#nvmvGqF3!~NeC+yFyND0w(6KIEQ^eQ=wjvsL-CC}C;u$RO zl4Ys;amb2ML{JDoeiY4tH?bsAv*mQ7Y;8RexKz02Gvy}ckCBrS0`&q zeqWeHR`qBD+7|fsGijps1rhTh{o*!RCNap3SN~EJ)8bAh*3o^h8~3hc@wEMfGsj0@ zMdbU|(bdNrqS<*O!*2?bq%01n3GeNucy}(($7+$4goDa|6)4< z4!^083TJGjA4j1ku{sUve%60RkUQ4&kpGqfU3E(jzx(e@5wbLJlCC8O(vu0{h$16) zYHU41|Jh@)$NKQuCq2LMzA9b5SRFc*8JQJT0|j6+rqHi1xGp-G$+xt1Tb%-9FPU(xX7 z73VMB-w?q2JU^y&S<`YDV6)~cc?k3}xkCfL;kaw0!LX6Y*3zTScw}=~RH1ax=#F@$ zJuCeqVH!0dWUxzAvPnc+|RzHbl#a(BPO}@bqG(lnsbR+|?VUaT<7DH4e@D2@ImtSw-V|aIbBKpEm=Bp_5MA zn|&m;N%WSiCC`bZ)oNRH(MBU0ZKTD=EFYmQ$0WbwnXX~Hwu0IachZ*INJt@Tj83ei8x3(=AVly~ zP?HruOHe4>&2IQQH~f80{D6M8f<#UhZ50REHR>AQq^_Xc?Z9F_Lv{NY#4)25m7P=- zW2W~BwjsQ1%3AQosD+6?pu zOy-7PrO>JVazMTLZ842FUemUp^h4BTEiCnQ67%)_#n}|$ff@`uSARO zgvOGIJ(;1V7r$`PP%34hvTpWDGj#${sx72;U@IKM@ypWuNTPMfcd3bkK8Lmw8p?YT zrf>0v3~`Li0$pi?xmNpPQGZLUX7Hj9%D5;7`q7#L-Eadz(^9{q2+O&^qF1W$Vm&l6 z{jj;{l>HqDt6jKGy`hL)GA*_GHhH#OAop% zoN3}SFVC^O`tx=0UV)#5Q1s20t|1?5+gxS`Yg@=}6UFfLZl~$}8@zEH9f#?~3Hrfg zG3+feCz|Fv8kn0IX`sE+u;`)jbx;SJ_|Y~44SlqH?d{ntXupT={nCwsGs`Kqo9uOboN1@CiA3Lvj!TE_AYzuygF{v|M;elFAgz)6coN~%BD$ZwyHk&qa8-s?HHOT&bj}`cmO6f8atKE8gU|;sCW{l z%QW)#9LRiTPAIE2%1?ID?}H%FB`4>xPhv5o4%fDnSM!lmmY(nGYlX=tiy-PRb=N^j zXGN>K7%4$1B$iT}6=_1vd9_=ZRMw>iG6!lvxaZuZy)l{|%_vSeAqOEC?ra& z-8ZWCS`DB9fqhAe@j!`JDh`QeMkW7ay(gV@9yVJrw7C!CZM%qnx2FBJFm4}Z3gZS< zETmdSlXXPSAiCg3##r&3QZeqREwhlW-=8j@vidS3W#@s|yk2^g?kPpN zJ(om^1nfsde&s>nTP*Ry7uD(%anslSVr`~<4L6eolkReks2BEsuTdK>+|p7P>yj~- zU7?8Em+TQD4|4cs+MIKjlp{G3A!s{Z2l6bR{ak1+af7M&kY!dBUusq9Eq4lkRxU>4 z+Hs@zFYD|Ao1{jEYueNkp5-MyXVh{K48v6M*Per+&Goh;T>ANypKobud;oO04tw$a z977-sN%E1m7qo~oWAvx;MD`+v;$NLQ3WIYCf^wWFdPp?qjAyjcs!Q*CY!@+3vvMnl zm~XD)>3I6iaHe~nKXeQ=&i;Mxw#k9kZAv7AE9e^l_Jmbfx|8R;NY!p2i~`7Y=nI2C zBS&RYF&`dn3fleQokNG5$<)VqEPX%Hd52W4$XU0~A+c5!@Q-ippW#Xd`WQV>vx0yw zQQdJZLdD5PC^c#WW{*_SqyYA}1Tf+$qBp0_`SBFJn7A3f`bGvs4E-!c1-^)s^^qVP zhv2Zz8BIt1RvZ1#SGC|vra6BXXUK{xoT;4VL`42ljorruCFNk#FJ5ARefT-khZe1n zNG2%%%Jy~Sg~0ger=H@wb>Lv#YW;$?oll8)IL;i6=YviOqOJ4-9hwgYfnt7Oll)97 zpgzU-E#WrM+j7a7_4nM>jgIP3Qmqr|7`Qx9Sy9Jd3Qas_GK(PAqS2f-PDSTq`I%R* z4?W6Pnazs3KGUxMqvF`@L0rRP@h1m07w#)IYD|1Q&(%BVe7;cWJ8ivsW5@mnTA}&L z?C5XKb9*A79Olh_OCbW`LVEKw+`necA?oQN)}Kr1%}GV>z_L$qrmthPc-@zw!8$G8 zV=@TBig^Hlo3$UT>wq(BzAPnQnt`srz<=QPsXI=MFI~&NeuUW zU+9F-5>`(osfU^5|(u+b*QHJ?Mdr{fY60 z#Q%&Q&k5m%58q!Jm->cHHb)6bJ^K*bj{^fW86eb-{WI>2=1`yIi`;YX$8t>HAdNn@PVC4>2%U66jhAnLfeLNDlK(>G;?>s|MI1`!A;qqb#p3*Cb;e F@qa+c-8%pP literal 10610 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 YSiqPjZb=5l71^}Z_3oG4d;IeM0j(bKYXATM diff --git a/plugins/Paypal/config.json b/plugins/Paypal/config.json index 42b76e45..79742db2 100644 --- a/plugins/Paypal/config.json +++ b/plugins/Paypal/config.json @@ -4,7 +4,7 @@ "description": "PayPal 支付 PayPal Developer", "type": "payment", "version": "v1.0.0", - "icon": "/image/logo.png", + "icon": "plugin/paypal/image/logo.png", "author": { "name": "成都光大网络科技有限公司", "email": "yangjin@beikeshop.com"