0b2d7ac50d
脚本 exec 立即返回 running 并在后台跑批次;/ws/alerts 推送 script_progress/complete; 新增 ScriptRunsPage、Telegram 汇总通知与可配置的浏览器完成提示音。 Co-authored-by: Cursor <cursoragent@cursor.com>
1 line
3.6 KiB
JavaScript
1 line
3.6 KiB
JavaScript
import{Er as e,F as t,N as n,Nr as r,Ur as i,_r as a,ar as o,er as s,hr as c,or as l,sr as u,t as d,tr as f,zr as p,zt as m}from"./index-CITYCKPt.js";import{o as h,t as g}from"./VContainer-D3j80qYo.js";import{n as _}from"./dataTable-esDY4cOk.js";import{t as v}from"./VChip-BZLbsGAB.js";import{t as y}from"./VSelect-BjOTKQYN.js";import{t as b}from"./VDataTableServer-COy02vU2.js";import{t as x}from"./VSpacer-D1z4iYRg.js";import{a as S,n as C,r as w,t as T}from"./auditNormalize-bmSA0RyN.js";var E={class:`font-weight-medium`},D={class:`text-body-2`},O={class:`text-body-2 text-medium-emphasis text-truncate`,style:{"max-width":`300px`,display:`inline-block`}},k={class:`text-caption text-medium-emphasis`},A={class:`text-caption text-medium-emphasis`},j=u({__name:`AuditPage`,setup(u){let j=h(),M=r(!1),N=r([]),P=r(0),F=r(1),I=r(null),L=r(``),R=r(``),z=C,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 V(){M.value=!0;try{let e=(F.value-1)*50,t=await m.get(`/audit/`,{limit:50,offset:e,action:I.value||void 0,admin_username:L.value||void 0,date_from:R.value||void 0});N.value=T(t.items||[]),P.value=t.total||0}catch{N.value=[],j(`加载审计日志失败`,`error`)}finally{M.value=!1}}function H(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`}return c(()=>V()),(r,c)=>(a(),f(g,{fluid:``,class:`pa-6`},{default:e(()=>[l(n,{elevation:`0`,border:``,rounded:`lg`},{default:e(()=>[l(t,{class:`d-flex align-center`},{default:e(()=>[c[7]||=o(` 审计日志 `,-1),l(x),l(y,{modelValue:I.value,"onUpdate:modelValue":[c[0]||=e=>I.value=e,c[1]||=e=>{F.value=1,V()}],items:p(z),"item-title":`label`,"item-value":`value`,label:`操作类型`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`200px`},clearable:``},null,8,[`modelValue`,`items`]),l(d,{modelValue:L.value,"onUpdate:modelValue":[c[2]||=e=>L.value=e,c[3]||=e=>{F.value=1,V()}],"prepend-inner-icon":`mdi-account`,label:`用户`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`140px`},class:`ml-3`,clearable:``},null,8,[`modelValue`]),l(d,{modelValue:R.value,"onUpdate:modelValue":[c[4]||=e=>R.value=e,c[5]||=e=>{F.value=1,V()}],"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}),l(b,{items:N.value,headers:p(B),"items-length":P.value,loading:M.value,page:F.value,"items-per-page":50,hover:``,density:`compact`,"onUpdate:page":c[6]||=e=>{F.value=e,V()}},{"item.action":e(({item:t})=>[l(v,{color:H(t.action),size:`small`,variant:`tonal`,label:``},{default:e(()=>[o(i(p(w)(t.action)),1)]),_:2},1032,[`color`])]),"item.admin_username":e(({item:e})=>[s(`span`,E,i(e.admin_username),1)]),"item.target":e(({item:e})=>[s(`span`,D,i(p(S)(e.resource_type))+i(e.resource_id?` #${e.resource_id}`:``),1)]),"item.detail":e(({item:e})=>[s(`span`,O,i(e.detail||`—`),1)]),"item.ip_address":e(({item:e})=>[s(`span`,k,i(e.ip_address||`—`),1)]),"item.created_at":e(({item:e})=>[s(`span`,A,i(e.created_at),1)]),"no-data":e(()=>[...c[8]||=[s(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1})]),_:1}))}});export{j as default}; |