| 1 |
- import{C as e,D as t,G as n,H as r,K as i,Q as a,U as o,V as s,W as c,X as l,it as u,k as d,m as f,ot as p,q as m,st as h,tt as g,ut as _,z as v}from"./vue-router-DiegbtGD.js";import{t as y}from"./AppLayout-r9BI5ihT.js";import{t as b}from"./helpers-B5dMFDUW.js";var x={style:{margin:`0`,"white-space":`pre-wrap`,"word-break":`break-all`,"max-height":`400px`,overflow:`auto`}},S=m({__name:`Messages`,setup(m){let S=p(!1),C=p([]),w=p({clientid:``,topic:``}),T=p({current:1,pageSize:20,total:0}),E=p(!1),D=p(null),O=[{title:`客户端ID`,dataIndex:`clientid`,key:`clientid`,width:160,ellipsis:!0},{title:`主题`,dataIndex:`topic`,key:`topic`,width:200,ellipsis:!0},{title:`QoS`,key:`qos`,width:60},{title:`载荷`,key:`payload`,width:300},{title:`时间`,key:`message_time`,width:160},{title:`操作`,key:`actions`,width:80}],k=async(e=1)=>{S.value=!0;try{let t={page:e,limit:T.value.pageSize};w.value.clientid&&(t.clientid=w.value.clientid),w.value.topic&&(t.topic=w.value.topic);let n=await f.getMessages(t);n.success?(C.value=n.data||[],T.value.total=n.pagination?.total||0):d.error(n.message||`加载消息列表失败`)}catch(e){console.error(`加载消息列表失败:`,e);let t=e?.message||e?.error||`加载消息列表失败,请稍后重试`;d.error(t),C.value=[],T.value.total=0}finally{S.value=!1}},A=e=>{T.value.current=e,k(e)},j=e=>{D.value=e,E.value=!0},M=e=>{try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}};return l(()=>k()),(l,d)=>{let f=g(`a-input-search`),p=g(`a-button`),m=g(`a-space`),N=g(`a-tag`),P=g(`a-typography-paragraph`),F=g(`a-table`),I=g(`a-card`),L=g(`a-descriptions-item`),R=g(`a-descriptions`),z=g(`a-modal`);return a(),r(y,null,{default:u(()=>[s(`div`,null,[i(I,{title:`消息管理`},{extra:u(()=>[i(m,null,{default:u(()=>[i(f,{value:w.value.clientid,"onUpdate:value":d[0]||=e=>w.value.clientid=e,placeholder:`搜索客户端ID`,style:{width:`180px`},onSearch:k},null,8,[`value`]),i(f,{value:w.value.topic,"onUpdate:value":d[1]||=e=>w.value.topic=e,placeholder:`搜索主题`,style:{width:`180px`},onSearch:k},null,8,[`value`]),i(p,{onClick:k},{default:u(()=>[i(h(e)),d[3]||=n(`刷新`,-1)]),_:1})]),_:1})]),default:u(()=>[i(F,{dataSource:C.value,columns:O,loading:S.value,pagination:{current:T.value.current,pageSize:T.value.pageSize,total:T.value.total,showSizeChanger:!0,onChange:A},"row-key":`id`,scroll:{x:1200}},{bodyCell:u(({column:e,record:s})=>[e.key===`qos`?(a(),r(N,{key:0},{default:u(()=>[n(_(s.qos),1)]),_:2},1024)):o(``,!0),e.key===`message_time`?(a(),c(v,{key:1},[n(_(h(b)(s.message_time)),1)],64)):o(``,!0),e.key===`payload`?(a(),r(P,{key:2,copyable:!0,ellipsis:!0,content:s.payload,style:{margin:`0`,"max-width":`300px`}},null,8,[`content`])):o(``,!0),e.key===`actions`?(a(),r(p,{key:3,type:`link`,size:`small`,onClick:e=>j(s)},{default:u(()=>[i(h(t)),d[4]||=n(`详情`,-1)]),_:1},8,[`onClick`])):o(``,!0)]),_:1},8,[`dataSource`,`loading`,`pagination`])]),_:1}),i(z,{open:E.value,"onUpdate:open":d[2]||=e=>E.value=e,title:`消息详情`,footer:null,width:`700px`},{default:u(()=>[D.value?(a(),r(R,{key:0,bordered:``,column:1,size:`small`},{default:u(()=>[i(L,{label:`消息ID`},{default:u(()=>[n(_(D.value.id),1)]),_:1}),i(L,{label:`客户端ID`},{default:u(()=>[n(_(D.value.clientid),1)]),_:1}),i(L,{label:`主题`},{default:u(()=>[n(_(D.value.topic),1)]),_:1}),i(L,{label:`QoS`},{default:u(()=>[n(_(D.value.qos),1)]),_:1}),i(L,{label:`时间`},{default:u(()=>[n(_(h(b)(D.value.message_time)),1)]),_:1}),i(L,{label:`载荷`},{default:u(()=>[s(`pre`,x,_(M(D.value.payload)),1)]),_:1})]),_:1})):o(``,!0)]),_:1},8,[`open`])])]),_:1})}}});export{S as default};
|