From a8d40a076db7c98254f76937bb9712b81c6f98b5 Mon Sep 17 00:00:00 2001 From: panda <7934952@qq.com> Date: Mon, 22 Jul 2024 17:00:56 +0800 Subject: [PATCH] add new --- src/api/admin.ts | 5 + src/api/index.ts | 30 ++--- src/assets/front/Testimonia-3zp8X.ttf | Bin 32488 -> 0 bytes src/components/blogs/ComLink.vue | 61 ++++++++++ src/components/blogs/HomePage.vue | 157 ++++++++++++-------------- src/components/blogs/LeftSiteInfo.vue | 91 +++++++++++++++ src/views/blog/AboutMe.vue | 57 +++++++++- src/views/blog/AmountChartView.vue | 29 +++-- 8 files changed, 308 insertions(+), 122 deletions(-) delete mode 100644 src/assets/front/Testimonia-3zp8X.ttf create mode 100644 src/components/blogs/ComLink.vue create mode 100644 src/components/blogs/LeftSiteInfo.vue diff --git a/src/api/admin.ts b/src/api/admin.ts index 6cfdd84..7068339 100644 --- a/src/api/admin.ts +++ b/src/api/admin.ts @@ -15,6 +15,7 @@ export interface blogInterface { } +// 日记管理 export interface diaryInterface{ id?: number, key: string, @@ -37,6 +38,7 @@ export interface classticInterface { text: string, descr: string } +// 标签管理 export interface labelInterface { id?: number, labelname: string, @@ -50,12 +52,15 @@ export interface classticFormInterface { descr: string } +// 类型管理 export interface typeInterface { key: string, id?: number, typename: string, descr: string } + +// 链接管理 export interface comLinkInterface { id: number, linktext: string, diff --git a/src/api/index.ts b/src/api/index.ts index 8014654..b9b5856 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -1,19 +1,19 @@ // 公共api -import type { blogInterface,diaryInterface } from "./admin"; export interface indexInterface { - modaOpen: boolean, - title: string, - } + modaOpen: boolean, + title: string, +} +// 前台首页 export interface homePageInterface { - id: number; - blogtitle?: string; // 博客标题,可选字段 - blogcontent?: string; // 博客内容,可选字段 - diarytitle?: string; // 日记标题,可选字段 - diarycontent?: string; // 日记内容,可选字段 - imglink: string; // 图片链接 - typename: string; // 类型名称 - create_at: string; // 创建时间 - update_at?: string; // 更新时间,可选字段 - wordcount?: number; // 字数统计,可选字段 - labelnames?: string[]; // 标签名称数组,可选字段 + id: number; + blogtitle?: string; // 博客标题,可选字段 + blogcontent?: string; // 博客内容,可选字段 + diarytitle?: string; // 日记标题,可选字段 + diarycontent?: string; // 日记内容,可选字段 + imglink: string; // 图片链接 + typename: string; // 类型名称 + create_at: string; // 创建时间 + update_at?: string; // 更新时间,可选字段 + wordcount?: number; // 字数统计,可选字段 + labelnames?: string[]; // 标签名称数组,可选字段 } diff --git a/src/assets/front/Testimonia-3zp8X.ttf b/src/assets/front/Testimonia-3zp8X.ttf deleted file mode 100644 index 704efda20ba6e51678b1a990498c85c1d4276385..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32488 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

&YoddLMpN~p9#EJ04`v;Hju_- z1rf<*y9+A-RS4Qi`u@x8_QXuepR#1dko20ztCFbJa+()vwmbE#l9@@PA|ol8m7J)E zvAG!1`e__P&y(UuE0e%Lyv!-kcK|U{ zjsZQ@(-f%Tf!VC z=92M|1dKF#?Cfj^FJgTPEXsfbq>0(N=~&P)Y|O08nn=7b_{r&tWM^zDYpm4(N+PM1Kn;MH53wCzJ`PA;rqrdI}suiwx`|N{1%LMFq4-qjG5oXb0w?x0;o;6kD|s z1?woYp+tk$WgdBs_meNsMa02z^s+v=$2QEOM+V?nFpiwGyb-G7!Ijk~;YlQ^vbBtu zTrTZhWDz=IgIe$(xRvL1nRV+ zX<$s0IUHO)gPVbFvVs%q*9w4!givUVc?kBqfjzj&b|bZT)wydAFPnOF>cH6>u03Ax z(KMD!>yD94Iy_&@wND*8xCOnu38c)u<@F;6wv9zJHC;ldqzyqsyc-dYuj=`7$%>6c z^{9^i_ed%wM(5_I>7o4LV@J1+NcHi~Q}4U~&XW^jCOkepKhyIZe`bC@o~!agef#Ni zCyL3nt!v4Y79HEPXV;dbT}L>bQ&|<kaf|qD_oP%&o}=nnNXojEpDfc^UkG z{}A5~IzZrtAPzuKL39d>&nz0tKmoHt(V#ah6~_D`4h?z1D9iK)S~o;A3&YR?@0Ium z(}%CQ@$_zg_V#hXcF?gedA?ZKw|9F=&{Y_Agb}hgy|mJ=2x2;6a%wp5Bg$AfcEh=S z5p;YA>FP+kY82K=J72dyx2dSalQCK1&}Oh>cPT&B>!oDGxvI{M-gd`R#(2ww@Q3-Z zKD&P6$aa73?iG=BgNi6}YV|~y>LYWT7J9fq zpdnQkoKi9KSvg;=7@HqlG;2&+5jF~XJRVc8|MdCl?rNf+*5l{|<8>FkULkev&~-Ol z*gqw0{owiDg&v>uMaN%Q-MTUrmYcJyOXFtm!Z>eYW6))62}{pf)W=u0uZ+P40E_W{ zuG(ySre~w=0yzWfD59wej-o^rw>{EA9f?as+(u~Y11o|#xx6-AqCC7Ughk1(Yyzl9 z9D)hOlca1H-y;Do&@<^xfh^I=9ownAVzM3tk($UQP+-w@@MO}H~J$72BPJBYg zxJTTq{N$ij6uWa7r*Y{MMvZI^27?PZwSKoB?9v2B@AqrW_vtE_X)faB;N5|5B z#t>Mm7cYi=OhD|q>g?gozZ0E^!{tUhwB9|jcQGWol1x4% zC!2ffoVm2`*xm&Qp&Lu6b|s=F6w$%RiHJskX3mo3jN^{YF3yZOil>g9KXS5dC%9?U8a87tlx195y*ClWS3zIlP zn8jsn;6cg*{9~p!Fad#;MQV^WcCq3QeSum=>Wd4T<$A^J?J0*clqNg|Un1EMFPYm< zUAw=>^9T<-1IcMgiK?Ogmc0k|6%9P?SG!(u=lZ@&Us&U4rPw@vcvrH1_~1Gnv6t45 z>{))tzqKEy1Zq3pKa8bFM-gqxGXl4-_QjzYx!f?8%ohg$+oBCP zGUWC`{M56abMKr}M2j?%W7^!^(t*FSQ7A#D59evxe`o3nktl7 zDBxDmpUV8g#Zrmf;6)5ptf-q2sx9k3CKG9Bk!C2jaCTLQfc z7sINdWWu{n-*9FtvctB-YS+Q~;xB_`8OXKWNP3bZ3K6CXX)Nx5p)lX8ttEh8$f zq~$8LVp=)*!4pWU#m1rt1tk~VXF_r%*E-x{&`xY$*U@UDy?TOshmN7FM82STn1M@R zh(mRa_V`2-t|t_-W_Rq{F>h-IH*&0<+_7u3&tp18uk0*ued#v9Xnl6q!EF-~ijLmw z>Xzk+kZlOE(Ad{-+YTZ}DC6`EeaS{562TBgUhMgu`*zGStc*YIE8KseZ?le>fY8YM zkt3(*U1G7xA#i^YTwg?N!q!KzK8hVETdX5^L4v*pY~NrcTmkdejK9NNMo`aX>_r6} z0bgK48ND39REKgOY{})#pudRhK7HM(9j>djwjaB2{WYy<#jwok?802c!f;DOPtA?j z;o)Qj6K2}-Jx@82F??6!_}-SC>7%b-+x^NNK;t0}O#wo*89n)tGXTs|VkQBwY((^l z5%g&&t{_HLr}Qyryw|Y(O6BZLPr32b*1GM*re-GFX`Vxc6*bn{=uAfQ6b*d=ymR1| zXU_N|qhpD&G8fm2*RLo@j*1ck;0#-$|4n5ujpxmbwYuFYBafzs@>Yr|5FLDd@I(GF z?gvnY2}pbmJe~rN-;db~iWz*y?J01WeCAPDhgGtO$PW|2IC7;6hQ--P{9&#o@KFFo ztgbS-AdLkH6$rc(Af+O@S>bRtyimYfXuuGB1)|QRJ$T5lJvSXWdB;7s9k4~i3v;36 zwOLG88W{UX&CJXs&9ErU9J~08r(f9RM7QtR5`k4fFPSZ@ziH3hGp46+n-N(sz4-Kn z#{POpk48i>mP)B^#jWhBgzHFs=zO+RkhX4HcpCS4G$be(_v95>5<-!vs)Udv<&BW- z8o+vb$W)LO#f#9Ej9in#W)BRVUj5N)(7_E6SGK-rn_^3fZ8t|+c5X2z+bW9<9aard zsH2|yM1V)X$GwF68jE(2A-&=@Sc(UL6xd~W=@8Qme9HKV+z+!M%y2-6FQ-|DQZCSy z{AxB)Mhkh!(^lVdRdTA~sbaA`8iq^uMw=OqHrEcUFWb?Un-w!tv*QMm#GCdVTuj^M z!unPF*W6^M)rw)n4cP*|eZKE6Z(rZO2LI7E$Lmp$eMll)cGb zO#)c6D(zmXkQGAlq+(_x`EDuZm_TWY+3GJWFQwxlBy)3`mC5BD8AG|4GOjKp^>i|V zw&T>6?b{Z+$omP1cXsm{`VpT3t_*W;8&bd|f??}ETxy`8;8`GPL3RLUbwk|XfWe#q za|f>r0wOfrvEx;y@s#_W>Xu$Ylon4v_3pd6R?by0rIRzfo@Y=!F_oCRIGrM+*dKh6J9-d`uN`T$`sNLI$FOq)8O-GZhP9rb0rV0 zXKMVq=l$MxWV9*;A)G1M#iL!tq=zt~t<)zLX2xv9ykc|Hk*jZ*Nc3a%2GZ$;P_d(= zCCNgv8X2qP{CHVO*Zhg8sl>MD-MZIBdOYB)$&d3z%$yzyrcNO_ ztnCKcAqCB2>?)WEV#y1C5`&9aGX={GJ6Qw!#4b9>oCchLygZRr{!pT&&l&=kK_~sJ1q<9rIuIs?3LZ?b7@1LTADFO&;D`oU^RB|$aX_B zl0_rGsjzSx_vaYwRAS*+r&%rKQZdztr7H3Ccq6M=2^aNbRy0R@-8<;+H=r*Y#xmnM z)mpunQqiHub4s>Uw#{6z;zp7Vf)GxLAcbj2#uHl+{qb(HSZ~LHlOxXV->0gdaI|8h z9dS|~8dNoY_a6oPCL-=?_8soW08Q7UXYU~Vu>ya56{M{bc!;Y44>8Q=vbFme{J}SO zuufu~+*miUZeq<|a{=oM8^>=(Pe`x@xGzBGff`0RBo7rAxPqbLb!yH@@fE{ zHmWwvq$10~gu5IV0>E&Fs1_&-^{~$H^bIE;In4&nb(`mtg}mB1(T*@HV8&7Eno{6Gz=jb zUP3rI#GscA0!uB?x2k+N=lNqT4CkVVF39;-uiG%uzNd@(`qNgpHJdjJr5pzOwDe>; zUbd|`m#s%y;@8BTh3_NA?8I zZN~g|OvyWyQX2g}f+~85Qt05#gMSq6#2t)qFEm8PA#~pGKq(E#-~?pwQDihF5&}AT z6jid}>Jid_oDJpgQQU=ScoZEqFbPOJ1c8pgQfW*~I5sMB*)l@>hBu{PL3iM*nF$TX zdILW#et*|1x4+=hcOTNxr>#Wu`M6+G-Ksg^skvGI*n5v_9)~(DHI?&!cZX6a=YS7& zHKG9aUHIH}o9>#vSNBZ?FR(BW?EK+hH8k3xInEFNOh_yl|* zth)_!P6Saef%U}QF7bCK{vN>JEAaOw{Jj@{kKu1)8lPa!i3L)RkT}?Rxm3eixjInW z-;^t+a!fIYaE4CKLCT^m(1|eo5^x%8&ds+I@rkjz2^)pvPNlz;EA}fMbzC!K!}*0K z(jtb*FrQ=BT4+6nXtctykxy4kDkjwusk9*=-7YAJ9GYA-qn!7AFBU=TP+>7AHCs6$ zp36#h4f7o$I#Y6Ro45kV&{xTG=sbNB%fAC&Z1m`F1Y}GlE;~YOHi8)5Oop?oi&Gvl z`*Lg|t>hb>R)rZ4A%am$R8j?w3U=80av~|2mcO_>>&eKvXQon0wp>Yv1Tkq?6VpA! z;>h*#Mz&ZPp2sK2o%B!X!?@QKrZ9psYv8lMydd_5dJY?6m}CaO8?p%r?fa3Ss`6&1 zfo7wUfnvUs&WIv{J1CN=2vZCp!sbqX2i7U|nshcsU z1Ouh$Xza)&!vTN4iMwxpg5Jrx1BSgXfjwrxbtAg{^;iUx6!z#c6bZtt&l|l;XC*7f zy)vc&(SjC1_p|DbRO0P&T9F*grkNHd6P#A5x*kOUi~{Re{7^q8IW%XC7wYlI@>m@O zHdRoBbS+&Ov0??kRn4d<>4;u3A1XtdtWd{Skvj^<6MCh#JzNORJxtEgTe#z}FVl#F zY}l1*;M=MYbXKcm|1bAE+E^PnX25^3bqed?ZaYB~kERF)JP_(E40{cD=FQlEKnJ&; zz%Uyw`*J3L0WbzVerxgRizxtPJ-wD*eD)&7%3_j$Sy_z4h?Rq7UAH>D(U5{2DWc<` zTPYpbF%1uo?lN_5--&(mxXTR3#|pJ-j((es*`f&>RX$cG%;nM0uZg&yO9btrL7@)& zSx3&-n&mi0-9!fcVkkn}3D!98IQ3G36Eoe352}r^UK#i1iJ@ET-C82%(l94h@>Z?c zDEjD>f}K~Bu$wj)0Uc_DL*mTq|d}R_EMI6Qz0#^`#3h3mO>kq7&prO+TZD1(BGjp$Cuu1e1 zDbt9^fO}3Phh%@rl|zD_HoR&SebRRGD@L~&Gn8=HlT{?aC{vr8G; zV0M#=q4q&TSy?GEx3**3YEnm2g@Sg7*q0{h7_wIsh3H* zJeq11L$JE8J~G}l-H_;qbF&#>ULej&((6r5j#iO5)=)_mM_;^;rl!zh4x^f$P96Ni zy=KBtJtZzho87i4p&7_ieRSo?seU4~w0-N3A`wB;-MYtxL<4hyEa$(3JLTR+-;DeA z?GJV*xD+<{xsj5@wFM%_uKKe33DoTJHRJl3I^uaBSN}G5bZjJKh&s)|Smrq;Uny#a zA!8g|({i};hNDIzuGHL84CgW#7r+q3{OIV|Sk%rqQdl&yHp)=?*z}|msjElTs*+PDQ-S2cdJ|aRhsV7%=?yDyzVn~L? zC!$WlHM%2NK`ysy3kX`+*dyYdFG4PN&^zGFgU+k+u-yuV1EngoqT#|O`yMb1l3&@fypAh7^-i1%Q1=yqD|PujH;OGcfm&n`EWq*1Pw4Dl@(3lKHC+bN;0`3oOi~bC z4B4PCj{fn%N8xW@MNb2vp%bt2X z7q>(z)H}_J6+*f!s=B4(Le7A0Wvk6vL5rf_iL1orOo+|!;O-=P=WIj4M$YGyT&WmS z6)hEtOg2NVTk~aPB>Z^XMFV!x3-ta`au;XPo7o*2ah@C6bh#^?oho{9h9UAWi5M9s z9EQ_x9?qV@>Yz~v?`8I!{SLFi!*u$+RwNoJdv2b!X!2ZQE)S5$n<0E~JeAaC6RjbV z25XI*R-~)VDmo4^-etgA>25qS(XB`r$>!y9cRXU3lM31%6}0ht5wFuM%J7S5E!JtR zD8&3uG}etl02Q%!eFs7%cu@=kq|*sm!2K|i*^G=ETOo#tW%DTy?F%6xf}S5EiD`T! z2t3SA0$9mjB!Z+3Scm$K7nAjnT`eZyj${e*C`=|P?m2rW-OOFf5M>y#1qAIkSpb%7 zAS*tR)VjOYw_*TP5{zQ28?WygcO7?rZBq>JMNZBp^=LdrrRlyADYekw$oh?*o1bC#req?t&TdF8!@;d*OPeVC9!l*rRXZEZ4<|B^;|HJl`(l zlZuGRHcm;F>XFd+%xpJ96ZyP6ccM|;QVLZp$dEgmzVt|f_uSFms2iKis%5S!M5Cs} z%V>x;L=60JxHIovK)ZlPjACRyf^Y?g(MQEoR#bS-#&Xc|ioLjZa5w!EdL29^vdtUT z2?%_MU4~f_e%R#7s+GW{mnTrMN6?-=IxgWyE<*%}D4L&fsd(vI>`gn@Lah5z3~$@F zCtf_*l@ggGoV;M6YdR){(mIdvNy=^$<03F|9B;%Al{1+0M~@n^ikVbgb1fyGF7K=u zf@;Q7mmZHGzh~PMlWpb2YQB(SdxZwARH^2UpRJ3yA0Y}wa&mfd)D=VH9@(L@u|(MCKBw`GK^Xv#{IZOx1KLkJ-;;eF|sm|-4u4cto)*+YJCaqv-E^t8eO^ zZ5S>fYh%x@9p%jCEh`DutjeQC);l-BVawz3h%9K~IPP2lBW)*K?L)O2CWNFO+Pr6T zh^EbyW%;_`>Jnt&OXTVF4tmQFF`(89=rc5nmxD2$N%I05zzFiCOqAiG0jN|owOKhQ zxxQ~FZkd2Qgp@tdG@7_k4+fZ$ql!m+8tsn@{uIU})KDT$-Fh|u7ituDsGyvm zE#jVQC@Tm)YH~ITD44?Ub?XV-s3_{YqMnL{QbIV9M?OnZrAQ(d_>`{?en}tX_5}GV zCT}bzhrxp_#7Sd4+#3d5S;Bw#XrpmH2;QHCo7iLxvkKY6-F*}q&b1Pu8d{8G8@DMf z;qH7^Hkp{6pB<}Wz#SID$<3vAD#+{0h=CAng+CZb)(>BQkVT0bsM>yoP&2uR`F;Nlt%d>;LKPN@Jrq&+yLd9J{kSv)Al>&EAK1 z*Xv!|7~2>d6A}V(fKbTUvIPSUKB#R%s1miMNfhO%qC}zzicp16l}b^SR!xiOzg~YT zMMQ0-C`u!KwW$=fRhvIOMEbnn%;F<%1CdgL*Wb=P-|>F$_dM^heM>MQ$NGjg1$0$} z7yx31VI?~@YbQ4B0%~It~?0N zQYA_u2@nX0_vL)iTBQ<}>SNnSO525aCL47*JjHy9yW3ZffcK!tQBFu6*>3bhErq?K zo(_BLQYsTmHiibO=&OjFmKcteCbv!$LUl-BklKmCczMV6+bdFi(?DAM7UyumSz1<= zL=Jt9x4i+x;@|vBU_Pf%7Z}!N$1>M<&?rbim>R`kn@wTic8QkrK>f2+1=KI8@u-f- zS`w8O;?5_V2pc2i##1u1<4VZWtVShYE&z3lOJq|5IS?>C8bquIXnY{=cf}JaOt#o; zPv$bPT!sUpJJya0SXJ_SgIO{)txnYxQGuv;6++HDn0u$}uovoOX3FI+NDo7hU{THa zs7Utr*Y*n3`GhZ|-fok_#1kAnTE64=5p+$Uu< zolZw}QSwM?r3aw_Tt39D^ZP3iS1^+F1KWyXRVS#3?5ag;2-2)MVbuUk7{(A%`d}-Z z^+|9X%v8${W;YjoYNN*$;`Hj#qhHEOUIhae;uxWi;9>{r9-bWeM!QjPiuLhbJBHjq zcwj;S>wAJP$oxIIIi^HHUb1k3Q9BegAhePbPGg5vre|8!N5}xL2_#afK1oj@=mrHI)eor) zy`0(wE=i;AQpr%&m~r6#0}};7=$*VfpJLtjA9eRk>^*odSX6r` zSFZt_;&{o(r7*k4v-yn6!@G4Eo?T!aJlS+qbos(=*yW=+IEiy|r7d^fKI+rm?Y*7j z&DNmbshU)UT zMV+_1FrSHtQ34$ik=yawaC99?JNWYg0U)u>QN&sE77BTfoG-#U7;()c1o%;0xm_7D zJa;1Y&G(Ug%m(cHA=}fo^Za@Kd;E|2Un1J{J%GFAukOOs~ve>kbyz6QJl})=IUFLJ^T=)u!*$rh+Bj_3fR{ zUjNfGt}NqcjaB^YaOi;_JwVY)I1sQPXy0Czy96yj=pO!FSs+XSrsasd8 zRFA=>igch&BO|dVum9_*ZD%K-18wQgnmQ1S_#cCqfV#sMyQl=a0$>U#p*N`Wit2+! zvaq*45V5-=TetLU4DR3pt-c;NV9Y3ip8#wM8Mo6TI&?)VmGVk{|9D(a>`XE6Px4@d z+X?)u=DOgYpam>|5p*BCeWGKdElpDZq}W4~yQa1^5v7=eH~aLc=4IrI19BYX%b~WG zFBs1Bo~par>ThHuG2Yxd+EU>b5RqwthkyW%SRp>OcXx#2e6msL$w#0~!mUPxt}1$? zSOuv*Uzw3Ky@P)L@Yt}Q^OcJk1=e?oF@&s2fYN$=EBrpzP+E$j)h$X3xQ3&*n7;>< z7NVMSUED{_TDXrkv2z;;OfR{&+YzW*6C9CPR9TCf76~1$ccX!fTEgVb0Y#(hM+#?5L zaKu>S_q^)73X|epZ8)T0x#Z$2_I%5f-uR`z!B?RrF`!kN*a&K|lxudXr z_%lCjPuagKJSb+xH>9J|`|{I{Lr#bDr1LdJQ!crhu0_`c_dbMsJ^W}Uw^uOv9YIdtvAsIhKN;}4LU7{ z94}4SAyKZ{>c_vvXAhXWUSyH{0H1Yazw1R7$&c{aVq4mXh1W#R$hUzLQ7*|g&iXw* zd)Q}J%A&@ zamTq)tIXMS?vhnTJ{%5fdUlN6HpKnPDhoK~x>Xi!G2U;LC7aIItg>v|&5v7U2cm>O zXO*2OziO2g+i|Sn%sHM?$=-6(g@Rc&|JXD1g`nZc6`|=AFdd!W~*&{`HZpa z_^HLtQfIzlOw7(2Z2yw6IK4Ez_{j8;#{TK0<(avK`I*kX>0_s6JB!`JjbUSDAHLA# zRyG`%UR;`4m^bSu#4t@?z)6^jv50gt2gRGjI&wcvz>Bb4` z&6bu=9hq5Z9A22)cbBn8n|f^OxASX&f_+ zt&iaI2#(y3ze~9K3?d3F;M^HpVIQ^~!xd*yUi`$>4cH(V8=hzG=|0^?S3bb*y@b2a zy$p=b2Hu7KZFKZT+YFpbZ_>fnM18mEm3*>y_V5yPGbK!TA6B&G9PyD zNpg<;eEcT**hW8JfpA1_B8>VDGLlZ(vfvcDnIuQS8xO z$WRAX#R_~d-H??UFgGu7NO~^`lACUL;St<9xqGt+`_I9H;ug-+|9P+)sgjgkSA|vZh zV4e9S@PP@$s+#)3?%l#|rxq8a`2|W!PW8aySHa!ywDH?_?A~wFW;@IC~8eTyKnZHXJ?Le@MiS6^32pD@IGigjXf)e pHlt_eQ2!ii-Fy!LeTrs6$^-fkTHzpC;UV0aa_4>85uEL={{R?OAb|h? diff --git a/src/components/blogs/ComLink.vue b/src/components/blogs/ComLink.vue new file mode 100644 index 0000000..af4c6e7 --- /dev/null +++ b/src/components/blogs/ComLink.vue @@ -0,0 +1,61 @@ + + + + + \ No newline at end of file diff --git a/src/components/blogs/HomePage.vue b/src/components/blogs/HomePage.vue index 2767cf3..45b6c92 100644 --- a/src/components/blogs/HomePage.vue +++ b/src/components/blogs/HomePage.vue @@ -28,7 +28,7 @@

- + + +
@@ -176,8 +170,10 @@ import { get } from "@/tools/request" import { createEcharts } from "@/hooks/intex" import { useRouter, useRoute } from 'vue-router'; import iconComponents from "@/assets/index"; -import type { classticInterface, comLinkInterface, labelInterface } from '@/api/admin'; +import type { classticInterface, labelInterface } from '@/api/admin'; import type { homePageInterface } from '@/api'; +import ComLink from './ComLink.vue'; +import LeftSiteInfo from "./LeftSiteInfo.vue" const router = useRouter() const route = useRoute() const author = ref("SunFree.") @@ -315,65 +311,65 @@ const downScroll = () => { * 左侧栏 */ // 折叠面板 -const classticlist = ref([]) -const classticList = async () => { - try { - await get("/classtics/list").then(response => { - if (response) { - classticlist.value = response.data.data.map((item: any, index: any) => ({ - key: (index + 1).toString(), - header: item.header, - text: item.text, - descr: item.descr - })); - } else { - console.log("the interface request data does not exist!") - } - }) - } catch (error) { - console.error("Failed to fetch data", error); - } -} -const comLinkClick = (url: string) => { - if (url.startsWith('http://') || url.startsWith('https://')) { - window.open(url, "_blank"); // 使用 window.location.href 打开外部链接 - } else { - router.push(url); // 否则使用 Vue Router 的 push 方法导航 - } -} -const comlinklist = ref([]) -const comLinkList = async () => { - try { - await get("/comlinks/list").then(response => { - if (response) { - comlinklist.value = response.data.data.map((item: any, index: any) => ({ - key: (index + 1).toString(), - id: item.id, - linktext: item.linktext, - linkurl: item.linkurl, - descr: item.descr - })); - } else { - console.log("the interface request data does not exist!") - } - }) - } catch (error) { - console.error("Failed to fetch data", error); - } -} -const activeKey = ref(['']); -const customStyle = 'background: #F5F5F5;border-radius: 4px;margin-bottom: 12px;border: 0;overflow: hidden'; - -const buttons = ref([ - { icon: iconComponents.CravatarLined, url: 'https://cravatar.cn/' }, - { icon: iconComponents.QQLined, url: '/qqcode' }, - { icon: iconComponents.WechatLined, url: '/wechatcode' }, - { icon: iconComponents.MusicLined, url: 'https://music.163.com/#/playlist?id=160266689' }, - { icon: iconComponents.GitHubLined, url: 'https://gitee.com/c_panda' }, -]); -const handleClick = (url: string) => { - window.open(url) -} +// const classticlist = ref([]) +// const classticList = async () => { +// try { +// await get("/classtics/list").then(response => { +// if (response) { +// classticlist.value = response.data.data.map((item: any, index: any) => ({ +// key: (index + 1).toString(), +// header: item.header, +// text: item.text, +// descr: item.descr +// })); +// } else { +// console.log("the interface request data does not exist!") +// } +// }) +// } catch (error) { +// console.error("Failed to fetch data", error); +// } +// } +// const comLinkClick = (url: string) => { +// if (url.startsWith('http://') || url.startsWith('https://')) { +// window.open(url, "_blank"); // 使用 window.location.href 打开外部链接 +// } else { +// router.push(url); // 否则使用 Vue Router 的 push 方法导航 +// } +// } +// const comlinklist = ref([]) +// const comLinkList = async () => { +// try { +// await get("/comlinks/list").then(response => { +// if (response) { +// comlinklist.value = response.data.data.map((item: any, index: any) => ({ +// key: (index + 1).toString(), +// id: item.id, +// linktext: item.linktext, +// linkurl: item.linkurl, +// descr: item.descr +// })); +// } else { +// console.log("the interface request data does not exist!") +// } +// }) +// } catch (error) { +// console.error("Failed to fetch data", error); +// } +// } +// const activeKey = ref(['']); +// const customStyle = 'background: #F5F5F5;border-radius: 4px;margin-bottom: 12px;border: 0;overflow: hidden'; + +// const buttons = ref([ +// { icon: iconComponents.CravatarLined, url: 'https://cravatar.cn/' }, +// { icon: iconComponents.QQLined, url: '/qqcode' }, +// { icon: iconComponents.WechatLined, url: '/wechatcode' }, +// { icon: iconComponents.MusicLined, url: 'https://music.163.com/#/playlist?id=160266689' }, +// { icon: iconComponents.GitHubLined, url: 'https://gitee.com/c_panda' }, +// ]); +// const handleClick = (url: string) => { +// window.open(url) +// } /** * 右侧栏 @@ -580,11 +576,11 @@ const labelList = async () => { } } onMounted(() => { - classticList() + // classticList() blogList() labelList() diaryList() - comLinkList() + // comLinkList() statisticList() updateCurrentDate(); homePageList() @@ -789,18 +785,6 @@ watch( justify-content: space-between; } -.leftBar>:nth-child(2) .button-group { - display: flex; - flex-wrap: wrap; - justify-content: space-between; -} - -.leftBar>:nth-child(2) .button-group>* { - width: 40%; - margin: 12px; -} - - .rightBar { width: 15%; } @@ -809,10 +793,11 @@ watch( margin-bottom: 24px; } -.rightBar .article-text{ +.rightBar .article-text { margin: 12px 0; } -.rightBar .article-text span{ + +.rightBar .article-text span { margin-right: 12px; font-family: "Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif"; } diff --git a/src/components/blogs/LeftSiteInfo.vue b/src/components/blogs/LeftSiteInfo.vue new file mode 100644 index 0000000..b91732e --- /dev/null +++ b/src/components/blogs/LeftSiteInfo.vue @@ -0,0 +1,91 @@ + + + + + \ No newline at end of file diff --git a/src/views/blog/AboutMe.vue b/src/views/blog/AboutMe.vue index eae42ff..280693f 100644 --- a/src/views/blog/AboutMe.vue +++ b/src/views/blog/AboutMe.vue @@ -1,14 +1,59 @@ - - \ No newline at end of file diff --git a/src/views/blog/AmountChartView.vue b/src/views/blog/AmountChartView.vue index 0d4d752..ec3a0aa 100644 --- a/src/views/blog/AmountChartView.vue +++ b/src/views/blog/AmountChartView.vue @@ -66,7 +66,7 @@ const lastyear = reactive({ thisyeardate: [], thisyeardata: [] }) -const bardata=ref([]) +const bardata = ref([]) const piedata = ref([]) const lineChartOptions = reactive>({ nighweek: { @@ -232,13 +232,7 @@ const barChartOptions = { } }, dataset: { - source: [ - ['product', '2015', '2016', '2017'], - ['Matcha Latte', 43.3, 85.8, 93.7], - ['Milk Tea', 83.1, 73.4, 55.1], - ['Cheese Cocoa', 86.4, 65.2, 82.5], - ['Walnut Brownie', 72.4, 53.9, 39.1] - ] + source: bardata.value }, xAxis: { type: 'category' }, yAxis: {}, @@ -373,13 +367,13 @@ const updateLinesChartData = (disbursetype: any, disbursedate: any, disbursedata chartOptions.legend.data = disbursetype; chartOptions.xAxis.data = disbursedate; chartOptions.series = disbursedata; - console.log("disbursedata", disbursedata) - console.log("chartOptions", chartOptions) } - const updatePieChartData = (pieData: any, chartOptions: any) => { chartOptions.series[0].data = pieData; } +const updateBarChartData = (barData:any) => { + barChartOptions.dataset.source=barData; +} const fetchLineAndUpdateChart = async (days: number, chartOptions: any) => { const response = await get("/disburses/list/specificdate", { days }); const data = response.data.data; @@ -392,8 +386,8 @@ const fetchLineAndUpdateChart = async (days: number, chartOptions: any) => { const fetchLinesAndUpdateChart = async (days: number, chartOptions: any) => { const now = new Date(); let currentYear = now.getFullYear(); - if (days==1) { - currentYear=currentYear-1 + if (days == 1) { + currentYear = currentYear - 1 } const months = Array.from({ length: 12 }, (_, i) => { const month = (i + 1).toString().padStart(2, '0'); @@ -411,7 +405,6 @@ const fetchLinesAndUpdateChart = async (days: number, chartOptions: any) => { data: item.data } }) - console.log(`output->disbursedata`, disbursedata) updateLinesChartData(disbursetype, disbursedate, disbursedata, chartOptions) createEcharts(lineschart, chartOptions); } @@ -422,7 +415,12 @@ const fetchPieAndUpdateChart = async (days: number, chartOptions: any) => { updatePieChartData(data, chartOptions); createEcharts(piechart, chartOptions); } - +const fetchBarAndUpdateChart = async () => { + const response = await get("/disburses/list/calendar"); + const data = response.data.data; + updateBarChartData(data); + createEcharts(barchart, barChartOptions); +} const getLineWeekList = () => fetchLineAndUpdateChart(7, lineChartOptions.nighweek); const getLineMonthList = () => fetchLineAndUpdateChart(30, lineChartOptions.nighmonth); const getLineYearList = () => fetchLineAndUpdateChart(365, lineChartOptions.nighyear); @@ -440,6 +438,7 @@ onMounted(() => { getPieYearList() getLinesThisYearList() getLinesLastYearList() + fetchBarAndUpdateChart() createEcharts(lineschart, linesChartOptions.thisyear) createEcharts(linechart, lineChartOptions.nighweek); createEcharts(piechart, pieChartOptions.nighweek);