From 5ffaf81223fa6d832e9d9f3696e4c868ab4ae8b3 Mon Sep 17 00:00:00 2001 From: userGyl Date: Tue, 27 Jan 2026 09:21:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AC=A2=E8=BF=8E=E9=A1=B5=20=E7=99=BB?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ln_jq_app/assets/images/welcome.png | Bin 0 -> 114843 bytes ln_jq_app/lib/main.dart | 33 +- ln_jq_app/lib/pages/login/controller.dart | 6 +- ln_jq_app/lib/pages/login/view.dart | 568 ++++++++++++-------- ln_jq_app/lib/pages/welcome/controller.dart | 32 ++ ln_jq_app/lib/pages/welcome/view.dart | 34 ++ 6 files changed, 434 insertions(+), 239 deletions(-) create mode 100644 ln_jq_app/assets/images/welcome.png create mode 100644 ln_jq_app/lib/pages/welcome/controller.dart create mode 100644 ln_jq_app/lib/pages/welcome/view.dart diff --git a/ln_jq_app/assets/images/welcome.png b/ln_jq_app/assets/images/welcome.png new file mode 100644 index 0000000000000000000000000000000000000000..3a2d95e711a891788ed195348d1eb0aeecb607e9 GIT binary patch literal 114843 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∈~0%HXxNEzBssTyA55hhBY6?wIg+SI<7C)n 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 z z`EJdmaEkRqrKahk<>IQW7=GjBhoA#=%RjJI{wl&9UrTiRkd9PrYHPSjq z5PS5%2K&7brWX8gc5$s`IJ22lyt9=0W@dF^J98pdmfxratKmap}2-{7QTHahvn$PAz z4&In905o3!_!NY75RWNVTB?(l4x}7ef0QcY7NxUIH$a`YF$$`KE0fX>vomwtoPeb z%R^9Z_^?Z(4TO1lB|ksp_P7`tIFUvy_-mIh!)=@04c2Y{nLZ~O1`%T)2^Y(j+(hkM zGg}<@$A>pbvfVT!48$)F<02}7I*A#}ld%l2l5~R;Qvjz`9(h2HoT%%Vh7w5Ag#uKN z#-vQ14oo777*KR8g(FBw=_y$wHW#0n5)-LSVk;8V%f&)^DgSzel|0(d2KSO#8Ki;{ zc90u|4V1HCi?%I`yXTBp?@-pQrqpp@RGBWWA=XMqB^1fO|9!Ko<0JeH)| za|-7`7OBXc4s9(Sfr31MJ|&Rx14w|+<>fqbS&`at(&BRQIclHY?Z942ui;5^$V3jX2>N0{Cu9ojY1z`v0!rRApOzL&Roemd zaatQ!lQxwza+}w%RnjmMj}7s)=^C%r*B0;8bV_A#w?<4jYHjWca%R!IRpRc>_l{z+ zI#s{i+BKbAMQXvqr}u{C$O$aF^Rt~R>M?iR2@hVst~Wou0u$~U`VkMh58j8*hpmz0 zw#fk`w**u>G1Nsf$VLHjbkjNoBMo?^i>B@dDsLbQWICq}5WRBO4Tbt5hjVe#A94l>YTC$8*S(~ynhJw;3k&ea?&UsVzNc>i-gWGqO zyZ68IdZC@O)S{xElZO0nm@s z`j`ANY@MfZwj~b}w(^Oq@ivdEt+}84OVwy$e8>+%j%hGap15x2yjM`QX z&h7fAR(*(?VmX@8>ghJ~md0>OO2|h>^H{7nj%_LOX|k>KRHIbCR#~NdIl>D591oi5G*%mNDR)b} zM$)lSqMEwbl9aPCdrLZ;k;DuC>|)wAQK?Y6>d+2$-8WY6IN8vsyvT*?=ODfXr}i3z zZ+mnKC?ngmKL&9C_}$;f+;%&hY=OM_k?^8b7>55KKc>xJ9~^!2@$-Eo-%tpHa!lb6 z2c3C6Y(Pab#Hkd=%ZUq-4P*!=_#?8#hJ&(b_gJEc(~rD7RLYlSw!~pmzTCMLwPWPiODV+`DRI^;0a{mU=Y&@ z8I{p>QsRgMUIiP>gA!^|O8}3#HnSEGtG#(kl#U?}COrj;KIJ%?n&+uI=VhUqR-&FK zo#R-ME966{E6b9yMxK&ASxY(G*d&&?mZP++O<52YqbXhI;KJ^v>TM^9Hye^Wbimx% z@w~2>dFhPTsk%f$Q!KqgxUe~a$L;|B{CqoF-61y%V=Om-e{h?Gbbk!{;DaR}ZniSN zJ4QgKz&$sX zynK5H@Z(zM>MR@z$Q-o8!%iW*jV~bsPyim;4jTW^6a?9Hf(mP#gK7!1DA*CX2I%I) z2=d8VR<;G?s_p<1;AvRTA=C9RhqheX=rTaaNP9%9OSz0%O7rq-R12 zCR+{G(SZ{G5>q%zU{8Gj@m%Z4TFZYiD&5IV;nKtRZKvLXcR~zi^>xLF%Idl@XA$55 zqMu!evcB--hP10^7vb&;m&Y5d!AA}QmPT0gKLPw05B&Y_*gdUEAA0ISSP zMvin|r=&Yb7d_rmHP$48tzQdB*Vb>Td@cD?pS#sA&PbPLW7_sBP>a7qTeTwJooC5b zli5_dmZ;+_^Sj~2_5G&U}>&Q1hJL2mi23m*MKkh4>(nPj>kxh^-mHCO}BP zTLy;x?)1w};&s7YIUL%MLY)Ti$fx6YhCnosK+JWf(PK8C;8_Rupp=#cRLlW1v-F?bCG5%MNj+{FY4lOUW_bG>u-3wOf<9nODx8@?&GZmIY)g#Sdg#9)7JC zO8gdCR{)EUw(2;u&_2b%9ppnE>No)*wt|orGKU7m9Qmnm?{Z2gk%NWlc1Zrn%eTSh zotq{AW%qN#4}tiaV_OF6Xq@5$Q`qM|?v}y$PWUa-Pxx)46~CqK4gz&5z*Cq479Z=E z0&7fBT4P9{GBit>$q0G0bjFkdyj&D1CyG4Qk(OAReksU9Ri3g;ETmI%jQ~i;nNG;& zHh>LCGM}wSy?*t4Yvr$@%~(?SS&m=LD$gyL7T`!3IVysqHS8_LQh{eX#JqC4Vabkw zi#B}bkZy(4XNVwA^5f7w%C4I6oQ&Myn(+}QyT6a#0sPtEa}Sm`11%J)xB$SI06e`p z+5z}B-gNC=ThIZ01Ud|Pkc7bocp4`GMxJpFQ3vH5lVY%#2S9hz#48H1D1Z)(2sEwM zl8@!1EFV&xWu0<)v~y5oT5TkCtfj;Sn50{+S1zMo3p;nI4F{Wi(8*{OkZW zrY?2OQ{;8V5g}c%?A&*rf?cPQPK`b6YGYkq3jLJe2QcJ^JsrBSdYJ&-L;5(u7T!(QO0F7mpg4GZ2pV3c?`)U(_K%BkKL3FsK2z zC?$;>>OduNfJY{aA6qSXeIe81(y~F7nFo9T*+yXMfJR*Wg-7mE=~1?nl6Qd0GAt^k zM~Q8=>7gmz3Q0A$+RlncA*%-LCsVG81psBqzi(y(-F;O*8z=Oh%beF&-SGXJZ7o22 zK>H1ewe(;UrAOm#Yv^OITkFaSD)kAB2=#K-;c0nABw zkcbMHr@)59C8A7NOhFC7;AMGuDJ&U5Y>`B>O<1|f;vsoytgfA|yM48SVCmF$b(25W zH=P5H zpx^o3AzEhfC;j(P?H?rD?cMiQ2kTL93=Q_^UWevzw*rI39o zay9tfse{?7Q$bpyR&|qgwI6GmSc-ECrRRMr#a( zqt*i2aBTx^xm@OWwer$-rCO#pRnhpRmLf78wb&_?w%2h}D=fqtsx-H3eM(EW$P`(w zl+e};p4(gQr;dPYizv(pwpg9U+}Icch<8BlctW_r>RKMi>J&t{vIF=>?QXJ0_gB05!Frh$)zdwA}f!GzF%XmfxyF zbkT;^vn+E7c3Lm)>*^?}rKXg#m{p>#89LQu3D)_1LN!=VZuHbp3qH7=EQn_lX9#!~ z&21-V-8RYa5OW7yWbs2(Rfs~zU}}d4OCAZpN5Dsr@2(*bIRdDJG|iIcX%e=0ouw?) za-s!xseB1#bkU*tG#ye+wKO}d>0mB&hAd=SmSm@-19CkfXxCqyBRxv@4HR>?&=PZA zYr8do-P5M3r>GVdpieWJ>&aSlm_pLO-U9Hu8>^?}O_4a{R#2?EicO=NRB&<|Ix)Nh z(sO|C>qT@F6k6`Kv$O6&C+>rHNt0;9M=luA>h2>0sK=*Pd%z#h6Kfrm>5j}DA_0M? zai~tJk5*TumDP3S~JDOa01 zJ#tc~)e{T4>-MEPm=yu)u#VnLQ%`+yeMK1=q|;*j6~!H|JYflER9j>zljX zAvx)d(-F=cjIJ6AX#Fw59(7lAuPHda0Qc+wezS29A2upmMJfMAoytyR^F&^feug3g3Yp^iMX8gjX_8K5K|z+5SDxkh zLFLzeWh#&SQrR_p(@M@$TRrvsQz(76Os)h6dMjZ@h6VPETlj8b8sT!@dMCUi+O0rn zoM7M3)XL6z$y9PKxoyx%9O5@*K@3noew9kBmHzaO9l&2Zy95_@zIcjo`3WOHEMOjT zh~iryqx)iubP)*di)g7My}^of3E+T<15)b47SlKc#d-#wgUnX#DrVHekb}mUidQH^ zwh8o50A;B;DCd?Q_BqnZXZR5;>FvaIjU!vu-(~Y3hAK(y1)VaKL-k(pFV`Q5u!%FJ5V5}ZW;pqK*0q_ek4Gv0bieJLz%KPp~azF#yY@Z9^f&J zSEV5+iwJE!O%87>Jzf5V0xu2c`<}+rU#Sc<^2Bp~Z4$?-GiA)BsWO%*yY6aTC;H5b zF4@x(T0)_W|G&F;0p8^*?gP8O|Lb1q>R}KPZ;SvzY#|4Pj28sh#-wbFcfH^gwv(-` z#CGg*${W|FYOA(3&Q`5myR}uZv)Qd(dv^m#t-bh>U~dw@-s0t8Ab`xnh{Oij!UoAg zLc*X2Ac=cBb7tnu^y$-mPM?|i{#Ur~{r=y~IeohOynd%o&wMj`7f#@T!%Gif3eBV; zaBWD>`KDwlWk?A1!M4<0-gPH0Q^`>h9VqL0(S_}oOIs%WyeR|`7S9pmyxil z0Oxo?c8;s3L73#nO+d;0^2wq=DdY~{9QaajfGHG|g9b3kN&SufOL)gaviNe=EHAMW z()uuAwhmFApV#s^Z033TIf1>%mEgh#?RBJ&v~6gw5LKZyZIj*#X?+K(Eg?%=fL4|_ z^<#}e7lXs2fH}<|k~g(WD%CR6Rdn{b{nra>930|jfJdea=A*=Ioe|{#!wXIh;b<2C z{x(h%h#mlU`YfCox0yiPsBkH>{z20;PVkt_0$W)0+J#Db9X+Th7* zsFY=SWC1*h1u6$d&dbYNHt6-3`N+uAIy{n8r0)<>n0TPt_5Y3FL2r5-#Q$6Lsj zv{`G0(9CX(JXoQTq03QA)#oIhbQiNDA4#O1OuO`==ck=mI8rL=B7)xd7z zqU1~PkvTp%!1Ke@7D#N-0GL$k6+NKWL+7mVY9%1CLHle&+e+Jl9!nOL!!kV2!X6O$ zkp}^aBg89rHMKSM5Sqc{N;8^bsVWNun;mnnc_Ed0a2*WfbLeI-=I-Jn!F%7KF$}mH zJbLhfC%mdJlnqxWF6%C|o^YfiQo+(9a5W&vD1I1qUl(BeZNPI7ZisDL%@EG8O-OPz4sd{BSp%N7lP)W0-Rl@XgeVy5v z2M^dkG;N1z+U&uz@@&Bf03QH19G~khw)W42C&NZbQZIN4_?um4MO+UeQ zQ<}^2%iK!4Pt#Vg$a&Y&E}Q)pHD5`rlnr!x?avhY3{G!}+`!OjKI(8gK{0{I*Nz2Q z>le-%Fir0NPGF70{rx+{(pu3Ah_b@(y^cD7KYxMx#o*Eo;4eKqV&<3IIRzXB@ckzR z?j#0J^CJtwv*NQ~vySDtjy_+se-0LTs7Bi919+}f=Yg?4kb$?NQRU$aiJ}|iIFos) zu3S?2yu2W!TqHhgXl?n6sjpR*bj(`H#c*=nbB{zuns>?K+FNMT-If0W1Xna-dPpL3k~9K5X3wdCY-Y#T`h~{?A9SDdA*d_ zwr^l#_Ety(`oueDKX96Vy*h(Ah>NQIHw)PS1OAzZfHM7*Ee!G)6oA+3LmR%ip}MEQ*w@ zp2YNwK+E7*1O3Uo2`>u(pQtE%y*9v$1`&%v$}bi!jYnNfNYq0wJJ*MDxzY{*7l4!)?pwCIpaNVurFgYmIh968id zr7i*}ug6;w8s`yQ4V~=$t2<{jcugaxQ4GLV+)?h*TO3aEBUs@lskV}2Y_zfK5%GDa(dWX;q_c+CU?e!UDjL!r77m(wby3NYZkiC`=Ed5C}FsAE1a5v2G?fk*sAZ)(_zG zvZCh$@HVq~VoJKlB`8+YAyelehYYjr3T2k+JRPFUb+qr6se!HLX`zG9w#}AND$`78 zoaEcN3!!0 zz#C-}z@>ClQfdj5YzLD3nwEIv0q{JZ3g-Y;-RxAQxl~>cc>vxc!vpLWmj(+oXU>kf z*Lq6>Vls8_kD9&rNF;>h5E;(S?1mrt#Dpd4rYF0QoT?h&+fwQ&9$PeR`4NZn@Q8sO z1Nix|3?vqe;oqTnBtc(>!W~El@C_Zn@4|iR7l`d3QX3LtU_1a;3VsQ|#d8t>KZ!~K zp8rh&yAq!g+Eb(H!1L>t(=FKmG~=mHP^OlpGg?zCx38X3sRa_T56w(KOj)*3ipRjl zg`^rwcQ(S7ZH3|!ZJA>$)9Da$!E}wfkc$fxJ^euh+ZoXCCpp9#JcS3gAMFTDc@zO)^jXr9!up4jdW4$Au3{LnyII z$kC2KTB_#P(%15CLFIOtd6vlKw8|kXN>0iD3)R!2)9z7+0cQ?y1nV?U+n7v{MqV8> zmX))c>Spe(t;U56W8`G0RTwNs2fGB|`@3ZlTjuc1j>(Gm&G#uZ9G*Kl)89>VzQ53# zwr3GM7}}9c14wS4OaW5*>cd|Z^eMMQ2T;lrHJhVdq;ti5z5J}hTx^)^(#2FMInT4t zYXD9Pr#3|E98zXEf9*8zf_keSUZ&L6a;IFPmWAPTz`fKet;^VEF$qlosT|=~mQH6>BGM;&h!s<|;;Jxp7S;A!T3*X_HG?yKp z9RWV|8p$wJ1GWs(Vj5cjIKXQcSZDbujA>x00z8xe&!$9{SO7E|^1QUX)SKl~OwD&W z{LBJoP})P6Q6_TodwG`VZYk4BXy`?S#~X@ip^NXiZ?zmY3(<%-VajvT2b@ta0-lB+ zLoFf_0wwl8@n6tSqYDd+)QY@fOGk@X?bWh0Hp}A}8UI1>s)!K172i zAX+I2UQKC~0DXQTRtNZGXi<5nWdKh)udI*ey_2J_r^QJHe?5&ffS)q~Xeq$YM|OSX zkxri4duIYUKP|KdqV`914f_T6wGJpYrY{z(b$hzLo;ld%?b&2UYj-bMtNqflP&+%O z8M9%In~yvrz#l|_=dpRBDQq7@FM)O}R5Q6QYz+;E$K$>5bm0PHvRX|7s99Vk_R7qDsa(3H=_w@WgB=dap}cLoihO(QRe{De z^0rC_S)^&yM+{YfpA=z5u%n7zg0UWy@$vGkh9*Fk0lwzJTjzSvg}|_8H*goiypzQJL(l8+w30K9eAu{BQKvv##%XT8f{wZ zJM!J~T3fcK*wUq1u0}Ad7{JfExI4}-Sl9wQlc+Mu$~rad3&o2o1bYwbczihiid6($ zSnM5Vuup3~w=}|Zku@wBmr8)=V2K<|NHC-z&d{BKy(X8~xdcH8VH!`K$G>s_S6OXY zpj`AF4|p9kd-A(ztO@N4(Rcu!DrIWvC0Qjt>r>)ur6pxJ?b~k+_C5CQa}QM7Yk)Ja zSz+`Ttk6iftAl|TRm8c{Q8~0xb;)YpMhMB?YNa)k@r(<$> z@Jyk45ml(NJpHH-NZOj7)c{_zwgm8YOG=()w6^?O8SV44+!i%mk40D?aF4tJfr|0-ai}OrP^ys zqFX4`VqywvN?}+a0>EE#a?Er|gLy+K(7?QQ{YONQ0AmjN(oU~w4Hn&LU6?_eEy!qXok!1q8-x};t`MM;pYJ8^9E zj||2TgFj9lM3#~gNFXYJE#&}5X(T!Y%VhvRrH~ikc}Y@v^9gRJSawP7@)Rs-wBd#p zl;IrB;ZMk0u3bVZ=QOC|UuER6>*B}UJ(%hxPmNu2ZKmU$P{{3X#%J;{m074>Mi0NN z8MdObl%~a_aC>BU@?+0}yetp*pzg6#uB!LoJAglXbi(5LI*|ruWc(bv+f z_w>aBcR7hkq|4*2TAOMKQ~IM$i3W0M%Kv5T``R`=}p5d!`JMQ zhrtydD{!XSN-<6`jOySRP`(I}PCJ<~kwGJlg=E|p2SEGU6D8R-C}xO&bDiW~;O1cq)( z9&bP*FHHmY0;TEG&NcG#keXWVpH@08fZv)|lHMkR#QlT2HVPEH@q3{PEm;f_B4Gp? z`2)|5Fyc*Ps?c>|d>1Q*chMeo-#e9ixceskeXB`qeF~oYnWN)* zw?LY79jb>f2AA@OPo#i;0&My1lAO1ko*tEek_wv{xjf`LbWog^76$AHnQgWQ&n1AW zbLP?|lqFf5*4Z*j?aT9)&_=V)MI1_TN}0be-UU@{#PPf$m?-j=P!XKaI1Ztion6cj zfi@Uv45f4n;-&os*7)#&h|>B#25a_)1))RR-h&SSk2}zUUFmn> zt{5R)g56Y}EcuN9Pdv2{>Yxhv7j@5yY{!BxW`+#O&5Wx7yv!vi!F-KO>lYLE3&}|L z$~jG7kCeB;+{ULLmMP^+FEN6=x7AuhK-J#U8BPwEX!0w}fy;&db~ZI|x9*Tu>?^Zw zn10}N0GGxKtdfVA&mNGK_){psR!u_;KHQmO^HIS-;|EKmd!icjQ6{Mj@T43MT!yz? z0eFG92Ec3Ks8q9-ms+o?s{%YJx!@>M;`F7~iPu+y57pT)c)YarB4F8l`e7Mqffv9% zyj0NRB02SRIz|~f@GIH0V^Qj!kJU{{0rR)91$rcw6NP)~;l&(hdw`$Y7cpUEAdSv7 ziTb-}f(IX;Z(PMC01tlv75ShIh#-Wh60ahfjMvf zqvschR-`TA*@95{Tx==@AurzDGTJPVEhc9uLO#O5;OD&V-q(Rratyz~oD&9BCGXJE zwUXH6lJdCMXMwt`sk$Jv5CixU%O%|f)|1^K0}-6saSqq8LL+1TYf0wmk7p-`NArE~ zO21pbLXAynf!|b)_?ZTr(*K48n)7sExmuZ=TTP|BoMnS7E9ne2m|lj z;qYT58ku4n_74>!;mOzZuy?hF&v6g%kViN>sj#+gMl^S?b_U!o_yk;-E zZ~+wxfQe#}kibb`+d!!-4O;yG&+B5tx2C5)6ifHSLp6uMH{2s_0vScpT5wC*T2Bsi zdf=`BwA^|V_+3sc=)g)@7nKc>w?q2H6Ntwzx{6qKREvl<#cF~15bLZCN;`y?4HrT$ zKRjl`0$C}gvne^NYCH}XS)GG{D&IQa3V;VIe3KuS@-i>H1n{CfNjt*gfn2V}ugkP- zEuUL*ya2BQhIeZ17uZ{uneAntZdito5^ufZOx0Wm3*hBK0?Kg{t{ZGJC#(~_RQEPajnh!+XXu8 z+#vJxWA4&x7jr(b4#jz`$22)|5m@BGCn(j^5$ft(;x?i7nDScUU6IL`{TMyKEFCkO z&cr)tM!=r}GVH}3mMuBSMF9H+1WCk&a@GmxXOC9XmV%K6k|p5HL6VmmK^REqBh3Nw%IX`Iy0+x(;5-zYF@?Wq{Ap-I0KAI)C zx8Gd|?Jxj5=$rUbOWGjLc`PskJq2~Xw4F!*zFj6g9$as`P6Vaw0C&zl4 z{KZ!i8)j=~jKi)R%uzvCY^-A{BMijLj*gSJI8E(KLNs{|ozr(a?BD8?%1XmTTtvCq z$mE%GH1B)-OFD>Z=Q-Gyc(|8eyQ9Whko0op8y&R-tBo`eCX>I-dnfVH$pbNU℘2 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 P00000NkvXXu0mjfz;W0j literal 0 HcmV?d00001 diff --git a/ln_jq_app/lib/main.dart b/ln_jq_app/lib/main.dart index 1a5f1d1..99ae966 100644 --- a/ln_jq_app/lib/main.dart +++ b/ln_jq_app/lib/main.dart @@ -1,3 +1,4 @@ +import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_native_splash/flutter_native_splash.dart'; import 'package:get_storage/get_storage.dart'; @@ -8,8 +9,8 @@ import 'package:ln_jq_app/storage_service.dart'; import 'package:pull_to_refresh/pull_to_refresh.dart'; import 'common/styles/theme.dart'; -import 'pages/home/view.dart'; import 'pages/login/view.dart'; +import 'pages/welcome/view.dart'; // 引入启动页 void main() async { WidgetsFlutterBinding.ensureInitialized(); @@ -17,8 +18,10 @@ void main() async { WidgetsBinding widgetsBinding = await init( isDebug: true, logTag: '小羚羚', - supportedLocales: [Locale('zh', 'CN')], + supportedLocales: [const Locale('zh', 'CN')], ); + + // 保持原生闪屏页,直到 WelcomeController 调用 remove() FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding); await GetStorage.init(); @@ -28,36 +31,24 @@ void main() async { runApp( GetxApp( - // 设计稿尺寸 单位:dp designSize: const Size(390, 844), - // Getx Log enableLog: true, - // 默认的跳转动画 defaultTransition: Transition.rightToLeft, - // 主题模式 themeMode: GlobalService.to.themeMode, - // 主题 theme: AppTheme.light, - // Dark主题 darkTheme: AppTheme.light, - // AppTitle title: '小羚羚', - // 首页入口 - home: HomePage(), - //组件国际化 - fallbackLocale: Locale('zh', 'CN'), - supportedLocales: [Locale('zh', 'CN')], + // 将入口改为启动页 + home: const WelcomePage(), + fallbackLocale: const Locale('zh', 'CN'), + supportedLocales: const [Locale('zh', 'CN')], localizationsDelegates: const [ - //pull_to_refresh RefreshLocalizations.delegate, GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate, ], - - // Builder builder: (context, widget) { - // do something.... return widget!; }, ), @@ -67,20 +58,16 @@ void main() async { void initHttpSet() { AppTheme.test_service_url = StorageService.to.hostUrl ?? AppTheme.test_service_url; - // 设置基础 URL HttpService.to.setBaseUrl(AppTheme.test_service_url); - //指定请求头 HttpService.to.dio.interceptors.add(TokenInterceptor(tokenKey: 'asoco-token')); - // 设置全局响应处理器 HttpService.to.setOnResponseHandler((response) async { try { final baseModel = BaseModel.fromJson(response.data); if (baseModel.code == 0 || baseModel.code == 200) { - return null; } else if (baseModel.code == 401) { await StorageService.to.clearLoginInfo(); - Get.offAll(() => LoginPage()); + Get.offAll(() => const LoginPage()); return baseModel.message; } else { return (baseModel.error.toString()).isEmpty diff --git a/ln_jq_app/lib/pages/login/controller.dart b/ln_jq_app/lib/pages/login/controller.dart index 8b617e4..0566464 100644 --- a/ln_jq_app/lib/pages/login/controller.dart +++ b/ln_jq_app/lib/pages/login/controller.dart @@ -13,11 +13,10 @@ class LoginController extends GetxController with BaseControllerMixin { final TextEditingController phoneController = TextEditingController(); final TextEditingController codeController = TextEditingController(); - // 兼容旧逻辑 - final TextEditingController driverIdentityController = TextEditingController(); final TextEditingController stationIdController = TextEditingController(); final TextEditingController passwordController = TextEditingController(); + // --- 倒计时逻辑 --- final RxInt countdown = 0.obs; Timer? _timer; @@ -75,6 +74,9 @@ class LoginController extends GetxController with BaseControllerMixin { _timer?.cancel(); phoneController.dispose(); codeController.dispose(); + + stationIdController.dispose(); + passwordController.dispose(); super.onClose(); } } diff --git a/ln_jq_app/lib/pages/login/view.dart b/ln_jq_app/lib/pages/login/view.dart index f9d6790..3b09de4 100644 --- a/ln_jq_app/lib/pages/login/view.dart +++ b/ln_jq_app/lib/pages/login/view.dart @@ -24,119 +24,165 @@ class LoginPage extends StatefulWidget { State createState() => _LoginPageState(); } -class _LoginPageState extends State { +class _LoginPageState extends State with SingleTickerProviderStateMixin { + late TabController _tabController; + bool _isAgreed = false; + bool _obscureText = true; + bool _rememberPassword = true; + bool _credentialsLoaded = false; + + @override + void initState() { + super.initState(); + _tabController = TabController(length: 2, vsync: this); + _tabController.addListener(() { + if (!_tabController.indexIsChanging) { + setState(() {}); + } + }); + } + + @override + void dispose() { + _tabController.dispose(); + super.dispose(); + } + @override Widget build(BuildContext context) { return GetBuilder( init: LoginController(), id: 'login', builder: (controller) { + // 站点登录凭证回填逻辑 + if (!_credentialsLoaded) { + final savedAccount = StorageService.to.stationAccount; + final savedPassword = StorageService.to.stationPassword; + if (savedAccount != null && savedPassword != null) { + controller.stationIdController.text = savedAccount; + controller.passwordController.text = savedPassword; + _rememberPassword = true; + } + _credentialsLoaded = true; + } + return Scaffold( backgroundColor: Colors.white, - body: Stack( - children: [ - // 1. 顶部背景与装饰 - Positioned( - top: 0, - left: 0, - right: 0, - child: LoginUtil.getAssImg("bg_login"), - ), - Positioned( - top: 0, - left: 0, - child: SizedBox( - width: 180.w, - height: 218.h, - child: LoginUtil.getAssImg("ic_login_bg@2x"), + body: GestureDetector( + onTap: () { + hideKeyboard(); + }, + child: Stack( + children: [ + // 1. 顶部背景与装饰 + Positioned( + top: 0, + left: 0, + right: 0, + child: LoginUtil.getAssImg("bg_login"), ), - ), - _buildBackground(), - // 2. 登录表单主体 - Positioned( - top: 280.h, - left: 0, - right: 0, - bottom: 0, - child: Container( - height: MediaQuery.of(context).size.height * 2 / 3, - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.only( - topLeft: Radius.circular(40), - topRight: Radius.circular(40), - ), + Positioned( + top: 0, + left: 0, + child: SizedBox( + width: 180.w, + height: 218.h, + child: LoginUtil.getAssImg("ic_login_bg@2x"), ), - child: SingleChildScrollView( - child: Padding( - padding: EdgeInsets.symmetric(horizontal: 30.w), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - SizedBox(height: 80.h), - // 登录输入区域 - _buildLoginInputFields(controller), - SizedBox(height: 40.h), - // 协议 - buildAgreement(), - SizedBox(height: 80.h), - // 底部 Slogan - Center( + ), + _buildBrandingHeader(), + + // 2. 登录表单主体 + Positioned( + top: 280.h, + left: 0, + right: 0, + bottom: 0, + child: Container( + decoration: const BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(40), + topRight: Radius.circular(40), + ), + ), + child: Column( + children: [ + const SizedBox(height: 20), + // TabBar 切换 + Container( + margin: EdgeInsets.symmetric(horizontal: 60.w), + child: TabBar( + controller: _tabController, + indicatorColor: const Color(0xFF006633), + indicatorWeight: 3, + labelColor: const Color(0xFF006633), + unselectedLabelColor: Colors.grey, + labelStyle: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), + tabs: const [ + Tab(text: "司机登录"), + Tab(text: "站点登录"), + ], + ), + ), + Expanded( + child: SingleChildScrollView( + padding: EdgeInsets.symmetric(horizontal: 30.w), child: Column( children: [ - Text( - "H Y P A I", - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.w400, - color: Color.fromRGBO(51, 51, 51, 1), - letterSpacing: 8, - ), - ), - Text( - "HYDROGEN MOBILITY", - style: TextStyle( - fontSize: 9, - color: Colors.grey.shade400, - letterSpacing: 1, - ), - ), + const SizedBox(height: 30), + // 根据 Tab 显示不同的输入框 + _tabController.index == 0 + ? _buildDriverInputFields(controller) + : _buildStationInputFields(controller), + + const SizedBox(height: 30), + // 统一登录按钮 + _buildLoginButton(controller), + + const SizedBox(height: 10), + buildAgreement(), + const SizedBox(height: 40), + _buildFooterSlogan(), + const SizedBox(height: 20), ], ), ), - ], - ), + ), + ], ), ), ), - ), - if (AppTheme.is_show_host) - Positioned( - top: 40.h, - right: 20.w, - child: TextButton( - onPressed: () { - Get.to(() => UrlHostPage()); - }, - child: const Text( - "域名配置", - style: TextStyle( - color: Colors.black, - fontSize: 16, - fontWeight: FontWeight.bold, + + if (AppTheme.is_show_host) + Positioned( + top: 40.h, + right: 20.w, + child: TextButton( + onPressed: () => Get.to(() => const UrlHostPage()), + child: const Text( + "域名配置", + style: TextStyle( + color: Colors.black, + fontSize: 16, + fontWeight: FontWeight.bold, + ), ), ), ), - ), - ], + ], + ), ), ); }, ); } - /// 构建背景装饰 - Widget _buildBackground() { + /// 品牌头部 + Widget _buildBrandingHeader() { return Positioned( top: 0, left: 32.w, @@ -145,7 +191,6 @@ class _LoginPageState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ SizedBox(height: 100.h), - // Logo SizedBox(height: 60.h, child: LoginUtil.getAssImg('ic_logo_unbg@2x')), SizedBox(height: 30.h), const Text( @@ -170,7 +215,7 @@ class _LoginPageState extends State { Container( padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 4), decoration: BoxDecoration( - color: Color.fromRGBO(56, 198, 151, 1), + color: const Color.fromRGBO(56, 198, 151, 1), borderRadius: BorderRadius.circular(20), ), child: const Text( @@ -189,50 +234,32 @@ class _LoginPageState extends State { ); } - /// 构建登录输入框区域 - Widget _buildLoginInputFields(LoginController controller) { + /// 司机登录输入框 (手机号+验证码) + Widget _buildDriverInputFields(LoginController controller) { return Column( children: [ - // 手机号输入 - Container( - height: 55.h, - decoration: BoxDecoration( - color: const Color(0xFFF7F9FB), - borderRadius: BorderRadius.circular(28), - ), + _buildInputWrapper( child: TextField( controller: controller.phoneController, keyboardType: TextInputType.phone, - style: const TextStyle(fontSize: 15), decoration: const InputDecoration( hintText: '请输入手机号', - hintStyle: TextStyle(color: Colors.grey, fontSize: 14), border: InputBorder.none, contentPadding: EdgeInsets.symmetric(horizontal: 24), ), ), ), const SizedBox(height: 20), - // 验证码输入 - Container( - height: 55.h, - decoration: BoxDecoration( - color: const Color(0xFFF7F9FB), - borderRadius: BorderRadius.circular(28), - ), + _buildInputWrapper( child: Row( children: [ Expanded( child: TextField( - inputFormatters: [ - LengthLimitingTextInputFormatter(6), // 最多6位 - ], controller: controller.codeController, keyboardType: TextInputType.number, - style: const TextStyle(fontSize: 15), + inputFormatters: [LengthLimitingTextInputFormatter(6)], decoration: const InputDecoration( hintText: '请输入验证码', - hintStyle: TextStyle(color: Colors.grey, fontSize: 14), border: InputBorder.none, contentPadding: EdgeInsets.symmetric(horizontal: 24), ), @@ -248,7 +275,7 @@ class _LoginPageState extends State { child: Text( controller.countdown.value == 0 ? "获取验证码" - : "${controller.countdown.value}s后重新获取", + : "${controller.countdown.value}s后重发", style: TextStyle( color: controller.countdown.value == 0 ? const Color(0xFF006633) @@ -263,27 +290,97 @@ class _LoginPageState extends State { ], ), ), - const SizedBox(height: 40), - // 登录按钮 - ElevatedButton( - onPressed: () => _handleLogin(controller), - style: ElevatedButton.styleFrom( - backgroundColor: const Color(0xFF006633), - foregroundColor: Colors.white, - minimumSize: const Size(double.infinity, 55), - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(28)), - elevation: 0, + ], + ); + } + + /// 站点登录输入框 (账号+密码) + Widget _buildStationInputFields(LoginController controller) { + return Column( + children: [ + _buildInputWrapper( + child: TextField( + controller: controller.stationIdController, + decoration: const InputDecoration( + hintText: '请输入加氢站编号', + border: InputBorder.none, + contentPadding: EdgeInsets.symmetric(horizontal: 24), + ), ), - child: const Text( - "立即登录", - style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 20), + _buildInputWrapper( + child: Row( + children: [ + Expanded( + child: TextField( + controller: controller.passwordController, + obscureText: _obscureText, + decoration: const InputDecoration( + hintText: '请输入密码', + border: InputBorder.none, + contentPadding: EdgeInsets.symmetric(horizontal: 24), + ), + ), + ), + IconButton( + icon: Icon( + _obscureText ? Icons.visibility_off : Icons.visibility, + color: Colors.grey, + ), + onPressed: () => setState(() => _obscureText = !_obscureText), + ), + ], ), ), + const SizedBox(height: 10), + Row( + children: [ + SizedBox( + width: 40, + child: Checkbox( + value: _rememberPassword, + activeColor: const Color(0xFF006633), + onChanged: (val) => setState(() => _rememberPassword = val ?? false), + ), + ), + const Text("记住密码", style: TextStyle(color: Colors.grey, fontSize: 14)), + ], + ), ], ); } - /// 处理登录逻辑 + /// 通用输入框包装 + Widget _buildInputWrapper({required Widget child}) { + return Container( + height: 55.h, + decoration: BoxDecoration( + color: const Color(0xFFF7F9FB), + borderRadius: BorderRadius.circular(28), + ), + child: child, + ); + } + + /// 统一登录按钮逻辑 + Widget _buildLoginButton(LoginController controller) { + return ElevatedButton( + onPressed: () => _handleLogin(controller), + style: ElevatedButton.styleFrom( + backgroundColor: const Color(0xFF006633), + foregroundColor: Colors.white, + minimumSize: const Size(double.infinity, 55), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(28)), + elevation: 0, + ), + child: Text( + _tabController.index == 0 ? "司机登录" : "站点登录", + style: const TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + ); + } + void _handleLogin(LoginController controller) async { if (!_isAgreed) { DialogX.to.showConfirmDialog( @@ -298,10 +395,16 @@ class _LoginPageState extends State { ); return; } + _tabController.index == 0 + ? _handleDriverLogin(controller) + : _handleStationLogin(controller); + } + /// 司机登录逻辑 (短信登录) + void _handleDriverLogin(LoginController controller) async { + if (!_validateAgreed()) return; String phone = controller.phoneController.text; String code = controller.codeController.text; - if (phone.isEmpty || !phone.isPhoneNumber) { showToast("请输入正确的手机号"); return; @@ -317,86 +420,110 @@ class _LoginPageState extends State { 'appointment/login/login', data: {'mobile': phone, 'code': code}, ); - if (responseData == null && responseData!.data == null) { - dismissLoading(); - showToast('登录失败:无法获取凭证'); - return; - } - //登录信息处理 - try { - var result = BaseModel.fromJson(responseData.data); - - if (result.code != 0) { - showToast(result.error); - dismissLoading(); - return; - } - //类型2是司机 1是站点 - String loginType = result.data['loginType'].toString() ?? ''; - String token = result.data['token'] ?? ''; - - if (loginType == "2") { - String idCard = result.data['idCard'] ?? ''; - String name = result.data['name'] ?? ''; - String phone = result.data['phone'] ?? ''; - await StorageService.to.saveLoginInfo( - token: token, - userId: "", - channel: "driver", - idCard: idCard, - name: name, - phone: phone, - ); - - //司机登录后查询已绑定车辆信息 - var carInfo = await HttpService.to.get( - "appointment/driver/getTruckInfoByDriver?phone=$phone", - ); - if (carInfo != null) { - var carInforesult = BaseModel.fromJson(carInfo.data); - if (carInforesult.data != null) { - final vehicle = VehicleInfo.fromJson( - carInforesult.data as Map, - ); - //保存使用 - await StorageService.to.saveVehicleInfo(vehicle); - } - } - } - - if (loginType == "1") { - String userId = result.data['userId'] ?? ''; - String mobile = result.data['mobile'] ?? ''; - await StorageService.to.saveLoginInfo( - token: token, - userId: userId, - phone: mobile, - channel: "station", - ); - } - - //注册推送别名 - addAlias(phone); - - //页面操作 - dismissLoading(); - showToast('登录成功,欢迎您'); - - if (loginType == "2") { - Get.offAll(() => BaseWidgetsPage()); - } else { - Get.offAll(() => B_BaseWidgetsPage()); - } - } catch (e) { - dismissLoading(); - showToast('登录失败:数据异常'); - } + _processLoginResponse(responseData, "driver", phone); } catch (e) { dismissLoading(); } } - bool _isAgreed = false; + /// 站点登录逻辑 (账号密码) + void _handleStationLogin(LoginController controller) async { + if (!_validateAgreed()) return; + String account = controller.stationIdController.text; + String password = controller.passwordController.text; + if (account.isEmpty || password.isEmpty) { + showToast("请输入账号和密码"); + return; + } + + showLoading('登录中...'); + try { + String encryptedPassword = LoginUtil.encrypt(password); + var responseData = await HttpService.to.post( + 'appointment/login/password', + data: {'account': account, 'password': encryptedPassword, 'loginType': "station"}, + ); + + if (_rememberPassword) { + await StorageService.to.saveStationCredentials(account, password); + } else { + await StorageService.to.clearStationCredentials(); + } + + _processLoginResponse(responseData, "station", account); + } catch (e) { + dismissLoading(); + } + } + + bool _validateAgreed() { + if (!_isAgreed) { + DialogX.to.showConfirmDialog( + icon: DialogIcon.warn, + message: '请阅读并同意用户协议和隐私政策', + confirmText: '确定', + onConfirm: () {}, + ); + return false; + } + return true; + } + + void _processLoginResponse( + dynamic responseData, + String channel, + String identifier, + ) async { + if (responseData == null || responseData.data == null) { + dismissLoading(); + showToast('登录失败'); + return; + } + var result = BaseModel.fromJson(responseData.data); + if (result.code != 0) { + showToast(result.error); + dismissLoading(); + return; + } + + String token = result.data['token'] ?? ''; + if (channel == "driver") { + await StorageService.to.saveLoginInfo( + token: token, + userId: "", + channel: "driver", + name: result.data['name'], + phone: result.data['phone'], + ); + // 成功后自动获取车辆信息 + var carInfo = await HttpService.to.get( + "appointment/driver/getTruckInfoByDriver?phone=${result.data['phone']}", + ); + if (carInfo != null) { + var carResult = BaseModel.fromJson(carInfo.data); + if (carResult.data != null) + await StorageService.to.saveVehicleInfo(VehicleInfo.fromJson(carResult.data)); + } + dismissLoading(); + Get.offAll(() => BaseWidgetsPage()); + } else { + await StorageService.to.saveLoginInfo( + token: token, + userId: result.data['userId'], + phone: result.data['mobile'], + channel: "station", + ); + dismissLoading(); + Get.offAll(() => B_BaseWidgetsPage()); + } + addAlias(identifier); + } + + final _aliyunPush = AliyunPushFlutter(); + + void addAlias(String alias) async { + await _aliyunPush.addAlias(alias); + } Widget buildAgreement() { return Padding( @@ -478,17 +605,30 @@ class _LoginPageState extends State { Get.to(() => const WebViewPage(), arguments: {'title': title, 'url': url}); } - final _aliyunPush = AliyunPushFlutter(); - - void addAlias(String alias) async { - var result = await _aliyunPush.addAlias(alias); - var code = result['code']; - if (code == kAliyunPushSuccessCode) { - Logger.d('添加别名$alias成功'); - } else { - var errorCode = result['code']; - var errorMsg = result['errorMsg']; - Logger.d('添加别名$alias失败: $errorCode - $errorMsg'); - } + Widget _buildFooterSlogan() { + return Center( + child: Column( + children: [ + Text( + "H Y P A I", + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w400, + color: const Color.fromRGBO(51, 51, 51, 1), + letterSpacing: 8, + ), + ), + Text( + "HYDROGEN MOBILITY", + style: TextStyle( + fontWeight: FontWeight.w300, + fontSize: 9, + color: Colors.grey.shade400, + letterSpacing: 1, + ), + ), + ], + ), + ); } } diff --git a/ln_jq_app/lib/pages/welcome/controller.dart b/ln_jq_app/lib/pages/welcome/controller.dart new file mode 100644 index 0000000..151e33a --- /dev/null +++ b/ln_jq_app/lib/pages/welcome/controller.dart @@ -0,0 +1,32 @@ +import 'package:flutter_native_splash/flutter_native_splash.dart'; +import 'package:get/get.dart'; +import 'package:ln_jq_app/pages/home/view.dart'; +import 'package:ln_jq_app/pages/login/view.dart'; +import 'package:ln_jq_app/storage_service.dart'; + +class WelcomeController extends GetxController { + @override + void onReady() { + super.onReady(); + // 移除原生闪屏页(如果有的话) + FlutterNativeSplash.remove(); + _startTimer(); + } + + void _startTimer() { + // 1.5秒后执行跳转逻辑 + Future.delayed(const Duration(milliseconds: 1500), () { + Get.offAll(() => const HomePage()); + }); + } + + void _jumpToNextPage() { + if (StorageService.to.isLoggedIn) { + // 已登录,跳转到首页 + Get.offAll(() => const HomePage()); + } else { + // 未登录,跳转到登录页 + Get.offAll(() => const LoginPage()); + } + } +} diff --git a/ln_jq_app/lib/pages/welcome/view.dart b/ln_jq_app/lib/pages/welcome/view.dart new file mode 100644 index 0000000..3f67a90 --- /dev/null +++ b/ln_jq_app/lib/pages/welcome/view.dart @@ -0,0 +1,34 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'package:ln_jq_app/common/login_util.dart'; +import 'controller.dart'; + +class WelcomePage extends GetView { + const WelcomePage({super.key}); + + @override + Widget build(BuildContext context) { + // 初始化控制器 + Get.put(WelcomeController()); + + return Scaffold( + backgroundColor: Colors.white, + body: SizedBox.expand( + child: Stack( + children: [ + Positioned( + top: 0, + bottom: 0, + left: 0, + right: 0, + child: Image.asset( + 'assets/images/welcome.png', + fit: BoxFit.fill + ), + ), + ], + ), + ), + ); + } +}