import{r as c,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{C as q,a as P}from"./card-CdN7vcLa.js";import{f as K,B as x}from"./index-lgmWPQDG.js";import{I as H}from"./input-DBDfXZx0.js";import{B as b}from"./badge-Ca5YHtna.js";import{T as Q,a as U,b as O,c as p,d as X,e as n}from"./table-DX6kWYMC.js";import{a as m}from"./audit-CuR-qVu6.js";import{u as $,q as G,a as J,b as V}from"./unwrap-D5KlViZc.js";import{S as v,R as W,v as Y,x as Z,X as f}from"./vendor-icons-BlY7QrxS.js";function ee(s={page:1,page_size:50}){return $({queryKey:G.auditLogs(s),queryFn:async()=>{const a=await m.getLogs(s);return{list:V(a),total:J(a)}},staleTime:2e4})}function se(s){return{id:String(s.id??""),userId:String(s.user_id??s.userId??""),username:s.username??"",module:s.module??s.resource??"",action:s.action??"",resource:s.resource??"",ip:s.ip??"",userAgent:s.user_agent??s.userAgent??"",result:s.result==="failure"?"failure":"success",message:s.message??s.detail??"",createdAt:s.createdAt??s.created_at??""}}function be(){K();const[s,a]=c.useState(""),[i,r]=c.useState(""),[d,u]=c.useState(""),N=c.useMemo(()=>({page:1,page_size:100,...i?{module:i}:{},...d?{action:d}:{}}),[i,d]),{data:g,isLoading:y,refetch:w}=ee(N),C=c.useMemo(()=>(g?.list||[]).map(t=>se(t)),[g]),[S,L]=c.useState([]),[k,_]=c.useState([]),[D,A]=c.useState(null),[I,z]=c.useState(!1),[R,re]=c.useState(null),[B,ce]=c.useState(!1),j=c.useCallback(async()=>{try{const[t,l]=await Promise.all([m.getModules(),m.getActions()]);L(t?.list??t??[]),_(l?.list??l??[])}catch{}},[]);c.useEffect(()=>{j()},[j]);const T=C.filter(t=>{const l=s.toLowerCase();return!l||t.username.toLowerCase().includes(l)||t.module.toLowerCase().includes(l)||t.action.toLowerCase().includes(l)||t.resource.toLowerCase().includes(l)}),M=t=>t==="success"?e.jsx(b,{"code-path":"src/pages/AuditOperationsTab.tsx:111:7",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:"成功"}):e.jsx(b,{"code-path":"src/pages/AuditOperationsTab.tsx:115:7",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10",children:"失败"}),E=async()=>{try{const t={};i&&(t.module=i),d&&(t.action=d),await m.exportLogs(t)}catch{}},F=t=>{A(t)};return e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:150:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:152:7",className:"flex items-center gap-3 flex-wrap",children:[e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:153:9",className:"relative w-64",children:[e.jsx(v,{"code-path":"src/pages/AuditOperationsTab.tsx:154:11",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-500"}),e.jsx(H,{"code-path":"src/pages/AuditOperationsTab.tsx:155:11",placeholder:"搜索操作日志...",value:s,onChange:t=>a(t.target.value),className:"pl-9 h-9 bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-500"})]}),e.jsxs("select",{"code-path":"src/pages/AuditOperationsTab.tsx:164:9",value:i,onChange:t=>r(t.target.value),className:"h-9 px-3 text-sm rounded-md bg-slate-800/50 border border-slate-700 text-slate-300 focus:outline-none focus:border-blue-500",children:[e.jsx("option",{"code-path":"src/pages/AuditOperationsTab.tsx:169:11",value:"",children:"全部模块"}),S.map(t=>e.jsx("option",{"code-path":"src/pages/AuditOperationsTab.tsx:171:13",value:t.value,children:t.label},t.value))]}),e.jsxs("select",{"code-path":"src/pages/AuditOperationsTab.tsx:178:9",value:d,onChange:t=>u(t.target.value),className:"h-9 px-3 text-sm rounded-md bg-slate-800/50 border border-slate-700 text-slate-300 focus:outline-none focus:border-blue-500",children:[e.jsx("option",{"code-path":"src/pages/AuditOperationsTab.tsx:183:11",value:"",children:"全部操作"}),k.map(t=>e.jsx("option",{"code-path":"src/pages/AuditOperationsTab.tsx:185:13",value:t.value,children:t.label},t.value))]}),e.jsxs(x,{"code-path":"src/pages/AuditOperationsTab.tsx:191:9",variant:"outline",className:"border-slate-700 text-slate-300 hover:text-slate-100 hover:bg-slate-800",onClick:()=>w(),children:[e.jsx(W,{"code-path":"src/pages/AuditOperationsTab.tsx:196:11",className:"h-4 w-4 mr-2"}),"刷新"]}),e.jsxs(x,{"code-path":"src/pages/AuditOperationsTab.tsx:199:9",variant:"outline",className:"border-slate-700 text-slate-300 hover:text-slate-100 hover:bg-slate-800",onClick:E,children:[e.jsx(Y,{"code-path":"src/pages/AuditOperationsTab.tsx:204:11",className:"h-4 w-4 mr-2"}),"导出"]})]}),e.jsx(q,{"code-path":"src/pages/AuditOperationsTab.tsx:210:7",className:"bg-slate-900 border-slate-800",children:e.jsx(P,{"code-path":"src/pages/AuditOperationsTab.tsx:211:9",className:"p-0",children:e.jsx("div",{"code-path":"src/pages/AuditOperationsTab.tsx:212:11",className:"border-t border-slate-800",children:y?e.jsx("div",{"code-path":"src/pages/AuditOperationsTab.tsx:214:15",className:"flex items-center justify-center py-16",children:e.jsx("div",{"code-path":"src/pages/AuditOperationsTab.tsx:215:17",className:"w-8 h-8 border-2 border-blue-500 border-t-transparent rounded-full animate-spin"})}):T.length===0?e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:218:15",className:"flex flex-col items-center justify-center py-16 text-slate-500",children:[e.jsx(v,{"code-path":"src/pages/AuditOperationsTab.tsx:219:17",className:"h-8 w-8 mb-3 opacity-40"}),e.jsx("p",{"code-path":"src/pages/AuditOperationsTab.tsx:220:17",className:"text-sm",children:"暂无操作日志"})]}):e.jsxs(Q,{"code-path":"src/pages/AuditOperationsTab.tsx:223:15",children:[e.jsx(U,{"code-path":"src/pages/AuditOperationsTab.tsx:224:17",children:e.jsxs(O,{"code-path":"src/pages/AuditOperationsTab.tsx:225:19",className:"border-slate-800 hover:bg-transparent",children:[e.jsx(p,{"code-path":"src/pages/AuditOperationsTab.tsx:226:21",className:"text-slate-400",children:"时间"}),e.jsx(p,{"code-path":"src/pages/AuditOperationsTab.tsx:227:21",className:"text-slate-400",children:"用户"}),e.jsx(p,{"code-path":"src/pages/AuditOperationsTab.tsx:228:21",className:"text-slate-400",children:"模块"}),e.jsx(p,{"code-path":"src/pages/AuditOperationsTab.tsx:229:21",className:"text-slate-400",children:"操作类型"}),e.jsx(p,{"code-path":"src/pages/AuditOperationsTab.tsx:230:21",className:"text-slate-400",children:"资源"}),e.jsx(p,{"code-path":"src/pages/AuditOperationsTab.tsx:231:21",className:"text-slate-400",children:"IP"}),e.jsx(p,{"code-path":"src/pages/AuditOperationsTab.tsx:232:21",className:"text-slate-400",children:"结果"}),e.jsx(p,{"code-path":"src/pages/AuditOperationsTab.tsx:233:21",className:"text-slate-400 text-right",children:"详情"})]})}),e.jsx(X,{"code-path":"src/pages/AuditOperationsTab.tsx:236:17",children:T.map(t=>e.jsxs(O,{"code-path":"src/pages/AuditOperationsTab.tsx:238:21",className:"border-slate-800 hover:bg-slate-800/50",children:[e.jsx(n,{"code-path":"src/pages/AuditOperationsTab.tsx:239:23",children:e.jsx("span",{"code-path":"src/pages/AuditOperationsTab.tsx:240:25",className:"text-sm text-slate-400",children:t.createdAt?new Date(t.createdAt).toLocaleString():"--"})}),e.jsx(n,{"code-path":"src/pages/AuditOperationsTab.tsx:244:23",children:e.jsx("span",{"code-path":"src/pages/AuditOperationsTab.tsx:245:25",className:"text-sm text-slate-200",children:t.username||"--"})}),e.jsx(n,{"code-path":"src/pages/AuditOperationsTab.tsx:247:23",children:e.jsx("span",{"code-path":"src/pages/AuditOperationsTab.tsx:248:25",className:"text-sm text-slate-300",children:t.module||"--"})}),e.jsx(n,{"code-path":"src/pages/AuditOperationsTab.tsx:250:23",children:e.jsx(b,{"code-path":"src/pages/AuditOperationsTab.tsx:251:25",variant:"outline",className:"border-blue-500/30 text-blue-400 bg-blue-500/10",children:t.action||"--"})}),e.jsx(n,{"code-path":"src/pages/AuditOperationsTab.tsx:255:23",children:e.jsx("code",{"code-path":"src/pages/AuditOperationsTab.tsx:256:25",className:"text-xs text-slate-400 bg-slate-800 px-2 py-0.5 rounded",children:t.resource||"--"})}),e.jsx(n,{"code-path":"src/pages/AuditOperationsTab.tsx:260:23",children:e.jsx("span",{"code-path":"src/pages/AuditOperationsTab.tsx:261:25",className:"text-sm text-slate-400",children:t.ip||"--"})}),e.jsx(n,{"code-path":"src/pages/AuditOperationsTab.tsx:263:23",children:M(t.result)}),e.jsx(n,{"code-path":"src/pages/AuditOperationsTab.tsx:264:23",children:e.jsx("div",{"code-path":"src/pages/AuditOperationsTab.tsx:265:25",className:"flex items-center justify-end",children:e.jsx(x,{"code-path":"src/pages/AuditOperationsTab.tsx:266:27",variant:"ghost",size:"icon",className:"h-8 w-8 text-slate-400 hover:text-blue-400 hover:bg-slate-800",onClick:()=>F(t),title:"查看详情",children:e.jsx(Z,{"code-path":"src/pages/AuditOperationsTab.tsx:273:29",className:"h-4 w-4"})})})})]},t.id))})]})})})}),e.jsx(te,{"code-path":"src/pages/AuditOperationsTab.tsx:287:7",log:D,onClose:()=>A(null)}),e.jsx(ae,{"code-path":"src/pages/AuditOperationsTab.tsx:290:7",open:I,onClose:()=>z(!1),loading:B,stats:R})]})}function te({log:s,onClose:a}){return s?e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:308:5",className:"fixed inset-0 z-50 flex items-center justify-center",children:[e.jsx("div",{"code-path":"src/pages/AuditOperationsTab.tsx:309:7",className:"absolute inset-0 bg-black/60",onClick:a}),e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:310:7",className:"relative bg-slate-900 border border-slate-800 rounded-lg p-6 max-w-lg w-full mx-4 shadow-2xl",children:[e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:311:9",className:"flex items-center justify-between mb-4",children:[e.jsx("h3",{"code-path":"src/pages/AuditOperationsTab.tsx:312:11",className:"text-lg font-semibold text-slate-100",children:"操作日志详情"}),e.jsx(x,{"code-path":"src/pages/AuditOperationsTab.tsx:313:11",variant:"ghost",size:"icon",className:"h-7 w-7 text-slate-400 hover:text-slate-100",onClick:a,children:e.jsx(f,{"code-path":"src/pages/AuditOperationsTab.tsx:319:13",className:"h-4 w-4"})})]}),e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:323:9",className:"space-y-3 text-sm",children:[e.jsx(o,{"code-path":"src/pages/AuditOperationsTab.tsx:324:11",label:"ID",value:s.id}),e.jsx(o,{"code-path":"src/pages/AuditOperationsTab.tsx:325:11",label:"时间",value:s.createdAt?new Date(s.createdAt).toLocaleString():"--"}),e.jsx(o,{"code-path":"src/pages/AuditOperationsTab.tsx:326:11",label:"用户",value:s.username||"--"}),e.jsx(o,{"code-path":"src/pages/AuditOperationsTab.tsx:327:11",label:"用户ID",value:s.userId||"--"}),e.jsx(o,{"code-path":"src/pages/AuditOperationsTab.tsx:328:11",label:"模块",value:s.module||"--"}),e.jsx(o,{"code-path":"src/pages/AuditOperationsTab.tsx:329:11",label:"操作类型",value:s.action||"--"}),e.jsx(o,{"code-path":"src/pages/AuditOperationsTab.tsx:330:11",label:"资源",value:s.resource||"--"}),e.jsx(o,{"code-path":"src/pages/AuditOperationsTab.tsx:331:11",label:"IP地址",value:s.ip||"--"}),e.jsx(o,{"code-path":"src/pages/AuditOperationsTab.tsx:332:11",label:"User-Agent",value:s.userAgent||"--"}),e.jsx(o,{"code-path":"src/pages/AuditOperationsTab.tsx:333:11",label:"结果",value:e.jsx(b,{"code-path":"src/pages/AuditOperationsTab.tsx:336:15",variant:"outline",className:s.result==="success"?"border-emerald-500/30 text-emerald-400 bg-emerald-500/10":"border-red-500/30 text-red-400 bg-red-500/10",children:s.result==="success"?"成功":"失败"})}),s.message&&e.jsx(o,{"code-path":"src/pages/AuditOperationsTab.tsx:348:27",label:"详情",value:s.message,mono:!0})]}),e.jsx("div",{"code-path":"src/pages/AuditOperationsTab.tsx:351:9",className:"mt-5 flex justify-end",children:e.jsx(x,{"code-path":"src/pages/AuditOperationsTab.tsx:352:11",variant:"outline",className:"border-slate-700 text-slate-300 hover:bg-slate-800",onClick:a,children:"关闭"})})]})]}):null}function o({label:s,value:a,mono:i}){return e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:367:5",className:"flex items-start gap-4",children:[e.jsx("span",{"code-path":"src/pages/AuditOperationsTab.tsx:368:7",className:"text-slate-500 w-20 flex-shrink-0",children:s}),e.jsx("span",{"code-path":"src/pages/AuditOperationsTab.tsx:369:7",className:i?"text-slate-300 font-mono text-xs break-all":"text-slate-200 break-all",children:a})]})}function ae({open:s,onClose:a,loading:i,stats:r}){return s?e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:394:5",className:"fixed inset-0 z-50 flex items-center justify-center",children:[e.jsx("div",{"code-path":"src/pages/AuditOperationsTab.tsx:395:7",className:"absolute inset-0 bg-black/60",onClick:a}),e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:396:7",className:"relative bg-slate-900 border border-slate-800 rounded-lg p-6 max-w-md w-full mx-4 shadow-2xl",children:[e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:397:9",className:"flex items-center justify-between mb-4",children:[e.jsx("h3",{"code-path":"src/pages/AuditOperationsTab.tsx:398:11",className:"text-lg font-semibold text-slate-100",children:"审计统计"}),e.jsx(x,{"code-path":"src/pages/AuditOperationsTab.tsx:399:11",variant:"ghost",size:"icon",className:"h-7 w-7 text-slate-400 hover:text-slate-100",onClick:a,children:e.jsx(f,{"code-path":"src/pages/AuditOperationsTab.tsx:405:13",className:"h-4 w-4"})})]}),i?e.jsx("div",{"code-path":"src/pages/AuditOperationsTab.tsx:410:11",className:"flex items-center justify-center py-10",children:e.jsx("div",{"code-path":"src/pages/AuditOperationsTab.tsx:411:13",className:"w-8 h-8 border-2 border-blue-500 border-t-transparent rounded-full animate-spin"})}):r?e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:414:11",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:415:13",className:"grid grid-cols-2 gap-3",children:[e.jsx(h,{"code-path":"src/pages/AuditOperationsTab.tsx:416:15",label:"总日志数",value:String(r.total_logs??"--"),color:"blue"}),e.jsx(h,{"code-path":"src/pages/AuditOperationsTab.tsx:417:15",label:"今日日志",value:String(r.today_count??"--"),color:"emerald"}),e.jsx(h,{"code-path":"src/pages/AuditOperationsTab.tsx:418:15",label:"成功数",value:String(r.success_count??"--"),color:"emerald"}),e.jsx(h,{"code-path":"src/pages/AuditOperationsTab.tsx:419:15",label:"失败数",value:String(r.failure_count??"--"),color:"red"})]}),r.top_modules&&r.top_modules.length>0&&e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:423:15",children:[e.jsx("h4",{"code-path":"src/pages/AuditOperationsTab.tsx:424:17",className:"text-xs font-semibold text-slate-400 mb-2",children:"热门模块"}),e.jsx("div",{"code-path":"src/pages/AuditOperationsTab.tsx:425:17",className:"space-y-1",children:r.top_modules.slice(0,5).map((d,u)=>e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:427:21",className:"flex justify-between text-xs",children:[e.jsx("span",{"code-path":"src/pages/AuditOperationsTab.tsx:428:23",className:"text-slate-300",children:d.module}),e.jsx("span",{"code-path":"src/pages/AuditOperationsTab.tsx:429:23",className:"text-slate-500",children:d.count})]},u))})]}),r.top_users&&r.top_users.length>0&&e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:437:15",children:[e.jsx("h4",{"code-path":"src/pages/AuditOperationsTab.tsx:438:17",className:"text-xs font-semibold text-slate-400 mb-2",children:"活跃用户"}),e.jsx("div",{"code-path":"src/pages/AuditOperationsTab.tsx:439:17",className:"space-y-1",children:r.top_users.slice(0,5).map((d,u)=>e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:441:21",className:"flex justify-between text-xs",children:[e.jsx("span",{"code-path":"src/pages/AuditOperationsTab.tsx:442:23",className:"text-slate-300",children:d.username}),e.jsx("span",{"code-path":"src/pages/AuditOperationsTab.tsx:443:23",className:"text-slate-500",children:d.count})]},u))})]})]}):e.jsx("p",{"code-path":"src/pages/AuditOperationsTab.tsx:451:11",className:"text-slate-500 text-center py-10 text-sm",children:"暂无统计数据"}),e.jsx("div",{"code-path":"src/pages/AuditOperationsTab.tsx:454:9",className:"mt-5 flex justify-end",children:e.jsx(x,{"code-path":"src/pages/AuditOperationsTab.tsx:455:11",variant:"outline",className:"border-slate-700 text-slate-300 hover:bg-slate-800",onClick:a,children:"关闭"})})]})]}):null}function h({label:s,value:a,color:i}){const r={blue:"border-blue-500/20 bg-blue-500/5 text-blue-400",emerald:"border-emerald-500/20 bg-emerald-500/5 text-emerald-400",red:"border-red-500/20 bg-red-500/5 text-red-400"};return e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:475:5",className:`rounded-lg border p-3 ${r[i]}`,children:[e.jsx("div",{"code-path":"src/pages/AuditOperationsTab.tsx:476:7",className:"text-xs text-slate-500",children:s}),e.jsx("div",{"code-path":"src/pages/AuditOperationsTab.tsx:477:7",className:"text-xl font-bold mt-0.5",children:a})]})}export{be as AuditOperationsTab};