Files
kefu/deploy/ark-chat-config-20260917/payload/admin-web/apps/web-antd/dist/js/conversations-B3kHiByx.js
T
2026-09-21 10:34:06 +08:00

1 line
7.7 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-z_xeO0pP.js";import{t as g}from"./table-EWhwMmEC.js";import{t as ee}from"./image-I8Dw4v_6.js";import"./console-CQVAqHCG.js";import{t as te}from"./drawer-CUkdSsdG.js";import{t as _}from"./button-B2y2NpJm.js";import{t as v}from"./card-ZuLu6CvW.js";import{t as y}from"./tag-BFecLZmQ.js";import{a as b,c as x,l as ne}from"./archive-CtN8mksn.js";import{t as re}from"./archive-account-selector-CnQ_KU9I.js";import{t as S}from"./use-archive-load-BINKTMOh.js";var C={class:`p-5`},w={class:`flex items-center gap-2`},T={class:`font-medium`},E={class:`max-w-[420px] truncate text-xs text-gray-400`},D={class:`mt-4 flex items-center justify-center gap-3`},O={class:`mb-1 flex items-center justify-between text-xs text-gray-400`},ie={class:`mr-2 text-gray-600`},ae={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`],k={class:`mt-3 flex items-center justify-center gap-3`},A=o({__name:`conversations`,setup(o){let A=S(),j=A.loading,M=S(),N=M.loading,P=f([]),F=f(0),I=[``],L=f(!1),R=f(null),z=f([]),B=f(0),V=[``],H=f(!1),U=f({}),W=f(-1);function fe(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 G(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 K(e){return![`audio/amr`,`audio/silk`].includes(String(e).toLowerCase())}function pe(e){return{source_not_cached:`源文件未缓存,请先在企业微信中下载`,upload_failed:`上传失败,下次启动将自动重试`}[e]||e}function me(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 x(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&&(I=[``],P.value=[],F.value=0,L.value=!1),yield A.run(e=>b(50,I[t]||``,W.value,e),e=>{P.value=e.items,F.value=t,I[t+1]=e.next_cursor,L.value=e.has_more})}),Y.apply(this,arguments)}function X(){M.cancel(),R.value=null,z.value=[],U.value={},H.value=!1}function he(e){return Z.apply(this,arguments)}function Z(){return Z=m(function*(e){X(),R.value=e,V=[``],B.value=0,yield Q(0)}),Z.apply(this,arguments)}function Q(){return $.apply(this,arguments)}function $(){return $=m(function*(e=0){let t=R.value;if(!t)return;let n=W.value;yield M.run(function(){var r=m(function*(r){let i=yield ne(t.id,100,V[e]||``,n,r);return{data:i,urls:yield me(i.items,n,r)}});return function(e){return r.apply(this,arguments)}}(),({data:t,urls:n})=>{z.value=t.items,B.value=e,V[e+1]=t.next_cursor,H.value=t.has_more,U.value=n})}),$.apply(this,arguments)}let ge={application:`应用会话`,direct_wechat:`微信单聊`,direct_wecom:`企微单聊`,group:`群聊`,service:`客服会话`,unknown:`未知`};return(o,f)=>{var m;return s(),i(`div`,C,[e(n(v),{title:`会话与消息`},{extra:l(()=>[r(`div`,w,[e(re,{modelValue:W.value,"onUpdate:modelValue":f[0]||(f[0]=e=>W.value=e),onChange:f[1]||(f[1]=()=>{X(),J(!0)})},null,8,[`modelValue`]),e(n(_),{loading:n(j),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":P.value,loading:n(j),"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`,T,u(a.name),1),r(`div`,E,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(G(a.last_message_at)),1)],64)):e.key===`action`?(s(),d(n(_),{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`,D,[e(n(_),{disabled:F.value===0||n(j),onClick:f[3]||(f[3]=e=>J(!1,F.value-1))},{default:l(()=>[...f[9]||(f[9]=[t(`上一页`,-1)])]),_:1},8,[`disabled`]),r(`span`,null,`第 `+u(F.value+1)+` 页`,1),e(n(_),{disabled:!L.value||n(j),onClick:f[4]||(f[4]=e=>J(!1,F.value+1))},{default:l(()=>[...f[10]||(f[10]=[t(`下一页`,-1)])]),_:1},8,[`disabled`])])]),_:1}),e(n(te),{open:!!R.value,title:(m=R.value)==null?void 0:m.name,width:`860`,onClose:X},{default:l(()=>[!n(N)&&!z.value.length?(s(),d(n(h),{key:0,description:`暂无消息`})):p(``,!0),(s(!0),i(c,null,a(z.value,o=>{var f;return s(),i(`div`,{key:o.id,class:`mb-3 border-b border-gray-100 pb-3`},[r(`div`,O,[r(`span`,null,[r(`strong`,ie,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(G(o.sent_at)),1)]),r(`div`,ae,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`&&U.value[a.id]?(s(),d(n(ee),{key:0,src:U.value[a.id],alt:a.original_filename,preview:!0,width:260},null,8,[`src`,`alt`])):a.media_type===`video`&&U.value[a.id]?(s(),i(`video`,{key:1,class:`max-h-[420px] max-w-full rounded bg-black`,controls:``,preload:`none`,src:U.value[a.id]},null,8,se)):a.media_type===`audio`&&K(a.mime_type)&&U.value[a.id]?(s(),i(`audio`,{key:2,class:`w-full`,controls:``,preload:`none`,src:U.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(fe(a.size_bytes)),1),a.status===`ready`?p(``,!0):(s(),d(n(y),{key:0,color:`warning`},{default:l(()=>[t(u(pe(a.status)),1)]),_:2},1024)),U.value[a.id]?(s(),i(`a`,{key:1,href:U.value[a.id],target:`_blank`,rel:`noopener noreferrer`},u(a.media_type===`file`||!K(a.mime_type)?`下载附件`:`查看原文件`),9,de)):p(``,!0)])]))),128))])):p(``,!0)])}),128)),r(`div`,k,[e(n(_),{disabled:B.value===0||n(N),onClick:f[5]||(f[5]=e=>Q(B.value-1))},{default:l(()=>[...f[12]||(f[12]=[t(`上一页`,-1)])]),_:1},8,[`disabled`]),r(`span`,null,`第 `+u(B.value+1)+` 页 · 每页 100 条`,1),e(n(_),{disabled:!H.value||n(N),onClick:f[6]||(f[6]=e=>Q(B.value+1))},{default:l(()=>[...f[13]||(f[13]=[t(`下一页`,-1)])]),_:1},8,[`disabled`])])]),_:1},8,[`open`,`title`])])}}});export{A as default};