From 5f0ef0678677f82bc6535fadc683603902ca22d9 Mon Sep 17 00:00:00 2001 From: qier222 <68148142+qier222@users.noreply.github.com> Date: Sat, 17 Oct 2020 00:13:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E7=99=BB=E5=BD=95=E7=BD=91?= =?UTF-8?q?=E6=98=93=E4=BA=91=E8=B4=A6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 + public/img/logos/netease-music.png | Bin 0 -> 15140 bytes public/img/logos/yesplaymusic.png | Bin 0 -> 49099 bytes src/api/auth.js | 42 ++++ src/assets/icons/lock.svg | 1 + src/assets/icons/mail.svg | 1 + src/assets/icons/mobile.svg | 1 + src/assets/icons/x.svg | 1 + src/router/index.js | 28 ++- src/utils/auth.js | 12 + src/utils/request.js | 4 + src/views/login.vue | 229 ++++++++----------- src/views/loginAccount.vue | 340 +++++++++++++++++++++++++++++ src/views/loginUsername.vue | 194 ++++++++++++++++ yarn.lock | 10 + 15 files changed, 723 insertions(+), 142 deletions(-) create mode 100644 public/img/logos/netease-music.png create mode 100644 public/img/logos/yesplaymusic.png create mode 100644 src/api/auth.js create mode 100644 src/assets/icons/lock.svg create mode 100644 src/assets/icons/mail.svg create mode 100644 src/assets/icons/mobile.svg create mode 100644 src/assets/icons/x.svg create mode 100644 src/utils/auth.js create mode 100644 src/views/loginAccount.vue create mode 100644 src/views/loginUsername.vue diff --git a/package.json b/package.json index 6396d49..95f6177 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,10 @@ "dependencies": { "axios": "^0.20.0", "core-js": "^3.6.5", + "crypto-js": "^4.0.0", "dayjs": "^1.8.36", "howler": "^2.2.0", + "js-cookie": "^2.2.1", "nprogress": "^0.2.0", "plyr": "^3.6.2", "register-service-worker": "^1.7.1", diff --git a/public/img/logos/netease-music.png b/public/img/logos/netease-music.png new file mode 100644 index 0000000000000000000000000000000000000000..268aa96238f876a580f10dd090d6e4dd7736fb44 GIT binary patch literal 15140 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�NHw6O^=l_#J2cVraJ9fWb;$#1%AN%;zsK#psj($#`MAhkk zqBTXCSpI1NYUc+k%501CRLb z?xB15l1%Oq(w*-8H}$MZPi;ze631Qswj<(pyHBz&e6OR{-EZg!=|c`RI;(!m$c-$B zjK#B)be=i+S*0XyfSQAD7U`au8|JC+eJ}aC#80bg!J7`+&}aS&#w-Z@1^vM4w$--5~c}33~VqycUr} z>PXiXT44BN$@{?GC0?<2CT@}1$PQ+C$IRbBq_jQRyPE+rrpIa;h0vlDeDJ@w;$+0u ze(tv3N_g{=tn0nEyxD}1ozHCMYboW>2<^}ZhQJ&_+OuCprB>vZF@(m>C1eBLvLSILP2GgwrBO2aLA3?4IpWdO8NWZQn>&^D&b_6ZrZ z-&eViWS)%P*YC4Uf=&OjxrU8+K+`0&$aLCOJ#qc!QJv z(?^W>u_yuw9U!uU8}%9pp$tG)0BW#S4x>uvD9DoK^*L_@y&X@jCI=ss4cY!AEH4Pt zJ&hTG+kklpFE>Mrv)M4k%&)EilK?se96mmY08jqEcl7;@{UHWep)b^LjsK~l-^ib! z`@yB;K?WVOI8gyUal?m;ZX#QJbK3-#!8I9S@+%)98(hJfb@;<);Vff-muv)aaVH_` zg!A%=jE^FDBMyN1*ar{Y&xlP`fnw#eTHZB)hd}Sv9-ec+&Z~Vo_-~hW-(SdoUNi_K z09VbQ)BtJ-PK1@L35nEg{Vu!XJr?B-+u3MI zc{^$VtQJ78FodL+E*b&nC<8^43kTe+T)$k7*WnX>^Gfd>?0;LU|H%tKP5m=7Lz$_Q-AK*it^HPBw?0@Uruem?D zUt2%Y{n16py7EsT{A_Nr22}WaKo(hWB<@^;RVpr}0XhAnV?$GM7&q@QZKMcbVDwOU z%xFB=M=Tu-fN*V2%#DVyZG(=-SU`rVS`gy0@+2^w*!gViJ6R2oWq>AuI|&@beJOQuwO^^p!tje~$2k0?eGrzFI?@GaD5(1w z8eHr$ZXF(lGh`{CGr+NbUEz7{Do&4!mn-zbG|4G_Ek^gbc{}r6y@0iO&=qP_y z)32H&IDa1Lk7`P7qb*9--ZWXn4Fk`&Z46gcNkLm@)d1iB^X6q>7Mipk^7aivWFt6M zZbwxag>%%|urJ*38Fj$z;yU1qw;MKoApJ|T(f9pC^*@RGo&7`on?bzZA_koDm}#H5 ztIj^5$!pcm8|f07?_84&;|LlK%>2z&l2Pmj`2Owt577XR#@|Z3wlWD`PjG`FHeST5 zFi`<;?)IN_Q?O8gRROnItGCM^MSx-dam5P3-7sm&AL<=FtcW^Ur z#262Qkha^reE;_H*PHGK*q$9fQZ!#S$itWP;hvoVCfkN1-kF^O`cG-&-M;94YyNol zSMBfHKK{?x)$YcPG?vWjd;cCvPo8I9B*WL2@c zC3{U|iuLSa{=Ec<*+0=GczQ?R*Aq+iQ^x2g@8v6)v`gx)Y0=+YbN7C-Y@Z77&-{N! z_ey@L=gG7SwP%c2&*RarmEz_MMQ@t1?|}mM>6SC!z;zk;^Yq(yKJ~d{?`H}C)gKjL zOZz8Y0cHsh1Vc|_U*<2r%iW)mLOwZ1>c6sFBR8kraaMV4xqfa1PY>|+@&XemoGnu- z=jOkfgnUZ(ubNRC-z44e9Bi)5>Sld+_P$#o_+t^+vGr@ke`orc`-k6j+_?4I-T!&+ zC;Pn;h%V0TlbWZW%ud_w#5Izl`H|kVR#UEW?MT1uJDWab-sdsp_OXAT%fQ0}SdwB4 zBKM$Ox=;x~iC$sa3O6Js5*M5y>fo?Ill_Y9e{8V~*s&1Yv90s_^xNiNZv5>ICrt=^ zr1#TjcOS!tAzqTobo3%=znQ<{90?(5H}jV!g~`V|YK|6JNd5?$QNcm+AZr;?6$@Ue zq_c1z=m^FEfWKdUz4#+xvjNR!Ief*SH~?j4H7;v0B2g3#$@%#tOQb}XvL}MTcV7o+ zB*%Y16bkT%HXv$$Jo>ReQUGT1ye4*!Ohz;jyx zq5z?Z9UP(mD+(~9AFMpoIV4~=2l$BW{|*B?5D+UrF8$s6AAcwPLjpSWzeoKSWDP== z6ZhpIZVyP%Rw^)BihE%t-GnfS;1TQXH9kThc~Q#3ELwX~be7>)Tq?|8#ok;5m`t{z5_m#&iKl%VrSZJz-~YWdBnP?1_L_ z`1{vZFyQFYNIiCcQ2$MHMN51cMMxcIyUag=!c4R(3CLsMfijB265JzFlxKm^O9ELd z3bmT7ULng1U^5{h1k7Z?{_W}8kGFq(BS@IY$fdm`c4Ec?$bsI@0?%hoAZ92GnO%U_ z4218tNG=0=ZUt`P0X9#5ECcq>F|eonKXTjm;cZ~mx0Nr0fNwu{D*?U)5Z8f*3F)0s zXAuy_TQqZ$S@ReaLsVo^3zLGU2szM`1WFh#*>=DQAw&GNT5*KSxoFNGyD<;&^X0#@ z1}H56(WN=bGA?0}GfZi!L_!@AF)#&@PR0oeU?`Z8ABPv48HxOSgk6ixfcVNpgYU_E z=70C15fTvTHwWM)pltnbR(ghIKk^B0Pe>9R7BM+S*qGjPE@|A)hFujtYY|&pZ zr094C*_-hMx9C$_1XiR%2Uiqt7;c6iK&#yY911XhL&)oEf6a+#6n1HCA#Ktg;viLs z7$m_gi3iFBHQ$FSh@l7-AQpoDh5NRADrBZML?CmXiMN+-{rA{Jb^y(+7u!$vNB!># zCn_kNDy*W?N;YVYV{%+&nT)HD>j*~VHDjP6#YDnsCv0FVVgcbJ0*z$#S#;YbU1XVu zcL9@vu92T(&Ih?B0Bk3aXmm-}0&5qTY%TF292u^O0)jM$%2)L(!%A_|umH00ZmaL`P0Ez(g{k2mVqk!)Pe`W1hPtiF6yI@N_rtv(#?P+ zf=omSFaf|qFm?oIN@H_pe?NWs_xtWk|9K|Z{}IaxjWV#o_jkC?*a7S+9CI#oqCPdL zgyv~<@VQ(QkrJJjo|2>phgh*tVnymKhFO*=068p%U&ZJ zRG1JgbJtaQGc=iY@JDezYeu;`PnK#s0xPuukkCO%MR?P%A(NV!#~R094ENX*0Hy#f z=N{vPvs57jvvgy@j6RvioG;Om?h2u+SkfqS_T8};3?J}F2y8o1@a{#xU&afs3}xqM z_l@6a0CVS$w;OEJDI`D`o|xtusyY=KWMM(24U`ilmid=B5*n0lDbOjl(G#(-XmwSZ z4QY0l`a$Pbf!OfkqyU+z9G291t$(#87N^v=#Cdw?%1M$c`eE3mu>xR@cmKzP5;FNVEET?9pDPEOs1r&9;omrhgK0N zSYPI!7%1hwTFcVSdMw*$OTd$O>GotPX_wDQosKKe0R?L=DSUs#)3 z8M{^|RDfIueI;#8NG*m#3w~5qPF!HKipQyo6_IQ4(dx)Jb}g^Uh-P#q0KWh4%@m;Z zwkSX6eXNj|PHiM(l^ZW0juhYHlJ7deJ?WpODUHo38?xxUEXts#2sAxkyC9{Aa7oMRK`!{vQ@q+K=2|;exs&}BW>!p~ z0N>x{|1+qa###!UTBi5-4PbltXqfWosch+LZ7vdagOsUr?Zkug?DZOxb`zbtS~zR56sOWI?S6u> zmH7z02g3pI!yXHl-j=~mYOFIDYbPpy^q+S-E^us@vqAw5dUju?;eLRZ@kGELGEhB# z-0uyq00Th;^bLgt{O@y6v-J1dJdGOy-K1i)( zBCfouGxkTM=M$ITCjk7Ju(>z5Oqe7e_dt$Q29;yvDML$w3vdXkp(R+y8!O9@fR4=? z828){+=|L4*X@vf5Y&&t@j(SphziYrFKhpy*UX)iTkqsm#`3|?+k})k(+Z4J2Z&_4 z5-r4w%cA`;zegEMyy~YBbZd9i11a;i4Y2PHfR|rC^|c=g(C^`7LkC1h@}oi$o4Fie z3EQw!bW~>5Km-HEWaaaGKJQtFXNw5f!0lQI&hJtE{hkk#|2)5Ys=q0~a5m^?M4$1d zdY$I4@!BUfKjKA+6(5J9lUm{yL4GZFP{KLu0)A1F_GRqh~G! zTme3~DrDjp{_{{&4DS2&So|UP9qBjQ(LH8NNyq%hN*>H1DOOWAAmPDOI1A2yxcGIp z(^bZbwS~NRGw_nDm3{&1pnUj{Y*w;L!HORl2b?Xmy92-;37ZO_7}-d)+SokD0epNe z-O&ejL*v-pU~eRW(Yz;#9439HUTDvrVMer=2% zEvIvItTDDKr#UrERWj7u5exR*B{cv%z1cp%EC9U&fFlGY0JM~sQ6zAv5+&WTOGJSo)X>$Dl%D zlNc2A4rr${>_z*W{{Ls|+IH-?ji3lbfcC+ViV4&YHlY!a!2kb;8P=uA4T8wKXV-Hf zyQ{0Jd&Y{g6IkPO{raK`|FKp~fBjE6UsCd3yH=lkl{?N6$&qV!;m`$iiRDwSgb;I# z*3SQzf9}5^;8lR{Izxof=d6@55r^4V7M}DutZaPodMVK;d3*EvSwve z;X>TEE?`M70|i+i7D4p_jE~q3Ipxb!xx9E{g|fW}9N{(XQ1vW&FU>N51b|)%n&*Ky zZ-N!=(yfCB7-oHGBTP#S1BCi~P|fT_m9nw@-lBtwhDO1Sz>ptg89S$bquWH^VDO}9 zA9H$tw|<-aSMr}{KbThkb#21Mnk<*Hy1K4#238>qw0Kj$rc)TVgQGJJ$jP}5&{_D(KL7gLDN%213_pTO#0T&|`z1N{E?F9P7}{(IuqcjT@HY}H9$$^wCC zGoJRP?^VqKm$Wuqk1)jiF$unO`KJv|s=xy|xc&X^2Kv#?@27wD+mJZ@zo$uPN4YQh zOrs#R+u&x9t847uf5B2MpFo{bP?o>%6mj?I3UCN+Apz9>Q%VXfEGt%YyO7%%ID;=j8j97B@6fN&Nx z8fbN{~&!(Ww+gwbx-1drBC`$70bbz%BhDJ|1Ng5#%6>5rT|4O|o{) zI{yPosmq-r;D(^R!FrzOe&v7kD?b7Ozr#{nEdcIdB5YnnC5V+CM*voppVda;E3L3L zA0|wX3uVt$t{|v4TDV#ExMHm4*7`9ifi;G_yXpZ|J`1c;Fx|=Ug z7()lJ!wglG`_%5Nr4SMjB0R^Hoh#D)2@N|tP{B^kaUL3i_kVY$FEl*2@GI?p;Vb!J`A5S;t-&JyZbj?XPct|M=1V-M|xggoJ5a=Un+bV1Vk?o*>~TqSabbu26)#25(Bzri)J)!RFd-s8aaUXSw*Ju=>ZkhvcX zzonS6YUxQ3h^Uz zIf_%Xb^P@VlV zwrvgeNz09eVJ9AC8hAlf8hYydxj{kq8oYe@L@2y7q=Hz2y?)^F8-WA>M}ghMyAd(( zN9eU|4=#72;-JNTAj%|wVF(LVm6lUPxBHB;S?cOrS}+Bml(lC*6ayOh_hZxhP{lL( z1IHl@=|5;8o>)NrV^n8p2a^Q>PWSKD2A;7S;W7}Y^yxB7wHhJ}ER|T9VFtZVd8_?{ zLc}JZRJG=9fubZ+b@*D9ui7RmRi$Yi%5FohMm+<6KJyixj=r+v&q4541K@*yPZ)$w zl2Emq+@}cPXhc@~9Xn>9xx`T}9d~`1qV%53CCj_1Bg@Mm(!Itd1Xp>#8E1=^XMFa1 z;1hq7#0JVfZFumf>@qOMfjEGrpdB$2^Te1%SEM_FS0JK9RJXb&My5{KN}-FDTRkk} zQ{hxs3FK0u3Bu7QSURR1ldhOAwosKG(ZT?yOG?$z?jF7}dfhf)aE#Uf*#ECVKfY&} zrQI9OGk_9F$v0aeriv9BueUlp zvo3vk`VBIVjYdX^;9vbB+Y;kqZL(4tomkNGQEc-lLZHY+%0LpCazA1XXr#i>c}Nl1co8kqZiV-6b`$XHqXF>e zek&A!4S<1Ny_01{VOenHu&F02%D72g5pATw3gnRZ(W~llq`5Cl<6C&C4FcKuOmv?| zBSQBE%cMWpF+P(9z`y5yHW-a7`RBTL2yIWbqjCkM&X|{IAFhZRFJe z)0!s#a&)?sZ4eG(Z7#~P=%OeSV|6F)c&sMRcqbL)vVk!n>>eH@coqA$_K$6Vr+u99 z+9Xi?hk;|;ulGMJP~uwWh{UB}awjLja^h}%QN1ReD&l4lmQ{iqS9@8J%Ao1g5Gznu zRU!2e23o(oa0n!2Bg;mcX4k8p!Xk=dz1XYP5p9- zp8WAz<;pnBQu?AF8i7eA#ltzOJUnz|R_CmiL6OELCG4UDH0Gmlr2le)L(!saxOYZUX!`=ttu&>bAm-p-emUBTLi# z>8{}9wQaE{SNkomSb+#k`J%Ffl_||~qq;qut$=32{5pCtNOSOL(4*h!t&edVh)e*0 zBgPuYppJu!hjn>Hm!@%XESO4yY4BObd@Ai+^6attQC%9x1d-OlT)^j`rTUq;@)tmb ziqqI+;%ky!CT=%UmQ~~Qy3YHF74`h?CSbP#fBpO$nU)L5LQ~Js2~Zpzz(tp0!ZNt3 zfhYz*tAh@k?9Stf9jmhUPlcv5#?-5Uu;MH0(0ETCk)~ic;Z%Wqwgp&5ZH#>?)x_qH z4(_b5@Lp&WG-%H{9@P-1poJkhyZNA*l5RtVl%VdyzR-CI*$fCYy|| zVxRp-W0{O$zOz>kmZ!(sv&RtVW}3GMg2<3+N)uCCla45CpWWj$`@ah+vDPZvEZrfA z_ca`E9`i=>lLgqX1^!?gFfSTF5;`-Q+xxU)xuKO-clox?R|XGn$GO>a*c%TkvwMwo zMSHp=Ogs6uZyP`0o*dDA*AUM2&e@5d$pzB~wz47u2`t_&Vt60;4yc05RJV|D97c zyyqizT!1sYx1W(&jny-;*~&6P0KNY!uuY*>Xi>mG+ZU83 zYZYR$mL%ZU$^Vy+KY#xG;qHU?KI~qefa&h1y%;@Qw1=rR%Gk{I1kq8!|2&pNgGFDM zC+VJVB~kYWT8x>2(QSd{ze|3!;=d<6T-A`7@7YHai$Uf}LK}AvJXPX{EE+eC97c+V zrCk639+^o*K~%FckE2-}G6iGi_w!E6NHlTG(=fgbCKdd9bH!>7;JLtK4%afCWB!(%s3%AC_QI|I;tR$4>IpKtA6=eY#@j|{mPBZFMYuH0hvO;; z_xyXO307v$sWaT6&>?L~hKMR)JX090H`TWaO#|ZQE2A*j#4}FmVkC|Z;2b(6GO8&&(%_KBFsVeZ}wg6=Ujs&cW zZBMif@P*+=*aodGJF7j%FqZgar@m~1OuGnTKV(WpsV-y03|ly6HJvorWeMd8qMQEm z!&5hy(M<(OdJj0_|A|ooR^i`L<>Fvjg}=x}FWmBN@Tm`A z6Od#n5UcG3WCkSqOW+snfH@+HcyNc9-VIEG@M$sYF7Bzx>*EE5k}qWQk!=^~h%X|q zM*)870@QW@O~B=9m63#sQZpnd#&xNdKwAs-V&p)5RjfhPg*CtPQF>$>w_JQI<%Y$Z zgE8N%w7(mxhk-wh3x+Q&y=q*zMYA(Ll^y&WXlqNc5rQh=sqJh_z{e@Q{PQOsIG_mV?x~d=^SM>*jx0Uf*3SAmc{0yrV)=U z%tWpK^#{?JPESNb5Bfuu7xgJu+qA;Uq-JTJQt>_(A?Yj0B3xe2-|8+t5f!Bjq{llt zei0f+T2l`W>+E~h#m2apq4uMGgYSPSjA{pGb^uLBMc453mMp+e1aP*5|NH$Rs0zzl zrubw(5+lflkXe!$dX9K={7p|8LhvJ+cKLZVqqrig>x*oeGrt9wuBGr6j(sRZZ|a1K zbX83%)0lxTHJ?NIU>Ks8uLl4jxtOcIgYI9m;3?8pFSs%_x>cvuAaHPC+G+l0 z_>3WmVApig$LL(yoslUKtM9WE$GQa^OBw_@#`+*DR2*pR(**eV`xgbE4g9W+HJa8= z8Mr%HLx5E5;o?MTSY3xsmbAFInr&fFzKLc(>TKwL<+N&ZBH*q* zziW7^)UQ6gVX^HN*gh+F4}HzXLP+|cq&wiLrb5j_MKdXn-)nzCxZ;9?rx=gA3kL)! z?h5@un@TcUzgJl6ZiMufpRTB5=FcT_-=$K%X7LEM%6jV0BDP;#FYBYAt*L1+q1$fj zWu^EKl>Mi|Ujs^$(xPIe?0KENM!BQ!QMOUMn43+YF9_hZfu|0j(G|4RPh%Q8x0qcN z9MBqu30)t<4NN9wQ7YU5Old+Iq{NX(TG^ods2N4Cbpcak%cDr!Rn7IHNMBf_rIKPe zSfrKPPST`%B4x*;k>2z7Zqv+c&E)2SLx%SLt&TP^@yk|>CV z$$4x}1vun$@NCX3a4f*b*9ved!Kwoui1&hem8R`9!P*q5689rHu6|rc2jQZ#YMgX{ zTi!_C&7@7a)HHdPU9SKv!R4|f3>gX!wA@7+cEBq}Dw!62Z4ra|6^PAro~U~MZh9v1 z3SR)OIasKe$nCrf8gPPzWxMl`@|~`n2w6HEX_vt*IbSBrwmZr@yK9r;MS|zuhl8&a zE(^H-^OXX;Ht{ku^Y%Wvj%F4EAcmlrDI+;1B}*D!;4Ddg-# zGgXXDN2_nT5?M_sTrmaae6zb#gNvGJG1Y-k&mmgY1u)c@!{O}Ob@f!` z&oTOz*ANzyXjMYf8yQ4UvMR|#H*zR%%;w2VGg@}Dc zpTToX46@}L@N>ulgxw4HAi(JX{GI?V3fLkMw883DhL$Y7$j!`+G7dXjQHF|n2&7wu za@w_92etqbm+J&@$wX5!?%H>V!-Mh8kv%^nvzzwC65E*`{yuNU@;)AL_dl9gvS|@h zwOj%U%aUE6M!prUA@~g3pc`k&S-B8bHz>tbxtl!#xBw^~ZV_XzaBCCb@81)^=?9;u zLe{WXsoPW~0LB=|$Oz0Z=COqjtNNr!H3-#Cy*dqXRT9*@W)7I#%o%arJTQu@*Ikl3 z*`}VKaKtA)Tj~yut->uUN^)S2>G?DS-$L{ES~zB|mOyN}?GxiJTqmRgr^+yUzaZ|* z{ExOP+Kn5Bfh#ZpE)PMgKAi7m(J632{{IiJwn)xUwl}+JZV%TcYg-b@nc+yAww-lN zQSe~856~OZLdQe#lR&@TeqC<8UjBal{-ft^+dqSLJTIZx1IUw`TJi{&)m^gXrm93j zJ8e=*NI;{9Q$VsLoX%K73^sOMoNVjCEg73QbT0(*ERA^M!5TMO`LRsEFb@C7(yi1P zQ+z(^d%s*1KltKwv9(r%O~)O&p7A@WL*Pf+N8D@tjT$(%E@OfR>J8Sda{X?r+Kd-8y(_DV^V?=-8~dv}8Ks z<~zBzs0BxuV0la$gM2<2G|k?KrHVmV8bltE5qR%xy3_64Sv0N0!0-ZX@tFw_@KGH`HI1fJ+@Pb~U^B$4qY@Z2_eTTzfgQEF^DOngp)PM1HiI z-^W=d={>&8#!MZIHmBFwG}U&r(xyR?EzMFgEzW$ZfWjLMC1?DwNKvRy=m6s&snHXp zruC)GMnT>1o+?;Nn=B z85%bnUY~*uiYz(eoR;kg$Z=aK(1P7F-cFD2-xi6ZV(INm(@J+?4mY+M|M1};4^^2$ z9MB=N)ZZi%`ktynMOZqRUDjNVmbR0-O$(@1+wxZfF#TzuQw03;s;7Z!p6YB%iC|3; zofujKIevY9kwNC3 zH(_@6jAF*vwcP=}T<(0mzklO-9lF4lTp2sSIP7vf;$|snVbuptRO(X+drj{kaL;iv zuYI4Db{keFH)JS>?5g+m_WAe^;tij&$Hr826m^7*xTmOZ0Dj%u0JbLZ{<{8?O?7cN zqxVs7YIFY+3ht~{tM^m>mc!Xu@EZ%l!J_)i%FgwM^q!J(j(g8v zqw#3s;rN?$tlM$jC0DmD_YdOVehTpIp$4!W2dxs&50i4tkB8HHD>27j=H+iwrr&p71%?~Ws&=?{y3>-`SM^@q{S#r5`QFFZOm z?jhryBjABxAD}%xT3tW3EIYM9k^f(B&rgp5;OX`K+qL87`VR7m_HYSsb_?zu2=idm zu$Zmp$63ee8ctW$Pvgh=)7ZV)ar=qmLF;;D_h2Ca57vLR0kIRnS<3spH2O62@aVPv z;HbFwZhQp42Rb+&nY!N<`*GaJ1Axa2K%54AyY9y||No<;`Y-lKQE~41Pp@OQx?`_d zjHn&#CFU!~BiLCec4j@~;wM_pK7KpD&kkl8<^TDK`fo=au23Z zaumCj=!0u!4k?_a!44*}gEdaMJP2r;ikBhR?PzjV+Vp{=n@#7%LA>U?!BKQ;Tw4xe z3>=jn+db=VpEH1ofbUn;fU)%7W5d6ScRUUoUrF*T|KFD5RbNp8%7f)292Nsgd&ryS zD02y$>TN}5u}i+Sqq3l&@~m=!Y10Ku0H*6~3D+%p_{w2N*f*`dCDct)$x3rBNs|>0 zn3w;76QKEHp}%D(V5mB4{tk3?HUKJ>)NI(qI`jWfl5294c~oXu=S0;`m>f89okN+G z8^;ycv@{{P6~-4eL*~LnOvWM`GMHqG#8FhpBz`kpw$Aw@SGTSwPo#QD#|8vs2K z95%p=E6LbZ2Nb+ahp0xdgH^GtI!vuaR>miV6^h4{+v7;lF=b`oz=)?((;&M=F4SRtW)NrwhToxnJ99A zQV%A1d=I_Zqzxgd0SabK7PR^S#3mhG8;dpO8>UUhW>r7Ynl)3&0-cGa)wgW=@)%^~p&qnYxdJW1 zzF9S)udmE1siz*HeVjV8-ecPFpy8{Wik6vl)Rq6{2H=nC|9dm|@AaA*j-qNNttU8U zRL?aA!(;%=U`-pOC>;EaB$(Dp&BD0VLPiElL`^M9T^fL?qEx3+=z}1bpbABrqJy#L zhig@FUPBEcDCsqR%WQeVO8k@7WlP(Pc#zC;@@!%2sKNiYm&+f%p0*}nRVp12V(t?d zHnk--bFDTc_p&jJ+r=5lVC>DYkjh5~ovsF@2^egK6fMWN$LLg|?y^(Kp}}HE=|w)c z;VFr6bZP5Bv7!uJ!{>s=r;mDh}xPrepg%J^I%=b?r18?@Bn6y|R%<`RCF~o^jXw7a1l)sGlv+*>4 zC+h!nxqJ}oB+2HKNJG{y$g84HjomCP%Zh$h}6JeQ>NTC&$8kI94xO#=W z0kw?|3?yCzQ!Pb4oLEL-0g*tb&{$Vkg&Oi3R3X({m<)pOphua_i30gKFUHzJ{r_nH zH=hWt|466Bw5@P_1d^P9rvxJAURiYt3__UhxwScYh1yY6WRo@*6$L_d5@iah7MM1v zfTh2N)jkz-iC$>cGFXHZ%y2MDehayYe1)8V3s+|N$l|V3J76Sc9{+s${O=e6Kf18i zS8lR$Go`bvIFKF^`em}dQnp=AV5PE!xXMo1XYxP+rQ__7r$QKkhYvzRKXsHv!ZetD0$Y1Y*7jr zao7JBIU$SW{3_e-3UZ)sH5ENiA$y(`^Hv4R5cw8A`Qu^xT#1`tO;^MbP%XN8_S2#Tao2wblF{`Rk1Y`t6P{~c1L+21q%zmdMtc#n$iin%H!$ZVH={F>_eDA` zDh85uDDE2e8Y43o&7PHjn^Q~hb1Z?7)y@K9h(o3$qxt(v`@i1|09>2cSE(c_b=j~A z!ZBGRZTnNbO*vH*M82;(0HsN*t+?X0thC~>?s6D`RL8^?l;uG#q3IWD6!ufrPESW6 z2`LOog&l|g&j07j|MpsqfFUso&1S3CS+YT0gO4RhKaRiMV_pMWyaiOijfKQ&Kmt|N& zN9O8{cAa4;MbSc`yBJHZX01LhW8rG=@0;j3{Tt zpN$0UViy+OUXF{6Hb}Y<7?^(Ol8JDMLXIt##Zm?cysl=ZLFh2FAep@72|F)%6Cy!K z9MMMP)?}3Dl)oYYPqPvwL8f`6p*BT`B`n^FC`=25-l}tuKzH@|aNMNV7^d&nU>pt2 zoCgMv4#ZcDA~MUNN9!-oD*pok+rw=rGZ-x_0fZM=ui8Y_&5~6>AUraJe_&5u$RoxD zS=q;$3p%X4CX;DNE*?`vTuoq#h1JVQ{&UK|lR&|+gT{#oi4bBW5M`Ry3s~tPsUmz; zIr`P@4vWJRv64&~KqL(T>4-3eJAjlc!Tbt3_lwH^di!|Z*w)9BckeObbWB*2vZPxu zvRKgfa99G3ASkG2jxm#}Fu5s#Tt5rG5Hjbg;-jqp6U+ZJgL~JhSit+zDAhc7naEB` zIHCXWG|bEg>)12Bb#nx#XwKoV6bB-WN$+BNDrW%NAN}A}=|8PN0f?^iX=9p_*xR#I zg0%mV3qk1ak^Ac@%n~VMTmwd5m?U_dPFzt~AV&7fYuH~~fx7nu+ZAY(UK1|uvcOY; zywj&<5IOfI3PP-WwvT`-laZ)*sv;1XFpI`>Rer_)FG~Lj0V&lEWGWexi_j1wODxrm zD3@%rFHsqpi2)`%c;cHv0z4#XcYK#liCO~fNzY&Syg~I_FR=fsrVz~-g4tb6a~$G_ z@S72GGf;tvVubi-8S3s?`4VvoU0dG7Aevr~PL%*BeK3 zfW#y8%*c0b6wzPBwOrUn~^v|c%p`H^Dx`aBRwgE?)7k}f#`$eMu*f#4;RGbK92Xw{@E9P zDk3Q7+#3*zv~HottypKPA_7Z(5)bHe?Uv-w9{Bq=8)e`(OpAW{K3%=vCjG+kIdC5G zWY_PireZ&A=@oZHJvQQ|oW8tq?OP12t3|2|VbEN57>3e$qQU))Z2uJJ!E$~-)vyPv zy%~HdCA`qjJ+oWJGy3OaN)UY~^O*6uIiZOjvI&^8##&=&(9_>zXG?$kc=K_)ZL5cX z40%v+FzV)(FZvvN&|f`}R5Yw$?}8I~?jr@mFdqwA|KIol?aPv0$gH_lJHMdci`2Rk z{q=VH_#xvKxgbHbGLPgGi5H5)ls+w7Y41+2_0LgnBp$P~pg&1+L7W^}10U=L?%Hx_l)_GQa3L!tyV3x}M=|UVrg`^^y6Xnfgcw+XD(yF#I1a>GwVBkF@`S zyr;bI0K^W79TXK8b==odzsmYsb9=1tc(t+BY(Mh7)v!E28-D;dmhzdu=Fw&V0000< KMNUMnLSTaXrG*Uu literal 0 HcmV?d00001 diff --git a/src/api/auth.js b/src/api/auth.js new file mode 100644 index 0000000..da40e6a --- /dev/null +++ b/src/api/auth.js @@ -0,0 +1,42 @@ +import request from "@/utils/request"; + +export function loginWithPhone(params) { + //必选参数 : + // phone: 手机号码 + // password: 密码 + // 可选参数 : + // countrycode: 国家码,用于国外手机号登录,例如美国传入:1 + // md5_password: md5加密后的密码,传入后 password 将失效 + return request({ + url: "/login/cellphone", + method: "post", + params, + }); +} + +export function loginWithEmail(params) { + // 必选参数 : + // email: 163 网易邮箱 + // password: 密码 + // 可选参数 : + // md5_password: md5加密后的密码,传入后 password 将失效 + return request({ + url: "/login", + method: "post", + params, + }); +} + +export function loginRefresh() { + return request({ + url: "/login/refresh", + method: "post", + }); +} + +export function logout() { + return request({ + url: "/logout", + method: "post", + }); +} diff --git a/src/assets/icons/lock.svg b/src/assets/icons/lock.svg new file mode 100644 index 0000000..59c1e32 --- /dev/null +++ b/src/assets/icons/lock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/mail.svg b/src/assets/icons/mail.svg new file mode 100644 index 0000000..e0c6e57 --- /dev/null +++ b/src/assets/icons/mail.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/mobile.svg b/src/assets/icons/mobile.svg new file mode 100644 index 0000000..ae8b81b --- /dev/null +++ b/src/assets/icons/mobile.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/x.svg b/src/assets/icons/x.svg new file mode 100644 index 0000000..8144622 --- /dev/null +++ b/src/assets/icons/x.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/router/index.js b/src/router/index.js index 3f45870..7d3056d 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -3,6 +3,7 @@ import VueRouter from "vue-router"; import store from "@/store"; import NProgress from "nprogress"; import "@/assets/css/nprogress.css"; +import Cookies from "js-cookie"; NProgress.configure({ showSpinner: false, trickleSpeed: 100 }); @@ -16,7 +17,21 @@ const routes = [ keepAlive: true, }, }, - { path: "/login", name: "login", component: () => import("@/views/login") }, + { + path: "/login", + name: "login", + component: () => import("@/views/login"), + }, + { + path: "/login/username", + name: "loginUsername", + component: () => import("@/views/loginUsername"), + }, + { + path: "/login/account", + name: "loginAccount", + component: () => import("@/views/loginAccount"), + }, { path: "/playlist/:id", name: "playlist", @@ -88,11 +103,6 @@ const router = new VueRouter({ routes, scrollBehavior(to, from, savedPosition) { if (savedPosition) { - // return new Promise((resolve) => { - // setTimeout(() => { - // resolve(savedPosition); - // }, 100); - // }); return savedPosition; } else { return { x: 0, y: 0 }; @@ -104,6 +114,12 @@ router.beforeEach((to, from, next) => { if (to.meta.requireLogin) { if (store.state.settings.user.nickname === undefined) { next({ path: "/login" }); + } + if ( + Cookies.get("MUSIC_U") === undefined && + Cookies.get("loginMode") === "account" + ) { + next({ path: "/login" }); } else { next(); } diff --git a/src/utils/auth.js b/src/utils/auth.js new file mode 100644 index 0000000..480c84d --- /dev/null +++ b/src/utils/auth.js @@ -0,0 +1,12 @@ +import Cookies from "js-cookie"; +import { logout } from "@/api/auth"; + +export function doLogout() { + console.log("logout"); + logout(); + Cookies.remove("loginMode"); +} + +export function isLoggedIn() { + return Cookies.get("MUSIC_U") !== undefined ? true : false; +} diff --git a/src/utils/request.js b/src/utils/request.js index 6ca3492..795d218 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -12,6 +12,10 @@ service.interceptors.response.use( if (res.code !== 200) { if (res.code === 401) { alert("token expired"); + } else if (res.code === 502) { + alert(res.msg); + } else if (res.code === 301) { + alert("required login"); } else { alert("unknow error"); } diff --git a/src/views/login.vue b/src/views/login.vue index 1dee3e5..129c2f9 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -1,95 +1,64 @@ + + diff --git a/src/views/loginUsername.vue b/src/views/loginUsername.vue new file mode 100644 index 0000000..4683b77 --- /dev/null +++ b/src/views/loginUsername.vue @@ -0,0 +1,194 @@ + + + + + diff --git a/yarn.lock b/yarn.lock index 640dba8..3836b5b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2840,6 +2840,11 @@ crypto-browserify@^3.11.0: randombytes "^2.0.0" randomfill "^1.0.3" +crypto-js@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.0.0.tgz#2904ab2677a9d042856a2ea2ef80de92e4a36dcc" + integrity sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg== + css-color-names@0.0.4, css-color-names@^0.0.4: version "0.0.4" resolved "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" @@ -5042,6 +5047,11 @@ js-base64@^2.1.9: resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== +js-cookie@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" + integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ== + js-message@1.0.5: version "1.0.5" resolved "https://registry.npm.taobao.org/js-message/download/js-message-1.0.5.tgz#2300d24b1af08e89dd095bc1a4c9c9cfcb892d15"