From 106b48629bf91bac3ea7badb934674f5e3519d52 Mon Sep 17 00:00:00 2001 From: "qumeng039@126.com" <86925389+qumen@users.noreply.github.com> Date: Tue, 5 Aug 2025 10:04:27 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BE=A4=E4=BD=93=E8=A7=84=E6=A8=A1=E6=BC=94?= =?UTF-8?q?=E5=8C=96=E5=9B=BE=E4=BF=AE=E6=94=B9=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../groupEvolution/event-list-title.png | Bin 0 -> 18812 bytes src/service/api/groupEvolution.js | 11 ++ src/store/groupEvolution/index.js | 134 ++++++++++-------- .../GroupEvolution/component/groupChart.vue | 48 +++++-- .../GroupEvolution/component/groupPanel.vue | 4 +- .../GroupEvolution/component/groupPost.vue | 79 ++++------- .../groupIdentifyDiscovery/index.vue | 39 ++--- 7 files changed, 183 insertions(+), 132 deletions(-) create mode 100644 src/assets/images/groupEvolution/event-list-title.png create mode 100644 src/service/api/groupEvolution.js diff --git a/src/assets/images/groupEvolution/event-list-title.png b/src/assets/images/groupEvolution/event-list-title.png new file mode 100644 index 0000000000000000000000000000000000000000..b70d7187fe241d8e1ec6f953db897e85b83ca092 GIT binary patch literal 18812 zcmV)KK)Sz)P)qp00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yPI;`NMIlYLxAtnT!26bgjH^0av@yX_+A5v z6No9n76F5iu(5%~V5;RJORFyJYJ1aa``gZ$?3th z{?9XWgjfnoVJR$yrLYv1!ctfYzn>t*?=ff%8A>fR{LjC5{@Y?pxT_`q+UMah8BHrZ z#(0?KsrMG9Wset>O1@CuVOjClK4a4l^WwN%F2267p7@NtX3H3+xv;!px;B5VGe2kZ zKea5T6f#v_54ZIYV!XJ51;&&24e4v5Dqgcpo9ZGb-7}};O-(Z|{ zAc$_`KROn2%NFg>G5u=QA+(a)L=cCLIWDDxX?Apo;GR9kzYcib#-+6I90zXXdPnpZ zuH(SRV@#W$57Xba%{*t~hEss1yezO`JOUu9yQw!lFBar&pSS5!eo~uqaNWZArrf68 zC|zmV&^#N>3)_A{92+2>HfdnJ5G^GmSn$5=yTd#!0NUTBuoV8#;lHdSE|4~8(l>Gf z4vtU47};hbwsD?Y%<1+nIPdJ_lg;Lzy)fR}IUZgzcg1Fi*BQ-p^JcnVwU^Oyd-PU& zr|jIjSyM*aw^NREt!=Z$OQVo)CznTyu1+a1?r5i^{HiupAh3t!*BvNY zl7wfKRh+c+lBT&7{t)3m)$Jm)ub>Ioc5JJjz${M^6oD0liKG-TsOh-EmCfBkk!V$5Ua3nmJ&nu1B z;aGS=I<7r-WlRbu14V`SO1qwNTt_O;gH#;}%B`g9n1=5ui7L4xgbUC3a3Fnr4B`k+ z!cCROV;|$fp9ATTq6oFYgS_wf4rq+NkE)%*X9Z3WN=c^6P~G=28L8=>kC#xDgmWKa z!7s<9YaE|QF1+th9-a@GlEzK<@F@rWg?u&MgQ7#;SPdVeKrKj+_J!|5b(9BbL2X4I z67``BK32@bYZ@yEe{c*jL5CF-S8{yM_aHv}D#6E2jMJd&g0BN0LgT_Sny&fKws}7f z6?XVuaO^_796XC@;c*s@@qP@-l7=@{4A;`acOjj*gvdLy!jGqfm-mGihih3+c*SMH z>y&avoIzOgjo#Nl$9XL@8?*|PPT&j1_K_a6uMeXl52yH|q3-b7wTE5E19b%MYmee# zJry5QT(}R7;A`#XHJ&>VM|&Q28;s*hY)%F31M%`Xcvj_=3%yS`p2|b~800LV<7INb z=O#QFnN~j5%#1=TnRhgFZ#>S!u?yWeFQJobyeHuv{t6c&KnKO&JX}h_tz13_=P_;o zxEFKXnSF1p-6Q^hfq-P~Lz5FCnILk*URWqhI+`LBL1~*OsiQKG`smLWJW4rjd}S&iwu1vRR72L? zlnj$qaNlRfol0gDUl@H_T5?>7g>}ZDjDl0!1?t z2L^RW0BRBGUwki!Zt{@a(EQ?GC{6QB5YO~GZJrf`ik#=zxBl_i$iw$uAqMyLh((5V zU+aDt9=;qZ_X~L4eQZeqAkx0iV2uC;VC5i?F{r`F@en^0fwJ}-ETxip1UR@u@fplu za)5-iRDiQ^&Cf$Tn2O<7!LJX$&@nv(udK*qr;pHJ%M7-ypPbKNo;|+1aJX`2LSe%i?5S`#(^oGZn}&)kT+ao zOPoXVHIEWUnQVO?5Q>Kpq={mHq#lUzqh+`7L7kJ%4calpDT=Pm_=K_<=)^Kp`E6dp z4s^9(%!S~qu_-Jp@qkl|d=$sirnOM)Ai%)9u$`c5!WHE(ra&Ei8obbD9g@6+R$;lR zU9|-f89~7r8U|8h)6T z$q0G^x4PyEpIWYnfX+f%gJ_S49S#!<|`4)9J_jP=Prit~*u*+6I7}rC#kz(ndtYFT(d}vhXcuPDNK{ z;QEXoR_vksY|LdoN(NG(8Ss*%9LWGqQ8CXDZLo|on5d|#zE~jI5TIG{OB28`L^5bv zL5IcIu(L%0O&Gb4T0RiMwH35&%G_>tu85r5rx`#4Ul!XwGJMTJ?L|bU#OH#Nx#e}D z{=J`4GhM&=^2j}ZezRC)XnXKT6X<9=Ahnrvdg3+RH@{?2!1u=(n!j{xSt8+H2wkrb zv}sUA%?%_FOhAciDp~i$;I)5v;KD#JaP|E?$B*1{>B&H(mMl=1*;(3-uTXLjW`YYe z3q^y?oD-QOT;(D4>lq&3`EDhPtu7keIuwbMh0u>s0L0K`L zBMoB04>ATuTfpmP@Z;e1jY@=%GvZOoAPFH*aJ~vLiE&W!fG6q)>*{+(oi>97dY)qAakU?&Uf3`TX}=WH94d;^M+atI+JfMVN8*a`>lmgs(|?c60J z5E;&((nxyTG%`R(B_hBjxvvB&Vg$BGKnx^T+Xg{XV~EwY$m%zJNS=7?>m5@&KetUR zGPFI|-=y=oN1(<}9(YspJH?AIw0`6GDiAf!0%de?rcga^uh+xhKqOv${a|j_rcF8V zM-mvkzI5Q&kq=%)q@|TQ9EFUbZ$y4aMn;2BM%utR9|yPNnEL=qAV!dc;gQDaP!^y* zN>)}}9)UEzun#+CJSiCvFVve9tE?b)f%F2s4AbG6Sz17_I+KW~1%YZPf&p(t2`hmu zs5hr4MVPmFFhJ;_XwphXtV&V7k~l$=u9?XLal#-10U=3NzCl4#0G7(Q%z^qR%s{m2 ztZ#`RTWPL2p|~kRSO=rxDWj?dRp%_C+7*@7*9-J8W^4uL;CnKRmuCW#+Lh?=2-m3j zdH^assjz@-Cxt+8H zMsn**(=AL1S)ESQHOq?Ezh6%M?BUx^KKu`NiA9FB|9bRn6<3c!i+*kY8=F5QUPPho z>pku8=2yWWK5$@b!vXOk3iNJQeewB2Js-P1ZF&PqS1d_5G#er{<(NL^lcb~gQNwHt z;&KF;@9YQxa}dOHC^p7bP7KU0tcroTPg*vJ)G%8VG5^)uc+U5I5t1WDbrn|YkWz)biqU8^mkR^sp(CQGNy?*v zE<%7ck{q_4r;U26MKG4_%Ru1QMtU&3kc>(&(o#%Df-<}v0E$H3%(O)i$J8z0z6` zPCoX)4JUu_zaA2c3~RsM^A@P>eUQi<``^^^H>ciT{$OuP{E>x}C(ef6QYvDZuEVce z-6vjTfqF#C=bzr!`|+)$=C>N>(If|f7Bj)51@Hll!#r)Y#vE&~xx#twD|2R#kI zq#9Rwq}M_ELVG%q`z+1~;<_X&n?_|a9hxOA;@bUCkubfFuPJ3`W-IfM;ODb?8w?aO z;2WvTKrKTar)#W>$_i*yH%%4Pp=ue-)DfPAS$|~7jD|~Hb2VwX%TPQ7b@Eij!6@gxw<)o;|Xd(%u#sK!C^b`3vaLFy1j_G4tv1t%x zXF?mTQS$PbN7PK(ql(Ed+P5G~V5nHAwpKhDZ7-Ib_#FmTV-W~tA_^?FYigq@iYUJ& zkh5<8aWGMMSww9j?C$Wk4<){1&#IFG?@HW^%rJ&lRKpblbCH zkpTeg0m%IZNb@QHu%FoLZC~ka1=C_H*ioR$@=qUr%jzldA`E10^s||~FnpFB zUyM=Gj$0B0e2ZWRE)JhNu1nGt9TO?_sI1*t;HhO#*YhS3+$N(%zej&rD zBI!(9A=9cUn4cStG;PHP86({W^=9N%%px4-?L&11(IFuIb)?;y#!*p4*a&aXpFu43 z^I99jgmDiMlDIjeLi^S@5LoP_k-kDn4QC2vBn{3WZ-5)E!Fj@NjSh5faEU`+7C22#ZQu6<)|dWoH)B2ykMy>nV|FTDz=Z)wy@V6IX~ugf-td{ze!C zS3~Kx?R!(xPwe&8U+Y;3Sg{g%#i5f*h7?kCVV-g#*PQU)sf+hqd*Fx{Ovhfg>AhgQ zF#Xo5=3M6$gpDuCU|l89Wz)rhP2*X!-xAKR4BTY#BTbD6SXj^}qmqBSMS*jFqR%^N9p*qEb-WSFN!&J~pHQ2@o zdImTU7&MD0R9X-VSP15ZqwC~bnKum%vC)mi%aLcTurd?ohfONtKnt zje&&$OdE|u6rXpwOg60Smg)4(Vi9581IJ$llhr+t&))%X{k^^3{NS-#==?2l6+g6l zYwa=dM;2amdg3X8!OP2_H*ieZH>z2EC zjJ<2bBdf-c(>CkCc&)4`B`0R)jPNC8OGAaiw1kB)xbfqs4*0Apd-S4o#0X%-3t=77 znybsq`(w3la(Y&roSM}nv1-GS5eO<)?#LTIPm-3zHo`o#5&Q5L)oYg|RjULC9FtX% z*{#MW?>R>q@y3WqzOhi+-o<6LlZy`ce(onBhiKVA6~vd8BeXgwGZSR})a-pjeOfYY z$C4fiDNHqxbzBr}xJVSNKIi28{$JfN`t^=(ahkB<8{O;kp8hNhgU=thsU-lest5NJ zCA3_h67eI?Zmm6SI!ocqgHaoEc@{!g0+6&CgnN@GSpBv-4ZAhi#|g9~?>pe2i4xuZ z2*^OvBGMj25J>>$#%0I*Zz_G`Yc4Jj5%xtyPA+)IUE_cH+KUUeUU^;;FQztsbmZ^f zcSA}0%3Al4UmnOj{!I52N)CVaC!3OIx7N95!SxL*>)_u0%*}uIz_c{dp$4AqyLY{( z%%=Omk1^M_Fy!{_$8Hf$AD63}+an9-nwXC=xIRC4+y)u63xvK(w;`85pBKO^& zJWDHk47&~K2S_CSyQKK!IlDulP|A50Z{a&Wl zZ4}AIRyq6YM{YjZ`Q_7cU2FgCczs^`Uxid3IdD_+U)$?7k3LsecB1HP&^wMldsAJv zSPH+BK;R|4oJZ;#ov?M0-5l8)3msEIMI;ARhx-O-5#%jTBsFo>F_fNMp2|pCLokc; zuL3m@{)&omn2s;*SKjY z&#oiGc^ON}%g=3z{m053r+R#!>^(lrl(|)L5p0{CDZ0FtYEw#Qz zH+}s6>B*T446m51swxYh_+>9`i$C<4n~P6vB%9Xi=33|Jul_}8^xhT!?cV8|UVTA) z%a!NEqw&XQ(ptK48X%xPi)eX{4xWUjiu0fi)F>fewsDPf=ZD`=5KaG?BO~6|KK19R zl7a*c+LEGzpl@$!8Dv*S_nHd6L3C=A2k^br~e3A^V9&Kt9eTZjd2DiLitsf=$LsjliLpdo$ve zu#^;Qb@qAo>$m)?j#zF3*_mBRgkp)6Qt<_!3#*n};mwpOdS(~|QMm3UBG%9%r+=~Y z*4bSToz}{Tzy;6!GZg9gfj5Qj5v@B9C7cs#Jq)U`J#TD2B9_AMEU@I2&*rsYCr)L! zOY=V+qLVEeqD+V2ch75lNJT;3!t)iyCI2MDXHjQ$k>^4lMakPf`@mFnO=avA7q%xb zi4T1Cp{c)q_p6Hgx< zG!JGD&mJE3KYQCXh0$x7(4AgXSC%^XhsOw*CuhNo5Q~ZK(J4O~uf4V2wdarh>R@hq zHlw4~D5jA>7ig(bZOt{5-gC#s{S&iU{lxP<`3u@t1e7X(4q&=V%1YbnMmL(z(cwv7 zyD^0l&?V=tqK5nQmmklpU)|`80q7MMBxNM7e&3s}SO6|IEi4%>NZ)i;ODIWw=a)H6 zTp|NS4%$7M_uu^U53-Y!b4H`H>YERsn2?`*_ccL2&mHRbX(GbjKpyzy-^B|Y$ct65 z!$F|NF*mC1RN$$=E0^ds5&DH#>o9|%40%kJ#sb0Dz*=CeA)plYJ}1OfsUxiBz-p)y zCC(Abp)>1 zlxX*LJX?EU`O*DiDf})24K^>E#f~aNBL_3`!TgMz0gOYOfgNK3LYOj^M*LF_0U1kO z4)97I%+QKSdLTMt;x#WnKlQ)2y|WyXvortaKK6!Edw$OPrr0}gyg2p1kN0L?@zPcC zq6iRur?V^b%RR^QXchRvL%T9a{{Q9ME>GDpaAGzmZoPZwT>Huz2Rrlfni6%x?9glH))y6&^YXQ@tMRw`&|)JA1pN;FG#BH-Ublbm(wV~H2E z@Y)q3)v^v$#YeXRaBUN(2`yhgTBAL67dDLY;X%jjG0 z+&Rxhp`I;j09c~Z#Ga$0{>|5IO8oijE+UEUYmYpeNk{G{3zF(BSD#1u{=-+F$grV6 z$Xnn1vP8y=j&J{PckUO@9rI31r^QP{2}-U7Da!)sf$m{{2BfS#AXQDxrS*UN+kc-I z#<6tGs#+(S=bj_OJaVBusw$T)DDS14){%sR*JdD{J%=$auM4fME?*G$$=yBrmN&i3 zeamalcg1PK%^&|tW^yJ=Y(FUY#8OvPl?0L(sOI{s-~F{0m?15b1YohQwN74f!TLag z+k3cQ(*k+i3x}2t*~L|kfePR7VF)6g5wCnU(-Ri?(pqRm)ITn;rrJNn?kiFSE_3Xv z5=vdRq_jVgbu2bk%}^)~r7-JzhCwL?IqTzPom(-Fc=d9TXhM$b@w?~u{ou5~RdfGP zVN7K|4msh5Ot*I3R6T^(w>^e5kU4Ux}(ci#`^(VOb}SDc+#(OBiA&B_>*gs!`CL*mE3JeZ%F$E}VWy>dmB zVfFerN}ix(4{JS6#NAK&=8w5;biU>l)$y3g>&fSPz1jI3(KiDllRjB84EU{FQLWN`sPLQw_3zp%UlP0S z<>$B?+na*&*fJkHHtav#xjX;(lY70XnXE6(604QX)hb%IX;6`mgPQrxA3aZHk`Z#7 z6Z8Xy`uNZkvX92`mVM`{s+LJxu6QyoZ{B*TD_@`^Xw%jrDF1xu)Jfj3#y^OnpoGJ! zsrK_kljmgzt2Z$tfp7hKyVGIn+*s~LGR^THVX zkG5rtIRtwzzwF%9M?bK&)Ji9@WKw?gJ=YXksQ?DM`13bhn!Ie&>IM9en@q@$z57+E z{l`XUCy$Mgy8{kFo6hq`$1oS!)Ko!|Pgl>FckcRnH@rXMCko;u&18809^P^Z>X3zj zZ}ZBMR;c9buihA64M2p~hDIl~8_DaEO|5QiRVmf`nXW$X+mAm-LMD!+1e7yc?t+4p z{Hym~Ly}(oV?)`Z@M(*C0@ zL9NXi15gpGRsYCIPa3JXq&O+vL_8?hq3&V*(_bI*EZ@aH{30(qe~r`HQWpTqzJt9{ z&C+USENMwg8U<@Zg?lxxeUS&Gb*BUVu(w^K%zzFEb6PP`bXx?MaAzK)qZm7x=K=<+zyH`!u6acbsZ7T}Wjx$7V%9|{vH!@B z|MeYDXZl8`{TpBPl7O%J`O`=9Kl}BOd_PDZWZ=($svGEc8u{RV4WgjZOQHJkgc^vl}lY zjtI}c59c?-IhL&pBqx$I(fb~%+td_FOh?#lD3Y(F-m0?6?%py#N_O}Hl7QT z2u0pigKQ<`l_k=q0~S$z?uI6(ZGEG2D!(OO;QYSrPujJaBn+=?s*zENue`EUyyEf= zjyNR^{I{qu6-Zu3x(9eMs3Gbpuml$2v>fC>bx2I{v?r}(CM@|*4+qYnR$XO6-7F^( zQB1bnmx=&iWKE(G&O+>CvR+55m0`VXQy`+T+8ZmY7Ky4lIs0_yF_oUb;p8Ir?^?IL z@3q>?pOc*T|K{17TLa))^REXQw398EQ*L+P)(vM2Tury`_|yE<$fn%Lp(niD>>TQ} zfC4^3F~WfZb#scB6^N>q7MV&t+JDDo-&{<(%Rjv1)!7q6>oX(AcI(;kdES#2`dJKL z8NZ=eVRbxS-&g~H_)PB|uY6)L={CIoTjzL_mdm8OKC_iJk+5nbEx==|5HE_eASR`8M;2O`oraC##rziUuxfY=@;&7RcVw1w z9O7}%*4_DwJ=wRv{aVB4Xi-{Gs@A61sx}K&z3KUk-nFO4TiH?*;f}QU$x}yi-v{-I zm$)cVTV0}}+|mJ%w9aa444%QAlcV?hMyK@IYa8g96VsW1=|ShT{^4o;o37qGUg!m~ zd(Fz4Anj%4#p;dMUl7j*=SAvG*IyV<`#i?_L2aazK;kSZOh`8wGZGqtd4VPi!Ee;F`FuKzreL|+H5FEYd6{F zSbLtf3!JSUr_HV;#(kf7GONypuqi~aidqQEv@;baG;>y=3K?1JXjDLhfYBvCWNtDg z_5;-sIIglvkh-em>~lXw;Cgv_@R=TQnt-wX_Gj|5(v8?$J9Ns4%?D3PeDEq7AY`;UM2>L(YI zZo{qLKG&NbZ^-o>98FJ+%*%WRja5MYA$URBIk1%#m%8q<+CrzOY`FK%>lWoE(){5a zwYkyW;`HGDne<$LUe39oz{RwR=lz-SIJ`>em&=+(s=D4St9R$SI<^K|cC(*X9(tZx zPe=Q6nKggWMXw?v>g#|kB}q$@xFuYpK47Yj^|J`nldG;gKUrE{8gM@ozzJ1VmJ;gq zkM!ox0bb}VAj&taZ*-#E(fTzFZUq3xcfS90c4jUosw0vK#yJ23{L0JL$MD+hd{$p^ z+1fzr!Z;wMDFhBD(U^ZfJp{LryMEzOoSEyQ;TOSK5#v%Et`2C);$tFCy7lZh-Y9|S98;6-UQBZe^1 zVx%`4`iCd<8(w#5?1GJ}7D!$%B!SHXKlW(nZjYBtN;GQ7wsnni*WTm)@Ys|tO2tKU zQzaom_wf;bcw|Dq^Q~7=U4HS@KL5Ud*^$5Y>Iu^2dZnYCe?73ZF>qRK zd$70M6RILzG~3^O#p*K#uEyJT+?<~r+?46x3xwy`G_M<_r5R?wNms_pDhd+y?JZ7m z<7C0@sdn z^V1`Z`Qd}Z>A9h_%w_EIg`l&>0JviH?ZxrZrjg!zu3i*yt+@4(y6kv=Nw$B_bb5Bu zBhPpMuAsO@S(p@CWU_Tdth9W^Tvx|+3%)hL)<)0sgMI3CNDkO@Y4^xfX0s@>EQsyb znvIOXW^|SyRlJ$9VM;H%{JfNvDDc8v_dYcDiI4vod7UG<{nCxCu~)xx6RBiTj_Bfx z*OQw0wQoL|K`*rC6;%r)uNio@u7UY32c#B=?`9*i#yRJ%a&4MGLem!p&|AEwrcAZ2 zZV0%sXZLjH&wuHfm_0xH9DdH8pL1^Of^#%D@OKlGNEO5u@Ll9WfpPHX;OUwE_AGxYAIUAka)%wWf4a*%;4=J^ey3Qdxhk$&(y9cFtR1}kZ>$4q<#M=FZq zTB>lUSvAl;tBlJ9Q)4P(ITT@kHBLU1V#GJq0a_Ag`>$3cOcDQ@%neWE1;zQs2licLUrJ3G+&wA6NGj``j!Ha99 za9y29E=$Ji)~}40)eQFh&ubP3T(>@aQFeOdCE33Hhw{_?Gt&3$<{L)DMc1a3>(;ER zikDQ4AHVbZpDrfds@uNPnx7tCksH`QoS7cWkd*{SDQ-zf7Uj5hiwj-1VtsKzW%cZ_ zyB7ys4e$L{MRullS+=`tDm^{y%UCkFCkennc1V<|WMgYAUc4%M;M1?3J~a&*kcwQW z%^pa~c+{Jf>9qHfRklo@GrK=f&*1gkG)D^Fki~Fg*ts2M8qPXrb-Z~^b37_lc+jgu zj%CQ(x#QQFhj;!a{jtA#Q&D9_2~D^2ph|x1<6oX-YXNONEXvA?7Dy*EGjqD6oTahH z9)BhagVb5GW_iHt+;`viGjD$L%i}2+rLN%7Ll z&vn+eHJjzx60Ct`;)`E=ID^OK6~!`|4&(|xx)%G?_m zIjJolg=M_>lD43JKYU`3ciS!32W6a^K`Z8*c)asj-0Md4^bF~?wicinbl~fiDlA}4 zP3wRQ7j{oFe8(O;PcWZlU`CpLAXz&14d1E4ebfTQ*K8VXW=bV&f3niP6v4d5oR;aE zQuBT?f;ZBqjc^xic*Y%+T@eLJ1SP^Lt&nqjf2GCz^zFH!-Oq{Bgw^+VuLs8CqP!=6 zxc|*f0Uy-*)$tPOab@|0H{SimmNVY+x#dGUugOf0-;^CZ_>?y@KFu4S0m3VMaj3c@ za1|$G4eMLn@|pnvu6q}g?urk6|DxRV_*Ln?0|&i{fhqh@hv9s*oyMI+Q7qB4x++yx zd$Q;58+R-w-Kq~fyxN@_YtQs|4W}nZG7`vn5?r!zAea>ZipH5^cVD-A zG3nO+<<2TKF;+8weBWeddIC3vi1HdpV@aJTQi)Y($KtV7*}glkJn=&55P0Q1cunLC z&Xzcbr#k9^d5!1n7sbomj1QQZ;Km^rEF({M zDK323xd|&}96i?W&Cbl|*||AUR2Fht=#DTtMAk&!mk9DKEiY7-cS3M$XsQU#ckKLC z_U-TdlcYVLgZrI7ekOPIwHL)@A^{dfrM3aufIJ0+8Zt>$?yQ&+qvTxS!x03fAz~3N`tcis34^f!yHQ` zMO5P4bjdkxRPp=K4}O#5G3@L5<<&ttST|aK72&|z&t2`@cmKyyQPt7j8yr5t0~ZoQ z)vtN=a*{?*j8E#GqkX&H1rDXe_9-Q8T`cAZyVlY2dZt?k;3n9E zo+na=qe!zuhtVIE!&-ooEI`6rrVl&?GtSiQx#2zci_?U*M<&bl#Kg;U(s|vF?glj&Koj0^k#QN)E2fvccWCTrKk+(cup|DG$ye_L9{Nj1w~wqVCpbQLmN)}T~o zR^}QlkpPRkG%dYA$3e5RiWIy&QikLhjbCy6SZ}VodoX|TD=#T1EH9-Fc;3b5kR*mr z%uLUM)Q}UERpo)?f!BvX8WOY_p3poZ1c6&9u?_pnDvIO~s8_)G_~XN)KDsv8bdLf# zF8!=N2^PtWKOwr00T1OtJ~b7piI(hey#3D~$zOc&hS+%*Z6NL}4Z!iGFMexY_<74b zi^q2SG@JvNzDb-CZBJ_ZT5Vx$s24B5yxw6mge)^zSURf;B?IRFSgb;x= zWlFuj>nKbFHNKNflBn&`B5$AV1b#$46AV_qmt#I(@yZLN$R#bmFpl{wv9ffo?EYIu zb+kEK#fI^Ucr{@rNLw`W8MD30Y@M@U?X{^3JE(Hkqph4`ajA-m<@}+ieK9}t-}A$J zJ||8Sn!dKX%%42*DuC6e58o65m-wQN&8fp>LYGe*-CBOes$%2q-@7(HGydkxz@A*KI@0_A_)QrT#4B7_Lf*h?NIMsH!KRcnr_{BNp61pm7ppf@J{wkiJW~=^sOq2 z;}n+0l69@s$@031@OWavEvPwb3<3blNa|^0g zm!!(-X1edXVNn}4w%qb~jX!m?Aw76tB0oEjBQam0n`h{(qQQ`tsBMY44Xd(4pSpVV z|CS!raM=wX{mSgVr!MrFr;v8p2lrL8S9`c29C_N)qHOHMcpi&M`mQE^#g(?VQS=d0 z{35Iqj{|5cA}y+Gt6i%DZXd@07 zHxYQIrd$fMCGp%Wlx-%BpY;KivfS+X#bp{FIiUmfM>#A}pzWJKA7=Pu^yzhtPDbAF zvI4*xx6?7^NI7QHv149`02%l{*{az$X4=vEQt9A31cE(C`C}ji6jFO;LefmV_#V^7 z`7GJ$aRY6Wx5-?y`c8*Fsm5$wq*Bc5s1Pxc?!Mv7RmFzezqLlpr|-xPJpWX7Y+%$!%RY+=fvoNpl*B;dYKhgh z6!(4hnp+o>ZvA^6YLwp0yXN}34tP`j6C#J7(j~(QTPsnlOBTDyhBcMRs@8(zcU||7 zi%GZcgI}){)45mXdiV6_riNzm3psg`x^S&3S}S8hCkmXBhPIM;Rf~K4bJzTEG3nNP z=+VOX^ziyjU)PEJ>{vFPoAE{3#dU`O7a2`sAyqCDwX0&wmakVw|HoCwPnRZ3UigJ# z`gn#}_3xXF2QAtXrOad~dV&WVxREhP8B}00pVbI-KBrH0NiPs%T|F{1;+ehU6w^hD zcHm@iK>otj<3nSbISpfqvQ_}vOv=||gCibIR=B$j4j#KZsi3hS$A^Zs4o9otMR*uku=1&$Xahnx^!Fp-f1*N!m? zVEH^5?6&25QU++p!{0|sx?SOndv4+TBL2#!kL~g*JbdE*Y%n@hz~hyMj3} z(zyyHB*EZ>YhY!h*kL^l5swoxbFR`%pn)by+fSQqwe82Kgb25{K~2C-6{^hfJwU3? z-R~^|xHf-DCx?>V=f@p)KDMHES8xM#u65t;FG)}4(%mOCAp?P=i;A6+`gJAo zil$gm+5ArylWxst9xYUdM%Jc>x=wo2!@2p~jF!P}udFr}0C45%TM{J|tJTJ%6TL?l zk*;x4&1tJ95<)qV-8^-uE=nuX2iqta?t#Xs-M2{y`&oKn_8O#3KWnqUvCsSB3$}j<ZE5CEz9JdCkCO^gecVV1(j55}8xsghkLd*y~- z&sJ8}{k5Zdt6n5r8Z6 ziBU{{8<0``Ozbj`LWSl2GdpeEfV`^Au+4D^166Q=}PCN{nN*{Z{O;P zMFiee!t-fAFT2`4AV~%BU^L149&ZtCeRp`!Dca9ptDutM#>BYClQ7PZY=|Ujz=$nm zX=m=jGYCg|xn18vNA*r?T+TNG^P#PO)9n!tPNZL z0H5?RlE4r|acp}0wOO)y(^_)h7ZzC&*^QLOphei{u*K0)A*W@v6Z+tWG{eR>AHgu{ zqU566FA13q0ZA@WL<4w6k~MFRjmi9FCF30G8&!}o#u`&4&q*Wn~Uc2 z{x$%vnbW1)^1&S|GSg#k1CFc5o9sWyoUA8U#5U?cqR1@(RWVkzI^{c6|GHSMcPK@@pI&sr%BwwVXx@hTE20|=J{Na`xEXeXTEw$OMU5UHk!Zk znO6A3U(qTDG1kHcue*fxr2884(xI;+sV?9<{`GDB28OQldVJYC6x2O0$8F>YPul z?<0T_8ANTsUz5Xk;Nh+hTAGhmpu~vyW(;v=TW60sFZ#3@mVnDZb!A~nv(C!vdaSxF z=v6wVKk)i6R_l1D3hF9?++76MmR)Ap2h3rs-m1gH2{n@tAo7n{s3B-nxYBg1sc z>pjf}Sx5u2Eo%I`Ooe&>IPxdNHMzjMdIJZ24Z!6n_sY{Q`+;h;wH#eu=&O88%yu3A zfXvwIYri{In5-)Ht{MEwv^YcHs`~JbT9M9tA~OUM*Kq%kpTiFUC?m&voIxTLPgJj7 zo~muF&!kGXjo!QUw7^yS{+(6X*{OE{+1&@K*GbQ_e1x&oVOK)ns$X3lt8S^xr{$s~ zu9Y8otW?G(ul5EHjpR=rpA|lON#b6XN?RvX0UVg zl6BEcl$v`sGw`;vvF^w!nVBQWYz;9zBZeBez>JD;e@rV9(YU5wjw>4+k{(!IV=2N9 zKGvgY4|UpMn83!f%CE2zlr%VMKIOpb6KS=i_OKji)7R0tJfPedta;57-M0cNFJRHa z>?0(EVV5M8n1AVcWqb_GQb5UET7+9O);exT!9tbM+N}g4{P0;qC-zBD<~x(pq(e1e zK|0W+?V>|oHBUmKPuYY%#KL~jmvC5`*Ws|(M4E{*{Fa$s=z|&T7Hisxo{_AjTDpLn z(~f@om7l;(i^b!Bv(!dIW`yyD)j?`VaULsHvE8uUd=~YV$+g zrCvOiudZo48hk+qUe)sLeaWe$@&-58&v#tWamK(EpPv3iX5=6O*NC4_8;L7)-culP zB`Q|c$Ldzrsp5id!*{%D_H^kYa5?$Och3zS=*f-ufvPxXSjJGT)A5p60az8?npNd~ zf%uofyRV%)UAhQd+3E4udi{q+yosYz`Ru$e@=981i`be(u~S^TrX*gyx@bO8{-c3U zUw2yIT7KJusr3B7Sz@$zYJT`oTH=9NekYZ56~^(o?M?>O9HlmQ1380T12fMy>-l;sGVB7H_$nu7t6Kvf}4 z>yUaF@S+Bcd2hFXt+#5vS*pnS@^K)oMOR@E@M>*0fsi7)2}A%~D&iMmxJ#as43L6^ zm>)dgi(LAoBb-G6SL;rlNcqQQys>dK;J7es+Z%IN6zaY$&FM3hxK`Zy?{)d<$xmiR zjtu5T`$j>f%cB^q0)vu5r$0AQ*-{;=Syc;wyRGMrR}Y>pU2^E0oP1Au@bHK~(K{h^ z)(buvh$1+&q7zFwiJI1`L{&?q=v_pxVaDA72b7xBRxBr*!)GIsRz(TxQ~6T4ZBT^*DZp%($Kb z6CcKTy7!*T5Q_$2c= zE`QNF>Bn2rNi;f`|0XGTA_Uy_IhxIQ0x{Cok{)i|lSB!AH z|En|>O)jFM^_C1iA=RweexR8LCn282H?AQ8j~Tf%uCcg&pbh(0{<2(_k`ZY@lQM(L zWlWO1(Ub^DKxLS4Y(I8}uq+ZpjVb;bk>%aA{aB{dQI5zsp$4LdeKpdEkkZC5WyDny zBrWsDjYx`Rpz{LB&$pVKHh?8qC}u&DKhEiEU&^p67)z^T;yS_CoMc2YGK#1OjFP?( zQMrkDEsrcHBxtg_YY{^SU-TjO9hbkTM4+X^)e1BtV<6uQOLNjH`Hc=u=iWaxD1uK3s!bviry$$U0D;iQT|Cv1;nqan|NR&M%yJWfCb zB?a-q%9K}7{Q3S*U3psIYWT~?E4+O6t$rpuE#0DIe8uXDxKEp!`21}p{P-87pDa$u zvWj@xt$buLz=iG*${)WlpUtNox4=zQon0g=P_6MWMO1M76ddbhk%|>m$+#>yvKSTg zw*_9W_oI8>b4E|$0P5H#^(Q~6d`ol3NA)}jlJ2jH(>$Y#;4x*_KB5?A&WE|+3T z$f{X*hjU|cECoF`EhT>5XClQTq7=?2#iS@nDmj%d)*?9#T0pTbN#cF<3oH>jGfi=) z;n-di(Ei1dPi9~X7n_4=I4H*7xYorGcN(54fi$NQFanZxBpRPX%#*?-=;9?>48#3| zUeJlr_guqslWDC>lT&gs$&yuRTETG%$2CmLvSoaH690iZElZc^lO~OTjLAq@0`;6q zKsuRaRGwm}5A_l(ALLV9QWDlJZOU!kB%xlSbc)iU^5cEnSbGxcPznd8y-E|sdJ>LH zA)iT%KYxkNWh&!7<`h-T zyG7-`FkiGj^%o|Cn0DOnb$|Mmrv)wy@K(JXVa>AdtI2^jE|wpnV4NfP+}Enk~v6II->Yz=feW zSyY?L&JC!9pHs!l{J87uOdcgV=-;`RR!P?v^YcQcQX)PtMi1X}^?w++Fi7zq4%%9} z#MZ6b)poH(;QyQN?UbE2ZI%MPWdOul%Y{6AqFXi#fHN_``a_{3Ylejw7BxZ?jmj#x zG>RZLcM{4|9^`;WCl(x^;3NDgK$Ec6cwMJYQavWh_-kinFd*p|e#_uLN0<3ysS`3t zqhOh?6qRCZd`wiq96367LW-I4u+vskiGtIb8D9?71^JZED@w02WcC`X<1V)jaEqfp)kKFSCB5 zCeVV=0l?Kk2P~!uqv4A`^1wcZcyvlxJ35qriCD-#{yHp$F#JcsO9md$__{&*>JZqM zu^+(1yhX_E?I?xql42q$VU`B*J|RVgD@A#;764|H3P@$mQ_FR}qz}%Q3vX&bo|Xil zP%r90#2bWP8){~T9DnJ$u-BIB<&%9f`t{-E@E@k&PAu2mWqopa4@>6y&n zKA6*VkSEp`>PB%2vCe&5N37sDyvYioTgPFt8QRP3(cbQh&Q3t+%{l-qf$w>n=zzf< zc=*2%AS{KY@H-CwDang}gb4hxIzkZJvKIghBr(y|DK`!j%VLVN1WGz? z)qhs^ObfIF7k{+`+vt4%9ld}s$@(>HON zq3+$|c^%}pn&XOSJ7WG=7pND26ad{Wy%8?&LJ6xA4mQI(Y!iBWmyx#c&!~y^eH-I! zxFlgIEQQ}=_)m8`<~ppew3&Q?4--I$ph&i5ZyQKqTTtboyb#YuK`QH{i2Uzn_~~3z zEXBcTy>ZQEx$7V#wAo~U(i;pYJe>wUjqa_%w0ITAW_X64#c*&VJP&b#((MwP5i}wF z&5%GRq(uW1p0UXX&(==|gI4U_yikh3LT~5a&0Sn}9N42>T&JKe0Me8WCeqm%J|ASp z<-iM_$PGs8Y4c{zP*a=W^)==lQN6h>FwRC(|6-_fCp@bA?YQ)iHv2+FZJC<~XZ z(;nM^Dj{nA+o7Ucwg>_(1gnTtP3NY^=p~73Dg1%Mf90HMlnCSAWUk4;)!SHItaOHa zi9O!CUBYOA!P6F&$DDV-Z-@PbsULt5##Wnb2SDWKwvalrcguF!ZsQoB?AXq#4yrkO z;hF82Cfw)zw+YG*uTkXidWSteKmSMegx>I(h1OG(LL;b*P1Dyl~p~SsmtO(&s!E zlu3u>iI&aY*Qb&pgW&;bf9Ct4$$D#_;mjT>TAmo)KmYT_5MHV z8KfVr=c#RGUEY?$QdkO0VJR$yrLYv1!ctfYOX2?q*|!y)z!}MO00000NkvXXu0mjf D$9V@0 literal 0 HcmV?d00001 diff --git a/src/service/api/groupEvolution.js b/src/service/api/groupEvolution.js new file mode 100644 index 0000000..865fede --- /dev/null +++ b/src/service/api/groupEvolution.js @@ -0,0 +1,11 @@ +import http from "@/utils/http" + +//群体识别发现页面群体列表 +export function getGroupEvolutionGroupList(time) { + return http.get(`/groupEvolution/identify/group_list?time=${time}`) +} + +//群体识别发现页面群体规模演化图 +export function getGroupEvolutionGroupScaleChart() { + return http.get(`/groupEvolution/identify/group_scale`) +} diff --git a/src/store/groupEvolution/index.js b/src/store/groupEvolution/index.js index 37810c3..9e7bc5d 100644 --- a/src/store/groupEvolution/index.js +++ b/src/store/groupEvolution/index.js @@ -6,72 +6,57 @@ import mergeImg from "@/assets/images/groupMember/mergeImg.png" import shrinkImg from "@/assets/images/groupMember/shrinkImg.png" import expamdImg from "@/assets/images/groupMember/expamdImg.png" import defaultAvatar from "@/assets/images/avatar/default.png" + +import { + getGroupEvolutionGroupList, + getGroupEvolutionGroupScaleChart +} from "@/service/api/groupEvolution" +import { TansTimestamp } from "@/utils/transform" export const useGroupDiscoveryStore = defineStore("groupDiscovery", { state: () => ({ - groupList: [ - { - id: 1, - type: "群体一", - title: "关注话题:#中国海警首次登检菲律宾运补船只#", - statistics: [ - { id: 1, iconImg: nodePrefix, name: "节点数", value: 293 }, - { id: 2, iconImg: edgePrefix, name: "连边数", value: 21389 } - ] - }, - { - id: 2, - type: "群体二", - title: "关注话题:#外交部回应中国海警缴获菲律宾士111111.", - statistics: [ - { id: 1, iconImg: nodePrefix, name: "节点数", value: 293 }, - { id: 2, iconImg: edgePrefix, name: "连边数", value: 21389 } - ] - }, - { - id: 3, - type: "群体三", - title: "关注话题:#美军机在南海盘旋并投放不明物体#", - statistics: [ - { id: 1, iconImg: nodePrefix, name: "节点数", value: 293 }, - { id: 2, iconImg: edgePrefix, name: "连边数", value: 21389 } - ] - } - ], - chartData: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 800, interval: 100 }, - seriesList: [ - { - name: "头部自媒体", - themeColor: "#32b6fb", - data: [200, 300, 330, 400, 380] - }, - { - name: "官方媒体", - themeColor: "#00d6da", - data: [100, 200, 230, 300, 280] - }, - { - name: "普通自媒体", - themeColor: "#fddc33", - data: [300, 400, 430, 500, 480] - } - ] - }, + groupList: [], + chartData: {}, chartsData: { topSelfMedia: { - xAxis: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"], + xAxis: [ + "15:57:46", + "16:57:55", + "17:57:32", + "18:58:03", + "19:58:03", + "20:58:04", + "21:57:47", + "22:58:12" + ], yAxis: [0, 0.5, 1.0, 1.5, 2.0, 2.5], data: [1.0, 0.99, 1.0, 1.0, 1.01, 2.03, 1.2, 0.99] }, officialMedia: { - xAxis: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"], - yAxis: [0, 0.5, 1.0, 1.5, 2.0, 2.5], + xAxis: [ + "15:57:46", + "16:57:55", + "17:57:32", + "18:58:03", + "19:58:03", + "20:58:04", + "21:57:47", + "22:58:12" + ], + yAxis: [0, 0.5, 1.0, 1.5], data: [1.0, 0.99, 1.0, 1.0, 1.01, 1.01, 1.2, 0.99] }, ordinaryMedia: { - xAxis: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"], - yAxis: [0, 1.0, 2.0, 3.0, 4.0, 5.0], + xAxis: [ + "15:57:46", + "16:57:55", + "17:57:32", + "18:58:03", + "19:58:03", + "20:58:04", + "21:57:47", + "22:58:12" + ], + yAxis: [0, 1.0, 2.0, 3.0], data: [1.08, 2.54, 1.47, 1.03, 0.98, 0.99, 1.0, 1.12] } }, @@ -265,8 +250,43 @@ export const useGroupDiscoveryStore = defineStore("groupDiscovery", { } ] }), - actions: {}, - persist: false // 开启持久化 + actions: { + async initializeGroupList(time = "2024-05-16 16:56:04") { + const res = await getGroupEvolutionGroupList(time) + if (res.code != 200) return + const iconMap = { + 节点数: nodePrefix, + 连边数: edgePrefix + } + this.groupList = res.data + this.groupList.forEach((item) => { + item.list = item.list.map((statistic) => ({ + ...statistic, + iconImg: iconMap[statistic.name] + })) + }) + }, + async initializeGroupScaleChart() { + const res = await getGroupEvolutionGroupScaleChart() + if (res.code != 200) return + let resultObj = {} + const themeMap = { + 群体一: "#32b6fb", + 群体二: "#00d6da", + 群体三: "#fddc33" + } + resultObj["xAxisData"] = res.data.timeList.map((item) => TansTimestamp(item, "HH:mm:ss")) + resultObj["yAxisRange"] = res.data.scale + resultObj["seriesList"] = [] + + Object.entries(res.data.data).forEach(([key, list]) => { + resultObj["seriesList"].push({ name: key, themeColor: themeMap[key], data: list }) + }) + + this.chartData = resultObj + } + }, + persist: true // 开启持久化 }) export const useGroupStructureStore = defineStore("groupStructure", { diff --git a/src/views/GroupEvolution/component/groupChart.vue b/src/views/GroupEvolution/component/groupChart.vue index 7fe20e4..b78f11a 100644 --- a/src/views/GroupEvolution/component/groupChart.vue +++ b/src/views/GroupEvolution/component/groupChart.vue @@ -17,7 +17,7 @@