File: /www/server/panel/BTPanel/static/js/set-firewall.js
import{_ as C}from"./index118.js?v=1777008528";import{c as P,t as k,r as B,j as S,k as h,e as s,v as n,q as o,x as u,p as E,z as y,ap as q}from"./base-lib.js?v=1777008528";import{_ as z}from"./index122.js?v=1777008528";import{cQ as D,w as H,k as T}from"./utils-lib.js?v=1777008528";import{n as V}from"./firewall.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";const j={class:"p-[2rem]"},F={class:"flex items-center gap-4 mb-2"},J=P({__name:"set-firewall",props:{compData:{default:()=>({fireStatus:!1,callback:()=>{}})}},setup(c,{expose:p}){const d=c,{compData:m}=k(d),l=B([{port:"21",enabled:!0},{port:"SSH",enabled:!0,description:"SSH端口(默认:22)"},{port:"80",enabled:!0},{port:"443",enabled:!0},{port:"39000-40000",enabled:!0},{port:"PanelPort",enabled:!0,description:"面板端口"}]),r=t=>{t?l.value.forEach(e=>{e.enabled=!0}):l.value.forEach(e=>{e.enabled=!e.enabled}),g()},b=async()=>({data:l.value,total:l.value.length}),f=()=>[{label:"端口",prop:"port",render:t=>s("span",{class:"text-tertiary"},[t.description||t.port])},{label:"放行",width:80,render:t=>s(q,{size:"small",modelValue:t.enabled,onChange:e=>{t.enabled=e}},null)}],{BtTable:_,refresh:g}=D({request:b,columns:f()}),v=()=>{const t=l.value.filter(a=>a.enabled).map(a=>a.port).join(","),e=l.value.filter(a=>!a.enabled).map(a=>a.port).join(",");return{enabledPorts:t,disabledPorts:e}};return p({onConfirm:async()=>{try{const{disabledPorts:t,enabledPorts:e}=v(),a=t;return await H({icon:"question-filled",title:"启用系统防火墙",content:"启用系统防火墙,将放行以下【".concat(e,"】端口,是否继续操作?")}),await T({loading:"正在启用系统防火墙,请稍后...",message:!0,request:V({status:1,ports:a}),success:()=>{m.value.callback()}}),!0}catch(t){return!1}}}),(t,e)=>{const a=z,i=y,x=C;return S(),h("div",j,[s(a,{type:"warning",description:"开启系统防火墙会放行以下端口配置,如需调整,请手动关闭相应端口。","show-icon":"",closable:!1,class:"mb-[1rem]"}),s(x,null,{header:n(()=>[o("div",F,[s(i,{size:"small",onClick:e[0]||(e[0]=w=>r(!0))},{default:n(()=>[...e[2]||(e[2]=[u("全选",-1)])]),_:1}),s(i,{size:"small",onClick:e[1]||(e[1]=w=>r(!1))},{default:n(()=>[...e[3]||(e[3]=[u("反选",-1)])]),_:1})])]),content:n(()=>[s(E(_),{"max-height":350})]),_:1}),e[4]||(e[4]=o("ul",{class:"mt-20px leading-8 text-small list-disc ml-24px"},[o("li",null,"此操作将重载防火墙,未持久化的 iptables 规则会清空,请先备份保存!")],-1))])}}});export{J as default};