P1: - utils/storage.ts、theme.ts、validate.ts + index 统一出口 - request/store/useTheme 接入 storage;清零 confirm/alert - PipelineManager、TerminalAuditTab 拆分子模块(<700行红线) P2: - api/monitor、api/deploy 子目录化 - hooks/api 扩展:servers/pipelines/alerts/audit/sessionCommands - PipelineManager、AuditOperationsTab 接入 TanStack Query
2 lines
16 KiB
JavaScript
2 lines
16 KiB
JavaScript
import{r as n,j as e,B as m,G as E,C as U,D as A,a as H,b as X,c as q,d as J,e as K,L as V}from"./index-HuRw9UhJ.js";import{I as l}from"./input-C9Xfv8um.js";import{L as d}from"./label-DvRDtaMA.js";import{C as j,a as M}from"./card-B2Wqa0sK.js";import{B as h}from"./badge-CeS-g-Od.js";import{c as u}from"./cloud-sEaHmpLm.js";import{R as L}from"./refresh-cw-CSycAyA2.js";import{P as k}from"./plus-BVwIGPvl.js";import{S as W}from"./search-CcKEpJIn.js";import{C as P}from"./circle-check-C5nUiTvE.js";import{C as Y}from"./circle-x-BVvXVx7p.js";import{P as O}from"./pen-C8XHRV1-.js";import{T as Z}from"./trash-2-Cf9-88KL.js";function xe(){const[i,b]=n.useState([]),[N,v]=n.useState(!0),[g,B]=n.useState(""),[D,F]=n.useState("all"),[I,p]=n.useState(!1),[f,_]=n.useState(!1),[r,y]=n.useState(null),[a,t]=n.useState({name:"",registrar:"",status:"active",expire_date:"",dns_provider:"",record_count:"",ssl_enabled:!1,ssl_expire_date:""}),T=()=>{y(null),t({name:"",registrar:"",status:"active",expire_date:"",dns_provider:"",record_count:"",ssl_enabled:!1,ssl_expire_date:""})},R=()=>{T(),p(!0)},$=s=>{y(s);const o=c=>c?c.substring(0,10):"";t({name:s.name||"",registrar:s.registrar||"",status:s.status||"active",expire_date:o(s.expire_date||""),dns_provider:s.dns_provider||s.dnsProvider||"",record_count:String(s.record_count??s.recordCount??""),ssl_enabled:s.ssl_enabled??s.sslEnabled??!1,ssl_expire_date:o(s.ssl_expire_date||"")}),p(!0)},z=async()=>{if(a.name.trim())try{_(!0);const s={name:a.name.trim(),registrar:a.registrar.trim(),status:a.status,expire_date:a.expire_date,dns_provider:a.dns_provider.trim(),record_count:Number(a.record_count)||0,ssl_enabled:a.ssl_enabled,ssl_expire_date:a.ssl_expire_date};r?await u.updateDomain(r.id,s):await u.createDomain(s),p(!1),x()}catch(s){console.error(r?"更新域名失败:":"创建域名失败:",s)}finally{_(!1)}},x=async()=>{try{v(!0);const s=await u.getDomains();b(s?.list||[])}catch(s){console.error("加载域名列表失败:",s),b([])}finally{v(!1)}};n.useEffect(()=>{x()},[]);const G=async s=>{try{await u.deleteDomain(s),x()}catch(o){console.error("删除域名失败:",o)}},C=i.filter(s=>{const o=(s.name||"").toLowerCase().includes(g.toLowerCase())||(s.registrar||"").toLowerCase().includes(g.toLowerCase()),c=D==="all"||s.status===D;return o&&c});i.length,i.filter(s=>s.status==="active").length,i.filter(s=>s.status==="expired").length,i.filter(s=>s.status==="pending").length,i.filter(s=>s.ssl_enabled||s.sslEnabled).length;const Q=s=>s?Math.ceil((new Date(s).getTime()-Date.now())/(1e3*60*60*24)):1/0;return e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:162:5",className:"space-y-6",children:[e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:164:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:165:9",children:[e.jsx("h1",{"code-path":"src/components/cloud/DomainManager.tsx:166:11",className:"text-2xl font-bold text-slate-100",children:"域名管理"}),e.jsx("p",{"code-path":"src/components/cloud/DomainManager.tsx:167:11",className:"text-slate-400 mt-1",children:"管理域名注册信息和DNS解析记录"})]}),e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:169:9",className:"flex items-center gap-2",children:[e.jsxs(m,{"code-path":"src/components/cloud/DomainManager.tsx:170:11",variant:"outline",onClick:x,className:"border-slate-700 text-slate-300",children:[e.jsx(L,{"code-path":"src/components/cloud/DomainManager.tsx:171:13",className:`h-4 w-4 mr-2 ${N?"animate-spin":""}`}),"刷新"]}),e.jsxs(m,{"code-path":"src/components/cloud/DomainManager.tsx:174:11",className:"bg-blue-600 hover:bg-blue-700",onClick:R,children:[e.jsx(k,{"code-path":"src/components/cloud/DomainManager.tsx:175:13",className:"h-4 w-4 mr-2"}),"添加域名"]})]})]}),e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:182:7",className:"flex items-center gap-4",children:[e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:183:9",className:"relative flex-1 max-w-md",children:[e.jsx(W,{"code-path":"src/components/cloud/DomainManager.tsx:184:11",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-400"}),e.jsx(l,{"code-path":"src/components/cloud/DomainManager.tsx:185:11",placeholder:"搜索域名...",value:g,onChange:s=>B(s.target.value),className:"pl-10 bg-slate-800 border-slate-700 text-slate-100"})]}),e.jsxs("select",{"code-path":"src/components/cloud/DomainManager.tsx:192:9",value:D,onChange:s=>F(s.target.value),className:"px-3 py-2 bg-slate-800 border border-slate-700 rounded-md text-slate-100 text-sm",children:[e.jsx("option",{"code-path":"src/components/cloud/DomainManager.tsx:197:11",value:"all",children:"全部状态"}),e.jsx("option",{"code-path":"src/components/cloud/DomainManager.tsx:198:11",value:"active",children:"正常"}),e.jsx("option",{"code-path":"src/components/cloud/DomainManager.tsx:199:11",value:"expired",children:"已过期"}),e.jsx("option",{"code-path":"src/components/cloud/DomainManager.tsx:200:11",value:"pending",children:"待审核"})]})]}),N?e.jsx(j,{"code-path":"src/components/cloud/DomainManager.tsx:206:9",className:"bg-slate-800 border-slate-700",children:e.jsxs(M,{"code-path":"src/components/cloud/DomainManager.tsx:207:11",className:"p-12 text-center text-slate-500",children:[e.jsx(L,{"code-path":"src/components/cloud/DomainManager.tsx:208:13",className:"h-6 w-6 animate-spin mx-auto mb-3"}),"加载中..."]})}):C.length===0?e.jsx(j,{"code-path":"src/components/cloud/DomainManager.tsx:213:9",className:"bg-slate-800 border-slate-700",children:e.jsx(M,{"code-path":"src/components/cloud/DomainManager.tsx:214:11",className:"p-12 text-center text-slate-500",children:"暂无域名数据"})}):e.jsx("div",{"code-path":"src/components/cloud/DomainManager.tsx:217:9",className:"space-y-3",children:C.map(s=>{const o=s.ssl_enabled||s.sslEnabled,c=s.expire_date||s.expireDate||"",w=s.ssl_expire_date||s.sslExpireDate||"",S=Q(c);return e.jsx(j,{"code-path":"src/components/cloud/DomainManager.tsx:224:15",className:"bg-slate-800 border-slate-700",children:e.jsx(M,{"code-path":"src/components/cloud/DomainManager.tsx:225:17",className:"p-4",children:e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:226:19",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:227:21",className:"flex items-center gap-4",children:[e.jsx("div",{"code-path":"src/components/cloud/DomainManager.tsx:228:23",className:"w-10 h-10 rounded-lg bg-gradient-to-br from-blue-500 to-cyan-500 flex items-center justify-center",children:e.jsx(E,{"code-path":"src/components/cloud/DomainManager.tsx:229:25",className:"h-5 w-5 text-white"})}),e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:231:23",children:[e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:232:25",className:"flex items-center gap-2",children:[e.jsx("h3",{"code-path":"src/components/cloud/DomainManager.tsx:233:27",className:"font-medium text-slate-100 text-lg",children:s.name}),s.status==="active"&&e.jsxs(h,{"code-path":"src/components/cloud/DomainManager.tsx:235:29",className:"bg-green-500/20 text-green-400 border-0",children:[e.jsx(P,{"code-path":"src/components/cloud/DomainManager.tsx:236:31",className:"h-3 w-3 mr-1"}),"正常"]}),s.status==="expired"&&e.jsxs(h,{"code-path":"src/components/cloud/DomainManager.tsx:241:29",className:"bg-red-500/20 text-red-400 border-0",children:[e.jsx(Y,{"code-path":"src/components/cloud/DomainManager.tsx:242:31",className:"h-3 w-3 mr-1"}),"已过期"]}),s.status==="pending"&&e.jsxs(h,{"code-path":"src/components/cloud/DomainManager.tsx:247:29",className:"bg-yellow-500/20 text-yellow-400 border-0",children:[e.jsx(U,{"code-path":"src/components/cloud/DomainManager.tsx:248:31",className:"h-3 w-3 mr-1"}),"待审核"]}),o&&e.jsxs(h,{"code-path":"src/components/cloud/DomainManager.tsx:253:29",className:"bg-cyan-500/20 text-cyan-400 border-0",children:[e.jsx(P,{"code-path":"src/components/cloud/DomainManager.tsx:254:31",className:"h-3 w-3 mr-1"}),"SSL"]})]}),e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:259:25",className:"flex items-center gap-4 mt-1 text-sm text-slate-400",children:[e.jsxs("span",{"code-path":"src/components/cloud/DomainManager.tsx:260:27",children:["注册商: ",s.registrar||"-"]}),e.jsxs("span",{"code-path":"src/components/cloud/DomainManager.tsx:261:27",children:["DNS: ",s.dns_provider||s.dnsProvider||"-"]}),e.jsxs("span",{"code-path":"src/components/cloud/DomainManager.tsx:262:27",children:["解析记录: ",s.record_count??s.recordCount??0,"条"]})]})]})]}),e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:266:21",className:"flex items-center gap-4",children:[e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:267:23",className:"text-right",children:[e.jsx("p",{"code-path":"src/components/cloud/DomainManager.tsx:268:25",className:"text-sm text-slate-400",children:"到期时间"}),e.jsxs("p",{"code-path":"src/components/cloud/DomainManager.tsx:269:25",className:`text-sm font-medium ${S<30?"text-red-400":"text-slate-200"}`,children:[c?c.substring(0,10):"-",c&&` (${S}天)`,o&&w&&e.jsxs("span",{"code-path":"src/components/cloud/DomainManager.tsx:272:29",className:"text-slate-500",children:[" · SSL: ",w.substring(0,10)]})]})]}),e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:276:23",className:"flex items-center gap-1",children:[e.jsx(m,{"code-path":"src/components/cloud/DomainManager.tsx:277:25",variant:"ghost",size:"icon",className:"h-8 w-8 text-slate-400 hover:text-blue-400",onClick:()=>$(s),children:e.jsx(O,{"code-path":"src/components/cloud/DomainManager.tsx:283:27",className:"h-4 w-4"})}),e.jsx(m,{"code-path":"src/components/cloud/DomainManager.tsx:285:25",variant:"ghost",size:"icon",className:"h-8 w-8 text-slate-400 hover:text-red-400",onClick:()=>G(s.id),children:e.jsx(Z,{"code-path":"src/components/cloud/DomainManager.tsx:291:27",className:"h-4 w-4"})})]})]})]})})},s.id)})}),e.jsx(A,{"code-path":"src/components/cloud/DomainManager.tsx:304:7",open:I,onOpenChange:p,children:e.jsxs(H,{"code-path":"src/components/cloud/DomainManager.tsx:305:9",className:"bg-slate-800 border-slate-700 text-slate-100 max-w-lg",children:[e.jsxs(X,{"code-path":"src/components/cloud/DomainManager.tsx:306:11",children:[e.jsxs(q,{"code-path":"src/components/cloud/DomainManager.tsx:307:13",className:"text-slate-100 flex items-center gap-2",children:[e.jsx(E,{"code-path":"src/components/cloud/DomainManager.tsx:308:15",className:"h-5 w-5 text-blue-400"}),r?"编辑域名":"添加域名"]}),e.jsx(J,{"code-path":"src/components/cloud/DomainManager.tsx:311:13",className:"text-slate-400",children:r?"修改域名注册信息、DNS 配置和 SSL 证书状态":"录入域名信息,包括注册商、DNS 服务商和到期时间"})]}),e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:316:11",className:"space-y-4 py-2",children:[e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:317:13",className:"space-y-2",children:[e.jsx(d,{"code-path":"src/components/cloud/DomainManager.tsx:318:15",className:"text-slate-300",children:"域名 *"}),e.jsx(l,{"code-path":"src/components/cloud/DomainManager.tsx:319:15",placeholder:"example.com",value:a.name,onChange:s=>t({...a,name:s.target.value}),className:"bg-slate-900 border-slate-700 text-slate-100"})]}),e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:327:13",className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:328:15",className:"space-y-2",children:[e.jsx(d,{"code-path":"src/components/cloud/DomainManager.tsx:329:17",className:"text-slate-300",children:"注册商"}),e.jsx(l,{"code-path":"src/components/cloud/DomainManager.tsx:330:17",placeholder:"阿里云 / Cloudflare ...",value:a.registrar,onChange:s=>t({...a,registrar:s.target.value}),className:"bg-slate-900 border-slate-700 text-slate-100"})]}),e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:337:15",className:"space-y-2",children:[e.jsx(d,{"code-path":"src/components/cloud/DomainManager.tsx:338:17",className:"text-slate-300",children:"状态"}),e.jsxs("select",{"code-path":"src/components/cloud/DomainManager.tsx:339:17",value:a.status,onChange:s=>t({...a,status:s.target.value}),className:"w-full px-3 py-2 bg-slate-900 border border-slate-700 rounded-md text-slate-100 text-sm",children:[e.jsx("option",{"code-path":"src/components/cloud/DomainManager.tsx:344:19",value:"active",children:"正常"}),e.jsx("option",{"code-path":"src/components/cloud/DomainManager.tsx:345:19",value:"expired",children:"已过期"}),e.jsx("option",{"code-path":"src/components/cloud/DomainManager.tsx:346:19",value:"pending",children:"待审核"})]})]})]}),e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:351:13",className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:352:15",className:"space-y-2",children:[e.jsx(d,{"code-path":"src/components/cloud/DomainManager.tsx:353:17",className:"text-slate-300",children:"到期时间"}),e.jsx(l,{"code-path":"src/components/cloud/DomainManager.tsx:354:17",type:"date",value:a.expire_date,onChange:s=>t({...a,expire_date:s.target.value}),className:"bg-slate-900 border-slate-700 text-slate-100"})]}),e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:361:15",className:"space-y-2",children:[e.jsx(d,{"code-path":"src/components/cloud/DomainManager.tsx:362:17",className:"text-slate-300",children:"DNS 服务商"}),e.jsx(l,{"code-path":"src/components/cloud/DomainManager.tsx:363:17",placeholder:"Cloudflare / DNSPod ...",value:a.dns_provider,onChange:s=>t({...a,dns_provider:s.target.value}),className:"bg-slate-900 border-slate-700 text-slate-100"})]})]}),e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:372:13",className:"space-y-2",children:[e.jsx(d,{"code-path":"src/components/cloud/DomainManager.tsx:373:15",className:"text-slate-300",children:"解析记录数"}),e.jsx(l,{"code-path":"src/components/cloud/DomainManager.tsx:374:15",type:"number",placeholder:"0",value:a.record_count,onChange:s=>t({...a,record_count:s.target.value}),className:"bg-slate-900 border-slate-700 text-slate-100"})]}),e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:383:13",className:"grid grid-cols-2 gap-4 items-end",children:[e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:384:15",className:"space-y-2",children:[e.jsx(d,{"code-path":"src/components/cloud/DomainManager.tsx:385:17",className:"text-slate-300",children:"SSL 证书到期"}),e.jsx(l,{"code-path":"src/components/cloud/DomainManager.tsx:386:17",type:"date",value:a.ssl_expire_date,onChange:s=>t({...a,ssl_expire_date:s.target.value}),disabled:!a.ssl_enabled,className:"bg-slate-900 border-slate-700 text-slate-100 disabled:opacity-40"})]}),e.jsxs("label",{"code-path":"src/components/cloud/DomainManager.tsx:394:15",className:"flex items-center gap-2 cursor-pointer pb-2",children:[e.jsx("input",{"code-path":"src/components/cloud/DomainManager.tsx:395:17",type:"checkbox",checked:a.ssl_enabled,onChange:s=>t({...a,ssl_enabled:s.target.checked}),className:"h-4 w-4 rounded border-slate-600 bg-slate-900 accent-cyan-500"}),e.jsx("span",{"code-path":"src/components/cloud/DomainManager.tsx:401:17",className:"text-slate-300 text-sm",children:"启用 SSL"})]})]})]}),e.jsxs(K,{"code-path":"src/components/cloud/DomainManager.tsx:406:11",children:[e.jsx(m,{"code-path":"src/components/cloud/DomainManager.tsx:407:13",variant:"outline",onClick:()=>p(!1),className:"border-slate-700 text-slate-300",children:"取消"}),e.jsxs(m,{"code-path":"src/components/cloud/DomainManager.tsx:410:13",className:"bg-blue-600 hover:bg-blue-700",disabled:!a.name.trim()||f,onClick:z,children:[f?e.jsx(V,{"code-path":"src/components/cloud/DomainManager.tsx:415:29",className:"h-4 w-4 mr-2 animate-spin"}):r?e.jsx(O,{"code-path":"src/components/cloud/DomainManager.tsx:415:97",className:"h-4 w-4 mr-2"}):e.jsx(k,{"code-path":"src/components/cloud/DomainManager.tsx:415:134",className:"h-4 w-4 mr-2"}),r?"保存修改":"创建域名"]})]})]})})]})}export{xe as DomainManager};
|