From a8f9b5265e9a67752e98047c333553c915128bb9 Mon Sep 17 00:00:00 2001 From: YuanHuakk <1751826683@qq.com> Date: Fri, 22 Dec 2023 07:32:13 +0800 Subject: [PATCH] init --- android/app/src/main/AndroidManifest.xml | 2 +- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 544 -> 4543 bytes .../src/main/res/mipmap-ldpi/ic_launcher.png | Bin 0 -> 1783 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 442 -> 2692 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 721 -> 7205 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 1031 -> 14064 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 1443 -> 22841 bytes assets/images/logo.png | Bin 0 -> 20090 bytes lib/main.dart | 12 +++- lib/pages/login/binding.dart | 10 ++++ lib/pages/login/index.dart | 6 ++ lib/pages/login/logic.dart | 20 +++++++ lib/pages/login/state.dart | 7 +++ lib/pages/login/view.dart | 27 +++++++++ lib/pages/splash/splash_logic.dart | 52 ++++++++++++++++-- lib/pages/splash/splash_view.dart | 38 ++++++++----- lib/router/app_pages.dart | 4 +- lib/utils/tool.dart | 9 +++ lib/utils/utils.dart | 3 +- pubspec.lock | 8 +++ pubspec.yaml | 3 + 21 files changed, 175 insertions(+), 26 deletions(-) create mode 100644 android/app/src/main/res/mipmap-ldpi/ic_launcher.png create mode 100644 assets/images/logo.png create mode 100644 lib/pages/login/binding.dart create mode 100644 lib/pages/login/index.dart create mode 100644 lib/pages/login/logic.dart create mode 100644 lib/pages/login/state.dart create mode 100644 lib/pages/login/view.dart create mode 100644 lib/utils/tool.dart diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 7ed9a37..2c4c8d8 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,6 +1,6 @@ 004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv0RI600RN!9r;`8x5jaUiK~#9!?VNd(TveUNKfin5dsWqYce*=!XM?aMAwWVF zASMh)AS%MhD5%IX$C>ds3Ij4Cdf*(<@o*4vj;P3pGN9vtATr{TW1!nOC`*8ZutOl} zboM>zrK;Y$_cwpM>ZU_Bx)RfI$hW(?x?jEJ-tYb0-+KEB`+&}y8vt{G4*@fQaljD3 z@Ye|iwgTo?3N#5JOf-Tt!=OOKe!7)I&bdLz(Sy9uvC9_S;eBsov=-X*6O z+kjcp+V%>Rlx<1p+{+Pi0P29B>%6&Hc-tC%ocEs2*%u}O*8oV#l)uFPe`_^RYz4*| zQa|SiIlH4CxX_R~fk&`soM%Wq9Rl$pbSK_DwQ(cXZEZ{MP0_@m^cp*4Q&k8uq15dAjcu-FgR$z`j7B_7w=ERc; zT1I1PYEcnD!F&Ar^|(JjMf~tDiPo&dH~}eNqD1G-)xjoVUvMb#=&|Sr&L%kheVC!m zcszj#5!pS~R#g;8dUoROx(EC4&k3AhLrQ-GYf1d{Z-i+ZM8S z-bwhxQ-nzYBL*?078=1AK?t!vAp7i-$QQ3iyE;?HXn%tcSnP4f?RRD#mINW5aKn1C zYgQv-FbD=pIwX}20j!peivmKp;!WJo9(&P7lKaXH_!pn2_{TpGLMdt& z_`;Rsj-O1=x4(sJZ9{Iqoxqxu7}fL~QG9I^;X@CiOBWAV-5n4?s!*({pg6LHijgDn z>L^a1O)|WZs^gEx3z*slL=0i$Q2aS(VSr@QCZe7K-Z*;Ze~@s(QMe=_$Yt=?UPH2d zd#`|ErcOb_h&Y>r8@`0U?s`N#_ypQllT4ZdqsL-HOJVVo6kEnaR~OQ;3SU`G?gM8N zx`g7Rk5W#Ie_#X&xHHcr_s>@&A{dm)i$6;K%h%zTF2Q&ux!@xNGDnm>4gXX#NMV$De>}e+yauCgGSdy9lWFkZjmUcH;3A7CnaX9>t`>yI=wNj&|6* zop4(x!Cm*j9k&xT9!vh|XNWF315u&-&bu)U^=SKw0c+_4R?@QQaS9TW`RwN?zVb49 z%dP0NlQ5TGhNvaXMSv%J&RMuZ>hyak5QTRt6qj19)2q&Kcxg0)QLFVeK5ftwo;XhsqKYIXK`YZ#T zV+W+94UpTqjW8P_K(PEZGVLp{Z@fx;3Z3m+EV-LQQ&ei-l|zxtqR*Sc~;a zvSuCL#>j}VBqo4DH-6rks0ZzHdH@j=hdFv8Hcs#>R{{YQFTOOUU%!N3zZUb>a&Q5@WfayW1S4DE%U@0vuS%caC^i5T=Mr2Y59>F8 zNm8e;c_=nlMY4G_QeBCSLgHe9VD@P+d>FnM6V5q*)E+XE5TZ=;=nhN$q^gNIVwb(T{IBszenXg zchmjEpYad<5B9cO@$1)Py1VcM7#UdLa6kmf)^+6n?PjX3zYgu%NwDzuxEa&wesT%s zrDZVhOzeaSaQBbU*WN%?usb@_^rsK7i6eLHBy7`23QLzz`O+H%;?r?%8UkXF_BB*> zcar814Vcuu(3Y`?D7va0+cFyCA(%0X@Fz1+Yl-H}!JhFx)L4ASDy&Euq3QuDX}f+C zQRg^VdyoJ8@t zXNaD81|y{qK|PEam&RzTRuOu^8&7ZS?=``;j847q)$N#Bvxrx(MSi~!CX6GltHyVB zVQU*GZdeT~mzM|{ILafaG>QOj+))H7$jWwP+9{Y^HOZQ_*pp7eTX1W)z@0xpt>7n3 zA#AS2Z(57bRv`a$1xeC_`Of$IvJk2e8_+SMv58V_sHbrL`MCOeDt>$q#WQB%PMb?O z;V4kWo-i5z#FL0P%!!i_4}S4t0=4KPzeGli!qwN8Ed*stkP}0G&OD;iPs3|We$5KP z3qOY9iI+Y{_8%_C6cy80M{?th0OXQ{_<;ve6^fT%K{#{-$&c

UbUT5g0|q<86+p zc{nOcbm=8nQS$fPi;AEZT!5(=g8SVr zP{?IK)BImh+zHJiG3sIcT6%Jo2p*#*E&KtBCF&_)h)JsIQr*+J6XO-ZAySI)4Y;cM zG@)ObTBau^DCBWb7N2wzxgt&~z?O>5Vi8SHF^Ed3nCLMIUSmQnZ;Bn1gqin(N3i1i zyj2Af9}-Z+n>6{JK&rHj!C@c~B#04bNvtI#N%K6V0q9M1ITXZU0WYbd76L>SPa0ks zg``vy6Y&`Dh;4{fS4!0$LLKB$y3afZb$O(i$8YV#pL{ZOcad#dh>4Y+d2?~~^<Z{1Q3f!wN;>M35 z+_4G&`bzR=oK9R_MNmx0yznw^(y_RFLh#Bm^px2k1?-d0QkXssS5r%{dNsKPzauPj z@XI4eEs&?O^)bM*uM;x_69QUSdvlo6t)i`tfsmu7@Ps=ET-mn>lWxPV#d~! ztZm0zOO^<&s=#-36HrWVU<0Ik2jPwwRSQ@Oon7R*Vl*&lzK7uPm(d=Fu3V1frjv~e z`1ZFjwRK2iElJl-Y*#m#)<;2w!ieF7>o<{D#WW1TH8qkcdScm#`k-u&uPhx@7*dbf zz6BEtUJbsf5x->{e$p|7&p!_hL(m=D(B{!du^aCTSZ8o`6$I_;(1r%w)=kLK6Onc6 zNh&L_R$;?-qI?&{rY4jC)3q7bJRGxe6K?!y%&HBT?oMcE#$`fGPZya@8&ROx+ytAq zVr)P%VkF)gBq<_=gzTC%m_tcWnoCwhOO zJ#{+KwO0}jAF;<(V7ttJRgy;+BDdaxB);rv^Oq$^6&=$;GGjKuFCHj4ZSP{uPT%Ee z#j99dhr8?&a`QioiNbeMu?s<}iY7|&*AJ7q{ks_F_Pe5E&DM>irQ!Ybci%5QlcRXnS=dW2A#7;Em|k@yyFJK@q6#K<1MS&K;g;LT z{_zj}EaRa=c}lt%V^E}V2;ptFQF!ov%x@Q9H*Lgf$<$lHH8+z?nglau6U~^0R8)cN zTLQFX)^!1M4-JLRgaYbsjk9)>T-&oxES5InWVD^i7Zl; z!`3zv1oj;ZHujhJOq2BSV~YsB^Y7TM9c3(>8$^Nt{Hw2Eiw=!!-=fOMWYA$FD7ho0 z^h`?2KF3}Aum1qQc@y#X?jUMy1Cq2{JitWzpc7;_ZNxpd7&CKrN`MI1^6ZMkW1Qez zf#k8@BR~8h+08q^K$>PB+-2P5DQP_JuDjsGQ_x%p*mtiUN;<})hzdqM@sj7zyZ(dd z>nSCX-Un0HrHQPp&5N*t3syBNLye(aLxF`{KB z*8h?yOM=A2SOoLihbVMy!+-AcNPT19V()(8B(`O|VG;c1R|Km%Qc*EM znw35L_&KnYtD>k=;`&DPL-Uc-PA6;`iAGrjL0t^p-NbJ$hh;Beo?eW;@d{xfMvRu$ zvmV|Moj14qu~R|C;UrBlsCbf0CDc?S#-QCj*zO)ADWnU+1;D3i3U3G1I=x#2r2o9y zP}bFwNR}E;y3xlG>=|1O=`JWouxC7NNVkYNf<5CA z11uojBIXEoMK^GtDQzxv^I*5;FvRzzwQXasBXS4n{y9gGq8+#idTSEt&Px}Qn*8@V z3cy9u+O{3~)f-DYFP%%ef6jXq1>oD!OtpP3s&LiCfW$0k{<{)7U@HFrUaG$ic dZQR?5{|9okfHn^n@o)eD002ovPDHLkV1m5OjK}~0 literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ diff --git a/android/app/src/main/res/mipmap-ldpi/ic_launcher.png b/android/app/src/main/res/mipmap-ldpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d4325827ed41d48a57e120b77207cd8217ad7c11 GIT binary patch literal 1783 zcmV004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 literal 721 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy!iOI#yLg7ec#$`gxH85~pclTsBt za}(23gHjVyDhp4h+5i=O3-AeX1=1l$e`s#|#^}+&7(N@w0CIr{$Oe+Uk^K-ZP~83C zcc@hG6rikF&NPT(23>y!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index d5f1c8d34e7a88e3f88bea192c3a370d44689c3c..018d7ea48cdba11b3ba36fa69c42de14bca02c67 100644 GIT binary patch literal 14064 zcmV004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 4d6372eebdb28e45604e46eeda8dd24651419bc0..9f5820a553b1e74a5170cbb04ae3cd09d226297f 100644 GIT binary patch literal 22841 zcmV)uK$gFWP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` diff --git a/assets/images/logo.png b/assets/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..aa90bc0698eed0cb9ecd4281e6131a0d6010be73 GIT binary patch literal 20090 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 literal 0 HcmV?d00001 diff --git a/lib/main.dart b/lib/main.dart index ff45286..ecf0bcf 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -4,6 +4,7 @@ import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_jdt_store/router/app_pages.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:statusbarz/statusbarz.dart'; +import 'package:bot_toast/bot_toast.dart'; import 'global.dart'; import 'utils/utils.dart'; @@ -29,6 +30,9 @@ class MainApp extends StatelessWidget { return ScreenUtilInit( designSize: const Size(390, 844), // iPhone 13尺寸 builder: ([BuildContext? _, __]) { + /// 初始化Toast + final botToastBuilder = BotToastInit(); + return GetMaterialApp( debugShowCheckedModeBanner: false, // 日志 @@ -39,18 +43,20 @@ class MainApp extends StatelessWidget { getPages: AppPages.routes, navigatorObservers: [ Global.routeObserver, - Statusbarz.instance.observer + Statusbarz.instance.observer, + BotToastNavigatorObserver() ], // 启动页面 initialRoute: AppPages.initial, initialBinding: InitialBinding(), builder: (context, widget) { - return MediaQuery( - ///设置文字大小不随系统设置改变 + widget = MediaQuery( data: MediaQuery.of(context) .copyWith(textScaler: const TextScaler.linear(1.0)), child: FlutterEasyLoading(child: widget), ); + widget = botToastBuilder(context, widget); + return widget; }, ); }, diff --git a/lib/pages/login/binding.dart b/lib/pages/login/binding.dart new file mode 100644 index 0000000..23eca29 --- /dev/null +++ b/lib/pages/login/binding.dart @@ -0,0 +1,10 @@ +import 'package:get/get.dart'; + +import 'logic.dart'; + +class LoginBinding extends Bindings { + @override + void dependencies() { + Get.lazyPut(() => LoginLogic()); + } +} diff --git a/lib/pages/login/index.dart b/lib/pages/login/index.dart new file mode 100644 index 0000000..96001b9 --- /dev/null +++ b/lib/pages/login/index.dart @@ -0,0 +1,6 @@ +library login; + +export './logic.dart'; +export './state.dart'; +export './view.dart'; +export './binding.dart'; \ No newline at end of file diff --git a/lib/pages/login/logic.dart b/lib/pages/login/logic.dart new file mode 100644 index 0000000..cfd5793 --- /dev/null +++ b/lib/pages/login/logic.dart @@ -0,0 +1,20 @@ +import 'dart:io'; +import 'package:bot_toast/bot_toast.dart'; +import 'package:get/get.dart'; +import 'state.dart'; + +class LoginLogic extends GetxController { + final LoginState state = LoginState(); + + void isExit(context) { + if (state.lastPressedAt == null || + DateTime.now().difference(state.lastPressedAt!) > + const Duration(seconds: 1)) { + //两次点击间隔超过1秒则重新计时 + state.lastPressedAt = DateTime.now(); + BotToast.showText(text:"再按一次退出程序"); + return; + } + exit(0); + } +} diff --git a/lib/pages/login/state.dart b/lib/pages/login/state.dart new file mode 100644 index 0000000..8c67d4e --- /dev/null +++ b/lib/pages/login/state.dart @@ -0,0 +1,7 @@ +class LoginState { + DateTime? lastPressedAt; //上次点击时间 + + LoginState() { + ///Initialize variables + } +} diff --git a/lib/pages/login/view.dart b/lib/pages/login/view.dart new file mode 100644 index 0000000..2efd7da --- /dev/null +++ b/lib/pages/login/view.dart @@ -0,0 +1,27 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; + +import 'logic.dart'; + +class LoginPage extends StatelessWidget { + LoginPage({Key? key}) : super(key: key); + + final logic = Get.find(); + final state = Get.find().state; + + DateTime? _lastPressedAt; + + @override + Widget build(BuildContext context) { + return PopScope( + canPop: false, + onPopInvoked: (_) { + logic.isExit(context); + }, + child: const Scaffold( + body: Center( + child: Text("login"), + ), + )); + } +} diff --git a/lib/pages/splash/splash_logic.dart b/lib/pages/splash/splash_logic.dart index d54b4a8..b6c247b 100644 --- a/lib/pages/splash/splash_logic.dart +++ b/lib/pages/splash/splash_logic.dart @@ -1,24 +1,64 @@ +import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:tdesign_flutter/tdesign_flutter.dart'; import 'splash_state.dart'; -class SplashLogic extends GetxController { +import '../../utils/utils.dart'; + +class SplashLogic extends GetxController with GetTickerProviderStateMixin { final SplashState state = SplashState(); + late AnimationController animationController; + late Animation animation; + + @override + void onInit() { + super.onInit(); + + initAnimation(); + + animationController.forward(); + + isLoginFn(); + } + @override void onReady() { - // TODO: implement onReady + debugPrint('onReady'); super.onReady(); } @override void onClose() { - // TODO: implement onClose + animationController.dispose(); super.onClose(); } - void showText(context) { - TDToast.showText('轻提示文字内容', context: context); + void initAnimation() { + animationController = AnimationController( + vsync: this, + duration: const Duration(seconds: 1), + ); + + animation = Tween( + begin: const Offset(0.0, 1.0), + end: Offset.zero, + ).animate(CurvedAnimation( + parent: animationController, + curve: Curves.easeInOut, + )); + } + + Future isLoginFn() async { + // 倒计时3秒 + await Future.delayed(const Duration(seconds: 3), () { + final token = StorageUtil().getString("token"); + if (!ToolFn.isBlank(token)) { + Get.offAllNamed('/home'); + } else { + Get.offAllNamed('/login'); + // Get.toNamed('/login'); + } + }); } } diff --git a/lib/pages/splash/splash_view.dart b/lib/pages/splash/splash_view.dart index c684845..fae7c65 100644 --- a/lib/pages/splash/splash_view.dart +++ b/lib/pages/splash/splash_view.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:tdesign_flutter/tdesign_flutter.dart'; import 'splash_logic.dart'; class SplashPage extends StatefulWidget { @@ -18,19 +17,30 @@ class _SplashPageState extends State { Widget build(BuildContext context) { return Scaffold( body: Center( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const Text("Splash"), - TDButton( - theme: TDButtonTheme.primary, - text: "立即登录", - onTap: () { - logic.showText(context); - }, - ), - ], - ), + child: SlideTransition( + position: logic.animation, + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(10), + child: Image.asset( + "assets/images/logo.png", + width: 120, + ), + ), + const Padding( + padding: EdgeInsets.only(top: 10), + ), + const Text( + "捷兑通-商家版", + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ], + )), ), ); } diff --git a/lib/router/app_pages.dart b/lib/router/app_pages.dart index 9661540..1cff134 100644 --- a/lib/router/app_pages.dart +++ b/lib/router/app_pages.dart @@ -1,5 +1,6 @@ import 'package:get/get.dart'; import '../pages/splash/index.dart'; +import '../pages/login/index.dart'; class AppPages { static const String initial = '/'; @@ -11,7 +12,8 @@ class AppPages { name: AppPages.initial, page: () => const SplashPage(), binding: SplashBinding()), - // GetPage(name: AppPages.login, page: () => LoginPage()), + GetPage( + name: AppPages.login, page: () => LoginPage(), binding: LoginBinding()), // GetPage(name: AppPages.home, page: () => HomePage()), ]; } diff --git a/lib/utils/tool.dart b/lib/utils/tool.dart new file mode 100644 index 0000000..a07b8b3 --- /dev/null +++ b/lib/utils/tool.dart @@ -0,0 +1,9 @@ +class ToolFn { + // 字符串是否为空 + static bool isBlank(String? str) { + if (str == null || str.isEmpty) { + return true; + } + return false; + } +} diff --git a/lib/utils/utils.dart b/lib/utils/utils.dart index e8eb31a..59d82e5 100644 --- a/lib/utils/utils.dart +++ b/lib/utils/utils.dart @@ -2,4 +2,5 @@ library utils; export 'logger.dart'; export 'status_bar.dart'; -export 'storage.dart'; \ No newline at end of file +export 'storage.dart'; +export 'tool.dart'; \ No newline at end of file diff --git a/pubspec.lock b/pubspec.lock index bf4fc5e..176c045 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -25,6 +25,14 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "2.1.1" + bot_toast: + dependency: "direct main" + description: + name: bot_toast + sha256: "6b93030a99a98335b8827ecd83021e92e885ffc61d261d3825ffdecdd17f3bdf" + url: "https://pub.flutter-io.cn" + source: hosted + version: "4.1.3" characters: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 96943b8..21c57b6 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -7,6 +7,7 @@ environment: sdk: '>=3.2.3 <4.0.0' dependencies: + bot_toast: ^4.1.3 device_info_plus: ^9.1.1 dio: ^5.4.0 easy_refresh: ^3.3.3+1 @@ -27,3 +28,5 @@ dev_dependencies: flutter: uses-material-design: true + assets: + - assets/images/logo.png \ No newline at end of file