From fbcd33ea2bd87eb79fdfbd3d0c3c34fb0dd43396 Mon Sep 17 00:00:00 2001 From: csw <471155679@qq.com> Date: Sat, 27 Jun 2026 14:15:25 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=95=B4=E4=BD=93=E5=B8=B8=E7=94=A8?= =?UTF-8?q?=E6=8E=A7=E4=BB=B6=E5=B0=81=E8=A3=85=EF=BC=8C=E5=B8=B8=E7=94=A8?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E7=B1=BB=E3=80=82=E9=A6=96=E9=A1=B5=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/imgs/heart.png | Bin 0 -> 1072 bytes assets/imgs/home_card_bg.png | Bin 0 -> 1839 bytes assets/imgs/home_opennow_box.png | Bin 0 -> 45198 bytes assets/imgs/home_title_daily.png | Bin 0 -> 7971 bytes assets/imgs/home_title_hot.png | Bin 0 -> 8589 bytes assets/imgs/home_title_hot_cate.png | Bin 0 -> 8639 bytes assets/imgs/home_title_mystery.png | Bin 0 -> 8235 bytes assets/imgs/home_title_weekly.png | Bin 0 -> 8816 bytes assets/imgs/home_top_bg.png | Bin 0 -> 18277 bytes assets/imgs/splash_page.png | Bin 0 -> 371074 bytes lib/global/client/play_client.dart | 21 + lib/global/client/user_client.dart | 30 + lib/global/const/common_color.dart | 12 +- lib/global/request/api_const.dart | 99 +++ lib/global/request/app_request.dart | 759 ++++++++++++++---- lib/global/request/network_interceptor.dart | 143 ++++ lib/global/tool/sky_encrypt.dart | 155 ++++ lib/global/tool/sky_log.dart | 146 ++++ lib/global/tool/sky_routers.dart | 35 + lib/main.dart | 60 +- lib/main/lib_file.dart | 4 +- lib/main/main_root.dart | 19 +- lib/pages/controllers/user_controller.dart | 36 + lib/pages/home/home_page.dart | 105 ++- .../home/widgets/daily_quest_widget.dart | 93 +++ lib/pages/like/like_page.dart | 352 +++++++- lib/pages/mine/mine_page.dart | 473 ++++++++++- lib/pages/search/search_page.dart | 219 ++++- lib/pages/splash/splash_page.dart | 57 ++ lib/pages/widgets/pixel_widgets.dart | 218 +++++ lib/utils/extend/widget_extend.dart | 51 +- lib/utils/models/drama/skywood_category.dart | 23 + lib/utils/models/drama/skywood_detail.dart | 111 +++ lib/utils/models/drama/skywood_drama.dart | 183 +++++ lib/utils/models/drama/skywood_episode.dart | 92 +++ lib/utils/models/drama/skywood_home.dart | 46 ++ lib/utils/models/model_parser.dart | 57 ++ lib/utils/models/user/glimzo_user.dart | 59 ++ lib/utils/models/user/register_bean.dart | 18 + lib/utils/tools/app_screen.dart | 17 +- lib/utils/tools/app_toast.dart | 143 ++++ lib/utils/tools/help_img.dart | 16 + lib/utils/tools/help_nav.dart | 117 +++ lib/utils/tools/sky_device_info.dart | 177 ++++ lib/utils/tools/sky_time_tool.dart | 53 ++ lib/utils/tools/token_manage.dart | 234 ++++++ .../tools/widgets/sky_common_widget.dart | 278 +++++++ pubspec.lock | 64 ++ pubspec.yaml | 3 + test/widget_test.dart | 44 +- 50 files changed, 4558 insertions(+), 264 deletions(-) create mode 100644 assets/imgs/heart.png create mode 100644 assets/imgs/home_card_bg.png create mode 100644 assets/imgs/home_opennow_box.png create mode 100644 assets/imgs/home_title_daily.png create mode 100644 assets/imgs/home_title_hot.png create mode 100644 assets/imgs/home_title_hot_cate.png create mode 100644 assets/imgs/home_title_mystery.png create mode 100644 assets/imgs/home_title_weekly.png create mode 100644 assets/imgs/home_top_bg.png create mode 100644 assets/imgs/splash_page.png create mode 100644 lib/global/client/play_client.dart create mode 100644 lib/global/client/user_client.dart create mode 100644 lib/global/request/api_const.dart create mode 100644 lib/global/request/network_interceptor.dart create mode 100644 lib/global/tool/sky_encrypt.dart create mode 100644 lib/global/tool/sky_log.dart create mode 100644 lib/global/tool/sky_routers.dart create mode 100644 lib/pages/controllers/user_controller.dart create mode 100644 lib/pages/home/widgets/daily_quest_widget.dart create mode 100644 lib/pages/splash/splash_page.dart create mode 100644 lib/pages/widgets/pixel_widgets.dart create mode 100644 lib/utils/models/drama/skywood_category.dart create mode 100644 lib/utils/models/drama/skywood_detail.dart create mode 100644 lib/utils/models/drama/skywood_drama.dart create mode 100644 lib/utils/models/drama/skywood_episode.dart create mode 100644 lib/utils/models/drama/skywood_home.dart create mode 100644 lib/utils/models/model_parser.dart create mode 100644 lib/utils/models/user/glimzo_user.dart create mode 100644 lib/utils/models/user/register_bean.dart create mode 100644 lib/utils/tools/app_toast.dart create mode 100644 lib/utils/tools/help_nav.dart create mode 100644 lib/utils/tools/sky_device_info.dart create mode 100644 lib/utils/tools/sky_time_tool.dart create mode 100644 lib/utils/tools/token_manage.dart create mode 100644 lib/utils/tools/widgets/sky_common_widget.dart diff --git a/assets/imgs/heart.png b/assets/imgs/heart.png new file mode 100644 index 0000000000000000000000000000000000000000..df4f79294efcb93f63ba63bc126efb4a7a679bb5 GIT binary patch literal 1072 zcmV-01kd}4P)F|9LImNJLXuVTXfM9*Nzn^bt@=E4;>_h zpbn83;wdU2Njg+ohYlq{(5ZuqK_C^_p+n)HmB_$IRw^j}3atPVr$jXTu_pST_pSYOJ6r4NqQ?ktUez6y`+i z+P0I~(R{MggSi6T*MwdCs^m)r82b?&cPFC!;YsNI+Q<6Cjr}M#-_WM*eLK`Xt*6&x zxa8-`FfDYq>Y*EW1O7fTg|0Yiz^w_{wep6fF4v>_;3+t&gwG-5n6fF#-47R!)UmH_ z@W&^1sb~aUFS`s@sXlZXtU_z;LRL0-=O+LLKqJTo{}{Z{1S!u3t7Vz2Z~HER(7guf z#840s-X6(ITz2{$`u~N@J{g9sk5*VeyxR`TXR}y8UEwnoGTTxlN6Cxfw1-b4DC24_ zYprH$vrH|`z~`AEcs1;XJG~FUP>>PP;Y$}x5bhx?4$6){M*ZHgK9;qMaxa~-i2?_Hqg%Q6<}GR)<9;UF#Qb7LjXh7HToLH z7A9cYKdap3JSo-G<0z>1Nj>Y+CTdj>eNiOhd`F{cJ6%CM4_-+E7xl4Bbz)Nj8;0{? zE#1L-9C#DX0t4)Jp#~q&O1Vk((20G=p%O1W$ScI{p8GHtm;?V>0N#whV9->qb3`RnRF0aJDRU}9~cePYBL#BNTh@n-MeZS0( zuyM8M!jLPUwaq6<%N<7VGxU)1<+<2oo*k2`$Xj#~zLiDDVM%xNb!1@J*w6hZkrl}2D{+k|3C>R|DNig)WpK+(&rO`SaauA1 z1KTQ37srqa##abec4?r}#%6c(_gCF!)H}G;JA`cCRr*39s7dw> ze}`2G&!Qy@f<<;-(`3E-R)8ao(@H!wJ@Ms)TU(5uy_xkpd2XiNVdHnNSr7Nv*HzSf zeskt~W!+k#qDO0`?=l5!><$-Wn{RJbxgwNFPK)74hmOMqpP3EZ&ufYqt}Nd>DSz@* z9ft`gm{>X?l<$*v{RXMG_blTttw~{QauHL=Sdp8uIB%+{I=9c{zwGaQAFqfmSPPU& zvahMF|5owy-5GY)1!e5>Yqr~L{^liNxhcAqwP0`Tsr&EmyxPx@_4Pt$yZ6sG@3Loq z&Ap<#W1k+wvO}NVe7$tHboHF5Ukm^LJh%1fwf*aPuUCEl8YjJe?*5v0>#`>+Z8}gA zq51UadH$)v{d!YwUd#C(^#1SG`SJSt^}kO&xb^7e(og?xCO_S4eEgKW_jLB}wWW_= z|Et~mKYfym*bJeyM%LERQPOqS<6~lUig!Od_2=^E)WnA+|8M>I^ZDtOeD0@zKK(Q@ zFHiXUZ0r7S)^q)4npp2^c)4M7w4dC+B;7UMOE2%0J-wIx+qA`NmH(dqn?3jTdv*T$ z$g0r2#qsa|w%R{GeKEYB=iO|PiLA>GtvmO4yS+^)+eDd|+i&)Ln*Y11`_@yVO@Z4V z^zD&6$i|$o``44@?m2D@D-NDnemuW#i%M+n55LE+RJCIs9K060`Q}&t`}=Oz-`~M{ z-Ahct0~ogNX6gO-8(#m4x#!h6hXcoScZ6+Xa8%+JNHJz|Xzs7Sv+?Cu^ZC02-%Ur2 zJWw3IWNKjZ4Q4s)BO7rN9;?vEovFu=@!$Qg{)!pg$1NaZzos{0jc=-&}T3~FS zC}DJ9P8Vkg@q@%Z$Th?ZXFQ9l{wojDop<{ z;W2i-a0D99HL(mnSLW5O4cfeV`mWSD(2Nd^YO*Ms$J{ek6xusy-#O1Cef=(5^CV=OQQbi#Z`RIharJ7`pBFRsV998RG83A+h@j5K z?Ac`S!@c_HJ$B7^z%rI$+wO0toFrSJzS-Kg^Jj1R|5suSxfzeIv)=#n=~C_X%g{(m zYuj1*|KL~APp!rKEE#Tep@snO*Td6wcN}O=xw3ZC;SCVKFIc$kD&JwTm<46P@>{kI zs)5%u)_^CvfDst$i-0*B8r>S-4qp!gif&_u#@a9Tsej@_+k@;9f%O@Kr>mdKI;Vst E0IhYuz5oCK literal 0 HcmV?d00001 diff --git a/assets/imgs/home_opennow_box.png b/assets/imgs/home_opennow_box.png new file mode 100644 index 0000000000000000000000000000000000000000..cfb01cd71075d67857dd7a5a0235a332adf00ad1 GIT binary patch literal 45198 zcmV*XKv=(tP)@G!$zydC1**4qD^qD)io%Vm<_xsMB zJF_#pGqbb1Q@&@p%)RHHbMAM}J@+~9_q+`-FfcHfMzAbv4Lu_LSc54J7X}6f2Gau# z^jP`g7q>Jd5;me@FFZeLcw~LB+V}l7dan%z1_lNO6UMdlh}PWw@+k8EEGlka9R2RU z=ZZz^IL@`0qHthfU|=w{(O}#5zg~6KlGPvn+tXXmIFfcGMnA&Iv!|>YbDrfbzS1-fT1wO*uetDz58u-)IKvfz{u-8IK z3R4Oe3=9kmrYJ}X`1wgE)~x*PZ(r70m+D2WwF^<;lV}joyOFFD6@7F(*MrWTdA#8> zXlvVVuO(8x4pRii@nv9OFcs0t4{~y~t~jZ-b;*1WVIhw&JAx9BbkWd~KwT=r>C3#< zId#Fxhc{w1lq0MS#~H?wH83!kiufd1u{Ygw*UPZ#rFHQ3{h{J5i!5BSV55j0kmoT9 zPwvHi>jV7BO%X`P{S;ZWpTu#-l(A&r^U_iT0|NsC!s9zXgU7aix?%}4X-pA{TxIDn zGm#fF`4T~c2o_TT#_?rfU@#?Nl^L{>VB^<^+!9j>Q)V>Ak~J`xo!GGF8`$1;ho1Ud zVu@b$RtIlScU|=vSu<5|9sGYL~7p&fj zOD;-b=>ktAfyf^~$kG5m_i_jeM6hA$5PPcBYb_kkZtU$->vnZVy#sk`K1mZ#;3&gb zvIYhQ#~j~%Aca+{=7K}Cf}ZCQ4(vZD9Bb?t?if2fUir3m-1|_G_1~k;fzv{h{py`A zs%l0)7r88O!)v@_x{iT?!I2{>4Ip4SprkZc<(y)&93;)3f4&c$yM4U-n@z*E9$ZI- zY^i1c`43%4*V=gFN9qq+j}i12;qB^0m^*gA<7pAXHJtRGeDW!@wQbk$9lTCYPmeqX zw;y>wLqB8aI=ugN>+T(K9RmY{NkHT)y_Npz1&B#8jt1EEYze!ct&|G}f5U?j1LYlJ z^B+ps^PE=^{x#IXjfw$6BHAbjE7m!>n09fp*FF3$oMWAfd)w|Eb)7dpd==jK&{ZS8 zw|)C|{BZ59<<~!0b8DHfE3t0dI$YX#8UFmaKZk*V!Q|rIFDarn`wOI7cZoA<5Q=D{ zC??z(vEEvlkPu-c9X3u#7+h`%x#k|(i67kDiKe$$xPJpK4a4x5u4&(b>t@{C@qOHq{((pfl{owCvvE!S8Y0&}m&Y~9Ye;~<|0;af*NsvyR+ zNk(XBsK-68x{EB;ci|1r8*$6pn-8*PTU(dnmTfoViq)6P>zmhnAN9-X58BtwFZv!? z#maiU`BmQ=@$*ixP@5I9TOYo7;eH<5_m&FJEyar+6VbV;gyovQTgS5EKwy^+=#zWwlZ z*fKuUI!xG0myWz20|SG}$7|309rktJi&I|uJ|Wuo|M~DAw6bX5_04AF`{D{)5e7rK z)Dn&!C~ob-zughyTX$G!s*T=2?;SIFU^u1)$&Mv9^;oWBU|=x$s7)2uY8Mz77)%Ll*!xYmHFx7r-?|l-T$sYrMU@lnp)s?E$|JD&pKHsrMRh&~iZ=Fj zN6TozLpTmFwF?Xk45kGB`_Yqe&N=(=+aJ$4=)JO2>yQ{KD|oy6=+TSUf6~GO&!COA zUxwoVQ%}~wz+g&XkRA^%_`(D$bq9zzKY9!B$2PV6?9&tY!p9r5Wm}o$Rk63@Y)TrE zH83!k5;znWiX*GNg!at^Y}wd~_0P~U+8{TO!;alP>gyad)KwOknL03zF9QREDTbj$ z$po8!axZTCSr1me--6?P7jHf9dA#j~&tqQnA2{Wu`|yk3<}uWYt=K*~zDne*wq$R9 zs161O21gIqUD$_-ATD1R^yJag72xM!|+TEZU###{0hotXY2vR;~E1)I5k$lUhp4{vCJy z?tHxGZ@bXb8(=u89&b%{R!0{YOV+^P=wdvU?B3pcVWry8pL~Bgdy6Y*^=H#Kq3RB@ zT9*o`j)cyECsFcy5jFocvPD&wgv%R7B_F#xqZ_yGmC9SkCF{#LzBIbK+u=Cl3mYyJ z3UFOl9^--U`v`&nsZ?rQ+wnI1nbpF+-d@z#*N=Oh+t*xyXD~9hQNX^I9@A^xe zv|`1C_c88q&~``TSSGTM8G#9!dDH10GSRVibnF{7EH054e`LjUhY8^t1#N9@_`xkV zH~tsq%$YOseSGsl*~j6?X)NOy%RavQ-S6P4 z*R~wdK8|!8W5digWsO`g`(WgPQE>b1x8wS^Zo$fhcc3BhB{zOqYH9?Vs&9?&BC6rpZrx7RVY#xtSaok`)|$IbCtZ75Kr=_HkD>dEL_&$U~3` zvHJAAxb^%0ddR(wWgkEI?l+IgKEC}Q+mHJ=W)@~X1sO|raxm>kHj_U37x!(q-G+7R z*5R7>{}ea=lWOSpwObD0#?S03uhV*_i_EUuk9Z&0^xwy1A8&u}e;n6wj2+X3yk5{y3y0K3O9XW z4LwvX)j=O5Q`7$_Lxnthm(B)gEv^dutF<#Phm`$aUhrcgE4 zm6BzlAK{X-0yutv4Le=z=oq^(9_M2ZM-YUPiyjyEJ>&fAiBNj5Xwf44^5;Lss(Iw( zsm+XQpHpog3+B(q+TZ1pcUFIuy7b#6-5^Z6@@2K`_DXCN|Dsf}a;i z!Iskax1-PF>)N)*H)-WDdJ{OOaq**x9OF#IlpxveHBrM)e&*xEr8dqw)k0cJ0_40# z&!z~)t`b5oM6t(5SPHRnf!eOqyEu4Gg$E*S^CTdHVBkuE}y3&ha!SH0?0vi!e) z^gWyweIMsu&effUTDxrz(EG^e%HxmsRic}ZIv>{9#-aD&d;Z{Y;oxH%@>f2~l5@{h zqw=nE@NC=~_K{Y_PG~zO%knuGzD_j4J}mV=zPS!L|K;~^aLcHQ=S8|^oXYbxe0-yf zn~9Q((v-(F;<>2!OpPL)7d}qD>0zXEI?}i!^?5d3*L>3(v4-_1V-F)TJW6zK_#9fp z55^ku`>EV-sBZ?NUDLA>$Ax4gBGtWHa;x**;i~!*Q&-wPTHkub;847*k5WI~4F{BC z#m|$~kXLtcJ82``;38S?Vnv;eyElxz>d$DU_xQr7si_@Og^M-F>b5WA+&`-YoMBgB z-oowoRpHwAegM@qHKSHW8p}T3edCRXED1PS`)JztuZQ19?ZNxt-xBY8%;V7e@Q7q5 zQtFU@+#`+S@Y_Wb`aCAtiEJ0qzln^Kt;*U7lyYQDqzV@k`b4X6mE7XE%Ur4|T-Jon z=}g5jBiX&T=2z$T`KvPX6RZ1ttahqgL|tSB=0Z4WvQm5LOQnaO4@44(VLO%(YNFOf zivC*8;O%flEjz-3Bi3iF5pJtmVF#9 zwsf-g@rU+W+J}E!$1yfc%-lKVM$!cRUK8AG!Z?!iVxkKs2S=4;`|ggeB_r_~nsKa* z{HS4IFHOrkJyf+M>5iv*_zdhV$|Hu5YOS(V6EzOp%+MOIJZ*}LU9**S2FVMLK5=B1 zLo~wW#Du{C_7ax#lM1i-ino?CoCXF44!Pga_7N<5vt)dYg_OoJjOxaf6UK{)j&q_N4vzIWC%PSXnmE>S z0UI>c6OaqI3&&W}YL8YGt`UlMAJ_ZEQL|(>eX)Oa-{KJygP1Ah&J!(h5tddItc^O#}GJcBV} z(n)s97y5o4Sg>-Y0rvA3*s_eXq!Gzhdw;h{_P}x##CvvSs^28AC zf(WV8=ni?ei{ds~zoT8ki5QIymOQ$9%*5zWsO))UP>E?Gt{O~ROghO%78=Mw+z|h! z8&*_{3{VLnQ?f`mZ{8w*B|Js1Z#PEBoF2hh5F&MY2s^E=W+n-LZwRl=mhEGbWw14S z-@`|8)tg_;l)*8-8BFl=Ozi@LF=FybHjLKM?__oSIw*!B3oxPbV+%gzYfU(P4Dqg^Rhq@ z>RM92I7wiGH~TAQL91$g**I(n)O1S|~nyh>z9Mz|b8=<@ZwBlHEf3ZY7p4 zJ(A0J7EFxHFJ^LaY`OWkz{mxYgQG&SZbZ7Q1`}q9Bm=fKTUt~as=wDBJ*0>URmyFJ z2TKX`+9F3;Vqqj2ZyZC*t8?WpmJKEbBNt2^n7hGLf%zsT2S+6tVcFj`KC$JCy*^SrGsECDg&pk)DmWDwUg7(p#Y<^7$VZ(Lwx^cd8k>&J-8&y`9=jK^M(3P<#rVeAmZ z*nbF|DK>nDF#7g`c4+&LNP^NPg+4*hW>e;0*9LB=_j zb1`(Bxd{bqlq;Q$8S3*3^gZ~258EDVR-)RDvkN)nYcQK}oWFCvw#Qqtkhd$u zRmMgvVK)14)H1$;5VzYFuHolQupSX@swO4ztsET?bX(#C8xCu@T%ZXy$VFlSv(&&O z&EOc@iq)jB_m;NNQ)~~Fc3D$XGdYr zpEu!g(m?C##=jk7BA;i|2Tqr?TE1o`a*Q(-N3TGPWvwOZyC#0=XMH4V9L$|NM}=S! zQC7Vq(5ns&*^1$9v&mwmyYaIQN_%N<`N6v(|M2VU>nc9(NFxjkrUIfFK1nrK=hG~pc!ri2t@0d>EyhL5 z7h&<@MY4~PtgBd;o!r(mGX&E_leK0z4H=zt_Ti|JEQfM!{z7jXJ#FRJT!@>C#Bdd@ zR60dgDrt)ai~f?Oy44ZOmL-H3OsXv>%)v>^Po!<;3b~F2XPjc;(I>}yDbI#We|j9_ z^!X-?O=>VU9Oa_j;q9a*T_3;V?5|XP3Ui5QcXIuLPivh>dmWg7S+iZSVmX?d=ah9M zo5WpM}>EB{RB=J;ao{Qmv>#b>}?`a~ij1_KwS9vB!5$KvzW*w}!oszZC@r%8=5 zgGt0uC0WsBzu32yuFBQ?Iw*zGZI&(AxahWkexICRVCmnf9@tW7Xc1-KO z=tVEWLk~T4$aRkOm1YWn9)BG5gnur5SoxY8Cd%^4Z;%PJK+B3m#66aTYk9jY_?;HQ zfuYjCXaV4Z$plQY<2|g|aK9h@CsP?d=Y|P&(@T-nmUfWjN0J^1dbkc!9CJxlYto|k z^$8EWL3u`XE1eiPHght*i6iZ_2TjT=L*U|sL07*AQq$OrzE>)Sqx$n3L$;}~N`RZ5T z)?5D*69os_bAri-Km0*hMCQeU2hS_Q5BRfLs&GY?i0H2CIIbKN-+-&CGot73-Ma@r z`q6)sOJGhE{28x#)hlrFNvGglg>jpGC^8km= z&BK3q7_V6UGV~V)(9_d{-~avrG&MEDV0PoElkAFrXk5Gbi@iP2DYnHP54B4UE;7K` zB|{{HVHobW;e>`~o_!_J@n$Ew61MLUU=*>lE ze-4Sg0U~-kU`wr{QLJO z)Gmju$6Igx5hepZk>@wQ^(|Ci+KBY2t$=h?7ODr&#Uj$S94Qv(AfjJUL=M{ex_aFG z*)^hDhqS#{DjhUFgV~3pZ^<$u$^N=ho^pz9HW<>9<|jY-sgUMh{ncNNYK2s4u8h-9 zKV8U`$(gr5=bUq}di5%a#pNi5#SJ009DOxp+JXu8{1={sbIv^%cdfYxFTVFo^mqEO zPYB2|BZ6%RBy`TLa?rNEh~9R3Z*Bta*E@-DNk1niWJE-QdK>n$IRwNwzxmBw`1W_c zEgE;JSRl)kL+~P+$dH|9+43DqIG*LmbC(@S(H28 zTP$7vY|j1Xzf73YlAfGbTu(s8L*w1PeFs*Yd=mcn$EW0G;u59SBM^%<2qXABey(c~ z5s{K*%dZCtWaWk~JaQ6RB(Ef@6DS4+Y~QvGef|Apjgt&Q$9U=~r@&zL;h2!DWku_V zAg_$mXSu#ClWa_!u?4zr-8y;A(Fc`1ycoRv!3Q6b?h5aC$Dawoa#b%bvcl3qOLGf) zHs|2=E6sO76_fb*^0j9)ER-|rVr<;F8IP@h3YmEcEV}qCvPKKAdNQId zEJ>X7nG;a|_e+o@5@mHaX|eT4*9<*Eo2*054760-^sX#%EZwk~iKBn+Lh|Gk{_H*P zB<4JFi;*KIIEtb=lfe15hfAO;Q2hIA}c8buNDV#Ui}MJo@J*;XHCWIe0C! zENH=t7QST2KDlOv@%GO?921hY{qVNHvA+`k*jO^i%t?}N)ra*@te3uDjHhY(&q$?` z2azlzE^o-B$`&lI!(@BaRaeRTT~BA_@1}h=HtjvQ*h^d$sxm-Fl39%9&_y= zevd0+NtL6D@TEijyyMSh=MX=5I(fLys~jh9!=D$Q$IADHZ!!K1#tbypTL4vkU_}IR~LKP_hr7ogTGGMK25w(3wV1-;1hsd}k zMPwZ658^N{vS@v##87lod4x=lr0}D`k~D@r2jJDIb?FN!AG|tOqu19O4eB`P z*mFKQX&*%ze}eRrz^3bjENl8EFt^G@HGTJP3yqD=2TDG|O{7`VvR<#9ZV*|9Ym{Rcz7Mgk=^yLe(Fog(R*x$pIjP8n zj4G;dMZ-R4q;d0h1)9Z-c1_Mk921gV_79D12bDe~QezEv{p0J)>oK`re);7>oRx_C zd0j|OE|vt?nq9kgU0EWCk!*00KTyK+M6ern9!#>MRR-eeZB0$>^r*s>%NYHu&M>~=gD85t`~ZJa^4i+kev%s0^wI71IEZO~g3B_rW?^NH>RmJBiw=G@Pmi zc!>gy*+Y@_PoGIWgz93%-H(Y>1CC4}k|i${4UfjmmTFp0{}VhaA|iEzN!!iX)zZf+ zk@CO;B~3PDeVA@07LSguT^dt~j0K-=zRve@K> zg|9?*ppU+nY9X*Nvc;(tPY5khPsQCOWG&)pBw~k5B`sUM+towPrY;A2-ufeS&av^A zXEh*8?q&eK@2kmQYlH0mvnZEhi9 zvBJSxElE=zhi-+ke=@nbOS9Y@#8W2^`X9%8u_QpmAH8cXs_x1oyRDZj?Bq2Nt3 z6{xtC=68RjU+{kd3qOa+#7;VQ+qShKS)WGrnOV}>*vUndL1g3GS|@c2I8dxYM_?gG z4kf3fBwA>C&QhB4E<}sI5WKzdxNZYaWSE##Tmw^wNrQ^A7MS|nVGf(mfv+UvbA}f`L;J8 zm6@mXUY{j_8X{9mELPzCF_WAv^Jsm?-!$b;^3YfGx`a#JXv~SmzDV#;;v-GhRxZ6p7A(C~S z=~73+U@~ybNS0GSp5N!- zfsNxmtSNFib$(apsvF-MLfS{8`qXk$L?a0X?7$<{jwe@nDkfgU)am0|NH1+$s^&2WnCn5)pK*CiPLzj zJ~0|uQV3-nv~^&KwMn$8NR_AVp)Y%6%b3T<#0P}>b65(XGc%OLXXZKT&-bo=Nl%6IYH zdgb8t$tk5m%BE(hp|NBq2gi(L8T6%bDA&q3yoXb4(@lvnZOaltWhVqiWxP7;u>(;- z^w}HP##!f_L{67lA}^1;+*u+Ix@=g-WdTx?s$5DU2RI@N zNVphHp~EmHHkKAh)g=F@AneE#BI4jGOHIASq6<|x8c2T(LtjtRIhK?|mc->wM4utq!6mD;8sQ$AZMTqB zhn?6Jk_Vg!-?umfFQeDbB1hvoEwKa(iRA3XB{B#-1g^#A-!abLIF}l^|hRzQ`ARj@a{_Njm5!tFzC_qpz4lwx$CEp(7$eiHNfv zq^Z*Rspn9wWGESPtP8W|<%fK1q!ar&zNqQr$udvVt)fcF3?l!MG!r;Pv^3TP5p!Vq z!u3qDiNulp1`c@*z~Fe}n3AmP`cH(uT@K}nOCOF0T*ZsM;w%l6`g|oh=)m?O5$lf5 ziC6_k=~85pw8szv)AAlA4ea^I;4*$)e>r*nPQ*mP=cT%;3JEuf)&H~tBgId-KAfw(F~Kr^plAE<)VV zHxT_a(o=60I;BVzVh1K=EtiO7>(;G!{<#oU=l%liANelw9_gJV9W1p9Dmnq2hMJUZ zSwdZusKrH_K8svSfD_le3Sn*@Ui!LMV9DY+@Vt7uf!MkjOB~|miu1}63)od8ig}hG zq2sM}khq6#EKVNH_C-iHERu5o(Va8sYQGzWJw5RLuY}UeNCN2#W$GolX7ds%`GOVb zv37$sCh4@rF(p}D`tS+55?Ax)oXJE+6Kj$j zaK4IMutH6!q!$ZG#}>9P4mYWkC1bNC@<0pJV*O?^r0PMCYcX zS33iB*a4mIQdOv;**LT|7-N+#W0Fo=98;2IL}7G0UGuBs*ImyIh&5WfG$ZgtvVEie(q>9{KV z$(JxDCM=FcRbP(sqAN1t&?^TjD&N*oBIGinDRtx(;N)mZO`l_<1`sPaLl0lb8c2G^@QY?AS#MOjIDBZGRmEX<7|tx*HG+Uao9q)H)%QJGkK^EP%8scxso=6&{2(OM_HXgA9QBRxMH*y5dY{Siq7m5{Ve z?HxR+ejZN2Qsix}=AS0&PEj@U}6;Gn3=`_^Va7J6dB9C&R9j$Ys zlBjrj>_CcZ5a*v{V&;V4;?* z+K)c?Qxu-dVabP2!Jqx(N6^_FA(hBW$d<%SvBQq9ABi4NwFJb*jvT!oWy#7|D-qe{ zbX$&!=-=Flhkkt}UN`@ZbUnVBmX$B=U_U^2L$0H2E638IZo)yB*sv{5DZ;2D!Bh5anoOMIXtBPDA~&7MyU# zLZl1T`1P;<59ghK0SsmyjycJ$_;BOeEvk#{T03Q3N!NQrm{-;-L+Pqc*;?(*O~dDQi%PM9|jDp`#Grvj{C#g?KiWGV`RkZquYn=u&VY%3z>>Q(i$Ea*=I?MXCb>b1Yq zBTqb+y$rQ#N)91fHqUM$QmR37O#^A41r$>`?A{I1j{Bvxkg}Kql^Lc6Amg_gnS;8E04?4VPYORz&x*yRF@(-9BYAsiW64J7^FTQD51Nyhwl>@=;|QH znJH#8Q*rDqS;F$at6#={w|%p(l`h%UWc94Q_gQE4PED@I9Fwhg#RMCJiFT|cI|fD0V1Bi`im2> z@PtKDPu2I8UZ{x7Qd3)Y@59!I$SHR7>#*|dOR?%=preayN-lpW zMyMm}hoQOws4?&|k`Z`+(iAR|@u>neu0%kDVL~N5M646L*weECdzSwiFSSm`GIt40 z@k34ak(&L}hmk^nT#k#B(~>~RB5q#-Dd!Z@yh+E7N;Bx~TWZ=ocaUt0kz@kS(?#UsQY{UF!^z45Y5y=6PU>d3rpj=Kh;yYYr zq?oA)FSQL zC}NjvU-E2Zvw>=ySU%_oS}K(cu1MF#Qd4|OdGswukHb~*rN>9H8ava%im}BBla|JH0 z%Zm~AI}$9t9fzgGQ4_<*H5+kUNp{(FjXgMqXlfq06-aMy&yiQ*;&fPk^!?XC>)Bxk znzDaKTHf2m33jxra5XkH$=`^k%5Qd7Vu#a>8mmEUI!+$oHY)r)pDps80#Wity+W5h=65Dvo$79Lf^xXVTFQ&;eQ&VmU!+vnqzxp=X{R zuOfdgoK+-eoZViHfd`Vb?XB9T6#DPO0jyR~fihkrrzxR{nT6mZHDhxOQS!i7ld5oR z{FnQXg_b5#OOIC9CD6qNWNe!GRGn~3YqIo}*&OStig1T=^9Y3e+3CeMqFr=;9?8;Y zXK6?E4pM6aH2&*S%vtyn%suyYC>6+I==JC`<>)b~XbYA#l6C_Y&v`f8LJhKC`4+4~ z0RQ9jRN#Xhl_OiYKJU@MkxUPbTrfE>BrBNMM5Zcw3f7+Q9iCicaHIk0waI~p5N61e zocSP*E>!u#F0>98aGmXjk@;PnAR` z&Dg3jqdGd?hqAUsb=JMkSY-%Vg|NsGmPnJO*CE=q=+vD2P!2(hZv?hj?LpWFt3MkbI~g3mX0e%dWT-^DTw+hB;^A0NSuC%xO{zk&Qf= za4)v!67APuJN@hW16j8VNWbkl6U)yy5ssC?&K)XB!f`{DMvICz=0tv}q^(LA3RA0k zvOHdvfbyI!+o!D6#V6QAj26=AB<9f!IxB@^vZMs3(Ln!-;y6=5eJMJ&BFE#V9GT{` zoNeb*65bVs+!riK$J{6Vy;NK-L)~DMr5!45H?tT{I)%*IdIbF$l>VBCH^DcT_~rnZ zCW|u{hGYd3vt$dke}QE6^RPR5?MUK4m?k^2Sdv+LI_c`NfVS2>;}ltSsYpnaKx=$f?CrOutg2|HS`$qs9Q5=C z*uSSACpbl%nW)81Zx@PDLD#(su`9}IC2=06->;E2<#S`_MZT|`fOD(i)4U9 zCLeGN?EH_C*ET_fls;-FKQ@X&(qH#rFS?P({;)_&Xc6hC4;R?;rAk2Ld*rC_$rIjy zIdh0s$lCIy!oOFMXrS~}CbUTHRIJuAiItsDfiB1r3F$hP7DTzC789_Wr_U_ObUGUr zWE$>>%S-3;M~aw2%Tq+nakzdF`GT6+OQ%^&mk{L7bX0sRJC3Y4M^$&hwc{{dkqBIU z9HEZq<#b#=|Grp}u2VwVCi|84wK>>Bc76vERss$5{dAE&uscUqXD5v@Njs^D#F7=u zo+T3|*FYVkBtTdybynd~J{FeEz};7l#9 zHNZ}-k;s;76L3NT7kuG$!xB)@66WZ^Cd%kWfj;j55!?V-d}$)yTKeHjl>#PIB8RF> z22G7NS$Os2#rKpXAYOb|2v!_M;@OXMG;5p#77oVHLQmJrVP2}A7Z=kGe419Ll~bw4 zs=``7r;-oEaTd}T1H2%Sll0m`lu`~gw**I?b3ZsKW2L(rD9u#H&Y#JawhYFKa}D%l zU)N-aBMl;3N1~OWGQQ~jph(Jtr($BGxcaOufQldV%T zbUBkOFQ24ruEQY?+x3a`o+f+jiLjH1mNZljW1?T(gZ?f&LbO{TLUp8qR+=nEAGtgc zo1-jPRdFlO&ZD4Q7EpP%h>&D@?nt3*HBpbFT^+IN6dOAzJl|dim-IF07nhPWfXNcToD~274e{k7gp$;p$@ZB zQUU9xp_P5je!U`Z9#`()w1r&%5TEbEoJ0;B-z1Zvh<+5d?iJ+k+0cI zM@i`D2E|e(ZS|_yXbCctu(n7$z_hb%3d#jWC7v7@OZI4h<6$|hD+ZS`JPu%slIf!_ z)IF^t<^O&r?8Z*gX$yV|3DOpQFTkeF1L)88*)2}!CrV|4OR!$ znEQp(!0l>V|Nd-}FFa)#3em<{UMe;fwlf%QAku*=f%i(E)fRZ1RH0kVFr0*iuJ(5H z?9Aa=?>RghK8aM2L@`XDAk+B>4Q_#Gw}c*^b=X>WB}bkUR-wM;WF$yqM5>vcyW|~=!z<~mZ!YZx65IICC3`K z+P0)!EA5B&MHZXmGWoc|O;TvZ&Y(!-S0}cswv;tdGnm#gQg@3i+>pHQ4v|#amfE$P z;iN*sRBc$+hHYIRKy{ymuCS#)FAB@qW>!T~gru_SP6-^(pGc@E1x~nftvL07XkRkO z963`NmOE^f28&wSXsIt{8@(V)miQcH!AB|#O(h~EwQQiJ1D#yKi5l!Ili2{#xY+J| z7xH!BFJR2Z84N?Rf=Rx@<8p$A40M00vdblM#FDfEZ3(huAUb7I zb$f*(Ek!-9^4{}Qnsm@mtXCq5z*7kTWyhE;$rIg#po^2SF68e$c8?h2$%LL|gq(BvOV=#-RPv^C+2!>gpKib+lb z6L3kb$HytgB6rVK)A)3T#DOfy7rB0^p}>*{m$sGK2bPjTHv4&`=|mF=ahR|co_MiI#myshqmrnGGzs+^+&7qp3AumjRyX2OuH zV3IA_*wMvtu>5xtdUQ<$fu*Ztal$~HU!a{$AykT|%1*L1Y4CJbSD#|fxYUI$sh(a? z&Zjv4p9ya;wv(2J@p3i&WzKb6mHW!IWJ6meAShc}dE$eLP%GY35OJz2PyN$e&6>7P zs2T~ebV$1$_&hT{2wCjX>PcU4v_;u;JV7bR!%AE1xOk}l1}sB}{G z7v*!tR&AcQCFYKb$0~#5-(FqG*96sU66%)b}38M)$;Hbn$mymLJ=ctl1a`i5UZn|;tqp@Dwe4TL_NpBeWAMQHk?L4mpgF(zHk{zuw5dSPE zRE3K!-f|VLao}iI;i{^tlD}Mlge_JtjK65I*@$3#N2bWtwPPuv9axI=EZsM&tP4Z;6@xAo1MR-oX~AKn$Xy(IVp01-x~#uC+Ub?x zvtq?zR;t^WZO1p>sC;~bt;JPc1c@B5U0qnGq)lj!>viCJ{d5D%O5%h&uMee$JOVd` zz)^9s(AQj5RSoJ6QMrnvCMHsai%W4jrV7__g^>#cGfRCcTh`o-K#KzG$Y$awibq}% zMj&mzxt&WTIAg%~V#G$N-jdve|Y3 zRcyu)(pTLHG&#m~1T;CzIUxs|v^^4i*_R$)p;*l-qC&=|Vh7Z*O2ZD7^HF@H2(;2?nT7~69)@HY zGpsnr;MC8;e)J+A6s4z^FM;}&OxaT$1=?GXVkv%i4yoz}*m)+zeA!Zsq!@QahgU1E z%BAx6m2?nCA?O4Fu`bm%j?PJtehIdUaTTjK(xZ!Xr(2GGkc=xLP>GAplr2x`7bc&r zv(L0vsx)G)vj(aVw`D2oT20xZ2^xrN$f{5?Xq}X!3i3+6K%}F6Rcl9G*Gq+)@eZZ% zc1b(5^zlPk(9%MO9G#N%p!aQaN8LS1xM4!N1be+?)$dNj-xo=w2XAA!O2f5+I2i#` z4m0alar|INmN7%!sI|!|+=;JXSA7RLSjeMJRvTwCc~%|^(1a^K`*n2CEIjetCOq?{ zPr$47aQ2HnN)~NSg&jdTjaUkZ9YcyAbz$nVhV5z3I+S%uSn@`7q*>3XZM3rP+S#^ z$ssu4p|I|5^j2la;OFiKb#Tf5+5JF4ByJJKQ!H)U80^L|^)A90`m;FZFeE#J;Yhkb z2Gw>#?6NB18gfiTY0O6>`WJ-g&XBd*+lgeiM?|rQBv?Dv7T|KbZ6+06n429tVtvWq zK*xysI^|Y5qgaygNq*R~?YF3{KLZEae~qrvL+D&LAM;<=fRYy?ZZ#fvGT;slUZ|X5 zE)miJJS>r8Tb}!0WKs)|u4=}-MdwNPR~3>KYG<5|KUMOr4)M~CHJvf8ii}6vvQ<$7 zT+BS^?LjfWA6|9D9qrHj4q2xE=VNP6=K`OljHPwrd>&`=phwlm` zvnn5VmbGl18WBp9L)9VHMx{iVL<`cHM!1O@DWD?B0vu()L>dS3YX=zAC^YdGCHjG# zW*lB61!W?Y$k4X&m+;$K(EP|Z(7Q0i2dp<^wR0A7nF3j~zJ$8@5f`fIM-A=zgH`wA zwt;65erhhd|2Yr)#}6R<65X^Ke6eDYOCt4>hta!$EaC>T)-!>`;o7@MhA9#;572Qn zKt+~`w#zAIw5&A)dvOwQ;}Vi4y>_O;kgQ;4-LvB#Y(UJ{4zkoNPlA}js28En$|p^W zO986pB+*D-ZmY$?vme?lr4F~9{C)UyT+Bb=^+>q$5l@_@bRSQbB~yztnYalgM@NK0 zxV-MhE$_p=&if^P)%W^P+nB@^xwEmq>m2fr<C zvqZMy12TGT!>|*^g(j`+*4m_~q;Ive%uCEIHVg zg-cLu$dS(JOTq(33wX4%JQ43eSik`N?XtSj6BW=Ia5u7Uq}uv1kSL(vt3#<}08TPO z@4&O*lB?N$3FO>RdTaU6slQNB4{X)i4m+a~Vv#y77w8V94Gst77yEX@e(7%X@2*9U zTOi9dL}!%4z9=hF1;-7SM8V*c0h;#Hjp2DZMs%_kqB7`mt8C=nv=0vVAZzWG?SfnB zoCkD_wz5(q-Pu>j-Jx4l3!TRrvW{P|iR6Po$t*XWgz$_yI3Icr*x?_wMv7(h-wky9 zJFxI`V=lRA9AA?IL$ZRIsmVrxs#wKUw04#9XeR@-*QfbuEm@&eN=s#jmQPdXoF5`f zWZD&OLl38Za&SIbsY%jcQw}+BlH@|ORGGpC*^-MWrX<-QKp(l$=HPpz?cxDo{`?xO zSh0YJ)W<^WG~$}1e2x`I2FPW{@`F>6AtfCO)q5?f(DpaK_9fi#&Hq6CwrcD>X^kAy z&Ci{Qr7bxm!v@R`=Fr&5dL|1wpy_)tXQNn%kfj?(UvG#4>7lt?2|c6>_w|xAFaX>` zI&BN-rtF;Jm|Ttlo=a}8EP2{;P9UkjF5O&GQkHgGdWe-&A^94@D?y&wp2RMGuks*rqX z+n7n#IKCzahGb_jIDM3(3hKz(`_1;f_{P_t0P2ZAni|PUEvXpRkSEjuyNWQ^&fwKO zpC<=6IiMnxz4YulO3*&|QBCWlEt*VQ+JA6Tlz3@4jC<0JX~Zg_uMkKjcq`1^{I+=Y~- zYIWPXU^i>c4dfuarwD65J+_eEyuT#QI`z*B_UdDDK*Gp-xCTo&B^;VsO5?NFTlIn*K)!xOm zR9%5Z>q7F~R zPt+5szMu-lFV9EV?Q@6)=^m=*SKzB78^~rc=^za@(eclNt&mugjmvM20mhP@92kN;RcOB6?!M~s^rs&ax#SQtzm zP(@P`@|^$gb9fgQz)s}kV-rMn5n0OIE4PtIvyRp&*-F#&ELAur;C3t${4e=W((+1$ zg#kNxA!)T<$&r{{s}z;3s_juPHgkl8$NJ}Xl)^yLgaeBw|GpZbt(^88>?LH5NFpj+ zI-Yr{`66SuIEl|)rO?X zkz)^ACmQy5D7c6Q7ilh)iWOVMeF6rz9bBfsRgsF^x;u&vTDLNpHlJ5ymrN%ypX|K$ z`aVe;EpP=c*H?x8xJnkMwT7_=Jd}!3QqE9XUFp79fm0FWA8BP(dGCe3#DG&C^!PkP zj;cqSqjy%;7lc$TT^ccrt79n&)EQNZXgOHSp$|WgJY1XlB0TCxDx<5S)GA9DY3a;h zqn6|gUuqdJgI8(Y*NUqRsB`To$G$XR+ePsEn89f^lXk*rY5%+BVm7ol855zLWs=|PEzRTeP6Az@OECfc}W zZA3#-mZK9XLU%${B!&aKip-~UlUZ^uNfL!ndYu(^MyP8_$_l?WW zS9m(TSu zo@Gqry?Ju-<5^^a2D3aJZ#dp!xuFpY^Kj&Oy_ekY2S0ndQEtc zvbd~WaFzu*!?3YL&M=OJ%j;UW;gJ{XX0lxLHDKG@#G}0iadI%^mb>+&%PPoN3Td!O@R^$OP+fvA2(>I<+SW^2MHe$TbKMTDg`LZ29YbcPD7x(-KIkn*(8sDA!L0Eyus^ z`N-JT@4Z85wB|l0MQL`^hrwCaI&3EI}d_iwGMMH%fYT7ZKHS{RsCLb;}r4 z@Fj@i%2$q%5?jMsBM`0?_fr)|DU`~VG?TZ>Ui$(YsgY=<%9wOfcvR`?OoTZMR`EJm zHynJ$`Yl`FY%x0-mmZEJ6QpWMqNqtCNi$ovtewVcI1MCgG$lwjNrDt4B6@mkFT%Z( zX!zcpusUe(MCwxgF_93B)+YTpD8wzxp>9kIxg{C54oBN;hG#6lAVE&E~@;Oe#nc7o{Clx1LUc1 z%%@Qxhs}Y$l2B8Uv{^1*9g*ie@Oio(N>-Oxa@@(5yB=_u5>I#M5P?Y3-IOYKCCv<7 z^&YP?mx$@F_5uIBPuj<*<}Q}9WPx%>7|I=52c2hjWW_bJRKP!LsZiCntYt)KOA<)! zO2Z?My`4_0Rx>$OaEALJM(l86@i&ahhG9&z@;6lPaUO=BmCyx|Kl+C|HLXtF+pBU9 zh@0++)|+^BBf@Vj0uB^KGv=D*;r6_|7jdjCpPSYs(r?)=B@dHfh9r*V@cZ{8dNEm? zMD7+@-}s{bRBIBcjET1S-9YDe55F!aC$I(FaK)&rm=LbXfgxGJ%(`bgI<1!Jq}2_P zt7jg}<3BT3qmN9pvp@SI1gQir|Ep#q316H|zW8j&!i$vpS+smfujQ0|jt<~@w0Y7I zy}*)8Db_p#(n3A5GzZ86_Q;Wyiz{r|NoKwwaS}|M%G#r6$pk{rgH0ADlav)H%UU_J zpnTDxs$Uqql05J8$@)BDF2diF?fN!4m=_Y!79ymZQyiZr>pHw^vc4_SQo{nt9V9VC zWNF*Ifmqu%DG?!A<3ZLF`60>@!IQJgqGcgxWA)MwvV6m#*TqOlC4nOCxW<<>)5($k zyDLu?qiWs5el2lmaoq*JL2N6)eIyURy(k?RQmGn}SlH&ysEja$5jZ$A-BL49X2AVz$QI3N-6n(L$KJ23~3pM8gMZj zuGr;rKQtN_*T4zs&Qsc6LVj~eM+N}mk=w&>(!S<9asr$u3$S`=X7I}psYlY1bdjvR zh~6S8!mUML?imT7L%qZ4aYV9Cxf$l9TCxn50hnwnqYc>6#qqL@Z&zAu99dwGFLJT_m%?Gy^gfkeX$6syz8fa*hP9l9r}nwStItOo2?41QtCmZ6Cj|hOJ;r6 zI;(74d1?{^g-H4`uwvkasxTwVB_*E9hlZ`mByQYK@6)kvEUD15#HnapaGAtUH`FYZ1PC2o(eyrp`cA_ZB$mg%~f4TrfE>B+Hma^P;g__}s1b z#v4B<&%gGKuOXlBLngNX1=3FoJbh+upf}L94OIKXs+tJ3M2tDI5({%kue_^IdCqiw z01K+CKqQpK&a9mN+ruIKwBA0c4TXX6vXOnT}Rf6M?g7s*FH0gD zTxny&#OO_}I#`03LSQ zR*?>K9Tkc3EI=iEoXUW5;@p1{LYK z?pzd`ZzB1~!BMX9WpD@>k`+uJmL1nfIRIZb>f?F^FS(F@Y+3rsg9MQPTbo2wI%Mj; z-v?+Qhm3pg0Fh)b7SFvB)itN1=yky-O;N?5=1Hb3&_20#EG-NB$ucBL46~#^){uU? zS3E>qgTU9;C(DpL0=LS-mY)aM^uabIF<2`0^%rm4j@GMdvEseNggJ?>6{lAaSH9xI zNYl7Ck!g7+S)9*#(orC+wz2tiS1ek$mLmfaNHmaTT}O_xI&x4|JFq#4BE^XmDVpvF zGNwYihm@l__;PA*fj+S%>7mIY-8WA%!2ST~6C9+{^q0m^!_#|`8Z07P{3eg+@@k|% zwiixk4eD!FBT8gYQ+2wE+jXmvNK}ia%rU~YgdhZx;U-bXwkM=3nP2*g9J3}nRzi+- zR@PnXFNeYLhauUS4(;7f1w=q(^(9rE6jW7PH2WoMj*GXDW!p)*V)u#&iG3xRPFJ1O zO60Ku)sd<>Aaw<#fQ!o1QmMAwfq+wkeIl0zY}oQiw0AuQ=uWS8q(ZDLJ=-s}c^KH$ zA(|*#d)&d`z$5KwynwB}TJ88!oo^*hw=zb6JHB?3HrhqU@OYX?pDawVc>{Snk{~ax zH=r6Fifw7LUQ5TFtb$WT^ZL3pF4{N`rOp6Vt|dBbiU{;`zu$;ObqmnfLEGg?w%~3H zv@ez+q*)`Ifj#ut=gUpRS?>{{I!IP86dl{OYv_CwkxZl&vD)g+Vp*ygWhC_=T&Xk8 zUC6EIDBjdL_LZXym|(dOOg;~T;|oKwj2YGvybSp*D@$qLt`M~cLb&8P=czF}avat+ z69IyJLPDZA_ujGVWQy)`mjJS|{6LlIi-JHhxgxP-Rqz$p`r{s29MI~zY|-jk48$Zp zd5*XyD`!?g7oCZ`U@)Xg{*)y0AX(3e3mnl9>ENnRWaHTRWl4~%YQR{XnTx9AVt7F> zX|58#MSqJ@3qsV_NGB6WUoTG;8~2Hv^Yj_yI1BB?$Tt*_9N^+MHX4Z-fBNk62ouk# z1On1sleP*Y6Q5qf(%wCm3@k~62sx#UELL`Gg~&_caK}ojlC#<{wJfJ%))BYHiBois zV(nNaShiw~Q)|k=kSt@y#;RD7BFew}T~8AcaZ!^J>!T{iUpl99|EX;QsQF@-qywCH z?thT+(}Veo&qedRlgWt_Dt%LQQr@R8`f5l7$4(<5Rw7h4(TD@RKSXB_Yn~aA7NkwM z#KA^l0k&RNjh4SS6Fzyy{2n6GdlNpp0IJGwPWUM?k&fb#lw956_clb@)D&N?{qd~ZnM6f1=YjQBFNVco1YsBRRno@Zsj@ulcdw?r& zaSH2r3(Ii6I$K-$aZcsfTJt?$bkMPWPF;Nsx`_E4`rSo!G|nDN{jdX_cE!2%t}Ru% ztYik+{@t{H(ppPhD3*wrJ+@9&B!K9Ok?Ntvv9R1C+_9_3%JoUZoC6)-g)mvtnO=$@ zxmhBIL^YoSoNz&j3_@4O!)Cy}77Aq1_OT<*;)-9sj7j>3aY|}D{q_|p`9Yq>)l1{Z zVPIe%9M)Uylyan5syK`a6^Nu30k?{^o%ys5S6Oqh<(vPC(5u3-Z-N|E^c@Zac-?E0 zVuDI}0-LL{1@swY`6jfeth3L^ONLUhB!y|jdJeh5*nl*0`G!Fdlduk4$#}XPiZh_!{Bsr%)`8dpoY)#f4%F z6lN94a%j^?;1Y;6H8oSG3KxgqaC#)CJ*LkrFXoFrpF4aNuFCaYN7a2j?}8*wzsg0{ zW1>h(eS#tvk0LVK{bT~$KHn_$Ul*Tvq3V{9t|P6Me_-LDnqq0|Oov&?1UQn)Dk3dt z6#%_mDde*ysesjxigeT!*{9@&_qgtX6&rIUDWc7FY%NF95rmjBE)ycu4PZW7v`IKc zOK1B#@>w2D{m(e}?R2B+CL*C9wI5s71(m%<)~xT9zpT2q9rRgyJO*ga6S1s0M z)4bD($orM9DO2up;}DNLSvV*o(RqXX5VpZ>Qz`@Nb+Ctfm_*H#npd;HHRhGq$uH zcQ~&0i5xLpfYh%FNIVu`e$&;MbLxxKj3Vff@HSQ0TuTCct6+zPy$HkfD znJvWNmsr9GHOVsV#)0#SxU90AsI2}d(uKac0in&aff|urqPhf9WDO+~DMa%eAu#FW z!u3|YNJ6wYB{$Cr3!YUj&h3!3_uO4188q5bV>T>$QX|23(&{km8b$n(@*lCKDp3zo zl||{mDp-q)+UCe=b|pSGV2d*1w&FY3n?>7{R7J3yiWTPi4V*?>;uzuqMd;W{pM8Hn ztP^;uPfk3NNWu&k&mIujLIO7=l7J{Gg7N?q$3#PKu z)g&WK4h+c(rpV>Q?L#Vyd$4S9;H%1_J>m1T;PBJR;fP{)cc7;2%$Kh6LkS%fS+5IK z=U65R^`lpcsb%?^EEur`tGgd)#}E??e@3={J1)EIH*k|Kc5V6@e*2}jNifwj-#$QE zFT{!EHjp6EOnNLy0CsZ%$wqokWNI}LiO#i=YDuAr>k-rw(J!I*Zp(uEIIu(M!qdJ_ zf0?`nVXiyq7%LKZ~r0VieP#IlXf0YzkxY`L8 zx9TZ~v=WjwtlIjhQCpK)yI_)GEZNC{Az8r`xtus9awIU>di&|OIsuZ6NitN85>Uw-wVAlT)G`0u}3+5>#cy`-+uBKtq)DEXfW3v!Q%JG zT=+b|V2W()Oia?}6eN8)UPs06vIEan*6A)j<@yuI|Rav!`IP2JyE~rcZTa|)LCKe%ScZxhg ziUE@3uwf@4AGdPBdB}N+v{f}O<@i$ZuS~G%GSMmx*cX|Ar3nzhavH5=RmuSg(S+s3 z6a?iP%2Xy4?CK3)LYJe}-R8ouOtCAS%h9pr z%4v~DfWf08>a>(48!({>QG{jX651Q@i2o@LLDE@T5s{lXmTd8q!%9o0md&ZB@hq8_ z3-Kt28JD>7$+OOFz&W(a^Rx1vo2*mv1zUzP#aCTzm5074pTn`Uwv$5It`&kW`JJ?^ zO1$||NVYeJzxkxuhMr2O&=CbzqzcS1`5}s9Rh4C`)`PZc`G8%CZ4Ip)(P5GtT6vXp z09Dsk;wGd;I&`d=YS^f1e-G-wieO6;gBwdG@%dI+UUbu7(&cejzTAxDtOikq>;i)s z4nwk25uATM=Xyo7M}o4ML}cKq>3AYiK~xfH0M+D>D_2QTX&p(xdMU@N%GOcrxmQI` zgjAGGr`ES(sbSE8qX@)BK9|KQ=UyYk%4EB9r6-S;;~Z8G%W!N|v*H zz5ktiau%56O?v96=MUfYpCeX(Xet3ruBx-f?F z@rNN~e6JwW{1 zP?N8%(n-0fwN&Ry>-~@&=O%ILdG8Ri4J4)4(}Z3WOETn=iR_IJ^Qz`R#MxWESbr=L zNT?HMQV6*RdOW(?mK94J&{QG}ix)Pi+R8n3QCHxh@Kl35`2aNPuLH#bp^r7+P2GarUz88h@cXR;}$ zQ$}hE%v50$VfePvVfncbt2D({Ed!-Mi|To;6w1g}ycC6HO%pZ|4fk@<#kLjUI!bf3 zlw6?5*%CqvrQb{essST=$< zQv9c*IaQLY%^G4tv{_rrj!~$S4kDc*%Ik@Ho#SkMo%N+^x7wDgV{si#l#U8xs?cba ze5y(nYGzY)U^Sw0-F{9*4Yb3ms1(vD4(L~Fs+tKQl#y9E1yQ6f(gi!aEFBW2BOlm_ zX2qFc@i5quc0%dmU|W$E2~-?z905xvzr?miGW}OYxP@FJ{aV7fv=a=2@`C8WEFl!> z+_sPeGB2TO^4e;wcBrnoWMX_Z1q`MiW);cy_V!e~8gxD6aygln4y{r@l7=vpjElvB z6njzCmquDAc9vBBWsiFxRwi#d_}=i()%mLxZ}BwSE0wfX8V&o*XxKKEs`jO~R|Kcl z;s0~}R!`-HlB1sKp&%JmR$OSCr}Io!5)Gxj^C4@d$#T5{6@9=vW?j@(Ir>(pNiB}A z)r2b%TMpttvcc3`eqXoJmT9&2+_N>Ptxe^{SB@n)QepWDi&<9k5Vsju`;1jn<-k*8 zwzNL1B4IhTmv1aitg&j{HPi-js7aM?F47{sto;`B886D{EPc)+iSxCj?Mz?xarE}@ zN1@>v)NEfMYxny(o%#X`dB`YTa*;`_M{Cu zO9M)ORa1Od2_|CQ%3X?X8n#%l$`X!LwF4bd;Hq;VBerE9GJCLU=w&BumqF3@kl0V3 zTutjXax=0Nyq+wAd9+oj7YBB#2&WB2e(51%yvcH6A5j)SIEnY1_RFIsSdTXmw(olV^VXA^NDh*ZFzO~{BymHi8ee=(8yI-GVemDG->^+4H+u3}1UNi0y= zSFY%tB7sD@#SP*(T8?IjB?VinAr*0~k*#k4I&xP>9H=%qzP2(w@%%@c7*$C^vgD(@ zYEQ$uGIT@$R1-&u35LpQE8l=^JtYVg$*M~x&V*C)go^DgNuorAyu=jq&83v1r5=Z~ zMH1>o2Ch`;34PXtwS;t}MXtHN1!oBsHVj!jJ16K<3x;H8DA)qzsb$ChZdgeop;RCa z9+yZUMN?Q7Dr#)*OJIxT#l>H_^Z=)?Cfo+m;^Hm{LS8D!6RLoWvSfwK*m7f1iIkT; z3>6WIwI{!D6`LD!Q55}NEGepTimLRYXu*-LnkCOQx#?1h@>FzPSMS5uI;hf8C5ZrW z;c(ScD-yEPHvkW`^b^BlGjNJj_wsk=CbwqPFTO{MO34DfW^)``$(&CRn{P$Bp54ra$w|w z8HnEAJ~TAcBSj9F_Z81YzdL|O3XkKrosYt?ly2yU8C+U77q1`^YCF%xzx7n3DqW4W znYXYZh8Mr!`zU1hAz9Ucrui=*hg(s3$8`vm1!Z;eG(WBj5EG*it~kMh!Bp0AI%=ds zvm(13(;C+vP~`zR<}^h_Rg&U0DvCfkxFlIYVqk6Us?tO*jO|L2ge8_SJ6@97lGTY5 zR)Mxxal5LELy@NQ{qS_;LqH_yNLW>%bl1>Q@eu6WVxp96U@}Q1zBecPR5yu8h@Xi* z@9jcY-$SrVN#tL&6a81yMo-fF&(L|`MwQaIGU8t3>O9%pW>RU}hb7s=G2SHAAU2qM z7?Ksttb2B;q^eVe2_Jn?FS@fOB>fDUZPlWh$u37f@Em!?N=_cx0y$|q`!TSHtlyCH zqe8J@x$^*PjS1aHJPcy1Qcss7AA_9};;4hc7A%AP0^@Rkfhx6V#j*iQ3W0Whl@Ln+ z$`R)3cv+sZCkCSw_y|HRKa?}gboxLPJGl~C;?UK&;A=s_Cg)KLY8#1%wmZlU*yt+s z!HfD)%OoBpQ~;NF|A?=Gq_V6X7ybbvS8`xQ9klnwjYPG1MZPj#B6NqgEo2b(6{MMX zVV)=F&>rAuFB(gUMnLjFz}6yA_4pKG;qML1{qZJ{@v| zInoNdmY$Qg=x;ml&n&e_7z!&8cajC>|jI6CmTO~wDF%@=* zY3Enj(Pb%%cCd(ztBESoWM$Q|Bk)k2YRAq_Uuql#c8Gxk`{5O; z$hu3yZ)_2Aw3FnCPv%Hp+)v~jYJOCK_m;!tNeZtUN}Q<8U3~4NG$nMLdaiCrk80_f zY6~fIA1$_0lVb6)gGka}B?2HVI-)s8MHBEui-sssX-BjS5x?2n3U?Tpfm zA0t=FCR$DoJzdWt=%?=oEBAdmarMYw zkwIa;gWMD3BCOts`kjl&X_XO8+V3c!`z;$$yrPI`X`@I2*8gNt^64C<>A55{Ksonb zQH7{L%lnD=8{;DCW58&3z+q|-TjT7AY%uvSBrBL%mTWm9&4QGDDGG5oc&B{{_S3Qc z>#rX|(_9xzR}%RUeRmktF zMgBk+q2$18REVE_6|KdW0$>ktVV{Q)FQ#h>ns%-TaSKNHUp= zWT6Fp^`u|cA-_L?Vs8>fBINA8BzpHaw2VlaX5RxnMACiydE86OC+|KJah|ka4{n-C zHcJvj2mMuDY$XO(Y7%hWgQQLxapg736|P$)jTX68x9wO`d5f2`)y$Q}I5=Q$+Xi&^ zBHb!(<;~N7mI%^5 z(rL0_=Xan%x+r)=SS5*00XvQ_Z=Qt*3fiHvJ7Km=SoKvv@31hO5q z=qGY6^jOIE)}qjxp=}%@b4Y=i(8`Oq-eox=L6);yBFoT{^kBmjR8B5h~I6!Np zQiv9llQ2uV@rE8)J7}FMT3)56I?01Qf2ps(Kb8Wyp`av%yZ+RGqmRizv2&4;5 zq-xH(X|n%pm2MjM1RL=A;iH3yQzrbht{-hE( zN@+1U7FCBUR9RtkEY)O*_L3#KE_@bfC(E?f0^$zo9L2y^_Bs*|4v+=9IEAoI*KCMX z(u75Xi|325{-cXb_W(hh-_M%26u|-V19`NyZNri!OD8AeYZ3|8VDex{b_Qaw97jY` zVfr!aHYz86W)A6!u8KY&OVTf?@_|yy+V!F8+^CuYGK;kp=}L7jN0mk7HZ2KGN!8V@ zI3+c-bRicByW*Hrn|$*nB*?LLfO}n8jt-zIiZe@UbX%(IV1oXpd5TW|QX~Vo78A2e zF0>30wMSN`2e$E2q|w?*vMQTsy58I?mT|39AY%3;-L=)?%q_CAX*-rOBELY>`zj&0 z{;ni`ykQaSUG=nfADW?hZ54^|13J)RP(Z;ip{2fF+NJwNPmU`f;@j`{(Nx@$(zsEP z&J&$bwpir^<$X05aFpIE=Zpqxoti=V(#k`9c8; z7A#cp$A?SpJ`TQFlZ-Gqm{la(M_y$?W$_@WA{uN-47M~m40QY_SH$8XEOzA&B(5#|#X^n=AW7y#!mm5%T)A}9sRa}AtjDTy9n zrGRC_UESp1acwcq+`r@yvG@B8d@QgOFj ziHc{`Qo)a`Ru`%$xDzFG^(>1lSgv~Imb)HAQXzmW=a3}W&N16-9#3dCKol$DKwl|pxHYSYrmt6 z(I`%gaBx-f4Vd3B2RD50`^eWtIP)cG)Yqxx3l2+zL#A*KS={#zAY4wb&nEIN1uDux z7p{?Gtf!+UiKXT@9=bbpC*7dp%ha;#KYjjlIOWt+l{K5o$@Mp4p)0E#Xe^bjxX;-^ zMT|zf-t>EXeTr~$D973epUEXAxq_Ep*&%rh*EV0Hg<@f3f}W+UJ*!BzZj{PEd>z-+ z)J&iX*T6Ba!o_1eTotZDQUAb+NK%P3f`zI@3hS9Ans$RM%#f`zk^lm7eEEGo_W!;B z`>q_^|Ls68t$PoVFUtmrYWho#n^bcGNpgTWC(_@=q|7d|k(r+&&pQzeyio z+}HwSwhg)aEPtLCsNz{n^qOfD1*^IUp^&izWx-=&BMmu8>$zMlOp~`CB_;lr%QJEs zY$0OZ)Dw#|l+FZfk^8FQp{@<<5}Bth?#`RQhQ3Br)9Wi5N-VL`I-#h{A5E=fflFA`bKV>E(Vl zK~#;La^$yZCL`dv0vwfZS zPj;;DNWEN}t^AU1VH1X8y;>3<>x+YqFW8b!wNK zHPHCB5{>`A{qUd7ivG>0si{TX2sgu+@Kk!RnUK#0%vh5B<%U%^;pUI*m#6|aX-PYCPIrw9bxVGnPlQMo zJhopXUKxyP=b4ZzmWN=OIG1q-})BXc5ENj0xX9x8-krRm{BCVw|5=l z%lMSK?XVgfaB}0t^18TVH~Q{-7;D$AEw8_F9*_--rVT4&a$*o{`Te9Yn~Hgg2G?h%m{gl;1n|6lAM0eX(~QZozrSB} zP90mxM83^L z#?3^Ib4XjRC#9LBlAZ4%sifebA?-;N#6W+9SHG)T(keo&lq8CQ3bG&qb)}1=B?N7e z4jYl=fhLkb_UWp(j*SzSEhViB?W(3JTz4se9(DOgI=gsd_o^ZM# zd-v}p&EQwS?|(0(o8G<)i_bd^Uwe%ampnx!3{Uufa!t>TS9R;13gVm zBoaiBP4XDB|4Gye#aTnny-Ek)qD70!&)@qO?;G-&>=4@i^2J$v?`ZQC}n zkRN^YF|ov1zF^`WGH!OEk%b&&>AU6R0dT<==!##E_A=~fyJyu45N#>qUyX=CR)%M#?*<5XDpwgET~4#0jcr!-x%);De1T(!MtJR9s6 zH+~zn_pX&&&7uUgS5Z{0w)RR0YS*ew)ZP@es;E)a7By;*N~k?!$E*>1#rCAX`}6<5 ze_lM-i@Zrb*T{9wxz79^c0ySw9Q}-qHZhD?u1EjJTBL&}%=st0Zvy}?C<|)xUHYc{ z^(G8GTaP!R-cisNV9PeWQTBPq4XPdXh`Kqny<;CLbyg42KB8;+`SYi9zP5qZmpgdF z#?dIr+K3HhV5s1R{}lzcA1vp9VTEysLAfEhi6W1vkl>Q;xT?CktbcPrpA6>kRBQwS z@H?FMeun_$`7_KnHYWEjsT`{*=_sklB;2XC8y5*7h-5!%Nsdh9kdR0O!b(+iZ=Wjr zlf%5nl!F;u|2DIpXmk zjcfUk7rr1|@hmQxY)`k~43#rkOhNV60t%9dlm$BY{8;DUl^vj%t>2qME`~gyJ%lp1 zj&A5Xasb9CF2R9ZG@%}KVf$2E`f{1vLIN}S&A6>27T@fw`F7i-X}=lmHlZzmMU4oJi*knSviHnFu?L>r>ZO%m#n*1QeLAMohzqTy_fIu-E}gz9az?( zy~TTvtIbFDyzxL?IC-<7a{h(?*1yD%k8UQ5?_LBIt@$I`pxrU`i_SYT9ppiZ%xC2C4 zRo(ropjhh#x5`F%Rh5p%op||3v6J$6kp}K^DN#FFY;TI3-SHk8t?J^k;L!Pb)XSry zTF_b=5UeGT5)_C~ObK&Rd{v1FpSLgnUW|Yg(U>zz(@n|I$ z^Cx#ambAI~D7g~bPk4J|HD(~M^9%`2dWdJ89v|98+k;g90{!hU9WPa4xzZhx=>o); zm(DbN(lt9am3>QICB62*UVf9+n6aH|Thpj3N7jhi&b-1jwvCLYLOfJWmeqMkD04m( zDJ4GRdvM#d*Dwz(1ZqP?rhoio(b^6FY!f~kwav}AMe^);!$@l?lD1SnUSD?U)UI$} zwEhY*34PY<8LX80_T8!%?&|W(Zxh9hLFLAXu2=Y9_h4kl?a1%tav>*|_88P{S=o5t8HnoH?l%(!4KDx7`yrT7UIzl194{7X~q?F-azgRn2*qo=DyVDda6= zXq)a^o*wv1NmV4QK~?WMyAa}YKHW%Wa9(>=m{kJIVq;Uq6~WCK1z2 zi*uUh2s{-rVf{hA0~>uFYW1dT>-q=99Z~6E@u^jrjeEPI(F(JxGZ(m3$Rd8NGIGQ{ zKk)flAF22Y+Qww%-$=S>~AFXtlcC2KRZ zEG6=_d#r7XzSZ?jldI3G>fLaWd;qX}D5_Vh_s64IWX`4RnC)J5D{iC3jc99=?Y(r7k=+eiz;?kjZu1v^O9!`{)FsYz*LgS?sv^ge>7DNE z;`n&j;zs1g&FRAZP>r^^;v@uX$_<2=n{Cx8`F)4+bAOQ}289)V^5ku;6zsw%Z9 zGn784+V=pDDAOjYpD0a(ME*Gps#NcJ>7GwoBBa1}kJ6U3QiIGrXVju)5*x9M&upkC zHJ0gPXtdrR(G?PoyW4X*_IaeVYJTpfW?C~rHWAsv<0}bVkh=y}YO?X<_*Z0J>+J5e zF~+Qe%%T0bXKD*1`8OHqCd~u|rb_9khIf?AW;&g5;2X$eA&8}=C2%%#i3=@ZITd>V zSuFM`w7I84-OrFBY%EKq6iJ-`9kla}2c5$?0Y_ngn|}xh)LH73Qe7OfD6zG!(FKcd z=-@-0j(!}Ef*zWw6qHY;9_v@m5Zla$+jEKqi)9k=_%3F~S7YU7nxQOf*&`(7Q8(lC zS}d}iDLFNAqiEfIU?i`bmPM9o_VNC&DBfIjC*`|U-GuXGU8AYL(Mw!gWJOKf0&aw3eb!1}II>$G+723JI#_PZ8)!U^Svk^9iphSdcl zRDxZ!GwJMD_Uqj9@u-jAU)Mte&WC!Zd562-cmCkPsxXwl4__uf(YLeSe)P^-zO+YT z`rFtu%E_^udY$iF8^&R?{|@S8TYuqUSbhJKkrgL#h(pb|;W+77>NbRNC8h-wOYS7} zq$9g*c;z=`kX~+{{}|_swpL%mw#PcIGDlwt(ba0m@1WLR6@I4J)begL_sgUjk%YN7H*y}uEEVZ4-+fnzyV z_weH7H{wLk?oH2vH9_sefLHRpa;|~B(HG5s<{pGp6^k3X4dFrK8>40~6zuGuR8N48 zfgZOGa`&SVd>djf8g~&3dXmczG8Rb_R8mdiE?CQ zWQlCyHZ3pvxaj&tL*Ai}UY&BT-%@2=w!G?C&3et2KM~_<7rus$&{Rl_S^g8XgXJT) zUH9euj8xVdO0N=yNU)zS*%SC(Y{#ezHkpCZXvl0LUA>`%U<8Vu*b2IH)?yrt-wGv$ z{5Yh+!wV}+V(SPbd_&pJx_LV>KOn7=PT%tCQ{`{f<6K@7CHbV$pLeScsx|Q@+AwSr zZUm!JJA>~10Fo-_4v$OMG>TrpG3~qz9sjADD9L#kf~>+Z#@vd<$_{tE592Vw&Tk#c zUGMaX)8E(!xcMPr@{yh*Jde}d8=<}`{- zw%ZH{KQ??564E8oRTcqYarg5IBL7_0@4ndaiJe|m{ak=Xo@Hoj0U2UGpqSKjTgd|G z)QA75viK`j$VDoaJd3W+H8yFS+_pbz!)x-slc@Y}{|sq3)yfqzVyU#@rvWOY2kM-5 z99pTJCjWg)AmUEZ_{;!$qZG$4A?FL2AW};e$KEc_)@;^8KWXJ%XtPBwuM=kx+Q9K$ zK0@uWnFFDrl?)c4@P8XUS(+;75ONPr_`Ht8C3^P}eo+88*`lHvBCR>@MkB;8&~=eZ zIdbr6)7{YcBe9z$N{(Z1`=7#oW+o<9J^gxL+tA9QSx7B@^*T9?bHBO>n6Cps=p!9N zB|h{(i}An76>1{WgSQtJ6GN7qFTH|&0L|y#iLG}}kAt!JP1pk#_xW(Y-qL30!5`p9 zSEf^(#3Dz0c$3jDt(viTPJa)l%Jlp&mg1$fkh_$!6mpbz6+czoen29`ZbG3r>9Ny` z>CVpOOin%%n*<(ea^3;zCb8mqV7T*IMlqvH))wwxN{IK6SFw@xodY1qjrqvwk`GW% zG>_#eNNyi$`TV!d;u)4!e4IC#YZZ)|5@lP#RKCgKF0}+KS6rkQ?qmC1rghh0Cu3}1 zVzzPryD&Plm##{~7SRj=L4GDh0Filqwsi3PhCe}Vo^uq&boUG#`~Urv6{H_F{K`kF zbW1*!@AAb4o{8b9xo^AYM;){1&muWMuNTwGX4t;sRsjM$#Nyw-VYxa}W{b$MfU|=J zt9F0;>T{ToTf1*1TTEK)%o;vGJeV3TnO7GQ?M;kj+G2)%)N#hlx;j;3!4Z(_e$6$C# zY<>h{fb4#b_W%f+^yku~!$;^*a17Ct_JW+T>xks$NQi!?^avzs4UA z>kOF&l?UZYM%`w-rPdN%4O0Y((HW4>tCgFIbIcbr1YstG9wduu$bGNOE+X7PDW;#D z*s;v_m*Beudoky^XP*!D1{DES4*C66D*q?vt zyfVWI_VLuaJN6~f7lsR++i0{o_~aY0=dXca%<)yHJ7{>s^T9Q?#P@tyVNjV#bGp+q zz2K8^d><@X&?S=g+*-8Oe<+PS*S4eHnD6!}>@m}Qe*#!Mv(V?8&ShT zBEIOtXYsuaUiIsel=Xfu-*73M_jxKMyw--C?5)Vl7}}4TUvLGs)D2dMQz*MR4unl% zPh$brv#1^MJg%N6n6iI~T=!>Y+d_!WlD7!>%6=%rg(H}(&;GIh+CMGSq>uWjI znXKLjUX#+D7DBu;VZ^Va<*2RTJl(e`Xo-#kjWzwS|1Br~nVIpc?F#8p-!xQ8Cwgw7 z?b)kN-&+4gfxBKaG*|Lr5t0dcsU7=Dk0@G|2b)x3k9#R@04JrpW@|ATw+G zlLoF;M$efC*EV!mFXw-yTOh&u9UOB zl96YY$aEyj<07ZC&qhJLFgLFTUgQiaN9EOVaQn7!ZXhigKKw81e?arR(wiV^XpyPI z$z9A*sT~b_f8-~ngeje`G`%hprtSjGBE?5%P^n?y(_p9BX^iEoNcTWCT=*OD%>Ega zCUb>L;kO1;5HHPR!7st0-Uo}(i;LX;Bi;QcvL9jQpQyTgKL4Jtx?6W-EPn%lQMJh; zjY@~k{;XsKR#hKPo*ekC8ucim({F_@G)H=bm+H2@Tcizu+xC7N4q${@JbUkh0Ah51 z_nP@_W_~g0$+hfQ+E72*Ml|7@<_LdBM`0ZwrEnu+kyYPqt(2MGeqNo~;Sb4r78d*Ji`dO7o^MJf( zYwb0$t~EiA@n0&YOJ@AY@o@Q>t|GhZe1vmI^wX8)iaH@x7j0VITido2z@xzf>LBm^ zOM^_GMcj|QvFAA!L_HsUr5`2MOPHm5{=0-3nm3dnoBSF4W{PT2BfxKNM7_H0-Ts8` zVLQ)fBmPt2Y?Ar(tdTTdC_5YOKq_i4%ypE#r%l93+LDU`FD32G2nXLS zq7VLT=EWPf#9@4@cu4nsavABDT6|TCkHx_CXS(ewbocu}bs1Onns-AxsKKqG2iDj} zY|z7(o3gEFY{wIwx}l$mL`Sj7xU2@Nni1R}6bb zAJrd_>+hMFKPSJumbK{T$8K;F=RVNRctfs18jMUO{hYg$qtcb+9hH9@dvR;z8gz@a zFDbWAZRU%9;qlCU@0-tlHyJi%8_VF4@7+0ftsd8DrSJaQ;pSyBD@nrM^qiKx|@B$M3B*OA1)3W!)C zy2xUY0`v%eAYKs#X2O~Fv4M3dIsv^v_K5WuqAzNL4yC;h2N+hf8nA!w6{O4ChR|(? z*mI@1-{Vt=+Y|Xp4?OdxuK>*HRDPp8>A{`c(g|gZq%5`JMl1)6{`sH=>9$kZybR6!$%>^I(i@cgICkkX(9bi+uvOUTWg z5pE&X#{2K(jO>W<-Qm6JOgWR z^PCDPAIB)F-nFXxiV6HyXV|VO5;S(w5X>}qvX@|vRUrpnSxkIz*^^&CJg(uY&3pVY zT}Yr~1b-($fkuNdBrVd~uck0XFas0A-O@)a(a{|KtJ~E4{1G7kjLahd_bAPwkP&Ll zD}%bXorNEerO~s@=2-;Hy6(dTLpf%x><>B`Z(8?4EIfLDw7-AtH``9W$9KvQPWo^jdys1jM+9A6l(64<*vFT`E*82>iP|&F+ zvz6~qE&N>e70J=oG_>{H*@%Xgq-gD(%Sb-&W(IM?o2aC&(G|J9C^sQsjAJ#W1=MNxLeCvkLYD$ z9ccNd8-5^+vZ-hHZ;$s|fCHl1@-9f9=d{W~`3b++u$O7I2K&Y#KE zdxfh!n&NKe$(E{1O?=nr!-$bP&f$*bN3GjKu05{ErNk$g#VDh|RS5PuCj8hw{V4a>+G1KK#POlu2=wX9Uv9suqezEpJ1 z@7;~-tmh3`HDFP=pU%kyN3-8k+-zLm6KsNglectSeb)?pZ=IIHquOur*>BGMF9TM# zGgh=+eF;f!*%^f8sFCK^3hTMVhfxRe5AedaBlq^WooCWmQuI5i8Vyw)jm8`vZCmC) zGQM3pbgm}iEXDCx+Gu~v63@+IJtN*JxoZTvdh;~zRfI0ehk8|dyg<)!+2_0L$^G3r z;$lkpoqGO9_3v9NaV7V31O$3)!nsCa#XrKzXg~B$ofRSGX4Wu;L7P3sZJiHAvwRj= zSAizk&+&MjpZVeBALuYXc|dpul_q5L_Llv4{pe3%y_pt>VsRBUu)Y4AG=rz+@bqLl zrTE!>1)<_48u2#p%X&OEi4xJtzy5MwH7=)ap$9f$`g`CKK9531Jty~jHQ{YC=))S9 zYPLRXF31pL8JF2nKr(f9HdFVFXrRHWg&2Ds22H)VG)380**Hm6YptODLxZJ<*UT5L z;a_hAn7O7eg5W~>Rjv+kUWD=uJ#*IE8#|cQt&y!hMx!J2sNW?&7V;+^@dxidG9jQN z^d1w(2KgD#a&y2RqT!O7foV@wBKi}>)A87rM zxPNTw2qwV`n~mH84%lVO$XcsBrr>3KzsZiU&;^GhL8w^GC5_cj?f39$r(KOFq&Ez| z(*=6U;+x@LYwji~@xnN}J5YIFj#kX;Qf!cN0mM7$Udwx6 z`|iu@KP!X#YWCxKmgVog86ax6M+k|6>cyUbjv#{737;dt zrZvb%?Y#D9F(XE3HVhne`A@EyS!Z5_b78#}Ra8jVizZJ*EJwA^-i*SUl!M{#2Y#-K zZ$N~On}g~WcDVI;8qsh^108!oeMzqM*V0|zoiw_=D_+{hoNtUOyn%sS^k}?1Q`{yV z(B0zwwO|%Ab3RvypZ0z=dJ5H(@7O6$jdY<}sh1SQd)fw{|E^ugA)B7rwe__ZYyH%b z)y3Li&TmL8@RHU-CGAF=eA@-*7gHiO%dRpkem>g28cw8ce3CI49~oH#WFFSYcY3fH zXtq_R_Y-AT;rM(llrFdB#Isa8H&IpFH5_Z+?Dp(Fnq2~04TJVFyE$3)wB zo-%#J$a>ScVLA?2AybAa1QxZG6!IJmJ?kQb@^ha}Xo$zb)*-~Smjf}cnU z3h@X^E;}m$OVM}3a-j3BrT}+ac@FgQxH5gy_4WMWe6ZKiof+tBM0l5r^#Bt4^m#+l zlb!XgviRYwTSp?Jd-(yu3`)!S-tGJ*ebhLner#kL%ms^v;YPeK`QBg8wD>(+b!7ST zSU{TRbe4h99{buvo2bF2KW=I@p`kUTm|J^F&}A}N8S^+H^qtJ@kcotPo#^U7CS~oDZ1y++}#JNE)CVbS21y)em&Ai23sQD;|C~JBrZINLtxw z8|lDb-EMl=ZYTZzLJrz$8 zrfG>lr_wXWgpX$iI%=bd)k^QGsF<`Yv2<4fui!F4Ru$ms_6Soe%`wnCX33|-hpP4& zKIOv!u2ST1_7j9Kc9raZ|EjF>0s?SYrAg`reaKyx55Kywy)2B90T!h9O=%`@hUyESAWjzci+;($%&06?U{)?Srgk)K2*|(zV)V6c`S{Yt~d|&X9oQkGvf0oL!mG7-ecs}>_>`$u? z=VlR#=Ye!1WP!|o*^#A=r^#NbAI@hR@QQhh1-82!3ZxHed&-|tX#OH{-}F0w(T;Yb zDPCAi=a0Os5I3-b5GHkopgqFxDCM|6~k0W_nCTsSC&(PFO3* z`)|GOJVI!n+7}@_fl}%AQ^84_;-j%^ijgb!AFhIc#p6w6#Zso*wFG4$MmIAAs%{8c za(_W5{`AFvyf~%k6r>})5+C?h7(x6)N3MC@18WIXIcpgiR5PpG+Ux3}aLW;*`xZs--hZyP8I+z5FeSPub6qK_(&BP@}X^ItR6>CyV_ zJ`+~(1nOyUA*K!n*%dL}K1z%AG8I^gLo~a5s)ZX@q5uwn9`{sspTK>?L@R*Nj!1)H zh38()tzmAq@AXRh?#eJ~=&Fvt14$s?aA7L-#UR+Fx4B$oG9{s7K8@)Hq&6p{FwJyy zCU)Z=*D;bjjBq5o1sPEUj2OcTJB?wSVNWV0{1+s;0~9|rHyIgL1dvZYXkrUfTzKh} zfojp{=&}yG zD1~l`)c)APn4QT4zMI}2nTb@QVIMH|n-}*7r(GLM|Gp|e%T)Z1VG)*{R4{~m4EI0t zmbB&zxijxr0=ZYDF%4X{FodC;s-Z!3&|k>kBO+IrKw5$rznmqbo*EJJa!f6A7$R7& z*RG=HD-P8fNt=#b)x~Z08QPGn%@2;!*uXTi6OP2sVa1}_;e)52_org>efC_g#!PF6 zncL!PnF-CX;9tHhQ0P3-0XQz1+AK7!S}{h&x{2OVt|?{?X5OObtm+>N5!P9{8e+vm*NJ1RIsHGnaN|MXnxh zx?W(ermW^GeqFTNEmg6EZPppMD&7Qwq@DA65X|5@5ryxlBv<90k;|3#RKr_;aWabT z3RhwUoF6+K^7I2UFsE|gAX$PE`|>kb8k0Y@N{3Gz^zM1@xr@|QlXCD|vtF3l*W!;x z5I1uX-(C5h^plfpeh~OO=CYrwIlq!1Te3G5ff2NO&p-tbVu9wg zmpWumvFKl-7wWRiBG_HJ&<`|6RZfU?qrcH7`IiE$SP}thFv9@&&pUgx0lO26TDpZA z9xYwo2>R?C4X+tGJP97cKNq3#SMyUyKTBeOA3t=Sg&7QQhIAzHy4z&-`9Qv6Arz9` zNhcrp<4w{DtL<*t_q-zg<~4I(ehLOvtGoJeMqC zgO#gC&=qVA&<&Z^YIJ0RlN_RdGo!LmKp;Kn!CDWwdQ+0bt&ccClGlZ{PwS>@t9|*! z!tZQ-0gAR@=)Gy_!7@WzJQy4nv*w1~F&&YtM@_H1zUFffGCTrZET8^5@vr0mM%pY8zw=pRuz6TuD9xGfd9Qs_< zTcIl=WP*(#&YP}}nsg3Q74wpMyH|+6Aci+HUEe3OBcDi##=lpX=U)PU2c$YY#oFsX zAg83I<9LCkXR8=9_tR0CE-zD&2A3!R%Y99xx{m(-iQ6V_l;8b};2)I;dqAaBGs>w4 z{~X{dmh}tiAAS2UR9woDiT$mZ-WZ8(@2?4EXieHvx%mFh&ab#?LQ)<-tRQ-G+mRBb z+fD+J@OBUhZTLHEFzEko0Htdz-F_MWuyMf03ws!CA=|)`D5Z?`GpB}ADtgjmB|c5N z@0G5V+d8nG6#D>>B|eJhmQ{-9p*9D9ev#mS7xq0$)mUy_MsmFCm*tCdB1AUz=Tz_LIwOEn;Uko7<>(BnX{9pIi|EAOSX6Tu7=(?&UM`Ics9YK`O zUCF81pZwAft?vrGWh=RnxpDhoUmME<>)7gZ|3!2s@^ww>{LH^Xfw`x8ODPev#jS_F zd5End)AUa7zN-!UBiXQAe9C)R#}XWhc<1;04s^Zch*VpwW!;2UoCfqFaGxs9-MGlUXb&SvQR zvhcYjsI1f+o0w2Z0-3w_qBq>nkt5wvRX4z!fI#Cx`nDeL(Q+a#8Bd!y?TTha)8C?1 z#_H)wo?sDXW@fjuse@05)J^$_Gn60eN&ueUL5ikOSD8V^GT{EGZtMBA5+auE)R-o% z5)}r24M?(eqpp_y!nd|ZDYHcATp{C5551bWPe$h5o!Ysfv!UUYu1m4eZyyx8*a2m+ z=qRUAz0Rj>~My<$m7#XtQ?DII8C-yr$9X zI}yVVi+)|d3v8yg%e%!jx$m#yr3#EJ##9sA%E(U#v5_cV z&jzox4uHakk?-T7@ji1kipyW?zZ)p5VRO}#F%K7sI&>rx!L#;PZ#?~2ErRDCr~HCN zrS~_uxXiC8?sQ>uVqBHmw!ZI$+#3^HckwD5iI{s1$;LP<#sNT=D#?s^D30g7O*hAiUB%iXE1KXd z+`Gf5sKc#7%I`?YKz||Hd$G|?3fhtwt^w$W#y7KosXhGdl2+HW7 zaWn;AgW!g>C&Gz08%V(Yg*u|L?wF|q({|8zly}m`$WQ#o;lwjL0f@SC#?#IjQMh*Y z^S|EfpgNAOL>#){Ov}4h8+*WpBl9P0dH$HW-cp0^j*Vh$`xp)gt8V_0{^rb4RxTV= zV%+DgM;=ko`ANyz32WwRNcya99#eaoi`--h;w8Q?pAcOsBSfA7W! zon|1eC2WJGAER)2U<_S6?qSdC8VtLH+p%~bQwGP#*_OLqoXVByRr~SFvnt-KR9;L1 z6cWT;O*!#@Tasry0r7D2Sml}qV^j7RaM#YVzGn6rE7$lFYGh{wyG$UDPW&2I(BS)G z!8LaiS$AWg$jQv?8|NC9sCEs8?OAOB+s`AC$-1bUhYOxP^1hfBl)$`s@a=W)xb675 z$f0}gqQ8V;l|KG}WRgKS-OuBuhgv%;aY z`|Q`~l~!a?teNl(ZwT;k0Ogtbz-GoA65Cp4b523~fpcTG2;L7;C-bBVhCMNC0QublZk7#eS7*oITm$$6 z$KA=15w+Yybsx6G;l%&jLwZQt1vbev#=z%tBct#LlThP8GO+%8V%I=Gm^##|+X}Y= zUsyeF9Bi$bfzi`|SDe7~fj3=6G7gAmIz{sh3mhJJslIYUNz}4at4E?(MJUtvlF9Ez ztC%&v)6iL~wW3E9deH;WHs-ekYSft@6<4=DFl&cx)V!u65TnGFjI%^rHjixOKfb!> zEjn2gzL(WmpBYZ2X*x~TR8_PM+)@dS+Nx9`4*3>B8(gOaQC2(*q3jdo;o(@T`-I<_ z{zy^E^g~QqNuP+7HjmWH4~35|#KN`2XLjQIQ;Ch?0VcSBrmI`n5}VILKD>M+EQL^r zI_?W`nk&sqPH4yO!BRjyx2(?LW*zO(hHD`GbSs2BG%tWh!z#V|JB5!DLHpv5KQe!4f*V76k7Q#k!a?0M$O$#grnB_F_$O>iZ;68H-7K+PxRZ3*-bYd zP*RMe=$dL4U&|5}cCCww%Fny)TO9mM`e)3cuk_gJ0Qe5#*LpO>>F>qY?Bbjzw&GE0 z;5l{+3tk3wB?rY-Wal);~R>IUCRT>2D3!5znsL4dTHWAp_4mv`HSKk#{h_yt;h_1Em++{ zAy%165iA_&YV7^SeLUp$tNc!F|55PRLs9m--QP0AoC$VZeMfMUcVY$%rCafqb0hI= z*v1zdOhUx06wceV-=ub~pLdS&9hBRLT83{#vG;Ib{7Nw(mPfvO`NXb8*3y$lD^%9u zwdUk%A2>|HdLWC<*ETPOtjwzay2+$0UraBL{=4WQ(9oxHIxdz_|JD-7j?KG};<91B zkx;21AfS!-8%g?4*AfbJ-#C5M7in}~O3gYj4<^ieYPG4OEk z@wf4^M^ScmbhF8+O#`5y(C4Tr${Bt{J;=rhGMt`!09}qIOMheSaZO^(+>fm*ab<=! zKp^)s9Ul2_Dm4(#py$2n56rk8N|iC8aPtX>Cs(xwDsd$)IVuk`MRLuHBye^{lJ84I z`(XfbLmR2do*^w5(2+aFBz&3UeVC1NoxS~U)O+;nPeJ@{C|L@pr5>vu{qsT*Cr~IS zj}n)PBvXhDRfIE+gPs&bicS4`($NiXEXQc?f}5M9RmrCJ)ZU70-+zgJO-*1>R*mLMlL=Ay zC})0fa>ez|7pD1}SEfgySF2j)_oPY*wPjvy(|izL*urYy5?8s0F<1Z+qx&!Tik5`> z0Ds{nem7W>%s%B$0BdYkb<5Xf7kd-$-$l_y=;dglY`BKRp55i}WSS85-k3I=R-syz zs^TV7;u42y6Uhko?wy7a(g)Mrqo27IChH&Gnq<+y)Q#xq&9W58>-ZtTyH;iWl7#V% z0dL70?5QGf9E0F4$;-rR_bL44?uIOZ^Q?$gexGRW$QdrCWKEjO^+8h zbPUl4ffid#ugFV}Z>6XGrgzWFh)e37=>s=6d$4k}XbLtMV1pAAgsR3VCZ>XAJ5nVq z;@r46t;_0*vg({CqM9rMP~kOz>i040qDEz{pt+@tzJ5 zy_W9n1OJS%(Wk{-9d*yxY@3t~dTVf-157}itl61y)!sIkDrO-raxe?Ixd$#vNLmz| ztYf^GH+yYn%~7Vb6fTq)xb*Ri$b*%nXVfBVK1eyJ+J@0Gpx#DC_Bwn;zem&KS6Rw) zi~O1Mq(W1*)BNQ(8N+r{PPbK>PUXKGg0SV$AG`l~8ZMzw~ z_Hv|R&%zN+a;AX)19S(fhrC0#>IsGchCDywl`~>0TLusV?aXwotC(*}0!=pAPRh%f9!3K3C(1-(c&LPeb&)ag|v!x`+wQ@dBA z*i2T}CX%j1@y3j5UULw)q<*$HrNm)nq;5%yZS-OvP$t*N7bTdVZF9G&?{(tYWfss7 z-BqEF(wtiu8G#aBU96ieQb+8@Ihpa=3i`Cp@a(5x2UJLjKl?L_uNXgUOw6bDoVYQl zCpI~LLD5af@U|GxhXt%ozoBb+xnqMgTCc=xv@Ai2Gr7mMnF=W(mNmRI0Ur&(F#@Ja?PbPdT)6!C~#B08ZuwOL8ZJM5X~hE-w;o+PKXY@$?oSU zNqzZ{O;`8;!%1T*RedW+AzH|9r~H~p#q{W%L)E8)ah6-fkr3=GzJ;=y?NLEZ$8P&N zRVB;D@6FqWR=azZ3QTmb*_;2JiM<9&lj)@dPJZTjZWAglO~JtrqE0q56%p088T*af zsn&KGHS^$;XV*%_Q|ZZa8v9Lm$?~J3h(K{)i8{>uC7ZH*Oybd7jrW?4OU7jBDv(QZ ze&?Ak%lilmV_n9C-*|55u}>ZkX9SlRp5wFs&T7t5FWx|#)YV-rd@BCLUeabah1aNJ zv9N_GRh4zmB_0d6P;#C*>G)i8c7{%Vw@t@Wts0xv5BBD~EGi1d4EkLzs5Ce*8z7lL za2315_=E2v5tl;a%NEf(P@F1eDIU5*bN0A(aXpr_fe&m>3Z_p>t(nws;Z*^(0=Gj* z(u0HeUM81WUpm#R=RUU_3M;Ia1u8^ckFlABGE1EeSG$MlZ<&`i-W=S&ZnVZ5NT>D- z@W7`_VZ&6F7928;qq-!w4A`mg3L00Bv`b4Uq4#Zb^1{+eN(NsI)$MTZ^EZvej7>TN zK1Ogq4jf~$H7bMZ*QW2nNP4gcF?9p(M=5UReh01w*>~qywV+Z6=M;GIA*Jm!4m1L8 z{Y%?cD0-A8o);6}ph)@&Ke1QE|4fheGG~w zZmR_YpbH$~sH0;U4EJu+578j5(q16)Kl%LBf#{U4_Gam2}qv)Ax-Kbjll$B&+`^gL}I zz497Z*fyYt7wOM0_}I&LF{+0a0Mw^aHDfDbEhHT7QV z);k2{&Dy9{Wmi>VXD<;Jr88GjU4^E?(wc1-T>G1l*mu6ke)-uEhx#Am77FHFYmWwA zY~TwE4-rSFPx_goIUPr@%_*2>&j{8ko z@!ylQ;8iNaMf17-{MQC?pH@0KN}}I`irA%rd^oM#nHwhWFNaEU!6(&}MFhqsnha&` z8KR0t<;Dh3WbNA#qJpqhSLz5G38LiGtEGb%sozJ!*-d#(x*hYc4pKNS?QITz*_qP1 zn_~LPo#4%smVv2lXE=@mc9a>i=a*YP+;_3Wl;!=kBfxC{@_<^7)#f%&G*z&=pC;Q; zE~1RkXERs2a#N&b$qLJ)N%T~ts^M$5f>HTm6jhe`Gi~C3J(vjrYntKpa30&B@?LOV zJzJFYJsqsHY{^3o>pyGe7y?1Q)O)F@R=q@#RF#}v2GIyDQ5EeqE#uzxcqdFuY{1e)i+z zT&hcVbiRO@VWT`(+>fRBx1eka^4J&%=>9ZHVgq&Vzv0_al>C@D0fmd1B0__V+}l2u zH)VqV8(XgatO9E9J*x^VYahd*MZC;GL z7s;hS+B4@``!^PLn76$;JpkJM^wH>?Rs#D8;CBgpplv_AWl+2LBi%EbH%_scQPo6@u`pz+F7#ky#ULu{a( zo!zDB>3|h`KjAyUy4!Uo#6D-xhY(0ry^-NMF~!FS8#uWcc1uA^Oj;tijPq)yMU-m1 z9X30pFJn`@~qX|hokD1s0xkuagZ zzD_`Uc%FGWo*=TWrYS!QNM>jjaURV2GMCtGOV04496Sqdp;_wy@U`s~M0$OF&uW%a ze>=N|#ESLKDKC+^Gk;X#!|32`*J{R68Q;I|1a%NITO8Rcaa8fOk}3wxOGhPOtfjE^ za7lHuk@5ngeR_?x z{*nvmat)^?Pvv9efZN;1@>+iPt$v`zc6XT=<%HX3 ziP6@$z_I_ED=&Uk%0FVaEy+=hGV zW7Mu+RQar1a2Vr_H~Z@^IxCCOdVJ31jUK<=@Twp+GxaxldzKA&pfkJ2fTXWJXjDb* z&cCc(RA6pgyhxkj-Iz*<>-!I#(^;QQ-&5GK)F+WiQ&no|?cNRuDPbB47i5kPfzUHBi?x-xsjqLt;Y+$s)MLQY9nkwvupY@e;^3|9EKeSzq#udR?} z&`VMS_9CZ4$HnA?WzyV9htXj3W5?m|U&wVq6Q?Tk?-u=WZa=K-ZZ^4`JzoUg#@Eb| zBxPsE!{PE9TU)E`mqqyyMpQr`U+0ce4)S}+I&Or7FY+gxf#Omy5`4dU`zgpnn&dis z3>4D|sv!piR*i!@3R8`@0e1uM?+)EO9q@Nw#E$v#D*HJYwj-E5FXNY>Ky)4X#@)Y$ z_%vUl+H--?$R!1TYaQ8p$Bm7)2&LGfE@KHJA3rw`$AmE%S!cBOmKbbQqqw4i_96vM zsAwBka8)Z-pGo5&VD{6MdsFg5Oa*ZCb8v7~NmpZnQpbIcmmuY_hAB>2K5qGtYNoplxyZq(Clk1j+oBP?LgR=$tlC|@qiV!RLo{?4mG3}*;gl$)@F zzd-I{zwJ(e@`EYbhjW4jvfwe06@mNvm#Z4}EdDo%wTP?rC^f#HQ4IK`#B%r-NWLEL zF+K%bTjra@6UO{X)G$V=aS5 z8;8&o2v+op+kN59ueE@qU!|svwWhJZR~CFI;=`HU=*qd6{$BM3D~BR>gUqfNfhP>> zM@QWc4DsO*3zF{D?rN|>kao=97ZTO(fQd_adLW>B=t}xkFE>tud1xo-ULtG$u(*Rw z1;AwJ^dS@2ulaG()wB2^iFLo;VJTK7_!D5J%3^0;6s?Xo-*JpymrP)CYO06fw}NTS zU%dm_7qNl;3SUm?PA^=lNqZQ#lR7*z1opomnZ0JH1uC+vbTpo$<)s|2|9f%wOlN}L zcZbk*hB>&-EJ}dTuxnjY1tg>^k$17Wi@pT2{~@8&qpcShZ`@e{_g+R6gqWCT;aFwU zt*-c;XrdPp$Zmmj^ggEZhtMgR6;g5$%a%KeB|SGb7qk9%m-q~k{?%r#jZ>fEzyX2&2}on(211VjMB#p zp_rXI1|@oR_z{{vVxE{!h=y&5$sjaoot||zP^Wqv$qE6mS+&le1~K*F+L@$Lm2{ZD z*9q&j%E~G_Xq-dhz1Efw9RY27o$cIO!_yy+;N#=t3=wDMn3y0vMP=m(V;@XH+Ng>O zUa9ln!q)t>3AllZ3U|XxR?)OJ*=?ur=MO(QvJN0@0D(==cw5(aa<+zJ>vz7J;~zndjFq#Tj0&q!%xRtx6)Q1Q&Qs!F#Tel^Qhi& zY*HdbAW^0SgCjSHWM@X_yANGi0_AnVO{RMbsz7JkWM}T^aXpv!{R|Azv;Nlc^k&71 zY(|v-@As0FfW!84h;TD%Y151Q_mb)^8gw*E!EGY9fJzqJh*9r;I{*A1x;|9VDKH72 zZQ|inE-{zz8dJ#K%+lMio#AkWdg;p_8C_BJV?BUGJ_v2c}rVIBC%S%N%k-ZNEk8|!TBRfIvKLcZcYBkXj zeFq%k$1W1)`vdUtIvc44?>{aP?P zlfr%|>E{$fFHsB9qsAxp8{rl_+`ZqKF;N{E@>A*h9D9kvgK*$$v1&li$bx8W;bo88 zIkVdy*?^3*ds?bccLbGe8FJB%W&Cx>7g~kj8>v1y>lVy{43dC=0Mv68KhUBq{f}Ux z<`6U1m2`_KQ`Nlqen{%ja{H|_vy5#|$>&y_n4Z!{|DHdmu3SP7V|r2Qf7pR~5VVe^ z0Clr#<$ZUxg6g)L1?*)H_(~oP#@dHY&^8&!BDUlM7+6pGm=dfYi$n6s zqDF1s+uOTKP%1ilf)Q`?4pQMFuU)U{%uF&T)Rm_Bp2T%zheGejbz$413TprK|2-i|=#kIN5hv1oGNRCw7RUr|3V=j6t4Hov(l%(Ef3*VB^Tl ziKX_bW%u4)%Xr9W2T|sGA>z*{fHIY>lV&rPIR1|;A(T4*ApoEmb*8++Ag#1BhOH+i zujfj?<8UBW3J9xH92Yn1?-G=&7$hv6v|eT=JQe0h!hQ^_vl3O5-gGALw}mp z2i7#Mks0$}MYIsSG&0r8RllqiQC|r^T}FeH>bivXdo_ z#bFU>gPF(kWyUC8Y#>Kb4^m^I)m9Z_YekIFngOSrKdau+4{x?nWSa^J+Ru9kR=`Vv zf%kv>f`2zdQu^xJPg4E9I@nD1{1o=9==xJ&a7fWFH4F?a5h2+X zlnr=zNLUu@MOT0R0BA5Z6AHlC{{4bU?-j(H)Ax{JvVy#^Rhj3Lio!pMb^(5w!UGN= z4%NTA+UxaW&t_01R;W;w?(8%$R3^5(N{;+2A}9;UpyJ;f&$d ziCA>AWeVlJMm<1Y&bguMPu#IopClghtrSJiY|ao2+VxkdTXiRnI9O2RjoO+s82tM+ zYBcg$PCya=JkjVEF?kKT;f!Ov&KiA{H+rw;K-cS{>p~w?0R~U7v0DH&H%nMi&OmRqc9f#KBDMzox`DSc_ySXXJ}EdL?OLGLTtoIpS3@!1N0>&5ic^E zHU`LbaP+S?5{jdSc!kM7phQic-Z$2Jl-Y0$F6ChILt`42wqDSYB3o$BT*j9ZWa|SW5q|zlJAH1;Ia~2QYFVsy;59Z4J^>PV zuSWane9yc(_{cN#Ag`Yxu%inhW7W!OU(?VIl$_3uH?SSUA_b~eo_}`Tf&={VW|WKP zzC*F8MwWl{uT4xgizfL^UE1TGh`_!NbKw_&dI{OaLtqD)y zru3Z}6wA{ol=!IZSv$itXzq%rTjJeRIywPYQ=;{wfJ=e~f_Rh1Fj8`);r^!c?{;IK2qCQK?sY zCTaZjpg1yr)U)h~f+Owlt7X;ST=7#)JM`Iye{8O|53=N8EHpPuyKWgzW?N*oql3oW zRrB4o(oaK&G-Uaz?8PD$`}Bg!vLv6W12l~D#$&gv0NRxCZ$SM1bX-A5Ua18N8q6C* zlM#UV2MoDfib*4SJ_04&D@0rMRva}JU>Ao8%{7m#4nHR+H=oy?{+KUi$6uu` zdy0LrpI9hOD)=KWh))_((A`d>*9i_HK4 literal 0 HcmV?d00001 diff --git a/assets/imgs/home_title_hot.png b/assets/imgs/home_title_hot.png new file mode 100644 index 0000000000000000000000000000000000000000..68c3e4c239c50d58b8d17e69918510b9ead114aa GIT binary patch literal 8589 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 ap4$!F2iyo!nO^>uKv0lTm9CZi9Q;4rX6csz literal 0 HcmV?d00001 diff --git a/assets/imgs/home_title_hot_cate.png b/assets/imgs/home_title_hot_cate.png new file mode 100644 index 0000000000000000000000000000000000000000..6417ae3d8d33d3a5d4d1f8177ddc62be5e34720c GIT binary patch literal 8639 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 literal 0 HcmV?d00001 diff --git a/assets/imgs/home_title_mystery.png b/assets/imgs/home_title_mystery.png new file mode 100644 index 0000000000000000000000000000000000000000..7bf3fb2b1b43e8e6ade1940ccbcb7646e60c134d GIT binary patch literal 8235 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 a7`h!F;JxmtoZo8sFwy{d@hVaMfd2!$KO|QG literal 0 HcmV?d00001 diff --git a/assets/imgs/home_title_weekly.png b/assets/imgs/home_title_weekly.png new file mode 100644 index 0000000000000000000000000000000000000000..6007405a2d6be2892a35ad2db10fafee76aed2f7 GIT binary patch literal 8816 zcmaKSWmH^Euq}|_?(T!TTX3CV!5uQVy95vJ?(XhRNPq+j65Ktw+u%BP^1b)-uKVLi zcdzcQ-nCD4b=8Ubq#}=wLV^MV1A`7!kWq($f%SsETO%Pr?Jy-hq~;gcvpi%!yuJ0`fjliaF=V6|K~%s_Rya6j<_Omgq=dA{LOjPmviF#q2TTfWYcjb8CXQ3a8PFXHeQS> ztLlDlvY3(hPR1sMuvAO~c(_$f#rlF@K;V#cJ4GYz? zlQ7a)D)4=FIt#d!sZjd_K+lP1=%=nbg+fsQ!Xsk$*J5R{|%0j@IAG zw>_|3_m;<-XpaLPP8kG~HvMp9B2{@AzXi;piW}yCS&XecX}VW}GuM-%S)(!ak`gs8 z&zLl%Ju$wWKYo={ULuAHfTJ>Y!7!-4CZx=Kr+ITpDdgH?Y?xa0`ji1o>ziOKc1X5= zI79{=BWMd=)jkw?>OIjaI}%omRk?^^*PX2QzO^;X&H%G7W!XRP0=qxb{(FPrj`Of=lVA z$g6En`&&UutNW7|-D#eX5|{ofkBsZ9GklJduHPInW`|M>vaKBc#n1Ce)}7;S+W&7V zB?(=8n=GsgN)NwB1ks`l#pveWMK@WFr!RSk zp|Ehp`E5bfRE?%qf_$Cwb%l=c$6iR)osO*t=HLhrNTJ{o&CE(<#7i-kNQQ%o{C$~f zV7CtnnLZ01*CYeT339+ilfOVWIgz4p-B~1rr_gNA>YDs+ui-q{YL@Gee6`5nw>ny2 zjW`a3`@KoVt(&_-2HsXhfgBYT{S~{Ix0I|%ue^5X+B53dl*2Q*Y0fV8YF8v3DXf#Y zrI^TnD)#L8D!rlh@^fYMIB<3{iQJ^qcp;h@&Muc`;AiVzG!Q1tH zBUwu-SJXnZK$%l`#;oh6CR!WoXk4uo&-D{&xvp5I492NEob=Zc)4`y3$HHo*Il6CO zB}z();kSnKK$-2)#Pb^FqLe{5!zWX+Jw(Jb=gK%a;$SKpCDlU;{HTN9JK~g+eJ<3y zF>m^?i?P@w0HEjOBNBL+*E+3O!y^|pIdV}0;YL0~6J5ZFAR(Ds>*U2d=oFm$>$R6n zN~`P*(`Yd;oZxOp?;nscM0%{nJnkvgD9-@no{v3Z6fPsg3O_z5$|nOPW!Av3__9zg zl*u+6Wiyvz90m7$X($pQxysQ9X$DNVIolR!jfZAv(VX zBW;Ey6x~GaWH&NEOMx5?nftd%Af8+&j*mmVP1LMJB()`k;ST+m|oW&*^~Pu$_vc zRj}c(*x_HcMTrr9vxhzMe0XxXCQ1~wcwda6LuDLPV#ghC1jYeGG+Hy)goM}lxkUNU6|6*>R7apBvQuOevO|Zf1!_1_Yl#a&$!*9?5eoPTyczDTGB>pDQ zm=|j%JX#Ar0f-#$rQt}9RM!{54ovI(yPhQIH%kwGo|H!I`w#Zu59h_SgM>pmsd+>9 z8~AYR zeZEY~Dh`>$j3A2`lM4vfvCN%{H*OuK6)Jt#WkN|;y(amt6hQsf%t{iC!r_O(_W7ul z^Mh0xbnS3QMtXPLbTRo+gIN+4E{)XP) zBpa1&#(Uomcr9{>?u+~Ahv?wetBiShxkfNUbsy!V@||b$q|v@~hPsWcnw_*|Q1ge; zS8#@x=Fh5^ipv=%eC^T7i7}^8?ftY^&K%)SiZ!3y4@3?L@mm#5_$STR)WO#g&!At9*K2 zHnUU8F|hjHCSQ%IPf1e+_w?p#?ue(*OIY?z>I$xGlXq+R1wzp^9tW}A&(|>ScjFdE z<8_9;#8(Nu-du&+y92SriFBd~ zc{KiJ9-H5n2VL zdGO>g7d(Ur>9{A`!J_*E>g zTv(#5@wfeg0(9fl4*9g6ha5wHvhKAZIr_2KNB))`Wx68aTVK(AU_k83(d?>+&~`Fh-kqZvOkX#DKr|ninY{R?vYNn|REw z9elPkS#dmhOtq^6H-sS5o=>6$3DdJWFEUP$O*7z82LSe!Z$@H;6lL|B{^rFQ@#ir}Qlfq*kWYhPnQ1m(HksR1_lMRkM*uVoq>O1BT zVvg~(rN5xk>d6EarzatPoxxwLEg`zsDoVwk|GAo(Fwv6{2LqEP$G-8t)^ZAx%p|rW zRF|#^)jU>-Uzy#H{tkq7^E^e)uVcUarwkBWBBm-aS3}ywreDMU9V>pXPH|J>Pv7dq zr2Oj1u^fK&+N^k@pHNeXrh$t5;b_|=bXJ9<$?-=g>I;Q_~ZT0;}n5_6*-`kpDPWH`s`Oz+VR)WZ)Lz| zI~rwz`_RzP)8-)jj*o<(c43AebY*{>|9HN%%dBjpB+GLlHxL0*?tvBqXVC;fpA zBL|c6!P@KEZOW!disp9B)!MRH))5ir^sktCj1iel4*mco&f`WYLUy|-zo}- z*y1^j@@ve;8b(x~QELL;LA6e_?F^6^ClOkGc+E$!^DG%$-%{}V=sO^8^j(p!_~z|n zVABn1$H~{98KOc&&0;12#x5f~Y2wi-zC=(Ga0L&n2lmC3{}trGXsR^O=(QN^z8gaG zf;KhH{Swx4UAxm9+({WovW!V_4NNS z0@i!sf|i&59b*`=;y&C@kFjLTRB{mhtEj|E`({xp_$c~?3lBOt8`?6VRmq=k+8xus zrSKk_z$Itbmw;t%vTh!2vFmVy8Z0>ArnR!`<`ob z_op3fM|FW&nv+&u*y7Vdkqifgk_Q>a4NN~L+Uz#3{@QE6r0|j12-X90H_CGxoc)ax znn8M~e@8p1X8Q4$5Bbti=798b=?`*QKK9jhst4*Bol94zMk@)qk8VqyAx$V%^M>Y; zz_;?|9!zjL5P)k((p~P1;uhpIemq#BGr9`m$eDfZ(KaFr*ya>k#1;iHKsjGNZW{fa zyk@DREPlb#Vl2^G#H-`GZjX#UJFts|k8eCJGxKY6GqM(Bbf`icsNh(1RJ%DonncI$YO=>fg^6S8}Hf(r~;Z!JxeUe8uqltMGskb4uSvg3u(H;K??7Hx;dyI)-6= zYorB+6Vt#}AlcB<+HJAg%*2xrFTtZIaSAho>EEA0d?)<&4_J1Cflracx0Px{FXNwU zH*hjZ%#Y`ohDXO_Hd^Hi*&K7=HVHs32{dx8X(+oYV`w;Mr;f-Edv+Fyitn&LBpDwL zq>Qm6RriA2kQXLcaHh)~WiIi!REai`Th5P&HRA{J+KJWtQ)wO~{WXFo%(?{^Um|*{ z?#X78}pH>@*Z0T=A|j=jr?w(Qz-0_3FL< zru_bn-jHW%`&!QJTOF398897l^*$d%U-TG!$7iZ^7k<+OSSX9oq-0tcnH+=N!oAmA zVT?#EiOjm=V5?)-314ynd?p1#Rv*N9stKoEZ9&b=&6hKZ98_LP7^z1G#xK%=ltcb; z=2ytmf!E_5&WBT5*&d|)_DC-@wPN1%zug^z=mST~iEc&aFgwt?iO*ZrPdB;|RmHop zj*gBxNyL9rIZzoJrzLDRn~vs3*}QkJFEl9ul||Op73b2?c(kiE`p}6LLI##dbjMSpXX4OVewy{0uD6QR8k00D_$kMdRG#@q`f1Xf>SFdC5H? zrY49H6Q9zd~n%mg8$^d%BQB{OR7re$oH!BCv$E79YG9X zBg8pRt5GEiR*wC_!|PhXZAnWtsganLYppA+4bBL}y>X&7+x9?SW{N7t2J$XAK$^+u zvW)w879BAl@Z}f^(VerXJE42Y_O)&WcV^E`+%D){pbTEk*h=bSPI{oO+OMR}=hj9; z^}fZT6W&qP%I+TNJ&K3>MbG%8!NfYc@Y9yvF6K(qzDY0hy}Q*5nSi&Npq+1q;SM}* z`_gR(R4?97&-pwDYP7*RCdj-!c#j`N!tm$KoZ}*T{hu*9H9o=_zZ$i@(liVHrugVN z<-$~4?s_IrPCJ(7a2iruD1A)rvSAw{;(pZP!FG%_lOXY2agt;hbj{r`d4_S*-x(j> zTS97glKAlbIi^s;P{Z@terF_X!GYtg?;-arkams{c=Mi#;F==yK-GM;KI2X+*XyHh zJnQ*%sotbjRaF&@Fi}KbpVZDKF){IwDfj1}Fy@w)rW-#P)PiX^gCgqyY@f%`x*D~Y z<+Ni&MEO&YR%KU1L(_}ha58>nFhtmQ$ejZcg(l92U#XUM1jg2{{!);wX<^)AE6UeD zY>%eeY}qAb-QT0xJ+l&^59b0+q>XC%S(6Eq){plxqED1DRwf^+46u$)^64kMAc()Z z!=>p1qa7~NiBxIvt}JbU)D}ak>(OofEbp+*X^UlX#K0}`@jpf{E0ht?Nz7kTH;{D` zk1pB--ivz;iiUsIr=~V){7bx>fIgx0xY(-=@BQlkbTf#a=lHXh4HN#1Ry+`S|K(1N z>|s3!;Wov5WO=DMP-9ArfZY$F_j%pFuLe@om`*TXTQQtRi{eXY&>Y#i-5hAHxXa`Ka~hKEx!M=DlBl=b@+18eIM|n^E9l`SK&FZ%-*F$ z9Jkz?ciF9ixwqOaiXhDg}+G!mOuE|e8;>UJO&)Q5=Sh8Pe3s*ipmj@qvJ=P(oL zpd&|#$i!hWHB4WCMW>+lF^?p2GTj8^uDuer{s94br#0n3I!ldIZI;k$VX(VV7&6m% zAW498<~9}#`a~~6BOY#$$uw#ZmX{Bsu!Ko|EmQ0EplcC1XnrFU87}{Aj)}%P)Zt4d z#<<)^i(TTl`%~alt!~NoX`JZgvQ}eSgT|=$?q{rSONZ3GAdd<+}H$<0Gb0f_c@S-nv}^ z?&_<_)W#f2k;G($sAZAN+BIt4~4$PQWOthjdzw(n2e;qnDU@8y8YC2 z5+}EWu`HfM6_h9Jf&ymXKz=W?iD?pF>~z9arS^1{5ExvZm_sTgo4Syq(Edyd-~2TYqvPo}3w$zRiQ#rtgJ65%(^N zH1CBNIg@NF4>pxb#HgM{ebAEt@4mZWNLg zDn`@ay-Z4)Q13PSWhf`2qT%H%gCaM=;!N?kf~0;ZT-GJ=$?o9s85I4Jy7O4QPhUi8 z-~%({PjH~&?0uka)S$PTBeTkW$dkz+L9;7Wij&GOqb>~OzhBKC}py46=I>R2c{ zp@xh5gXs+3_4;gz8RHvUn5uxoRMTm|Mu;0d1k429C>H@hW6d6&`l5cmGK!}5lM_v* z=VQhR3yT6*(-K#$*eYvh2l596_kR|Dg&mH^-dZ=VXBQzPp06t8Y^tDVrVZ(GZ&85+ zM5yc(X19`OMYNd!D)ZPfMh1 z&$uy378>iHxthWb+!C-;aUS;(e-#TJN8eCUx5(`{=?g24__lk|_bf})l&~|pIx)ei zc|EV-OD&Nm*IRd3(rc@_eC~bgs9oIr^9WKn4M!s;p>Y*TacvBQ7;kw^^4VkKtPG*} zB8@9ymb*2I30ZsDeY&WI^vD6)&c{7OwTSMGJ|s0C1UUXo@{Q$Gr{VFZZts^Fdtqf^ z+jfcrGcivzd!+00DApSHG*M1-+C#v+$07DuES4)~M)r*st#gAh3Aa2GDZ+8{elE2L zr2}b(czy|g;tv$!sHQ)G1g_VBRCWBJM}rN9kCs!yqs~oI*vzu^b3{{jUBVw}C9^cf zgJ_NjP5h{*vOfBMc6%8*+$}FQ0f?oPBz0t@r?132+2}fIzx#H7`mF%BvGX^UeCE#wMRvuPycRh5FRZ-dNyqp7(D==)yq$uVi`}Z(mV2XEo_&qjUdL7FzU~ z)|5jAkEM;bzmCHViZr9OCTnN3J~os>8s8DUA5l-!|E$O1D&bh`*QO&{l*~o?dJ$>I z;)A#2(2}#kZrJFR)I};Axw$Lh=Gz0Lu__?p%_nun98^68?Xkfp5oD3QjTSmL$Di#= zXho^R3P}xFEe@uh?BP4g1}KH|ebkIKbl(lm6ec9%pVI`td8ckw5k_vl`;9ii#sHgV zGvY}NsyNI!Ru|PTSD8TaRcS4Nk3p3tLG*bl+|lsF5UUqI$SRg>wyag9br;qC!%F?G z8R1DljHDffPcrGtxb-||UZshj+DVQ^sjc~MnV`X#45GXO&xV|0FJVkNouIj3HzB=- zoI->o*NwQ^5=D9hQCKMFpj&aG|7X=GUSt9JSkZ*l0cJ-{$JY)zY8vHt>5RS>W8k78 zRh9)jsqaJ@%(PMB^F{tjt;#1kCJ7GGa8AAH85Ac@ym;u@M66K%Lzf3st0r=``h-_x zw8)ziLSxDkG6+b7oN><(*FB!Uw^*6_N*BE}65-T-zoBr-lp5rB13^(jYp>j+H#BHA z2P&An7ZpmZoQ0w9!h~v@6sm0^u;Ez}KQ>-mO2(5fpZzzi-p7jUX*J+N#JX@%afY1!zUk_s4}C!Bbx&IZB3EPddO}^#z}ngpI+Ln z`#`mDf$VDxIG&SK3@JXjpqEyzng{ z8AJzy=ixlkmY6&3lZ}H#S7_evmq#V}U{0v#lWl#3F&-i=^mz@{$EQ#(?i~5?_2!~n zDez}2+RU<#B>$|;z-&*6>bjHMB0*)4QYi7qfyEhOB$w-ksxzvx3BGJd7-zFmHLVkP zq2Du7-Dex6AZer|)`NtHii8$abG=!WFGMb7R(K;=6+fNru~4Q*AR8imy=kw<$!nd; z%qPa{x*+2#gYJ!96vfp5Bv(br{<2aempUpNIzyoNjzYwPgoKBh-|P}ga&d9@lz@c6 z`MnjsS@faLlT_?c^ic~ds!2R6iQNIO1^APgnB=|Q&XGbfG>6+n&vqIAyUVp_d`=99 zW5+)c+qI+(+ebmvmIx_2ABc8F;eie~jq&Hh{V{#AWSzI1WVe9IaLNlWo3|*j*ttoX zIo^~MD>elyuAdx~h3gxp)PZF>GMA)X>3Bk7gkp#n*_V zqWqV($GXT)6mGrQ<}c*fOst6r&x|+Wun%C@C22SoOWqA2@}noF*3)mA8jRa=i9_+`|6ho{YN@{ z;)Z^8Z3H;p;KYRYpd=Kx520Wye`r6=3ZizK3w7Ven3`PqQ?f$qVUjTY*|Vcg3H=8w z({U+v^@UFvuhOv-r${1j7!{?5S0-RAT{UhHMfOyZ*7-3HLoLK1i$DCToPkHH9@`1R zwL#K4>qnbXnX=q>?W(h?#UM^f&TYY^C%yZKXfdK`pfg>%pD(i$kV~7$_oe1QyMMI- z(+vgj1UJ5GVRJVCyWFL*lji_1Bf{+?mKqHGv~{i#s%E$gl4NB<(ogRauiX1C&>~R) zmry5(w_Kw9CBPSvT~C{Lk89i;H4JK_^FC=0QChLBVX>i;yfTf!BU+IL(*6h2a+S#>U_AJ}n(e>NPxBj{B2L z+5g1hT|g4EcE;!~eI}{XYZ2!jmp87K@#~_=`7?~yWw3K!J_PeGXgq-;xr6i|yTla% z&4@vRNqyeX=r?B_)_(zIZKQu03?-J(|KIj6P&lxHZfl6Dax6&p93RFKL^p9r+FoS9!$_2inU;(Di@mj9u}vSBuHMNwbGb nX*rn(4RHNSUH{)wJO*ZNvc;z+r(8mR2!R30s>sw!eGdK~Ke{8C literal 0 HcmV?d00001 diff --git a/assets/imgs/home_top_bg.png b/assets/imgs/home_top_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..d07497580dccc82ac6a54c7057b84f5c905e370c GIT binary patch literal 18277 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%0AWYpROb0v@|q~kE4jyVFy?&)0! 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 z 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�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%0DS#5I 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�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 getHomeData() { + return AppRequest.get(ApiStringPlay.getHomeModules).then((value) { + if (value.isSuccess) { + List? list = value.data['data']['list']; + List homeList = []; + if (list != null) { + homeList = list.map((e) => SkywoodHome.fromJson(e)).toList(); + } + return homeList; + } + return []; + }); + } +} \ No newline at end of file diff --git a/lib/global/client/user_client.dart b/lib/global/client/user_client.dart new file mode 100644 index 0000000..a1712ea --- /dev/null +++ b/lib/global/client/user_client.dart @@ -0,0 +1,30 @@ + +import 'package:skywood/global/request/api_const.dart'; +import 'package:skywood/global/request/app_request.dart'; +import 'package:skywood/global/tool/sky_log.dart'; +import 'package:skywood/utils/models/user/register_bean.dart'; + +class UserClient { + + static Future login() { + final body = { + "avator": '', + "email": '123456@qq.com', + "family_name": 'test1', + "platform": 'android', + "third_id": '32434', + }; + return AppRequest.post(ApiString.login, data: body).then((value) { + SkyLog.print(value.data, tag: 'loginnnn'); + }); + } + + static Future register() { + return AppRequest.post(ApiString.register).then((value) { + if (value.isSuccess) { + return RegisterBean.fromJson(value.data['data']); + } + return null; + }); + } +} \ No newline at end of file diff --git a/lib/global/const/common_color.dart b/lib/global/const/common_color.dart index 32d9298..f64c019 100644 --- a/lib/global/const/common_color.dart +++ b/lib/global/const/common_color.dart @@ -1,10 +1,11 @@ import 'dart:ui'; class CommonColor { - // 主题色 #653CFA static const Color primacyColor = Color(0xFF653CFA); - static const Color black = Color(0xFF030510); + // static const Color black = Color(0xFF030510); + // 040408 + static const Color black = Color(0xFF040408); // grey static const Color grey = Color(0xFF8e8e93); static const Color goldColor = Color(0xFFc5a059); @@ -12,7 +13,6 @@ class CommonColor { static const Color goldDark = Color(0xFF92400e); static const Color secondaryColor = Color(0xFF9ca3af); - static const Color fireRed = Color(0xFFf01d1d); static const Color woodGreen = Color(0xFF56a324); static const Color earthBrown = Color(0xFFcb8a46); @@ -28,9 +28,9 @@ class CommonColor { static const Color diamondColor = Color(0xFFB9F2FF); static Color withValue(String value) { - String _v = value.replaceAll('#', ''); - String res = '0xff$_v'; + String colorValue = value.replaceAll('#', ''); + String res = '0xff$colorValue'; int valueInt = int.parse(res); return Color(valueInt); } -} \ No newline at end of file +} diff --git a/lib/global/request/api_const.dart b/lib/global/request/api_const.dart new file mode 100644 index 0000000..cf89b7a --- /dev/null +++ b/lib/global/request/api_const.dart @@ -0,0 +1,99 @@ +final class ApiConst { + ApiConst._(); + + static const appName = 'skywood'; + static const int pageSize = 12; + static const String apiLink = 'https://api-quickeltv.quickeltv.com/quickeltv'; + + static String webPrefix = "quickeltv.com"; + + static String webIndex = "https://$webPrefix"; + + static String webPrivacy = "https://$webPrefix/private"; + + static String webAgreement = "https://$webPrefix/user_policy"; + + static String webmemberAgreement = "https://$webPrefix/member_ship_agreement"; + + static String webHelpIndex = "https://campaign.$webPrefix/pages/leave/index"; + + static String webHelpList = "https://campaign.$webPrefix/pages/leave/list"; + + static String webHelpDetail = + "https://campaign.$webPrefix/pages/leave/detail"; + + static String iosDownloadUrl = ""; + + static String androidDownloadUrl = ""; +} + +class ApiString { + static const String login = "/customer/login"; + // /customer/register + static const String register = "/customer/register"; + // /customer/info + static const String userInfo = "/customer/info"; + // /customer/signout + static const String signOut = "/customer/signout"; + // /customer/logoff + static const String logOff = "/customer/logoff"; + + /// events +// eventCreateHistory POST /createHistory 上报播放历史 +// eventUserEnterApp POST /customer/enterTheApp 用户进入 App +// eventUserOnline POST /customer/onLine 用户在线,可带 prevToken +// eventUserLeaveApp POST /customer/leaveApp 用户离开 App,可带 prevToken +// eventPlaySeconds POST /uploadHistorySeconds 上报单集播放秒数 +// eventWatchTime POST /watchShortDuration 上报短剧观看时长 +// eventReport POST /event/add 通用事件上报,目前枚举只有 force_update + static const String eventCreateHistory = "/createHistory"; + static const String eventUserEnterApp = "/customer/enterTheApp"; + static const String eventUserOnline = "/customer/onLine"; + static const String eventUserLeaveApp = "/customer/leaveApp"; + static const String eventPlaySeconds = "/uploadHistorySeconds"; + static const String eventWatchTime = "/watchShortDuration"; + static const String eventReport = "/event/add"; +} + +class ApiStringPlay { + // getRecommandsList GET /getRecommands 推荐列表,分页参数 current_page/page_size,可带 revolution + // getVideoDetail GET /getVideoDetails 获取剧详情,query: short_play_id, video_id + // getDetailsRecommand GET /getDetailsRecommand 详情页推荐列表;注意方法参数 page/pageSize/data 当前没有传入请求 + static const String getRecommandsList = "/getRecommands"; + static const String getVideoDetail = "/getVideoDetails"; + static const String getDetailsRecommand = "/getDetailsRecommand"; + + // getHomeModules GET /home/all-modules 首页全部模块数据 +// getRankingList POST /homeRanking 首页榜单,body 带 type,支持 most_trending/top_searched/new_releases +// getCategoriesList GET /getCategories 分类列表 +// getCategoriesDetail GET /videoList 分类详情/剧列表,分页 + extraParams +// getWaterflowList POST /newShortPlay 首页瀑布流,分页 + extraParams + static const String getHomeModules = "/home/all-modules"; + static const String getRankingList = "/homeRanking"; + static const String getCategoriesList = "/getCategories"; + static const String getCategoriesDetail = "/videoList"; + static const String getWaterflowList = "/newShortPlay"; + + // getSearchHots GET /search/hots 搜索热门列表 +// getSearch GET /search 关键词搜索,query: search +// collect POST /collect 收藏,body: short_play_id, video_id +// cancelCollect POST /cancelCollect 取消收藏,body: short_play_id +// getMyCollections GET /myCollections 我的收藏列表,分页 +// getMyHistorys GET /myHistorys 播放历史列表,分页 +// getNoticeNum POST /noticeNum 获取通知数量 +// versionControl GET /customer/versionControl 版本检查 +// getLanguges GET /languges 获取语言列表,接口名拼写就是 languges +// getTranslates GET /translates 获取语言包,query: lang_key,默认 en + static const String getSearchHots = "/search/hots"; + static const String getSearch = "/search"; + static const String collect = "/collect"; + static const String cancelCollect = "/cancelCollect"; + static const String getMyCollections = "/myCollections"; + static const String getMyHistorys = "/myHistorys"; + static const String getNoticeNum = "/noticeNum"; + static const String versionControl = "/customer/versionControl"; + static const String getLanguges = "/languges"; + static const String getTranslates = "/translates"; +} + + diff --git a/lib/global/request/app_request.dart b/lib/global/request/app_request.dart index e631688..2369553 100644 --- a/lib/global/request/app_request.dart +++ b/lib/global/request/app_request.dart @@ -1,154 +1,629 @@ +import 'dart:io'; import 'package:dio/dio.dart'; +import 'package:flutter/foundation.dart'; +import 'package:skywood/global/request/api_const.dart'; +import 'package:skywood/global/request/network_interceptor.dart'; +import 'package:skywood/utils/tools/app_toast.dart'; +import 'package:talker_dio_logger/talker_dio_logger.dart'; -class AppRequest { +import '../../utils/tools/token_manage.dart'; - static const Duration defaultTimeout = Duration(seconds: 15); - static final AppRequest instance = AppRequest(); - final Dio dio; +/// HTTP 请求工具类(单例) +class AppService { + static AppService? _instance; + late Dio _dio; - AppRequest({ - Dio? dio, - String baseUrl = '', - Duration connectTimeout = defaultTimeout, - Duration sendTimeout = defaultTimeout, - Duration receiveTimeout = defaultTimeout, - }) : dio = - dio ?? - Dio( - BaseOptions( - baseUrl: baseUrl, - connectTimeout: connectTimeout, - sendTimeout: sendTimeout, - receiveTimeout: receiveTimeout, - responseType: ResponseType.json, - ), - ); - - - - void setBaseUrl(String baseUrl) { - dio.options.baseUrl = baseUrl; + static AppService get instance { + _instance ??= AppService._internal(); + return _instance!; } - void setHeader(String key, Object? value) { - dio.options.headers[key] = value; + AppService._internal() { + _initDio(); } - void removeHeader(String key) { - dio.options.headers.remove(key); + Dio get dio => _dio; + + /// 初始化 Dio 配置 + void _initDio() { + _dio = Dio(BaseOptions( + baseUrl: ApiConst.apiLink, + connectTimeout: const Duration(seconds: 15), + receiveTimeout: const Duration(seconds: 15), + sendTimeout: const Duration(seconds: 15), + headers: { + 'Content-Type': 'application/json', + 'Accept': 'application/json', + }, + responseType: ResponseType.json, + )); + + // 添加自定义拦截器 + _dio.interceptors.add(NetworkInterceptor()); + + // 开发环境添加日志 + // if (!kReleaseMode) { + // _dio.interceptors.add(TalkerDioLogger( + // settings: TalkerDioLoggerSettings( + // printRequestHeaders: true, + // printRequestData: true, + // printResponseData: true, + // printResponseHeaders: false, + // ), + // )); + // } } - void setToken(String token, {String prefix = 'Bearer'}) { - final value = prefix.isEmpty ? token : '$prefix $token'; - setHeader('Authorization', value); - } - - void clearToken() { - removeHeader('Authorization'); - } - - Future get( - String path, { - Map? queryParameters, - Options? options, - CancelToken? cancelToken, - ProgressCallback? onReceiveProgress, - }) { - return request( - path, - method: 'GET', - queryParameters: queryParameters, - options: options, - cancelToken: cancelToken, - onReceiveProgress: onReceiveProgress, - ); - } - - Future post( - String path, { - Object? data, - Map? queryParameters, - Options? options, - CancelToken? cancelToken, - ProgressCallback? onSendProgress, - ProgressCallback? onReceiveProgress, - }) { - return request( - path, - method: 'POST', - data: data, - queryParameters: queryParameters, - options: options, - cancelToken: cancelToken, - onSendProgress: onSendProgress, - onReceiveProgress: onReceiveProgress, - ); - } - - Future put( - String path, { - Object? data, - Map? queryParameters, - Options? options, - CancelToken? cancelToken, - ProgressCallback? onSendProgress, - ProgressCallback? onReceiveProgress, - }) { - return request( - path, - method: 'PUT', - data: data, - queryParameters: queryParameters, - options: options, - cancelToken: cancelToken, - onSendProgress: onSendProgress, - onReceiveProgress: onReceiveProgress, - ); - } - - Future delete( - String path, { - Object? data, - Map? queryParameters, - Options? options, - CancelToken? cancelToken, - }) { - return request( - path, - method: 'DELETE', - data: data, - queryParameters: queryParameters, - options: options, - cancelToken: cancelToken, - ); - } - - Future request( - String path, { - required String method, - Object? data, - Map? queryParameters, - Options? options, - CancelToken? cancelToken, - ProgressCallback? onSendProgress, - ProgressCallback? onReceiveProgress, - }) async { - final response = await dio.request( - path, - data: data, - queryParameters: queryParameters, - options: _withMethod(options, method), - cancelToken: cancelToken, - onSendProgress: onSendProgress, - onReceiveProgress: onReceiveProgress, - ); - - return response.data; - } - - Options _withMethod(Options? options, String method) { - return options == null - ? Options(method: method) - : options.copyWith(method: method); + /// 更新配置 + void updateBaseOptions(BaseOptions options) { + _dio.options = options; } } + +/// ============ 请求方法封装 ============ + +class AppRequest { + static final Dio _dio = AppService.instance.dio; + + /// GET 请求(带重试) + static Future> get( + String path, { + Map? queryParameters, + Options? options, + CancelToken? cancelToken, + int? retry, + }) async { + try { + final response = await _executeRequest( + () => _dio.get( + path, + queryParameters: queryParameters, + options: options, + cancelToken: cancelToken, + ), + ); + return HttpResult.fromResponse(response); + } on DioException catch (e) { + return _handleError(e); + } catch (e) { + return HttpResult.error(e.toString()); + } + } + + /// POST 请求(带重试) + static Future> post( + String path, { + dynamic data, + Map? queryParameters, + Options? options, + CancelToken? cancelToken, + int? retry, + }) async { + try { + final response = await _executeRequest( + () => _dio.post( + path, + data: data, + queryParameters: queryParameters, + options: options, + cancelToken: cancelToken, + ), + ); + return HttpResult.fromResponse(response); + } on DioException catch (e) { + return _handleError(e); + } catch (e) { + return HttpResult.error(e.toString()); + } + } + + /// PUT 请求(带重试) + static Future> put( + String path, { + dynamic data, + Map? queryParameters, + Options? options, + CancelToken? cancelToken, + int? retry, + }) async { + try { + final response = await _executeRequest( + () => _dio.put( + path, + data: data, + queryParameters: queryParameters, + options: options, + cancelToken: cancelToken, + ), + ); + return HttpResult.fromResponse(response); + } on DioException catch (e) { + return _handleError(e); + } catch (e) { + return HttpResult.error(e.toString()); + } + } + + /// DELETE 请求(带重试) + static Future> delete( + String path, { + dynamic data, + Map? queryParameters, + Options? options, + CancelToken? cancelToken, + int? retry, + }) async { + try { + final response = await _executeRequest( + // retries: retry, + () => _dio.delete( + path, + data: data, + queryParameters: queryParameters, + options: options, + cancelToken: cancelToken, + ), + ); + return HttpResult.fromResponse(response); + } on DioException catch (e) { + return _handleError(e); + } catch (e) { + return HttpResult.error(e.toString()); + } + } + + /// 文件上传(带重试) + static Future> fileUpload( + String path, { + required File file, + String fieldName = 'file', + Map? queryParameters, + Options? options, + CancelToken? cancelToken, + ProgressCallback? onSendProgress, + int? retry, + }) async { + try { + final formData = FormData.fromMap({ + fieldName: await MultipartFile.fromFile(file.path), + }); + + final response = await _executeRequest( + () => _dio.post( + path, + data: formData, + queryParameters: queryParameters, + options: options ?? Options(contentType: 'multipart/form-data'), + cancelToken: cancelToken, + onSendProgress: onSendProgress, + ), + ); + return HttpResult.fromResponse(response); + } on DioException catch (e) { + return _handleError(e); + } catch (e) { + return HttpResult.error(e.toString()); + } + } + + /// ============ 分页请求(原项目的 fetchPage) ============ + static Future> fetchPage( + String url, { + int? page, + int? pageSize, + Map? extraParams, + required T Function(dynamic json) fromJson, + bool error = true, + String method = 'get', + int? retry, + }) async { + try { + final params = { + 'current_page': page?.toString() ?? '1', + 'page_size': pageSize?.toString() ?? '20', + ...?extraParams, + }; + + Response response; + if (method.toLowerCase() == 'get') { + response = await _executeRequest( + () => _dio.get(url, queryParameters: params), + ); + } else { + response = await _executeRequest( + () => _dio.post(url, data: params), + ); + } + + if (response.statusCode != 200) { + throw Exception("HTTP ${response.statusCode}"); + } + + final data = response.data; + if (data is Map) { + final base = BasePageResponse.fromJson(data); + if (!base.success) { + if (error) { + // 这里可以触发 Toast + AppToast.showError(base.msg); + } + throw Exception(base.msg); + } + + final result = base.data; + if (result is List) { + return result.map((e) => fromJson(e)).toList(); + } else if (result is Map && result['list'] is List) { + return (result['list'] as List).map((e) => fromJson(e)).toList(); + } else { + throw Exception("data error"); + } + } else { + throw Exception("format error"); + } + } catch (e) { + // _handleError(); + rethrow; + } + } + + /// 直接执行请求,不重试 + static Future _executeRequest( + Future Function() requestFn, + ) async { + try { + final response = await requestFn(); + + // 如果状态码不是 200,直接抛出异常 + if (response.statusCode != 200) { + throw DioException( + requestOptions: response.requestOptions, + response: response, + type: DioExceptionType.badResponse, + error: 'HTTP ${response.statusCode}', + ); + } + + return response; + } catch (e) { + // 直接重新抛出异常,不重试 + rethrow; + } + } + + // ============ 重试机制 ============ + static Future _retryRequest( + Future Function() requestFn, { + int? retries, + }) async { + int attempt = 0; + final maxRetries = retries ?? 2; + + while (attempt <= maxRetries) { + try { + final response = await requestFn(); + if (response.statusCode == 200) { + return response; + } + // 401/402 特殊处理,由拦截器处理 + if (response.statusCode == 401 || response.statusCode == 402) { + if (attempt == maxRetries) { + throw DioException( + requestOptions: response.requestOptions, + response: response, + type: DioExceptionType.badResponse, + error: 'errorCode:${response.statusCode}', + ); + } + } + if (attempt == maxRetries) { + throw DioException( + requestOptions: response.requestOptions, + response: response, + type: DioExceptionType.badResponse, + error: 'HTTP ${response.statusCode}', + ); + } + } catch (e) { + if (attempt == maxRetries) { + rethrow; + } + } + attempt++; + await Future.delayed(const Duration(milliseconds: 300)); + } + throw Exception("retry failed (unreachable)"); + } + + // ============ 错误处理 ============ + + static HttpResult _handleError(DioException e) { + final Response? resp = e.response; + + // 尝试从响应中解析错误信息 + if (resp != null && resp.data != null) { + try { + final parsed = HttpResult.fromResponse(resp); + if (!parsed.success) { + // 401/402 错误,触发重新登录 + if (resp.statusCode == 401 || resp.statusCode == 402) { + TokenManager().update(); + if (resp.statusCode == 402) { + AppToast.showError('账号已在其他设备登录,请重新登录'); + } + } + return parsed; + } + } catch (_) {} + } + + String message = _getErrorMessage(e); + return HttpResult.error(message, httpStatus: resp?.statusCode); + } + + + static String _getErrorMessage(DioException e) { + switch (e.type) { + case DioExceptionType.connectionTimeout: + return '连接超时,请稍后重试'; + case DioExceptionType.sendTimeout: + return '发送超时,请稍后重试'; + case DioExceptionType.receiveTimeout: + return '接收超时,请稍后重试'; + case DioExceptionType.badResponse: + final statusCode = e.response?.statusCode; + if (statusCode == 401) { + TokenManager().update(); + return '未授权,请重新登录'; + } + if (statusCode == 402) { + TokenManager().update(); + return '账号已在其他设备登录,请重新登录'; + } + return _handleStatusCode(statusCode); + case DioExceptionType.cancel: + return '请求已取消'; + case DioExceptionType.connectionError: + return '网络连接失败,请检查网络设置'; + default: + return '网络错误,请稍后重试'; + } + } + + static String _handleStatusCode(int? statusCode) { + switch (statusCode) { + case 400: + return '请求错误'; + case 403: + return '拒绝访问'; + case 404: + return '请求资源不存在'; + case 500: + return '服务器内部错误'; + case 502: + return '网关错误'; + case 503: + return '服务不可用'; + default: + return '请求失败'; + } + } +} + + +/// 统一响应:业务成功见 [isSuccess] +class HttpResult { + final int? status; + final bool success; + final String? message; + final T? data; + final int? errorCode; + + const HttpResult({ + this.status, + this.success = false, + this.message, + this.data, + this.errorCode, + }); + + bool get isSuccess => success; + + factory HttpResult.fromResponse(Response response) { + try { + final int httpStatus = response.statusCode ?? 0; + final dynamic raw = response.data; + final Map? root = _jsonMap(raw); + + // 明确失败包:{ "success": false, "error": { ... } } + if (root != null && root['success'] == false) { + final payload = ApiErrorPayload.tryParse(root); + return HttpResult( + status: httpStatus, + success: false, + message: payload?.message ?? root['message']?.toString() ?? '请求失败', + errorCode: payload?.code, + data: null, + ); + } + + // HTTP 2xx:body 即为业务数据 + if (httpStatus >= 200 && httpStatus < 300) { + return HttpResult( + status: httpStatus, + success: true, + message: null, + data: raw as T?, + errorCode: null, + ); + } + + // 非 2xx:尽量从 body 里拆 error + if (root != null) { + final payload = ApiErrorPayload.tryParse(root); + if (payload != null) { + return HttpResult( + status: httpStatus, + success: false, + message: payload.message, + errorCode: payload.code, + data: null, + ); + } + } + + return HttpResult( + status: httpStatus, + success: false, + message: _handleStatusCode(httpStatus), + data: null, + ); + } catch (e) { + return HttpResult( + status: response.statusCode, + success: false, + message: '数据解析失败: $e', + data: null, + ); + } + } + + factory HttpResult.error(String message, {int? httpStatus}) { + return HttpResult( + success: false, + status: httpStatus, + message: message, + ); + } + + factory HttpResult.networkError() { + return HttpResult( + success: false, + status: -1, + message: '网络连接失败,请检查网络后重试', + ); + } + + // ============ 私有方法 ============ + static Map? _jsonMap(dynamic value) { + if (value is Map) return value; + if (value is Map) { + try { + return value.cast(); + } catch (_) { + return Map.from(value as Map); + } + } + return null; + } + + static String _handleStatusCode(int? statusCode) { + switch (statusCode) { + case 400: + return '请求错误'; + case 401: + return '未授权,请重新登录'; + case 403: + return '拒绝访问'; + case 404: + return '请求资源不存在'; + case 500: + return '服务器内部错误'; + case 502: + return '网关错误'; + case 503: + return '服务不可用'; + default: + return '请求失败'; + } + } +} + +/// 后台错误体:`{ "error": { "code", "details", "message" }, "success": false }` +class ApiErrorPayload { + final int? code; + final dynamic details; + final String? message; + + const ApiErrorPayload({this.code, this.details, this.message}); + + static ApiErrorPayload? tryParse(Map? root) { + if (root == null) return null; + final err = root['error']; + if (err is! Map) return null; + final m = _jsonMap(err); + if (m == null) return null; + return ApiErrorPayload( + code: _parseInt(m['code']), + details: m['details'], + message: m['message']?.toString(), + ); + } + + static Map? _jsonMap(dynamic value) { + if (value is Map) return value; + if (value is Map) { + try { + return value.cast(); + } catch (_) { + return Map.from(value as Map); + } + } + return null; + } + + static int? _parseInt(dynamic v) { + if (v == null) return null; + if (v is int) return v; + if (v is num) return v.toInt(); + return int.tryParse(v.toString()); + } +} + +/// 分页响应模型(原项目的 GlimzoGetxBaseResponse 改造) +class BasePageResponse { + final int code; + final String msg; + final T? data; + + BasePageResponse({ + required this.code, + required this.msg, + this.data, + }); + + bool get success => code == 200; + + factory BasePageResponse.fromJson(Map json) { + return BasePageResponse( + code: json['code'] ?? -1, + msg: json['msg'] ?? '', + data: json['data'], + ); + } +} + +/// Map 数据提取工具(原项目的 GlimzoMapRes 改造) +class MapRes { + static List getList({ + required Map mapData, + required String alias, + required T Function(Map) fromJson, + }) { + final rawList = mapData[alias]; + if (rawList is List) { + return rawList + .whereType>() + .map(fromJson) + .toList(); + } + return []; + } + + static T toModel({ + required Map json, + required T Function(Map) fromJson, + }) { + return fromJson(json); + } +} \ No newline at end of file diff --git a/lib/global/request/network_interceptor.dart b/lib/global/request/network_interceptor.dart new file mode 100644 index 0000000..3f4483e --- /dev/null +++ b/lib/global/request/network_interceptor.dart @@ -0,0 +1,143 @@ +import 'dart:convert'; +import 'package:dio/dio.dart'; +import 'package:flutter/foundation.dart'; +import 'package:skywood/global/request/api_const.dart'; +import 'package:skywood/utils/tools/sky_device_info.dart'; +import 'package:skywood/utils/tools/sky_time_tool.dart'; +import 'package:skywood/utils/tools/app_sp.dart'; +import 'package:logger/logger.dart'; + +import '../../utils/tools/token_manage.dart'; +import '../tool/sky_encrypt.dart'; + +/// 网络请求拦截器 +class NetworkInterceptor extends Interceptor { + final bool enableLog = !kReleaseMode; + final Logger _logger = Logger(); + + @override + Future onRequest(RequestOptions options, RequestInterceptorHandler handler) async { + // 添加公共请求头 + await _addRequestHeaders(options); + + // 打印请求日志 + _logInfo("🔶 REQUEST [${options.method.toUpperCase()}] ${options.uri}"); + _logDebug("Headers: ${options.headers}"); + if (options.data != null) { + _logDebug("Payload: ${options.data}"); + } + + handler.next(options); + } + + @override + void onResponse(Response response, ResponseInterceptorHandler handler) { + _logInfo("🟢 RESPONSE [${response.statusCode}] ${response.requestOptions.uri}"); + // _logDebug("Body: ${response.data}"); + + // 处理 401 / 402 Token 过期 + if (response.statusCode == 401 || response.statusCode == 402) { + // 触发 Token 刷新 + TokenManager().update(); + if (response.statusCode == 402) { + _handleError('errorCode:${response.statusCode}', true); + } + handler.reject(DioException( + requestOptions: response.requestOptions, + response: response, + type: DioExceptionType.badResponse, + error: 'errorCode:${response.statusCode}', + )); + return; + } + + // Release 模式解密响应体 + if (kReleaseMode && response.data is String) { + try { + final deStr = SkyEncrypt.deStr(response.data); + response.data = jsonDecode(deStr); + } catch (e) { + _logError("解密失败: $e"); + } + } + + handler.next(response); + } + + @override + void onError(DioException err, ErrorInterceptorHandler handler) { + _logError("🔴 Error: ${err.message}"); + handler.next(err); + } + + // ============ 私有方法 ============ + + Future _addRequestHeaders(RequestOptions options) async { + // 开发模式添加 security: false + if (!kReleaseMode) { + options.headers['security'] = 'false'; + } + + // 注入 Token + final tokenManager = TokenManager(); + final token = tokenManager.get(); + // print('查看token: $token'); + if (token.isNotEmpty) { + options.headers['Authorization'] = 'Bearer $token'; + } + + // 其他公共参数 + String langKey = await AppSp().getString('GLIMZO_STORE_LANGKEY') ?? 'en'; + final deviceInfo = SkyDeviceInfo.instance; + + options.headers.addAll({ + 'product-prefix': 'glimzo', + 'device-id': deviceInfo.deviceId, + 'system-type': deviceInfo.systemType, + 'model': deviceInfo.model, + 'system-version': deviceInfo.systemVersion, + 'brand': deviceInfo.brand, + 'app-version': deviceInfo.appVersion, + 'app-name': deviceInfo.appName, + 'lang-key': langKey, + 'time-zone': SkyTimeTool.getTimeZone(), + 'idfa': '', + 'idfv': deviceInfo.idfv, + 'device-gaid': '', + }); + + // 处理 prevToken(从请求体中提取) + await _handleOldToken(options); + } + + Future _handleOldToken(RequestOptions options) async { + try { + if (options.data is Map) { + final body = options.data as Map; + final prevToken = body['prevToken']; + if (prevToken != null && prevToken.toString().isNotEmpty) { + options.headers['Authorization'] = prevToken.toString(); + } + } + } catch (_) { + // 非 JSON 请求跳过 + } + } + + void _logInfo(String message) { + if (enableLog) _logger.i(message); + } + + void _logDebug(String message) { + if (enableLog) _logger.d('💡 $message'); + } + + void _logError(String message) { + if (enableLog) _logger.e(message); + } + + void _handleError(dynamic e, bool error) { + _logError("🔴 Error: $e"); + // 这里可以根据需要处理错误提示 + } +} \ No newline at end of file diff --git a/lib/global/tool/sky_encrypt.dart b/lib/global/tool/sky_encrypt.dart new file mode 100644 index 0000000..e6f5f5c --- /dev/null +++ b/lib/global/tool/sky_encrypt.dart @@ -0,0 +1,155 @@ +import 'dart:async'; +import 'dart:convert'; +import 'dart:typed_data'; +import 'dart:math'; + +class SkyEncrypt { + static const int bfSize = 2048; + static const String enStrTag = r'$'; + + // Generates a random salt of size between 16 and 64 bytes + static Uint8List randSalt() { + final rand = Random.secure(); + final size = rand.nextInt(49) + 16; // 16..64 + return Uint8List.fromList(List.generate(size, (_) => rand.nextInt(256))); + } + + // Encrypts the given data with a random salt + static Uint8List en(Uint8List data) { + if (data.isEmpty) return data; + final salt = randSalt(); + final encryptedData = enWithSalt(data, salt); + return Uint8List.fromList([salt.length, ...salt, ...encryptedData]); + } + + // Decrypts the given encrypted data + static Uint8List de(Uint8List data) { + if (data.isEmpty) return data; + final saltLen = data[0]; + final salt = data.sublist(1, 1 + saltLen); + final encrypted = data.sublist(1 + saltLen); + return deWithSalt(encrypted, salt); + } + + // Encrypts data with a specified salt + static Uint8List enWithSalt(Uint8List data, Uint8List salt) { + final mixedData = mixSalt(data, salt); + return cxEd(mixedData); + } + + // Decrypts data with a specified salt + static Uint8List deWithSalt(Uint8List data, Uint8List salt) { + final decryptedData = cxEd(data); + return removeSalt(decryptedData, salt); + } + + // Simple XOR-based encryption/decryption (bitwise negation) + static Uint8List cxEd(Uint8List data) { + return Uint8List.fromList(data.map((b) => b ^ 0xFF).toList()); + } + + // Apply salt to the data for encryption + static Uint8List mixSalt(Uint8List data, Uint8List salt) { + if (salt.isEmpty) return data; + return Uint8List.fromList( + List.generate(data.length, (i) { + final s = salt[i % salt.length]; + return calSalt(data[i], s); + }), + ); + } + + // Remove salt from the data after decryption + static Uint8List removeSalt(Uint8List data, Uint8List salt) { + if (salt.isEmpty) return data; + return Uint8List.fromList( + List.generate(data.length, (i) { + final s = salt[i % salt.length]; + return calRemoveSalt(data[i], s); + }), + ); + } + + // Calculate a modified value after mixing salt (for encryption) + static int calSalt(int v, int s) { + final r = v ^ 0xFF; + return s > r ? (s - r - 1) & 0xFF : (v + s) & 0xFF; + } + + // Reverse the salt mixing process for decryption + static int calRemoveSalt(int v, int s) { + return v >= s ? (v - s) & 0xFF : (0xFF - (s - v) + 1) & 0xFF; + } + + // Encrypt a string and return the hex representation + static String cxEStr(String data) { + return cxEStrAsBytes( + data, + ).map((b) => b.toRadixString(16).padLeft(2, '0')).join(); + } + + // Encrypt string and return as bytes + static Uint8List cxEStrAsBytes(String data) { + return cxEd(Uint8List.fromList(utf8.encode(data))); + } + + // Decrypt a hex string to a regular string + static String cxDStr(String data) { + final bytes = Uint8List.fromList([ + for (int i = 0; i < data.length; i += 2) + int.parse(data.substring(i, i + 2), radix: 16), + ]); + return utf8.decode(cxEd(bytes)); + } + + // Encrypt string data and return in the form of hex string with prefix + static String enStr(String data) { + return enBytesStr(Uint8List.fromList(utf8.encode(data))); + } + + // Encrypt bytes and return as hex string with prefix + static String enBytesStr(Uint8List data) { + final encrypted = en(data); + return '$enStrTag${encrypted.map((b) => b.toRadixString(16).padLeft(2, '0')).join()}'; + } + + // Decrypt a string with encoded prefix (e.g., "$" symbol) + static String deStr(String data) { + return utf8.decode(deStrBytes(data)); + } + + // Decrypt the byte array extracted from a string + static Uint8List deStrBytes(String data) { + if (!data.startsWith(enStrTag)) { + throw ArgumentError("Invalid encoded string"); + } + final hexData = data.substring(1); + final bytes = Uint8List.fromList([ + for (int i = 0; i < hexData.length; i += 2) + int.parse(hexData.substring(i, i + 2), radix: 16), + ]); + return de(bytes); + } + + // Copy encrypted data from a stream to another stream + static Future copy( + Stream> reader, + StreamSink> writer, + ) async { + int total = 0; + await for (final chunk in reader) { + total += chunk.length; + final encrypted = chunk.map((b) => b ^ 0xFF).toList(); + writer.add(encrypted); + } + await writer.close(); + return total; + } + + // Custom encryption with condition (even and odd byte values handled differently) + static Uint8List cxEd1(Uint8List data) { + return Uint8List.fromList( + data.map((b) => (b % 2 == 1) ? (b ^ 0xFF) : b).toList(), + ); + } +} diff --git a/lib/global/tool/sky_log.dart b/lib/global/tool/sky_log.dart new file mode 100644 index 0000000..47d0c1f --- /dev/null +++ b/lib/global/tool/sky_log.dart @@ -0,0 +1,146 @@ +import 'dart:convert'; +import 'dart:developer'; + +import 'package:flutter/foundation.dart'; +import 'package:talker_flutter/talker_flutter.dart'; + +class SkyLog { + SkyLog._(); + + static final SkyLog _instance = SkyLog._(); + + static SkyLog get instance => _instance; + + final Talker _talker = TalkerFlutter.init(); + + factory SkyLog() => _instance; + + Talker get tLog => _talker; + + /// DevTools / 控制台里可按名称过滤。 + static const String logName = 'SkyLog'; + + Future initLogger() async { + /// app 信息 + } + + /// 仅 [kDebugMode] 输出;内容经安全格式化,不会因无法 JSON 编码而中断业务逻辑。 + static void print( + Object? message, { + String? tag, + String name = logName, + }) { + if (!kDebugMode) return; + try { + final text = _stringify(message); + final line = tag != null ? '[debug-tag: $tag] ===== $text' : text; + log(line, name: name); + } catch (e, st) { + log( + '[SkyLog.print failed] $e', + name: name, + error: e, + stackTrace: st, + ); + } + } + + /// 尽量输出缩进 JSON;无法编码时退回 [toString],不向外抛错。 + static String _stringify(Object? value) { + if (value == null) return 'null'; + if (value is String) return value; + if (value is num || value is bool) return value.toString(); + + const encoder = JsonEncoder.withIndent(' '); + + if (value is Map) { + try { + return encoder.convert(value); + } catch (_) { + return value.toString(); + } + } + if (value is List) { + try { + return encoder.convert(value); + } catch (_) { + return value.toString(); + } + } + if (value is Iterable) { + try { + return encoder.convert(value.toList()); + } catch (_) { + return value.toString(); + } + } + + try { + return encoder.convert(value); + } catch (_) { + try { + return '${value.runtimeType}: $value'; + } catch (_) { + return ''; + } + } + } + + /// 错误日志走 Talker;若 Talker 抛错,在 Debug 下用 [log] 兜底,仍不向外抛。 + static void error( + Object? message, { + String? tag, + StackTrace? stackTrace, + }) { + final text = message == null ? 'null' : '$message'; + try { + _instance._talker.logCustom( + CustomLog( + text, + settings: _instance._talker.settings, + tag: tag, + logLevel: LogLevel.error, + stackTrace: stackTrace, + ), + ); + } catch (e, st) { + if (kDebugMode) { + log( + '[SkyLog.error fallback] $text | $e', + name: logName, + error: e, + stackTrace: st, + ); + } + } + } +} + +class CustomLog extends TalkerLog { + final String? tag; + final TalkerSettings settings; + final LogLevel? _logLevel; + final StackTrace? _stackTrace; + + CustomLog( + super.message, { + this.tag, + required this.settings, + LogLevel logLevel = LogLevel.debug, + StackTrace? stackTrace, + }) : _logLevel = logLevel, + _stackTrace = stackTrace; + + @override + String? get key => tag; + + @override + LogLevel? get logLevel => _logLevel; + + @override + StackTrace? get stackTrace => _stackTrace; + + @override + AnsiPen? get pen => + settings.colors[TalkerKey.fromLogLevel(logLevel ?? LogLevel.info)]; +} diff --git a/lib/global/tool/sky_routers.dart b/lib/global/tool/sky_routers.dart new file mode 100644 index 0000000..e84f937 --- /dev/null +++ b/lib/global/tool/sky_routers.dart @@ -0,0 +1,35 @@ + +import 'package:get/get.dart'; +import 'package:skywood/pages/splash/splash_page.dart'; + +class SkyRouters { + static const String splash = '/splash'; +} + +class SkyPages { + static const initial = SkyRouters.splash; + + static final List routes = [ + routePage(name: SkyRouters.splash, page: ()=> SplashPage()) + ]; +} + +GetPage routePage({ + required String name, + required GetPageBuilder page, + Bindings? binding, + Transition transition = Transition.rightToLeft, + Duration transitionDuration = const Duration(milliseconds: 300), + CustomTransition? customTransition, + bool popGesture = true, // Allow iOS swipe-back gesture by default +}) { + return GetPage( + name: name, + page: page, + binding: binding, + transition: transition, + transitionDuration: transitionDuration, + customTransition: customTransition, + popGesture: popGesture, // Pass through to GetPage + ); +} \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index ec883e3..964189b 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -2,7 +2,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; +import 'package:skywood/global/request/app_request.dart'; +import 'package:skywood/global/tool/sky_routers.dart'; import 'package:skywood/main/main_root.dart'; +import 'package:skywood/pages/controllers/user_controller.dart'; +import 'package:skywood/utils/tools/sky_device_info.dart'; +import 'package:skywood/utils/tools/token_manage.dart'; import 'global/const/common_color.dart'; import 'global/language/app_language.dart'; @@ -10,22 +15,21 @@ import 'global/language/app_language.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); - // await initServices(); + await initServices(); Locale? locale = await AppLanguage.getLocale(); - runApp(ComApp( - home: MainRoot(), - locale: locale, - )); + runApp(ComApp(home: MainRoot(), locale: locale)); } +Future initServices() async { + await SkyDeviceInfo.init(); + await TokenManager().init(); + await Get.putAsync(() async => UserController()); +} class ComApp extends StatelessWidget { - const ComApp({super.key, - required this.home, - this.locale, - }); + const ComApp({super.key, required this.home, this.locale}); final Widget home; final Locale? locale; @@ -40,26 +44,38 @@ class ComApp extends StatelessWidget { translations: AppLanguage(), locale: locale ?? Get.deviceLocale, fallbackLocale: const Locale('en'), - // initialBinding: AppBindings(), + initialBinding: AppBindings(), + initialRoute: SkyPages.initial, + getPages: SkyPages.routes, theme: ThemeData( - colorScheme: ColorScheme.fromSeed(seedColor: CommonColor.primacyColor), + colorScheme: ColorScheme.fromSeed( + seedColor: CommonColor.primacyColor, + ), appBarTheme: AppBarTheme(elevation: 0, centerTitle: true), splashColor: Colors.transparent, useMaterial3: true, scaffoldBackgroundColor: Colors.white, ), - home: home, - builder: FlutterSmartDialog.init(builder: (context, child) { - return MediaQuery( - data: MediaQuery.of(context).copyWith(textScaler: TextScaler.linear(1.0)), - child: child! - ); - }), - onInit: () { - - }, + builder: FlutterSmartDialog.init( + builder: (context, child) { + return MediaQuery( + data: MediaQuery.of( + context, + ).copyWith(textScaler: TextScaler.linear(1.0)), + child: child!, + ); + }, + ), + onInit: () {}, ), ); } - +} + +class AppBindings extends Bindings { + + @override + void dependencies() { + // Get.lazyPut(() => UserController()); + } } diff --git a/lib/main/lib_file.dart b/lib/main/lib_file.dart index 7255fa0..8de49a1 100644 --- a/lib/main/lib_file.dart +++ b/lib/main/lib_file.dart @@ -5,4 +5,6 @@ export 'package:skywood/global/const/common_color.dart'; export 'package:skywood/global/const/common_string.dart'; export 'package:skywood/utils/tools/app_screen.dart'; -export 'package:skywood/utils/tools/help_img.dart'; \ No newline at end of file +export 'package:skywood/utils/tools/help_img.dart'; + +export 'package:flutter_screenutil/flutter_screenutil.dart'; diff --git a/lib/main/main_root.dart b/lib/main/main_root.dart index eb07827..093515f 100644 --- a/lib/main/main_root.dart +++ b/lib/main/main_root.dart @@ -58,17 +58,9 @@ class _MainRootState extends State { minimum: EdgeInsets.only(bottom: 10.h), child: Stack( children: [ - SizedBox( - height: 49.h, width: 345.w, - ), - Positioned( - top: 11.h, - child: _buildTabBar(), - ), - Positioned( - top: 0, left: 15.w, - child: _buildImgs(), - ) + SizedBox(height: 49.h, width: 345.w), + Positioned(top: 11.h, child: _buildTabBar()), + Positioned(top: 0, left: 15.w, child: _buildImgs()), ], ), ), @@ -76,8 +68,9 @@ class _MainRootState extends State { } Widget _buildImgs() { - return Container( - height: 38.h, width: 345.w, + return SizedBox( + height: 38.h, + width: 345.w, child: Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: List.generate(_items.length, (index) { diff --git a/lib/pages/controllers/user_controller.dart b/lib/pages/controllers/user_controller.dart new file mode 100644 index 0000000..5c4a2dc --- /dev/null +++ b/lib/pages/controllers/user_controller.dart @@ -0,0 +1,36 @@ + +import 'package:get/get.dart'; +import 'package:skywood/global/client/user_client.dart'; +import 'package:skywood/main/main_root.dart'; +import 'package:skywood/utils/tools/help_nav.dart'; +import 'package:skywood/utils/tools/token_manage.dart'; + +class UserController extends GetxController { + + @override + void onInit() { + super.onInit(); + + // _userRegister(); + } + + void _userRegister() async { + // 先拿token没有的话去注册 + final tm = TokenManager(); + String token = tm.get(); + print('tokkkkkk: $token'); + if (token.isNotEmpty) { + // 成功后去到主页面 + print('object去主页面'); + Future.delayed(const Duration(seconds: 1), () { + HelpNav.off(MainRoot()); + }); + return; + } + + final res = await UserClient.register(); + if (res != null) { + tm.save(res.token); + } + } +} \ No newline at end of file diff --git a/lib/pages/home/home_page.dart b/lib/pages/home/home_page.dart index 539a0ca..882e4a7 100644 --- a/lib/pages/home/home_page.dart +++ b/lib/pages/home/home_page.dart @@ -1,8 +1,12 @@ import 'package:flutter/material.dart'; +import 'package:skywood/global/client/play_client.dart'; +import 'package:skywood/global/client/user_client.dart'; +import 'package:skywood/main/lib_file.dart'; +import 'package:skywood/pages/home/widgets/daily_quest_widget.dart'; import 'package:skywood/pages/widgets/common_bg_page.dart'; +import 'package:skywood/utils/models/drama/skywood_home.dart'; class HomePage extends StatefulWidget { - const HomePage({super.key}); @override @@ -13,18 +17,107 @@ class HomePage extends StatefulWidget { class _MainRootState extends State { + List _homeData = []; + + @override + void initState() { + super.initState(); + + _getHomeData(); + } + + void _getHomeData() { + // home_v3_recommand + // new_recommand + // week_ranking + // week_highest_recommend + // marquee + // home_banner + // get_details_recommand + PlayClient.getHomeData().then((value) { + for (SkywoodHome element in value) { + print('lele: ${element.moduleKey} : ${element.dataList.length}'); + } + setState(() { + _homeData = value; + }); + }); + } + + @override Widget build(BuildContext context) { return CommonBgPage( - child: CustomScrollView( - slivers: [ + child: SafeArea( + child: _homeData.isEmpty ? SizedBox() : CustomScrollView( + slivers: [ + _buildTopTwoImgs(), + _buildSpace(), + DailyQuestWidget( + dramaList: _homeData.firstWhere((element) => element.moduleKey == 'home_v3_recommand').dataList, + ), + _buildSpace(height: 10), + _buildTitleImg(ConstImg.homeTitleMystery), + _buildSpace(), + // 345 355 + _buildTitleImg( + ConstImg.homeOpenNowBox, + padding: EdgeInsets.symmetric(horizontal: 15.w), + height: 355.h, + ), + _buildSpace(height: 10), + _buildTitleImg(ConstImg.homeTitleHot), + _buildSpace(height: 300), + _buildTitleImg(ConstImg.homeTitleWeekly), + _buildSpace(height: 300), + _buildTitleImg(ConstImg.homeTitleHotCate), + _buildSpace(height: 300), + ], + ), + ), + ); + } + SliverToBoxAdapter _buildTopTwoImgs() { + // 104-76 + return SliverToBoxAdapter( + child: Stack( + children: [ + SizedBox(width: double.infinity, height: (204 + 104 - 28).h), + Container( + height: 204.h, + padding: EdgeInsets.only(left: 25.w, top: 3.h, right: 25.w), + child: HelpImg.asset(ConstImg.homeTopBg, fit: BoxFit.fill), + ), + Positioned( + top: (204 - 28).h, + height: 104.h, + width: AppScreen.screenWidth, + child: HelpImg.asset(ConstImg.homeTitleDaily, fit: BoxFit.fill), + ), ], ), ); } - Widget _buildTitleImg() { - return Container(); + SliverToBoxAdapter _buildSpace({double height = 20}) { + return SliverToBoxAdapter(child: SizedBox(height: height.h)); } -} \ No newline at end of file + + SliverToBoxAdapter _buildTitleImg( + String imgName, { + double? height, + double? width, + EdgeInsets? padding, + }) { + // 104-76 + return SliverToBoxAdapter( + child: Container( + padding: padding ?? EdgeInsets.zero, + width: width ?? double.infinity, + height: height ?? 104.h, + child: HelpImg.asset(imgName, fit: BoxFit.fill), + ), + ); + } +} diff --git a/lib/pages/home/widgets/daily_quest_widget.dart b/lib/pages/home/widgets/daily_quest_widget.dart new file mode 100644 index 0000000..b5ff244 --- /dev/null +++ b/lib/pages/home/widgets/daily_quest_widget.dart @@ -0,0 +1,93 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:skywood/global/const/common_color.dart'; +import 'package:skywood/utils/models/drama/skywood_drama.dart'; +import 'package:skywood/utils/tools/sky_time_tool.dart'; +import 'package:skywood/utils/tools/widgets/sky_common_widget.dart'; + +import '../../../utils/tools/help_img.dart'; + +class DailyQuestWidget extends StatelessWidget { + + const DailyQuestWidget({super.key, + required this.dramaList, + }); + + final List dramaList; + + @override + Widget build(BuildContext context) { + double height = 281.h; + double width = 345.w; + return SliverToBoxAdapter( + child: SizedBox( + width: width, + height: height, + child: Stack( + children: [ + HelpImg.asset(ConstImg.homeCardBg, height: height, width: width,fit: BoxFit.fill), + Positioned( + top: 20.h, bottom: 19.h, left: 22.5.w, + width: 300.w, + child: Column( + children: [ + _buildFirstDrama(), + _buildDramaList() + ], + ), + ), + ], + ), + ), + ); + } + + Widget _buildDramaList() { + if (dramaList.length < 2) return SizedBox.shrink(); + return SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + spacing: 5.w, + children: List.generate(dramaList.length-1, (index) { + return HelpImg.network(dramaList[index+1].imageUrl, width: 95.w, height: 50.h, fit: BoxFit.cover); + }) + ), + ); + } + + Widget _buildFirstDrama() { + if (dramaList.isEmpty) return SizedBox.shrink(); + SkywoodDrama drama = dramaList[0]; + return Column( + children: [ + Container( + decoration: BoxDecoration( + border: Border.all(color: CommonColor.black, width: 1), + ), + child: HelpImg.network(drama.imageUrl, width: 300.w, height: 160.h, fit: BoxFit.cover), + ), + Row( + // mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded(child: SkyText(text: drama.name, + fontSize: 14, + fontFamily: 'Inter', + fontWeight: FontWeight.w500, + )), + Row( + children: [ + // Icon(Icons.heart_broken, size: 15, color: Colors.redAccent,), + HelpImg.asset(ConstImg.heart, width: 18.w, height: 18.w), + const SizedBox(width: 3), + SkyText(text: SkyTimeTool.formatNum(drama.watchTotal), + fontSize: 12, + fontWeight: FontWeight.w400, + ) + ], + ) + ], + ) + ], + ); + } +} \ No newline at end of file diff --git a/lib/pages/like/like_page.dart b/lib/pages/like/like_page.dart index e193650..1e1bd5b 100644 --- a/lib/pages/like/like_page.dart +++ b/lib/pages/like/like_page.dart @@ -1,7 +1,8 @@ import 'package:flutter/material.dart'; +import 'package:skywood/main/lib_file.dart'; +import 'package:skywood/pages/widgets/pixel_widgets.dart'; class LikePage extends StatefulWidget { - const LikePage({super.key}); @override @@ -11,11 +12,356 @@ class LikePage extends StatefulWidget { } class _MainRootState extends State { + int _tabIndex = 0; + + final List _collectionTitles = const [ + 'Undercover Play', + "Don't Cross Me", + 'Two Worlds Apart', + 'Rekindled Scorn', + 'My Revenge is You', + "Mr. Gu's Sweet Weakness", + ]; @override Widget build(BuildContext context) { return Scaffold( - + body: PixelPageBackground( + child: SafeArea( + bottom: false, + child: Padding( + padding: EdgeInsets.fromLTRB(15.w, 44.h, 15.w, 0), + child: PixelPanel( + padding: EdgeInsets.fromLTRB(10.w, 18.h, 10.w, 22.h), + child: Column( + children: [ + _buildTabs(), + SizedBox(height: 20.h), + Expanded( + child: AnimatedSwitcher( + duration: const Duration(milliseconds: 180), + child: _tabIndex == 0 + ? _buildCollection() + : _buildPlayLog(), + ), + ), + ], + ), + ), + ), + ), + ), ); } -} \ No newline at end of file + + Widget _buildTabs() { + return Row( + children: [ + Expanded( + child: _LibraryTab( + title: 'My Collection', + selected: _tabIndex == 0, + onTap: () => setState(() => _tabIndex = 0), + ), + ), + SizedBox(width: 8.w), + Expanded( + child: _LibraryTab( + title: 'Play Log', + selected: _tabIndex == 1, + onTap: () => setState(() => _tabIndex = 1), + ), + ), + ], + ); + } + + Widget _buildCollection() { + return GridView.builder( + key: const ValueKey('collection'), + padding: EdgeInsets.only(top: 2.h, bottom: 120.h), + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 3, + mainAxisSpacing: 10.h, + crossAxisSpacing: 7.w, + childAspectRatio: 100 / 174, + ), + itemCount: _collectionTitles.length, + itemBuilder: (context, index) { + return _CollectionCard(title: _collectionTitles[index]); + }, + ); + } + + Widget _buildPlayLog() { + return ListView( + key: const ValueKey('play-log'), + padding: EdgeInsets.only(bottom: 120.h), + children: [ + _ContinueCard(), + SizedBox(height: 18.h), + Text( + 'Watch History', + style: TextStyle( + color: const Color(0xFF1C1E1F), + fontSize: 16.sp, + fontWeight: FontWeight.w700, + height: 1, + ), + ), + SizedBox(height: 10.h), + _HistoryItem(title: 'As A Mafia Boss, I Refuse To Be An Extra'), + SizedBox(height: 10.h), + _HistoryItem(title: 'Fatal Vengeance'), + SizedBox(height: 10.h), + _HistoryItem(title: "Don't Cross Me"), + ], + ); + } +} + +class _LibraryTab extends StatelessWidget { + const _LibraryTab({ + required this.title, + required this.selected, + required this.onTap, + }); + + final String title; + final bool selected; + final VoidCallback onTap; + + @override + Widget build(BuildContext context) { + return GestureDetector( + onTap: onTap, + child: Container( + height: 45.h, + alignment: Alignment.center, + decoration: BoxDecoration( + color: selected ? const Color(0xFF16ED1E) : const Color(0xFFF6F6F6), + border: Border.all( + color: selected ? CommonColor.black : const Color(0xFFD6D6D6), + width: 1.5.w, + ), + boxShadow: selected + ? const [ + BoxShadow(color: Color(0xFF1C1E1F), offset: Offset(2, 2)), + ] + : null, + ), + child: Text( + title, + style: TextStyle( + color: selected ? Colors.white : const Color(0xFFB2B2B2), + fontSize: 14.sp, + fontWeight: FontWeight.w900, + height: 1, + shadows: selected + ? const [Shadow(color: Color(0xFF1C1E1F), offset: Offset(1, 1))] + : null, + ), + ), + ), + ); + } +} + +class _CollectionCard extends StatelessWidget { + const _CollectionCard({required this.title}); + + final String title; + + @override + Widget build(BuildContext context) { + return Container( + padding: EdgeInsets.fromLTRB(4.w, 8.h, 4.w, 6.h), + decoration: BoxDecoration( + color: const Color(0xFFF4FFB6), + border: Border.all(color: const Color(0xFF1C1E1F), width: 1.w), + boxShadow: const [ + BoxShadow(color: Color(0xFF653CFA), offset: Offset(3, 3)), + ], + ), + child: Column( + children: [ + Row( + children: List.generate(4, (index) { + return Container( + width: 11.w, + height: 6.h, + margin: EdgeInsets.only(right: 5.w), + decoration: BoxDecoration( + color: index == 3 + ? const Color(0xFFEAEAEA) + : const Color(0xFF96FE9B), + border: Border.all( + color: const Color(0xFF1C1E1F), + width: 0.8.w, + ), + ), + ); + }), + ), + SizedBox(height: 8.h), + const Expanded(child: PosterImage()), + SizedBox(height: 8.h), + Text( + title, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + color: const Color(0xFF1C1E1F), + fontSize: 13.sp, + fontWeight: FontWeight.w500, + height: 1, + ), + ), + ], + ), + ); + } +} + +class _ContinueCard extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Container( + height: 140.h, + padding: EdgeInsets.all(10.w), + decoration: BoxDecoration( + color: const Color(0xFFEAE6FF), + border: Border.all(color: const Color(0xFF1C1E1F), width: 1.w), + ), + child: Row( + children: [ + const PosterImage(width: 90, height: 120, borderRadius: 2), + SizedBox(width: 10.w), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Mogul And His Runaway Bride', + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: TextStyle( + color: const Color(0xFF1B1926), + fontSize: 14.sp, + fontWeight: FontWeight.w600, + height: 1.25, + ), + ), + SizedBox(height: 18.h), + Text( + 'Chapter 10 / 28', + style: TextStyle( + color: CommonColor.primacyColor, + fontSize: 11.sp, + height: 1, + ), + ), + SizedBox(height: 6.h), + _ProgressLine(value: 0.46), + const Spacer(), + const PixelButton( + label: 'Continue Watch', + width: 145, + height: 29, + ), + ], + ), + ), + ], + ), + ); + } +} + +class _HistoryItem extends StatelessWidget { + const _HistoryItem({required this.title}); + + final String title; + + @override + Widget build(BuildContext context) { + return Container( + height: 100.h, + padding: EdgeInsets.symmetric(horizontal: 10.w, vertical: 6.h), + decoration: BoxDecoration( + color: const Color(0xFFEAE6FF), + border: Border.all(color: const Color(0xFF1C1E1F), width: 1.w), + ), + child: Row( + children: [ + const PosterImage(width: 66, height: 88, borderRadius: 2), + SizedBox(width: 10.w), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + title, + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: TextStyle( + color: CommonColor.black, + fontSize: 13.sp, + fontWeight: FontWeight.w600, + height: 1.2, + ), + ), + Text( + 'EP.40/85', + style: TextStyle( + color: CommonColor.primacyColor, + fontSize: 11.sp, + height: 1, + ), + ), + _ProgressLine(value: 0.46), + ], + ), + ), + ], + ), + ); + } +} + +class _ProgressLine extends StatelessWidget { + const _ProgressLine({required this.value}); + + final double value; + + @override + Widget build(BuildContext context) { + return Row( + children: [ + Expanded( + child: Container( + height: 6.h, + decoration: BoxDecoration( + color: Colors.white.withValues(alpha: 0.7), + border: Border.all(color: const Color(0xFF1C1E1F), width: 0.5.w), + borderRadius: BorderRadius.circular(10.r), + ), + alignment: Alignment.centerLeft, + child: FractionallySizedBox( + widthFactor: value, + child: Container( + decoration: BoxDecoration( + color: const Color(0xFF00EE02), + borderRadius: BorderRadius.circular(10.r), + ), + ), + ), + ), + ), + SizedBox(width: 4.w), + Text('46%', style: TextStyle(fontSize: 10.sp, height: 1)), + ], + ); + } +} diff --git a/lib/pages/mine/mine_page.dart b/lib/pages/mine/mine_page.dart index b6d8936..0daef54 100644 --- a/lib/pages/mine/mine_page.dart +++ b/lib/pages/mine/mine_page.dart @@ -1,7 +1,8 @@ import 'package:flutter/material.dart'; +import 'package:skywood/main/lib_file.dart'; +import 'package:skywood/pages/widgets/pixel_widgets.dart'; class MinePage extends StatefulWidget { - const MinePage({super.key}); @override @@ -11,11 +12,475 @@ class MinePage extends StatefulWidget { } class _MainRootState extends State { - @override Widget build(BuildContext context) { return Scaffold( - + body: PixelPageBackground( + child: SafeArea( + bottom: false, + child: CustomScrollView( + slivers: [ + SliverToBoxAdapter(child: SizedBox(height: 12.h)), + SliverToBoxAdapter(child: _buildHeader()), + SliverToBoxAdapter(child: SizedBox(height: 18.h)), + SliverToBoxAdapter(child: _buildPlayerCard()), + SliverToBoxAdapter(child: SizedBox(height: 10.h)), + SliverToBoxAdapter(child: _buildWalletShop()), + SliverToBoxAdapter(child: SizedBox(height: 10.h)), + SliverToBoxAdapter(child: _buildCheckpoint()), + SliverToBoxAdapter(child: SizedBox(height: 10.h)), + SliverToBoxAdapter(child: _buildGameMenu()), + SliverToBoxAdapter(child: SizedBox(height: 120.h)), + ], + ), + ), + ), ); } -} \ No newline at end of file + + Widget _buildHeader() { + return Padding( + padding: EdgeInsets.symmetric(horizontal: 15.w), + child: Column( + children: [ + Row( + children: [ + _DecorIcon(icon: Icons.forest, color: const Color(0xFFFF5454)), + SizedBox(width: 10.w), + Expanded( + child: Container( + height: 60.h, + alignment: Alignment.center, + decoration: BoxDecoration( + color: const Color(0xFF16ED1E), + border: Border.all(color: CommonColor.black, width: 1.5.w), + boxShadow: const [ + BoxShadow(color: Color(0xFF1C1E1F), offset: Offset(3, 3)), + ], + ), + child: RichText( + text: TextSpan( + style: TextStyle( + fontSize: 24.sp, + fontWeight: FontWeight.w900, + height: 1, + shadows: const [ + Shadow( + color: Color(0xFF1C1E1F), + offset: Offset(2, 2), + ), + ], + ), + children: const [ + TextSpan( + text: 'Profile ', + style: TextStyle(color: Color(0xFFFFDC4C)), + ), + TextSpan( + text: 'Menu', + style: TextStyle(color: Colors.white), + ), + ], + ), + ), + ), + ), + SizedBox(width: 10.w), + _DecorIcon(icon: Icons.live_tv, color: const Color(0xFF8965FB)), + ], + ), + SizedBox(height: 12.h), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: List.generate(7, (index) { + return Padding( + padding: EdgeInsets.symmetric(horizontal: 3.w), + child: Icon( + index < 4 ? Icons.favorite : Icons.question_mark, + size: index < 4 ? 18.w : 14.w, + color: index.isEven + ? const Color(0xFF1AF23A) + : const Color(0xFF653CFA), + ), + ); + }), + ), + ], + ), + ); + } + + Widget _buildPlayerCard() { + return Padding( + padding: EdgeInsets.symmetric(horizontal: 15.w), + child: PixelPanel( + color: CommonColor.primacyColor, + shadowColor: CommonColor.black, + padding: EdgeInsets.zero, + child: Column( + children: [ + const PixelSectionLabel(label: 'Player Card'), + Padding( + padding: EdgeInsets.all(16.w), + child: Row( + children: [ + Container( + width: 68.w, + height: 68.w, + padding: EdgeInsets.all(4.w), + decoration: BoxDecoration( + color: const Color(0xFFE9C7FF), + border: Border.all(color: CommonColor.black, width: 1.w), + ), + child: Icon( + Icons.person_pin, + size: 42.w, + color: const Color(0xFF653CFA), + ), + ), + SizedBox(width: 15.w), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Vistor', + style: TextStyle( + color: Colors.white, + fontSize: 20.sp, + fontWeight: FontWeight.w700, + height: 1, + ), + ), + SizedBox(height: 12.h), + Text( + 'ID: 32432233341', + style: TextStyle( + color: Colors.white.withValues(alpha: 0.72), + fontSize: 10.sp, + height: 1, + ), + ), + ], + ), + ], + ), + ), + ], + ), + ), + ); + } + + Widget _buildWalletShop() { + return Padding( + padding: EdgeInsets.symmetric(horizontal: 15.w), + child: Row( + children: [ + Expanded( + child: _SmallPanel( + label: 'Treasure Wallet', + child: Row( + children: [ + Icon( + Icons.inventory_2, + size: 70.w, + color: const Color(0xFFFFDC4C), + ), + SizedBox(width: 6.w), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + _WalletValue(label: 'Coins', value: '15,890'), + Divider(height: 8.h, color: Colors.white54), + _WalletValue(label: 'Bonus', value: '20,000'), + ], + ), + ), + ], + ), + ), + ), + SizedBox(width: 10.w), + Expanded( + child: _SmallPanel( + label: 'Item Shop', + child: Row( + children: [ + Icon( + Icons.storefront, + size: 66.w, + color: const Color(0xFFFF8DB8), + ), + SizedBox(width: 7.w), + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Get More\nCoins', + style: TextStyle( + color: Colors.white, + fontSize: 12.sp, + fontWeight: FontWeight.w600, + height: 1.1, + ), + ), + SizedBox(height: 14.h), + const PixelButton( + label: 'Store', + width: 70, + height: 20, + color: Color(0xFFFF88CF), + ), + ], + ), + ), + ], + ), + ), + ), + ], + ), + ); + } + + Widget _buildCheckpoint() { + return Padding( + padding: EdgeInsets.symmetric(horizontal: 15.w), + child: PixelPanel( + color: CommonColor.primacyColor, + padding: EdgeInsets.zero, + shadowColor: CommonColor.black, + child: Column( + children: [ + const PixelSectionLabel(label: 'Daily Checkpoint'), + Padding( + padding: EdgeInsets.fromLTRB(16.w, 10.h, 10.w, 10.h), + child: Row( + children: [ + Expanded( + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: List.generate(7, (index) { + return _DayBox(day: index + 1, active: index == 0); + }), + ), + ), + SizedBox(width: 12.w), + const PixelButton( + label: 'Check In', + width: 70, + height: 22, + color: Color(0xFFFF88CF), + ), + ], + ), + ), + ], + ), + ), + ); + } + + Widget _buildGameMenu() { + final items = const [ + _MenuItem('Log In', Icons.login), + _MenuItem('Wallet', Icons.account_balance_wallet), + _MenuItem('Language', Icons.public), + _MenuItem('Feedback', Icons.mail), + _MenuItem('Settings', Icons.settings), + _MenuItem('About Us', Icons.info), + ]; + + return Padding( + padding: EdgeInsets.symmetric(horizontal: 15.w), + child: PixelPanel( + color: CommonColor.primacyColor, + padding: EdgeInsets.zero, + shadowColor: CommonColor.black, + child: Column( + children: [ + const PixelSectionLabel(label: 'Game Menu'), + Padding( + padding: EdgeInsets.all(10.w), + child: GridView.builder( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 5, + mainAxisSpacing: 8.h, + crossAxisSpacing: 6.w, + childAspectRatio: 1, + ), + itemCount: items.length, + itemBuilder: (context, index) => _MenuTile(item: items[index]), + ), + ), + ], + ), + ), + ); + } +} + +class _SmallPanel extends StatelessWidget { + const _SmallPanel({required this.label, required this.child}); + + final String label; + final Widget child; + + @override + Widget build(BuildContext context) { + return PixelPanel( + color: CommonColor.primacyColor, + shadowColor: CommonColor.black, + padding: EdgeInsets.zero, + child: SizedBox( + height: 134.h, + child: Column( + children: [ + PixelSectionLabel(label: label), + Expanded( + child: Padding(padding: EdgeInsets.all(8.w), child: child), + ), + ], + ), + ), + ); + } +} + +class _WalletValue extends StatelessWidget { + const _WalletValue({required this.label, required this.value}); + + final String label; + final String value; + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + label, + style: TextStyle(color: Colors.white70, fontSize: 9.sp, height: 1), + ), + SizedBox(height: 2.h), + Text( + value, + style: TextStyle( + color: Colors.white, + fontSize: 15.sp, + fontWeight: FontWeight.w900, + height: 1, + ), + ), + ], + ); + } +} + +class _DayBox extends StatelessWidget { + const _DayBox({required this.day, required this.active}); + + final int day; + final bool active; + + @override + Widget build(BuildContext context) { + return Container( + width: 28.w, + height: 34.h, + decoration: BoxDecoration( + color: active ? const Color(0xFF91F473) : Colors.white, + border: Border.all(color: CommonColor.black, width: 1.w), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text('Day', style: TextStyle(fontSize: 7.sp, height: 1)), + SizedBox(height: 4.h), + Text( + '$day', + style: TextStyle( + fontSize: 14.sp, + fontWeight: FontWeight.w800, + height: 1, + ), + ), + ], + ), + ); + } +} + +class _MenuTile extends StatelessWidget { + const _MenuTile({required this.item}); + + final _MenuItem item; + + @override + Widget build(BuildContext context) { + return Container( + padding: EdgeInsets.fromLTRB(4.w, 4.h, 4.w, 6.h), + decoration: BoxDecoration( + color: const Color(0xFF8D62F7), + border: Border.all(color: CommonColor.black, width: 1.w), + boxShadow: const [ + BoxShadow(color: Color(0xFF1C1E1F), offset: Offset(2, 2)), + ], + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(item.icon, color: Colors.white, size: 25.w), + SizedBox(height: 5.h), + Text( + item.label, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + color: Colors.white, + fontSize: 8.sp, + fontWeight: FontWeight.w700, + height: 1, + ), + ), + ], + ), + ); + } +} + +class _DecorIcon extends StatelessWidget { + const _DecorIcon({required this.icon, required this.color}); + + final IconData icon; + final Color color; + + @override + Widget build(BuildContext context) { + return Container( + width: 50.w, + height: 50.w, + decoration: BoxDecoration( + color: Colors.white, + border: Border.all(color: CommonColor.black, width: 1.w), + boxShadow: const [ + BoxShadow(color: Color(0xFF1C1E1F), offset: Offset(2, 2)), + ], + ), + child: Icon(icon, color: color, size: 32.w), + ); + } +} + +class _MenuItem { + const _MenuItem(this.label, this.icon); + + final String label; + final IconData icon; +} diff --git a/lib/pages/search/search_page.dart b/lib/pages/search/search_page.dart index 5e7d835..af6f9f9 100644 --- a/lib/pages/search/search_page.dart +++ b/lib/pages/search/search_page.dart @@ -1,7 +1,8 @@ import 'package:flutter/material.dart'; +import 'package:skywood/main/lib_file.dart'; +import 'package:skywood/pages/widgets/pixel_widgets.dart'; class SearchPage extends StatefulWidget { - const SearchPage({super.key}); @override @@ -11,11 +12,223 @@ class SearchPage extends StatefulWidget { } class _MainRootState extends State { + final List _titles = const [ + "Mr. Gu's Sweet Weakness", + 'Secret Wife with a Scar', + 'A Second Chance at Love', + 'Shadows of the Heart', + 'Boarding Pass To Love', + 'The Love Blueprint', + 'Who Dared Touch My Bride', + 'Famous Families Fled', + ]; @override Widget build(BuildContext context) { return Scaffold( - + backgroundColor: Colors.white, + body: SafeArea( + bottom: false, + child: CustomScrollView( + slivers: [ + SliverToBoxAdapter(child: _buildSearchBar()), + SliverToBoxAdapter(child: SizedBox(height: 16.h)), + SliverToBoxAdapter(child: _buildHistory()), + SliverToBoxAdapter(child: SizedBox(height: 30.h)), + SliverToBoxAdapter(child: _buildTitle('Trending Now')), + SliverToBoxAdapter(child: SizedBox(height: 10.h)), + SliverToBoxAdapter(child: _buildTrendingList()), + SliverToBoxAdapter(child: SizedBox(height: 120.h)), + ], + ), + ), ); } -} \ No newline at end of file + + Widget _buildSearchBar() { + return Padding( + padding: EdgeInsets.fromLTRB(15.w, 10.h, 15.w, 0), + child: Row( + children: [ + Container( + width: 34.w, + height: 34.w, + decoration: BoxDecoration( + color: const Color(0xFFB6FFA7), + border: Border.all(color: CommonColor.black, width: 1.w), + boxShadow: const [ + BoxShadow(color: Color(0xFF91F473), offset: Offset(2, 2)), + ], + ), + child: Icon( + Icons.arrow_back_ios_new, + size: 16.w, + color: CommonColor.black, + ), + ), + SizedBox(width: 10.w), + Expanded( + child: Container( + height: 36.h, + padding: EdgeInsets.symmetric(horizontal: 12.w), + decoration: BoxDecoration( + border: Border.all(color: CommonColor.black, width: 1.w), + borderRadius: BorderRadius.circular(40.r), + ), + child: Row( + children: [ + Icon(Icons.search, size: 16.w, color: CommonColor.black), + SizedBox(width: 7.w), + Text( + 'Search', + style: TextStyle( + color: const Color(0xFF3E3D40), + fontSize: 12.sp, + height: 1, + ), + ), + ], + ), + ), + ), + ], + ), + ); + } + + Widget _buildHistory() { + return Padding( + padding: EdgeInsets.symmetric(horizontal: 15.w), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Expanded(child: _buildTitle('Search History', fontSize: 14)), + Icon( + Icons.delete_outline, + size: 18.w, + color: const Color(0xFF888888), + ), + ], + ), + SizedBox(height: 10.h), + Container( + padding: EdgeInsets.symmetric(horizontal: 12.w, vertical: 8.h), + decoration: BoxDecoration( + color: const Color(0x0D000000), + borderRadius: BorderRadius.circular(20.r), + ), + child: Text( + 'Love', + style: TextStyle( + color: const Color(0x80000000), + fontSize: 12.sp, + fontWeight: FontWeight.w500, + height: 1, + ), + ), + ), + ], + ), + ); + } + + Widget _buildTitle(String title, {double fontSize = 18}) { + return Padding( + padding: EdgeInsets.symmetric(horizontal: 15.w), + child: Text( + title, + style: TextStyle( + color: CommonColor.black, + fontSize: fontSize.sp, + fontWeight: FontWeight.w700, + height: 1.1, + ), + ), + ); + } + + Widget _buildTrendingList() { + return SizedBox( + height: 446.h, + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + padding: EdgeInsets.symmetric(horizontal: 15.w), + child: Wrap( + direction: Axis.vertical, + spacing: 10.h, + runSpacing: 10.w, + children: _titles + .map((title) => _TrendingItem(title: title)) + .toList(), + ), + ), + ); + } +} + +class _TrendingItem extends StatelessWidget { + const _TrendingItem({required this.title}); + + final String title; + + @override + Widget build(BuildContext context) { + return SizedBox( + width: 236.w, + height: 104.h, + child: Row( + children: [ + const PosterImage( + width: 80, + height: 104, + borderRadius: 4, + showBorder: false, + ), + SizedBox(width: 8.w), + Expanded( + child: Padding( + padding: EdgeInsets.symmetric(vertical: 10.h), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + title, + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: TextStyle( + color: CommonColor.black, + fontSize: 13.sp, + fontWeight: FontWeight.w500, + height: 1.2, + ), + ), + Row( + children: [ + Icon( + Icons.local_fire_department, + size: 15.w, + color: const Color(0xFFFF6A00), + ), + SizedBox(width: 2.w), + Text( + '17.3K', + style: TextStyle( + color: const Color(0x80000000), + fontSize: 10.sp, + height: 1, + ), + ), + ], + ), + ], + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/pages/splash/splash_page.dart b/lib/pages/splash/splash_page.dart new file mode 100644 index 0000000..9b17e5f --- /dev/null +++ b/lib/pages/splash/splash_page.dart @@ -0,0 +1,57 @@ +import 'package:flutter/material.dart'; +import 'package:skywood/main/lib_file.dart'; + +import '../../global/client/user_client.dart'; +import '../../main/main_root.dart'; +import '../../utils/tools/help_nav.dart'; +import '../../utils/tools/token_manage.dart'; + +class SplashPage extends StatefulWidget { + + const SplashPage({super.key}); + + @override + State createState() { + return _SplashPageState(); + } +} + +class _SplashPageState extends State { + + @override + void initState() { + super.initState(); + + _userRegister(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + body: SafeArea( + bottom: false, + child: HelpImg.asset(ConstImg.splashPage, fit: BoxFit.cover)), + ); + } + + void _userRegister() async { + // 先拿token没有的话去注册 + final tm = TokenManager(); + String token = tm.get(); + print('tokkkkkk: $token'); + if (token.isNotEmpty) { + // 成功后去到主页面 + print('object去主页面'); + Future.delayed(const Duration(seconds: 1), () { + HelpNav.off(MainRoot()); + }); + return; + } + + final res = await UserClient.register(); + if (res != null) { + tm.save(res.token); + HelpNav.off(MainRoot()); + } + } +} \ No newline at end of file diff --git a/lib/pages/widgets/pixel_widgets.dart b/lib/pages/widgets/pixel_widgets.dart new file mode 100644 index 0000000..ca9bb0e --- /dev/null +++ b/lib/pages/widgets/pixel_widgets.dart @@ -0,0 +1,218 @@ +import 'package:flutter/material.dart'; +import 'package:skywood/main/lib_file.dart'; + +class PixelPageBackground extends StatelessWidget { + const PixelPageBackground({super.key, required this.child}); + + final Widget child; + + @override + Widget build(BuildContext context) { + return Stack( + children: [ + const Positioned.fill(child: ColoredBox(color: Colors.white)), + const Positioned.fill(child: CustomPaint(painter: _GridPainter())), + Positioned( + left: -18.w, + top: 178.h, + child: Container( + width: 52.w, + height: 132.h, + color: const Color(0xFF08F214), + ), + ), + Positioned( + right: -20.w, + top: 282.h, + child: Container( + width: 58.w, + height: 286.h, + color: const Color(0xFF08F214), + ), + ), + child, + ], + ); + } +} + +class PixelPanel extends StatelessWidget { + const PixelPanel({ + super.key, + required this.child, + this.padding, + this.color = Colors.white, + this.borderColor = const Color(0xFF1C1E1F), + this.shadowColor = const Color(0xFF653CFA), + }); + + final Widget child; + final EdgeInsets? padding; + final Color color; + final Color borderColor; + final Color shadowColor; + + @override + Widget build(BuildContext context) { + return Container( + decoration: BoxDecoration( + color: color, + border: Border.all(color: borderColor, width: 1.5.w), + boxShadow: [ + BoxShadow(color: shadowColor, offset: Offset(4.w, 4.h)), + BoxShadow(color: shadowColor, offset: Offset(-4.w, 4.h)), + ], + ), + padding: padding ?? EdgeInsets.all(10.w), + child: child, + ); + } +} + +class PixelSectionLabel extends StatelessWidget { + const PixelSectionLabel({ + super.key, + required this.label, + this.width, + this.trailing, + }); + + final String label; + final double? width; + final Widget? trailing; + + @override + Widget build(BuildContext context) { + return Container( + height: 20.h, + width: width?.w, + padding: EdgeInsets.symmetric(horizontal: 8.w), + decoration: BoxDecoration( + color: const Color(0xFF7B54F6), + border: Border.all(color: const Color(0xFF1C1E1F), width: 1.w), + ), + child: Row( + children: [ + Container(width: 7.w, height: 7.w, color: const Color(0xFF34F04F)), + SizedBox(width: 5.w), + Expanded( + child: Text( + label, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + color: Colors.white, + fontSize: 12.sp, + fontWeight: FontWeight.w700, + height: 1, + ), + ), + ), + trailing ?? const SizedBox.shrink(), + ], + ), + ); + } +} + +class PixelButton extends StatelessWidget { + const PixelButton({ + super.key, + required this.label, + this.onTap, + this.width = 116, + this.height = 28, + this.color = const Color(0xFF8D62F7), + }); + + final String label; + final VoidCallback? onTap; + final double width; + final double height; + final Color color; + + @override + Widget build(BuildContext context) { + return GestureDetector( + onTap: onTap, + child: Container( + width: width.w, + height: height.h, + alignment: Alignment.center, + decoration: BoxDecoration( + color: color, + border: Border.all(color: const Color(0xFF1C1E1F), width: 1.w), + ), + child: Text( + label, + style: TextStyle( + color: Colors.white, + fontSize: 12.sp, + fontWeight: FontWeight.w800, + height: 1, + shadows: const [ + Shadow(color: Color(0xFF1C1E1F), offset: Offset(1, 1)), + ], + ), + ), + ), + ); + } +} + +class PosterImage extends StatelessWidget { + const PosterImage({ + super.key, + this.width, + this.height, + this.borderRadius = 3, + this.showBorder = true, + }); + + final double? width; + final double? height; + final double borderRadius; + final bool showBorder; + + @override + Widget build(BuildContext context) { + return Container( + width: width?.w, + height: height?.h, + decoration: BoxDecoration( + border: showBorder + ? Border.all(color: const Color(0xFF1C1E1F), width: 0.8.w) + : null, + borderRadius: BorderRadius.circular(borderRadius.r), + ), + clipBehavior: Clip.antiAlias, + child: HelpImg.asset(ConstImg.homeCardBg, fit: BoxFit.cover), + ); + } +} + +class _GridPainter extends CustomPainter { + const _GridPainter(); + + @override + void paint(Canvas canvas, Size size) { + final gridPaint = Paint() + ..color = const Color(0xFFE0D8FF) + ..strokeWidth = 0.8; + const step = 10.0; + for (double x = 0; x <= size.width; x += step) { + canvas.drawLine(Offset(x, 0), Offset(x, size.height), gridPaint); + } + for (double y = 0; y <= size.height; y += step) { + canvas.drawLine(Offset(0, y), Offset(size.width, y), gridPaint); + } + + final blockPaint = Paint()..color = const Color(0xFFE0D8FF); + canvas.drawRect(Rect.fromLTWH(80, 0, 34, 96), blockPaint); + canvas.drawRect(Rect.fromLTWH(228, 0, 34, 32), blockPaint); + canvas.drawRect(Rect.fromLTWH(278, 112, 34, 34), blockPaint); + } + + @override + bool shouldRepaint(covariant CustomPainter oldDelegate) => false; +} diff --git a/lib/utils/extend/widget_extend.dart b/lib/utils/extend/widget_extend.dart index 7c4008d..cc9e07e 100644 --- a/lib/utils/extend/widget_extend.dart +++ b/lib/utils/extend/widget_extend.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; - // 扩展Widget类以添加额外的布局和样式方法 extension WidgetExtend on Widget { /// 在当前Widget外层添加一个Container @@ -43,7 +42,8 @@ extension WidgetExtend on Widget { padding: padding, alignment: alignment, clipBehavior: clipBehavior, - constraints: constraints ?? + constraints: + constraints ?? BoxConstraints( minWidth: minWidth ?? 0.0, maxWidth: maxWidth ?? double.infinity, @@ -59,8 +59,9 @@ extension WidgetExtend on Widget { image: image, gradient: gradient, border: border, - borderRadius: - radius != null ? BorderRadius.circular(radius) : borderRadius, + borderRadius: radius != null + ? BorderRadius.circular(radius) + : borderRadius, ), child: this, ).addInkWell(onTap: onTap); @@ -84,10 +85,7 @@ extension WidgetExtend on Widget { /// /// 通过此方法可以设置控件的对齐方式 Widget addAlign({AlignmentGeometry alignment = Alignment.centerLeft}) { - return Align( - alignment: alignment, - child: this, - ); + return Align(alignment: alignment, child: this); } Widget addCenter() { @@ -118,20 +116,14 @@ extension WidgetExtend on Widget { /// /// 通过此方法可以控制控件的显示和隐藏 Widget addVisibility({bool visible = true}) { - return Visibility( - visible: visible, - child: this, - ); + return Visibility(visible: visible, child: this); } /// 在当前Widget外层添加一个Transform.rotate /// /// 通过此方法可以设置控件的旋转角度 Widget addRotate({double angle = 0}) { - return Transform.rotate( - angle: angle, - child: this, - ); + return Transform.rotate(angle: angle, child: this); } /// 在当前Widget外层添加一个InkWell @@ -141,44 +133,27 @@ extension WidgetExtend on Widget { if (onTap == null) { return this; } - return InkWell( - onTap: onTap, - child: this, - ); + return InkWell(onTap: onTap, child: this); } - - /// 在当前Widget外层添加一个SizedBox /// /// 通过此方法可以设置控件的宽高 Widget addSize({double? width, double? height}) { - return SizedBox( - width: width, - height: height, - child: this, - ); + return SizedBox(width: width, height: height, child: this); } /// 在当前Widget外层添加一个Opacity /// /// 通过此方法可以设置控件的透明度 Widget addOpacity({double opacity = 1}) { - return Opacity( - opacity: opacity, - child: this, - ); + return Opacity(opacity: opacity, child: this); } } - - extension OnRenderObjectWidget on RenderObjectWidget { SliverPadding addPaddingSliver({EdgeInsets? padding}) { - return SliverPadding( - padding: padding ?? EdgeInsets.zero, - sliver: this, - ); + return SliverPadding(padding: padding ?? EdgeInsets.zero, sliver: this); } DecoratedSliver addDecoratedSliver({ @@ -199,7 +174,7 @@ extension OnRenderObjectWidget on RenderObjectWidget { gradient: gradient, shape: shape ?? BoxShape.rectangle, ), - sliver: this.addPaddingSliver(padding: padding), + sliver: addPaddingSliver(padding: padding), ); } } diff --git a/lib/utils/models/drama/skywood_category.dart b/lib/utils/models/drama/skywood_category.dart new file mode 100644 index 0000000..d7c19b8 --- /dev/null +++ b/lib/utils/models/drama/skywood_category.dart @@ -0,0 +1,23 @@ +import '../model_parser.dart'; + +class SkywoodCategory { + final int id; + final String name; + + const SkywoodCategory({required this.id, required this.name}); + + factory SkywoodCategory.fromJson(Map json) { + return SkywoodCategory( + id: parseInt(json['id']), + name: parseString(json['name']), + ); + } + + Map toJson() { + return {'id': id, 'name': name}; + } + + SkywoodCategory copyWith({int? id, String? name}) { + return SkywoodCategory(id: id ?? this.id, name: name ?? this.name); + } +} diff --git a/lib/utils/models/drama/skywood_detail.dart b/lib/utils/models/drama/skywood_detail.dart new file mode 100644 index 0000000..f26cdd9 --- /dev/null +++ b/lib/utils/models/drama/skywood_detail.dart @@ -0,0 +1,111 @@ +import '../model_parser.dart'; +import 'skywood_drama.dart'; +import 'skywood_episode.dart'; + +class SkywoodDetail { + final SkywoodDrama? videoInfo; + final SkywoodDrama? shortPlayInfo; + final List episodeList; + final String? businessModel; + bool? isCollect; + final bool? showShareCoin; + final int? shareCoin; + final int? revolution; + final String? userLevel; + final int? jumpType; + final int? jumpShortPlayId; + final List? checkPoint; + + SkywoodDetail({ + required this.videoInfo, + this.shortPlayInfo, + required this.episodeList, + this.businessModel, + this.isCollect, + this.showShareCoin, + this.shareCoin, + this.revolution, + this.userLevel, + this.jumpType, + this.jumpShortPlayId, + this.checkPoint, + }); + + factory SkywoodDetail.fromJson(Map json) { + return SkywoodDetail( + videoInfo: parseMap(json['video_info']) == null + ? null + : SkywoodDrama.fromJson(parseMap(json['video_info'])!), + shortPlayInfo: parseMap(json['shortPlayInfo']) == null + ? null + : SkywoodDrama.fromJson(parseMap(json['shortPlayInfo'])!), + episodeList: parseModelList(json['episodeList'], SkywoodEpisode.fromJson), + businessModel: json['business_model'] as String?, + isCollect: json['is_collect'] == null + ? null + : parseBool(json['is_collect']), + showShareCoin: json['show_share_coin'] == null + ? null + : parseBool(json['show_share_coin']), + shareCoin: json['share_coin'] == null + ? null + : parseInt(json['share_coin']), + revolution: json['revolution'] == null + ? null + : parseInt(json['revolution']), + userLevel: json['user_level'] as String?, + jumpType: json['jump_type'] == null ? null : parseInt(json['jump_type']), + jumpShortPlayId: json['jump_short_play_id'] == null + ? null + : parseInt(json['jump_short_play_id']), + checkPoint: parseIntList(json['check_point']), + ); + } + + Map toJson() { + return { + 'video_info': videoInfo?.toJson(), + 'shortPlayInfo': shortPlayInfo?.toJson(), + 'episodeList': episodeList.map((item) => item.toJson()).toList(), + 'business_model': businessModel, + 'is_collect': isCollect, + 'show_share_coin': showShareCoin, + 'share_coin': shareCoin, + 'revolution': revolution, + 'user_level': userLevel, + 'jump_type': jumpType, + 'jump_short_play_id': jumpShortPlayId, + 'check_point': checkPoint, + }; + } + + SkywoodDetail copyWith({ + SkywoodDrama? videoInfo, + SkywoodDrama? shortPlayInfo, + List? episodeList, + String? businessModel, + bool? isCollect, + bool? showShareCoin, + int? shareCoin, + int? revolution, + String? userLevel, + int? jumpType, + int? jumpShortPlayId, + List? checkPoint, + }) { + return SkywoodDetail( + videoInfo: videoInfo ?? this.videoInfo, + shortPlayInfo: shortPlayInfo ?? this.shortPlayInfo, + episodeList: episodeList ?? this.episodeList, + businessModel: businessModel ?? this.businessModel, + isCollect: isCollect ?? this.isCollect, + showShareCoin: showShareCoin ?? this.showShareCoin, + shareCoin: shareCoin ?? this.shareCoin, + revolution: revolution ?? this.revolution, + userLevel: userLevel ?? this.userLevel, + jumpType: jumpType ?? this.jumpType, + jumpShortPlayId: jumpShortPlayId ?? this.jumpShortPlayId, + checkPoint: checkPoint ?? this.checkPoint, + ); + } +} diff --git a/lib/utils/models/drama/skywood_drama.dart b/lib/utils/models/drama/skywood_drama.dart new file mode 100644 index 0000000..c4e0f36 --- /dev/null +++ b/lib/utils/models/drama/skywood_drama.dart @@ -0,0 +1,183 @@ +import '../model_parser.dart'; +import 'skywood_category.dart'; + +class SkywoodDrama { + final int? id; + final int shortId; + int? shortPlayId; + final String name; + final String description; + final String imageUrl; + final String horizontallyImg; + int collectTotal; + final int watchTotal; + final int episodeTotal; + final String? playSeconds; + bool? isCollect; + final String? videoUrl; + final Map? videoInfo; + final List? category; + final List? categoryList; + final String tagType; + int? episode; + final int? process; + final int? buyType; + final int? searchClickTotal; + final int? shortPlayVideoId; + final int? currentEpisode; + int? historyTime; + + + SkywoodDrama({ + this.id, + required this.shortId, + this.shortPlayId, + required this.name, + required this.description, + required this.imageUrl, + required this.horizontallyImg, + required this.collectTotal, + required this.watchTotal, + required this.episodeTotal, + this.playSeconds, + this.isCollect, + this.videoUrl, + this.videoInfo, + this.category, + this.categoryList, + required this.tagType, + this.episode, + this.process, + this.buyType, + this.searchClickTotal, + this.shortPlayVideoId, + this.currentEpisode, + this.historyTime, + }); + + factory SkywoodDrama.fromJson(Map json) { + return SkywoodDrama( + id: json['id'] == null ? null : parseInt(json['id']), + shortId: parseInt(json['short_id']), + shortPlayId: json['short_play_id'] == null + ? null + : parseInt(json['short_play_id']), + name: parseString(json['name']), + description: parseString(json['description']), + imageUrl: parseString(json['image_url']), + horizontallyImg: parseString(json['horizontally_img']), + collectTotal: parseInt(json['collect_total']), + watchTotal: parseInt(json['watch_total']), + episodeTotal: parseInt(json['episode_total']), + playSeconds: json['play_seconds'] as String?, + isCollect: json['is_collect'] == null + ? null + : parseBool(json['is_collect']), + videoUrl: json['video_url'] as String?, + videoInfo: parseMap(json['video_info']), + category: parseStringList(json['category']), + categoryList: json['categoryList'] == null + ? null + : parseModelList(json['categoryList'], SkywoodCategory.fromJson), + tagType: parseString(json['tag_type']), + episode: json['episode'] == null ? null : parseInt(json['episode']), + process: json['process'] == null ? null : parseInt(json['process']), + buyType: json['buy_type'] == null ? null : parseInt(json['buy_type']), + searchClickTotal: json['search_click_total'] == null + ? null + : parseInt(json['search_click_total']), + shortPlayVideoId: json['short_play_video_id'] == null + ? null + : parseInt(json['short_play_video_id']), + currentEpisode: json['current_episode'] == null + ? null + : parseInt(json['current_episode']), + historyTime: json['history_time'] == null + ? null + : parseInt(json['history_time']), + ); + } + + Map toJson() { + return { + 'id': id, + 'short_id': shortId, + 'short_play_id': shortPlayId, + 'name': name, + 'description': description, + 'image_url': imageUrl, + 'horizontally_img': horizontallyImg, + 'collect_total': collectTotal, + 'watch_total': watchTotal, + 'episode_total': episodeTotal, + 'play_seconds': playSeconds, + 'is_collect': isCollect, + 'video_url': videoUrl, + 'video_info': videoInfo, + 'category': category, + 'categoryList': categoryList?.map((item) => item.toJson()).toList(), + 'tag_type': tagType, + 'episode': episode, + 'process': process, + 'buy_type': buyType, + 'search_click_total': searchClickTotal, + 'short_play_video_id': shortPlayVideoId, + 'current_episode': currentEpisode, + 'history_time': historyTime, + }; + } + + SkywoodDrama copyWith({ + int? id, + int? shortId, + int? shortPlayId, + String? name, + String? description, + String? imageUrl, + String? horizontallyImg, + int? collectTotal, + int? watchTotal, + int? episodeTotal, + String? playSeconds, + bool? isCollect, + String? videoUrl, + Map? videoInfo, + List? category, + List? categoryList, + String? tagType, + int? episode, + int? process, + int? buyType, + int? searchClickTotal, + int? shortPlayVideoId, + int? currentEpisode, + int? historyTime, + }) { + return SkywoodDrama( + id: id ?? this.id, + shortId: shortId ?? this.shortId, + shortPlayId: shortPlayId ?? this.shortPlayId, + name: name ?? this.name, + description: description ?? this.description, + imageUrl: imageUrl ?? this.imageUrl, + horizontallyImg: horizontallyImg ?? this.horizontallyImg, + collectTotal: collectTotal ?? this.collectTotal, + watchTotal: watchTotal ?? this.watchTotal, + episodeTotal: episodeTotal ?? this.episodeTotal, + playSeconds: playSeconds ?? this.playSeconds, + isCollect: isCollect ?? this.isCollect, + videoUrl: videoUrl ?? this.videoUrl, + videoInfo: videoInfo ?? this.videoInfo, + category: category ?? this.category, + categoryList: categoryList ?? this.categoryList, + tagType: tagType ?? this.tagType, + episode: episode ?? this.episode, + process: process ?? this.process, + buyType: buyType ?? this.buyType, + searchClickTotal: searchClickTotal ?? this.searchClickTotal, + shortPlayVideoId: shortPlayVideoId ?? this.shortPlayVideoId, + currentEpisode: currentEpisode ?? this.currentEpisode, + historyTime: historyTime ?? this.historyTime, + ); + } +} diff --git a/lib/utils/models/drama/skywood_episode.dart b/lib/utils/models/drama/skywood_episode.dart new file mode 100644 index 0000000..c52cdf7 --- /dev/null +++ b/lib/utils/models/drama/skywood_episode.dart @@ -0,0 +1,92 @@ +import '../model_parser.dart'; + +class SkywoodEpisode { + final int id; + final int shortId; + final int shortPlayId; + final int shortPlayVideoId; + final int episode; + final String videoUrl; + final int? promiseViewAd; + final int iaaPopUp; + bool isLock; + String playSeconds; + int? viewAdCount; + + SkywoodEpisode({ + required this.id, + required this.shortId, + required this.shortPlayId, + required this.shortPlayVideoId, + required this.episode, + required this.videoUrl, + required this.playSeconds, + required this.isLock, + this.promiseViewAd, + required this.iaaPopUp, + required this.viewAdCount, + }); + + factory SkywoodEpisode.fromJson(Map json) { + return SkywoodEpisode( + id: parseInt(json['id']), + shortId: parseInt(json['short_id']), + shortPlayId: parseInt(json['short_play_id']), + shortPlayVideoId: parseInt(json['short_play_video_id']), + episode: parseInt(json['episode']), + videoUrl: parseString(json['video_url']), + playSeconds: parseString(json['play_seconds']), + isLock: parseBool(json['is_lock']), + promiseViewAd: json['promise_view_ad'] == null + ? null + : parseInt(json['promise_view_ad']), + iaaPopUp: parseInt(json['iaa_pop_up']), + viewAdCount: parseInt(json['view_ad_count']), + ); + } + + Map toJson() { + return { + 'id': id, + 'short_id': shortId, + 'short_play_id': shortPlayId, + 'short_play_video_id': shortPlayVideoId, + 'episode': episode, + 'video_url': videoUrl, + 'promise_view_ad': promiseViewAd, + 'iaa_pop_up': iaaPopUp, + 'is_lock': isLock, + 'play_seconds': playSeconds, + 'view_ad_count': viewAdCount, + }; + } + + SkywoodEpisode copyWith({ + int? id, + int? shortId, + int? shortPlayId, + int? shortPlayVideoId, + int? episode, + String? videoUrl, + bool? isLock, + String? playSeconds, + String? durationSeconds, + int? promiseViewAd, + int? viewAdCount, + int? iaaPopUp, + }) { + return SkywoodEpisode( + id: id ?? this.id, + shortId: shortId ?? this.shortId, + shortPlayId: shortPlayId ?? this.shortPlayId, + shortPlayVideoId: shortPlayVideoId ?? this.shortPlayVideoId, + episode: episode ?? this.episode, + videoUrl: videoUrl ?? this.videoUrl, + isLock: isLock ?? this.isLock, + playSeconds: playSeconds ?? this.playSeconds, + promiseViewAd: promiseViewAd ?? this.promiseViewAd, + viewAdCount: viewAdCount ?? this.viewAdCount, + iaaPopUp: iaaPopUp ?? this.iaaPopUp, + ); + } +} diff --git a/lib/utils/models/drama/skywood_home.dart b/lib/utils/models/drama/skywood_home.dart new file mode 100644 index 0000000..9a88133 --- /dev/null +++ b/lib/utils/models/drama/skywood_home.dart @@ -0,0 +1,46 @@ +import 'package:skywood/utils/models/drama/skywood_drama.dart'; + +class SkywoodHome { + final String? moduleKey; + final List dataList; + + const SkywoodHome({required this.moduleKey, required this.dataList}); + + factory SkywoodHome.fromJson(Map json) { + // Map? map = json['data']; + // List? list = map!['list']; + // List datas = []; + // if (list != null) { + // datas = list.map((e) => SkywoodDrama.fromJson(e)).toList(); + // } + final data = json['data']; + List videos = []; + + // 🔥 判断 data 的类型 + if (data is Map) { + // 情况1: data 是 Map,从中取 list + final list = data['list']; + if (list is List) { + videos = list.map((e) => SkywoodDrama.fromJson(e)).toList(); + } + } else if (data is List) { + // 情况2: data 直接就是 List + videos = data.map((e) => SkywoodDrama.fromJson(e)).toList(); + } + return SkywoodHome( + moduleKey: json['module_key'] as String?, + dataList: videos, + ); + } + + Map toJson() { + return {'module_key': moduleKey, 'dataList': dataList}; + } + + SkywoodHome copyWith({String? moduleKey, dynamic data}) { + return SkywoodHome( + moduleKey: moduleKey ?? this.moduleKey, + dataList: data ?? dataList, + ); + } +} diff --git a/lib/utils/models/model_parser.dart b/lib/utils/models/model_parser.dart new file mode 100644 index 0000000..26b5946 --- /dev/null +++ b/lib/utils/models/model_parser.dart @@ -0,0 +1,57 @@ +bool parseBool(dynamic value) { + if (value == null) return false; + if (value is bool) return value; + if (value is num) return value != 0; + if (value is String) { + final v = value.trim().toLowerCase(); + return v == 'true' || v == '1' || v == 'yes' || v == 'y'; + } + return false; +} + +int parseInt(dynamic value) { + if (value == null) return 0; + if (value is int) return value; + if (value is double) return value.toInt(); + if (value is num) return value.toInt(); + if (value is String) return int.tryParse(value) ?? 0; + return 0; +} + +String parseString(dynamic value) { + if (value == null) return ''; + return value.toString(); +} + +List? parseStringList(dynamic value) { + if (value == null) return null; + if (value is List) { + return value.map((item) => parseString(item)).toList(); + } + return null; +} + +List? parseIntList(dynamic value) { + if (value == null) return null; + if (value is List) { + return value.map((item) => parseInt(item)).toList(); + } + return null; +} + +Map? parseMap(dynamic value) { + if (value is Map) return value; + if (value is Map) return Map.from(value); + return null; +} + +List parseModelList( + dynamic value, + T Function(Map json) fromJson, +) { + if (value is! List) return []; + return value + .whereType() + .map((item) => fromJson(Map.from(item))) + .toList(); +} diff --git a/lib/utils/models/user/glimzo_user.dart b/lib/utils/models/user/glimzo_user.dart new file mode 100644 index 0000000..4b72edc --- /dev/null +++ b/lib/utils/models/user/glimzo_user.dart @@ -0,0 +1,59 @@ +import '../model_parser.dart'; + +class GlimzoUser { + final String customerId; + final bool isTourist; + final String userLevel; + final String avator; + final String? familyName; + final String? givingName; + + const GlimzoUser({ + required this.customerId, + required this.isTourist, + required this.userLevel, + required this.avator, + this.familyName, + this.givingName, + }); + + factory GlimzoUser.fromJson(Map json) { + return GlimzoUser( + customerId: parseString(json['customer_id']), + isTourist: parseBool(json['is_tourist']), + userLevel: parseString(json['user_level']), + avator: parseString(json['avator']), + familyName: json['family_name'] as String?, + givingName: parseString(json['giving_name']), + ); + } + + Map toJson() { + return { + 'customer_id': customerId, + 'is_tourist': isTourist, + 'user_level': userLevel, + 'avator': avator, + 'family_name': familyName, + 'giving_name': givingName, + }; + } + + GlimzoUser copyWith({ + String? customerId, + bool? isTourist, + String? userLevel, + String? avator, + String? familyName, + String? givingName, + }) { + return GlimzoUser( + customerId: customerId ?? this.customerId, + isTourist: isTourist ?? this.isTourist, + userLevel: userLevel ?? this.userLevel, + avator: avator ?? this.avator, + familyName: familyName ?? this.familyName, + givingName: givingName ?? this.givingName, + ); + } +} diff --git a/lib/utils/models/user/register_bean.dart b/lib/utils/models/user/register_bean.dart new file mode 100644 index 0000000..22e2c93 --- /dev/null +++ b/lib/utils/models/user/register_bean.dart @@ -0,0 +1,18 @@ + +class RegisterBean { + final String token; + final int customerId; + final bool? autoLogin; + final int touristId; + + RegisterBean({required this.token, required this.customerId, this.autoLogin, required this.touristId}); + + factory RegisterBean.fromJson(Map json) { + return RegisterBean( + token: json['token'], + customerId: json['customer_id'], + autoLogin: json['auto_login'], + touristId: json['tourist_id'], + ); + } +} \ No newline at end of file diff --git a/lib/utils/tools/app_screen.dart b/lib/utils/tools/app_screen.dart index dd9e5e6..fdd62d5 100644 --- a/lib/utils/tools/app_screen.dart +++ b/lib/utils/tools/app_screen.dart @@ -4,8 +4,8 @@ import 'package:get/get.dart'; /// AppScreen class class AppScreen { - static double get screenWidth => Get.width; - static double get screenHeight => Get.height; + static double get screenWidth => _viewSize.width; + static double get screenHeight => _viewSize.height; // static double get screenWidth => MediaQuery.of(Get.context!).size.width; // static double get screenHeight => MediaQuery.of(Get.context!).size.height; @@ -13,7 +13,7 @@ class AppScreen { return MediaQuery.of(context).size; } - static bool get isDebug=> kDebugMode; + static bool get isDebug => kDebugMode; static double get statusBarHeight => Get.statusBarHeight / Get.pixelRatio; @@ -33,12 +33,19 @@ class AppScreen { return GetPlatform.isIOS; } + static Size get _viewSize { + if (Get.context != null) { + return MediaQuery.of(Get.context!).size; + } + + final view = WidgetsBinding.instance.platformDispatcher.views.first; + return view.physicalSize / view.devicePixelRatio; + } + static double aRatioWidth({double? h, double aspectRatio = 1}) { h ??= screenHeight; return screenHeight * 1 / aspectRatio; } - static double get keyboardHeight => Get.mediaQuery.viewInsets.bottom; - } diff --git a/lib/utils/tools/app_toast.dart b/lib/utils/tools/app_toast.dart new file mode 100644 index 0000000..09547c6 --- /dev/null +++ b/lib/utils/tools/app_toast.dart @@ -0,0 +1,143 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; +// import 'package:lottie/lottie.dart'; + +// 加载数据的函数类型 +typedef LoadBlock = Future Function(); + +// 弹出Toast提示的类 +class AppToast { + static const String _defaultLoadingText = ""; + static const String _loadingText = "loading..."; + + /// 显示普通 Toast 提示 + static Future showToast( + Object msg, { + Duration displayTime = const Duration(seconds: 2), + }) async { + await dismiss(); + return SmartDialog.showToast( + msg.toString(), + alignment: Alignment.center, + debounce: true, + displayTime: displayTime, + ); + } + + static Future showError( + Object msg, { + Duration displayTime = const Duration(seconds: 2), + }) { + return showFail(msg, displayTime: displayTime); + } + + /// 显示失败提示 + static Future showFail( + Object msg, { + Duration displayTime = const Duration(seconds: 2), + Function()? onDismiss, + }) async { + await dismiss(); + return SmartDialog.showNotify( + msg: msg.toString(), + alignment: Alignment.center, + notifyType: NotifyType.failure, + displayTime: displayTime, + debounce: true, + onDismiss: onDismiss, + ); + } + + /// 显示成功提示 + static Future showSuccess( + Object msg, { + Duration displayTime = const Duration(seconds: 2), + }) async { + await dismiss(); + return SmartDialog.showNotify( + msg: msg.toString(), + notifyType: NotifyType.success, + debounce: true, + displayTime: displayTime, + ); + } + + static Future showInfo( + Object msg, { + Duration displayTime = const Duration(seconds: 2), + }) { + return showWarning(msg, displayTime: displayTime); + } + + static Future showWarning( + Object msg, { + Duration displayTime = const Duration(seconds: 2), + }) async { + await dismiss(); + return SmartDialog.showNotify( + msg: msg.toString(), + notifyType: NotifyType.warning, + debounce: true, + displayTime: displayTime, + ); + } + + /// 显示 Lottie 加载提示 + // static Future showLottieLoading({ + // Duration? displayTime, + // }) async { + // await dismiss(); + // return SmartDialog.showLoading( + // displayTime: displayTime ?? const Duration(seconds: 5), + // maskColor: Colors.transparent, + // builder: (_) { + // return SizedBox( + // width: 120, + // height: 120, + // child: Lottie.asset( + // 'assets/bagua.json', + // fit: BoxFit.contain, + // repeat: true, + // ), + // ); + // }, + // ); + // } + + /// 显示加载提示 + static Future showLoading({ + String text = _loadingText, + Duration displayTime = const Duration(seconds: 10), + }) async { + await dismiss(); + return SmartDialog.showLoading(msg: text, displayTime: displayTime); + } + + /// 关闭特定状态的弹窗 + static Future dismiss({SmartStatus status = SmartStatus.loading}) { + return SmartDialog.dismiss(status: status); + } + + /// 关闭所有弹窗(占位) + static void dismissAll() { + SmartDialog.dismiss(); + } + + /// 自动显示加载框并在完成后关闭 + static Future loading( + LoadBlock block, { + String? text, + bool isLoading = true, + }) async { + if (isLoading) { + showLoading(text: text ?? _defaultLoadingText); + } + + try { + final result = await block(); + return result; + } finally { + dismiss(); + } + } +} diff --git a/lib/utils/tools/help_img.dart b/lib/utils/tools/help_img.dart index 4f0846c..8936843 100644 --- a/lib/utils/tools/help_img.dart +++ b/lib/utils/tools/help_img.dart @@ -18,6 +18,22 @@ class ConstImg { static const String tabMineUnselect = "assets/common/tab_mine_unselect.png"; static const String homeBg = "assets/imgs/home_bg.png"; + // home_card_bg + static const String homeCardBg = "assets/imgs/home_card_bg.png"; + // home_top_bg + static const String homeTopBg = "assets/imgs/home_top_bg.png"; + // home_title_daily/hot/hot_cate/mystery/weekly + static const String homeTitleDaily = "assets/imgs/home_title_daily.png"; + static const String homeTitleHot = "assets/imgs/home_title_hot.png"; + static const String homeTitleHotCate = "assets/imgs/home_title_hot_cate.png"; + static const String homeTitleMystery = "assets/imgs/home_title_mystery.png"; + static const String homeTitleWeekly = "assets/imgs/home_title_weekly.png"; + static const String homeOpenNowBox = "assets/imgs/home_opennow_box.png"; + // splash_page + static const String splashPage = "assets/imgs/splash_page.png"; + // heart + static const String heart = "assets/images/heart.png"; + // nodata static const String noData = "assets/images/nodata.png"; diff --git a/lib/utils/tools/help_nav.dart b/lib/utils/tools/help_nav.dart new file mode 100644 index 0000000..85e8146 --- /dev/null +++ b/lib/utils/tools/help_nav.dart @@ -0,0 +1,117 @@ +import 'package:get/get.dart'; +import 'package:flutter/material.dart'; + +/// navigator +class HelpNav { + /// clear all route + static Future? offAllNamed( + String newRouteName, { + Map? arguments, + RoutePredicate? predicate, + String? tag, + Map? parameters, + }) { + return Get.offAllNamed( + newRouteName, + arguments: arguments, + predicate: predicate, + parameters: {...?parameters}, + ); + } + + static Future? off(Widget page, {arguments, preventDuplicates}) { + return Get.off( + () => page, + arguments: arguments, + preventDuplicates: preventDuplicates ?? false, + ); + } + + static Future? offAll(Widget page, {arguments, preventDuplicates}) { + return Get.offAll(() => page, arguments: arguments); + } + + static Future? offNamed( + String newRouteName, { + arguments, + preventDuplicates, + }) { + return Get.offNamed( + newRouteName, + arguments: arguments, + preventDuplicates: preventDuplicates ?? true, + ); + } + + /// to name + static Future? toNamed( + String newRouteName, { + arguments, + String? tag, + Map? parameters, + }) { + return Get.toNamed( + newRouteName, + arguments: arguments, + parameters: {...?parameters}, + ); + } + + /// to route + static Future? to(Widget page, {arguments, binding}) { + return Get.to( + () => page, + arguments: arguments, + binding: binding, + preventDuplicates: false, + ); + } + + static void _until({String? routeName, T? result}) { + if (result == null) { + Get.back(result: result); + return; + } + // Get.back(result: result); + // + if (routeName == null) { + Get.back(result: result); + return; + } + } + + /// back pre + /// [result] + static void back({T? result, String? routeName}) { + _until(routeName: routeName, result: result); + } + + /// show dialog + static Future showDialog( + Widget child, { + bool barrierDismissible = false, + }) { + return Get.dialog( + Center(child: child), + barrierDismissible: barrierDismissible, + ); + } + + /// show bottom sheet + static Future showBottom( + Widget child, { + Color? safeAreaColor, + + double? borderRadius, + bool isDismissible = false, + bool isScrollControlled = false, + bool? enableDrag, + }) { + return Get.bottomSheet( + child, + isScrollControlled: isScrollControlled, + enableDrag: enableDrag ?? true, + isDismissible: isDismissible, + ); + } +} diff --git a/lib/utils/tools/sky_device_info.dart b/lib/utils/tools/sky_device_info.dart new file mode 100644 index 0000000..f09d35f --- /dev/null +++ b/lib/utils/tools/sky_device_info.dart @@ -0,0 +1,177 @@ +import 'dart:io'; +import 'package:flutter/foundation.dart'; +import 'package:android_id/android_id.dart'; +import 'package:device_info_plus/device_info_plus.dart'; +import 'package:flutter_secure_storage/flutter_secure_storage.dart'; +import 'package:package_info_plus/package_info_plus.dart'; +import 'package:skywood/global/request/api_const.dart'; + +@immutable +class SkyDeviceInfo { + final String deviceId; + final String systemType; + final String systemVersion; + final String brand; + final String model; + + final String appName; + final String appPackageName; + final String appVersion; + final String idfv; + + static SkyDeviceInfo? _instance; + + const SkyDeviceInfo._({ + required this.deviceId, + required this.systemType, + required this.systemVersion, + required this.brand, + required this.model, + required this.appName, + required this.appPackageName, + required this.appVersion, + required this.idfv, + }); + + static SkyDeviceInfo get instance { + if (_instance == null) { + throw StateError('error'); + } + return _instance!; + } + + @visibleForTesting + static void setMockInstance({ + String deviceId = 'test-device-id', + String systemType = 'test', + String systemVersion = '1.0', + String brand = 'test', + String model = 'test', + String appName = 'Glimzo', + String appPackageName = 'com.example.skywood', + String appVersion = '1.0.0', + String idfv = 'test-idfv', + }) { + _instance = SkyDeviceInfo._( + deviceId: deviceId, + systemType: systemType, + systemVersion: systemVersion, + brand: brand, + model: model, + appName: appName, + appPackageName: appPackageName, + appVersion: appVersion, + idfv: idfv, + ); + } + + /// 初始化设备信息 + static Future init() async { + if (_instance != null) return; + + String deviceId = '', + systemType = '', + systemVersion = '', + brand = '', + model = '', + appName = 'Glimzo', + appPackageName = '', + appVersion = '', + idfv = ''; + + // 获取应用信息 + await _initAppInfo() + .then((info) { + appPackageName = info['packageName'] ?? ''; + appVersion = info['version'] ?? ''; + appName = ApiConst.appName; + }) + .catchError((e) { + debugPrint('[sDeviceInfo] getElPackageName: $e'); + }); + + // 获取设备信息 + if (Platform.isAndroid) { + await _initAndroidInfo() + .then((info) { + deviceId = info['deviceId'] ?? ''; + systemType = 'android'; + systemVersion = info['systemVersion'] ?? ''; + brand = info['brand'] ?? ''; + model = info['model'] ?? ''; + }) + .catchError((e) { + debugPrint('[GlimzoUtilDeviceInfo] Android: $e'); + }); + } else if (Platform.isIOS) { + await _initIOSInfo() + .then((info) { + deviceId = info['deviceId'] ?? ''; + idfv = info['idfv'] ?? ''; + systemType = 'ios'; + systemVersion = info['systemVersion'] ?? ''; + brand = info['brand'] ?? ''; + model = info['model'] ?? ''; + }) + .catchError((e) { + debugPrint('[GlimzoUtilDeviceInfo] iOS: $e'); + }); + } + + _instance = SkyDeviceInfo._( + deviceId: deviceId, + systemType: systemType, + systemVersion: systemVersion, + brand: brand, + model: model, + appName: appName, + appPackageName: appPackageName, + appVersion: appVersion, + idfv: idfv, + ); + } + + /// 获取应用信息 + static Future> _initAppInfo() async { + final packageInfo = await PackageInfo.fromPlatform(); + return { + 'packageName': packageInfo.packageName, + 'version': packageInfo.version, + }; + } + + /// 获取 Android 设备信息 + static Future> _initAndroidInfo() async { + final plugin = DeviceInfoPlugin(); + final androidInfo = await plugin.androidInfo; + final androidIdPlugin = AndroidId(); + final androidId = await androidIdPlugin.getId(); + return { + 'deviceId': androidId ?? androidInfo.id, + 'systemVersion': androidInfo.version.release, + 'brand': androidInfo.brand, + 'model': androidInfo.model, + }; + } + + /// 获取 iOS 设备信息 + static Future> _initIOSInfo() async { + final plugin = DeviceInfoPlugin(); + final iosInfo = await plugin.iosInfo; + final secureStorage = FlutterSecureStorage(); + String? idfvStore = await secureStorage.read(key: 'identifierForVendor'); + idfvStore ??= iosInfo.identifierForVendor; + + if (idfvStore != null) { + await secureStorage.write(key: 'identifierForVendor', value: idfvStore); + } + + return { + 'deviceId': idfvStore, + 'idfv': iosInfo.identifierForVendor ?? '', + 'systemVersion': iosInfo.systemVersion, + 'brand': iosInfo.model, + 'model': iosInfo.modelName, + }; + } +} diff --git a/lib/utils/tools/sky_time_tool.dart b/lib/utils/tools/sky_time_tool.dart new file mode 100644 index 0000000..a93e7e5 --- /dev/null +++ b/lib/utils/tools/sky_time_tool.dart @@ -0,0 +1,53 @@ + +class SkyTimeTool { + + static String getTimeZone() { + final offset = DateTime.now().timeZoneOffset; + final hours = offset.inHours; + final minutes = offset.inMinutes.remainder(60).abs(); + final sign = hours >= 0 ? '+' : '-'; + final formatted = + 'GMT$sign${hours.abs().toString().padLeft(2, '0')}:${minutes.toString().padLeft(2, '0')}'; + return formatted; + } + + //格式化数字,带单位 k / m,可自定义小数位和千分位分隔符 + static String formatNum( + num value, { + int decimalDigits = 1, + String separator = ',', + }) { + String removeTrailingZeros(String str) { + if (str.contains('.')) { + str = str.replaceAll(RegExp(r'0+$'), ''); // 去掉末尾 0 + str = str.replaceAll(RegExp(r'\.$'), ''); // 去掉末尾小数点 + } + return str; + } + + String addSeparator(String str) { + final parts = str.split('.'); + final intPart = parts[0]; + final decPart = parts.length > 1 ? '.${parts[1]}' : ''; + final regex = RegExp(r'(\d+)(\d{3})'); + var formatted = intPart; + while (regex.hasMatch(formatted)) { + formatted = formatted.replaceAllMapped( + regex, + (m) => '${m[1]}$separator${m[2]}', + ); + } + return '$formatted$decPart'; + } + + if (value < 1000) { + return addSeparator(value.toStringAsFixed(0)); + } else if (value < 1000000) { + final formatted = (value / 1000).toStringAsFixed(decimalDigits); + return '${removeTrailingZeros(formatted)}K'; + } else { + final formatted = (value / 1000000).toStringAsFixed(decimalDigits); + return '${removeTrailingZeros(formatted)}M'; + } + } +} \ No newline at end of file diff --git a/lib/utils/tools/token_manage.dart b/lib/utils/tools/token_manage.dart new file mode 100644 index 0000000..ef3bacf --- /dev/null +++ b/lib/utils/tools/token_manage.dart @@ -0,0 +1,234 @@ + +import 'dart:convert'; +import 'package:flutter/foundation.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:skywood/global/client/user_client.dart'; + +/// Token 管理单例类 +/// 对应原项目的 GlimzoUtilToken +class TokenManager { + // ============ 单例模式 ============ + static final TokenManager _instance = TokenManager._internal(); + factory TokenManager() => _instance; + TokenManager._internal(); + + // ============ 常量定义 ============ + static const String _keyToken = 'SKY_STORE_TOKEN'; + static const String _keyUserInfo = 'SKY_STORE_USER_INFO'; + + // ============ 内存缓存 ============ + String? _cachedToken; + Map? _cachedUserInfo; + + // ============ 核心方法 ============ + + /// 获取 Token(从内存或存储) + String get() { + if (_cachedToken != null) { + return _cachedToken!; + } + // 如果内存中没有,从存储中加载 + _cachedToken = _getFromStorage(_keyToken); + return _cachedToken ?? ''; + } + + /// 保存 Token(到内存和存储) + void save(String token) { + if (token.isNotEmpty) { + _cachedToken = token; + _saveToStorage(_keyToken, token); + } + } + + /// 清除 Token(从内存和存储) + void clear() { + _cachedToken = null; + _removeFromStorage(_keyToken); + _cachedUserInfo = null; + _removeFromStorage(_keyUserInfo); + } + + /// 刷新 Token(调用注册接口获取新 Token) + /// 注意:这里需要传入一个刷新函数,因为原项目依赖 GlimzoRequestUser + Future update() async { + try { + final res = await UserClient.register(); + if (res == null) return; + final newToken = res.token; + if (newToken.isNotEmpty ?? false) { + // 保存新 Token + save(newToken); + // 如果返回了用户信息,也一并保存 + // if (res['userInfo'] != null) { + // saveUserInfo(res['userInfo']); + // } + } else { + throw Exception('Invalid token response'); + } + } catch (e) { + debugPrint('[TokenManager] Error updating token: $e'); + rethrow; + } + } + + // ============ 便捷属性 ============ + + /// 判断 Token 是否为空 + bool get isEmpty => get().isEmpty; + + /// 判断 Token 是否不为空 + bool get isNotEmpty => !isEmpty; + + /// 获取完整 Authorization 头 + String? get authorizationHeader { + final token = get(); + if (token.isNotEmpty) { + return 'Bearer $token'; + } + return null; + } + + // ============ 用户信息扩展(原项目没有,但建议加上) ============ + + /// 保存用户信息 + void saveUserInfo(Map userInfo) { + _cachedUserInfo = userInfo; + _saveToStorage(_keyUserInfo, jsonEncode(userInfo)); + } + + /// 获取用户信息 + Map? getUserInfo() { + if (_cachedUserInfo != null) { + return _cachedUserInfo; + } + final stored = _getFromStorage(_keyUserInfo); + if (stored != null && stored.isNotEmpty) { + try { + _cachedUserInfo = jsonDecode(stored) as Map; + return _cachedUserInfo; + } catch (_) { + return null; + } + } + return null; + } + + // ============ 私有存储方法 ============ + + String? _getFromStorage(String key) { + try { + // 使用 SharedPreferences 同步获取(但 SharedPreferences 是异步的) + // 为了保持与原项目一致的同步接口,这里使用异步转同步 + // 但更好的方式是在初始化时预加载 + return _getFromStorageSync(key); + } catch (e) { + debugPrint('[TokenManager] Error reading from storage: $e'); + return null; + } + } + + // 同步读取(注意:SharedPreferences 本身是异步的,这里用同步方式需要谨慎) + String? _getFromStorageSync(String key) { + // 由于 SharedPreferences 是异步的,我们使用一个全局缓存 + // 实际项目中建议在 main 中调用 init() 预加载 + try { + // 这里为了简化,直接返回 null,实际应该用异步方式 + // 建议使用下面的异步版本 + return null; + } catch (_) { + return null; + } + } + + void _saveToStorage(String key, String value) { + // 异步保存,不等待结果 + _saveToStorageAsync(key, value); + } + + void _removeFromStorage(String key) { + // 异步移除,不等待结果 + _removeFromStorageAsync(key); + } + + // ============ 异步存储方法(推荐使用) ============ + + /// 初始化:从存储中加载 Token + Future init() async { + try { + final prefs = await SharedPreferences.getInstance(); + _cachedToken = prefs.getString(_keyToken); + + final userInfoStr = prefs.getString(_keyUserInfo); + if (userInfoStr != null && userInfoStr.isNotEmpty) { + try { + _cachedUserInfo = jsonDecode(userInfoStr) as Map; + } catch (_) { + _cachedUserInfo = null; + } + } + } catch (e) { + debugPrint('[TokenManager] Init error: $e'); + } + } + + /// 异步获取 Token + Future getAsync() async { + if (_cachedToken != null) { + return _cachedToken!; + } + try { + final prefs = await SharedPreferences.getInstance(); + _cachedToken = prefs.getString(_keyToken); + return _cachedToken ?? ''; + } catch (e) { + debugPrint('[TokenManager] Get token error: $e'); + return ''; + } + } + + /// 异步保存 Token + Future saveAsync(String token) async { + if (token.isNotEmpty) { + _cachedToken = token; + try { + final prefs = await SharedPreferences.getInstance(); + await prefs.setString(_keyToken, token); + } catch (e) { + debugPrint('[TokenManager] Save token error: $e'); + } + } + } + + /// 异步清除 Token + Future clearAsync() async { + _cachedToken = null; + _cachedUserInfo = null; + try { + final prefs = await SharedPreferences.getInstance(); + await prefs.remove(_keyToken); + await prefs.remove(_keyUserInfo); + } catch (e) { + debugPrint('[TokenManager] Clear token error: $e'); + } + } + + // 异步保存到存储 + Future _saveToStorageAsync(String key, String value) async { + try { + final prefs = await SharedPreferences.getInstance(); + await prefs.setString(key, value); + } catch (e) { + debugPrint('[TokenManager] Save to storage error: $e'); + } + } + + // 异步从存储移除 + Future _removeFromStorageAsync(String key) async { + try { + final prefs = await SharedPreferences.getInstance(); + await prefs.remove(key); + } catch (e) { + debugPrint('[TokenManager] Remove from storage error: $e'); + } + } +} \ No newline at end of file diff --git a/lib/utils/tools/widgets/sky_common_widget.dart b/lib/utils/tools/widgets/sky_common_widget.dart new file mode 100644 index 0000000..847bcbe --- /dev/null +++ b/lib/utils/tools/widgets/sky_common_widget.dart @@ -0,0 +1,278 @@ +import 'package:flutter/material.dart'; + +import '../../../global/const/common_color.dart'; +import '../../extend/widget_extend.dart'; +import '../help_nav.dart'; + + +class SkyText extends StatelessWidget { + const SkyText({ + super.key, + required this.text, + this.color = Colors.white, + this.fontSize = 14, + this.shadow, + this.decoration, + this.decorationColor, + this.textAlign, + this.fontWeight, + this.maxLines, + this.lineHeight, + this.letterSpacing, + this.overflow = TextOverflow.ellipsis, + this.softWrap, + this.fontFamily, + }); + + + final String text; + final Color? color; + final double? fontSize; + final TextDecoration? decoration; + final Color? decorationColor; + final TextAlign? textAlign; + final FontWeight? fontWeight; + final int? maxLines; + final Shadow? shadow; + final double? lineHeight; + final double? letterSpacing; + final TextOverflow? overflow; + final bool? softWrap; + final String? fontFamily; + + + @override + Widget build(BuildContext context) { + final FontWeight resolvedWeight = fontWeight ?? FontWeight.normal; + + return Text(text, style: TextStyle( + fontSize: fontSize, + fontWeight: resolvedWeight, + decoration: decoration, + fontFamily: fontFamily ?? 'Inter', + color: color, + shadows: shadow == null ? null : [shadow!], + decorationColor: decorationColor, + height: lineHeight, + letterSpacing: letterSpacing, + ), maxLines: maxLines, + overflow: overflow, + softWrap: softWrap, + textAlign: textAlign, + ); + } + +} + + + + + + + + + + + + + + + + + + + + + + +class ComConfirmWidget extends StatelessWidget { + + final String? title; + final String? content; + final Widget? contentWidget; + final String? cancelStr, confirmStr; + final double? height; + final Function? onConfirmed; + final Function? onCanceled; + final bool? showCancel; + final bool? clickHideAlert; + + const ComConfirmWidget({ + super.key, + this.title, + this.content, + this.contentWidget, + this.cancelStr, + this.confirmStr, + this.height, + this.onConfirmed, + this.onCanceled, + this.showCancel = true, + this.clickHideAlert = true, + }); + + @override + Widget build(BuildContext context) { + return Container( + height: height ?? 160, + margin: EdgeInsets.only(left: 25, right: 25), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(10), + ), + child: Column( + // mainAxisSize: MainAxisSize.min, + children: [ + const SizedBox(height: 15,), + + title==null ? SizedBox() : Padding(padding: EdgeInsets.only(left:15, right: 15, bottom: 5), + child: SkyText(text: title!, fontSize: 16, color: Colors.black, + ) + ), + const SizedBox(height: 10), + Expanded( + child: Padding(padding: EdgeInsets.only(left:14, right: 14), + child: contentWidget ?? Center( + child: SkyText(text: content!, + fontSize: 15, color: CommonColor.black, + maxLines: 3), + ), + ) + ), + + const SizedBox(height: 10), + Divider(thickness: 0.6, height: 1), + SizedBox( + height: 44, + child: IntrinsicHeight( + child: showCancel! ? Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + + TextButton(onPressed: () { + Navigator.pop(context); + onCanceled?.call(); + }, + child: Center( + child: SkyText(text: cancelStr ?? 'Cancel', + color: Colors.grey, fontSize: 14)) + ), + + VerticalDivider(width: 5, thickness: 0.6,), + + TextButton(onPressed: () { + + if (clickHideAlert == true) { + Navigator.pop(context); + } + onConfirmed?.call(); + }, + child: Center( + child:SkyText(text: confirmStr ?? 'Confirm', + color: CommonColor.goldColor, fontSize: 14)) + ), + ], + ) : TextButton(onPressed: () { + + Navigator.pop(context); + onConfirmed?.call(); + }, + child: Center( + child:SkyText(text: confirmStr ?? 'Confirm', + color: CommonColor.black, fontSize: 14,)) + ), + ) + ) + ], + ), + ); + } +} + + + + + + + + +class ComSheetWidget extends StatelessWidget { + + final Function(int)? onSelected; + final String? title; + final List items; + final TextAlign? textAlign; + + const ComSheetWidget({super.key, + this.onSelected, + this.title, + this.textAlign = TextAlign.left, + required this.items, + }); + + @override + Widget build(BuildContext context) { + return SafeArea(child: _mainView()); + } + + _mainView() { + return Container( + padding: EdgeInsets.only(top: 10), + height: items.length>5 ? 360 : 40+items.length*47 + 50, + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(20), + topRight: Radius.circular(20) + ), + ), + child: _ifElseWidget(), + ); + } + + _ifElseWidget() { + if (title != null) { + return Column( + children: [ + const SizedBox(height: 6), + Text('$title', style: TextStyle( + color: Colors.black, fontSize: 16 + )), + const SizedBox(height: 5), + const Divider(height: 8, thickness: 0.6,), + // Divider(), + const SizedBox(height: 5), + Expanded(child: ListView.separated(itemBuilder: (context, index) { + return _itemCreateer(index); + + }, separatorBuilder: (context, index) { + return Divider( indent: 15, endIndent: 15, thickness: 0.6,); + }, itemCount: items.length)) + ], + ); + } else { + return ListView.separated(itemBuilder: (context, index) { + return _itemCreateer(index); + + }, separatorBuilder: (context, index) { + return Divider(indent: 15, endIndent: 15, thickness: 0.6,); + }, itemCount: items.length); + } + } + + _itemCreateer(int index) { + return SizedBox( + height: 47, + child: Center( + child: Text(items[index], style: TextStyle( + fontSize: 15, color: Colors.black, + )), + ).addInkWell( + onTap: () { + + HelpNav.back(); + onSelected?.call(index); + }) + ); + } +} \ No newline at end of file diff --git a/pubspec.lock b/pubspec.lock index aeabfe8..1ab9f11 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -9,6 +9,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.5.1" + ansicolor: + dependency: transitive + description: + name: ansicolor + sha256: "50e982d500bc863e1d703448afdbf9e5a72eb48840a4f766fa361ffd6877055f" + url: "https://pub.dev" + source: hosted + version: "2.0.3" args: dependency: transitive description: @@ -512,6 +520,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.1" + group_button: + dependency: transitive + description: + name: group_button + sha256: "0610fcf28ed122bfb4b410fce161a390f7f2531d55d1d65c5375982001415940" + url: "https://pub.dev" + source: hosted + version: "5.3.4" hooks: dependency: transitive description: @@ -904,6 +920,22 @@ packages: url: "https://pub.dev" source: hosted version: "0.28.0" + share_plus: + dependency: transitive + description: + name: share_plus + sha256: "223873d106614442ea6f20db5a038685cc5b32a2fba81cdecaefbbae0523f7fa" + url: "https://pub.dev" + source: hosted + version: "12.0.2" + share_plus_platform_interface: + dependency: transitive + description: + name: share_plus_platform_interface + sha256: "88023e53a13429bd65d8e85e11a9b484f49d4c190abbd96c7932b74d6927cc9a" + url: "https://pub.dev" + source: hosted + version: "6.1.0" shared_preferences: dependency: "direct main" description: @@ -1069,6 +1101,38 @@ packages: url: "https://pub.dev" source: hosted version: "3.4.0+1" + talker: + dependency: transitive + description: + name: talker + sha256: f1a14d623f1d1bec42bb3bb77674eb766ffe8d26e5f79af652d85cb097c3e757 + url: "https://pub.dev" + source: hosted + version: "5.1.17" + talker_dio_logger: + dependency: "direct dev" + description: + name: talker_dio_logger + sha256: "6dba5c29afb566c6efe1a2c1b676488ea7c727b486bda0654d965a1cfad6ea9b" + url: "https://pub.dev" + source: hosted + version: "5.1.17" + talker_flutter: + dependency: "direct main" + description: + name: talker_flutter + sha256: "54cbbf852101721664faf4a05639fd2fdefdc37178327990abea00390690d4bc" + url: "https://pub.dev" + source: hosted + version: "5.1.16" + talker_logger: + dependency: transitive + description: + name: talker_logger + sha256: "459205c3e571f97ecc6be6e1b1b7e6b97b853e78ea458894650be407596e3216" + url: "https://pub.dev" + source: hosted + version: "5.1.17" term_glyph: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 4c3d390..51e0a05 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -49,6 +49,7 @@ dependencies: dio: ^5.9.2 shared_preferences: ^2.5.3 flutter_smart_dialog: ^5.1.0 + talker_flutter: ^5.0.2 dev_dependencies: flutter_test: @@ -56,6 +57,8 @@ dev_dependencies: flutter_lints: ^6.0.0 + talker_dio_logger: ^5.0.2 + # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec diff --git a/test/widget_test.dart b/test/widget_test.dart index eaeb005..e5fbc68 100644 --- a/test/widget_test.dart +++ b/test/widget_test.dart @@ -1,31 +1,33 @@ -// This is a basic Flutter widget test. -// -// To perform an interaction with a widget in your test, use the WidgetTester -// utility in the flutter_test package. For example, you can send tap and scroll -// gestures. You can also use WidgetTester to find child widgets in the widget -// tree, read text, and verify that the values of widget properties are correct. - import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; - import 'package:skywood/main.dart'; import 'package:skywood/main/main_root.dart'; +import 'package:skywood/pages/home/home_page.dart'; +import 'package:skywood/utils/tools/help_img.dart'; + +import 'helpers/app_test_harness.dart'; void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. + testWidgets('ComApp renders the configured root tabs', ( + WidgetTester tester, + ) async { + await prepareAppTestHarness(); + tester.view.physicalSize = const Size(375, 812); + tester.view.devicePixelRatio = 1.0; + addTearDown(tester.view.resetPhysicalSize); + addTearDown(tester.view.resetDevicePixelRatio); + await tester.pumpWidget(const ComApp(home: MainRoot())); + await tester.pump(const Duration(seconds: 1)); - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); + expect(find.byType(HomePage, skipOffstage: false), findsOneWidget); + expect( + find.image(const AssetImage(ConstImg.tabHomeSelected)), + findsOneWidget, + ); + expect( + find.image(const AssetImage(ConstImg.tabSearchUnselect)), + findsOneWidget, + ); }); }