Files
Nexus/web/app/assets/AuditPage-DeLO9C3F.js
T
Nexus Agent fe8b24ca0b fix(notify): 资源恢复 Telegram 联动 CPU/内存/磁盘开关
关闭分项告警后不再推送对应恢复消息;仪表盘移除服务器列表并更新设置页说明。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 13:22:38 +08:00

1 line
4.5 KiB
JavaScript

import{n as e,t}from"./useSnackbar-knhbsEw2.js";import{$r as n,Br as r,Jt as i,P as a,Tt as o,_ as s,_r as c,fr as l,jr as u,mr as d,pr as f,qr as p,ri as m,sr as h,vr as g,y as _,yr as v}from"./index-B-6ti5uq.js";import{t as y}from"./usePageActivateRefresh-C5hQgakB.js";import{n as b}from"./dataTable-esDY4cOk.js";import{r as x,t as S}from"./VCard-DG7tl1W3.js";import{t as C}from"./VSelect-aldIHHnJ.js";import{t as w}from"./VTextField-zCSFfS1g.js";import{t as T}from"./VDataTableServer-CjBqC_8R.js";import{a as E,n as D,r as O,t as k}from"./auditNormalize-DWYIxo0q.js";var A=new Set([`batch_install_agent`,`batch_upgrade_agent`,`batch_uninstall_agent`,`batch_detect_path`,`batch_health_check`,`batch_update_category`,`batch_server_op`]);function j(e){return A.has(e)}function M(e){let t=(e||``).trim();if(!t.startsWith(`{`))return null;try{let e=JSON.parse(t);return typeof e.job_id!=`number`||!e.summary?null:e}catch{return null}}function N(e){let t=[e.summary],n=e.failures||[];if(n.length){let e=n.slice(0,3).map(e=>e.server_name).join(`、`);t.push(`失败: ${e}${n.length>3?`…`:``}`)}return t.join(` · `)}var P={class:`font-weight-medium`},F={class:`text-body-2`},I={class:`d-flex align-center ga-2 flex-wrap`},L={class:`text-body-2 text-medium-emphasis`,style:{"max-width":`360px`}},R={class:`text-caption text-medium-emphasis`},z={class:`text-caption text-medium-emphasis`},B=v({name:`AuditPage`,__name:`AuditPage`,setup(v){let A=t(),B=p(!1),V=p([]),H=p(0),U=p(1),W=p(null),G=p(``),K=p(``),q=D,J=b([{title:`操作`,key:`action`,width:100},{title:`用户`,key:`admin_username`,width:100},{title:`目标`,key:`target`,width:140},{title:`详情`,key:`detail`},{title:`IP`,key:`ip_address`,width:120},{title:`时间`,key:`created_at`,width:160}]);async function Y(e=!1){e||(B.value=!0);try{let e=(U.value-1)*50,t=await i.get(`/audit/`,{limit:50,offset:e,action:W.value||void 0,admin_username:G.value||void 0,date_from:K.value||void 0});V.value=k(t.items||[]),H.value=t.total||0}catch{V.value=[],e||A(`加载审计日志失败`,`error`)}finally{e||(B.value=!1)}}function X(e){return e.startsWith(`create`)||e===`login`?`success`:e.startsWith(`update`)?`info`:e.startsWith(`delete`)||e===`logout`?`error`:e.includes(`execute`)||e.includes(`push`)||e.includes(`retry`)?`warning`:`primary`}function Z(e){return j(e.action)?M(e.detail):null}function Q(e){let t=Z(e);return t?N(t):(e.detail||``).trim()||`—`}function $(e){o(e.job_id,e.summary)}return y(e=>Y(e)),(t,i)=>(u(),f(e,{fluid:``,class:`pa-6`},{default:r(()=>[g(S,{elevation:`0`,border:``,rounded:`lg`},{default:r(()=>[g(x,{class:`d-flex align-center`},{default:r(()=>[i[7]||=c(` 审计日志 `,-1),g(s),g(C,{modelValue:W.value,"onUpdate:modelValue":[i[0]||=e=>W.value=e,i[1]||=e=>{U.value=1,Y()}],items:n(q),"item-title":`label`,"item-value":`value`,label:`操作类型`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`200px`},clearable:``},null,8,[`modelValue`,`items`]),g(w,{modelValue:G.value,"onUpdate:modelValue":[i[2]||=e=>G.value=e,i[3]||=e=>{U.value=1,Y()}],"prepend-inner-icon":`mdi-account`,label:`用户`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`140px`},class:`ml-3`,clearable:``},null,8,[`modelValue`]),g(w,{modelValue:K.value,"onUpdate:modelValue":[i[4]||=e=>K.value=e,i[5]||=e=>{U.value=1,Y()}],"prepend-inner-icon":`mdi-calendar`,label:`日期`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`160px`},class:`ml-3`,type:`date`,clearable:``},null,8,[`modelValue`])]),_:1}),g(T,{items:V.value,headers:n(J),"items-length":H.value,loading:B.value,page:U.value,"items-per-page":50,hover:``,density:`compact`,"onUpdate:page":i[6]||=e=>{U.value=e,Y()}},{"item.action":r(({item:e})=>[g(_,{color:X(e.action),size:`small`,variant:`tonal`,label:``},{default:r(()=>[c(m(n(O)(e.action)),1)]),_:2},1032,[`color`])]),"item.admin_username":r(({item:e})=>[l(`span`,P,m(e.admin_username),1)]),"item.target":r(({item:e})=>[l(`span`,F,m(n(E)(e.resource_type))+m(e.resource_id?` #${e.resource_id}`:``),1)]),"item.detail":r(({item:e})=>[l(`div`,I,[l(`span`,L,m(Q(e)),1),Z(e)?(u(),f(a,{key:0,size:`x-small`,variant:`tonal`,color:`primary`,onClick:h(t=>$(Z(e)),[`stop`])},{default:r(()=>[...i[8]||=[c(` 查看结果 `,-1)]]),_:1},8,[`onClick`])):d(``,!0)])]),"item.ip_address":r(({item:e})=>[l(`span`,R,m(e.ip_address||`—`),1)]),"item.created_at":r(({item:e})=>[l(`span`,z,m(e.created_at),1)]),"no-data":r(()=>[...i[9]||=[l(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1})]),_:1}))}});export{B as default};