Files
kefu/deploy/archive-performance-fix/admin-web/apps/web-antd/dist/js/conversations-C5MRupuU.js
T
2026-09-21 10:34:06 +08:00

1 line
7.6 KiB
JavaScript

import{D as e,E as t,On as n,_ as r,b as i,bt as a,k as o,mt as s,o as c,qt as l,tr as u,v as d,vn as f,y as p}from"./runtime-core.esm-bundler-DkysjgTd.js";import{n as m}from"./objectWithoutProperties-BjoYlK0I.js";import{a as h}from"./useConfigInject-DomGmy3z.js";import{t as g}from"./table-CW2r6lPL.js";import{O as _}from"./console-P4IB8M9e.js";import{t as ee}from"./image-BF6RXi5B.js";import{t as te}from"./drawer-CYBOEueM.js";import{t as v}from"./button-BmeX6K_E.js";import{t as y}from"./tag-EV85tNJT.js";import{l as ne,o as b,t as x,u as re}from"./use-archive-load-IFGFIhoZ.js";import{t as ie}from"./archive-account-selector-CG1fjypa.js";var S={class:`p-5`},ae={class:`flex items-center gap-2`},C={class:`font-medium`},w={class:`max-w-[420px] truncate text-xs text-gray-400`},T={class:`mt-4 flex items-center justify-center gap-3`},E={class:`mb-1 flex items-center justify-between text-xs text-gray-400`},D={class:`mr-2 text-gray-600`},O={class:`whitespace-pre-wrap break-words text-sm`},oe={key:0,class:`mt-3 space-y-3`},se=[`src`],ce=[`src`],le={class:`mt-2 flex flex-wrap items-center gap-2 text-xs text-gray-500`},ue=[`title`],de=[`href`],fe={class:`mt-3 flex items-center justify-center gap-3`},k=o({__name:`conversations`,setup(o){let k=x(),A=k.loading,j=x(),M=j.loading,N=f([]),P=f(0),F=[``],I=f(!1),L=f(null),R=f([]),z=f(0),B=[``],V=f(!1),H=f({}),U=f(0);function pe(e){if(!Number.isFinite(e)||e<=0)return`未知大小`;let t=[`B`,`KB`,`MB`,`GB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n>=10||r===0?n.toFixed(0):n.toFixed(1)} ${t[r]}`}function W(e){let t=new Date(e);if(Number.isNaN(t.getTime()))return e||`-`;let n=new Intl.DateTimeFormat(`zh-CN`,{day:`2-digit`,hour:`2-digit`,hourCycle:`h23`,minute:`2-digit`,month:`2-digit`,second:`2-digit`,timeZone:`Asia/Shanghai`,year:`numeric`}).formatToParts(t),r=Object.fromEntries(n.map(e=>[e.type,e.value]));return`${r.year}-${r.month}-${r.day} ${r.hour}:${r.minute}:${r.second}`}function G(e){return![`audio/amr`,`audio/silk`].includes(String(e).toLowerCase())}function me(e){return{source_not_cached:`源文件未缓存,请先在企业微信中下载`,upload_failed:`上传失败,下次启动将自动重试`}[e]||e}function K(e,t,n){return q.apply(this,arguments)}function q(){return q=m(function*(e,t,n){let r=[...new Set(e.flatMap(e=>(e.attachments||[]).filter(e=>e.status===`ready`).map(e=>e.id)))],i={};for(let e=0;e<r.length&&!n.aborted;e+=200)try{let a=yield ne(r.slice(e,e+200),900,t,n);Object.assign(i,Object.fromEntries(a.items.map(e=>[e.id,e.url])))}catch(e){}return i}),q.apply(this,arguments)}function J(){return Y.apply(this,arguments)}function Y(){return Y=m(function*(e=!0,t=0){e&&(F=[``],N.value=[],P.value=0,I.value=!1),yield k.run(e=>b(50,F[t]||``,U.value,e),e=>{N.value=e.items,P.value=t,F[t+1]=e.next_cursor,I.value=e.has_more})}),Y.apply(this,arguments)}function X(){j.cancel(),L.value=null,R.value=[],H.value={},V.value=!1}function he(e){return Z.apply(this,arguments)}function Z(){return Z=m(function*(e){X(),L.value=e,B=[``],z.value=0,yield Q(0)}),Z.apply(this,arguments)}function Q(){return $.apply(this,arguments)}function $(){return $=m(function*(e=0){let t=L.value;if(!t)return;let n=U.value;yield j.run(function(){var r=m(function*(r){let i=yield re(t.id,100,B[e]||``,n,r);return{data:i,urls:yield K(i.items,n,r)}});return function(e){return r.apply(this,arguments)}}(),({data:t,urls:n})=>{R.value=t.items,z.value=e,B[e+1]=t.next_cursor,V.value=t.has_more,H.value=n})}),$.apply(this,arguments)}let ge={application:`应用会话`,direct_wechat:`微信单聊`,direct_wecom:`企微单聊`,group:`群聊`,service:`客服会话`,unknown:`未知`};return(o,f)=>{var m;return s(),i(`div`,S,[e(n(_),{title:`会话与消息`},{extra:l(()=>[r(`div`,ae,[e(ie,{modelValue:U.value,"onUpdate:modelValue":f[0]||(f[0]=e=>U.value=e),onChange:f[1]||(f[1]=()=>{X(),J(!0)})},null,8,[`modelValue`]),e(n(v),{loading:n(A),onClick:f[2]||(f[2]=e=>J(!0))},{default:l(()=>[...f[7]||(f[7]=[t(`刷新`,-1)])]),_:1},8,[`loading`])])]),default:l(()=>[f[11]||(f[11]=r(`p`,{class:`mb-3 text-sm text-gray-500`},` 每页显示 50 个会话;打开会话后按时间顺序分页查看消息。 `,-1)),e(n(g),{"data-source":N.value,loading:n(A),"row-key":`id`,size:`small`,pagination:!1,columns:[{title:`会话`,dataIndex:`name`,key:`name`},{title:`类型`,dataIndex:`conversation_type`,key:`conversation_type`,width:120},{title:`归档账号`,dataIndex:`source_account`,key:`source_account`,width:150},{title:`消息数`,dataIndex:`message_count`,key:`message_count`,width:90},{title:`最后消息时间`,dataIndex:`last_message_at`,key:`last_message_at`,width:210},{title:`操作`,key:`action`,width:90}]},{bodyCell:l(({column:e,record:a})=>[e.key===`name`?(s(),i(c,{key:0},[r(`div`,C,u(a.name),1),r(`div`,w,u(a.last_content),1)],64)):e.key===`conversation_type`?(s(),d(n(y),{key:1},{default:l(()=>[t(u(ge[a.conversation_type]||a.conversation_type),1)]),_:2},1024)):e.key===`last_message_at`?(s(),i(c,{key:2},[t(u(W(a.last_message_at)),1)],64)):e.key===`action`?(s(),d(n(v),{key:3,type:`link`,size:`small`,onClick:e=>he(a)},{default:l(()=>[...f[8]||(f[8]=[t(`查看`,-1)])]),_:1},8,[`onClick`])):p(``,!0)]),_:1},8,[`data-source`,`loading`]),r(`div`,T,[e(n(v),{disabled:P.value===0||n(A),onClick:f[3]||(f[3]=e=>J(!1,P.value-1))},{default:l(()=>[...f[9]||(f[9]=[t(`上一页`,-1)])]),_:1},8,[`disabled`]),r(`span`,null,`第 `+u(P.value+1)+` 页`,1),e(n(v),{disabled:!I.value||n(A),onClick:f[4]||(f[4]=e=>J(!1,P.value+1))},{default:l(()=>[...f[10]||(f[10]=[t(`下一页`,-1)])]),_:1},8,[`disabled`])])]),_:1}),e(n(te),{open:!!L.value,title:(m=L.value)==null?void 0:m.name,width:`860`,onClose:X},{default:l(()=>[!n(M)&&!R.value.length?(s(),d(n(h),{key:0,description:`暂无消息`})):p(``,!0),(s(!0),i(c,null,a(R.value,o=>{var f;return s(),i(`div`,{key:o.id,class:`mb-3 border-b border-gray-100 pb-3`},[r(`div`,E,[r(`span`,null,[r(`strong`,D,u(o.sender_name||`未知发送者`),1),t(` `+u(o.message_type)+` `,1),o.attachment_count?(s(),d(n(y),{key:0,class:`ml-2`},{default:l(()=>[t(u(o.attachment_count)+` 个素材`,1)]),_:2},1024)):p(``,!0)]),r(`span`,null,u(W(o.sent_at)),1)]),r(`div`,O,u(o.content||`(非文本消息)`),1),(f=o.attachments)!=null&&f.length?(s(),i(`div`,oe,[(s(!0),i(c,null,a(o.attachments,a=>(s(),i(`div`,{key:a.id,class:`rounded-md border border-gray-200 bg-gray-50 p-3`},[a.media_type===`image`&&H.value[a.id]?(s(),d(n(ee),{key:0,src:H.value[a.id],alt:a.original_filename,preview:!0,width:260},null,8,[`src`,`alt`])):a.media_type===`video`&&H.value[a.id]?(s(),i(`video`,{key:1,class:`max-h-[420px] max-w-full rounded bg-black`,controls:``,preload:`none`,src:H.value[a.id]},null,8,se)):a.media_type===`audio`&&G(a.mime_type)&&H.value[a.id]?(s(),i(`audio`,{key:2,class:`w-full`,controls:``,preload:`none`,src:H.value[a.id]},null,8,ce)):p(``,!0),r(`div`,le,[e(n(y),null,{default:l(()=>[t(u(a.media_type),1)]),_:2},1024),r(`span`,{class:`max-w-[460px] truncate`,title:a.original_filename},u(a.original_filename||`未命名素材`),9,ue),r(`span`,null,u(pe(a.size_bytes)),1),a.status===`ready`?p(``,!0):(s(),d(n(y),{key:0,color:`warning`},{default:l(()=>[t(u(me(a.status)),1)]),_:2},1024)),H.value[a.id]?(s(),i(`a`,{key:1,href:H.value[a.id],target:`_blank`,rel:`noopener noreferrer`},u(a.media_type===`file`||!G(a.mime_type)?`下载附件`:`查看原文件`),9,de)):p(``,!0)])]))),128))])):p(``,!0)])}),128)),r(`div`,fe,[e(n(v),{disabled:z.value===0||n(M),onClick:f[5]||(f[5]=e=>Q(z.value-1))},{default:l(()=>[...f[12]||(f[12]=[t(`上一页`,-1)])]),_:1},8,[`disabled`]),r(`span`,null,`第 `+u(z.value+1)+` 页 · 每页 100 条`,1),e(n(v),{disabled:!V.value||n(M),onClick:f[6]||(f[6]=e=>Q(z.value+1))},{default:l(()=>[...f[13]||(f[13]=[t(`下一页`,-1)])]),_:1},8,[`disabled`])])]),_:1},8,[`open`,`title`])])}}});export{k as default};