From 197c3e9b884eaf63f199a71364178118755375b7 Mon Sep 17 00:00:00 2001 From: csw <471155679@qq.com> Date: Sun, 28 Jun 2026 17:16:31 +0800 Subject: [PATCH] feat: UI pages --- assets/imgs/home_rank_bg.png | Bin 0 -> 2700 bytes assets/imgs/hot_bg1.png | Bin 0 -> 2035 bytes assets/imgs/hot_bg2.png | Bin 0 -> 2039 bytes assets/imgs/purple_bg.png | Bin 0 -> 47969 bytes assets/imgs/red_bg.png | Bin 0 -> 47812 bytes assets/imgs/yellow_bg.png | Bin 0 -> 50051 bytes assets/pics/back.png | Bin 0 -> 1755 bytes assets/pics/collection_bg.png | Bin 0 -> 1579 bytes assets/pics/continue_watch.png | Bin 0 -> 1906 bytes assets/pics/delete.png | Bin 0 -> 659 bytes assets/pics/hot.png | Bin 0 -> 1840 bytes assets/pics/like_bg.png | Bin 0 -> 7439 bytes assets/pics/like_selected_bg.png | Bin 0 -> 8586 bytes assets/pics/like_unselect_bg.png | Bin 0 -> 905 bytes assets/pics/look.png | Bin 0 -> 527 bytes assets/pics/playlog_bg.png | Bin 0 -> 1115 bytes assets/pics/search_icon.png | Bin 0 -> 706 bytes assets/pics/star.png | Bin 0 -> 527 bytes lib/global/client/play_client.dart | 20 ++ lib/main/lib_file.dart | 1 + lib/main/main_root.dart | 2 +- lib/pages/home/home_page.dart | 53 +++- .../home/widgets/daily_quest_widget.dart | 7 +- lib/pages/home/widgets/home_cate_widget.dart | 35 +++ .../home/widgets/hot_cartridge_widget.dart | 43 ++++ lib/pages/home/widgets/like_num_widget.dart | 33 +++ lib/pages/home/widgets/rank_list_widget.dart | 83 +++++++ lib/pages/like/like_page.dart | 62 +++-- lib/pages/like/pages/collection_page.dart | 41 +++ lib/pages/like/pages/play_log_page.dart | 92 +++++++ lib/pages/like/widget/like_header.dart | 79 ++++++ lib/pages/search/page/result_page.dart | 155 ++++++++++++ lib/pages/search/page/search_page.dart | 209 ++++++++++++++++ lib/pages/search/search_page.dart | 234 ------------------ lib/pages/search/widget/search_util.dart | 63 +++++ lib/pages/search/widget/search_view.dart | 89 +++++++ lib/utils/tools/help_img.dart | 28 ++- lib/utils/tools/sky_time_tool.dart | 6 +- lib/utils/tools/widgets/sky_app_bar.dart | 76 ++++++ lib/utils/tools/widgets/sky_text_field.dart | 131 ++++++++++ pubspec.yaml | 2 + 41 files changed, 1270 insertions(+), 274 deletions(-) create mode 100644 assets/imgs/home_rank_bg.png create mode 100644 assets/imgs/hot_bg1.png create mode 100644 assets/imgs/hot_bg2.png create mode 100644 assets/imgs/purple_bg.png create mode 100644 assets/imgs/red_bg.png create mode 100644 assets/imgs/yellow_bg.png create mode 100644 assets/pics/back.png create mode 100644 assets/pics/collection_bg.png create mode 100644 assets/pics/continue_watch.png create mode 100644 assets/pics/delete.png create mode 100644 assets/pics/hot.png create mode 100644 assets/pics/like_bg.png create mode 100644 assets/pics/like_selected_bg.png create mode 100644 assets/pics/like_unselect_bg.png create mode 100644 assets/pics/look.png create mode 100644 assets/pics/playlog_bg.png create mode 100644 assets/pics/search_icon.png create mode 100644 assets/pics/star.png create mode 100644 lib/pages/home/widgets/home_cate_widget.dart create mode 100644 lib/pages/home/widgets/hot_cartridge_widget.dart create mode 100644 lib/pages/home/widgets/like_num_widget.dart create mode 100644 lib/pages/home/widgets/rank_list_widget.dart create mode 100644 lib/pages/like/pages/collection_page.dart create mode 100644 lib/pages/like/pages/play_log_page.dart create mode 100644 lib/pages/like/widget/like_header.dart create mode 100644 lib/pages/search/page/result_page.dart create mode 100644 lib/pages/search/page/search_page.dart delete mode 100644 lib/pages/search/search_page.dart create mode 100644 lib/pages/search/widget/search_util.dart create mode 100644 lib/pages/search/widget/search_view.dart create mode 100644 lib/utils/tools/widgets/sky_app_bar.dart create mode 100644 lib/utils/tools/widgets/sky_text_field.dart diff --git a/assets/imgs/home_rank_bg.png b/assets/imgs/home_rank_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..73d94873760e2203b3e4db4e38d90b1c63f4eef3 GIT binary patch literal 2700 zcmeHJX;9Nw5Pv}_N=6ZNhyn>v6>Ud?8az0ZLlh7Zl~%}z0wp9klq7N^goro85nGB7 z3NqFMsR9yBz(TkiR7j{&2@nE7AsI;^2^vCxKlJa_I@58+YCrnn&6|C@`+L{^b~kPB z9*+fvriK831zw)+`vE}U;W04p3wWhDg5LyB^QoTrXaJB)UJeAvFIWaIBBJ+uxPdZ( z`7>CUOLFyb1)zd~oDR{4<%Kaj0%H6q#F+Sys4%ee2q`k;V#S3}01OSh++Dv(K#Yj_ zjKXgb$JMwEE6<$2a~&xs*6Ukg*MwP_U2)l!fea7t+QnR)VRn*!+H5m6ZGJ|5&k2`b ztliPQ=a5KNeXys<-2uB-)D_$)ytni!x5F{)S_f%TGqoyPTB~j2R?9!EzCB=;cXH#SGAvSLCvDKt*U+LkMrp7$l5oI7sS(aPWtrPg)@cQp=;;Zy zpK~#tJ}KLs(lVHr(;gI<95$Sn?n+3tSwA~`IaJs-@-$~f`AvIb{|%!|8a*L=ILU*7 zLAOtjcDEmPhD0Q1r}HxV_;a?I@wxNX9`oZxo8&ul?@ z$aZ>9geL#yWmf&;;AhQ)`3i4JFUiM5vfq*gtRh&TDD>5(5N_SO$7d3uFR&K2*kmWe zLjr$j9OvhVSVGW_9)$v%3!&7|ws|?QUXuXVf4F zLq+&s<|`ZmtXM#H3$}RhuEk3DtUu__OM4x+a74e^8g~9TmEF|nqp{}Gp=Waq0P4&e zKKu{3A9tG1ULW|Qc8;LyR=L;?rn*b8M_1T{ogSVAf8{fb!aS4fl8j^Qk@6<;J@cS1(O04&I>2!|sB2vURxFsJ8PvA%eQ9 zOMyMXZcC>3x3-cFPl$qi>v}69wOfLmA&5Ok5~b!+Xt$(E-m6VobgV$|HuV#Wwp5Xb z+>;j7&!Hg%H7Ds==2WMc@1w*9cx$dKltew+5tl8aAJpT69=85~sBK?&=DL4qF5hO#*_S2J%Vj-|V42x}U2RPK zyA-XNnzJ5O!8E=Cv+gGwRDm3Zc-;6J`(?d?P&HhS!Hx&xB)C}wUOV=_zUQC B0LK6T literal 0 HcmV?d00001 diff --git a/assets/imgs/hot_bg1.png b/assets/imgs/hot_bg1.png new file mode 100644 index 0000000000000000000000000000000000000000..bcd2f15bb84211a6e2b8879bf661780e90765819 GIT binary patch literal 2035 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 Ky0^GR=KT#&sIcS! literal 0 HcmV?d00001 diff --git a/assets/imgs/purple_bg.png b/assets/imgs/purple_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..21fd76dd72326a729424884841b64c609eb0743c GIT binary patch literal 47969 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 DnAe$0 literal 0 HcmV?d00001 diff --git a/assets/imgs/yellow_bg.png b/assets/imgs/yellow_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..50f8018a8fed86449ec2f59faff20754a3445139 GIT binary patch literal 50051 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 literal 0 HcmV?d00001 diff --git a/assets/pics/continue_watch.png b/assets/pics/continue_watch.png new file mode 100644 index 0000000000000000000000000000000000000000..24b4b8641b2ef3ed5a4cadf687886abc575969a7 GIT binary patch literal 1906 zcmah~c{tRG8~;j?a~zZV&e4v$lA~D~*BDwduB+>$`9i}AeEVHkRuEUHw7wbG7NTc5)JzW1^_h~d5mTfDz16t0{~pB2y>X@ZI0DKT{{^#xEl>pr>ozww+iiq zg(banuAWmRCcYt)z!-kga2Ha^C0WT(ULorVkql10SgP!gRFHHfGfeXp6lcKo{vSRj zgyw{C6wbAY-$3+e6Q?2^7a>F`Cm!`Y{V9+eG-Xo@b zfR7&lG{R_(GgDid>@z2sbbFP0898B~-AKnA0G8W@IDm>U!Es&Siu2-%08|M`h=5{B zGi5n}8v+Am9cNDf*SV8U1D>)HKU$sy02sk5{tKu};ZhE??nDJeuR0mq68Xg>rH$m% z=NGHrE^$|!ZT=%Z_u8boeMTegxv@>E#>5i0`z@N# zGuQPImyhJM-+R;cy`neOZ?z5C2l<-hL6(eDrc{%Tsr+1^bCLYhmxI7Nbmd3$AH{ z*!*4*Qq+r1%TBWD{)|mLjD^k^-79XAJ;mb`R9Pg5d?+&6D5|v^P-TUf`p%`vn}EIT zTG*Om9^@<)3dGDhyo0 z$lMx@|UK9V?D)}1N8q~3K zGhn|hI`5|89oBd0yw6V~od~NfjRIzRAeoJA$dQ4%11BC{8)~v-a;VvtRml{>LqSB4 zlJ}lFNxc=fQBm1Xc34ei8f`!c8(J}CI4{DDaQ)r29Zm{XnN>*mMDi=R%b4?@)NF`m z32F*w?9?B~QX4vzsnH zG{hanc!YRW7KVV3e1Fc@q&xzd{3x< zBYDj8kBqkL&FC#xbwbB`f}37=gfS%c*%0&3sJULDWPe1V)d1JG8&M+X+-jRfCdE>1 zOBGnCx_J-k83`r9t;ALt%Kg+wlLbk#yUj*Eq8jfF#!ZXw$FX9p?A^7ns(q6S`a-{p7;GgvS9jao3#e=fHUSxU z5lme!T>T|QZN-Th;~n6h^GqBW0V&}+*o4Xwh@`ZGE2$~I*3!e|vK((qbl_QQf#D6r zTHn%oKRvUo@inr?!GxhWl4kMcSGveD`_G2wCx0utM=I&OMf(s9(<#)|rI=CSI~_#z z!q&3Cv*{1uU5O!OqT9_1?n88UXPB`Rw=A#bY76yQ(vFi`oJ9Qe)eR*rF4y5abz|Bd zem5U6F%TGF%tO=c?-Jcc<0j>Xmot*&4nCDR4KB^rud}QArc+n? zGTRXzG?SK|#{Dxj3YW?OTzLe&?Z|TkANfIl|H0G$O5TQsfn}WNLAE};8OUKIz)u3z zw5Fof+}P)b|@TXGcpA=bMZ)U!o^~|h+ zdxo$f)}Gh4AOEPk)Ya0(lbN;cIX1vsfI1F#z8^B73r6jB+<>M5f?*iGis6Bm06Y3r zH%Ko5t`}IF2gWqtzkNMJNenzNln$28iRTOq-6DA!g&kQ0x8)aWL{jH2tsU3O+AJM` zo7E>@Z|=Aqg$L91=i|Dett%Cw;s#;Ima$tp0>-4RmGe03d?_I8#mxA;n$ti@ev80J zR+=~Qn$klscZo2QRrd1cFwqO0BWB}m1kJoT*_U)p!13tgz6_n?A0pdxCfn1!y*KM> zC`QG9rZ5dpPA6B)RExql&+rGFj3xuEn#9=ahn+9k=ecR9IV~yG(4te66&~zrZE$+c zVGEvUK?*1ti_x>YE0Tywnxd61l09pCr5lr1DOL!{zC@=b8T0b)ID@*9V!LMNQOn1k zw}8J*C7=>e33zw{$T+X#xpygMBvbucfa~d+W5+#5XhiQi7x2Kp7s%O9FWK?_(bBP( zbEU8yAD>RXX%~|-;Dt6GY{qk5i6tZLI43&A5pX;N(O4Ug+<7&aEOHi@^$WJ9@Fk3n t4nFAlpNL9-<>Yu?e!!$ZlO`$(_yt+*y|}}I0ptJx002ovPDHLkV1f}lA&US2 literal 0 HcmV?d00001 diff --git a/assets/pics/hot.png b/assets/pics/hot.png new file mode 100644 index 0000000000000000000000000000000000000000..17fd66c07fbbf546e4794baf7df8802ac60c3635 GIT binary patch literal 1840 zcmV-02haG4P)A6660WL#&*Q|#Hr|B9W*i6Gi9^_g4I8{H z$!K0)gOwNCZ(L6G(`S z?TO=`c*gU(i?92=u_qzpWK7^dNj?4Mb$8X*UsYH24AEaugwCNbodemhTAm_DO=75R zsNkL*K2C$QNQr3iQrV0aTWLq4)GZOQEz+x$0*cYf^e0JhQ}2bez3)n+qcN2eCZ_=K zaE~O{Y&Io2J@`|fe+0(+&p^|-U69 zkU;e%tIWL@U2Z0h8!Ar=*#v9>kh1{hzdz6;lmFjjMyfZl4K93T1y3ncY15_V_?8Xk zqgqDlLfNxC+S*ZetIivz=0+tON2I(GXpRug0@V*W=81#`XG#cb$OWy`>tbr%cuZr^ zC_gr^DbLauC94PNcgUQZ`nMY0nHSZR5$C$d>Wie>N)9el+7?{aSDD|{C$F{r+xYp( zYs=U!*>;l48fdZdkJa*Y?*{qqSj5ROL)NBolh_U_>rPVFLP?p)jznzl>6SwS{c>Q# zdinm{b{+>S)?y4UwqqFIxL)=TtdqBE**ZIy3AH)q{+7fAx*Vd3n~@4*#Fd7XLmi=c)o%rBc z1p}KfG76JnGy1Opun+aElZ1Dt zp$A-1siamc7i!q89YcR>(d%bKw*T)3Bx0t>RR(-P=z!{62yqVKc>>R~nd>^xR^s_n z^qmxO8)ogE*PF#v%}}X1pbkmTg_sn*imW_AK9GHhSGw*7q-IIk8ArPv0B%D+mMuo2 z!kaWDfD3*SZF_ioMybh=KTzN}380JMVH5_|<6AsQ^z*k$7cB>Km=PPM!J`_?-FTr; z%Mh~9Y}iOpOcYQ#JX|- z;^shPYk6TjwE=lEn!3!-F(DE9-shf4G?mI&+H#Shfh|nin+;u!c66(6)|ZFdhf@o9-8BWD>`^#h88+y3MH22PfO|| zVMj|Mf96kfQhdpXF^-Ixlqzl&&&L#ilnq;~Myl1Zx&bxB)Rr*&amzNiPcojRit&>f zb_nc$ZbZRB9DVRH2UmGM0PDT;nV-B=c<5_;F)dK-Yq^XM9MQW+ez61hb&L7vc zG`>W5B{ox9-F$SRFCnECZFu&1j6?65@pg476zp7PqpoVNLj~Gvh4$`i<75KId|H@Y znhPYD@eZBK4wNRsij)04PSST^mZy9X6Dl`Erw4Ho6K5C?wC3~j+(^QY7O%(6wF8lX z;>x#N1vYH;hTxn=ragNs6{eZqfQOf1N-M61uNzq&>+^>XyT_=8tEvqyBw=AZV0$IlP$;f^68pxmwksz_03Nlv1X5xZ-oGV2V9v7UcF!k-77 zE6nYUOZ6>XKygFNli%;RtyQlUbQ7I2@oXjh9?!8o(B$N0urX6T$n$lIqcmMq%UOZ> eqs7o)L4F0sMxX08W2(ad0000GZx^prwfgF}}M_)$E)e-c@Ne7+Lbh?3y^w370~qErUA%=FyEc^juC zGcd?>dAc};R4~51donjVT*Beua)(rnDdw*ZYC5u}tWfrp^nB%!^gh(-PP5sy3+;=Z zH#92rUzg$kS=->)P-C{&=0|1wuzTI41`TXn?ObioL;Cgx2Ppo}cRA|e{a3DiG?rxmVYJ-VDt)6gIQI)-K zwyoVYjftUwfA!m1Bap17`NY^=yDP0388+<7KOgVoss?i9+`fB_+zbq}4Q?$3^TDnL zJL~=2r~qqw9)^Zx7vI&?&2Q)gx%Fmo3S-0Lt?!Ec?aS=`F04JjP;e82!=+tGxqT;o zo%h$*Iub$ytI&Yg@@6E}_zfTwZUE)=}2I%Jr+t1Gbv;Ae| z8NK_$8~<;-$qkGb;YbFB_W}JMYj$nSo_9cRx|q#)R#cJJcvuf8QQF(mwT+nsYAZQAT!w6gUswyoPh^ILy6yt=0j)&}o*F1h^s z_Uy?M_ZMulsGq^WkZ{&*_Z85b$dbAD-+bM=s+@_LVS^law(F_drgLjq84}Rkz2%eC z&5PDWYYSN!EPNKn?$AOr|Doxo#pMs?>7J7Z&i3`4%P{W)&#>Y3^OA?fDdAh+T30Xv f%|x4O`_IG>um4=k>f9sXd?kaYtDnm{r-UW|M^W!K literal 0 HcmV?d00001 diff --git a/assets/pics/like_selected_bg.png b/assets/pics/like_selected_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..7a9ffa4a394a2ee600f6b20fcdd03d17255cf4c9 GIT binary patch literal 8586 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 QH2?qr07*qoM6N<$g6Yq7y8r+H literal 0 HcmV?d00001 diff --git a/assets/pics/like_unselect_bg.png b/assets/pics/like_unselect_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..3f682cdf7fd061fd6be1d946c957eaf98a31c5fa GIT binary patch literal 905 zcmeAS@N?(olHy`uVBq!ia0y~yU~~Yo^ElXmWSHZr2q48-;1OBOz#ygy!i=6lDj$G? zjKx9jP7LeL$-D$|SkfJR9T^xl_H+M9WCim1N?apKg7ec#$`gxH8Qe0{a}(!noR-YM zz|7+5;uuoF`1Y=E)@=ughKC#Px|%UQp0Kxc%DpAFk=2vGsC~L8!F035;Z9V5SMn0i zCoj(bn#b<7QC*<=v(nib4NXR%@%TVM{zSL1X-~KP(q}Z$_A6VNe40gI3IkIjr-Hz> z=_ZD&uWIF*&1N}LY9Vv!V}(zxv`Irfzs0dN8O!GWKd)^;N>&zC zvbCi03+%A+EpEznPiBFze*d-G`cO=Q!<(UT1B(C}by`NjAUZX&?(|x21%q_^qVBv# zu&UF#1_sjR=H@rQK7an)d_AkcjNaR~Z@>9f$#9p6859E3AOS%dRjFiRAnot(zqW4Q zcZO$n7pnW$vt>N~Gx7WTm$nT%`BfSY%y`4dlz5Yw<=LC+yp8<~&*~obvlvWRq*3?m zns}x|YUICv|G)nITg&v~RNemi&%Zd-nF#>i@@*SJ@son>M-O=c;f2&*wGnUv_5B zeN|nrRjP4@tLOaLAb6a|qn zi@0+Uj6<#geLvY~M`Nw9S|PyJCK0qfr`O4YL=MLE%c-WfF4YO^0|O=}ia0y_L~0^d zZh=Svh|qmG2WiVq@XH|WD3_mO`H0EODLjyKwnfS%KhfsVl11!3@X}S56C7+nQh6_bJ&@uo@Q5sCU=ULUVMfm&l@CBc z#^NA%Cx&(BWL^R}Ea{HEjtmSN`?>!lvI6;hC9V-A!TD(=<%vb93~rg}xry^OPD^HB zV7}(*;uuoF`1bC`UM5Eo)`K@Mw>36!d^lmxV57v~A~&bC@Sb1w_EnqG|6D8nXQU?E zxBNTJR{BF#^;BigxZhk)_!v^)~uPdMJbmd}LAOv*q#0g9c9W5dZ4k}9+ z7?c!Q83Z^r85%r17#UogxEK_o?w(_2_>rA09|@FR^fWpq?>Qqw&gZ=+(z>biE(XjaS+)D;oj%jPD}j;Wk9hR&6H4fL q2YW=WRi3rim6>6KImnC`;M3m(bDj$UQ$)zs^BDju zfR`sJasB*Uui#op)A1}x_)Ag5w%VyICWp=cITLhd!MRNF?iJ?UTh1rZB> z45FM1k^Kg!DmWpkpU(U7R=vxK!m;t>oQm*|7wuzgv^4pbBg^J}L|riU={u1{lai<2 zx|H31A|EnB{g#y0zHcnJf!RFZh`(``L!@RYRHWJL7}*b-3O|kQ6x%gzI~2B;&5ZL~ z$_*Tgj)+~Gzj?BG^hVe_dnC#g?ayjGaJOQJBOf%Zq4Tk4!zk+ zR|!{umbbk^O+$oJS6*%kxDZs32hXvMQV%*mwZ0_wI^QlW*~6*Ysmb`QBOBihPVhhIKxXRxtqHh{Y#NEl7gsvAvq$`81EGJcdYtB>qRy|~lKhhJpy)EsI z>}D!@dGti8CfP&yia6ey9XajGluwEf2}TnE(I) literal 0 HcmV?d00001 diff --git a/assets/pics/star.png b/assets/pics/star.png new file mode 100644 index 0000000000000000000000000000000000000000..7f88a30637b74d70c06245470de7895ff51d5d87 GIT binary patch literal 527 zcmV+q0`UEbP)`Q@Vr^?C(?nky!!R|#A~pdZ0z(V%ry z341#3H1>L{4vTzXoBODIsE?j~Mj9}j2b2QKgu+=;O(C|?E#CuENqKFmG`|Q5Xy@F4 zq9+uK^A{+}_xV@inZmo&q4s3R@Dct)N{{H^zHf%KiWRn^8*C~AZBK`*M_T_*KSTjs z*Yw=SucR+%e>z@|P%Xu{Lb)-dJ-K?qieY>6ORSmV&UGBDw&22^xRdy^1O*5dwGCx~FHqc%VPQ=o7}YBmmU zpzC^0?s;=Y`$c(Kt9o91tGGCTa_Bfuwm|c0jAxxJ{MxZ@^SYF9v2qt#^a+qCfmVSZ RtmOaz002ovPDHLkV1k> getCategoriesList() { + return AppRequest.get(ApiStringPlay.getCategoriesList).then((value) { + SkyLog.print('vvvvv: ${value.data}'); + if (!value.isSuccess) return []; + + Map data = value.data['data']; + List? list = data['list']; + + List categoryList = []; + if (list != null) { + // id 28 不显示,删除 + categoryList = list.map((e) => SkywoodCategory.fromJson(e)).toList(); + categoryList.removeWhere((element) => element.id == 28); + } + return categoryList; + }); + } } \ No newline at end of file diff --git a/lib/main/lib_file.dart b/lib/main/lib_file.dart index 8de49a1..bae59e3 100644 --- a/lib/main/lib_file.dart +++ b/lib/main/lib_file.dart @@ -6,5 +6,6 @@ export 'package:skywood/global/const/common_string.dart'; export 'package:skywood/utils/tools/app_screen.dart'; export 'package:skywood/utils/tools/help_img.dart'; +export 'package:skywood/utils/tools/help_nav.dart'; export 'package:flutter_screenutil/flutter_screenutil.dart'; diff --git a/lib/main/main_root.dart b/lib/main/main_root.dart index 093515f..5f88205 100644 --- a/lib/main/main_root.dart +++ b/lib/main/main_root.dart @@ -3,7 +3,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:skywood/pages/home/home_page.dart'; import 'package:skywood/pages/like/like_page.dart'; import 'package:skywood/pages/mine/mine_page.dart'; -import 'package:skywood/pages/search/search_page.dart'; +import 'package:skywood/pages/search/page/search_page.dart'; import 'package:skywood/utils/tools/help_img.dart'; class MainRoot extends StatefulWidget { diff --git a/lib/pages/home/home_page.dart b/lib/pages/home/home_page.dart index 882e4a7..ab8ada1 100644 --- a/lib/pages/home/home_page.dart +++ b/lib/pages/home/home_page.dart @@ -1,9 +1,14 @@ import 'package:flutter/material.dart'; import 'package:skywood/global/client/play_client.dart'; import 'package:skywood/global/client/user_client.dart'; +import 'package:skywood/global/tool/sky_log.dart'; import 'package:skywood/main/lib_file.dart'; import 'package:skywood/pages/home/widgets/daily_quest_widget.dart'; +import 'package:skywood/pages/home/widgets/home_cate_widget.dart'; +import 'package:skywood/pages/home/widgets/hot_cartridge_widget.dart'; +import 'package:skywood/pages/home/widgets/rank_list_widget.dart'; import 'package:skywood/pages/widgets/common_bg_page.dart'; +import 'package:skywood/utils/models/drama/skywood_category.dart'; import 'package:skywood/utils/models/drama/skywood_home.dart'; class HomePage extends StatefulWidget { @@ -18,22 +23,19 @@ class HomePage extends StatefulWidget { class _MainRootState extends State { List _homeData = []; + List _categories = []; @override void initState() { super.initState(); - _getHomeData(); + // _getHomeData(); + // _getDramaCate(); } void _getHomeData() { - // home_v3_recommand - // new_recommand - // week_ranking - // week_highest_recommend - // marquee - // home_banner - // get_details_recommand + // 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}'); @@ -44,6 +46,15 @@ class _MainRootState extends State { }); } + void _getDramaCate() { + PlayClient.getCategoriesList().then((value) { + print('cateeeee: ${value.length}'); + setState(() { + _categories = value; + }); + }); + } + @override Widget build(BuildContext context) { @@ -67,11 +78,31 @@ class _MainRootState extends State { ), _buildSpace(height: 10), _buildTitleImg(ConstImg.homeTitleHot), - _buildSpace(height: 300), + _buildSpace(), + SliverPadding( + padding: EdgeInsets.symmetric(horizontal: 15.w), + sliver: HotCartridgeWidget( + dramaList: _homeData.firstWhere((element) => element.moduleKey == 'new_recommand').dataList, + ), + ), + _buildSpace(height: 10), _buildTitleImg(ConstImg.homeTitleWeekly), - _buildSpace(height: 300), + SliverPadding( + padding: EdgeInsets.symmetric(horizontal: 15.w), + sliver: SliverToBoxAdapter( + child: RankListWidget( + dramaList: _homeData.firstWhere((element) => element.moduleKey == 'week_ranking').dataList, + ), + ), + ), _buildTitleImg(ConstImg.homeTitleHotCate), - _buildSpace(height: 300), + SliverPadding( + padding: EdgeInsets.symmetric(horizontal: 15.w), + sliver: HomeCateWidget( + categories: _categories, + ), + ), + _buildSpace(height: 100), ], ), ), diff --git a/lib/pages/home/widgets/daily_quest_widget.dart b/lib/pages/home/widgets/daily_quest_widget.dart index b5ff244..92f000e 100644 --- a/lib/pages/home/widgets/daily_quest_widget.dart +++ b/lib/pages/home/widgets/daily_quest_widget.dart @@ -20,7 +20,8 @@ class DailyQuestWidget extends StatelessWidget { double height = 281.h; double width = 345.w; return SliverToBoxAdapter( - child: SizedBox( + child: Container( + padding: EdgeInsets.only(left: 15.w), width: width, height: height, child: Stack( @@ -66,6 +67,7 @@ class DailyQuestWidget extends StatelessWidget { ), child: HelpImg.network(drama.imageUrl, width: 300.w, height: 160.h, fit: BoxFit.cover), ), + SizedBox(height: 4.h), Row( // mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ @@ -86,7 +88,8 @@ class DailyQuestWidget extends StatelessWidget { ], ) ], - ) + ), + SizedBox(height: 3.h), ], ); } diff --git a/lib/pages/home/widgets/home_cate_widget.dart b/lib/pages/home/widgets/home_cate_widget.dart new file mode 100644 index 0000000..f6e5d67 --- /dev/null +++ b/lib/pages/home/widgets/home_cate_widget.dart @@ -0,0 +1,35 @@ +import 'package:flutter/material.dart'; +import 'package:skywood/main/lib_file.dart'; +import 'package:skywood/utils/models/drama/skywood_category.dart'; + +class HomeCateWidget extends StatelessWidget { + + const HomeCateWidget({super.key, + required this.categories, + }); + + final List categories; + + @override + Widget build(BuildContext context) { + return SliverGrid.builder( + gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 2, // 🔥 上下2行 + crossAxisSpacing: 10, // 行间距(垂直方向) + mainAxisSpacing: 10, // 列间距(水平方向) + childAspectRatio: 0.7, // 宽高比(宽度/高度) + ), itemBuilder: (context, index) { + return _buildCateItem(categories[index], index); + } + ); + } + + Widget _buildCateItem(SkywoodCategory category, int index) { + String imgName = index%3 == 0 ? ConstImg.purpleBg : (index%3 == 1 ? ConstImg.yellowBg : ConstImg.redBg); + return Stack( + children: [ + HelpImg.asset(imgName, width: 140.w, height: 131.h, fit: BoxFit.cover), + ], + ); + } +} \ No newline at end of file diff --git a/lib/pages/home/widgets/hot_cartridge_widget.dart b/lib/pages/home/widgets/hot_cartridge_widget.dart new file mode 100644 index 0000000..458b11d --- /dev/null +++ b/lib/pages/home/widgets/hot_cartridge_widget.dart @@ -0,0 +1,43 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:skywood/main/lib_file.dart'; + +import '../../../utils/models/drama/skywood_drama.dart'; + +class HotCartridgeWidget extends StatelessWidget { + + const HotCartridgeWidget({super.key, + required this.dramaList, + }); + + final List dramaList; + + @override + Widget build(BuildContext context) { + return SliverGrid.builder( + gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 3, // 每行 2 列 + crossAxisSpacing: 12, // 列间距 + mainAxisSpacing: 5, // 行间距 + childAspectRatio: 110 / 174, // 宽高比 + ), + itemBuilder: (context, index) { + return _buildItem(dramaList[index], index); + }, itemCount: dramaList.length>6 ? 6 : dramaList.length); + } + + Widget _buildItem(SkywoodDrama drama, int index) { + return Stack( + children: [ + SizedBox( + width: 110.w, height: 174.h, + ), + Positioned( + top: 1, left: 5.w, right: 5.w, + child: HelpImg.network(drama.imageUrl, width: 100.w, height: 130.h), + ), + HelpImg.asset(index<3?ConstImg.hotBg1:ConstImg.hotBg2, width: 110.w, height: 174.h) + ], + ); + } +} \ No newline at end of file diff --git a/lib/pages/home/widgets/like_num_widget.dart b/lib/pages/home/widgets/like_num_widget.dart new file mode 100644 index 0000000..173b79a --- /dev/null +++ b/lib/pages/home/widgets/like_num_widget.dart @@ -0,0 +1,33 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:skywood/global/const/common_color.dart'; + +import '../../../utils/tools/help_img.dart'; +import '../../../utils/tools/sky_time_tool.dart'; +import '../../../utils/tools/widgets/sky_common_widget.dart'; + +class LikeNumWidget extends StatelessWidget { + + const LikeNumWidget({super.key, required this.watchTotal, + this.tColor, + }); + + final int watchTotal; + final Color? tColor; + + @override + Widget build(BuildContext context) { + return 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(watchTotal), + fontSize: 12, + fontWeight: FontWeight.w400, + color: tColor ?? CommonColor.black, + ) + ], + ); + } +} \ No newline at end of file diff --git a/lib/pages/home/widgets/rank_list_widget.dart b/lib/pages/home/widgets/rank_list_widget.dart new file mode 100644 index 0000000..ead2583 --- /dev/null +++ b/lib/pages/home/widgets/rank_list_widget.dart @@ -0,0 +1,83 @@ +import 'package:flutter/material.dart'; +import 'package:skywood/main/lib_file.dart'; +import 'package:skywood/pages/home/widgets/like_num_widget.dart'; +import 'package:skywood/utils/tools/widgets/sky_common_widget.dart'; + +import '../../../utils/models/drama/skywood_drama.dart'; + +class RankListWidget extends StatelessWidget { + + const RankListWidget({super.key, + required this.dramaList, + }); + + final List dramaList; + + + @override + Widget build(BuildContext context) { + return Stack( + children: [ + HelpImg.asset(ConstImg.homeRankBg, width: 325.w, height: 481.h), + Positioned( + left: 24.5.w, right: 24.5.w, + top: 44.5.h, bottom: 34.5.h, + child: ListView.separated( + padding: EdgeInsets.only(right: 10.w), + physics: NeverScrollableScrollPhysics(), + shrinkWrap: true, + itemBuilder: (context, index) => _itemBuilder(index), + separatorBuilder: (context, index) { + return Divider( + height: 1, thickness: 0.5, + color: CommonColor.withValue('7A67C1'), + ); + }, + itemCount: dramaList.length>6 ? 6:dramaList.length, + ), + ) + ], + ); + } + + Widget _itemBuilder(int index) { + SkywoodDrama drama = dramaList[index]; + return SizedBox( + height: 65.h, width: 296.w, + child: Row( + children: [ + _rankIndex(index), + HelpImg.network(drama.imageUrl, width: 40.w, height: 52.h, fit: BoxFit.cover), + const SizedBox(width: 7), + Expanded(child: SkyText(text: drama.name, + fontSize: 13.w, + fontFamily: 'Inter', + fontWeight: FontWeight.w500, + lineHeight: 1.23, + color: CommonColor.black, + maxLines: 2, + )), + SizedBox(width: 8.w), + LikeNumWidget(watchTotal: drama.watchTotal) + ], + ), + ); + } + + Widget _rankIndex(int index) { + return SizedBox( + width: 40.w, + child: SkyText(text: formatNumber(index + 1), + fontSize: 15, + color: CommonColor.black, + fontFamily: 'Anton', + fontWeight: FontWeight.bold, + lineHeight: 1, + ), + ); + } + + String formatNumber(int number) { + return number.toString().padLeft(2, '0'); + } +} \ No newline at end of file diff --git a/lib/pages/like/like_page.dart b/lib/pages/like/like_page.dart index 1e1bd5b..5bffa5f 100644 --- a/lib/pages/like/like_page.dart +++ b/lib/pages/like/like_page.dart @@ -1,6 +1,11 @@ import 'package:flutter/material.dart'; import 'package:skywood/main/lib_file.dart'; +import 'package:skywood/pages/like/pages/collection_page.dart'; +import 'package:skywood/pages/like/pages/play_log_page.dart'; +import 'package:skywood/pages/like/widget/like_header.dart'; +import 'package:skywood/pages/widgets/common_bg_page.dart'; import 'package:skywood/pages/widgets/pixel_widgets.dart'; +import 'package:skywood/utils/extend/app_keep_alive.dart'; class LikePage extends StatefulWidget { const LikePage({super.key}); @@ -13,6 +18,7 @@ class LikePage extends StatefulWidget { class _MainRootState extends State { int _tabIndex = 0; + final _pageController = PageController(initialPage: 0); final List _collectionTitles = const [ 'Undercover Play', @@ -25,32 +31,44 @@ class _MainRootState extends State { @override Widget build(BuildContext context) { - return Scaffold( - body: PixelPageBackground( - child: SafeArea( + return CommonBgPage( + 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(), - ), + padding: EdgeInsets.only(left: 15.w, right: 15.w, top: 20.h, bottom: 10.h+50.h), + child: Stack( + children: [ + HelpImg.asset(ConstImg.likeBg, width: AppScreen.screenWidth - 30.w, height: 700.h, + fit: BoxFit.fill, + ), + Padding( + padding: EdgeInsets.symmetric(horizontal: 10.w, vertical: 10.h), + child: Column( + children: [ + Padding( + padding: const EdgeInsets.only(left: 10, top: 10), + child: LikeHeader( + onSelectedIndex: (index) { + _pageController.jumpToPage(index); + }, + ), + ), + // 主页面 + Expanded( + child: PageView( + controller: _pageController, + children: [ + AppKeepAlive(child: CollectionPage()), + AppKeepAlive(child: PlayLogPage()) + ], + ), + ) + ], ), - ], - ), + ), + ], ), - ), - ), - ), + )), ); } diff --git a/lib/pages/like/pages/collection_page.dart b/lib/pages/like/pages/collection_page.dart new file mode 100644 index 0000000..216dc26 --- /dev/null +++ b/lib/pages/like/pages/collection_page.dart @@ -0,0 +1,41 @@ +import 'package:flutter/material.dart'; +import 'package:skywood/main/lib_file.dart'; + +class CollectionPage extends StatefulWidget { + + const CollectionPage({super.key}); + + @override + State createState() { + return _CollectionPageState(); + } +} + +class _CollectionPageState extends State { + + @override + Widget build(BuildContext context) { + return GridView.builder( + padding: EdgeInsets.symmetric(horizontal: 5.w, vertical: 10.h), + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 3, + mainAxisSpacing: 4, + crossAxisSpacing: 10, + childAspectRatio: 100 / 174.0 + ), + itemBuilder: (context, index) { + return _buildItem(index); + }, + itemCount: 5, + ); + } + + Widget _buildItem(int index) { + return Stack( + children: [ + HelpImg.asset(ConstImg.collectionBg, width: 100.w, height: 174.w, fit: BoxFit.fill,), + + ], + ); + } +} \ No newline at end of file diff --git a/lib/pages/like/pages/play_log_page.dart b/lib/pages/like/pages/play_log_page.dart new file mode 100644 index 0000000..5a1174a --- /dev/null +++ b/lib/pages/like/pages/play_log_page.dart @@ -0,0 +1,92 @@ +import 'package:flutter/material.dart'; +import 'package:skywood/main/lib_file.dart'; +import 'package:skywood/utils/tools/widgets/sky_common_widget.dart'; + +class PlayLogPage extends StatefulWidget { + + const PlayLogPage({super.key}); + + @override + State createState() { + return _CollectionPageState(); + } +} + +class _CollectionPageState extends State { + + @override + Widget build(BuildContext context) { + return ListView.separated( + padding: const EdgeInsets.only(top: 20, left: 12, right: 12), + itemCount: 5, + itemBuilder: (context, index) { + return index == 0 ? _buildFirstItem() : _buildNormalItem(); + }, + separatorBuilder: (context, index) { + return SizedBox(height: 5); + } + ); + } + + Widget _buildNormalItem() { + return Stack( + children: [ + HelpImg.asset(ConstImg.playlogBg, width: double.infinity, height: 90, fit: BoxFit.fill), + _ProgressLine(value: 0.2) + ], + ); + } + + Widget _buildFirstItem() { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + HelpImg.asset(ConstImg.playlogBg, width: double.infinity, height: 140, fit: BoxFit.fill), + const SizedBox(height: 20), + SkyText(text: 'Watch History', + color: CommonColor.black, + fontSize: 16, + fontWeight: FontWeight.bold, + ) + ], + ); + } + +} + + +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('${(value * 100.0).toInt()}%', style: TextStyle(fontSize: 10.sp, height: 1)), + ], + ); + } +} \ No newline at end of file diff --git a/lib/pages/like/widget/like_header.dart b/lib/pages/like/widget/like_header.dart new file mode 100644 index 0000000..43f4bb3 --- /dev/null +++ b/lib/pages/like/widget/like_header.dart @@ -0,0 +1,79 @@ +import 'package:flutter/material.dart'; +import 'package:skywood/main/lib_file.dart'; +import 'package:skywood/utils/tools/widgets/sky_common_widget.dart'; + +class LikeHeader extends StatefulWidget { + + const LikeHeader({super.key, + required this.onSelectedIndex, + }); + + final Function(int) onSelectedIndex; + + @override + State createState() { + return _LikeHeaderState(); + } +} + +class _LikeHeaderState extends State { + + int _selectedIndex = 0; + + @override + Widget build(BuildContext context) { + return SizedBox( + height: 55, + child: Row( + children: [ + _buildCollectionBg(0, 'My collection'), + _buildCollectionBg(1, 'Play Log'), + ], + ), + ); + } + + + // shadows: [Shadow(offset: Offset(1, 1), blurRadius: 0, color: Color(0xFF040408).withOpacity(1.00))], + Widget _buildCollectionBg(int index, String title) { + String img = index == _selectedIndex ? ConstImg.likeSelectedBg : ConstImg.likeUnselectBg; + return SizedBox( + width: 155.w, height: 55, + child: Stack( + children: [ + HelpImg.asset(img, width: 155.w, height: 55, fit: BoxFit.fill), + Positioned( + right: 22, bottom: 12, left: 28, + child: SkyText(text: title, + fontSize: 14, + fontWeight: FontWeight.w800, + color: index == _selectedIndex ? Colors.white : CommonColor.withValue('B1B1B1'), + shadow: index == _selectedIndex + ? Shadow(offset: Offset(1, 1), blurRadius: 0, color: Color(0xFF040408).withOpacity(1.00)) + : null, + textAlign: TextAlign.center, + ), + ) + ], + ), + ).addInkWell(onTap: () { + if (_selectedIndex == index) return; + setState(() { + _selectedIndex = index; + }); + widget.onSelectedIndex(index); + },); + } + + _buildLogBg() { + return Container( + width: 160.w, height: 55, + child: HelpImg.asset(ConstImg.playlogBg, fit: BoxFit.fill), + ).addInkWell(onTap: () { + if (_selectedIndex == 1) return; + setState(() { + _selectedIndex = 1; + }); + },); + } +} \ No newline at end of file diff --git a/lib/pages/search/page/result_page.dart b/lib/pages/search/page/result_page.dart new file mode 100644 index 0000000..d4993c8 --- /dev/null +++ b/lib/pages/search/page/result_page.dart @@ -0,0 +1,155 @@ +import 'package:flutter/material.dart'; +import 'package:skywood/main/lib_file.dart'; +import 'package:skywood/pages/widgets/pixel_widgets.dart'; +import 'package:skywood/utils/tools/widgets/sky_app_bar.dart'; +import 'package:skywood/utils/tools/widgets/sky_common_widget.dart'; + +import '../../../utils/tools/widgets/sky_text_field.dart'; + +class ResultPage extends StatefulWidget { + + const ResultPage({super.key, + required this.keyword, + }); + + final String keyword; + + @override + State createState() { + return _ResultPageState(); + } +} + +class _ResultPageState extends State { + + List _searchHistory = []; + final _searchController = TextEditingController(); + final _searchFocus = FocusNode(); + + @override + void initState() { + super.initState(); + + _searchController.text = widget.keyword; + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: SkyAppBar( + + titleWidget: SkyTextField( + controller: _searchController, + focusNode: _searchFocus, + border: Border.all(width: 0.6, color: CommonColor.black), + borderRadius: BorderRadius.circular(20), + width: 300, height: 36, + placeholder: 'Search', + prefix: HelpImg.asset(ConstImg.search, width: 14.w, height: 14.w), + textInputAction: TextInputAction.search, + onEditingComplete: () { + print('object'); + _searchFocus.unfocus(); + if (_searchController.text.trim().isEmpty) return; + // _onGoSearch(_searchController.text); + }, + ), + ), + body: ListView.separated( + itemBuilder: (context, index) => ResultItemView(), + separatorBuilder: (context, index) => SizedBox(height: 12), + itemCount: 2 + ), + ); + } +} + +class ResultItemView extends StatelessWidget { + + const ResultItemView({super.key}); + + @override + Widget build(BuildContext context) { + return Container( + height: 140.h, + padding: const EdgeInsets.symmetric(horizontal: 15), + child: Row( + children: [ + PosterImage(width: 105.w, height: 140.h), + const SizedBox(width: 10), + Expanded(child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SkyText(text: 'Love in the City of Twilight', + fontSize: 14, + fontWeight: FontWeight.bold, + color: CommonColor.black, + ), + const SizedBox(height: 12), + _tagView(), + const SizedBox(height: 12), + SkyText(text: 'Haunted by fading memories, a man navigates a labyrinth of dreams and reality ds dsajkj', + fontSize: 11, + color: CommonColor.withValue('4D4047'), + maxLines: 2, + ), + Spacer(), + Row( + children: [ + _tipView(true, text: '10.0'), + const SizedBox(width: 15), + _tipView(false, text: '10.2k'), + ], + ) + ], + )) + ], + ), + ); + } + + Widget _tipView(bool isStar, {required String text}) { + String imgName = isStar ? ConstImg.star : ConstImg.look; + return Row( + children: [ + HelpImg.asset(imgName, width: 12.w, height: 12.w), + const SizedBox(width: 2), + SkyText(text: text, fontSize: 10, color: Colors.grey) + ], + ); + } + + Widget _tagView() { + return Container( + padding: const EdgeInsets.only(top: 3, left: 6, right: 6, bottom: 4), + decoration: ShapeDecoration( + color: const Color(0xFFEBFFE5), + shape: RoundedRectangleBorder( + side: BorderSide( + width: 0.50, + color: const Color(0xFF9BE89C), + ), + borderRadius: BorderRadius.circular(1), + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + spacing: 10, + children: [ + Text( + 'Satisfying', + style: TextStyle( + color: const Color(0xFF040408) /* 主题黑 */, + fontSize: 10, + fontFamily: 'Inter', + fontWeight: FontWeight.w400, + height: 1, + ), + ), + ], + ), + ); + } +} \ No newline at end of file diff --git a/lib/pages/search/page/search_page.dart b/lib/pages/search/page/search_page.dart new file mode 100644 index 0000000..bfea2dd --- /dev/null +++ b/lib/pages/search/page/search_page.dart @@ -0,0 +1,209 @@ +import 'package:flutter/material.dart'; +import 'package:skywood/main/lib_file.dart'; +import 'package:skywood/pages/search/page/result_page.dart'; +import 'package:skywood/pages/search/widget/search_util.dart'; +import 'package:skywood/pages/search/widget/search_view.dart'; +import 'package:skywood/pages/widgets/pixel_widgets.dart'; +import 'package:skywood/utils/tools/help_nav.dart'; +import 'package:skywood/utils/tools/widgets/sky_app_bar.dart'; +import 'package:skywood/utils/tools/widgets/sky_text_field.dart'; + +class SearchPage extends StatefulWidget { + const SearchPage({super.key}); + + @override + State createState() { + return _MainRootState(); + } +} + +class _MainRootState extends State { + + List _searchHistory = []; + final _searchController = TextEditingController(); + final _searchFocus = FocusNode(); + + 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', + ]; + + Future _loadSearchHistory() async { + final list = await SearchUtil.getSearchList(); + if (!mounted) return; + setState(() { + _searchHistory = list; + }); + } + + Future _onGoSearch(String keyword, {bool isTapKey = false}) async { + if (isTapKey == true) { + + } else { + await SearchUtil.addSearch(keyword); + await _loadSearchHistory(); + } + HelpNav.to(ResultPage( + keyword: keyword, + )); + // 发起 搜索 + + } + + @override + void initState() { + super.initState(); + + _loadSearchHistory(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: SkyAppBar( + showBackButton: false, + titleWidget: SkyTextField( + controller: _searchController, + focusNode: _searchFocus, + border: Border.all(width: 0.6, color: CommonColor.black), + borderRadius: BorderRadius.circular(20), + width: 300, height: 36, + placeholder: 'Search', + prefix: HelpImg.asset(ConstImg.search, width: 14.w, height: 14.w), + textInputAction: TextInputAction.search, + onEditingComplete: () { + print('object'); + _searchFocus.unfocus(); + if (_searchController.text.trim().isEmpty) return; + _onGoSearch(_searchController.text); + }, + ), + ), + body: CustomScrollView( + slivers: [ + 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: 20.h)), + ], + ), + ); + } + + + Widget _buildHistory() { + return SearchView( + searchHistory: _searchHistory, + onTapClear: () { + _searchHistory.clear(); + setState(() {}); + }, + onTapHistory: (value) { + print('object: $value'); + HelpNav.to(ResultPage(keyword: value)); + }, + ); + } + + 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.bold, + height: 1.2, + ), + ), + Row( + children: [ + HelpImg.asset(ConstImg.hot, width: 15.w, height: 15.w), + SizedBox(width: 2.w), + Text( + '17.3K', + style: TextStyle( + color: const Color(0x80000000), + fontSize: 13.w, + height: 1, + ), + ), + ], + ), + ], + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/pages/search/search_page.dart b/lib/pages/search/search_page.dart deleted file mode 100644 index af6f9f9..0000000 --- a/lib/pages/search/search_page.dart +++ /dev/null @@ -1,234 +0,0 @@ -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 - State createState() { - return _MainRootState(); - } -} - -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)), - ], - ), - ), - ); - } - - 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/search/widget/search_util.dart b/lib/pages/search/widget/search_util.dart new file mode 100644 index 0000000..20b9b09 --- /dev/null +++ b/lib/pages/search/widget/search_util.dart @@ -0,0 +1,63 @@ +import 'dart:convert'; + +import 'package:shared_preferences/shared_preferences.dart'; +import '../../../utils/tools/app_sp.dart'; + +/// 本地搜索历史(SharedPreferences),key 与 [AppSp] 规则一致(`.search.history`)。 +class SearchUtil { + SearchUtil._(); + + static const String _storageKey = 'sky.search.history'; + static const int _maxHistory = 20; + + static Future> _readList(SharedPreferences prefs) async { + final raw = prefs.getString(_storageKey); + if (raw == null || raw.isEmpty) return []; + try { + final decoded = jsonDecode(raw); + if (decoded is! List) return []; + return decoded.map((e) => e.toString()).where((s) => s.isNotEmpty).toList(); + } catch (_) { + return []; + } + } + + static Future _writeList(SharedPreferences prefs, List list) async { + await prefs.setString(_storageKey, jsonEncode(list)); + } + + /// 查询搜索历史列表(新记录在前)。 + static Future> getSearchList() async { + final prefs = await AppSp.getInstance(); + return _readList(prefs); + } + + /// 添加一条搜索;去重、去空白,并移到最前。 + static Future addSearch(String keyword) async { + final q = keyword.trim(); + if (q.isEmpty) return; + + final prefs = await AppSp.getInstance(); + final list = await _readList(prefs); + list.removeWhere((e) => e == q); + list.insert(0, q); + if (list.length > _maxHistory) { + list.removeRange(_maxHistory, list.length); + } + await _writeList(prefs, list); + } + + /// 删除单条搜索记录。 + static Future deleteSearch(String keyword) async { + final prefs = await AppSp.getInstance(); + final list = await _readList(prefs); + list.removeWhere((e) => e == keyword); + await _writeList(prefs, list); + } + + /// 清空全部搜索历史。 + static Future clearAllSearch() async { + final prefs = await AppSp.getInstance(); + await prefs.remove(_storageKey); + } +} diff --git a/lib/pages/search/widget/search_view.dart b/lib/pages/search/widget/search_view.dart new file mode 100644 index 0000000..c18f888 --- /dev/null +++ b/lib/pages/search/widget/search_view.dart @@ -0,0 +1,89 @@ + +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:skywood/global/const/common_color.dart'; +import 'package:skywood/main/lib_file.dart'; +import 'package:skywood/utils/tools/widgets/sky_common_widget.dart'; + +class SearchView extends StatelessWidget { + const SearchView({super.key, + required this.searchHistory, + this.onTapHistory, + this.onTapClear, + }); + + final List searchHistory; + final ValueChanged? onTapHistory; + final Function()? onTapClear; + + @override + Widget build(BuildContext context) { + return Container( + padding: EdgeInsets.symmetric(horizontal: 15.w), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Expanded(child: SkyText(text: 'Search History', + fontSize: 14, + color: CommonColor.black, + fontWeight: FontWeight.bold, + lineHeight: 1, + )), + IconButton(onPressed: () { + onTapClear?.call(); + }, icon: HelpImg.asset(ConstImg.delete, width: 16.w, height: 16.w)), + ], + ), + Wrap( + spacing: 16.w, + runSpacing: 14.h, + children: searchHistory + .map( + (item) => _HistoryChip( + text: item, + onTap: () => onTapHistory?.call(item), + ), + ) + .toList(), + ), + ], + ), + ); + } +} + + +class _HistoryChip extends StatelessWidget { + const _HistoryChip({ + required this.text, + this.onTap, + }); + + final String text; + final VoidCallback? onTap; + + @override + Widget build(BuildContext context) { + return InkWell( + onTap: onTap, + child: Container( + padding: EdgeInsets.symmetric(horizontal: 12.w, vertical: 8.h), + decoration: BoxDecoration( + color: const Color(0x0D000000), + borderRadius: BorderRadius.circular(20.r), + ), + child: Text( + text, + style: TextStyle( + color: const Color(0x80000000), + fontSize: 12.sp, + fontWeight: FontWeight.w500, + height: 1, + ), + ), + ), + ); + } +} \ No newline at end of file diff --git a/lib/utils/tools/help_img.dart b/lib/utils/tools/help_img.dart index 8936843..37f36b5 100644 --- a/lib/utils/tools/help_img.dart +++ b/lib/utils/tools/help_img.dart @@ -32,7 +32,33 @@ class ConstImg { // splash_page static const String splashPage = "assets/imgs/splash_page.png"; // heart - static const String heart = "assets/images/heart.png"; + static const String heart = "assets/imgs/heart.png"; + // hot_bg1 + static const String hotBg1 = "assets/imgs/hot_bg1.png"; + static const String hotBg2 = "assets/imgs/hot_bg2.png"; + // home_rank_bg + static const String homeRankBg = "assets/imgs/home_rank_bg.png"; + // yellow_bg purple red + static const String yellowBg = "assets/imgs/yellow_bg.png"; + static const String purpleBg = "assets/imgs/purple_bg.png"; + static const String redBg = "assets/imgs/red_bg.png"; + + /// pics + static const String delete = "assets/pics/delete.png"; + static const String back = "assets/pics/back.png"; + static const String search = "assets/pics/search_icon.png"; + static const String hot = "assets/pics/hot.png"; + static const String star = "assets/pics/star.png"; + static const String look = "assets/pics/look.png"; + // bgs + static const String likeBg = "assets/pics/like_bg.png"; + static const String collectionBg = "assets/pics/collection_bg.png"; + static const String playlogBg = "assets/pics/playlog_bg.png"; + // like_selected_bg + static const String likeSelectedBg = "assets/pics/like_selected_bg.png"; + static const String likeUnselectBg = "assets/pics/like_unselect_bg.png"; + static const String continueWatch = "assets/pics/continue_watch.png"; + // nodata static const String noData = "assets/images/nodata.png"; diff --git a/lib/utils/tools/sky_time_tool.dart b/lib/utils/tools/sky_time_tool.dart index a93e7e5..26edb65 100644 --- a/lib/utils/tools/sky_time_tool.dart +++ b/lib/utils/tools/sky_time_tool.dart @@ -43,11 +43,11 @@ class SkyTimeTool { if (value < 1000) { return addSeparator(value.toStringAsFixed(0)); } else if (value < 1000000) { - final formatted = (value / 1000).toStringAsFixed(decimalDigits); - return '${removeTrailingZeros(formatted)}K'; + final formatted = (value / 10000).toStringAsFixed(decimalDigits); + return '${removeTrailingZeros(formatted)}w'; } else { final formatted = (value / 1000000).toStringAsFixed(decimalDigits); - return '${removeTrailingZeros(formatted)}M'; + return '${removeTrailingZeros(formatted)}m'; } } } \ No newline at end of file diff --git a/lib/utils/tools/widgets/sky_app_bar.dart b/lib/utils/tools/widgets/sky_app_bar.dart new file mode 100644 index 0000000..8b422e6 --- /dev/null +++ b/lib/utils/tools/widgets/sky_app_bar.dart @@ -0,0 +1,76 @@ +import 'package:flutter/material.dart'; +import 'package:skywood/main/lib_file.dart'; +import 'package:skywood/utils/tools/widgets/sky_common_widget.dart'; + +import '../help_nav.dart'; + + +class SkyAppBar extends StatelessWidget implements PreferredSizeWidget { + const SkyAppBar({ + super.key, + this.title, + this.titleWidget, + this.leading, + this.actions, + this.onBack, + this.showBackButton = true, + this.centerTitle = true, + this.backgroundColor = Colors.white, + this.foregroundColor, + this.elevation = 0, + this.bottom, + this.toolbarHeight = kToolbarHeight, + }); + + final String? title; + final Widget? titleWidget; + final Widget? leading; + final List? actions; + final VoidCallback? onBack; + final bool showBackButton; + final bool centerTitle; + final Color? backgroundColor; + final Color? foregroundColor; + final double elevation; + final PreferredSizeWidget? bottom; + final double toolbarHeight; + + @override + Size get preferredSize => + Size.fromHeight(toolbarHeight + (bottom?.preferredSize.height ?? 0)); + + @override + Widget build(BuildContext context) { + + return _buildNormalAppBar(context); + } + + PreferredSizeWidget _buildNormalAppBar(BuildContext context) { + + final canPop = Navigator.of(context).canPop(); + + Widget? resolvedLeading = leading; + if (resolvedLeading == null && showBackButton && canPop) { + resolvedLeading = IconButton( + icon: HelpImg.asset(ConstImg.back, width: 32), + onPressed: onBack ?? () => HelpNav.back(), + ); + } + + return AppBar( + title: titleWidget ?? (title != null + ? SkyText(text: title!, fontSize: 18, fontWeight: FontWeight.bold) + : null), + leading: resolvedLeading, + actions: actions, + centerTitle: centerTitle, + backgroundColor: backgroundColor, + foregroundColor: foregroundColor, + elevation: elevation, + scrolledUnderElevation: 0, + toolbarHeight: toolbarHeight, + ); + } + + +} diff --git a/lib/utils/tools/widgets/sky_text_field.dart b/lib/utils/tools/widgets/sky_text_field.dart new file mode 100644 index 0000000..d43e8e5 --- /dev/null +++ b/lib/utils/tools/widgets/sky_text_field.dart @@ -0,0 +1,131 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; + +import '../../../global/const/common_color.dart'; + +class SkyTextField extends StatefulWidget { + + const SkyTextField({ + super.key, + this.controller, + this.focusNode, + this.borderRadius = const BorderRadius.all(Radius.circular(7)), + this.padding = const EdgeInsets.only(left: 10, right: 10, top: 2, bottom: 2), + this.placeholder, + this.clearButtonMode = OverlayVisibilityMode.never, + this.prefix, + this.suffix, + this.keyboardType, + this.fontSize, + this.maxLines = 1, + this.maxLength, + this.onChanged, + this.inputFormatters, + this.height = 40.0, + this.width, + this.obscureText = false, + this.bgColor, + this.textInputAction, + this.onSubmitted, + this.onTap, + this.readOnly, + this.border, + this.onEditingComplete, + this.textColor, + this.showBottomBorder, + }); + + final Function()? onEditingComplete; + final Color? textColor; + final double? width; + final bool? readOnly; + final GestureTapCallback? onTap; + final ValueChanged? onSubmitted; + final TextInputAction? textInputAction; + final TextEditingController? controller; + final FocusNode? focusNode; + + final BorderRadius borderRadius; + final Border? border; + final EdgeInsetsGeometry padding; + final String? placeholder; + // final Color? placeholderColor; + final OverlayVisibilityMode clearButtonMode; + final Widget? prefix; + final Widget? suffix; + final TextInputType? keyboardType; + final double? fontSize; + final int? maxLines; + final int? maxLength; + final ValueChanged? onChanged; + final List? inputFormatters; + final double? height; + final bool obscureText; + final Color? bgColor; + final bool? showBottomBorder; + + @override + State createState() { + return _ComTextFieldState(); + } +} + +class _ComTextFieldState extends State { + + + @override + Widget build(BuildContext context) { + + + return Container( + height: widget.height, width: widget.width, + decoration: BoxDecoration( + color: widget.bgColor ?? Colors.white, + borderRadius: widget.borderRadius, + border: widget.border + ), + padding: widget.padding, + child: Row( + children: [ + Expanded( + child: CupertinoTextField( + controller: widget.controller, + readOnly: widget.readOnly ?? false, + focusNode: widget.focusNode, + decoration: widget.showBottomBorder==true ? BoxDecoration( + border: Border( + bottom: BorderSide( + color: Colors.grey.shade400, + width: 0.5, + ), + ), + ) : BoxDecoration(), + placeholder: widget.placeholder, + placeholderStyle: TextStyle( + fontSize: widget.fontSize ?? 14, + color: CommonColor.withValue('#707488'), + ), + style: TextStyle( + fontSize: widget.fontSize ?? 14, + color: widget.textColor ?? Colors.black, + ), + prefix: widget.prefix, + clearButtonMode: widget.clearButtonMode, + keyboardType: widget.keyboardType, + maxLines: widget.maxLines, + maxLength: widget.maxLength, + onChanged: widget.onChanged, + inputFormatters: widget.inputFormatters, + obscureText: widget.obscureText, + textInputAction: widget.textInputAction ?? TextInputAction.done, + onSubmitted: widget.onSubmitted, + onTap: widget.onTap, + onEditingComplete: widget.onEditingComplete, + )), + if (widget.suffix != null) widget.suffix!, + ], + ), + ); + } +} \ No newline at end of file diff --git a/pubspec.yaml b/pubspec.yaml index 51e0a05..8702e58 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -71,6 +71,8 @@ flutter: assets: - assets/common/ - assets/imgs/ + - assets/pics/ + - assets/mine/ # - images/a_dot_ham.jpeg # An image asset can refer to one or more resolution-specific "variants", see