CRMEB/backend/public/admin/system_static/chat_list-yoTdbkER.js
2026-10-22 10:04:43 +08:00

2 lines
6.3 KiB
JavaScript

import{l as c,a as R,ao as W,b as G,y as n,z as a,A as o,s as v,$ as p,a0 as S,ab as Q,_ as x,H as u,F as V,D,j as X,B as Z,W as ee,u as N,ad as se,k as te,a7 as H}from"./element-plus-D1Ezoxxm.js";import{_ as oe}from"./notice-RG9GT7UO.js";import{_ as ne,a as ae,S as le,g as M,h as ie}from"./index-BzWqH73M.js";import{S as O}from"./socket-CmGQJU3y.js";import{record as re}from"./api-BcFSY5nf.js";import{s as ue,e as ce}from"./empty-QoN3sOGM.js";import{u as de}from"./store-izPvidGm.js";import"./monaco-editor-uXAv8CL-.js";import"./form-create-C-8Ibman.js";import"./vxe-ot-ELJR6.js";const ve={class:"chat-list"},_e={class:"head-box"},fe={class:"hd"},pe={class:"left-wrappers"},me={class:"status"},ge={class:"down-wrapper"},he={key:0,class:"iconfont iconduihao"},ke={key:0,class:"iconfont iconduihao"},ye={class:"tab-box"},be=["onClick"],Se={class:"search-box"},we={key:0,class:"list-box"},Ce=["onClick"],xe={class:"left-wrappers"},Le={class:"img-box"},Be={class:"info"},$e={class:"title"},Ee={class:"line1"},Ie={key:0,class:"label"},Ve={key:1,class:"label h5"},De={key:2,class:"label wx"},Ne={key:3,class:"label pc"},He={key:0,class:"msg line1"},Me={key:1,class:"msg"},Oe={key:2,class:"msg"},Te={key:3,class:"msg"},ze={key:4,class:"msg"},Pe={class:"right-wrapper"},Ue={class:"time"},Ye={key:0,class:"num"},je=Object.assign({name:"chat_list.vue"},{__name:"chat_list",setup(Ae){const T=new Audio(oe),L=ie(),z=de();ae().isMobile||L.replace(le.routePre+"/kefu/pc_list");const m=c(!1),r=c([]),h=c(1),B=c(15),k=c(!0),w=c(""),_=c({}),y=c(!1),d=c(0),P=c([{key:0,title:"会话列表"},{key:1,title:"会话结束"}]),$=c(JSON.parse(sessionStorage.getItem("wsLogin")));function U(t){if(!t)return"";const e=H.unix(t),l=H();return e.isSame(l,"day")?e.format("HH:mm"):e.isSame(l,"year")?e.format("M月D日"):e.format("YYYY年M月D日")}Promise.all([A(),b()]),R(()=>{window.addEventListener("beforeunload",Y),$.value=JSON.parse(sessionStorage.getItem("wsLogin"));let t=M("kefu_token");O.then(e=>{!$.value&&t&&e.send({type:"kefu_login",data:M("kefu_token")}),e.$on("transfer",l=>{if(l.recored.id&&d.value===0){let f=!1;for(let i=0;i<r.value.length;i++)l.recored.id==r.value[i].id&&(f=!0,r.value[i]=l.recored);f||r.value.unshift(l.recored)}}),e.$on("mssage_num",l=>{if(l.num>0&&T.play(),l.recored.id){let f=!1;r.value.forEach((i,s,g)=>{if(l.recored.id==i.id&&(f=!0,d.value===0)){let C=l.recored;g.splice(s,1),g.unshift(C)}}),!f&&d.value===0&&r.value.unshift(l.recored),d.value===1&&W.info({title:l.recored.is_tourist==1?"游客发来消息啦!":"用户发来消息啦!"})}}),e.$on("success",l=>{sessionStorage.setItem("wsLogin",!0)})})});function Y(t){sessionStorage.setItem("wsLogin",!1)}G(()=>{});function E(t){t.target.style.visibility="hidden"}function j(t){d.value!=t.key&&(d.value=t.key,h.value=1,r.value=[],k.value=!0,m.value=!1,b())}function I(t){_.value.online=t,y.value=!1,O.then(e=>{e.send({type:"online",data:{online:t}})})}function A(){ue().then(t=>{_.value=t.data,window.document.title=`${t.data.site_name} - 消息列表`})}function b(){!k.value||m.value||(m.value=!0,re({nickname:w.value,page:h.value,limit:B.value,is_end:d.value}).then(t=>{m.value=!1,k.value=t.data.length>=B.value,r.value=r.value.concat(t.data),h.value++}).catch(()=>{m.value=!1}))}function K(){se({title:"退出登录确认",message:"您确定退出登录当前账户吗?打开的标签页和个人设置将会保存。",showCancelButton:!0,cancelButtonText:"取消",confirmButtonText:"确定",iconClass:"el-icon-warning",confirmButtonClass:"btn-custom-cancel"}).then(()=>{z.logoutKefu({confirm:!1})}).catch(()=>{})}function F(t){h.value=1,r.value=[],k.value=!0,m.value=!1,b()}function J(t){L.push({path:"mobile_chat",query:{toUid:t.to_uid,nickname:t.nickname,is_tourist:t.is_tourist==1?1:0}})}function q(t){const e=t.target;e.scrollTop+e.clientHeight>=e.scrollHeight-10&&b()}return(t,e)=>{const l=te("el-input"),f=N("lazy"),i=N("db-click");return n(),a("div",ve,[o("div",_e,[o("div",fe,[o("div",pe,[v(o("img",{onError:E},null,544),[[f,_.value.avatar]]),v((n(),a("div",{class:"info",onClick:e[0]||(e[0]=s=>y.value=!y.value)},[o("div",null,p(_.value.nickname),1),o("div",me,[o("span",{class:S(["doc",{off:!_.value.online}])},null,2),o("span",null,p(_.value.online?"在线":"离线"),1)])])),[[i]]),v(o("div",ge,[v((n(),a("div",{class:"item",onClick:e[1]||(e[1]=s=>I(1))},[e[4]||(e[4]=o("span",{class:"dot green"},null,-1)),e[5]||(e[5]=x("在线 ",-1)),_.value.online?(n(),a("span",he)):u("",!0)])),[[i]]),v((n(),a("div",{class:"item",onClick:e[2]||(e[2]=s=>I(0))},[e[6]||(e[6]=o("span",{class:"dot"},null,-1)),e[7]||(e[7]=x("离线 ",-1)),_.value.online?u("",!0):(n(),a("span",ke))])),[[i]])],512),[[Q,y.value]])]),v((n(),a("div",{class:"right-wrapper",onClick:K},[...e[8]||(e[8]=[o("div",{class:"icon-box"},[o("span",{class:"iconfont icontuichu"})],-1),o("div",{style:{"margin-left":"5px"}},"退出登录",-1)])])),[[i]])]),o("div",ye,[(n(!0),a(V,null,D(P.value,(s,g)=>v((n(),a("div",{class:S(["tab-item",{on:d.value==s.key}]),key:g,onClick:C=>j(s)},[x(p(s.title),1)],10,be)),[[i]])),128))]),o("div",Se,[X(l,{modelValue:w.value,"onUpdate:modelValue":e[3]||(e[3]=s=>w.value=s),placeholder:"搜索用户名称",onChange:F},null,8,["modelValue"])])]),r.value.length>0?(n(),a("div",we,[o("div",{class:"list-scroll",onScroll:q},[(n(!0),a(V,null,D(r.value,(s,g)=>v((n(),a("div",{class:"item",key:g,onClick:C=>J(s)},[o("div",xe,[o("div",Le,[v(o("img",{onError:E},null,544),[[f,s.wx_avatar||s.avatar]]),o("div",{class:S(["online",{on:s.online}])},null,2)]),o("div",Be,[o("div",$e,[o("span",Ee,p(s.nickname),1),o("span",{class:S(["label source",s.is_tourist==1?"tourist":"user-tag"])},p(s.is_tourist==1?"游客":"用户"),3),s.type==2?(n(),a("span",Ie,"小程序")):u("",!0),s.type==3?(n(),a("span",Ve,"H5")):u("",!0),s.type==1?(n(),a("span",De,"公众号")):u("",!0),s.type==0?(n(),a("span",Ne,"PC端")):u("",!0)]),s.message_type==1?(n(),a("div",He,p(s.message),1)):u("",!0),s.message_type==2?(n(),a("div",Me,"[表情]")):u("",!0),s.message_type==3?(n(),a("div",Oe,"[图片]")):u("",!0),s.message_type==5?(n(),a("div",Te,"[商品]")):u("",!0),s.message_type==6?(n(),a("div",ze,"[订单]")):u("",!0)])]),o("div",Pe,[o("div",Ue,p(U(s.update_time)),1),d.value===0&&s.mssage_num>0?(n(),a("span",Ye,p(s.mssage_num),1)):u("",!0)])],8,Ce)),[[i]])),128))],32)])):(n(),Z(ee(ce),{key:1,status:"3",msg:d.value?"暂无结束会话":"暂无会话"},null,8,["msg"]))])}}}),es=ne(je,[["__scopeId","data-v-d18d5f13"]]);export{es as default};