From 347b9654237805e46b102dd7d6aad2dbee4589b8 Mon Sep 17 00:00:00 2001 From: Reginaldo Date: Mon, 7 Aug 2023 18:08:45 -0300 Subject: [PATCH] customizada rotas com nomes das bases --- assets/images/desenvolvimento.png | Bin 0 -> 4275 bytes assets/images/homologacao.png | Bin 0 -> 54189 bytes lib/main.dart | 33 +++++- lib/models/aluno_model.dart | 2 + lib/screens/home_screen.dart | 14 +-- lib/screens/login_screen.dart | 108 ++++++++++++------- lib/screens/responsible_register_screen.dart | 10 +- lib/utils/fixos.dart | 4 +- pubspec.yaml | 1 + 9 files changed, 117 insertions(+), 55 deletions(-) create mode 100644 assets/images/desenvolvimento.png create mode 100644 assets/images/homologacao.png diff --git a/assets/images/desenvolvimento.png b/assets/images/desenvolvimento.png new file mode 100644 index 0000000000000000000000000000000000000000..091cc9036dc85bfe1b90144b7c761f1aee8eca44 GIT binary patch literal 4275 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 IP=~Pp0J+TiGynhq literal 0 HcmV?d00001 diff --git a/assets/images/homologacao.png b/assets/images/homologacao.png new file mode 100644 index 0000000000000000000000000000000000000000..1526f6113c393392cba80a2ee6125bd7e199b63f GIT binary patch literal 54189 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

r>+GG)+VEQC$4?Su$hzZI<88gaa`bS#FY zw1^YQf2XME2p3YrXUF#qM-}*ZC;5m9c=LY!=UnhhGdNC2a?oHEP}-J6ZJp76!Ag$s zEbIi14js1qRp4wuxkNC-zeQ=3F~@?`ME$Zh)rKspNJ0rCd{9DB_d6w^_`D)kI=_BGwGwhET0V!Y|;Qs7E2 z3vG-28HlOOrNi(sHI9cvf_wDb|DnR;7e33ECr<1l2!|(xxGfSX|R5aCzy0 z5sANHdaG-2dGWF-8R0m9ees+#f9K<)1p*Jo4&?By+);vdF_|Rjwr_!jZGcWxk29JR z&gDJ#{8(X31i>jZE#zy6)GfvAF3bt2-0}fTi3oa4iMI@nq~I8iao)dz(9e(p?3$bF zn=_q1Lx3;f5hIeNHJNTQJ@3e@9t5*P$cX>zbssFIQ61tB!y_!AZE%HfTtpS+r3>I+ zsQIr!?yo(uhg-f59Gf8=C3S`}Q_8SyHPCUy+v_jgb+LgTm3`fRbRphac}Amj4ueA| zmoQZ03awaKWsxpBdKjJ0lP%n^U+<(F_zBre5pp+9eT(4 znp7*9&O5j@|Le>Mm=vd@Z0&08R+6o8St-b9(y`UuU9-WVMeFs$vH>#DK%rfNPo*8T zsuJp>$uUBdZ!RVNL;}|re8UFF+cMOy;xR0nnTFPgXJ)xPrbrG6f^kLsdXP1&C@62- znsEy&MiD9;9dK5O;-eTGl>-hJEgZ@YOGuK6s^ z@;`l)ptLie<^MdL`Dow>&k3!+KFTHQJN)M(zA{Sxy*)T*e(f_L!g|Wk;|A@8D|V{W zj5j_=jMkww0)$F6g?F1P(8Q3F=QF6IO5k@rJ1~9M-v1Fyn%jI#IV6ZtgkN2R` zA!CS$u;rJQX<2`q@!|=xKFex^;j_+sX>yLpSXa!-kj*OBtuemSqh;Ote6wxW2Md`s z2^jAenRDzwdO)GZBLGS=E&p|YQ;R#(jQ8Y7sJ%5L-=Hbqz;S5Ee+c|EPG$pWPu{a0 zp*{Au)MK9<%B=xr^iAI20GcWUrE&yu#$`suc{_QLYwcdU5An43=#v`?n?Iy1_P_a$+b;+P- zc9I0e1IIpnkbYOCo}9x9y$1d*wt6-H>u{ zdRZpQTfV`nBomd{nT1T1Uf8fZ%CGA>Z(81eJz^RZ zpw@1%RxGRLS32S6)QYQ=fi#u2iKG5WY|~#_pgYK}2mUgne(bjF?cN8khMQNHK51J= z_jB1GOsqMupb&`L3QJVl{EPmbC+ypG;3m5b2q=_^UF7I(szQ-h%oB9hq8RYzNYUc_ z1x?Q@II%X|WVwxlStQAJp}fXJu*qT*A_eEzAk`J0t*_^`9;b1bfJEk|Yq#he-FgFezHyM{FEa(T-E zT%NmcijR0}JJfxfmOUKjivOl_wDmjFr6|J`kXL0of{*k6p&B>Uz$%htq2UAz?21Z< zq#^pB+`qQGgW6qp0-ttse}fgVNUSo-MH2yHG9s%d8d&Zhh+hO~AxIdQ5Q|`~#Ipwo zeKtEFM6=y3HbYUw1wvEWV8l7e<>g6HM>ri(2TNgVWUa$Ze>jo_7(@CDxoFQM}e~|Cn-%}y}$LS3DvZ7sg#27DF|Np$xp8(P)_KGfA zGgS^JS+w*%i7QouYIo}pf<>uD+5&%XBsdO-Bk$}uYeyi$tGP3D2~1nI#wK|SZZhkK zhu)Oa(^K!zLEmC-lPO`7c2HoT-1M29S6O~UArJ_n+P-B$fC9=}0&IzrsjRFVI!onE z?OISF80**R8!?%5!ZOlkk>xuiTT^>l``oqq zY&>OmcXu!TQ%Jyf98{M#u7839Fez(dFyMxL;Y73TOi(|nnXORHV#3PgR`-2Ll7^Z}8<-`QheOGK9SRW+1 zx%xD|ZU*=I&~Pf87zFIwSN!8Jv?aaekm-h3*sPo#pcGXbw$r4$5`aLQ)b2e}2jTqN zvF`yJHz-buz4s384%@WfSK204{-dS9#u>B7VIPd6D1It+=XS;~yAY1ycIQ*vgl!!* zuntfrH<8uvG8_~)P6=`4g&b-kh&s-9%Ce6Ro%sjlwl#^X;w_NW#m%5}xKOzvTo#tc!&z%H4FFtzQU|<6~82B}&%#5o6c;^Nt35>A>SbY^+{PTx+mn+R_zB*-8S z#$?!FIHX44vDmB%B1V^k8E^NjOCnhVx6LtDGjv+fm0{hzW>e!XsN@?5#sy19a! z_1^XUbV%6bpLO!eBQI}kBro%TH+WLN{OPJ!;J#^Pr^Bpf`0_L|5{J5D#gfYODOAVolaeRjJ)+7X_rllpWY_GhVLXwqJ<U*I^&A2EV;Vq`>`5C9Po!a<=)+$6^c$F1=}EJy?aZ{| zy|6le=UIwbrc@V559|JEO!mINwwJJY4@nSj7E*Q=8}))3pmOcnQ?%6ge|+|C&Fdkg z@~yNl_?AiB!wHIOl(v=gX8yX3-ZzWr{^8p7w($m!{jz`13e}+30F{V+)Bau7rWXuO zn@NKlrpgJKIWISTO*c@w;;0UF#Zd0%o+BuR({KL{BBd~o%f6U9xqBix6wdMfR zzioj#YcfmAn0c$AGO06SzZO|Q&*6M-y5w$%=s)Z5mlTwTLNFG1YNJ!v zUcCBD5FMK8&a2D{0Jj*69UTsosU-vBezaNsAtUs7;Sa{m$fG;)vTj$#FA=p=0DH!trz>w^7a1aKjrl- zFjD)&;S4~7pe{`c7wlnE0a5=DT-{LCvMnD$rn{^?vs+&~x2VasCLar)@$$dI5#$#M zoLDSZ2l3Us&O!e}lhJN-TpZDP1U>CG!;?5Er_}-C6p(=f*dWg5pD`E@BpS>M;z=U< z`!MX}VMyhJ#by5Hlfz|p1nqyi%>Vl@VoNCX4;eS|=g*V3&(6Uz{trA9Mf|^W{m+|c z@G!OfHvHv{NJCoB>$IMXte%X2e^j-G(KUR(L-~9e8K#zPK-kf988J@2_w>JAJY$}m z$aahYQf{!$9|vhRz`0w)y*Z)YS>K^B6dOqhH__&MbFf;`1}a7mYLD{4RNJS8)Y$oz z4-=H?K$9{Mava*Weg|kOx0AOXlp8|moq;sl{2>i`w_|K6aAaWUEC7z8ggDLxq2ZXh zdeZ3-4hbPaDo?rLxKf--#iTzWM}0Dn3-0{yqMhRY9u)R}mrhgwSMX(xMzarJQ&Bx+ z{f~Gj_RbjmAE@_#$L_yVoryO@uo1;Sg-zBHVv6p*o1}H`Ci~fwH_7}S6MJ-AY;0_t zP$tNbaHehGE&K#!;?oQ7EoBoR{PHgmOpD0#4P=Nkm}<5rNw^oT@iMBQ>zs#m&jn{H zL_}!U;VZ7Cuq%wz^;bAX!S_1-7gA=bK6dU82YVCu)!eDlvKJl;PI^k#x4Rgy+*k_8 zRaxfW65F$DsuTp^E;D_de=byL8%I+q6V~W$l{>cx`(mT&A}&BwyMCB9&cGlz;XKEW z)(F(UD|?*o@JwyUR_>6qWZ1@cU2st67JU@0I{AY~sOEiE*4+St?4`N8!X znCrZ+!PgT^iJXVk$sdxUCwzoXSPOm3Qih&=bO*f-3iCs?8+a^}9m z80LCdb}3h*wZ^g?JXrun_tQxIzLuH2n4S|&uX4+YfT+*gHz}{b98X>zYc!8k9vI*( zVH#8)>^WE!U`d})WDwet#(F>MS?&N$No5Buz1jm5e$(dJTf$m#D6$)H>fJZs<(FBL zUXm}qsdPE_=Qin246ViE0^IL#t*iB=mlAcqdP`@I(CCGmZ};I7DXul9g)C_tUNd}WJ?ehn@|oQjiTaZ?iOrnJ0y3<)%=#0+SYqM+hU&cr zn3X6dEwda}&Lgd@v7e!7xfgN4-%lV5CIb-STvPFnzY=%RO>YVMeSz6^=)!=rGT?Z# zUw8H$hM|T<>HPx3?0x_67oXk+X*>_O7{++?@!s{YO6O--*=+TOMAw6p%kLf=WbRME zPZ!^pf;p8#$;pxH^Gnl_NzE6xROL?VRxU@5SpQwG#FR84Eecro|dC=-^~}Y zKlYYfX%eR!JS7Y2B%GFPI+(}uSSx6E7sO-iFMSHQms|W~4BoKFzzF`vZ2s~soclJa zWM_;~#bqdg;N|wq^uMJ#o-L&)&H3Y#ZETsN!WG35(#cJ` zKSX7rx|MI>?03Bw=O{7NJWCJ$3E|5DsM>Yf4v;Q z+Q3gA_rQNaL`ID_R26vXgLUPfEAW*JlL@nP)$}r%S1Q|&cdAYL~Ip?IFr z)hE*;985|_gF3bI=$%VFDhp-{&?-G98iLsR`$U>m!tUl;tJsLu#o2=ZP~u^QAIuY> z|Kb~+GVl4`tKlDGmsHg=E@u`Aq-#_v0d4c}oQVo2{^W7pT2?I1!g=Y^9XWb|+hK zLRF1;g`MwuYCaPlbz~ynMV@Uny7YVb{?rd)Sc)XK%=YNoP@n9Co?Iq-80<6qXCaQV z%{AMHZVFl-I!}AmZ>siIMRHBqyFfxuM$lErtAn|g;qjv0c6m;XPgz*iFG;Km1<{O) z&$9Z2amXh->-PRZj&xqkAKvBc%e=&}UJ#=xu)#S2WRe+h-y7_4b0|3}+-%reP6MiV z9Y6b`%-HMv+dtMB-qxN^cNX&A*_`!tU=q`mIuw`H_xQ)~*-;a}ef1cB%`HB9rqpD6 z{*Oy?Vy}}~LdA5{f_~bKN#1l@x6CL_OrZyj2c6K12yP~diEp-aUka|v^n3Q7UybWx z>N-g>4}%*>Y}S>)T%wGWhSkvYC`#otiydeR*3r%i#gj@3g@oYthJ5Qmy+;d`VZb z8&;F1R(yax|2EzvS%BJTD=|Suw+C@?yy9aFC7SD81GL!nm7)Z*hE|G^=dWtct|pB( z?)B9ZoH=Ln+qkv(>SF`fGR?=N1;&P>@v}gc4{x;(GW*hZzrHXn&!sX@YNVAZLUS;K z`TR@z_kL?tmvsEQ#C7Uo`wdM44+G(=jHl(&Tw1K-q|^BUkWOyD_Qsq^#|Y}Ce6uz* zygm0bsozi0DJXt5cJuuH?S0B6agB$bu9?CLDOaB!#ND8hxeB0JQ(#zW1#puL%e>g)q-#8$ z(a5}Pwabib+_F*nNc)l0Z-lJ3WsN+}tPyZ6_y|?*cp}Nm{kwp^)t2un@+tW@SAV%L z!*GmR=YX(LoExL#YURh8YSqA40d}ez|&A-g>jFcuu-lfr%Ie!x$8=6a_NlbyNU%q1>rebM&Z0NC4 z3HSurT4j+rNFN+@{%BABbu?=q14nc)~CVZQ`2uHnIH296tE7ti#5?{7{^UiTI-Kd)%fJchqrBpA{ueef0L5q-X4`1pxj zN#w#S2V@)%(0zyNRO0RjEXS@^@Y(41;6)KTdq_%B@bRP6v5}50y>% zxfGSVDA9#8CUCR#H(H=Jp@DfU^X*bTG^B{{gX@&y0^FGU^IY!||7^IA)PL7D#t)!M~lBMwc?FkjN!d^59+)k{obqKYP+ODwanV z77un?z(ybLKDd55>)WFu<*l}PLv6CkHD{kkR*Nls)$#Q{rm5G5K6ym(nf43HQT#8J z@B~aEzHgqg$(7%7^HHu&a76;|%WJG5taf?M*Nya7C|~(9LZ6!4`R#mQM*TiaH#YkP z{P@Y2^ZGhzokbULL-{7F7wHRfVBI*bdcAV-j_NzVP5!ah2hd}l z0!Y)5Rl}j``h}3>$G%!Pqx{0J*DsEoqndQu!F@sB(&ItXl_<(Y(Hq1x$oK6ISmIoz zeRut^@e5D|$@q;rr9L9spKGhwKh}+VlTb-HIZenoUsx#Vp+g?g`&L+A6kbvaJQShw zp{ux?Pjl$zlXVNgytEVN@OJ;#t06V%nnR^u1L~J+*uQd@b5CB25PDz4F;-#FccnV# zSgh#{*)MAF%)&@k;8tqJ9P63hFJi{xvIl;C@*);fb*%k<^x-rcxrTxeIqyL9_8~UG5@^EiT7(T=u#Rg$NwA2?MNV1f) zCC+C%sn!`mxvYDK&EoYO0YxjJtW?B0ZCPIX_WNP5cIJu(dkvt&VFt$nf`+TP&7BMP zNyWcMEZWffS>cd$V^qkXasbei-wskeH}=6U zA8_G){3zKl<^DnOkV|J7_R-OYLfD4@SF@+^$oHDNmEYAiZ;cHgh^?K7Z$dD@4J7^rTEOi;XY7-z`{ zZq)amIjXnoo-RKlG8Fc3_7#RCJy47UEcCCVFpHQ?96*t|logwdHif5uQB zudq)o8_2+RzrDevOnxzmKeV}2?0o*{YD-qpYBB#>`&Xf&Pk9n-QAD@^OpO*N&p(r> zkilsvsoX|>v@CFX{}X=Vl{A`FRhF7$_4Ni%4V6dTaaKR7)KPJ}dDnQWi81lRG-_7x z&pYqEZjacHjh7Jj6(6ws03`vj1((W#^)Cu|$XtJwIdKkzUflvr*cHBAd%|32=5h&? ze3LrAZSRwLM&7xO7qiL=z9+c?h0g9Y0=#C+eZ$6CZWZ=MZ2?EAK+6tqb3gIIGC8T} z>$YXL%EWZG*p55dK3}h&%#@i`22(xv$d`(WX`HDobh#y2WK6s}ox81zZu?}OxE+Da zEwx;ha>eGKT%&J>7*Z+S^$o!$^?Ja*JPe3?g`JFUMz3b9^1js*tih|ayttEincM)Y z2z|FSZjriB#=@4AUpsz}8zA*L?W^lWpKaey*0-bX$E(ES79!-YJ$fTM7vA_Kzs1KF z#VXmMaC&7V$)HgDv8Y!J@rv_aI{`3LWK&s%Uy$T#16af#oq z++jlnq0AR_1$^V;N4PFyS!GSx+&R{rsQMpm(k~LnI%I=ia`Z|s+&#A*YfdeWuzk-E zbb*iYDq2JM2d-r-fdKe*YHoAxfbOw8K>X4-T7~JMH=;UhU{h7TV_JHmpMe__4?FC< zhVj9N)_(fqi@k;0zc53KhCn6fH!_(Wta|H}9scHqcn_kLA7(gZ#6Xl%FVcgZ-EX>b z6sIrQFs!9xwAb(QSttE&wkH?EK`M8&joJM9nm1vs;{HB(?$xh!Z&YZ{6_<@k?m05? zNR#!0)00{2JAcGHRR}~U90GV~WPL0zhFfmkNuoO~s=Ft|Gg6^j-r$&iH{n9i_x1Zv z7b72UJI@cXUN>5Exg+U&D!Vir7RZd)0WjNw&3d-l1i~M`QX4l zWn4AvHkDCO^XWS8?;DDwN0NaF^U`;JvV0vkB5jWyA;Q(dJ{X=~hdfYjv`lE_y`oB` zH4JS-0R8eEmoC7a4Z7gZ`&~Tw6HK&d_J-@;BrwpoETqaZHVdiv{HnwDbxnTIodbGY zs%1|j@I$#^)=q;x6q9(7Yea58kU#;bgFFh=E0?v!$qDa5YIMi!9_Ml^~-4o z>9(c9!e2APztheBvj4%EU9*XNZ*u}E(mi7O;#nmgdVPmcEfJxXLPN zkGsBhNTLvKr5tPZotIU;>HKCJS*qO`&-e*!g{tos{rnA$@God--T@p zrcf8_kT&6#0gpU#AJHk@jB~)#Yu)<3_>up~X=Oy^S)JU7Pls;nVOEK@{8ad`)@$s0 zw{nu%(0ft>(o9;S*yACKVezQO+f{}}8?nwjLT-ao1aqyn@{0q}d)Jb}2L=H*lqqak z4zE+rQzIWp*MNw`HXC&ii*~we4AYIDTRw|@z#_Gby6meFWb;FVgnI=+)`X! zzXKH4!Vj(FEY3A7Q0$ip@X@sp@mVqHyYSjOQwfK8J966&F7kZo^aOFOyPb+!`t|1? zSkrY&!LSL^^>WZVH=pi`E8I=&=RQGO1U!bpb%Zklk3p`%Z$La*^bVX?zumRogTX0t zJ585NnndiJOPyZ5@|Sp27WbX>CA{OEaMNwWYd?p6QyDm<3s0S&>Xg_2eB-i%W^u+~ zk=_isXn*|#m;dy#>4~ONjoAt44z-u`R<{3`mgHd-Tgy$txX0anF8EvwD?N2n{)Yly zC+UX)MRGiQ6(2FqK&`|IMYF^b>{(0z)tiQhI0GbvLC^I3b$kR+=go1RjpC37h$Y(W zDwpC~oo+`YlqBzeFZh?c#rqs#Lu*CmfzsjGJIi<0!A*oc4H&nl3S)@m>wKe=`&=zw z;@nxf&zQv*j9&Drd~$rSPi7Dt)DK2k3|kO0zU4FTXD7Z6 zx00WCtXOQt-JTC^dM1~(J}$nCh)bxsg5`;PAQLZZm~ZFdcnsagL~dd~N!^xn_x`Ro z8<=tVSm(U(*qra@Lf@Nm8}qcP4goS+QKp&gQ_~N=+cK0?=H5{|C~%=>bJD$bnSle%;I`I!gS|agA%WwMOL*+4_D{_Q+vG6Q6G+c8Kn?%7k#0|vE}4;2Kl5|zzIyHEmzj%IR^n;_MAPRgk+Er4Pl zzxy1bc{EQjVL#%nG@9U0Q|krzI0QgBk0MWWU&i)^$rc~)Y&kf2KVJbb=t+kN(Vw%; z%}Tk=lWz6Fd8X|A;tANrXXK+xrT5nudDpuV@KvdXSJaMH)|adf=m)ds*MI?b2wnH4 z7{fmxmuLPuGI6M_Ge+p5Xet{!p-CQFvdb&}i4O57z&>Or{NnE6HJD@y*T;oe8<}r& zSouB1h{471t}dHqU+*$lmZxfy?8DBu%{T8g17dl8S&+|a=PGqBTrYGNXw2i(A?LQ4 zWMrPsr50j|FO6Z%dqZn5;-i+GAvliy*Ji_P~}cO7q6t+=to+IavDVnSc)Bx)(;g;~T_iRdercyOSpW!~^E z559Y~8i|7tl{@1=F)*v?$LrrM%zjM&c6Tfn`th0XXN(qKGX(b%=|vJBS()8r3Fplk zKGRPl*|1-i+kpV)@{r{B!eaEY!{gV%3>TFJEgB}0L*{jjm) zykHFRp_seMw=fRtxs+%d{+G`ft`B(bmi`X+t1owa-9Wts^F#Ax89Y`}eNW(y4PW@+ zv4&Ag(dNC(l6+wu6~9kX8&WPpfvuc3sH?KLxfK+qLN&f(b&aXmws%V$4=aKQKz}4 z$;A;k?9vt`&oq=oc^bF4o9xb0rHWE~Y!x4yWhI^9u(wIl_`c-HvjofUk1&k3T&WXR zbS^>t7!2)-FO<9&kYy950oO924?>l$yoqV`6_d|AOGAk?p=UHq2_CK@No}IP!a7eMw z*L7Z*rqVB`6w%+pl>nOfeHm1(xH*^IJ>Jqba_G!FpSv3tN$)Y8s`=BFLa8 zQBY<46CykcwmF5R6B3jeb;0RS`m%)4`oM8P2o3f|0d&9*PbjceWtCt%BCeVk+o#ZI zDJ5Va>G=Ep6yf#NHL;YnjZAZ%0WcDa*c{`4sQI(FjQ)yKKgdgS zISrwkJQ;nLVAr&aZ53*t(>Cj|q(;aSzYZP^TLSXrrcWn#QiNtaD~9vwG!#YZyg2F4 zr^m>5s?en!EG@Ghkz`Q>@CT=0xr%kREfK%?u8#NM(Wg@U5brO8c(PH0j}lMs#tN`i z=Q;TrG9LSAm0FVsZeoMyVYt;){3RGXjg7C4lZCx*Ey{dSeWLmg6J-HWR%zR~%@sJo z<2j3ZS*oLuWbLpu^pX)Uu6KcqByrU|QR5;*APQ4R0*zF5b?Hmnkw7v1lzAQLVl1um zx^Ysv!EUm!nASm&nOp96<#)e*b4eSe)OR1}`$SIuxEhbxykJV8WGf8dEy+Q4&WDzFvRG&RU*40=i%%!mnsDFMlNjhx&_L z46WaGS42BKR-iCNh-neGKW`KSBeMg1rwVWx*IgVka|<4LCAIPAJE=FfgJ!VNcE zntkNM@x&NHtAe!VQm?;_rfH+9C>n=#KGKs}PZkUB`eHikrAd9=)xRXQyg{;$VM|mlYDnvzygW)h1GXr0w~&3<2p?@sLqfr{Iva6w7_vugFE=$-fNlM@pQX* zjIa*>MT6bNlsY-u0=`Ck$MyHhZnXwcM{=CH{V8%HaPnUDqssy@!&<2kwF~b$M{K(SCxPk>*LxiSA zKcxRNK6K?5FpnG4we=;5Vl-eWo!uija`inqKGzYn8xNyf`}Rcqf#7>%j%XUKam8m$ za*$Jt?ik=MIC1$^)s6SCS#I!8?0a6b7TPLq&jU$d$>?n|gz2p}LwRU+3qzxLiSOOmZE9e2l|e)&)g zzi(fJzMiIzMjSbL)uES-zjn6jg5@naL|QJ79z0J3f6kOXKY-4I5(S@Me=8}(?y=G# zM_|C>j=%a%qqWVfUt(;isR(!aHLO;!?x5S}VXS`kaGW#MWhBL={G5f+^m8(!F36HuI|&OW_f<4_CYopm3)B?Y8fhD`cISS^{$=$*_bqa|6TL zbYyh7>FhbK|6r32)o4a<-}d6BnG-W!FRZdE*@cCT=xCN}5_(>wdb@3i(oDY3zc;8&jkn{Wo@a(khg;67H1;f_rv@}ltbTle{FTek^f!1A; zNgNN5M7_{{rOE~~yG3h>e0L@gSHP-=uA33rl9ALVvE9uioV3NY>&Fy-@0zD=Q#a?n zeOi!zt6i?;b4-UKfpVC%^>r)@>wvVAbQ%|2mb5?)spYwQJz zv0ttzD56H8ZZA>Nd&wwV4=UgM8O>VQ3d4vVt^mGtttI6vQ!QhWzf*@f4?krd@w;Xl zRrEeen$5Gv_xG5h#hBrtIp^$;#tO17x1mkAeiJg#iCepMZF1F{)B85C_opGTd=!CS zPEX>!Q%kXKBfk6fT2C>TbcM0F>&y&KFk1<)_m9C3IMr3agmPwR+q^RvE2}uq!Tk15 z$=vqU)U@MNQnX!KQF<6H@?i8%a)2TgK#W(y@v zGip*Fn9-Y2o6g%eMM|OW>v}5hKTA$Sfn|49piX*jErmu!F?prk=umn|T-e=^=N5e2 zXR3r9DE+61n3++JdWq}UL9W`? z(_}NJp`{t^$8gFo8qiHzAc%&)cJ8<70ee8ZUKeZ{gl(24Xnc-5Uw%0rV zaoUj=K(WiF(3D9Pu5+1le3-8Sb!@-HO*HVpZnOB@-6I^L#+s}Sf={D_e2DKWf@#85 ze!8z#R-)K2qrWO~H#76>aQ0%{(0xceumYwQaXDK%)kq2PSy@Y@lu3{-hFVkeMFhS{ z9r2K`ohLHgEe#N46}7RaD{NW|iu(>9-3+PRCw3A+XZ;u{ShQv!z6l$t>F$0gMJq$@ zXZGAxBVTg))+tC;y=Ez?JyeqMLn0@~=s-DX$lLN@12gq+b4n4VCHCQUtNDFDWBRbr zdWgVrPetB0SHz1ho6#_S-Tu1z1*|iocCc{dK7+cEZ^~tM8UngAaMMSjhvy=ww+W*` ziJx|_Ci!YiTS`bm-52OM=lO-%w#`*tTFx0Gve{oF?lJdAKM%lVxH!|@%(cR1{$LAW zB#TfPMybXF9&&3S8^n6!Fv2DN`S6(;E%lj`IUjM@EHI!X~+f84@bluwtn zOaK7RST{yaVIzo&GGk$8b!|AvM8WP{Px1DK2sVBmq3DcduTnvkjqmajRhsK^+GiFB zx{egOdIx{9m`Wd-i^Oc-c1fI5bM7Lk)hA1-M0}6S5c|F_5yJ#`edXRV_hHTTy@3Bv zZy;9lQ=ZCEkft})>-hIm+2kj$X3$!j=Y4=_SUJCn?XK%PSAeUbQ5clHdXNioqOQnO z;+Y9KNPgas=$>}eL9c95{jjFEE|J>T+=cWg^rXnu+lv7?`+FU%cjoK7l}09A$ZlaR zLt-*IN6G5VePKRh3j*hhxP6?el%)yFVmfQFnmVbouE6%sdoq@%_1)|3$G@_g<#$A% zEPQYr_O0-DMw5JBf8~ek*2`2f-Yt&XTBB2$@$CxM^6Oi`>G&pZ*Q8Yv@9UeY&fE!= zS$&6V+cayBH)4H7cz{QkS=C)0xh2%TRYEn7oA{ITIi}3k!876KZ4wzlw+%~FSi&1` z#Y4PSm@BFaNi(|=^>67-la_v2+U>Kcj}M1;x)`9GD^kIdi(g_t=IWTdys1Z(eV6$2 zz-jE9u=co$W1}ahBTi}y zH4R4%`PYI*ARAT#W00Wp1{V$(SQnKV{Ho-gaB#&$SVjh|E^}E zq54DOXa%GZ``sXwhP)D$1jxaJiiee*#fY7kor;%(m4l0$kB^U;ij$p#osFH7jf0bg zgHMo)Q;?mV>aUGP7!zIsI2fA>sz^%z)g1g2kjC86(N2(!&Beuq)rE@{}pLrxrz(x)hc8(SxTdLoA4Gcj}jzAik-wpk}{k2~< zc7Hcy3;v58oFW^bZBm7VSH%gNcD7$UzMRvKIbx&!sIKOk6+?R$wX# zRURr1coh7_&CgAxZeeQ-asdO_{ypxWj{K9-MAE>~L>LZ=mxZ01g`HQ8gI$n^SCE}Y z>tEvk6#ZMcJjmF>)b+m$|Bd>u@P85g6%Jtg&E{WN{c#|E@8-YN|8ES9js8Yx=j34h z$B{BNVl%Neu`#iA1j8|M{8x;|MuMgw2O9%NVGA1rGZQvDTQdOLKb8Mu|NiVX+$nIA zvi=`JKLga{xcM!E}$3n2msiIMI?;zEc3LSm%5khl;cfRGsJE+j652p}Xz zx(kU5Ap!`Ak?um`LWlrDVx+r}xDXXBqYLBZ^ml@wEhuK}Jm9Whx&*na!s#mt1KuYCs94*rJ~%dnXbV6Mj8u@8Ls*eYd> z3h7k6_**%m1DWRZ=`6`O2dM5lHR?XI#$$Z5i3(>86%aZ$hQE`&*p8-WgMQN0S z-p345yS{X#ffA4e8YCa&+hDyTS?Tgld(grz_Rg%C{WacL5<52jU1xgimb*R(RnL!3 z5;d~l?p_hJd!qO)G%$KMsfS6OsFItZoS<~0KGSC*8nRhCq+7_KdY8DppTWO_NxjqqERs_ z$baf8Egd+|=id>x+9AqQG4C0Fa$r%Eikq%z{;JPBX}qvvoql3SfRnU+AFuKI{NT`x zAqT_Y2ZQuW;0_DXYQ16G1(Xc$9Mvsk%OeSNua@-f9W6Qcx*u6}G0y8St-vF7cv+o# z_HGT}QZj}N#jNg!p-z)2dgFWfQMWLuC98JBhKB{?YWgVbJ|jApP{wlb!xgvtj@pr7 zFjK;*TE2xM|(Z!{>dBIIrEaOCw}N8)Fb(0UXgbO zVKIoYFa3@*?RK$e*MfCq&4&fZXYYiM7vjq4`qCHF1+g*>!@X)iw#f^P>78p?f+&qG z&(DX^&Vp~8DrM|biH^bTpM)NK8=ssBT`8|LBhBOLV3CRE=ACJ`7eXH-Hy^i-j}Q`I zKjPjk`K2v8iKUeO3|-Id<2?bpE8&PbUu*etP40&db5*`83A@Mr)vqY8v-CVBt5vEU zGB+(szwRs_RyWY~xbHGKrU$?qSbZT(i+}JrrY*WXDLa9aB53!ByScr7`)uy@%ny5Q z)F9MOuFo1o4Da@O7kwb`J0I3n^J{rADKe3V7EWoRy(d~;KNgCCru6Yr9 z5_0)ajo|vN)IhjwP$-QVAlE_{pZ8MgCZ89CS%)r}ehCU#gRI!w4hSnNJ68T&%{)8h zB9sCXO6l##&^%PFOW6?IFF$`9ToIbJOFohDF~Ul}2NduUBPE<0lm(RMR|k8z1=80o zkWoKQ^s_spWki=s1}CDy^qQ0&dIC|5mM!|CiA@$aUUm|o%wTZb-Sh9~a2$IWA$52j z9Y^ZD6^@6Wh}Hq*cPrz&K;@anLV+)ga)Ptk{<*jz3lj0#xQfCfr);Wu|2053#-V)6 z53>S)K_zf9`AZpnt(A>pC_P8)QaPUAs5rJmrmD+MBH9D{-JrFD=s3pc++!__)xAEW z`Z0GFNg;IHl->Z(PSx&)aHokJW~cA1cf>7nH}1M-;%I&xYpGs`^?_B#poZq7_hlZ7 zA3j6R4LqC~N_DDyE)^TyA^ZXY3G;lR5aqhD7s^Fa)!aUyfK@4TH~*=Y>%1zZoaSef z!IJCDD+d398_q}%&y5BNon#Ld=qYzww2UD?5M6X!QOT{E+4;+XE8D8J_4B|Xu0)D>DdviyR70us8h7N9@*-+_jWN?s2Myx#lt=qw>Y}-|5v~XpYwroF~R1T2es0jhe z33j?(ObLN4ia%fr?}4ZVJ7EblOk1-gg>GlToh*MTX zURex=O=T}mNxG|WlP2lBxQ<`+xl>4Xw4}N)6OkA3&6c!2+QD+Iys#lUW`oqDQ{tCY zUR+ylhZf~*dONY)^`+oH6hjMky`hv;Zw{^`s2^`E3pqz*&c9 z7%>^WJrWRcke7K%17YbKKRQ0{?8xi{M!?$GWfmT?9VtwbuIcq?Ql=DQQL8Kro})3! zP6n)awm?gvrSXuqCYb-k=LFe~8#8dS-kIM9AR9Prr3V4b&@aI0o)hoGL zst;k^K$W$r2pbqfsnkydqKIf8q@?m20-%6ilq+!^=kn4XTXCJ5ro6tO4zJAsylMQd zwG*GXQeroBUMT2k<>s{Dn_~0yxoo42#w%6w;X0E`iEq_Fd27#P)v5P|-CZsfiw8Ml z>3WsepLQ9iwO48LOYtLdbew|Pc@>TT?n(nII&a46+_LVA`O(;>bE~k4Roy@y}cfPC1_dAvp=A> z#ATs1dyAJ9i{{SS^Fv7NSFGwG{REgWBU)A(QliO-Lnzkk5s{jfG2)Zs85wK=+!O%UObeq>TTn+Dq|f*HWX+bl(3`9c!^oHxfW1F z5S8jCC?Y}Gl4a&4T_#sukippgH6-i(*>hdlgvaZG={08Xw67uyKclRc1Sv8Kh2Gfb zpRadzk&7NqOqO={-eevfM#{bGVreav!2zyTKnnR}oIauH+YmHZTz+o4a-0T?N~|w` zztS_lVCb*p4)o}}+xMKi&uOlb9IfVl|Ku;;X-W5;Z(Ih6x+}Ya441m=!;2z3SD|O% zAov()cn&1qy|-@JK`wf*+UIyge&>c(2U`^l%I67W`a!AnwR!jP`;cOI^ph(oHWF-g z-=y+}s_VyN9U{#?*lWA>k9jY4aT4fLMoQ#V4AU2n-2Uv P+gVmhL9$T%o$r4Dd6!F$ literal 0 HcmV?d00001 diff --git a/lib/main.dart b/lib/main.dart index 63de738..0be636c 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,25 +1,54 @@ -import 'package:educa_controle_acesso/models/aluno_model.dart'; import 'package:educa_controle_acesso/screens/home_screen.dart'; import 'package:educa_controle_acesso/screens/login_screen.dart'; import 'package:educa_controle_acesso/screens/responsible_register_screen.dart'; +import 'package:educa_controle_acesso/widgets/text_custom.dart'; import 'package:flutter/material.dart'; import 'package:flutter_web_plugins/url_strategy.dart'; +import 'package:universal_html/html.dart' as html; +import 'models/aluno_model.dart'; void main() { + Uri uri = Uri.parse(html.window.location.href); + cidade = uri.queryParameters['cidade']??''; usePathUrlStrategy(); runApp(const MyApp()); } +String cidade = ''; + class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { + double height = MediaQuery.of(context).size.height; + double width = MediaQuery.of(context).size.width; + return MaterialApp( debugShowCheckedModeBanner: false, title: 'CONTROLE DE ACESSO', + initialRoute: '/', + onUnknownRoute: (RouteSettings settings) { + return MaterialPageRoute( + builder: (context) => Scaffold( + body: Center( + child: Container( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Container( + child: Image.asset("assets/images/logoEduca.png",width:width * 0.15,height: height * 0.12) + ), + TextCustom(text: 'Base não inserida ou não encontrada'), + ], + ), + ) + ) + ), + ); + }, routes: { - '/': (_)=> LoginScreen(), + '/cidade?cidade=${cidade}': (context)=> LoginScreen(cidade: cidade), '/home':(context)=> HomeScreen(dados: ModalRoute.of(context)!.settings.arguments as List), '/cadastro':(context)=>ResponsibleRegisterScreen(ModalRoute.of(context)!.settings.arguments as AlunoModel), }, diff --git a/lib/models/aluno_model.dart b/lib/models/aluno_model.dart index be10bfc..6c481e9 100644 --- a/lib/models/aluno_model.dart +++ b/lib/models/aluno_model.dart @@ -7,6 +7,7 @@ class AlunoModel{ String turma; String cidade; String login; + String URL; var dados; AlunoModel({ @@ -19,5 +20,6 @@ class AlunoModel{ required this.dados, required this.cidade, required this.login, + required this.URL }); } \ No newline at end of file diff --git a/lib/screens/home_screen.dart b/lib/screens/home_screen.dart index 855feec..72927d3 100644 --- a/lib/screens/home_screen.dart +++ b/lib/screens/home_screen.dart @@ -6,7 +6,6 @@ import 'package:educa_controle_acesso/widgets/text_custom.dart'; import 'package:flutter/material.dart'; import '../models/aluno_model.dart'; import '../models/login_model.dart'; -import '../utils/fixos.dart'; import '../widgets/buttom_custom.dart'; import '../widgets/dados_alunos_container.dart'; import 'package:http/http.dart' as http; @@ -42,7 +41,7 @@ class _HomeScreenState extends State { alunos.clear(); String q = inputPesquisa.text.replaceAll(' ', '%20').toUpperCase(); // print(q); - final url = 'http://${Fixos.IP_API_PORTA}/aluno?NOME=$q&CIDADE=${widget.dados[0]}'; + final url = '${widget.dados[2]}/aluno?NOME=$q&CIDADE=${widget.dados[0]}'; print(url); final response = await http.get(Uri.parse(url)); var map = json.decode(response.body); @@ -75,7 +74,8 @@ class _HomeScreenState extends State { turma: list[i]['TURMA'], dados: list[i], cidade: widget.dados[0], - login: widget.dados[1] + login: widget.dados[1], + URL: widget.dados[2], ) ); resultadoPesquisa.add(alunos[i]); @@ -94,7 +94,7 @@ class _HomeScreenState extends State { setState(() { buscandoDados = true; }); - final url = 'http://${Fixos.IP_API_PORTA}/acesso_maria?LOGIN=${inputPesquisa.text.toUpperCase()}&CIDADE=${widget.dados[0]}'; + final url = '${widget.dados[2]}/acesso_maria?LOGIN=${inputPesquisa.text.toUpperCase()}&CIDADE=${widget.dados[0]}'; print(url); final response = await http.get(Uri.parse(url)); var map = json.decode(response.body); @@ -109,7 +109,7 @@ class _HomeScreenState extends State { STATUS: 'CADASTRADO', CADASTRADO_POR:list[i]['CADASTRADO_POR'], CIDADE: list[i]['CIDADE'], - DATA: list[i]['DATA'] + DATA: list[i]['DATA'], ) ); } @@ -126,7 +126,7 @@ class _HomeScreenState extends State { setState(() { buscandoDados = true; }); - final url = 'http://${Fixos.IP_API_PORTA}/acesso_base?LOGIN=${inputPesquisa.text.toUpperCase()}&CIDADE=${widget.dados[0]}'; + final url = '${widget.dados[2]}/acesso_base?LOGIN=${inputPesquisa.text.toUpperCase()}&CIDADE=${widget.dados[0]}'; print(url); final response = await http.get(Uri.parse(url)); var map = json.decode(response.body); @@ -147,7 +147,7 @@ class _HomeScreenState extends State { } inserirAcessos(int index)async{ - final url = 'http://${Fixos.IP_API_PORTA}/inserir_acesso'; + final url = '${widget.dados[2]}/inserir_acesso'; final response = await http.post( Uri.parse(url), body:{ diff --git a/lib/screens/login_screen.dart b/lib/screens/login_screen.dart index b97f571..283dacc 100644 --- a/lib/screens/login_screen.dart +++ b/lib/screens/login_screen.dart @@ -9,9 +9,11 @@ import '../utils/fixos.dart'; import '../widgets/buttom_custom.dart'; import '../widgets/snackBars.dart'; import 'package:http/http.dart' as http; +import 'package:universal_html/html.dart' as html; class LoginScreen extends StatefulWidget { - const LoginScreen({Key? key}) : super(key: key); + String cidade; + LoginScreen({required this.cidade}); @override State createState() => _LoginScreenState(); @@ -22,23 +24,31 @@ class _LoginScreenState extends State { //las1594@@ //SENHAS CRIPTOGRAFADAS PORQUE FORMA ALTERADAS, SENHAS NOVAS USUÁRIO E SENHA SÃO IGUAIS //ibueno - final inputLogin = TextEditingController(text: 'admin'); - final inputSenha = TextEditingController(text: 'las1594@@'); - final inputCodigo = TextEditingController(text: 'e003'); + // final inputLogin = TextEditingController(text: 'admin'); + // final inputSenha = TextEditingController(text: 'las1594@@'); + // final inputCodigo = TextEditingController(text: 'e003'); + final inputLogin = TextEditingController(); + final inputSenha = TextEditingController(); + final inputCodigo = TextEditingController(); bool carregando = false; List listCodigo = []; + String urlAPI = 'https://homol-controle-educa-api.rkmsistemas.com.br'; + int contLogo = 0; + String cidade = ''; carregarLista(){ for(int i=0;Cidades().listCidades.length>i;i++){ - listCodigo.add(Cidades().listCidades[i].codigo); + listCodigo.add(Cidades().listCidades[i].cidadeQuery); } } verificacao(){ if(inputLogin.text.isNotEmpty){ if(inputSenha.text.isNotEmpty){ - if(inputCodigo.text.isNotEmpty){ - if(listCodigo.contains(inputCodigo.text.toUpperCase())){ + if(cidade!=''){ + if(listCodigo.contains(cidade.toLowerCase())){ + print('baseParam'); + print(cidade); setState(() { carregando = true; }); @@ -48,10 +58,10 @@ class _LoginScreenState extends State { getAcessosMariaDB(); } }else{ - showSnackBar(context, 'Código inválido', Colors.red); + showSnackBar(context, 'Base não cadastrada', Colors.red); } }else{ - showSnackBar(context, 'Preencha o código de acesso', Colors.red); + showSnackBar(context, 'Preencha o cidade para avançar', Colors.red); } }else{ showSnackBar(context, 'Preencha sua senha', Colors.red); @@ -62,13 +72,7 @@ class _LoginScreenState extends State { } getAcessosMariaDB()async{ - String cidade = ''; - for(int i =0; Cidades().listCidades.length>i;i++){ - if(Cidades().listCidades[i].codigo == inputCodigo.text.toUpperCase()){ - cidade = Cidades().listCidades[i].cidadeQuery.toUpperCase(); - } - } - final url = 'http://${Fixos.IP_API_PORTA}/acesso_maria?LOGIN=${inputLogin.text.toUpperCase()}&CIDADE=$cidade'; + final url = '$urlAPI/acesso_maria?LOGIN=${inputLogin.text.toUpperCase()}&CIDADE=${cidade.toUpperCase()}'; print(url); final response = await http.get(Uri.parse(url)); var map = json.decode(response.body); @@ -95,14 +99,7 @@ class _LoginScreenState extends State { conectAPI()async{ - String cidade = ''; - for(int i =0; Cidades().listCidades.length>i;i++){ - if(Cidades().listCidades[i].codigo == inputCodigo.text.toUpperCase()){ - cidade = Cidades().listCidades[i].cidadeQuery.toUpperCase(); - } - } - - final url = 'http://${Fixos.IP_API_PORTA}/logincontrole?NO_USERNAME=${inputLogin.text.toUpperCase()}&CIDADE=$cidade'; + final url = '$urlAPI/logincontrole?NO_USERNAME=${inputLogin.text.toUpperCase()}&CIDADE=${cidade.toUpperCase()}'; print(url); final response = await http.get(Uri.parse(url)); var map = json.decode(response.body); @@ -113,7 +110,7 @@ class _LoginScreenState extends State { if(map['NO_USERNAME']==map['SENHA']){ if(map['NO_USERNAME']==inputLogin.text.toUpperCase() && map['SENHA']==inputSenha.text.toUpperCase()){ showSnackBar(context, 'Acesso validado', Colors.green); - List dados = [cidade,inputLogin.text]; + List dados = [cidade.toUpperCase(),inputLogin.text,urlAPI]; Navigator.pushNamed(context, '/home',arguments: dados); }else{ showSnackBar(context, 'Login não cadastrado e/ou senha incorreta e/ou Código incorreto', Colors.red); @@ -121,7 +118,7 @@ class _LoginScreenState extends State { }else{ if(MainControllers().encrypt(inputSenha.text,map['SENHA']) == map['SENHA']){ showSnackBar(context, 'Acesso validado', Colors.green); - List dados = [cidade,inputLogin.text]; + List dados = [cidade.toUpperCase(),inputLogin.text,urlAPI]; Navigator.pushNamed(context, '/home',arguments: dados); }else{ showSnackBar(context, 'Login não cadastrado e/ou senha incorreta e/ou Código incorreto', Colors.red); @@ -144,6 +141,10 @@ class _LoginScreenState extends State { double height = MediaQuery.of(context).size.height; double width = MediaQuery.of(context).size.width; + Uri uri = Uri.parse(html.window.location.href); + cidade = uri.queryParameters['cidade']!; + print(cidade); + return Scaffold( backgroundColor: PaletteColors.white, body: Center( @@ -151,9 +152,38 @@ class _LoginScreenState extends State { mainAxisSize: MainAxisSize.min, children: [ Spacer(), - Container( - child: Image.asset("assets/images/logoEduca.png",width:width * 0.15,height: height * 0.12) + GestureDetector( + onTap: carregando?null:()=>setState((){ + contLogo++; + if(contLogo<5){ + urlAPI = Fixos.AMB_HOMO; + }else{ + contLogo=0; + urlAPI = Fixos.AMB_DEV; + } + // if(contLogo>=5 && contLogo<=10){ + // urlAPI = Fixos.AMB_HOMO; + // } + // if(contLogo>10){ + // urlAPI = Fixos.AMB_DEV; + // if(contLogo==15){ + // contLogo=0; + // urlAPI = Fixos.AMB_PROD; + // } + // } + // print(contLogo); + // print(urlAPI); + }), + child: Container( + child: Image.asset("assets/images/logoEduca.png",width:width * 0.15,height: height * 0.12) + ), ), + urlAPI==Fixos.AMB_DEV?Container( + child: Image.asset("assets/images/desenvolvimento.png",width:width * 0.15,height: height * 0.12) + ):Container(), + urlAPI==Fixos.AMB_HOMO?Container( + child: Image.asset("assets/images/homologacao.png",width:width * 0.15,height: height * 0.12) + ):Container(), carregando?Container():Container( width: width>900? width * 0.18:width*0.5, child: InputText( @@ -177,17 +207,17 @@ class _LoginScreenState extends State { ), ), SizedBox(height: height * 0.02), - carregando?Container():Container( - width: width>900? width * 0.18:width*0.5, - child: InputText( - inputFormatters: [], - controller: inputCodigo, - title: 'CÓDIGO', - width: width>900? width * 0.18:width*0.5, - colorBorder: PaletteColors.white, - ), - ), - SizedBox(height: height * 0.02), + // carregando?Container():Container( + // width: width>900? width * 0.18:width*0.5, + // child: InputText( + // inputFormatters: [], + // controller: inputCodigo, + // title: 'CÓDIGO', + // width: width>900? width * 0.18:width*0.5, + // colorBorder: PaletteColors.white, + // ), + // ), + // SizedBox(height: height * 0.02), carregando?Row( mainAxisAlignment: MainAxisAlignment.center, children: [ diff --git a/lib/screens/responsible_register_screen.dart b/lib/screens/responsible_register_screen.dart index 986965f..bab70a4 100644 --- a/lib/screens/responsible_register_screen.dart +++ b/lib/screens/responsible_register_screen.dart @@ -39,7 +39,7 @@ class _ResponsibleRegisterScreenState extends State { bool carregando = true; bloquearResponsavel(int index)async{ - final url = 'http://${Fixos.IP_API_PORTA}/inserirpais'; + final url = '${widget.alunoModel.URL}/inserirpais'; final response = await http.post( Uri.parse(url), @@ -78,9 +78,7 @@ class _ResponsibleRegisterScreenState extends State { } inserirDB(int index)async{ - final url = 'http://${Fixos.IP_API_PORTA}/inserirpais'; - - print(url); + final url = '${widget.alunoModel.URL}/inserirpais'; final response = await http.post( Uri.parse(url), @@ -209,7 +207,7 @@ class _ResponsibleRegisterScreenState extends State { } paisBanco()async{ - final url = 'http://${Fixos.IP_API_PORTA}/pais?CD_ALUNO=${widget.alunoModel.dados['CD_ALUNO']}'; + final url = '${widget.alunoModel.URL}/pais?CD_ALUNO=${widget.alunoModel.dados['CD_ALUNO']}'; print(url); final response = await http.get(Uri.parse(url)); var map = json.decode(response.body); @@ -222,7 +220,7 @@ class _ResponsibleRegisterScreenState extends State { setState(() { carregando = true; }); - final url = 'http://${Fixos.IP_API_PORTA}/deleta?CPF=$cpf'; + final url = '${widget.alunoModel.URL}/deleta?CPF=$cpf'; // print(url); final response = await http.get(Uri.parse(url)); // print(response.body); diff --git a/lib/utils/fixos.dart b/lib/utils/fixos.dart index 71c9d0a..0320aee 100644 --- a/lib/utils/fixos.dart +++ b/lib/utils/fixos.dart @@ -1,3 +1,5 @@ class Fixos{ - static const String IP_API_PORTA = '192.168.0.42:8013'; + // static const String AMB_PROD = 'https://controle-educa-api.rkmsistemas.com.br'; + static const String AMB_HOMO = 'https://homol-controle-educa-api.rkmsistemas.com.br'; + static const String AMB_DEV = 'http://192.168.0.42:8013'; } \ No newline at end of file diff --git a/pubspec.yaml b/pubspec.yaml index 0741201..f2a8a6d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -18,6 +18,7 @@ dependencies: get: intl: http: + universal_html: ^2.0.2 dev_dependencies: flutter_test: