From 085f34a479b1e5775e99e6b728b37637f0d221fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9=20=D0=9C=D0=B0=D1=82?= =?UTF-8?q?=D0=B2=D0=B5=D0=B5=D0=B2?= <aetherchase@ya.ru> Date: Sun, 28 Nov 2021 14:10:12 +0400 Subject: [PATCH] init --- .eslintrc.js | 3 ++- package.json | 2 ++ src/App.vue | 3 +-- src/api/auth.ts | 5 ++++ src/api/index.ts | 0 src/assets/images/6jk524tfr3261.gif | Bin 0 -> 27819 bytes src/assets/images/login-pig.png | Bin 0 -> 7353 bytes src/components/PForm.vue | 26 +++++++++++++++++++ src/main.ts | 9 ++++++- src/{views => pages}/Home.vue | 0 src/pages/Login.vue | 39 ++++++++++++++++++++++++++++ src/plugins/index.ts | 5 ++++ src/plugins/restClient.ts | 8 ++++++ src/router/index.ts | 11 +++----- src/store/index.ts | 13 ++++++++++ src/views/About.vue | 5 ---- yarn.lock | 14 +++++++++- 17 files changed, 126 insertions(+), 17 deletions(-) create mode 100644 src/api/auth.ts create mode 100644 src/api/index.ts create mode 100644 src/assets/images/6jk524tfr3261.gif create mode 100644 src/assets/images/login-pig.png create mode 100644 src/components/PForm.vue rename src/{views => pages}/Home.vue (100%) create mode 100644 src/pages/Login.vue create mode 100644 src/plugins/index.ts create mode 100644 src/plugins/restClient.ts delete mode 100644 src/views/About.vue diff --git a/.eslintrc.js b/.eslintrc.js index 905c914..f8e8417 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -13,6 +13,7 @@ module.exports = { }, rules: { 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off' + 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', + 'vue/html-indent': 2 } } diff --git a/package.json b/package.json index 8413005..112c031 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,8 @@ "lint": "vue-cli-service lint" }, "dependencies": { + "axios": "^0.24.0", + "bulma-helpers": "^0.4.2", "core-js": "^3.6.5", "vue": "^3.0.0", "vue-router": "^4.0.0-0", diff --git a/src/App.vue b/src/App.vue index 3fa872e..31c836e 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,7 +1,6 @@ <template> <div id="nav"> - <router-link to="/">Home</router-link> | - <router-link to="/about">About</router-link> + <router-link to="/">War pigs</router-link> </div> <router-view/> </template> diff --git a/src/api/auth.ts b/src/api/auth.ts new file mode 100644 index 0000000..df8f2fa --- /dev/null +++ b/src/api/auth.ts @@ -0,0 +1,5 @@ +import { restClient } from '@/plugins' + +export function login (params: any) { + return restClient.post('/login', params) +} diff --git a/src/api/index.ts b/src/api/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/assets/images/6jk524tfr3261.gif b/src/assets/images/6jk524tfr3261.gif new file mode 100644 index 0000000000000000000000000000000000000000..c7b36ae4e26c518bf8250275fc66d696bce261f1 GIT binary patch literal 27819 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/login-pig.png b/src/assets/images/login-pig.png new file mode 100644 index 0000000000000000000000000000000000000000..bee9279641c858aa13b3cb4f627c8fb2053c0e80 GIT binary patch literal 7353 zcmV;q97f}bP)<h;3K|Lk000e1NJLTq00CS8009ID0{{R3Qx$xK0000~P)t-s|FGa> zWM%~e1hO+j;x$0KCoulIb?)x&|NsB&i^Kkl(e$3tkdKt|`1W%eCC`ymKR-j>ColfO z>)Aw(p(8OVA0p_}-r{tOz`wz!r>etSQSijKuC&6i000~yNkl<Zc-ripi<06h5Qb5+ zMX+T`QIom6|9dV0l5lAVadgxWw(9JhiMsmbw`sbYhSct$?s%=MoHqm*V<7ljyl3)8 za5?SB>H&0xd(W%9VfGL!-1}Yi*fK^|xc9rNZ2}NN037YEaDRJM3%5ht4NaG>aPM^0 zW-EvK-xcm%u4>_qY_)dj3imE>!4<Bi3oG2aTt(qBzQWD+Wc5I=dRD>E6)W6Ke}Kxx ztsIT~$-l}YaAAd;Ib{ut+a`qDgm9I^u)@u`%89l30*=821TJ6UPG5D{I+268a(kou zx^Q3PoteM^K)<wQ4R@YP5#@q;*vmRRF9Me`YXJrUT@BYL7n~Vwg*$cC`_`Mt0mtEz z74AH^-Vy<HJe*t4UE$t*)kg=eVOZhbeiiWrT)HdVU%(}yFTf1B{<#o7Wc3!Z;6}&| z((T@;<xN-*AuHS);5yQkk4IJ!Y*p^9aET?|8a2ATzqZ1iYjel>Dh-#ea5KCG6s}oG z)UMI>;QL{UVNkxpbzLz)>_UwhUF|F=v%smKqEUZ@XojKU@9QE0@nU=F4$t);qa!`Q z(gWnp5)I|+@|WN<mVU1Fm}#asX3@Rcm`r*&+}D^5&>79mk{R2P#tP$Lu?I@Vji7%~ zQ1T*h<95Mh$vUYesVc6l?FVbsFOyFpqO;ZoWFnker65Zt$u@yxK?&8q8KOPeqZQhM zB*d<=p^JwbH@b2vvT~Qhx1S+T5Y?#~hlWeU_(i}dL&N#f;WkmbAOv`79k}~!na#F3 zf$$#ygJE{@E<O7T(RGA_b|8ugw{?VD5%inDMj?->e7@}LFDhL}V4hqdv?3=Lu0UTd zq-`ZVmRb}N8c}e`>R*LOapCqRH&}My_mA>L7lruJ4arUnYdRa9g|u)3x{Iw9a}A=k z_aT!loO-fV)w1fuM22w3+xUPe&nwl6jUOKDIV=~hvI<hMl5FP=RFEZHH`%=064L(D z!)On(lxrwTt02jqjS~#$>=>~y@R+2=OO=pnpkSNYDYjraxsq%r+F%l#unL1^X!w$g zpBpxN7PF?a%8=ay;cCT)0E|9e8-_(!mP005z`of=vjh&u1FccV4&pDMrMt)~M{`vq z(RyJTi;y(|*3GsXpCk!4M66z7p;eAUR5uP6hM-NvnPSide~$|8m0&eIsV{`83g(N2 z3rW`&{J5BJF-@O<tsZPYt=vdbX@PKQ7@Wb>86?QewV@P!gv)Z45LiBRad2s`S-=IR zYnO!3)7HNCxCSo6%)C)-H^i@g0<U^HRVT45xLl-+ZU51Sr;4@(u)gTlMQwDCbnm~~ zq!WVJg#}fXPt7+lJo&4evW}Z!(gIt$b@SQO1l_h~{S4uvIJ67PDGCXrf%ccz+2P~a zRiRS7jrHmxQj=<%Z)=)_h+S9!+zj0+AOpR|z&-SE+X@``5G$2-d^+2S!|lTR!_8vr zD3=<zpS?#=om$X-YM0c&?e_?mMc@)|o67>==CO4g0<%y!3a!sBF)8VKjxd>{+=$VA zcetEJSVT7ZS{?y6?v_eHoX%rF3;>HFcy`t@1%r>aFu0~y7)%CfVC-qrdjuvpV^R<% zNUrkc=PI%av4i7b2z_yI5w?KJ*YU-MY0FMb%D>KS+n&+Puj4L&y?O?3p|TjbZqFq$ z<>Lcdq+?}$bsdwJ`GvgT!UL51+!!PG;xtoXE2u+vOMp|w6scL5ik3T7mCFd0$CHMU zc((l7)}y<H7A&a2(sm(!`{-ieiY%i5UeFQ1ceg_68oK~_>E9*7<uSI&JYpF2^(yd` z?S&hp>$-by4%d|u1YjZH4EQQRoMX}@Go%|#nePmj-jd~2RknVnC!Etxm0g&dCtald z%lpEG8O2Ij<u>!AJA5y|Ye=*NxB?4ZMa=G`zC|#nRZ({?&((WxxPWehxK+9=U%H9p zGF=E<5wDAzC)%j9i+E!s9)UxI`@V3)&X>6k8UB!PPGcgH<3+Q;jJe5-H-^j6ooC>N zRA#}BN*61CfW+!=0dTSEqJ2Lgi>l`si<EQ&R~ccuoI<=%KYM%lD+=!i$eGj7Da|U2 zLMrzc0XN*d1AA}$-r2?1z}6}n?Cq70s4Ra{Jl7X)z&5ZAIlCe}!{CN*AiBSeJ*Y$X zli+f{z59NjK^G<_xj?%18aTCkaPSir0oQkO_vlEwXfVA_i&$NE|D=<&UjkguSJ>}U zbf^3<h|X!JYBKZi$YXw<1D9tBH!-V0?wr<37ZPwEc0kp0;Cfa8^5Mc%w!$?Gu5{7Z zFg)(_J_jzzvkGyu8-*Q6mx)}HuoSp36D|r8B`%0B-PA(DIkRplaC5D~EzT~RmTuzA zg!hL_^WpBNEdiuE1Dr+72ZOt>cV7Xn$hHat+)0yQ{icd{V*&dVOU{?rw9T8(lFCg+ z&S6$l3wzx_DCZCVyibAa&Szr3zo*f)*J-+Rtdp)=z1z^g>4^6%xFl1#`yAD}3t}^; zbrpGxb)`)Z^b+HL@_C;Em)!(+UhJ{sYYKLqDjl0FU1BdsKbAWWZchGEvPC+S5~~~O zUwqz|hYPo)-lcTU{uYTw^@CjcsZwDUB3rqMWDoeQEe4AK&=|0PUETdGxIi+EZcg<W zx=w2uYuj!v8=K{p0+*3Y>B4PQ3~Ek0o$kKl^o^7Y^CCC1N^sQvsc!FId2qeDfg8+1 zx|l()(-d4NRJqeuH`^2dwoW^#J;Aha<&vymIm`+%sC8O5qfuVAa?|<WT!RbYI*q}7 zx0b!7a&fxz+lzTgiEu_M32r*9dxMkU&S~L{wsg2OQuaJM+9-&aiankSgG*_&by!xc zu?MSSwB4~KLd43On06OdxaksI7oQ-kJr6^^n1}{&d|&KO;XXeT5yTJ^#pOn{?Cgye zguv?_{aulN`FURfZtfffF|=x+wYZ`!4z36f>zq-SU;*7Z>LsxaCcGrLq0!CXWYXK( z-PN>cx_%6ZS!Cx~;c&Bu!T7Ot#x+j2IOW#!;EsLCK{LE;gJJOE2XB-G7j1D3Q#PSz zd);E=f@`<92@Pwtm~Rudk#R)nmIrq*x{x2AB|=YR+vvF3E*TUH*WW2Mx#0nNA1uMP zrz;9qZtOtM6l+M@1U)_i!vK#h%zsI^^PMq~!FIb1r0cdVE(5M*7a%Jdu8qRS6kKH( z{No>*(%|~L{3iXdEa7VD+RpC1TZO#^T%Oq{WSG$~2lpz+hx~KBx>i>_u2tCUS2@zY z`)FqSpf0*)3-|i5+l67V-R0w|rR&XSCDkpYb3KXm!_^Jb#0SLtiWUKvT3y9*s=yT7 zk8|D_oiSD@T(4IMB=fi|3bH-7ak%ORa#|kTNJG5H1|5&6?xG_4p||P`4`OlQmI623 z$`Qg9gyE{GhB?XZmx{1^1S>5PZcSpoZdfsHM9I2DdU74-<k?wxlu<Eo>+EBFyGU-! zCcxrbe0iyGXY_a#bIA@31Zkmg>#-{+ULE?Y{+U|1<-)CD;uN&svK4i~aGe9z;a*&w zuA=3_t;OV|7F}Hgotq)(dPmEKn?ZM8`rSTHPSl0NtqFQCI!Wm@)8In=Y`9PSw@r8~ z)-M>6LC8sat2<vl^(5n0ILR-dJGEH{X0R<CZj(5tI>*)m-XE8*aQmbD<{roqJ!%#D zbFX2AYZ5-bcypp<5H|^IOhJ?kw?A$U5b=WZAISC+pjA63wbd;eZXYv;8*BsG=?>WW zq<8U<!r|KIB<7mli1%R7O4;`N)fwew!*x~=W2g4H^BVMMm24}sr5cKc>+b`$x&gwB z*=#tSfVF+YHr+v};pM{RVYu8rPA>0MRqOP`)@tK;(sNqDaGS`9^A_M#?XJ~PRHHrF z?MJnA%QXv;sDj^ZO|`KaoHBiak9!YTdk#)SBgi3K<-m<}UO@RK2QWvpea~m+7v~lP zmrqnKWb*Act|KS^R+WID#<7elM~W5c&L(UuGID0M?pDtH!_y0^TgY0}DidqDY0Nz~ z4Hs@jv~<hNL<s*Z)0;<y!95XCWR)Z5yr#%m;I|PD5BD6Jm78iYtL$dsaJ!G%z%K&i z@iy84ToZw8{-}@kli^CTjlIadLorB1xcY<$@SABb7q0wx?gH!{1~)RDnd3M7X5|Zo zYg+>r3yt5R-zoxEZJF|$!7mdox5-KoP5WW+E8*I3orC50^59Z%zn&sqv_I2>sFHAv zH`ZA80qC;e{<QwYGApA4;l68_n9c^crUY8rB!b|5f4D!p%Vjqlh{Gw;&k<&39;W;- z>)e=rAz|D6^EZ2GxUmchuccA54-HUgcbC>aT7*xv7R&041u5YU=Sht<4Bd_Gmc-Cr zy1VVwrri6WgSsZ0uUlWPuF?26Z+G8qqY#g1cb6SB_VxtKD!~0#XZBg^?w+2``tQHH zyRGnY^QPsmf3Tbow?FkPxOH<N$L)2~%u65WACJc`Jh^b`WFh&gf8blAy|m7$E%87u zWc-|K7WzZ{oB)F^Xy55~wfoT`kniVP{whdYC`1O&OkIB-w_Eac{gQkSjea^7bqx+# z_}Uydo5QB-+4I@o`|)biz3<(>kB?pZ(;C%E((e0CTZNoLJjjqP)-6QKqiGG^@1|}f z*^9PZ!B_L^y4`L*zq;YmjHNym0}1DFJrF9Ne2_13-5k2>>R|^ydj2*2^uHI~P0>5@ zHD2%5DT8*Am;d#uZT#ELZ(5zfJn4?-RolJA`iX%`y#IFJQU%+s{6W1@X5*8ZKFANz zw|@FG>K(s)u29WIdEdS^`i^YngtocLA2yrgb-U3Y{IEUR&yv5kZ{^1PbJwF9@?~i4 z#YE^&yW7f3oq&}#f|@N7T7}!)h4wU|T=Jj2vtd(~Wx{Z3Ep`N@zJg!>|9`$S0|*F~ zb@yz$ZM2*1`jMVq4#O~_|CCh6PIWEsdpKH|Ya7w|+9cJ&LE;YysjBeucF+3Cq<=`2 z?DYpcAyvjfuvNK3dfCutP{2BHWGAKSxn5Htz1h^F+8tH>0hS-|JB8P5?_s$r%g@C) zj#HUP<%}L<f8SU_TU!x!U{c>M_|jBEQS^W!hh3eFVYNF8NA4e~9xy|~HEorISH3-7 z`b%bmf+Gi$Njw3|PLvWYXwTt)v>lk@b}D@uBuLusR;I`1kd~_Xa%ry__+C%~t=-}- zpTStEQpEP2U8~Nv-#B%;)&8AFef8`@5LNE^IKUC+XF}7veMF03kIsHT!nvGl@d}Pm z%a!AmOxHe50VZ0496Kms9(>Gt60a+H#YunoDYF-cF}0PWE6usJBcZ^gg;y<Q26pE# z_Niy)?Y6bfHV#eNtVV7ExJ|-U??GaDCS?t~e4Y=E<RuMHCn0<IglEWdQlsQXtgdh( zDKmsC1kSAB#0|kRQmYs@AqgOUjn%IHM!N^_&25_><oN(p;myE3_ajfjJ*I|o+ywb_ zf6Q@V7lImpPz;reaOL4l6M%d^dj}@9YNa*|#DSz_;Nag?h_>e>Nk(1kC7pzf^MPzb zx}ZBeRK9p|`}VX}x!$#Nj&Bk_!$s4A1EUgf*+aLUU5V$MZo&2JLIf9q)i@3jN<zQY z#uDH$l91d8Mf3H%Qb3{{JyluhyoHjHbUBostc8CbX5d4Q`VYrOLUXH6u_s%2JHrJ2 zHx7rSa@VZF!y)tLfAzKCLSPpHM;1L;l)*s@;$Yqm^I^#<7!eBOl&OJNhD~^>S4e9B ziX`0LB!$e<<)~gulRm@3_>Lc->A)+h{IF#CY~{6bai{jOZE^Q-G%B!U<1h{>xToc) z+NXqjusWh!!pm6ep>%Lh$=lMv=88VUT}7ZZ?)@J1fpEzv80$BiN4R{k;zJyS1o?0$ zT0-lDtKmB7B3?ri*5y&brV35D^~B8OgSA*Ly;BS(cZ5x_815tEKA#@xqV(Xp@x>O( z6?i>Tg@Stz7FPn=R?7L%@ZjjM?V%eG0j*)MWPRc4bS5p`ir-OYy0*51T?AvUIM{?y zkQxrdSfp%j^Y6XBr%mCTC0rH<1Q1JwI}2!F&*khDx$6=dSHn#j-V#Q*Vuq`woAJ8} z?SVE5vY#7+9W)!D^-|@$7{H56z&$;FQ`G6MhJ+7y9xyYE9`t?Jp(~2b0Wls99Yt}p za_mKUn{7~xa9twa1JXt98oMuZwFnwz*p|kNsZV5MTp7jjbggxE?a!n)HiyM*+%bX+ z9HB@!781ua386cPd*|mqz!rt;!6oV5PgiQAz{^FIC9#3mcSq0UvV>Lm_i+_Y*BcUv zK^;T0Ah2cuk0Cda0UOINZH0X=+sq2r&vN9s@g_Dfb!SOSH;?X>hIUKOhF%ScJ4{ah zc01IyKH%u5*+l~nF2l70!)996F9RUDO3AAS*vf3#&7=K|n{=&DM<t^@Fwrz$6hq0d z{^ab&?K@8_r)yy`ud`<vgdH#d0#aDQCFznM?;QV4XhFDY30F(^3SL7r^S&%2>E=TW z7i(cr4)FsT1p9hjnPRvYUKp4fqD-=Z;7SXH4!febL$-23XL_y?ZrDLNyUG<|#72bM zklk+7C`Py{O0`pH5<t6&?#t<gaKGYSGBK#qt9U(ok$cUDpdD6Kj&Ek*V9$(QHfJ$h zD_wn}U<FQRYhF9M11>``K+8P=_myl>x+&%MDvpb?6}VP_v*ftJH3z)1RM&c*M_V8( zv5MBh?c+E!HVwgv{P}R<D(k&&!i93JSx6l^A2ijhS|Cv=xGc*P+gh$1h9y@jG{zK~ z1(vw050CNkl7ioy>O4<B=APexJA<hf!NXxCDMWcOioiz9E&|1JT?E0nVl0(At`tjj zyic!%%QmNw>hOXa8{IVa1G>>CIrsdeGH$pLZ@vt#n_#*1NWjlhjLt3v=2YN<GcUa% z1^4ngxYJg+rV){6tk?c$RoRZT==uhcStBW~rZXv85KaKkL$&ih%9r4-3$NlB6jJey z;+U(<gZuTv;j+FLrQ$NTt=}l~rN=%4UwL2_O`p$jBUh{xaJHyV(z6WnSNQQHKKC=( zuvj16@nu>_^WbSO^>V4)RBkVA;()Zhudy%TU)L2_MIoz9=IUl59#F;3at76<?mok6 zi^aRb=T3I&1fiU$<&Ms+&t|?K_0@1Uq$KrK?rf~i%!n*<uVXPJT!b~`QnC$Mju>{K z7#GG3CH7P1iELJ(d)i&kXf;GTD!it@fjj*IxI>luM+Vh@B0E6krY9Y)asf2*Ty07r zEmf~4I_qHwYd~*57<c{67)Ds`C<?b>g7j<B&brHM*<Q9J(_v0aZu(V%Y&d^KFtdsT zreX1++?JnfQ)IH<ra`55g&H^<dy`pmM-eIo<af<ZXt)@x8V~7L5x!kp>{47t%<nRP zVvMHM1(SRVm_`$tR}>pF6?^gyGW66%I*(CsOoJ(TMGN3fiwU^5?=8P_`{7(YBuDT< zxVV9art~iix*q<yjF-d3{~J!(;cQA#v@~gp)TG@ugn1&BG;-w2+g{y&FeCtTa2wh@ z!qus-)05zi0bJUsVT*Z{nsGeAEK&BI<HJ84E;F8&Q!aDL#eT&4-{D?H)b0f)TDWKx zX5o@@J;tp+Y1OZW+gQK06sAHmkg4~weui*CwwJL$!dNuia|rjmBH%ZGyEAji31f=h zY3}|ha0@iK<HeZYVhPu?4v~P{sr=Q$u%M+io!E`;JA@w{r4~=D&n}}?amwVbnuT8u zm-M>Ra~qA8OfP!g&w;B=?nvT=U*F`mtI9QIq5Iu%O{2G=JE<F^T>Yq`?n!V9?Jjt5 zJ*!ZpO>g@ia7&}sM#0P41=s!ktorOgmH~cO>a(QN@cZGG2I<aC^wV{oQ=g5tKD&^L zeUrO{8!LDG^>DS_wTjjHwYiATtIvuH8Q+x2T~TfeaK*2O3$v_b8)h0s&_vrmvpy>h z1$w%HRanA3C*X?T4;SYurNSuMlj<|=DNqZoIIO}wr<7Y1?*cdIS7kwDVGHDyWeV%# z78-EM<gS{9qF`?VcRBZH;qJHChqYzGkXYfH+!=1Ws@(Ql;eO))Le>*AS#sOpMoW?# zHrk*~U=^%2Sc8l10(;K^goF;;%qfVs*{0zZRG(e6(M_A&E6P=GI`oyxPp<bj>ox<o zj^U!oy;!3gc)9Hc<xX#^+<C0_x|?p&HE<)1lgTYE)<o1PlluqZvf7~CPeNC2^}3H> zPQwaZ*FH<uXLE?bgKHx<$2T3ct=1Ny6IfP)ID6lrfR7Pe8xlkD7MG|#Ym;7sr`+y6 z;i8*c*P|Xs$QX&M^%$Ls2rl)Y*?42x<o-dpswRtIbGWB^ze2Y*^_aWoY1xD@Au$cN z{lEopVcL6RH0chtePnLEdMxF%Ig^Ww$Bl5^v>o4d6w*Zs#KJH*BfEsVkD3ss@jIqX z?l}>^Y2O<zV_~SFRJBhxV2RdtbpL3>`b-BEibEL7C7*!C-741nU4UD>E8OMWqaVo$ z?kmNSD7-sP7flGt3qinvBX%zQ(nkL=<*&dkM?aKP*ZwW0H9IEY7OvYDEd$OgTAL<D z16Y|4tEClx1uoNO*Eqn(rkfuEQ}4AqQFj5{MV1)B^-DL7V>kME+eP_1$~FF&mhGu& z9NoIp9r3ja;Od^qz;BzCI@eapC)zE_w?@UjnPxO(scjP<snfVr#x&Fuwdm@-5x0KT zU<k&#KA0CRIgU=IN(V92bnMNKy%om2-k=X{<6NQH)q7QzCYOY8*R`TpMBRz~l`&lD zBnV7BX@XnJN->we{Fp>&6hpy_Rp;xOp0;`v)IbJySK)%P6L4R7L_Y|wHVhLD4ovC1 zrfmU=WdaNU2)L`S6<p5c{(aysM!wLai5uk#3m2?{fVvDva-X{Hc$_-@qhCk!>Lx~T zn-ARdTw$IoZOsB2-FmN?3p?h_GVX3_Cq2UHN4YoWGK*-^S3C3C%TbsjxI5va+--1m z{y9d^wy*oKxm(~i+UCx82W^M@QSN5t-n;Hcx!Y~-z3YCI`yVRzV{`AcxgWS6<^CGD zV%Ibe+uY`7#ui>1&-MF;zrLogX?kGYNf+^Ynm;R89>S&3CLVz6ula#{1+I7)?nk+| z;7$+2{g{Oh+z;Fj+yz|qfqM%sdl)YJz`Y6gVONZOT(J#sMclEo6>g$S=mXcmr9iow zrVbO6ieje++PvN|5v+OaaMhwX(VF4|*Mr-4qo3bpM`~zp!kzj~571_ceOy=bowrQ> zSh(!#qT%?7bvy6o_bYJinr_|JJqu0!dARf>-Z=SF58BY!5z5l*rq*mbvnEWIN!Nc4 z?o=ewYTLq)Z9?sa+Z|I0x$W3&QvDleIsSi$g(1w?mn<_N4#~kWV#|RwY{7vGPr4&} zupD$jJ2Qcl%ZptvuN01z<U;VID>T9bmscG7a(j5tGO%OU%gf7&W1&8xJQ?ZJJiHvz zuyzzPqS6<EwHAcfaq0!?6vxyF6yb)RUNky~29^c)0Hma(kk*QWIuT-oQa$K)cWHE; fpk9R70Q(34EkC#E{+f-t00000NkvXXu0mjflopC) literal 0 HcmV?d00001 diff --git a/src/components/PForm.vue b/src/components/PForm.vue new file mode 100644 index 0000000..b0ee55d --- /dev/null +++ b/src/components/PForm.vue @@ -0,0 +1,26 @@ +<template> + <form @submit.prevent="submit"> + <slot></slot> + </form> +</template> + +<script lang="ts"> +import { defineComponent } from 'vue' + +export default defineComponent({ + name: 'Form', + setup (_, { emit }) { + const submit = () => { + emit('submit') + console.log('submit') + } + return { + submit + } + } +}) +</script> + +<style scoped> + +</style> diff --git a/src/main.ts b/src/main.ts index a92f228..95d36ac 100644 --- a/src/main.ts +++ b/src/main.ts @@ -2,5 +2,12 @@ import { createApp } from 'vue' import App from './App.vue' import router from './router' import store from './store' +import './plugins' +import 'bulma-helpers/css/bulma-helpers.min.css' +import PForm from '@/components/PForm.vue' -createApp(App).use(store).use(router).mount('#app') +const app = createApp(App) + +app.component('p-form', PForm) + +app.use(store).use(router).mount('#app') diff --git a/src/views/Home.vue b/src/pages/Home.vue similarity index 100% rename from src/views/Home.vue rename to src/pages/Home.vue diff --git a/src/pages/Login.vue b/src/pages/Login.vue new file mode 100644 index 0000000..c096a93 --- /dev/null +++ b/src/pages/Login.vue @@ -0,0 +1,39 @@ +<template> + <p-form @sumbit="auth"> + <div class="flex-column align-items-center s"> + <img :src="pigImg" style="width: 100px"/> + <div class="flex-column"> + <input v-model="credentials.login" type="text" placeholder="Логин"> + <input v-model="credentials.password" type="password" placeholder="Пароль"> + </div> + <div class="flex justify-center"> + <button type="submit">Let me in</button> + </div> + </div> + </p-form> +</template> + +<script lang="ts"> +import { defineComponent, reactive } from 'vue' +import { login } from '@/api/auth' + +export default defineComponent({ + name: 'Login', + setup () { + const credentials = reactive({ + login: '', + password: '' + }) + + const auth = async () => { + const res = await login(credentials) + } + + return { + credentials, + auth, + pigImg: require('./../assets/images/6jk524tfr3261.gif') + } + } +}) +</script> diff --git a/src/plugins/index.ts b/src/plugins/index.ts new file mode 100644 index 0000000..3f75fc1 --- /dev/null +++ b/src/plugins/index.ts @@ -0,0 +1,5 @@ +import restClient from '@/plugins/restClient' + +export { + restClient +} diff --git a/src/plugins/restClient.ts b/src/plugins/restClient.ts new file mode 100644 index 0000000..fb70e95 --- /dev/null +++ b/src/plugins/restClient.ts @@ -0,0 +1,8 @@ +import axios from 'axios' + +const restClient = axios.create({ + baseURL: 'http://localhost:8080', + timeout: 5000 +}) + +export default restClient diff --git a/src/router/index.ts b/src/router/index.ts index a6021e1..2c87f14 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -1,5 +1,5 @@ import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router' -import Home from '../views/Home.vue' +import Home from '../pages/Home.vue' const routes: Array<RouteRecordRaw> = [ { @@ -8,12 +8,9 @@ const routes: Array<RouteRecordRaw> = [ component: Home }, { - path: '/about', - name: 'About', - // route level code-splitting - // this generates a separate chunk (about.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import(/* webpackChunkName: "about" */ '../views/About.vue') + path: '/login', + name: 'Login', + component: () => import(/* webpackChunkName: "about" */ '../pages/Login.vue') } ] diff --git a/src/store/index.ts b/src/store/index.ts index 5f05f19..db80895 100644 --- a/src/store/index.ts +++ b/src/store/index.ts @@ -2,8 +2,21 @@ import { createStore } from 'vuex' export default createStore({ state: { + userToken: localStorage.getItem('userToken') || null, + refreshToken: localStorage.getItem('refreshToken') || null }, mutations: { + setTokens ({ userToken, refreshToken }, { newToken, newRefreshToken }) { + userToken = newToken + localStorage.setItem('userToken', newToken) + refreshToken = newRefreshToken + localStorage.setItem('refreshToken', newRefreshToken) + } + }, + getters: { + token ({ userToken }) { + return userToken + } }, actions: { }, diff --git a/src/views/About.vue b/src/views/About.vue deleted file mode 100644 index 3fa2807..0000000 --- a/src/views/About.vue +++ /dev/null @@ -1,5 +0,0 @@ -<template> - <div class="about"> - <h1>This is an about page</h1> - </div> -</template> diff --git a/yarn.lock b/yarn.lock index 0fac00a..9d679c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2114,6 +2114,13 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== +axios@^0.24.0: + version "0.24.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6" + integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA== + dependencies: + follow-redirects "^1.14.4" + babel-code-frame@^6.22.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" @@ -2431,6 +2438,11 @@ builtin-status-codes@^3.0.0: resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= +bulma-helpers@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/bulma-helpers/-/bulma-helpers-0.4.2.tgz#48ff73aab48155522485b80936c014650557c195" + integrity sha512-EAzZHoRbwujCsmtrBWzjI8087at0tIuk58HoR/j5R7n9iXVRJumRUWtRCO/J4Ft+fuxGoV9oZSISLC/neqrnjw== + bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -4389,7 +4401,7 @@ flush-write-stream@^1.0.0: inherits "^2.0.3" readable-stream "^2.3.6" -follow-redirects@^1.0.0: +follow-redirects@^1.0.0, follow-redirects@^1.14.4: version "1.14.5" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381" integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA== -- GitLab