404
From fea8b9df2dec6c76bd621cac9db40820f51719be Mon Sep 17 00:00:00 2001 From: landaiqing <3517283258@qq.com> Date: Sun, 11 Aug 2024 19:36:42 +0800 Subject: [PATCH] :sparkles: add 404 page --- components.d.ts | 2 + .../fonts/VEM1Ro9xs5PjtzCu-srDqSTijP4.woff2 | Bin 0 -> 24280 bytes .../VEM1Ro9xs5PjtzCu-srDqSTsjP6yuQ.woff2 | Bin 0 -> 3768 bytes src/router/modules/notFound.ts | 11 + src/router/router.ts | 7 + src/views/404/NotFound.vue | 76 +++ src/views/404/fonts.scss | 17 + src/views/404/index.scss | 473 ++++++++++++++++++ src/views/Forget/ForgetPage.vue | 11 +- src/views/TestTheme.vue | 3 +- 10 files changed, 594 insertions(+), 6 deletions(-) create mode 100644 src/assets/fonts/VEM1Ro9xs5PjtzCu-srDqSTijP4.woff2 create mode 100644 src/assets/fonts/VEM1Ro9xs5PjtzCu-srDqSTsjP6yuQ.woff2 create mode 100644 src/router/modules/notFound.ts create mode 100644 src/views/404/NotFound.vue create mode 100644 src/views/404/fonts.scss create mode 100644 src/views/404/index.scss diff --git a/components.d.ts b/components.d.ts index 1475997..4774356 100644 --- a/components.d.ts +++ b/components.d.ts @@ -33,6 +33,7 @@ declare module 'vue' { LockOutlined: typeof import('@ant-design/icons-vue')['LockOutlined'] LoginFooter: typeof import('./src/views/Login/LoginFooter.vue')['default'] LoginPage: typeof import('./src/views/Login/LoginPage.vue')['default'] + NotFound: typeof import('./src/views/404/NotFound.vue')['default'] QRLogin: typeof import('./src/views/QRLogin/QRLogin.vue')['default'] QRLoginFooter: typeof import('./src/views/QRLogin/QRLoginFooter.vue')['default'] RegisterFooter: typeof import('./src/views/Register/RegisterFooter.vue')['default'] @@ -43,6 +44,7 @@ declare module 'vue' { TabletOutlined: typeof import('@ant-design/icons-vue')['TabletOutlined'] TestI18n: typeof import('./src/views/TestI18n.vue')['default'] TestTheme: typeof import('./src/views/TestTheme.vue')['default'] + TotoroCom: typeof import('./src/components/Totoro/TotoroCom.vue')['default'] UserOutlined: typeof import('@ant-design/icons-vue')['UserOutlined'] } } diff --git a/src/assets/fonts/VEM1Ro9xs5PjtzCu-srDqSTijP4.woff2 b/src/assets/fonts/VEM1Ro9xs5PjtzCu-srDqSTijP4.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4d9249db6b4980bac41ba392514c0aa7f2ba4fb7 GIT binary patch literal 24280 zcmV)HK)t_rPew8T0RR910AAPt4gdfE0QnFA0A79o0RR9100000000000000000000 z00006U;u$c2oec`VG#%lgVz*;r2z|rEC2yE0we>5R0JReglGqYbPN$2THRMKN7R1A zeYs5pU}dR2#?O^zBW&0>Hek+pz#;>|#=#h3|8R)^|Nl=
cfoFlLks^e%hdJYui6rzNWGb1)waX9aWh|I@C4+A|+ z5gHwUw+=sw^vmjtx)p^*TU7O9^vgz&M;>0mSW`3u%K%P(-2#@f*=(6ZM%6r>xF*cq1IoSbwISWmE zUT}s@dQpV@zF$h&Fa3@zx=lvR9=q@p0kiBUY~1(B2z0NOqNNc}7M@`fx}>k3oikI; znV-F)ci}mU+J=cVidKv54V(Q~0CKn$=sS%LftQb*AawAF&)Uv#DUgX@F7!^OJv)5i z%R~qTJ#lQI9}z)yFttKtD7)G6m*%%p5}HF4?OMud4d!%Dj3q)n88qgU2Q;o7q$9OS zWzz{UP6s!bv$@ShL|8ibiJwWTx~aV2=Mi0|MrON(ZnM_vyj=0wE14e_^t6F~J>z{j zrMaf{9GM$2?KK|D*e1)S VQgmG=lLZhWo?CsH?>Yhy6n_i&2FJPJCb_& z?KEgZnLD}xIKt@HFcJdy=W1!; 8IA`L5L zrn*$Ed5nBjYid#{GfWysjtQ78BkKCfh_b#n;3OfajVQ 09h*d!n&y_uXPjn*>F!DcE 6?P(g zhy~0|Sk`If*Zk3%aL2&Knnuld@5_#C+@1?RnY^{LVglAG@XwWQs?O=2D4&atN%C31 ztxPq{F2wjX8r{LnQimlF9iSu@k^LhS5H~Ge%Kxv%13$wwypU^0A`v36BlxLOzTqLr zAwq 9RGD-0oeYhPcHBKL%D!wn;d_7p||}G0g~mDXt%`0*)53 _BBEk~wnSuy_o{j9w}C=775AM@MgmSI*evEarzOGWjE_r< zi*NJKUn&6F54Xq_E!%;1!A#ht_oxp9JR`S(%In#4<3u$QA4jM49LpxqW6J(nSpGVE zvjFJW(V~#I90586O7O|00 8m)50E3);G43AoG6(-|TA>70Yyi;JhcK{!$ z4~vz3CXO@*S0TAzI>{&9$dRAPP{!-TNlKfnC`a2)O!tL3#}O@}O>qVUrL{GD7p{EY z>tJ*nAO5W2)n6Tq`C^wHAcKf}j&~&y6m4^a{5fqZLQ*D5gbt^(1Oe~4y!d~daIra` ztXFZYh%7)^lqH R}`sk2N0q&OIq*S$bxa0) 66U)cK3da_8#_{Pa+_!&7gcDmZ!V^^zOC-rQ1`jK5o7fbNW3uqy{~;0o zo$(;C*cPckVe(6+WE2*{#ujGSL?!B@M9A0lQ*bJebT+(m*5o#r2amHQMKZ-rFW{cU z8!HHOs(D<`$Da4Ov{*V})r|=Zv@YoR=h{sZHx1qjlAswAZmtZorp4xNdcWx-7>p}# z`Xxbw|Lml-@9AKWR{C^KWtKLE>VKyg1D)rO6p4c0&_tiFg}9j2(d#4E;jBAfQ^*ya z`Bc*L_}Q8>ViUwJ+lbnH*a%no4=O?d`-^NtL=>mlvOqB=Yi}yddfPi?tm1nh*4; zo~QSjdO!7hq2Pl?4`R-w=s*) 1cniif5&i2vamQ-P#?PY;%hQpmJ^0#T_akOLyO){F&2swf{;X ou8YCm8u{I0wf6i*(;9m~v?bzVbl-@h&AUc0 z*Vgm502JN>5N~rj9d4b~?MQScCMUX`$(-nO;h0wu-@)=Tw$Owk+5$f#tHT&Co;G8H z@40HCj)2_`Ffj28Q7bntF_50m!NMJ=Rsz!i*p7wbjh}xXZ!ihH9GN7;04Jw|++uV7 z=Zg89=z(Gl(!-4VvZvwR2sNct(_WsmmR6M2#7tF7;<52S1CH6)5KX{;D6K{FZx5^_ zlUT*|N>VvvJsoEQWT3rbiz{@B7aR`HpqWp1uKJ&)q3&p4Qn*h2)-t6*J|B*C07jv+ z#Wt|_jU $FSI@gi?eEot@Z*#SXkn!}{9;{K%x&Lu6kiGfAsS zrzrg^esX6K^wLW$;P3B$)bwknPShW1ep&CII %MXBT=S#;gWo~inebJ8*TJDkLk3w@WEg7`FpIOoL$XKo z*JgkAk|-xGqtOqpl9uoJ6kc+h!w#CXGjI}s*+Zr3q4N(){ouDUdxK&A>&U1AwBh?@ zoN6rw`*46ry8aN0xe+i<@NE;D*7zLni0fAid;h_8RCuZm-v#*1 Kd(YzzjnjnCz0*LMM2S#mXznOOp4?H)M;T77**dR_lK qhY;9 zBj+h<{h#dMfeBCGm~YGeg>I&O#*GYS+b1V?(l}TMBW=GPBaSd}^y`9&6arXD?u9`V z$BR*5SIk2qM!d$1#2rQjRAj30z@=-*1V>~~XE5=8)V-G5&!EJi$X#=TDGzV^2N)p2 zV0+ZCB*j{pR~x*IIj&DEe9JFDuBm9WRHw>M|Mg$;ztG)RQ_)4o&u(Gy^+=zery&8r zv7=fcUvR|FA*hHsRTJ*ugkqgSA7Ef??=yI4@S3B(g_ZJB-KrL^!t>7ID=OuOX> ?lU9-x%PFBeMy_FA-kb0ps`$@BInKFCh_0DAvW}c>J1!2sp*Rd83?Y zKAdjt2?{zcQm-JG &z(i zX^hGqpfN^4bzF7drwDzrC}=!!0|K>?SQ+#Tk}K>(A$o;*kc<2v%&e0d*pHyF-D8oc z8OOtd9UTNt!Z^qXVDc7JJhdF-SXxP;IIz&nQ3bzWofM~Og86$q;2R_@Wb?TtGy1 zW-Z?r1y>5!BTyR!6~V&+IfOnGVlOc_;Nq+xGWFrd5MIP(+0G|bw!9C(_gvUy?2D^& zta}=hm7A00kjYH{sE<8;SoIQ)S{N*SWyatM7o^CWsKb86!A70aV<3=fO$7m%|E#(G zm{|iV2>cW!#h*gK!Y|ZW_%mNG3aljdB9Xm>ioj=q6@+b56DtERo)~TUqwk+b(%!ER z`(o(JJ?e!OCEbw~`E$g1@lhVSC%{3Ba9NBP`|&|8uKCp=8L~hmP|C#mSfyPWs~2a) zA}@i8g=T%M3jHqi`b@pl6rnb=+z12K?MQSvQWD)MDGrA%#j%CJVY5F4Zg`m53fr}@ zp5t4bz|b4`)tpSGKI24 oE=7$(IiWwgae4LsztO`J~0+H@ Oi4tcz`N}3qSpPlL!r#5($CplwU^XluC0(AijCy=%_YUc4!}i?v zPU03>BPujy&!q P$SLuXjlo(T!a TZgg&7l7tmT(YM0GPyaAk z`=!n{ww8^?m?4(jYEiq+nDzTl53GX5Mt*>_FQdv2(pSXRGA_MU9`W68r1dF!R$B z$;mY@p})JFwXKdVA!(56de+hKXbnGj4t{_4vg#eWpcLEKy2uW+j-3v6VNC)lakGIC z8$?cTAZ3J>P;?M2F+?OX*Ql
U7Z0vldSI6@h9)BU41&1-A^6EqaV!X#s7ob4#KTk`-==dvy^u09k9_29o zZxwYUfCezFq8bi^Gjd!`Ts?PCj%B?PQ{zX@5ErFKPtU4bSl(X}oPteTp~xpPD-WhO z$lS2_holn!X>rEqC8vCT2!&o(-#YLx3ICUr`Fq3D{2TAzRN#O^u_WVdHtw;wAY=c) zA#sosCo*9@Z3xU}womc{0Cf4x4o2wK=JVT)nQ6*V#0(G{Wd&qlGD8#7B(1sA-JD4= zDGsHRWc4R=P0;!M`=Ei~5l~9FV;Not0Sf-o*j=BR&~Nq?P49k3B4Dgn*}>zNq=tCX zq0T@*e2{VylpM<2-xe?iIA%mi#G-YT^q-Qu#7*1pGepB1&iRzT%KW;Ma&n=o9#g`e z#Z?x_DnZL!z8JfX=ao*exw6Hh&<+3=Yp1~SN-**dO(@GafI)%QQs-5Od5PtFV_Wjm ztmqw*4O3SL>Jy_t2YCgldEqq*E;VcfC9yd`4o)^I7!+ZiH(s}d>EM8#015E>!54S{ zh_S8LIVRg{dXkE>$v;;gw3DUl^NqakU?)vxPY3r@k>J>Q+pOQ#)0@DN*DH)Q8D_~m z`gx}ywqDp75_V*RVN^UVW!WRYV6;GcjSc^{5 LiMr< zX;ef&5@oRMO9-UCvrCv|sT9mR6`e*}C|SbxWKn=KI#l^=c}@|%iI7LV2 z8f#ixrq)kwedOp$CroXeJi-6bF=QZm%5|f${?Wdp-K_HQfIGFAV$N6QV8Z%isQNu> z=*vJ(j|G7ovr8FdZIxjWBSHe1lc^Q;Wn@AUHgJqkKk)37B1sj*TWjG6pEew(+8*Ws zn1#a{0sFYq$6mo}KEp<2+t#an$%LTQpRP#?7nX3)!qRZ&w#~|zY7+CQdk600 zr*fNi0OkbYA zC_L4yUAhC=*Fdd_YE!=Dk`J6E=(8Zh%$gg*r=RCvsKDPNVJ`Ro_io lzNMFG6{TTcu zbVUE7IQpR@Z7Qjyo{*T7%yCX}mJ8{wzyBuES+5fYfCCr|7zQJ>$`{9tg$@~4$tPeQ zI*4TI%!qOppOru9 fXJ?_xL~Y2RwLb+g}|$)_V2y{hRVf|GSsc^3akLmwoB$R|@SFQYCTnuEU+b?*#vE z*WtN;y}n#85(*j;G79QiuFcx76W;q=vHb%bRAG0m!&k@OzUSUr7#Ens?_|6;R?q$o zUted;4KeKD2wfP$99E`cYNlb@aGyT^VHVEQXKR+mJh{1vk|ax%I7w1dn#S~IO8B#0 zug`d<0+m#uYN}MFT8*kyts2#;&d#c-oRD5{^4>xLf(--=0@{;3)APLq_;gez7Xl=? z+1#RxmnN;txtxb-{rv5>c4u$3oH1bp^xs1a`6oOu1V8{F1Vcc>Ap)q`Wg=DK6NN{3 zhF3@-hZ5?9Pt?RtLO?zt@S^z`{%;@GPi6VX+fy&S_0)4Oy*`$Y&13&K_1K3| t7SiZVuC#!OUjuSN*!*^jpKKv_G?*$2nYl-31&>ceRw$xu FBxWDp)0Z$zE>9>l1#oDr)M2 zD9PedvI;_agw~}q>#ak3B-wUWPz!wl9DoXN=2-y_nm62t&8-dyk)G*}bho=@BALjI zX$fa>g^jQI@a303=B(IqV5AKHtaP(v`tP%Oc~766B_l^hW>$6 ntx{#n92yS?%v5fX$ zyWp)x2HeV&hud1QX5C;knajMa%C;N~sbSiBDzZsnv!Ef4vq9x^>bWUL5$Gd!o|Q}% zUM+-Ftx9adUO7u&xuqJl!+pJY^X_oE+-=@gZQBlx)Nz&fXsN4zlLis)quf$oy?dn9PPgAbFW*LR>6hu#)$Jl$?=A6CXcxqaEW24`EK5)wzPBi7 z=l}@8;83s#K)MGmwFzb~ 2%@@A*ogXv$u+PGVL!m^6 zAv+G7xw2x-hAol8@%cal2vHqy4uJQd$nyH0r=GoOSYRcB*|Pt=XUm0pu{^g(C}>E? zD5#v|4ClFoILy8IqQF%6aWaL9y*u|k?x>n|pl89K#N6;fr{X~dj@pPlNBTO}cMC>2 z5uT4c R6;E@LYtB0Wdx5=p(1*dfd6d>RF>rBskOzD-Igp{u}VqGP@YN_ zP&8>eBB< `K6ija1n^42t`w*DA8g>C2G-#Rv;4-oO@!wV1d67|D=Bs z_~>J|TBALh{QhP9{Xd^4N}+GtH+Wu!$GeyRB#`f`_b%S=e);#k1Nwy6AVmG3&Eyo{ z2U5WfH})M-!L(Ib+)im*_7~abbUSB%y41l=l6pyzD(X^{;%?vRH?6TeGic%*Kk|O& z !yt#0nb3Z{4XtE?BWVE8DJ&e1E)8j@7&j4(4HDG* z ;`+)fRAWIgyIw l? zU--IPItWE3=Q464CtkW73-4;Bg^O2Od6iYWysNsl8y3 sz3b5D*+y z6o;x>g6h;qzeb8VI(EtV$)-u1Er-om>};oqY${i6*+NHeig+CaU|~It5N%fbwwenI z`)?;bQ85>3b9bt_L(f(!TE^w2jT9wXq{vaCN>VbCmr{gD-<44qM)7^pj+7k8f$voz z2e $OAPz zuujT)D(a| +q ciAYB-intG%=Rd}y|2QaS?5OD2cylq=b2pC>>oPRS!<4fr zywaygJPRnsb0|{{#pz_*EETDYnqz+wa}GB$XvC Y-79tsRcR?`DAatGVP4 z U)8M?kp{kC{RghdDUCOH@#`5Xo37y4j>nI(bHs|a# zPju4Br<{8DQOBNekfk}u-X zPzjQv$*E`=i1Y=ub(9UavS`JsrIoe4EYGT}%?69iVvj_n4Ah2SOiprEpq5bi1lVik z4Iw-Xo)80>MzYd8@V^8fjyK8@96WS5o@+ZI?mSyeZRcVZG*TRF+?( zVb^Cam>D&IxMl1#*@Vm47uVS3>TE`%J(@_+^HTogrS;^+n m&S$?kXinM^2hYSALj>tj33L#MhQw&j*2K#q)s0lNWc$a$*w4~ zN(<7lF)#8p+{vL6r;bj}?uxvqinbUWQit |QK@hT&}#KMRRFv-&YNUkJ4>UFrH;J1j=q nK)*_=- z8mCT;8tIwFM4Vf6(}YzG2LXbB0zqInfeT8oLI7j{a41GzEaAn4$}GE7>9XY+!qA2@ zV!?H+v#m6_35&tGa&uMPftxO-_xk@v0*mc^fKF3dVAm>R<5nl~tvs0t3;(&mypD1C zK|7@9D03#sGWNK7(CM$*a|Y+kz7wf~WONhH?A^GPB}@;fuwB6O2!KAn@szWN!LeHQ z5f#4fngDKdiyXn|Ifv_N(WYIYRH bqcS!V2q{7R zYSE^K-DK~{LI$FH4_o#PLJ2k6uC@ZK)Fdm}(bQ=;sQw_lu6a(cDG^DE@i9~3Or>K- zvj{(27B+T*q-b&~S_UFLgx4mC6|=i KUwyw8tEQtDgl9kz>gu;Y+X1?h>Q76Ps^ zLPL+8CA#apH#VGTr>EzP6EdENIO2jECpgVHF5+f@{9SSFlCS_h3g%nIUa=mdi^w5j zZuq6OiJz V{^sLu1pi>frPp*Qs(nE7q|tb?b H&T>nks?QlI+as1_0tr=)DHJ(!{@h+?cN@3*ADI6uJdYM&zpJM zBAc&e&Z( ijB17kLhpj^N!*qKRq&5)973k=*)D#)w);p84c_-++F{pA3YfFpJ*jU|-k) zS+9hI8{8~U!fmjUD_qT$t5&bEm91@KTZ`1r4u99q+5W1*jj7DQ^1;W3v-j08xqi?7 zxo~pq8NB)Yv`e5r4$PLDS1Zp=NB`dG#`xqe)7ESomg70$v~w;x48Qi#T}soA5<~#i zATJ+wi0WF@o8=TOPooUgsY6LkOHYyvc}fK6g;}CwW$Lb}5~+}qspcpRKk8lhlaD5? zrVU6;(42V3M$>Ied7DJD3w-1qpIuy+9O2{`GN_}2L}T%gFz`r#&XR)hQ_ma5IrUUB z+ S?JzBLhc->y$-oUP zqY7S_MI`Kl?;Cym5(HeZFQE>~2OG~aDJ *H_z zaQ&SeYz~Oc2e&a64>U~9AoUnM2U#8r1c4z;D3HJa4-!CvgX^Y9_*vo$5*&o+Fkr@t z3N;$EIQyT(94H6dSD>r!X!pLd+vaf1-)E~!)e89VW`~!m)Gh>-oo^Fc{CbmMS!|qr zweoS7uqOVR7zKXTl;N_K%l%kh-dr-}ohfsctg@7i?B$g4z8uM(+e^psE1%m5$_a(b zKqh4 di-30KAp&wBMQMRsiWL#2V3OtZUANEk%~{k&(_7w-7qcN+{)I$ z7@Xm|Sdy8ut59iFE1E~3lHmZAGG($>-Wk!uVl<7rD2!Sr_|(eyx+NTXaE7$+kh-&U zC*`Wdu#2;=Ewau^YaJesIK??GF=NG!Q>sdJsVTJ)SzL67^qMc}0%Nc~?C$z>O3FC$ z1o@yq$7WC2a98wyHo(Lx301L*g`w#sm3pg+&o$=ki _%yPCiEdRVBK18zr?4918LooMU+LfNW8yM z9jquG$GZlRlJ~O=zDPj~k-Z~Eo?gt;dnLuwzN+W+=>iXS&w@v10!jGx^e*i#!v(6o zalY}P_m9|CUfXMG5@9(0&G&E8&Y>bAguNSjROjovTtl4UYqqZ$8om}LL}W~uv0z>E zwOZSCKxAvsf22EjWM>SfZnPvv a=d3+gm!V z4&&BX?pR!RqZ*E|sey!bJRx7UXFxuj?N4!k3i};*Hgi?ONB7Ck_|7}mooqaHF~l?Y zN(Ucw0C`)#?W~MtJZ{o)LuFDH r>MwqLxw?R#XOn{Cb$jo!4f7^=@^F3e #lkQ|B&SZD||Z+o@ya;A3%cYfpFExnMoau$ciISVTDD$k{=X&*3i`4ph4A z>%n7q_7gQ`D^1a`97RXvk5OV)-;(HHjAr^d3WGT}-ohl`ZusJ{{AKOfXEOoMHW5@4 zp0H5hVG066ppY=|NC^I~QuD{Yf1N$O@yF>kRnpOoXIYSYR3YczV72$NhU7u}f#ljb z8AT&g$z){H1Z+?EQPFfjV!(j{76eESG}5IzpVe8x{%o7h2kiSu|K{T?n&BT0&73_o zJv;BC_^3a+k8v g&@b5IZu zdlUdpDg~A3EI|`}er1IWM;9XOa6ktG%&?*g)u=%&AVq^BfcwsaQQDxv&n;Hz6QxE* zq5LV*6lqC&EKV$Irs=ZbpUVLlt{rK(&X;BX-GFMyEk|{eFL!o8`xuUWsLKIcq^y(0 zMW1wOYLKJVpGtFfC@M>HluJB6jO--F_erGsNmSNMUQ}6>k1=P+914md3KUl;a(x)3 z5HlrSJFS{YooZuB|2I>CuH`SLj#K1#MvP-z;x-jiJ$2KF8yD+8Yj zV|mNpWcZsY1cM+c`c1s)H}@8a!QY3GB$mEmyGH)(cn9*jaWre#v%cR&oOz*p-6pWU zvMt-4Y_XqqhRscNo063&g%_1dv2tBbx#cZi;YAf&LP1t2EJ);GK6*GMkHI(jh{J zi >pV4Gann$8uJ& zmJI=EAPg!EC&C;5cTA$^EdLQ~CZ4>xxOw^MLf5*}Bi|&fB8g>+RUMxk*VB3B1k 6o+SJ%#t-TD?6XYHKkcCWTcr~HayZ~k+}B+D(|2KkK69X zf>ynlvRTUvj;<5*(GT|tKBw1?we)l7 zE$5trQO?g2>azFUbh{-l-`%OtzI*lV+h0x8bj{UbN0uyVs$)pjnrHaZ!X--=mzLMH zcuTcxD=ego_2$rYvrDVu#D{mCw;UwF`NI>GB mM#>Wo~&KT9`F99E19SR zevs&NK%7_d%U9MHPkwvy?8R$ER!qfLk_Qz5ozfwz5d0w-u>I9De)^GnnokQ_-sh24 z7U%^gcAd%BztZWm`W0%mByKt8^6USQrE=qodtNRMO2(;fsN;eCOZ^z`c)zqI)W1AS zf!GYFnX*J;@Fc)%Z#`|~sh)TMY1^{?mhRUv$)vKvKFqiu4|0JsQ=on7+p^O-fD2p@ zrZO%fbOLN_#@t+QpRN7BC&ZK6Z;>HQej4^4ySnE0j*y=Fa=ETrJ$fE9JO}w0r(D$K z4IKQL-|+5P%bPJr{$@9e9OW#lth32B^Q|nGJoQTY>6XmiHCs6NxkZSnb*Wl)!twh7 z9l9Vv{VdDcKH&SDKjP_YWH2!pj>aQKkDEBq) u2@hrPe}wMFwD{%`M_OlkT1oytVho@nApCcT&U=HB0@2?b5Y{iPx) z`{<$m;@6|26L(=+S?AHc|9e0#eh1~=_mAxR?oO@0+;%^bcg7v9@Kq`UNQ_gg052~D z#fH}5h(uuk5Q4#>U=e@}fE_7Zl`4%OO0u|=tb*_^p~&Ixba@QZvdyh*9gNJF 7TCiNWn#<9b%Xo37I1)?wk;GF+ ~UgG6yGpDkdxtXdDq`$I3p8^zcAu{_E{-ykO;C zP)>dX7O*-goY-m;s~dTn;?s0nY2M41&5p@!6eK%`h^yml@FNPItAV%XBU){w#6G#K ztV5^zsx;9;LRwBy7^F>cd$OW;R*oO%^f~IvD;JnWIzz?J@Giw$zbnEhSt$Z^z& zUni$nqoGGnCbB7f(}WZ-aOj0HjKf^yq7tnb0 I1<&h#$#y(#cE6Uuli2t9pF;rf2y7`f8Oz za9Q^ehxTP1J8=5Qb guxRdu_3<~g5f(&Q7n?AD)>m+CpE)GA@MEFV%E z?pk*|Z9U}`uiPhtav#cp&VLyzIeE8BqLZ6XT-qaY!zCr5SUr^*Yc4J&t03$OVHi90 zjIEpkGuhhR_+_ByTd(<9jo;LDmCMq^S4(-eY5k@R_wnSqAjs$5gdCS()zv2<@g#0b z_LQkSxSTzrxLaQ;RVWH+Fl)>F+a?ksA|?g~>07TKFmW`8)xEnt8^SA(1g$*l^7h&g zbI`5NYso 9Z5@{ZE|+iUtS!bU zA0d-@6ViVa@?;TN;g*)i@?2g^TJlnsYH>?h)(Q*WWwA6m*e~z@6|AV_iw9SA)E5w` zXScVr6zmJz&>R}uNf7(;my-XdLWzad Od{CVc*@7e!pPmSyFW8jw$1J;}S>-uZXv;Wtx z-`L0pR_YD?VsT(p+vc}`c;3|)N3U0nf%66z ZvPijKaaTnzdn4*GU z-8%2!wWK?wHJc-GYwc+z58FGFDVYiyK@*nzj6kzrvY`1<52^1@B>hW Kto~#oq@{-DYhO`bxL0MuEyBA+Xf4 znE_3pS?ofyMW_Ty&?E)(4In=}`uuXyG|;bs!wlYHdxbTsJR =g&>&RiI|~ sl z)<;HSZ24Rp$abf&ZQT{Oo9?2bQm>nJH;GH@ZkC~-?oY7~j#WK6kE0P wrgb`DN1ZXRB6 z2uLVs7+5%X1Vkic6jU^H3`{I+99%qn0zx8UAwre&Cxncgf|5#@aB3P6B1MT7LrX`` zz$li9S)6zl39J&?*f}^QaY>fKEmfLy89cm3$&@8qj&+)~IBcO8T6LIZg)P>b>8>W7 zKKN+%8-Xh)JoMg5-9G!|i?y~p=Zqb4<(Vtr1*4sH-W3;Ja@l_h+;G)3I~96oo z$8LM{ z+2^FadY#f{t0Rs&^hQ$SdjYguo{f=6^o_uR^Xkf@0%U-5gODC{fO{uZk~6+&7opt` LU@6}@t~LMwQ)~YS literal 0 HcmV?d00001 diff --git a/src/assets/fonts/VEM1Ro9xs5PjtzCu-srDqSTsjP6yuQ.woff2 b/src/assets/fonts/VEM1Ro9xs5PjtzCu-srDqSTsjP6yuQ.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..23c44c82b6caa9a7ace05e4309c559fa9165dc2f GIT binary patch literal 3768 zcmV;p4oC5KPew8T0RR9101mhS4gdfE02yEa01jgS0RR9100000000000000000000 z00006U;u0g5($D~5eN#TbfH!YAOHb20we=G1Rw>3Xa`^n5gV%(GXufK0YLNdHi-Yr zabrw50IeY<=%{ v2l2JHbAbL_=E+mG!V z*`zT erEs%1RHrXkY)0QRbhYTG^sL#d=-Xci+z zOLWGN^eunw?kE#9t5`74Czy6SSCm*$^pBknjyZTcY6~wle4u7dWl2k!i0&RB53US# zE!lu9#=89f?$_VONc_I_c+-m4VFIK;3Z!g~UtMgJf^9)CtUfdB`1D|C&G7#BYp?d) zPqUli7Dxrq6~{NK6Je_C?hD=bKJ*0uwip6e+{D(AtOL?ae~Tbgji_*yRh_Di2UJ4# zLx!Z8`g${rbgY!?Tn-LG)XrBQ05I$~v>p?HxpM>nAkWK5VXvUN!DU@GT(k9U?*NLZ zmau33uLc;8f_5%I_7nhM-!gjvK;)?<4FdqjC`wv56u1OCSVF7F{-TRpBL`H5deIV# z1)w-DAU+~cDHeYWmQO4d7Tn)%Hd`Np$oLy3N{YQ`q!Wqa>SE31OTB1@jz$`BE2b00%NTilR)N$YGK)^C#7Xg@+OkR-moJ^Y z^HiA)J|Y^jcikABv&A%JAalJ{21B@4zOWR;ZM3OMRBt0#@0_{*Yl5juxi?IaQIJ_c zn_@|tiZzg8u_%td8P)Vn9wjyyyl56o$820&=L#5X&C;APD xm^iH()`Is5akuPH~8&gbiN z5{b@eqAyN!`R3Wn6Nob~d1a1gJveh|92!~H>;~&%Zr#ibfN7e3$~8Zqm_>-6*8_92 zFFE&4{=T_8rQnUZHRDk{c<<3z+VZ0h?{fL(` uZr>@%t_#TfPbnifn8Ue>ajfuJUs;xu?;Y5Bj)nESlYYh z?$Kwt|M)r@n7#ejXudeQ8yKboW7l|tPtNQ^1N+Q`9+hkb9pdKUEyE8FZSU#Fg 9)%v3R(?2q^YhtR#2%QNd%>%rTDY#{1CPB|PMx~)#A-NqX$ 4!9+ zzri?YF`z}?Yn#*7a2-q}JNaae7ro!4v)>uV3Vaz9$J&W>y;?@V3VIp%W(ci5_i5tO z*tLc8Hn})|(1&7}!_h(o9>2XUAh7Kio}d_7Kh%~a9BT`FZ?|Ld3ZW;&p#&6f>o?X^ z>34cF8T&dx7+M*UD17Z6dpIiHZ8QE~Mg1?n*=?g>^RMr!Rqy?}Ik_neKCUq{J~$s7 zGCf`AIK+!e6#9iUN%OOVS5-(VSDl|VzWgD6i5^kBVSiG8zM1qt|Gia~mc5z`a8r3I z8Dt{28RmO(GspycrKifp-`(*J*W3S(ud9yy`~7XlHtPFplP7Uk_p0yg1cdAVFPmzb zYF_^DN(k(}t8#b6Pm%$Ci5K2==qF!ZP51LTFV^#OeQfuI$Js|lQtq!QW^>Z$s-Da9 zT8Rv1g {`J| O za7RM;vT#hF NE3<0qdQjvS5p{JwIl+CaO=mYD8KR z7Lr0{u(M>O{BIvTaUjW0{Z)6Neb5Kq4*qSWye 8EGf0frwb)p zWhwjg`T3!x;&N-6o4Zt87#f)*O|wmvNIOb>1nw<2ZzGiad*n- |K&7_k~N9IdAx;x}-4mj>6KiXiwLli@F`N&V-Tj`Wg!jcbh@} z&ecRYZg@WSKf5Y8J1MX=qdv66gOLi6z){Iw-Bg z0x-lX0v;>~O455}1*Q4dmQh2b0oi4?lF7Pbi7|w5)v8e1wdKNhHcqS6_Me-+v9u(s zGc`RqF)=+kH6uMCF*P}1UwYX&t>qtU*cl(34-7j0gL!Y7g=&XBZHAiseDwpRkZb(? z$+^WM{f+s_??$fB$=FcCA_>n7DW!EdC|{9m$yCzWl=}+rz#&SQ&Q{qdP8#D#+rkAR z>5}(E%5=6~u-eamjb4z>R@x|zug)fk z+eHj;(-bCvcYsA3|JLmNYfYTV4O*=Q!c1^uV;CN`^tLH=yLcCyO^h#)?e}6LI`o^> zwWm%UHP}tCD3-fW;fN5y=An%tT#SMvY_NeC-$9{fq)8gIqCCYZKBh;nh4W6WS9iGX zwT)}c`*$|}aC-heH?~^!RG)ONQB|{clxQ(x)%*b$EC3-#5gX4je56tSBatUV8QzV; z)&9NP1={%B7%kheJy 5bI!dQgOs+Hi^o z2p(8tJ-CALN9KVf@6}KJ$>$zjJ$omTSQ1Hf071X})Y5zw^n0HGlPW?&OgP;{Hx?=d zO5DvH2>Aa&;o~VbP>>K70V@(32rv+!08mmYNdGD`SR8sTG*-oxR$gVwTm_5b2qFRq zkYPTqlgHXu-~DuK?c5zDT8vm5fZEu!qI9bpZ}LJC2A&`$KwRM}=8g~h&@FkCr#Z~B zTeoPdO_5a!WdD@um>#H+r-h8FxU{@7$y@~z+5yjh%<(ur#1?&AqQ&ZQPkY|WQR+Qn zbc1{BuyBspnBkg%N#%qt1QDQuDu6P&_qwj_%K%+6P#8Mcqqigk0MNQ$ymJ?FECfL~ zl=z_&(l9cl+N|1yQh}7&n;;cX{d4AHe&EKQ7dEcu*7nXUb5&Sq2OR&B 2=acqfZk4uTqUkilhtnX1nwQ 8f-axutj@t_ZPz$`n*I b(1Sn+KnnPyE;Jop2-6 zL>Q4o7>GKek626WAWjgMh(~MCJ|SVjGi_8d?v%qU8e*i2=qRkfFt*9TfZfveC4KE^ zr IZ)2xdLhUM+;e_xem%XEeBEx^9K zo)7@ffaLrO!=48V!fsC9hM~~d+x!mGjL5@_Sbk;+h|gw;2H7@c7$!tvm Eg{7LvFJQRVX`IHam4*vZ$^`SBWg+Xr6*FA=LYe`0?he zyn&fb5nA;rP8VS|CfaUi+8H%bQDkaUof@^3QuRo+>H72Kr#!l>!!o(3p;j3*nPNs8 zT|_%(-B4fcZP>V!8cj|SAzaa&fKnUY-2kjqb#8+yjR)mXd%WxHZBj^dZ+0Gp> ^4{3(K^9xB}uwm&aDJYpaWEGUE{CVc8M iSA6b^sc-rt%vJ2NWH>HVbtxLOCJJY3Y4`#Z0001Uc|E`Y literal 0 HcmV?d00001 diff --git a/src/router/modules/notFound.ts b/src/router/modules/notFound.ts new file mode 100644 index 0000000..950f555 --- /dev/null +++ b/src/router/modules/notFound.ts @@ -0,0 +1,11 @@ +export default [ + { + path: '/404', + name: '404', + component: () => import('@/views/404/NotFound.vue'), + meta: { + requiresAuth: false, + title: '404' + } + } +]; diff --git a/src/router/router.ts b/src/router/router.ts index 19c9b02..8c8d4f9 100644 --- a/src/router/router.ts +++ b/src/router/router.ts @@ -9,14 +9,21 @@ import {message} from "ant-design-vue"; import {close, start} from '@/utils/nprogress/nprogress.ts'; import qrlogin from "@/router/modules/qrlogin.ts"; import resetpass from "@/router/modules/resetpass.ts"; +import notFound from "@/router/modules/notFound.ts"; const routes: Array = [ ...login, ...qrlogin, ...resetpass, + ...notFound, ...test, ...test2, + { + path: '/:pathMatch(.*)', + redirect: '/404', + hidden: true + } ]; const router: Router = createRouter({ diff --git a/src/views/404/NotFound.vue b/src/views/404/NotFound.vue new file mode 100644 index 0000000..c3361ae --- /dev/null +++ b/src/views/404/NotFound.vue @@ -0,0 +1,76 @@ + + + +404
+ ++ + + + diff --git a/src/views/404/fonts.scss b/src/views/404/fonts.scss new file mode 100644 index 0000000..072eb89 --- /dev/null +++ b/src/views/404/fonts.scss @@ -0,0 +1,17 @@ +/* latin-ext */ +@font-face { + font-family: 'Concert One'; + font-style: normal; + font-weight: 400; + src: url("@/assets/fonts/VEM1Ro9xs5PjtzCu-srDqSTsjP6yuQ.woff2") format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'Concert One'; + font-style: normal; + font-weight: 400; + src: url("@/assets/fonts/VEM1Ro9xs5PjtzCu-srDqSTijP4.woff2") format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/src/views/404/index.scss b/src/views/404/index.scss new file mode 100644 index 0000000..62d7fdc --- /dev/null +++ b/src/views/404/index.scss @@ -0,0 +1,473 @@ +@import url("fonts.scss"); + +body { + background-color: rgb(238, 255, 238); + font-family: "Concert One", cursive; + margin: 0; + overflow: hidden; + padding: 0; +} + +/*/////////////////// rules */ +/*/////////////////// scene */ +.text { + left: 50%; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); + color: rgba(19, 36, 44, 0.1); + font-size: 30em; + text-align: center; + top: 40%; +} + +.container { + left: 50%; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); + height: 300px; + width: 500px; +} + +.container:after { + position: absolute; + content: ""; + background-color: rgba(19, 36, 44, 0.1); + border-radius: 12px; + bottom: 40px; + height: 12px; + left: 80px; + width: 350px; + z-index: -1; +} + +/*/////////////////// caveman */ +.caveman { + height: 300px; + position: absolute; + width: 250px; +} + +.caveman:nth-child(1) { + right: 20px; +} + +.caveman:nth-child(2) { + left: 20px; + transform: rotateY(180deg); +} + +.head { + position: absolute; + background-color: #13242C; + border-radius: 50px; + height: 140px; + left: 60px; + top: 25px; + width: 65px; +} + +.head:after, .head:before { + content: ""; + position: absolute; + background-color: #13242C; + border-radius: 10px; + height: 20px; + width: 7px; +} + +.head:after { + left: 35px; + top: -8px; + transform: rotate(20deg); +} + +.head:before { + left: 30px; + top: -8px; + transform: rotate(-20deg); +} + +.head .eye { + left: 50%; + position: absolute; + transform: translateX(-50%); + background-color: #EAB08C; + border-radius: 50px; + height: 16px; + left: 45%; + top: 40px; + width: 48px; +} + +.head .eye:after, .head .eye:before { + content: ""; + position: absolute; + top: 50%; + transform: translateY(-50%); + background-color: #13242C; + border-radius: 50%; + height: 5px; + width: 5px; +} + +.head .eye:after { + left: 5px; +} + +.head .eye:before { + right: 9px; +} + +.head .eye .nose { + left: 50%; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); + background-color: #D9766C; + border-left: 8px solid rgba(19, 36, 44, 0.1); + border-radius: 10px; + box-sizing: border-box; + height: 35px; + left: 45%; + top: 12px; + width: 15px; +} + +.shape { + left: 50%; + position: absolute; + transform: translateX(-50%); + border-radius: 50%; + height: 140px; + overflow: hidden; + top: 70px; + width: 140px; +} + +.shape .circle { + position: absolute; + border-radius: 50%; + height: 60px; + width: 60px; +} + +.shape .circle:after, .shape .circle:before { + content: ""; + position: absolute; + border-radius: 50%; + height: 20px; + width: 20px; +} + +.shape .circle:after { + left: 50px; + top: 10px; +} + +.shape .circle:before { + left: 60px; + top: 45px; +} + +.shape .circle:nth-child(1) { + left: -12px; + top: 80px; +} + +.shape .circle:nth-child(2) { + right: 10px; + top: 0px; + transform: rotate(90deg); +} + +.shape .circle:nth-child(2):after { + left: 65px; + top: 10px; +} + +.shape .circle:nth-child(2):before { + display: none; +} + +.caveman:nth-child(1) .shape { + background-color: #D13433; +} + +.caveman:nth-child(1) .shape .circle { + background-color: #932422; +} + +.caveman:nth-child(1) .shape .circle:after, .caveman:nth-child(1) .shape .circle:before { + background-color: #932422; +} + +.caveman:nth-child(2) .shape { + background-color: #932422; +} + +.caveman:nth-child(2) .shape .circle { + background-color: #D13433; +} + +.caveman:nth-child(2) .shape .circle:after, .caveman:nth-child(2) .shape .circle:before { + background-color: #D13433; +} + +.arm-right { + position: absolute; + background-color: #EAB08C; + border-left: 8px solid rgba(19, 36, 44, 0.1); + border-radius: 50px; + box-sizing: border-box; + height: 180px; + left: 135px; + top: 80px; + transform-origin: 30px 30px; + width: 60px; + z-index: 1; +} + +.arm-right .club { + position: absolute; + border-bottom: 110px solid #601513; + border-left: 10px solid transparent; + border-right: 10px solid transparent; + height: 0; + left: -60px; + top: 120px; + transform: rotate(70deg); + width: 20px; +} + +.arm-right .club:after, .arm-right .club:before { + position: absolute; + content: ""; + background-color: #601513; + border-radius: 50%; + left: 0; +} + +.arm-right .club:after { + height: 20px; + width: 20px; + top: -10px; +} + +.arm-right .club:before { + height: 40px; + width: 40px; + left: -10px; + top: 90px; +} + +.leg { + position: absolute; + border-radius: 10px; + height: 55px; + top: 200px; + width: 10px; +} + +.leg:after { + position: absolute; + content: ""; + border-radius: 50%; + height: 10px; + left: -5px; + top: 15px; + width: 10px; +} + +.leg .foot { + position: absolute; + border-radius: 25px 25px 0 0; + height: 25px; + left: -38px; + top: 30px; + width: 50px; +} + +.leg .foot:after, .leg .foot:before, .leg .foot .fingers, .leg .foot .fingers:after { + position: absolute; + background-color: #EAB08C; + border-radius: 50%; + bottom: 0px; + height: 15px; + transform-origin: bottom; + width: 15px; +} + +.leg .foot:after { + left: -6px; + content: ""; +} + +.leg .foot:before { + left: 8px; + transform: scale(0.6); + content: ""; +} + +.leg .foot .fingers { + left: 15px; + transform: scale(0.6); +} + +.leg .foot .fingers:after { + left: 11px; + content: ""; +} + +.leg:nth-child(1) { + background-color: #B2524D; + left: 95px; +} + +.leg:nth-child(1):after { + background-color: #B2524D; +} + +.leg:nth-child(1) .foot { + background-color: #B2524D; +} + +.leg:nth-child(1) .foot:after { + background-color: #B2524D; +} + +.leg:nth-child(1) .foot:before { + display: none; +} + +.leg:nth-child(2) { + background-color: #D9766C; + left: 115px; +} + +.leg:nth-child(2):after { + background-color: #D9766C; +} + +.leg:nth-child(2) .foot { + background-color: #D9766C; +} + +/*/////////////////// animation */ +.caveman:nth-child(1) .arm-right { + animation: arm-anima 1.2s infinite cubic-bezier(0.55, 0.01, 0.16, 1.34); +} + +.caveman:nth-child(2) .arm-right { + animation: arm-anima 1.2s infinite cubic-bezier(0.55, 0.01, 0.16, 1.34); + animation-delay: 0.6s; +} + +@keyframes arm-anima { + 0% { + transform: rotate(0); + } + 100% { + transform: rotate(-360deg); + } +} + +.caveman:nth-child(2) .head { + animation: head-anima 1.2s infinite cubic-bezier(0.55, 0.01, 0.16, 1.34); +} + +.caveman:nth-child(1) .head { + animation: head-anima 1.2s infinite cubic-bezier(0.55, 0.01, 0.16, 1.34); + animation-delay: 0.6s; +} + +@keyframes head-anima { + 0% { + top: 25px; + } + 42% { + top: 25px; + } + 45% { + top: 50px; + } + 100% { + top: 25px; + } +} + +.caveman:nth-child(2) .eye:after, +.caveman:nth-child(2) .eye:before { + animation: eye-anima 1.2s infinite cubic-bezier(0.55, 0.01, 0.16, 1.34); +} + +.caveman:nth-child(1) .eye:after, +.caveman:nth-child(1) .eye:before { + animation: eye-anima 1.2s infinite cubic-bezier(0.55, 0.01, 0.16, 1.34); + animation-delay: 0.6s; +} + +@keyframes eye-anima { + 0% { + height: 5px; + } + 42% { + height: 5px; + } + 45% { + height: 1px; + } + 100% { + height: 5px; + } +} + +.container:after { + animation: shadow-anima 1.2s infinite cubic-bezier(0.55, 0.01, 0.16, 1.34); + animation-delay: 0.1s; +} + +@keyframes shadow-anima { + 0% { + width: 350px; + left: 80px; + } + 25% { + width: 450px; + left: 80px; + } + 50% { + width: 350px; + left: 80px; + } + 75% { + width: 450px; + left: 0px; + } + 100% { + width: 350px; + left: 80px; + } +} + +/*/////////////////////// credit ////*/ +#link { + bottom: 20px; + color: #000; + opacity: 0.2; + display: flex; + align-items: center; + position: absolute; + left: 50%; + transform: translateX(-50%); +} + +#link p { + margin: 0; + margin-left: 5px; +} + +#link:hover { + opacity: 1; +} diff --git a/src/views/Forget/ForgetPage.vue b/src/views/Forget/ForgetPage.vue index 0250511..e389cce 100644 --- a/src/views/Forget/ForgetPage.vue +++ b/src/views/Forget/ForgetPage.vue @@ -25,7 +25,8 @@++ ++++ +++++ +++ + +++++ ++ ++ +++++++ +++++ +++ + +++++ ++ ++ ++{{ t("login.phoneCaptcha") }} - @@ -87,7 +90,7 @@ import {Rule} from "ant-design-vue/lib/form"; const router = useRouter(); const {t} = useI18n(); -const resetPasswordRef = ref() +const resetPasswordRef = ref(); const ResetPasswordForm: UnwrapRef+ @@ -51,7 +52,8 @@ {{ t("login.repassword") }} - + @@ -60,7 +62,8 @@ {{ t("login.resetPassword") - }} + }} += reactive({ phone: '', captcha: '', diff --git a/src/views/TestTheme.vue b/src/views/TestTheme.vue index e17d435..25b709d 100644 --- a/src/views/TestTheme.vue +++ b/src/views/TestTheme.vue @@ -17,14 +17,13 @@ test-+