From 662d7b099e0ddd52c240a7c79d10248f8371987e Mon Sep 17 00:00:00 2001 From: RockYang Date: Fri, 18 Oct 2024 06:26:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=99=20realtime=20=E8=AF=AD=E9=9F=B3?= =?UTF-8?q?=E5=AF=B9=E8=AF=9D=E5=A2=9E=E5=8A=A0=E9=9F=B3=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/public/medias/calling.mp3 | Bin 0 -> 15543 bytes web/public/medias/hang-up.mp3 | Bin 0 -> 14532 bytes web/src/components/RealtimeConversation.vue | 42 ++++++++++++++++---- web/src/views/admin/ChatList.vue | 18 +++++++-- 4 files changed, 49 insertions(+), 11 deletions(-) create mode 100644 web/public/medias/calling.mp3 create mode 100644 web/public/medias/hang-up.mp3 diff --git a/web/public/medias/calling.mp3 b/web/public/medias/calling.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..ff92bfb866457c5623206cdb1271b585e90b3af1 GIT binary patch literal 15543 zcmcJ0c{r4B+weV@#n{OfvP2}ZBy0AaWS3INmL(>VHVo2YUqULf7fMQ@R7RzeUAD3` zC}qjMkD0l?Yktr3yx;r&@%{B4-*p^w&pr3Goac4!=Xu>@X>x!CfsM)9$<@^r-tZy_ zbMUD^LYRkF*r^a7B>1eFD)R3>9!6h42<(gS4LcV=2tkzp(wG z+;fPHnxO<^fq-*_;Qx#y!jS<^=R+KA?2Hfz<$t$--Ds&Q|LaD@P~*S47$b}h9?<%) z2mi|(#L3ao6z-G@B69dtgx^8U{c0-vRg{$xV<%f<*nvloaDq3&jPmw}&nyh>;4`>C z#xK|`5riE9|87o}PO9)36I_bX_wNQ)&i?22|9)GB_z~bQ2o*VpAUa+MmX(c@n^!!va zenC-5S$XA?r_XEaU%hU6-~8!ITUSrtz_+21@t>1_X8z7EuWf8?(-_d<7QNvXH4ZX< z{HIB?*#GNR$BS_G4dg3qV8zY{!MZxMqe>4U=v;IphXFTY4yeVl@1+F9VqUVvEnRpz zZkCSoWHLY_Bbq#3AuNa!YitkiQ)5X;kF6_2>MJnW^=>hen+1g!s@;GOn-{R~x)@34 z#OP4;K^D9G;wH1iiUFr)pmr~Fh=DiF!r*HfUwTWlfZ1-a;@~5Kmy9w&zH}pr0Y~y* zUDIR=&85FTr@+hN0ruQDb+-I8*ox}jH$noSG~j`w?5{rn(C@W(w9R*g^Fv7Vk1H2^ zdS!)i-7y9R2saC|%$FBq%SY@7cZmS3=Q;zh-$_N$5tEsu= zx%%^Daq1n=bdLsJgp!wBd%&WOBgC%*TzdJHD_x-Btv*&Dsox7<}NwTAuRsoytPkm*2m=-D<~V#Q!~{bk~gS z>2B2CW4DY0XjRV@{uUIL->e3Jia}GGa1g>j?a9HWBM4Kr0db{p-0&IC0{~_j&qK8e z0H7fLXA)oYAT0XBUoQYaWAhzy1VHGJ^&U$ZZC`#QBSDC-)~TLB1P-j0hi97w(;~Z3 zV}86p*H{+Ur=a7O&#U@!ssg2sB;vILH_q#?xmiD=NiLc?KnNLsNNHrS3I)NP9f^5w z3@mqZTQpl<%7_NEOL9awV*Tu`REh@x#a^6DytHJ)1TL`L0KiYLZgu{n%@_kG{n(dx zZ$ExomS_r5FyY4ZpK`xqf?eV~UiV@>ook}+-tMYuN^6R1uhJ> z1a(2f-G~%O45Nz@PAt2b&Yp}V3s*!=nl|tAoeiSb^!!Ry6g>H8?QMjOGm&!r841dY zvH1(#Ih_X9d)ymPnQ*~tzGNPcCn)@`*)m}*Tr)&QpKNWe4FiwF^LW2IS)ywap^k?bp^SzxKCd#yu63k zKPor0<6wrqrT1t_=i4o#{U=Xnht(2>U;pXb*zN$d@4?%F70cJa^tJ0(shdB(k*3I? zizYHJKU+m2SMPQr4imwn&b0d`r{~7K9@?i*qOVFxdxjd8=9c;}B!Lq>GU|g&$sz3W z+WptM>`)b!9$syM+T72&I<2CqMFPNb=}krGWKdCYjzJm9_$!Vdt35@VG#-BU+xe=z;MTmQ?*l(}EgL?((^ zS@7KDJ5NT{7$}HhIAl&Br|?p2ceURjAC4ruY>|J;QUm}Afax^0dbkYLom{S9lyo8X z;GSSw_o=$sySqv~k_s2}(%eZ8awxYn|9FqW<%1TAXK%W#DFPyO0Zd*d0w69xVwgQ@Xy9kLo7ybS zUs((UoG%q+{S|NQYnMNsFy7GhhcpPy(<8V^IF2EQU|9Qj8FS%NsVC{X#{(Wuijj|Y zu6Iey6h#BY>Olq(EYNRdT#*1pDYiK6r-+#oJE*7MS2_cyK6WN9z^|32RFT>uM!#tv8QC#6A43EAM_a|~M{=8v#3;c$4XCPb5qrJLPx zInY3^l3Q9&B3tAud$9ZRMI+B^oR1Xie+p6q-?|U9?Y~fvM)Tj_RgWo43w$w!-#Ph; z(3%T;wah;>(!~;tq_p#X6GENA1d5qBVNYTR6`jP`4fVLL{)bvxyO7aHYU0q{mr=nC z6auj27tXXEB3NKswVU6|p;_A4H*!3+luTEcX!?h{XreqhV14=?n5BR%woG8Vtjz3$ zGQqYX?q3}Q>KbSvO*_&~ozs>-hkm#UNYpVOG6*4q!EK*l-~xdzppx4|bN!)*Oz zaK}E4XO)y9>3nE9XJYp_c${>M8ZrlS!p)n0K68I%fEdT&~ zAG!^wflXRFGV)^Z(&>NBW8xcS&2Jco@peX~tY65_H3{zmcmkLr!NF7lye#YO&`xK` zaecr*AqT@Mb52Rv7t6jgiPK%#is_OkOL?+Px8b|oOIlGzh~RIx88Tf1ESxQ})&S{~ zBMYFiEM)QHTSp{rw`p_(U)!y8|Cd*FZ!Z?eCXpU)>t8np zG_*qcj|VO{0=V-Y9eDUk#fm-IT|75dt@R%dRf67Q)Yl9@R@sESi%(88saMn{f`(lM`|4MpQwXNETZSe{fKH~n#fpIzaXy=8 zwTBjlv`NM{cXFjI{PA(1ol|o^3O8cuD2Y)y4N(}qc zunnZ%qiX=V2E%Hw1?8JAhiN;h$2N8#PM!JYX55a3KC$%ty?dY3O{)#0*nU-=y+Ze; zbgyYcr;`ilg~9qzBOQENaFb%;M1`s{+|K>&@8!6BtzJn|%7>*vt{bK1mC%Iz-XgRE z-%V6uIcrQ#c(;AGl*9S9xWsMebEVrJ+oP}hx8gj&8~{0xYE%V|*%)8V_?Xk}qjs*+ zU$S@1NA~yeeD6Ox)}CVhIcTfi-0N~Q$Nd+Y1*h8yU{eeRFwiJ;Vr2MzE(&6CTydX9 z*8Tb4FFXXB=>*Wbb%(HJE5|F{>>PtkgsA3njGu2(<8)o9_zOIa=}Ed3#vWezFlClQ zl*Nr&PR3V%v&-it_JXe@gXB~Cpc-r@gXP#KHDXqGRB4yeuMk#AfIy$4#i2gvdq5T& z5vUgr4lsnV4LvUCC3hG*#*I&GS#L^hyvEE7)(@$f`3w3@)THu9#oYGBt{kxX{&7+K zD@`xmz~u0e2H9`d`xB!1zvPKzgrDBV3K$b_gzc;6CYLH#uhVFwN9eMV{wPBUJ7pgx zFD5z+%$Nn(NZaR$bWQ*sP5&a%g>LdAc8Yb@XBfix1zRQP_rvqFD>iX|6XMV13W&yp&;3Z8qf=Zv~A+n zO!U_=Azc)pm!%T=3eLYjufI<9^q>|$1~mO60CaXUF&P!&O&~N*)+XcXV*UH1XD7mz8!c}=W&h!-M+qLb`t)$CV5VRto0LdgNxf1N z*a5nc1nBVl7AW)rJ8$pL&Yx@S;}|H6W2gBqC@IQ>VW-1>Mcbi$#M*YrXQnR*T6H>= zpTsRlN`3yKl#Q)h3jue@5Cv*A0}+tT1+BY*!Ivg%lbT64ey6c&EE}i2{H#cti$TQf zcY4jyh2z@k)O;Wd2h#<}!0nutThA1jy?{er$rxXJf7Vhc#+Ox_A&iSydqMYBtUQLh zvUT+S#Uqu$ACWR&wObK3(}UDq3$vgLuF(nX_X1m(w163LcmZ^WSYgc!6O7qK@selS zJUi6M((B8y`wEsH2ybSuWe2{dp<%31O#`2xrT~D#0Gc=eUHTNZe&m2c;>mpP*!Mz> z_^S>KVI-sH1WzEI@=l!ihVME4Y<_u$g$;k-3~GFpA$rg-sr6=Ifs~rL65T!b3Cm;v zl?70e8O#2O6wER5V~e>MBx1K|m7di`;5cwEh?*NfU(9CEjt$0Ym>zW#UpT+8jC zlE7Q)FvUL3m^dRN2EHxd2H>~;nh1jklNg?Wi)8c-EXQ(P_c~iAr#xt=x;FXsd&cky@H6xNgLQ?l=(T9mgaY4x|6|io63h*CSzK> z;}dU5yCw-{s`fNkMw0+Ah8rx;p1j12dj$-yOmW~ww?~(+lV-g1LDJ<<*GXFgla(>j zKBug+Snw5FXFj;9y5+t9mp;4`^g%p*{jp7{GkS8IrIM}>svp;e^dMZ*;+99m-v`irvZIRq?zp@*=A4O)jzi5PAD4Cj3R& zqlo^bHRgM3(Qhb#YT9$AR8f3(EN<=Z)GVEAxCNNlkv)0J?aa<-i8F~Zh${MHUUDlwlMMp00TeJeScRrKvZ&@ z4IK*w`#6fJo5O5$h$sMUAHxZJ?B?T>P|-jknqX)`UgjR zgCv={&lb*GlpqCy%?rh>$`-9?fj$Nb6PT)iGhJ#-T@i+eH_aX7^IfI;@gv|%R}0FsgZKL|iwUqeZ9<`@oO;#fq=oCHjU%RK}P+D%mm54Qw+ zJ?5&x=i(gA)qMfig)V^>C=D7jEB9rI=~qqPmjB{r6UV5&bY*klXXwKWmOmh{3q8r2 z#!CO*$kxg0n#awXAFdyFxxcq`LXQ z#(DmF)*d*%rE@MWo{L?5@jjo}A)W1Gs|7Vgs%OCTFfa{;jIRb%slF1eU!TCV-U?u* zNwb`|_vU3=l;FRJAj5Z@hYgG4(4vpuw?n^w?^*J^P}bX>*N(`S{l1Dr=V;z&z@6-% z(Aj`H8S>?t@v}Z+7A5|X1H(6NCwUDGYj9STX1}GexSz?g=lL#-zDDmHsgMv-QsLKM z%Uat{lurU`V);OAtk6QILP3Gn*6Yglq5`C>&*TTq%>F|JOa@;>m#B<0=P7ze*2UIR zr|AgIeYK?3@>PhnipxFaJiuXqAF|z-+HX~>;+p|E|6)1AmbVnXw|vFIb&vj7)YhF5a<`+<3G{= zsxD1)Xjz_-KlHgKDJ-)c;k7DUd{+ghJtF>MeF)CB#=0AA9@iv0V*#0jF)Q-hes58u%-51eBJat9iMVPc$n>cYu$< zFgXV_)Z#V(wlpHu419Icj_GD*7zGk`+?u#gS^g+?0-~VF7Ed^k?uy#-wh!EqvwQYn z&QMkPzBl)5_r$+BSzK4X#I}Y$aLg|3Yr}T*)m!A}&iVwfk_f<2I*C4Jmj*f|#0|4r z=4Fc}69i|K3|KVCDCIPv4S2 z0i@Sr7r1HsRw_Zv!X=b!y7wvx7!x5yCTfVSB&fS&>QQiYC-y2$E(Hb3rLS{@Xek-u zM?Qzo2ftwu;Ro)HWss6*l{>3fW|Nd1zqACuf199Nm4jf>a!(bSrF zF;(-XTEL67J~7ISU*APNxITe< zelDdtYE`Jzz9r_C;PruHLVH9qc3X(1rkgtjn<@4*@YHqwlI>1@xP0DTc{?9BYGPaf zG72aWVEjFC@tFq;GrcutY4sLG9ZMsHoXeZHrRmenbp`=lT7d#6_0XuUfW>FW8AMoO zt+n*;JcU1vx5^xgb8!TP9w7)`ILn|u%KFn^{xszcBwTS$o0Co=py8=2#Wvh@t z_V=pSsKb7&=U9JVK&E*cRLbo2HfDW8ECS{VpWFxiPJNlEH@&Y^dcKDa%9wYz;#n z(D9!HKX{%9xIMI7<@GaG2uGb#7_+U!2oohjMPAiK?fQ)(dW>6lO$LQ20u@OZ~M(84Di&w zG2&GWBFwX9SjQ?InzLc8$sCE)WE-nTo=+GUs2)_Y7}uB>@P0WESpAciP2HdWNeXM# ziD{9w3iWOhO~4xb#=^y2DK@78wF}rUP}^bI`*AlqgIFQ++38%5wG;<567p_vkQrSF zUIEN=#%6LqiiElOG#!7D?Q=NqX$gY}Q>?Mp;p9X19;{)RO9I?naosyJJ2R&Gc@I3@ zu&h*#c3Rlm|0#@(ChPU743@g<^0Pq4Jy4OuW6&B|Yhw)j)+Fb^V-pSAb%EX0%W)3c zi8xN9MBU)!&Iw5ph{m-MVFiIq0-N{A0BjQ%$pF{i^!@`-KKR&o>?VTLhvy9r}}A001cHnx=+C$Co8)31_WvGNnY0f*_EGc=pD2p-v;lvj z!|;^!T4APJaaw1`tvHEa_t6GsMB1)1u@E162hfz}`uzAVgAc!PJ(g!%4}Da>`ITWA z(M9!uk|jw5zW?Xvho`ombs+@W%l1($l_deqlf${!K@n@cXU^cKBo@Tzv)fe5|b1cu?Xi^KuF zD*F!19vpn8+0UDMA*VP36N>7nktnAc2`5y-RPeKp?WXhmejdrb&z_&jyH#5BQN&*N z61~*0Yjt~Fru)bo_&iat07|xHZ5I{*sK0gjwgd|2_ndiHW)nxl{a%K(K4UXkDr z@ctKn?mIV!L-z`g?JjCz?iel}xss#MlcUQ(p&fg+%1=*U)(*Q>(|%Et%b@IDJ+l3L zv(h!<7f0D$r(}ibzNikB(DWp&o9Q){_ecdyF(&?7Ek9z0B)>G=r%{VxLPaFo(&Gp> znLxG(T>vo<%8XfQ3;-o)u(9)%Aqh}!gGmvJ23T~G@2mnd5GBWgwE7vF+;`FpKK#I* z(mIY{t?<~)<4dAA78jM|zg#P*NZA7ath(I0$^9vp-jsM>$C$MjKk*E(k|S3Th87aT z9~978r;0Q^JB<0u9&M$-a2l4N-$>g|G;w3tXy)Npo$E(OHa2@8I2zb&>XM(3(oDso?WqyOk*~pR`yYu9e!HoIe>}=0OCaHu* zg7u6fC%wx?cE($BWt5LJzgu-@;@>~Hy=$c9hZ=MUyeGQs?eJDO!YwT^Y2+ZlgSCh@ z7kjO5R0e}=N>LgZQ5jEzdtaTNW{(Ya`C?p1r1-V}naICX@DCAiHkM&O4w(|LJq{h| z-1z3R``%pI_)wYVd76hgrtZE){{wrwteZ|&0a-s624`E>`A&GYjjP=;$Eq8cg-J4J z56!hmzt;#lfBx2qM1`c{+~Srl+Nrfhfok$<_+FQAzL~qEGaSPJ7MSVfPYUY$Y++u? zZIV~wm4EPK&p*P*%42zYzdqIhH}3FGNRzYKCv&e@VU$lQbH8$3%0jx|ku#oxXGdMO zOSC^m2-NTE-AudtqmsUQ1~!pScdo} z!NiR#XXU-E6f2=-S#VD)IhmQux~hfAoSXt=*i(+V1$J$j_2uqC?jkNt7Gu{w>|!zcQkGlA$IK@sk19=A6?V9T zwjOA4&U^wL&);hB>q|Wwaan(j%yK9}NSjS_yjoi6?(3s^r*zA6o&725PHZJ>3Vp8m zB=DfRa$_rB(geae${@m5Op#0o%;I`D--kU#`uffSK&BT?5h?C|{Y9c-S|Tx#KE;dH zLd|JI%%^-0EDd+!xRq^I=&?x#pZ0qMSOgmhQwI^`RF>C^0B&AA?#`4KyNhs^8#KG^ zBZ`}`?cuicXz@}ET7Q7pC^UTiaE<&yrSHOd_QU0bUjWoFQ0T_kz(XKAbRVZz$W!FY z&^K{<0VUEOp8WxO?5uv@oHKi-IsJL2ylR!l$XM=mo?dy^1TXCv#e9MCmbJH*f#(iB zOFS6uC19SZBy4p&XR536(G_`WW33ffVH1YAYy=_Rirhz66UYz~{ySs)!;omm0VptP zpn*j{B10Iz;tf7Tk`<+baCeS0Bdm!y0Iml{i6+KKKK8PyLn5hGQJH-1igw!HJge?U z?>nG+LbOJfka`;|32sm{=GKL`Z2QQdhzN!?dbfY-gTBIu7AAo{c05vG+3V_=y>j^O zJxR%cyK7r}!>@bCdfUGUnb&p)t5_2BAsUbfKCQU#B7VN7$_`_-wYyuPM)pDu!IrB3 z>wN7@`ST-nuXW#`45ts;f2;K#>lr`~bH z1-H3sB`{?TElvRh*1J(?fjJRfiU&A{jaCG zElm{F7FGMJV0xtm(1Pd;K6K%p*+eO!|6p-e>Tjep(WQ*_;Q8anGYHDOe!*-JHSB1$ zJBYWk@w4&afxB^H{?{74X}siBtdGawEP#j7;GaqhJ=z}hA*b^{jd@NUWIbE{{MhB% zrkhdCBUwn)^Hx?fy@FQ3J0P(d^y_<6L$u*E@Hve^gnrDLWvCMB50=v*jPB0N$-AZ9 zrtqx-f1Kl@%*dz#t~l*-%=21{1hcEl%(k|G_AHr35u4i~0tO5eez`BuTruV^%`mRn zYSO1ukN>!gUbXH$&s=q=i0A6pEnrTG)+~4p1zP}>{uZ=*=46= z(xNu5hmIHZo}7EEqSg~uqL7JA_AHkoF>}aGL2`@~uRZgrbYn%QH!z z{K|f{J@Tni)owGDDYjMC3ry1W!`k)D_0?9mFo^IS{g~j1VDT8Xn-e`*Y@OUkDZZbV zeE;Nre=BT+zB0E)FtyS#FpRi!Onhx^yJw&P0B#mj5S9VR4~kJ^Dm~P$Coxhuy!o6s zn#-v>*QqO>FS%PX?cm%j<=yM!bGsi@AsAe6t@zq3Xw!!(VE(E?Jq=Ks`);I`&?^a;e5Bay8}9iGdwA%ElMo70|?)>g_}9NcgIh}*GoXcbl_eiERw)1Q}SB7wy} zb4?PQF*+#9paiZ*IzO=Hfj)uPSI=dMyi~Yyg2pMac~f9O7Z$?$ScoJ5T)IEO6UJg9 zRDg?JQ{Kc?G3p*HcM~@Cg?uAJ7%Ol-qn=+5?AVFbYG9yH7_q^$^756Ia6vVA2LPBN zZwA5lJodg*HON%>gLp0ECDk}`1S*_3>iy=;;eeULxjTe7vgAQ-0cq}mLU8mp5#*m~ z&fWhUhQGW2`V~OLO`|;yEqnG-JM^7ZZpN>tvZE+&gNq&+)_X%3M5x1wS$np5qGPaM z8rqL=a}|GF1Do6sVH%b=Rsj0rxm$S6igQtc3+jhDRtMaib{T3u9|=rgA@HXwX5Xt) z>KdkhFkh#UXqUyvfWDVSA8xpl`@T;GVM&YFnsgRnI;_lrd!Vg-YvV%{x6McaT>mxz zfIvY3aDzdFW*iMhZ0IFctYPD~NSMp=CqK*OoBP0xs$hDigSl0{i!WQjtV_h^*;8Z@)Nkpi%A}I2j~V(fgkdKK zDXF2m*KsZx}jn&{8&JP$e31sVH_ZPL9m zMhcbkm>r3(Uu^SN{mpo7$K)3VAqOj=Q}FCs4c{BxtWq8HdH=Q?RaSTup4XxGnpSaA z%-#- zb$0l9M$Ay|;@ynjdvb|vY&NMo1!w&#Mr%fu@m=0qu(jlLK50Us9v*|jbR9etSN(F8 z9=ecDYL{(d`BsisM1n46h=UlbPkDu`*ThJlNFb3)0>D5Y{Pvl_@d)!;Or)c>%?oV= z^RJ7IVcQwPIKvvObe!yU;{ukV{Q{%O<*($Hh1uLPxQuaGE+M3u({_xJC~lx{7=j(w zhjHS?3Bg=vQQz z4klVnI;S7`jY^AI+wFF8@M6o|*U?3BB7sGsKfB4({U)cr4PABoTmUGkaP@`ZXGD#R zu+p2T*x5`K__xy5s6#9O?wARkakv$MFOQ=Ha1ktl?ET$;s+!H0Rw zci8|X#o|z|omRDt%)hyh*}VC7Y`5ss?3Xe7mLA=1xw*SwXl+`TYfZtgOGn?@!M}i_ zcQ5nCf_-fG4OqzXy7^oLZg!;g<%kTWjkI;PI9k~&hD%m{*6q&bj)9-eZcrMWc2@a6 zDJ1|{aa^vRjNXlt{3f`dC5pQ64(FtTr8;@aObp*!F zq~%>h@EF+sSI7gHyTM{COm`>6v2?>3Zngb$b|}zpYA^HQ;&*Bu_VPPeVTYi0ib6K0D40K?*MXEY^a-q3Jw{zQEI#*JzDD%dENwMA(Yv^~IzzYz(5n=u^_lO^-hyaN4K z?`X5|NHnT6VHtdw#NbA~l~8jSjzqI}_nG@RPeq*UR=eevF88?g+oO-^N0*|}-|Ks~ zz78ujzBL`F1_VGM!_z<#JwkXIrHT}I6>{y*Y8Fi{x$(fj)js^4_GgXei_!rH7Pr~# zsvg925E{v#+L{Qc2N)PAExmuWlbz3%w{2fIN|-B}VHEyisN~~qdNR&jm0r(sA`>Sv zx;_-NY$vLx%@a#)w>UXK% zn8Eol#c$0_PM7pLU)If+sEnZl(CW6$v8m3$APEBhQk;H$7*Lyt@V={+BFV?T!PtVGHYJ> zlTiLfcIknKRvzH}$KpEWdpr0A0PO+OM?fFdGfwmX&8=|=9iKi|ptt)u-JIu4HWF_7 z-6VD%+=gc{G#fyZM^HGX3hg}9%kvB({KmW>pH@Q6V7ZL6%NipS&%Tl1>u|Wv@=235 zzUKZ~L(86r`?2##!WGhr)X<~)jUM^X zI1**LQJH=Js)veuK@;pDuk|B&^tQ;EN zO1cl7aY#fi!n7!K=}~g^A${lX3D%{Xv$VQ#BS$W9b`N(j=e}@Ba}EH7wO3!M zLv|FeOsW$eGBmzgdc#TUE(~# zt0{kwJqDk@^O2Mn<6PEf5_eL}QHhxwhs8zYAxy{FUvDxUD(;a=IJUu#D3i+?^rv3r zs<~*8MoBccFs92yu-pl#U~U>Etys?%!`WO@VAT{z%)=SiyCv9*Jexo;jlR?b=dOjf zMvLcZ^)laS2Vblg#ryEVnZ>6e9uw7DyZl&C5}FYP7-xoYUd78;I&^u?C9%$EzhfMQ zrJKJ_sjGb}e5B~9tv!E`lMPcs37FO;!lD^i+lE_*=0$_B#my8qH;9ON+uw{*(a87{ zJK`F0?Ep$Rq-ax^E0P@M2$*b756XhURyd6r0;cZm?QPX%k+k3=ydFVWaD7R1-**Pq z868ZfFomP8U8qD>uCU`3P$PM>ObP0QtcJe*F=X}AJ=8B7Z?mI<-G)5?O>7Q&hy6r| z#JOM{Z9|3M$u;d8i1W{TY;X5C*{NEDe8C9*R^N&_EK1$FANqQfxP$KZKp*_=Et#(d z;ORYx$Krm`eDBWODKK7ZT;&^_@!^~ILbIm!`5b&Q>y*`BO#&CCPDHaMk`T z=HG%Kr_Ur;n0Zzq4>f^7lkY5zrvZLe@A%fnls@HD&`$)7D?~suNdt4450?+})RqXI zd@+Jz3CaC1^*DqPwwjEi|BfCLS7Um{!KD7xUDMRhaL7J5Z)(2L@-tQQ zJfHYe+I0YtX7UJ}Bmp8syY-J-TA>QFYH56F83#+YmKC?J2EjMTs*zgq%9q{cq zzxWH@FV;pwx;fvMKDniRb(qMXE}Qdxpw#pve+GEKB6MhOt%pQ4@i-28fx#8%E8dD3 ziGA}7bbXbeqMM%ZAfW!|a7CboSd2$XS9F1UoZ<#d0M;QVSc%}Y6{4*7xga(vr_Wqm zF!7KQLnCK#QCiSLO>(dWG(;lNoXwx?yE%Ti4$9GItriwo>+CSMXNgnW4L2e?j`}p< zO(KS;01!*#Q5k(JM(S@W0L$5zV_8g)i{P{Ya|JSD8CiF?$Dq7Xnh8~)pWA#9V^YJ( z{AWMuHjM;8ED_wOWVy=2t2x1qx*%wE3-ZCv=MVNT*;>g9?S#*0NOnqRL%xM>D~k1} z{3(hW+$zouoCWQVoKm8{ZkO!4Ko|uSJr}6h@Dzg{<9PXC->N5%Dh>8&0OJ#K)8c><`b*R(iW5y|G*k}die7hRZ}L4+Bc z1=*yNnTeClu;D?po%IgXVotCgUqd19;p8nN<<+&r%xCzs-eT6cO7)M+?XOkP6B5(y z@hGnc$CU%ff3_NX*-g77H>({>?%FOp zQU-Jk>WE+cjvmtP9;hulZg;%H-nNR%Eh@TK_HnQNL^yG~Dt$dW)6ZNq9XZJPzD)FC z^kzYXJR54T!}gK0{vVp-8j)TAZORlIl*CF_8GH3%#h0ke3YQa~zRofDFvW@%vDViu zJB~lDe$&C94SCZ#8f$mY>Pb;2N^P-_onz&<){P=V&5Fy%k}o|#nXLPqnNcUxT6VqC z-`3a`QeiTj?zl(Vj+i3uE&1RXBNL{9Fu(I}N@dq|)X=%QVDMDv8al$y-Q~J7F^fim zN4QgI@GT}>0i?yxYWPnecn*avEjvs`&0+D!8lE*Wb7FW{d95!LqRLQDa2Es<9hRmf z+qlLQ2lkmoHYG7l|Jfi|P=>4esHx8VgO1?ninLnqQ9z&fly&<2;TKKx#Y7MT&1y{(g-K*2Z`W>U3(azY2G+iX2zS`7)G1A};tHv;`|f6)W_T zj*DMX(4;@@#I%}%^o~=di8_Uym+V8LbAMeslW7Y)z%Wea)-doa+ZjQ96`@6cLw%;* zlVYkh_3rwox-^R0K{kg$BaYQeyDU!*Z#Iw45V$1%&1A}BvgTX6KPuvYW59#JlpN#F zwbGZ*r<6N=@Tse-E2!=@qn$f2)OFX1>|3EU>OE!fK%lbAtlBwBd~y#}6CcMbQ+zb$ z5>u1s%T=k-T(|Vi!YgyLe78v^?y)=%lz__|0RZ8D_<&O&TS6k>aG{NnNIIJj33?z7 zD6T0jC5V;bQIydoyq3*do;m!>%DnEgv!IumSFv_$>eDe+<8rU(dulVZYrrG_OR4k# z9?9VX7uso%1r<%>cki8|Jimpi^EgYpPbM{d;Nk=mA#VVzzLn8=sqNVuK;f%cTtgFs@}zw=S?d!22A5u zR-8MucAVI2y0)P5n0$mxbFRD;Z=T~w%mo1w7P{N}d&%@6@s^-jw(fWF)I(V#UmUij zN&+R%SRa0g5n}3sFLTgj!8qLOKc$@kRxJ@TGHQm4Rk$G`%b%?fjZ#fYwHV{9$sLmT z#fMJ5Zf7Dlozb{UIzg1ob?!}J8UcQrnMuuZV>KuT^~Xl?+-A4@S65^6SX8KkYqbF?UtCp;6pzyRs_0- zL{=O{{Vd{-_SZ?Q^b2-%*myLZCmhRkW#_%hhUZ?04ad3jJ)T$V0g*l#VX?7Art^u< zU!Vk@F}4bo;ZbiVb!DzTQ5cf$^$s7~M8Y?;27CMGj=bn+cu6|sZ1D|1_eCU>=9>0e z9dbFeD~5csAjwvUiNS|q%->O~A8NACaSafKT(mzv^!bOb>xYz_jjpr!p6;33)2_I^ zaOb9t_5xVDZ~;nCxx_>8>zK_^UvltS#Kl;WmoLH~kQ?JBdpG~AHoJ~g_>WOKE%o$= zl+gwHxy6bYFJpFuTk;uYOL+X!Q)m&MGQzfT{um?Ci~k%>&*2cVhmzu-eQYWX{s?ok zC@SXMz_maF3|Hf~);>wOtcAy##uiSYuFqv*{h2ux z1on^>Q}7AbZ18)iaxdjQ`OzumI&0H*S^O8^Nt8ji+Kzni&ZQD*e)i7bsb9Q=&rOy+ zNhXD!5A7fkOy;q2qla4cWW2Z?)a%?WtOHf`-rU9W+U*tHH4h6xgEZn%uy&mU{M9&^ z4Zd=Jxp|0J(uO@fSWxBQev@WbduuDl(s|Vf(ndZn)^9BJ(Q@zS@Lt}daP`i_Lu2Qf zD-c=OoDUn?m>yvKC)D|WHiml`L$B(qv7i+Ywy}`dM!X68{~Yqa`St$-``_1OpfHbK u)#X)U-Gkyp5~z6ZcG3Sn;Q#+ULl`p=1XcRa|3(pJ3&!{Vf3W`z!v6s{XR+M? literal 0 HcmV?d00001 diff --git a/web/public/medias/hang-up.mp3 b/web/public/medias/hang-up.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..367973ddd7d24857dc2b01dc30a077aac2b87f80 GIT binary patch literal 14532 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 B=d1t# literal 0 HcmV?d00001 diff --git a/web/src/components/RealtimeConversation.vue b/web/src/components/RealtimeConversation.vue index a13da6cf..d4a72f4e 100644 --- a/web/src/components/RealtimeConversation.vue +++ b/web/src/components/RealtimeConversation.vue @@ -9,6 +9,14 @@
{{ connectingText }}
+ + @@ -126,12 +134,23 @@ const clientCanvasRef = ref(null); const serverCanvasRef = ref(null); const isConnected = ref(false); const isRecording = ref(false); - +const backgroundAudio = ref(null); +const hangUpAudio = ref(null); +function sleep(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); +} const connect = async () => { if (isConnected.value) { return } - + // 播放背景音乐 + if (backgroundAudio.value) { + backgroundAudio.value.play().catch(error => { + console.error('播放失败,可能是浏览器的自动播放策略导致的:', error); + }); + } + // 模拟拨号延时 + await sleep(3000) try { await client.value.connect(); await wavRecorder.value.begin(); @@ -142,10 +161,12 @@ const connect = async () => { } isConnected.value = true; + backgroundAudio.value?.pause() + backgroundAudio.value.currentTime = 0 client.value.sendUserMessageContent([ { type: 'input_text', - text: '你好,我是老阳!', + text: '你好,我是极客学长!', }, ]); if (client.value.getTurnDetectionType() === 'server_vad') { @@ -283,10 +304,17 @@ onUnmounted(() => { // 挂断通话 const hangUp = async () => { try { - isConnected.value = false; - client.value.disconnect(); - await wavRecorder.value.end(); - await wavStreamPlayer.value.interrupt(); + isConnected.value = false + // 断开客户端的连接 + client.value.disconnect() + // 中断语音输入和输出服务 + await wavRecorder.value.end() + await wavStreamPlayer.value.interrupt() + // 停止播放拨号音乐 + backgroundAudio.value?.pause() + backgroundAudio.value.currentTime = 0 + // 播放挂断音乐 + hangUpAudio.value?.play() emits('close') } catch (e) { console.error(e) diff --git a/web/src/views/admin/ChatList.vue b/web/src/views/admin/ChatList.vue index fc94afc8..119b9a7b 100644 --- a/web/src/views/admin/ChatList.vue +++ b/web/src/views/admin/ChatList.vue @@ -145,13 +145,19 @@ -
+
+
+
@@ -354,15 +360,19 @@ const showMessages = (row) => { justify-content right } + .chat-detail { + max-height 90vh + overflow auto + } .chat-box { - overflow hidden + overflow auto // 变量定义 --content-font-size: 16px; --content-color: #c1c1c1; font-family: 'Microsoft YaHei', '微软雅黑', Arial, sans-serif; - height 90% + max-height 90vh .chat-line { // 隐藏滚动条 @@ -381,4 +391,4 @@ const showMessages = (row) => { } } - \ No newline at end of file +