From 635c708487c86146f0cfade21c8132c7235ef010 Mon Sep 17 00:00:00 2001 From: 18631081161 <2088094923@qq.com> Date: Thu, 22 Jan 2026 19:12:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E4=BB=98.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 2 + admin/index.html | 2 +- admin/public/logo.png | Bin 0 -> 25322 bytes admin/public/logo.svg | 4 + admin/src/assets/images/logo.png | Bin 0 -> 25322 bytes admin/src/layouts/Sidebar.vue | 2 +- admin/src/views/login/index.vue | 2 +- miniapp/api/index.js | 5 +- miniapp/api/pay.js | 120 +++++++ miniapp/config/index.js | 2 +- .../Controllers/PayController.cs | 187 ++++++++++ server/src/XiangYi.AppApi/appsettings.json | 11 + .../DTOs/Requests/PaymentRequests.cs | 79 +++++ .../DTOs/Responses/PaymentResponses.cs | 55 +++ .../Extensions/ServiceCollectionExtensions.cs | 1 + .../Interfaces/IPaymentService.cs | 53 +++ .../Services/PaymentService.cs | 318 ++++++++++++++++++ .../src/XiangYi.Core/Constants/ErrorCodes.cs | 2 + .../Extensions/InfrastructureExtensions.cs | 9 + .../Payment/IWeChatPayService.cs | 98 ++++++ .../Payment/WeChatPayOptions.cs | 54 +++ .../Payment/WeChatPayService.cs | 295 ++++++++++++++++ 22 files changed, 1296 insertions(+), 5 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 admin/public/logo.png create mode 100644 admin/public/logo.svg create mode 100644 admin/src/assets/images/logo.png create mode 100644 miniapp/api/pay.js create mode 100644 server/src/XiangYi.AppApi/Controllers/PayController.cs create mode 100644 server/src/XiangYi.Application/DTOs/Requests/PaymentRequests.cs create mode 100644 server/src/XiangYi.Application/DTOs/Responses/PaymentResponses.cs create mode 100644 server/src/XiangYi.Application/Interfaces/IPaymentService.cs create mode 100644 server/src/XiangYi.Application/Services/PaymentService.cs create mode 100644 server/src/XiangYi.Infrastructure/Payment/IWeChatPayService.cs create mode 100644 server/src/XiangYi.Infrastructure/Payment/WeChatPayOptions.cs create mode 100644 server/src/XiangYi.Infrastructure/Payment/WeChatPayService.cs diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..7a73a41 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/admin/index.html b/admin/index.html index da4b103..33f9649 100644 --- a/admin/index.html +++ b/admin/index.html @@ -2,7 +2,7 @@
- +odQ8{H@=91Q;c3U$_WISPyv|FNt47lV7m|3ubpAr~l4ZYd)V(Vd8$% zsjXMZVq4;Zz=dU=_{~?WOvzcE2l{EpSL84x^}62Of@WE4}mnh zV?TN^aMGov=We7Mq1&g )6 z&&N%7mh5ewpdgBYipHiP)_Qh#G0Ea-nNpfokocIy99$;(bRc%W*-h+%DnnPMl67I{ zY@bDpQ2{Ng*e`_RmT1OV8;<_gM7 5_bAh1$}8{5Rb?+3M}_XD$B1rEFt=W0XdOQrj?)H4xG>ye|DjEJ`8A zg$MMzrcGyQz5RmCo(Vcd$U2`wrV%u8Wy xYYOWVH-an*-eO z0(DQG7M$JW4yt7vnpx O9Zw{#wX>Qb?>0?YIv+)Pu*b^RUgx z!mE~X`s+qRRY0o}K{^}&K=q&zw(`_QD8-_>o?`9wEOVK!Sv{4AM~Ux+#qDZEkAwP@ zZIa^9Tq8iwr^%X4^g8yvrKzIL=eJWT2;(rLf2u44(TpI!=+71l%lM1VKx9svQ0{A| zO0{Z;)6aCa_8}$Pf;;z#ZMbjS`XhLw$*+LW02c0;sL)>sivr_ic2C-VE6b!wm3qAe zXSxb^IlVW~I3{b-$Q63EZ<@$-mG$~_L+pMia>VgN&=2`~%gG;I-QTy$EFO@(UWbe5 zJlEg7c9-H~wBS)!4~ IY-%p|`jjgcp@!=r@NL)1hMToqcb-S;?p5WKAe$960A^ekS>D9X6vRg1P)U zAs?j3bIKdf81tk~z7*jqH4=`{$oDtj<2i+_r2^7oAoRb--*+F~cfAbbQDs{|Qy$c+ zCEscz5;u`rTIH=C7y#D$V^kfd0Kr%EmS(&a+>7`c1`Z`l&nx?5;$!>oR!-l}l_ykf zvob*H!tc$>rE^?;jVSI3yx%_^lvSH-T%LIzLtCVvCKg3w!~>83qXM==WE(aFbc>k3 z1P-eNbBzR_)BO`ts?hv)M>Q>FDIWXV_up$IM1s}Lg O4GPIIgeH1XW9d(H|W!^Cld?i?>Rw&M%S)QJP>Nd@Rf5W?g6KJLCAxo`y#CB6E zMJM!O) (k5no9KShi0d-qRD%kQ1)n zG-KV-7M`rjzdPgb`x(@HYgYwtXJTt#CVz!hx2@>;#Avze29G>}u4C)dl{L!oG6<1& zkJ$SWZZ3tAK`SG*Uv7zyAG_s|bbRh+;-Q!onW|E$Ad`||BN|6(P-)R0R|(7sLISw& zpCq_Q59X=jY<$DSi9lEXP%dF%+`mP{x)?>S!u_?6-*^!LkdA&I1>)_qDDylWLM^MH z3za|KM>(0K%iV^K^7w&Ln6aXa5X_j%)md@QvJMHhuLySomop7X3Up5~o;wyCS{2^y zQ&j~1cX5d!) #?~^KeY@=nQLUhZ&tA3gZxHwSEj}F?T7M^JsJzHdbW TbGA6RIcP~?)$UFYNYcRFJTiqP?N{bfFZHAo@ch{Piq?yv(|I~#TR4LpCc_f z-0I1%rqp@eMy=+iKW11o@Y`HT#vsG=?@m>~G0A4lC2l>D;tC&fW?*`=h(Q>O152XA z+4T1v7O61X`1_asouyr^!=&>^wl(9gDQyi2i6w`%I2GMO* zG=|=34Jopoc_{>bp~F2r;&A7 zh;@hf3LCN7rKbp_#|s`#x}d~g;h5I5saHhbH+_cozoM@tyCym;B_!2&7tA8eYjK;p zjkJhAg|~%PH{oQNp2=*txx8D5Np-VdwiG@M 5GKV9v BtD-b;( Ns+I{r(km^{wr0Zh+d8v( z+i_&ThD*PvZF#ZGEVIyaF^Kpn&h|H2 y{ym7cMgnE!(b=6zf^!zf)ZpSWN)q1vNPv *e|QQO{k->KGMyvBGj$ax#H0@<<2*Krx6d9$QA z^n{lDmEq`Nb=g@7-P=)uW$n@R-W@Ge1W0|FYXcvI_{s f4l4uy;!OjDjlg~5S2qlA6j1?#8~%; vER zK#tr6 wx>}ObsP$tAr53pC?&nd6GfAk4KcM^Bf?Srudw&j8Ci9`uKMGWVy2)- zjYI ^Bb?j-u| zSmb#v28_G9N{A(WwL)26Z)zVW+UA9=rjXY9*c2C6L0#89T*gsj;`OXd4glBejiKvk zdt8|N9~ QB;C+^Pv*@ z9-15pNjq9pK%z1gFJ?rOHAYLBG)(LDRZJ7n`DFq8lnXXkh#|61hjH9^c4VuvG&fEz zC9PKHaCH$N0u)Jf)1qxY{HvKX= M`CG%5#;c0n7p zkG14)(V8uT|DC(!t-RjQ0L(QS>6IoHKu5a$g84AMkvHnG727wul_Wz+`DN|AU{9C6 zM$K4AYuns3_=$?4I_eEln1*)AYwT5Q`#AgJJ`1Z^21wELIQi2H)6N;0tq_*--)tHJ zz&z7N)Ho*8c`Y$S1^t*8hre;r YaN2m4cji%cZLVdYpG_%U$5al z50F%}IfQsOlBngGm;ac|1EcIQ>kQcdtwTS@4td fTlw{Zs2{+*3U*);4%HnG z4_`cbo|F6r9d>%`*JJD3 %Y~ET`$ys%p^BjmC8Y3TfsjET30l}>7I!#9h~rFCZo#*ce^36()gN%ie2O; zO9h0+vZaE)RXEU67&4hcxpjb|sHad~ajZgSRJjaS%2DREU<_==`BPPfl3E<2B!c-o zrkb?Dhn7#bR;-ph_;a#U5Ti$9U8Xft&l(aR0y9VLIEbO{N?6K@_A#ZK02@$Tg*e2$ zIHsFzq0Unbq;_m0$>6}Y8lEZPZ!9bMDlsCepohaw{WU%^r8(!QWnYj#9#PZ}E9WY< z9Y IqYsq)H%ay^K#MIu*wrkayt$+X>pYe zZPSc+WF(G_$iHT*tuGx0xW3^Rpd4O?ndqP54l|?ryI3&)38RKU1I0H4cV*->ay;$5 zdkiyoI2u)6o2~ELOU=`Uv~;FyRORM^RkL1Fl%5&au}j3t)=zobKqXd#CkkUrWZ5qG zDj3=h3rS%sjEc>rpvO&spYNc~FXI5=ANB;oMwgGsY i(C1M`OOhv=O&xh2gav)q}KA2QRR5c(}Wdz)P z