File: /www/server/panel/BTPanel/static/js/index524.js
import{aI as C,aF as ql,g as y,r as b,e as s,bg as Rl,bK as el,c as Me,H as ol,aN as Ml,o as Hl,j as h,k as I,v as p,q as g,p as n,F as M,B as se,C as V,y as S,x as E,Q as Ae,N as ll,J as jl,K as zl,am as rl,an as il,ad as He,U as je,aB as cl,ab as Wl,s as Gl,t as ze,a8 as Kl,ay as Ql,aA as Jl,z as Zl}from"./base-lib.js?v=1777008528";import{e as de,_ as me,jP as Xl,M as re,cO as We,W as Yl,cZ as pl,c as _e,du as ea,i as la,X as aa}from"./utils-lib.js?v=1777008528";import{i as A,b as q,a as Q,f as we,d as G,m as vl,e as fe,j as Le,g as ae,F as Ge,l as ta,h as sa}from"./form-item.js?v=1777008528";import{J as ua,K as na,L as J,M as oa,N as ra,O as ia,P as ca,Q as pa,R as va,S as da,T as ma}from"./useController25.js?v=1777008528";import{C as F,g as dl}from"./index22.js?v=1777008528";import{w as be,cj as ba,a4 as ya,o as ke,k as ha}from"./index3.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./index119.js?v=1777008528";import"./index206.js?v=1777008528";import"./index118.js?v=1777008528";import"./index217.js?v=1777008528";import"./index131.js?v=1777008528";import"./index152.js?v=1777008528";import"./index116.js?v=1777008528";const{shellOptions:ml}=C(F()),ga=e=>[A("执行用户","user",ml.value,{attrs:{class:"!w-[30rem]",placeholder:"默认使用root用户执行"}}),q([Q("脚本内容","sBody",{attrs:{class:"w-[60rem]",rows:10,resize:"none",placeholder:"请输入脚本内容"},rules:[{required:!0,message:"请输入脚本内容",trigger:"blur"}]}),we("选择脚本",{attrs:{class:"!ml-4px",onClick:()=>_a(e)}})]),G("温馨提示",[{content:"为了保证服务器的安全稳定,shell脚本中以下命令不可使用:shutdown, init 0, mkfs, passwd, chpasswd, --stdin, mkfs.ext, mke2fs"}])],_a=async e=>{de({title:"选择脚本",area:40,component:()=>me(()=>import("./index367.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:{value:e.value.sBody,onConfirm:l=>{e.value.sBody=l.scriptText,e.value.version=l.args}},showFooter:!0})},wa=async()=>{try{const{data:e}=await ua({all_user:!0});return e.map(l=>({label:l,value:l}))||[]}catch(e){}},fa=async()=>{try{const e=await wa();ml.value=e}catch(e){}};fa();const{shellOptions:La,pythonEnvOptions:bl}=C(F()),ka=e=>[A("执行用户","user",La.value,{attrs:{class:"!w-[30rem]",placeholder:"默认使用root用户执行"}}),q([A("python环境","python_env",bl.value,{attrs:{class:"!w-[30rem]",placeholder:"请选择python环境"},rules:[{required:!0,message:"请选择python环境",trigger:"change"}]}),vl(()=>ql("span",{class:"ml-[1.5rem] bt-link h-[3rem] leading-[3rem]",onClick:Ta},"python环境管理"))]),q([Q("脚本内容","sBody",{attrs:{class:"w-[60rem]",rows:10,resize:"none",placeholder:"请输入脚本内容"},rules:[{required:!0,message:"请输入脚本内容",trigger:"blur"}]}),we("选择脚本",{attrs:{class:"!ml-4px",onClick:()=>$a(e)}})])],$a=async e=>{de({title:"选择脚本",area:40,component:()=>me(()=>import("./index367.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:{value:e.value.sBody,type:"python",onConfirm:l=>{e.value.sBody=l.scriptText,e.value.version=l.args}},showFooter:!0})},Ta=()=>{de({isAsync:!0,title:"Python环境管理",area:105,component:()=>me(()=>import("./index476.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),onCancel:()=>{yl()}})},xa=async()=>{const{data:e}=await na();return e.env_list.map(l=>({label:l.name,value:l.bin_path}))||[]},yl=async()=>{try{const e=await xa();bl.value=e}catch(e){}};yl();const{rowData:Se,typeInit:hl}=C(F()),Ea=y(()=>!!Se.value.id),Aa=y(()=>!Se.value.id&&!Se.value),gl=b([{label:"全部",value:"ALL"}]),Sa=e=>(hl.value&&Ca(e),[fe("存储路径","log_cut_path",{attrs:{class:"w-[36rem]"},rules:[{required:!0,message:"请输入存储路径",trigger:"blur"}]},()=>Fa(e)),q([A("切割日志","sName",gl.value,{attrs:{class:"!w-[16rem] mr-[8px]",disabled:Ea.value,onChange:l=>{e.value.name="切割日志["+(l==="ALL"?"全部":l)+"]"}}}),Le("","save","份",{attrs:{class:"w-[14rem]"},rules:[{required:!0,message:"请输入不为0的正整数",trigger:"blur"}]}),G("温馨提示",[{content:"只切分项目的访问日志,如需对项目日志进行切分,请前往【网站-**项目-项目日志】进行配置"},{content:"日志切割后会在选择的目录下产生/history_backups文件夹,切割后的日志存储在这个文件夹中"}])])]),Fa=e=>{be({type:"dir",path:e.value.log_cut_path,change:l=>{e.value.log_cut_path=l}})},Va=async e=>{try{const{data:l}=await J({type:"sites"});gl.value=[{label:"全部",value:"ALL"}].concat(l.data.map(a=>({label:a.name,value:a.name})))||[],e.value.sName="ALL"}catch(l){}},Ca=async e=>{hl.value=!1,Aa.value&&(e.value.name="切割日志[所有]",e.value.save=180,e.value.log_cut_path||(e.value.log_cut_path="/www/wwwlogs"),Va(e))},{rowData:ie,typeInit:_l}=C(F()),wl=b([{label:"全部",value:"ALL"}]),fl=y(()=>!!ie.value.id),Na=y(()=>!ie.value.id&&!ie.value);y(()=>ie.value&&!ie.value.id);const Da=e=>(_l.value&&Ia(e),[A("查杀站点","sName",wl.value,{attrs:{class:"!w-[300px]",disabled:fl.value,onChange:l=>{e.value.name="木马查杀["+(l==="ALL"?"全部":l)+"]"}}}),ba("消息通道","urladdress",{attrs:{placeholder:"请选择消息通道",isShowApi:!1,isDefault:!0,isShowAll:!1,limit:["sms"],multiple:!1,class:"!w-[300px]"}})]),Ba=async e=>{try{const{data:l}=await J({type:"sites"});wl.value=[{label:"全部",value:"ALL"}].concat(l.data.map(a=>({label:a.name,value:a.name})))||[],e.value.sName="ALL"}catch(l){}},Ia=e=>{!fl.value&&Ba(e),_l.value=!1,Na.value&&(e.value.name="木马查杀[全部]")},{rowData:Fe,typeInit:Ll}=C(F()),kl=b([]),ye=b([]);y(()=>!!Fe.value.id);const Ua=y(()=>!Fe.value.id&&!Fe.value),Pa=e=>(Ll.value&&qa(e),[ae("时区选择",()=>s(Rl,{class:"w-[32rem]",options:kl.value,modelValue:ye.value,props:{expandTrigger:"hover"},onChange:l=>{e.value.name="定期同步服务器时间[".concat(l[0],"/").concat(l[1],"]"),e.value.sName="".concat(l[0],"/").concat(l[1]),ye.value=[l[0],l[1]],e.value.region=l[0],e.value.zone=l[1]}},null)),G("温馨提示",[{content:"默认从NTP服务器同步时间,失败时将同步bt.cn的服务器时间。"}])]),Oa=async e=>{try{const l=await oa();kl.value=Object.keys(l.data).map(a=>({value:a,label:a,children:l.data[a].map(o=>({value:o,label:o}))}))}catch(l){}},qa=e=>{try{Ll.value=!1,Ua.value?(e.value.name="定期同步服务器时间[Asia/Shangehai]",e.value.sName="Asia/Shanghai",ye.value=["Asia","Shanghai"]):ye.value=e.value.sName.split("/"),Oa(e)}catch(l){}},Ra=()=>[G("温馨提示",[{content:"释放PHP、MYSQL、PURE-FTPD、APACHE、NGINX的内存占用,建议在每天半夜执行!"}])],{rowData:Ve}=C(F());y(()=>!!Ve.value.id);const Ma=y(()=>!Ve.value.id&&!Ve.value),Ha=e=>(Ma.value&&(e.value.name="访问URL-[ http:// ]",e.value.urladdress="http://"),[q([Ge("URL地址","urladdress",{attrs:{placeholder:"请输入URL地址",class:"!w-[30rem]",onInput:l=>{e.value.name="访问URL-[ ".concat(l," ]")}},rules:[{required:!0,message:"请输入URL地址",trigger:"blur"}]}),we("测试URL",{attrs:{class:"!ml-4px",onClick:()=>ja(e)}})]),Q("User-Agent","user_agent",{attrs:{placeholder:"请输入User-Agent",class:"w-[60rem]"}})]),ja=async e=>{if(Xl(e.value.urladdress)){const a=re.load("正在测试,请稍候...");try{const o=await ra({url:e.value.urladdress});de({title:"测试URL结果",area:59,component:()=>me(()=>import("./index368.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:{result:o.data}})}catch(o){}finally{a.close()}}else return re.error("请输入正确的url地址")},ce=b([{paramName:"",paramValue:""}]),{rowData:Ce}=C(F());y(()=>!!Ce.value.id);const za=y(()=>!Ce.value.id&&!Ce.value),Wa=e=>(za.value&&(e.value.name="访问URL-POST[ http:// ]",e.value.urladdress="http://"),[Ge("URL地址","urladdress",{attrs:{placeholder:"请输入URL地址",class:"!w-[30rem]",onInput:l=>{e.value.name="访问URL-POST[ ".concat(l," ]")}},rules:[{required:!0,message:"URL地址不可为空",trigger:["blur","input"]},{validator:(l,a,o)=>{a==="http://"||a==="https://"?o(new Error("输入内容不可为空")):o()},trigger:["blur","input"]}]}),Q("User-Agent","user_agent",{attrs:{placeholder:"请输入User-Agent",class:"w-[60rem]"}})]),Ga=e=>{e.row.xh=e.rowIndex+1},Ne=b(),Ka=e=>{var l,a;e.length>1&&((l=Ne.value)==null||l.clearSelection(),(a=Ne.value)==null||a.toggleRowSelection(e.pop()))},Qa=()=>{ce.value.push({paramName:"",paramValue:""})},Ja=(e,l)=>{ce.value.splice(l,1)},$l=b([{label:"所有[所有网站]",value:"ALL"}]),{rowData:De,typeInit:Tl}=C(F()),j=b(""),z=b(""),xl=y(()=>!!De.value.id),Be=y(()=>!De.value.id&&!De.value),Za=e=>(Tl.value&&Ya(e),[A("网站","sName",$l.value,{attrs:{class:"!w-[30rem]",disabled:xl.value,onChange:l=>{e.value.name="网站启停["+(l==="ALL"?"所有":l)+"]"}}}),q([ae("开启时间",()=>s(el,{"prefix-icon":"none",clearable:!0,placeholder:"请选择开启时间",class:"!w-22rem",modelValue:j.value,"onUpdate:modelValue":l=>j.value=l,onChange:l=>{j.value=l,e.value.startTime=l,e.value.special_time="".concat(j.value,",").concat(z.value)},start:"00:00",step:"00:05",end:"23:59"},null),"startTime",{rules:[{required:!0,message:"请选择开启时间",trigger:"change"}]}),ae("停止时间",()=>s(el,{"prefix-icon":"none",clearable:!0,placeholder:"请选择停止时间",class:"!w-22rem",modelValue:z.value,"onUpdate:modelValue":l=>z.value=l,onChange:l=>{z.value=l,e.value.stopTime=l,e.value.special_time="".concat(j.value,",").concat(z.value)},start:"00:00",step:"00:05",end:"23:59"},null),"stopTime",{rules:[{required:!0,message:"请选择停止时间",trigger:"change"}]})]),G("温馨提示",[{content:"执行周期为每天一次"}])]),Xa=async e=>{try{const{data:l}=await J({type:"sites"});$l.value=[{label:"所有[所有网站]",value:"ALL"}].concat(l.data.map(a=>({label:a.name+"[".concat(a.ps,"]"),value:a.name})))||[],Be.value&&(e.value.sName="ALL")}catch(l){}},Ya=e=>{z.value="",j.value="",Tl.value=!1,!xl.value&&Xa(e),Be.value&&(e.value.name="网站启停[所有]"),Be.value||(j.value=e.value.special_time.split(",")[0],z.value=e.value.special_time.split(",")[1],e.value.startTime=j.value,e.value.stopTime=z.value)},he=b(1),{rowData:Ie,typeInit:El}=C(F()),le=y(()=>!!Ie.value.id),al=y(()=>Ie.value&&!Ie.value.id),tl=[{value:"all",label:"所有日志"},{value:"system_log",label:"系统日志"},{value:"panel_log",label:"面板日志"},{value:"www_log",label:"网站日志"},{value:"usranalyse_log",label:"堡塔防入侵日志"},{value:"mysql_log",label:"MySQL日志"},{value:"Recycle",label:"回收站日志"},{value:"mail_log",label:"邮件日志"},{value:"php_session",label:"PHP会话日志"},{value:"total_log",label:"网站统计报表日志"},{value:"user_config",label:"用户配置日志"}],et=e=>(El.value&&at(e),[ta("清理类型","radioType",[{label:"选择类型",value:1},{label:"自定义路径",value:2}],{attrs:{disabled:le.value,onChange:l=>{he.value=l,e.value.radioType=l,e.value.clearLogType=[],e.value.sName="",e.value.name="日志清理",l===1&&(e.value.sName="user_config")}}}),he.value===1?A(" ","clearLogType",tl,{attrs:{multiple:!0,disabled:le.value,class:"!w-[30rem]",placeholder:"请选择日志类型",onChange:l=>{e.value.clearLogType=l,e.value.sName=l.join(",");const a=l.map(o=>{var c;return(c=tl.find(u=>u.value===o))==null?void 0:c.label});e.value.name=l.length<=2?"日志清理[".concat(a.join(","),"]"):"日志清理[".concat(a.slice(0,2).join(","),"...等").concat(a.length,"项]")}},rules:[{required:!0,message:"请选择日志类型",trigger:"change"}]}):q([Q(" ","logText",{attrs:{class:"!w-[32rem]",disabled:le.value,placeholder:"请选择或输入自定义目录,一行一个",onInput:l=>{e.value.logText=l,e.value.log_cut_path=l.split("\n").filter(a=>a!=="").join(","),e.value.name=Al(l,2)}},rules:[{required:!0,message:"请输入自定义目录",trigger:"blur"}]}),we("添加目录",{attrs:{disabled:le.value,class:"!ml-8px",onClick:()=>lt(e)}})]),G("温馨提示",[{content:"自定义选择的目录支持切割的日志类型有:.log、.txt、.out、.err、.log.1"}])]),lt=e=>{be({type:"dir",path:e.value.logText,change:l=>{e.value.logText=e.value.logText+(e.value.logText?"\n":"")+l,e.value.log_cut_path=e.value.logText.split("\n").filter(a=>a!=="").join(","),e.value.name=Al(e.value.logText,1)}})},Al=(e,l)=>{const a=e.split("\n").filter(c=>c!=="");return a.length<=l?"日志清理[".concat(a.join(","),"]"):"日志清理[".concat(a.slice(0,l).join(","),"...等").concat(a.length,"项]")},at=e=>{El.value=!1,!le.value&&!al.value&&(he.value=1,e.value.radioType=1,e.value.name="日志清理"),(le.value||al.value)&&(e.value.clearLogType=e.value.sName.split(","),e.value.radioType=e.value.log_cut_path!==""?2:1,he.value=e.value.radioType,e.value.logText=e.value.log_cut_path.split(",").join("\n"))},tt={class:"flex items-center"},st={class:"defineClass"},ut={class:"flex items-center"},nt={class:"flex items-center"},ot={class:"flex items-center"},rt={class:"flex items-center"},it=Me({__name:"alert-form-item",props:{isEdit:{type:Boolean,default:!1},showKeyword:{type:Boolean,default:!1},showNotice:{type:Boolean,default:!0},needAll:{type:Boolean,default:!1},showSecond:{type:Boolean,default:!1},labelWidth:{default:""},showStopWeb:{type:Boolean,default:!1},stopSite:{type:Boolean,default:!0}},emits:["crontab","siteWeb"],setup(e,{expose:l,emit:a}){const{rowData:o}=C(F()),c=e,u=b(o.value.stop_site==="1"||!1),v=a,k=b(),d=b(0),L=b(!1),N=b([{type:"day",text:"每天",showDay:!1,showHour:!0,showMinute:!0,showSecond:!1},{type:"day-n",text:"N天",showDay:!0,showHour:!0,showMinute:!0,showSecond:!1},{type:"hour",text:"每小时",showDay:!1,showHour:!1,showMinute:!0,showSecond:!1},{type:"hour-n",text:"N小时",showDay:!1,showHour:!0,showMinute:!0,showSecond:!1},{type:"minute-n",text:"N分钟",showDay:!1,showHour:!1,showMinute:!0,showSecond:!1},{type:"week",text:"每周",showDay:!1,showHour:!0,showMinute:!0,showSecond:!1},{type:"month",text:"每月",showDay:!0,showHour:!0,showMinute:!0,showSecond:!1},{type:"second-n",text:"N秒",showDay:!1,showHour:!1,showMinute:!1,showSecond:!0},{type:"sweek",text:"自定义",showDay:!1,showHour:!0,showMinute:!0,showSecond:!1}]),H=ol({where1:[{validator:(_,t,r)=>{i.value.type==="day-n"||i.value.type==="month"?Number.parseInt(t)>31||Number.parseInt(t)<1||!Number.isInteger(parseFloat(t))?r(new Error("请输入1-31的整数")):t===""?r(new Error("请输入天数")):r():r()},trigger:["blur","change"]}],hour:[{validator:(_,t,r)=>{(i.value.type==="minute-n"||i.value.type==="hour"||i.value.type==="second-n")&&r(),Number.parseInt(t)>23||Number.parseInt(t)<0||!Number.isInteger(parseFloat(t))?r(new Error("请输入0-23的整数")):t===""?r(new Error("请输入小时")):i.value.type==="hour-n"&&Number.parseInt(t)===0?r(new Error("小时不能为0")):r()},trigger:["blur","change"]}],minute:[{validator:(_,t,r)=>{Number.parseInt(t)>59||Number.parseInt(t)<0||!Number.isInteger(parseFloat(t))?r(new Error("请输入0-59的整数")):t===""?r(new Error("请输入分钟")):i.value.type==="minute-n"&&(Number.parseInt(t)<1||!/^[1-9]\d*$/.test(t))?r(new Error("请输入1-59的整数")):r()},trigger:["blur","change"]}],second:[{validator:(_,t,r)=>{i.value.type==="second-n"?!Number.isInteger(parseFloat(t))||Number.parseInt(t)>59||Number.parseInt(t)<1?r(new Error("请输入1-59的整数")):t===""?r(new Error("请输入秒")):r():r()},trigger:["blur","change"]}],timeSet:[{validator:(_,t,r)=>{i.value.type==="sweek"&&!t.length?r(new Error("请选择时间")):r()},trigger:"change"}],specialHour:[{validator:(_,t,r)=>{i.value.type==="sweek"&&!t.length?r(new Error("请选择小时")):r()},trigger:"change"}],specialMinute:[{validator:(_,t,r)=>{i.value.type==="sweek"&&!t.length?r(new Error("请选择分钟")):r()},trigger:"change"}]}),T=_=>{f.value.notice_channel=_},U=_=>{k.value.clearValidate()},P=_=>{f.value.notice=_,_===1&&(f.value.notice_channel="all")},$=(_,t=!1)=>{c.isEdit||(f.value.notice=0,t&&Il()),i.value.type=_,d.value=N.value.findIndex(r=>r.type===_),i.value.type==="minute-n"&&(i.value.where1=i.value.minute),i.value.type==="hour-n"&&(i.value.where1=i.value.hour),i.value.type==="second-n"?(f.value.flock=!1,L.value=!0):L.value=!1,k.value&&k.value.clearValidate(),_=="custom"?v("crontab",!0):v("crontab",!1)};Ml(()=>{$(i.value.type)}),Hl(()=>{$(i.value.type,!0)});const Te=_=>{v("siteWeb",_)};return l({validate:()=>{var _;return(_=k.value)==null?void 0:_.validate()},WebStopSite:u}),(_,t)=>{const r=rl,B=il,x=He,te=We,Je=je,xe=cl,Ul=Yl,Pl=ya,Ol=Wl;return h(),I("div",null,[s(Ol,{ref_key:"alertFormRef",ref:k,rules:n(H),"label-width":e.labelWidth,inline:!0,model:n(i),class:"demo-form-inline"},{default:p(()=>[s(x,{class:"!w-full"},{default:p(()=>[s(x,{label:"执行周期"},{default:p(()=>{var O,Ze,Xe,Ye;return[g("div",tt,[s(x,{class:"el-form-item-item"},{default:p(()=>[s(B,{onChange:t[0]||(t[0]=m=>$(n(i).type,!0)),class:"!w-[8rem]",modelValue:n(i).type,"onUpdate:modelValue":t[1]||(t[1]=m=>n(i).type=m)},{default:p(()=>[(h(!0),I(M,null,se(n(N),(m,D)=>(h(),I(M,null,[m.type!=="second-n"||e.showSecond?(h(),V(r,{key:D,label:m.text,value:m.type},null,8,["label","value"])):S("",!0)],64))),256))]),_:1},8,["modelValue"])]),_:1}),n(i).type=="sweek"?(h(),I(M,{key:0},[s(x,{class:"el-form-item-item"},{default:p(()=>[s(B,{class:"!w-[8rem]",modelValue:n(i).timeType,"onUpdate:modelValue":t[2]||(t[2]=m=>n(i).timeType=m),onChange:U},{default:p(()=>[s(r,{label:"每天",value:"sday"}),s(r,{label:"每周",value:"sweek"}),s(r,{label:"每月",value:"smonth"})]),_:1},8,["modelValue"])]),_:1}),n(i).timeType==="sweek"?(h(),V(x,{key:0,class:"el-form-item-item",prop:"timeSet"},{default:p(()=>[s(B,{class:"!w-[16rem]",modelValue:n(i).timeSet,"onUpdate:modelValue":t[3]||(t[3]=m=>n(i).timeSet=m),multiple:"","collapse-tags":""},{default:p(()=>[s(r,{label:"周一",value:"1"}),s(r,{label:"周二",value:"2"}),s(r,{label:"周三",value:"3"}),s(r,{label:"周四",value:"4"}),s(r,{label:"周五",value:"5"}),s(r,{label:"周六",value:"6"}),s(r,{label:"周日",value:"7"})]),_:1},8,["modelValue"])]),_:1})):S("",!0),n(i).timeType==="smonth"?(h(),V(x,{key:1,class:"el-form-item-item",prop:"timeSet"},{default:p(()=>[s(B,{class:"!w-[14rem] cycle-select",modelValue:n(i).timeSet,"onUpdate:modelValue":t[4]||(t[4]=m=>n(i).timeSet=m),multiple:"","collapse-tags":"","collapse-tags-tooltip":""},{default:p(()=>[(h(),I(M,null,se(30,(m,D)=>s(r,{key:m,label:m,value:"".concat(m)},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),t[17]||(t[17]=g("span",{class:"el-input-group__append cycle-unit"},"号",-1))]),_:1})):S("",!0),s(x,{class:"el-form-item-item",prop:"specialHour"},{default:p(()=>[s(B,{class:"!w-[14rem] cycle-select",modelValue:n(i).specialHour,"onUpdate:modelValue":t[5]||(t[5]=m=>n(i).specialHour=m),multiple:"","collapse-tags":""},{default:p(()=>[(h(),I(M,null,se(24,(m,D)=>s(r,{key:D,label:D,value:D},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),t[18]||(t[18]=g("span",{class:"el-input-group__append cycle-unit"},"点",-1))]),_:1}),s(x,{class:"el-form-item-item",prop:"specialMinute"},{default:p(()=>[s(B,{class:"!w-[14rem] cycle-select",modelValue:n(i).specialMinute,"onUpdate:modelValue":t[6]||(t[6]=m=>n(i).specialMinute=m),multiple:"","collapse-tags":""},{default:p(()=>[(h(),I(M,null,se(60,(m,D)=>(h(),I(M,null,[D%5===0?(h(),V(r,{key:D,label:D,value:D},null,8,["label","value"])):S("",!0)],64))),64))]),_:1},8,["modelValue"]),t[19]||(t[19]=g("span",{class:"el-input-group__append cycle-unit"},"分",-1))]),_:1})],64)):(h(),I(M,{key:1},[n(i).type=="week"?(h(),V(x,{key:0,class:"el-form-item-item"},{default:p(()=>[s(B,{class:"!w-[8rem]",modelValue:n(i).week,"onUpdate:modelValue":t[7]||(t[7]=m=>n(i).week=m)},{default:p(()=>[s(r,{label:"周一",value:"1"}),s(r,{label:"周二",value:"2"}),s(r,{label:"周三",value:"3"}),s(r,{label:"周四",value:"4"}),s(r,{label:"周五",value:"5"}),s(r,{label:"周六",value:"6"}),s(r,{label:"周日",value:"7"})]),_:1},8,["modelValue"])]),_:1})):S("",!0),(O=n(N)[n(d)])!=null&&O.showDay?(h(),V(x,{key:1,class:"el-form-item-item",prop:"where1"},{default:p(()=>[s(te,{modelValue:n(i).where1,"onUpdate:modelValue":t[8]||(t[8]=m=>n(i).where1=m),min:1,width:"10rem",textType:"天",type:"number"},{append:p(()=>[...t[20]||(t[20]=[E(" 天 ",-1)])]),_:1},8,["modelValue"])]),_:1})):S("",!0),(Ze=n(N)[n(d)])!=null&&Ze.showHour?(h(),V(x,{key:2,class:"el-form-item-item",prop:"hour"},{default:p(()=>[s(te,{modelValue:n(i).hour,"onUpdate:modelValue":t[9]||(t[9]=m=>n(i).hour=m),width:"10rem",textType:"小时",max:"23",min:"0",type:"number"},{append:p(()=>[...t[21]||(t[21]=[E(" 小时 ",-1)])]),_:1},8,["modelValue"])]),_:1})):S("",!0),(Xe=n(N)[n(d)])!=null&&Xe.showMinute?(h(),V(x,{key:3,class:"el-form-item-item",prop:"minute"},{default:p(()=>{var m;return[(m=n(N)[n(d)])!=null&&m.showMinute?(h(),V(te,{key:0,modelValue:n(i).minute,"onUpdate:modelValue":t[10]||(t[10]=D=>n(i).minute=D),width:"10rem",max:"59",min:"0",type:"number"},{append:p(()=>[...t[22]||(t[22]=[E(" 分钟 ",-1)])]),_:1},8,["modelValue"])):S("",!0)]}),_:1})):S("",!0),(Ye=n(N)[n(d)])!=null&&Ye.showSecond?(h(),V(x,{key:4,class:"el-form-item-item",prop:"second"},{default:p(()=>{var m;return[(m=n(N)[n(d)])!=null&&m.showSecond?(h(),V(te,{key:0,modelValue:n(i).second,"onUpdate:modelValue":t[11]||(t[11]=D=>n(i).second=D),width:"10rem",max:"59",min:"0",type:"number"},{append:p(()=>[...t[23]||(t[23]=[E(" 秒 ",-1)])]),_:1},8,["modelValue"])):S("",!0)]}),_:1})):S("",!0)],64))])]}),_:1}),g("div",st,[s(x,{label:" ",class:"!mt-0 defineClass"},{default:p(()=>[g("div",ut,[s(Je,{modelValue:n(f).flock,"onUpdate:modelValue":t[12]||(t[12]=O=>n(f).flock=O),disabled:n(L)},{default:p(()=>[...t[24]||(t[24]=[E(" 开启进程锁",-1)])]),_:1},8,["modelValue","disabled"]),s(xe,{placement:"right-start",width:"440","popper-class":"white-tips-popover",trigger:"hover",content:""},{default:p(()=>[...t[25]||(t[25]=[g("div",{class:"p-12x"},[g("span",{class:"text-secondary"}," 在同一时间内只用一个进程在执行,若上一个进程未执行结束,下一次不执行 ")],-1),g("i",{slot:"reference",class:"el-icon-question text-warning ml-12x"},null,-1)])]),_:1})])]),_:1}),e.showStopWeb?(h(),V(x,{key:0,label:" ",class:"!mt-0 defineClass"},{default:p(()=>[g("div",nt,[s(Je,{modelValue:n(u),"onUpdate:modelValue":t[13]||(t[13]=O=>Ae(u)?u.value=O:null),onChange:Te},{default:p(()=>[...t[26]||(t[26]=[E(" 网站停用时是否停止备份",-1)])]),_:1},8,["modelValue"]),s(xe,{placement:"right-start",width:"220","popper-class":"white-tips-popover",trigger:"hover",content:""},{reference:p(()=>[...t[27]||(t[27]=[g("i",{class:"svgtofont-el-question-filled text-warning ml-[12px]"},null,-1)])]),default:p(()=>[t[28]||(t[28]=g("span",{class:"text-secondary"}," 该功能不支持反向代理和html项目 ",-1))]),_:1})])]),_:1})):S("",!0)])]),_:1}),ll(_.$slots,"center",{},void 0,!0),e.showNotice?(h(),V(x,{key:0,label:"备份提醒",prop:"notice",class:"!mt-1.6rem"},{default:p(()=>[g("div",ot,[s(Ul,{class:"!w-[20rem]",modelValue:n(f).notice,"onUpdate:modelValue":t[14]||(t[14]=O=>n(f).notice=O),options:n(zt),onChange:P},null,8,["modelValue","options"]),n(f).notice===1?(h(),V(x,{key:0,label:"消息通道"},{default:p(()=>[s(Pl,{modelValue:n(f).notice_channel,"onUpdate:modelValue":t[15]||(t[15]=O=>n(f).notice_channel=O),"is-show-api":!1,multiple:!1,"all-alarm":!0,onChange:T,class:"!w-16rem"},null,8,["modelValue"])]),_:1})):S("",!0),jl(s(x,{label:"关键词匹配",class:"!mt-0"},{default:p(()=>[g("div",rt,[s(xe,{placement:"top-start",width:"290","popper-class":"white-tips-popover",trigger:"focus",content:""},{default:p(()=>[t[29]||(t[29]=g("div",{class:"p-[12px]"},[g("div",null,[E("1、在shell程序中不要"),g("span",{class:"text-danger"},"中断"),E("执行如(exit等)")]),g("div",null,[E("2、输出"),g("span",{class:"text-danger"},"关键词"),E("(建议5位且程序中不会出现)")]),g("div",null,[E("3、匹配到关键词"),g("span",{class:"text-danger"},"发送告警")])],-1)),s(te,{slot:"reference",class:"mr-[4px]",modelValue:n(f).keyword,"onUpdate:modelValue":t[16]||(t[16]=O=>n(f).keyword=O),disabled:e.isEdit,width:"16rem",placeholder:"请输入关键词",type:"text"},null,8,["modelValue","disabled"])]),_:1})])]),_:1},512),[[zl,e.showKeyword&&n(f).notice===1]])])]),_:1})):S("",!0),ll(_.$slots,"bottom",{},void 0,!0)]),_:3},8,["rules","label-width","model"])])}}}),ct=pl(it,[["__scopeId","data-v-e5809429"]]),pt={class:"flex items-center"},vt={class:"text-small text-secondary flex items-center"},dt=Me({__name:"file-split-item",props:{rowData:{default:()=>{}},isEnterprise:{type:Boolean,default:!1}},setup(e){const l=e,a=[{name:"不拆分",value:"0"},{name:"按文件大小拆分",value:"size"},{name:"按数量拆分",value:"num"}],o=b(l.rowData.split_type||"0"),c=b(!!l.rowData.save_local||!1),u=d=>{d=="num"?R.value.split_value=5:d=="size"&&(R.value.split_value=1024),R.value.split_type=d},v=d=>{R.value.save_local=Number(d)},k=d=>{R.value.split_value=Number(d.target.value)};return(d,L)=>{const N=rl,H=il,T=We,U=He,P=je;return h(),I("div",null,[e.isEnterprise?S("",!0):(h(),V(U,{key:0,label:"文件拆分",class:"!mb-[14px]"},{default:p(()=>[g("div",pt,[s(H,{modelValue:n(o),"onUpdate:modelValue":L[0]||(L[0]=$=>Ae(o)?o.value=$:null),class:"mr-[4px] !w-[13rem]",onChange:u},{default:p(()=>[(h(),I(M,null,se(a,$=>s(N,{key:$.value,label:$.name,value:$.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),n(o)!=="0"?(h(),I("div",{key:0,onInput:k,class:"text-small flex items-center"},[s(T,{modelValue:n(R).split_value,"onUpdate:modelValue":L[1]||(L[1]=$=>n(R).split_value=$),type:"number",width:"14rem"},{append:p(()=>[E(Gl(n(o)=="num"?"个":"MB"),1)]),_:1},8,["modelValue"])],32)):S("",!0),L[3]||(L[3]=g("span",{class:"text-secondary text-small leading-8 ml-8x"},"*为避免文件过大导致上传失败,可以选择按大小或数量拆分。仅文件超过 5GB 时支持拆分,小文件请忽略 ",-1))])]),_:1})),s(U,{label:"备份设置"},{default:p(()=>[g("div",vt,[s(P,{modelValue:n(c),"onUpdate:modelValue":L[2]||(L[2]=$=>Ae(c)?c.value=$:null),class:"!mr-12x",onChange:v},{default:p(()=>[...L[4]||(L[4]=[E(" 同时保留本地备份(和云存储保留份数一致) ",-1)])]),_:1},8,["modelValue"])])]),_:1})])}}}),{panel:mt}=_e(),{backupPath:bt}=ze(mt.value),{rowData:Ue,typeInit:Sl}=C(F()),sl=y(()=>!!Ue.value.id),Fl=y(()=>!Ue.value.id&&!Ue.value),yt=b(bt.value),Z=b([]),ht=e=>(Sl.value&&wt(e),[q([fe("备份目录","sName",{attrs:{disabled:sl.value,placeholder:"请输入备份目录",class:"!w-[30rem]",onInput:l=>{e.value.name="备份目录[".concat(l,"]")}},rules:[{required:!0,message:"请输入备份目录",trigger:"blur"}]},()=>!sl.value&>(e)),A("备份到","backupTo",Z.value,{labelAttrs:{class:"el-small-label ml-8px"},attrs:{class:"!w-[16rem]"}}),Le("保留最新","save","份",{labelAttrs:{class:"el-small-label ml-8px"},attrs:{class:"w-[14rem]"},rules:[{required:!0,message:"保留最新份数不可为空",trigger:"blur"},{validator:Qe,trigger:"blur"}]})]),e.value.backupTo&&e.value.backupTo!=="localhost"?$e(e.value.sType):null,Q("排除目录","sBody",{attrs:{rows:10,resize:"none",class:"w-[60rem]",placeholder:"每行一条规则,目录不能以/结尾,\n 示例:data/config.php \n static/upload \n *.log,"}})]),gt=e=>{be({type:"dir",path:e.value.sName,change:l=>{e.value.sName=l,e.value.name="备份目录[".concat(l,"]")}})},_t=async e=>{var l,a,o;try{const{data:c}=await J({type:"sites"});Z.value=c.orderOpt.map(u=>({label:u.name,value:u.value,status:!!u.status,disabled:u.value!=="localhost"&&!u.status,render:v=>s("div",{class:"flex items-center justify-between"},[s("span",null,[v.label]),s("span",{onClick:()=>{ke({name:v.value})},class:"float-right cursor-pointer text-small text-danger ml-12px ".concat(v.value!=="localhost"?"":"!hidden")},[v.status?"":"[未配置]"])])})),(!Z.value||((l=Z.value[0])==null?void 0:l.value)!=="localhost")&&((a=Z.value)==null||a.unshift({label:"服务器磁盘",value:"localhost"})),Fl.value&&(e.value.backupTo=(o=Z.value)==null?void 0:o[0].value)}catch(c){}},wt=e=>{Sl.value=!1,Fl.value&&(e.value.db_backup_path=yt.value,e.value.save=3,e.value.sName="/www/wwwroot",e.value.name="备份目录[/www/wwwroot]",e.value.more="ALL"),_t(e)},{panel:ft}=_e(),{backupPath:Lt}=ze(ft.value),{rowData:Pe,typeInit:Vl}=C(F()),X=b([]),Cl=b([{label:"所有[所有网站]",value:"ALL"}]),kt=y(()=>!!Pe.value.id),Oe=y(()=>!Pe.value.id&&!Pe.value),$t=e=>(Vl.value&&Et(e),[q([A("备份网站","sName",Cl.value,{attrs:{placeholder:"请选择备份网站",class:"!w-[30rem]",disabled:kt.value,onChange:l=>{e.value.name="备份网站[ ".concat(l==="ALL"?"所有":l," ]")}}}),A("备份到","backupTo",X.value,{labelAttrs:{class:"el-small-label ml-8px"},attrs:{class:"!w-[16rem]"}}),Le("保留最新","save","份",{labelAttrs:{class:"el-small-label ml-8px"},attrs:{class:"w-[14rem]"},rules:[{required:!0,message:"保留最新份数不可为空",trigger:"blur"},{validator:Qe,trigger:"blur"}]})]),e.value.backupTo&&e.value.backupTo!=="localhost"?$e(e.value.sType):null,xt(e)&&fe("备份路径","db_backup_path",{attrs:{placeholder:"请输入备份路径",class:"!w-[30rem]"},rules:[{required:!0,message:"备份路径不可为空",trigger:"blur"}]},()=>At(e)),Q("排除规则","sBody",{attrs:{rows:10,resize:"none",class:"w-[60rem]",placeholder:"每行一条规则,目录不能以/结尾,\n 示例:data/config.php \n static/upload \n *.log,"}})]),Tt=async e=>{var l,a,o;try{const{data:c}=await J({type:"sites"});X.value=c.orderOpt.map(u=>({label:u.name,value:u.value,status:!!u.status,disabled:u.value!=="localhost"&&!u.status,render:v=>s("div",{class:"flex items-center justify-between"},[s("span",null,[v.label]),s("span",{onClick:()=>{ke({name:v.value})},class:"float-right cursor-pointer text-small text-danger ml-12px ".concat(v.value!=="localhost"?"":"!hidden")},[v.status?"":"[未配置]"])])})),(!X.value||((l=X.value[0])==null?void 0:l.value)!=="localhost")&&((a=X.value)==null||a.unshift({label:"服务器磁盘",value:"localhost"})),Oe.value&&(e.value.backupTo=(o=X.value)==null?void 0:o[0].value),Cl.value=[{label:"所有[所有网站]",value:"ALL"}].concat(c.data.map(u=>({label:u.name+"".concat(u.ps?"[".concat(u.ps,"]"):""),value:u.name})))||[],Oe.value&&(e.value.sName="ALL")}catch(c){}},xt=e=>{try{return!(e.value.backupTo!=="localhost"&&!R.value.save_local)}catch(l){}},Et=e=>{Vl.value=!1,Oe.value&&(e.value.name="备份网站[ 所有 ]",e.value.save=3,e.value.db_backup_path=Lt.value,e.value.more="ALL"),Tt(e)},At=e=>{be({type:"dir",path:e.value.db_backup_path,change:l=>{e.value.db_backup_path=l}})},{panel:St}=_e(),{backupPath:Ft}=ze(St.value),{rowData:ge,typeInit:Nl}=C(F()),Y=b([]),ne=b([{label:"所有[所有数据]",value:"ALL"}]),oe=b(!1),ue=b([]),Ee=y(()=>!!ge.value.id),Dl=y(()=>!ge.value.id&&!ge.value),Vt=(e,l)=>{e[e.length-1]==="ALL"||!e.length?(l.value.table_list=["ALL"],l.value.name="备份".concat(l.value.db_type,"数据库[ ").concat(l.value.sName," - 所有 ]")):e.length>0&&(l.value.table_list=e.filter(a=>a!=="ALL"),l.value.name="备份".concat(l.value.db_type,"数据库[ ").concat(l.value.sName," - ").concat(l.value.table_list.length>3?l.value.table_list.length+"张表":l.value.table_list.join(",")," ]"))},Ct=[{value:"mysql",label:"MySQL"},{value:"mongodb",label:"MongoDB"},{value:"redis",label:"Redis"}],Nt=e=>{var l;return Nl.value&&Bt(e),[q([A("数据库","db_type",Ct,{attrs:{class:"!w-[9rem]",disabled:Ee.value,onChange:a=>{qe(a),e.value.name="备份".concat(a,"数据库[ 所有 ]"),e.value.sName="ALL",e.value.table_list="ALL"}}}),A("数据库","sName",ne.value,{labelAttrs:{class:"el-small-label ml-8px"},attrs:{class:"!w-[16rem]",disabled:Ee.value,onChange:a=>{var o,c;e.value.sName=a,a==="ALL"?(e.value.name="备份".concat(e.value.db_type,"数据库[ 所有 ]"),e.value.table_list="ALL",ue.value=[]):(ue.value=(c=(o=ne.value.find(u=>u.value===a))==null?void 0:o.table_list)==null?void 0:c.map(u=>({label:u.tb_name,value:u.value===""?"ALL":u.value})),e.value.name="备份".concat(e.value.db_type,"数据库[ ").concat(a," ]"),e.value.table_list=e.value.db_type==="mysql"?["ALL"]:"ALL")}}}),A("","table_list",ue.value,{attrs:{multiple:e.value.db_type==="mysql","collapse-tags":e.value.db_type==="mysql","collapse-tags-tooltip":e.value.db_type==="mysql",disabled:Ee.value,class:"!w-[16rem] ml-8px"+(e.value.sName==="ALL"||!((l=ue.value)!=null&&l.length)||e.value.db_type!=="mysql"?" !hidden":""),onChange:a=>{e.value.db_type==="mysql"?Vt(a,e):e.value.name="备份".concat(e.value.db_type,"数据库[ ").concat(e.value.sName," - ").concat(a," ]")}}}),A("备份到","backupTo",Y.value,{labelAttrs:{class:"el-small-label ml-8px"},attrs:{class:"!w-[12rem]"}}),Le("保留最新","save","份",{labelAttrs:{class:"el-small-label ml-8px"},attrs:{class:"w-[10rem]"},rules:[{required:!0,message:"保留最新份数不可为空",trigger:"blur"},{validator:Qe,trigger:"blur"}]})]),e.value.backupTo&&e.value.backupTo!=="localhost"?$e(e.value.sType):null,fe("备份路径","db_backup_path",{attrs:{class:"!w-[42rem]"},rules:[{required:!0,message:"备份路径不可为空",trigger:"blur"}]},()=>It(e)),ae(" ",()=>s("div",{class:"text-small text-secondary flex items-center h-full"},[s(je,{class:"!mr-[12px]",modelValue:oe.value,"onUpdate:modelValue":a=>oe.value=a,onChange:()=>{e.value.backup_mode=oe.value?1:0}},{default:()=>[E("使用数据库对应账号备份")]}),s("span",{class:"text-tertiary text-small"},[E(" *注意:目前只支持mysql数据库的本地数据库备份 ")])])),G("温馨提示",[{content:"远程数据库不支持备份表"}])]},Dt=async e=>{var l,a,o;try{const{data:c}=await J({type:"sites"});Y.value=c.orderOpt.map(u=>({label:u.name,value:u.value,status:!!u.status,disabled:u.value!=="localhost"&&!u.status,render:v=>s("div",{class:"flex items-center justify-between"},[s("span",null,[v.label]),s("span",{onClick:()=>{ke({name:v.value})},class:"float-right text-small text-danger cursor-pointer ml-12px ".concat(v.value!=="localhost"?"":"!hidden")},[v.status?"":"[未配置]"])])})),(!Y.value||((l=Y.value[0])==null?void 0:l.value)!=="localhost")&&((a=Y.value)==null||a.unshift({label:"服务器磁盘",value:"localhost"})),Dl.value&&(e.value.backupTo=(o=Y.value)==null?void 0:o[0].value)}catch(c){}},Bt=async e=>{var l;Nl.value=!1,Dt(e),Dl.value?(e.value.name="备份mysql数据库[ 所有 ]",e.value.db_type="mysql",e.value.backup_mode=0,e.value.sName="ALL",e.value.db_backup_path=Ft.value,e.value.save=3,e.value.more="ALL",e.value.table_list="ALL",oe.value=!1,await qe("mysql"),e.value.table_list=["ALL"]):(e.value.db_type==="mysql"&&(oe.value=!!((l=ge.value)!=null&&l.backup_mode)),await qe(e.value.db_type),e.value.db_type==="mysql"?e.value.table_list===""?e.value.table_list=["ALL"]:e.value.table_list=Array.isArray(e.value.table_list)?e.value.table_list:e.value.table_list.split(","):e.value.table_list===""?e.value.table_list="ALL":e.value.table_list)},qe=async e=>{var l,a;try{const o=await ia({db_type:e});ne.value=o.data.map(c=>({label:c.name+(c.ps?"[".concat(c.ps,"]"):""),value:c.name,table_list:c.table_list})),ue.value=(l=ne.value[0].table_list)==null?void 0:l.map(c=>({label:c.tb_name,value:c.value===""?"ALL":c.value})),(a=ne.value)==null||a.unshift({label:"所有[所有数据]",value:"ALL"})}catch(o){}},It=e=>{be({type:"dir",path:e.value.db_backup_path,change:l=>{e.value.db_backup_path=l}})},ee=b([]),W=b([]),K=b([]),{rowData:pe,typeInit:Bl}=C(F()),Re=y(()=>!!pe.value.id),Ut=y(()=>!pe.value.id&&pe.value),ve=y(()=>!pe.value.id&&!pe.value),Pt=e=>(Bl.value&&qt(e),[q([A("备份数据库","db_name",W.value,{attrs:{class:"!w-[20rem] mr-8px",disabled:Re.value,onChange:l=>{var a;e.value.tb_name="ALL",e.value.name="[勿删]数据库增量备份[ ".concat(l," - 所有 ]"),K.value=(a=W.value.find(o=>o.value===l))==null?void 0:a.table_list.map(o=>({label:o.tb_name,value:o.value===""?"ALL":o.value}))}}}),K.value&&A("","tb_name",K.value,{attrs:{disabled:Re.value,class:"!w-[20rem]",onChange:l=>{var o;const a=(o=W.value.find(c=>c.value===e.value.db_name))==null?void 0:o.label;e.value.name="[勿删]数据库增量备份[ ".concat(a," - ").concat(l==="ALL"?"所有":l," ]")}}}),A("备份到","backupTo",ee.value,{labelAttrs:{class:"el-small-label ml-8px"},attrs:{class:"!w-[16rem]"}})]),e.value.backupTo&&e.value.backupTo!=="localhost"?$e(e.value.sType):null,(ve.value||Ut.value)&&sa("压缩密码","zip_password",{attrs:{class:"w-[32rem]",placeholder:"请输入压缩密码"}},()=>{e.value.zip_password=ea(16)}),G("温馨提示",[{content:'<span class="text-dangerDark">注意:请牢记压缩密码,以免因压缩密码导致无法恢复和下载数据</span>',isHtml:!0},{content:"【使用提醒】当前数据库暂不支持SQLServer、MongoDB、Redis、PgSQL备份"}])]),Ot=async e=>{var l,a,o;try{const{data:c}=await J({type:"sites"});ee.value=c.orderOpt.map(u=>({label:u.name,value:u.value,status:!!u.status,disabled:u.value!=="localhost"&&!u.status,render:v=>s("div",{class:"flex items-center justify-between"},[s("span",null,[v.label]),s("span",{onClick:()=>{ke({name:v.value})},class:"float-right cursor-pointer text-small text-danger ml-12px ".concat(v.value!=="localhost"?"":"!hidden")},[v.status?"":"[未配置]"])])})),(!ee.value||((l=ee.value[0])==null?void 0:l.value)!=="localhost")&&((a=ee.value)==null||a.unshift({label:"服务器磁盘",value:"localhost"})),ve.value&&(e.value.backupTo=(o=ee.value)==null?void 0:o[0].value)}catch(c){}},qt=e=>{Bl.value=!1,ve.value?(e.value.name="[勿删]数据库增量备份[ --/-- ]",e.value.more="ALL"):(e.value.db_name=e.value.sName,e.value.tb_name=e.value.sBody===""?"ALL":e.value.sBody),Ot(e),Rt(e)},Rt=async e=>{var l,a,o,c,u,v;try{const{data:k}=await ca();W.value=k.data.map(d=>({label:d.name,value:d.name,table_list:d.table_list})),K.value=((l=k.data[0].table_list)==null?void 0:l.map(d=>({label:d.tb_name,value:d.value===""?"ALL":d.value})))||[{label:"所有",value:"ALL"}],W.value.length>0&&ve.value?(e.value.db_name=(a=W.value[0])==null?void 0:a.value,e.value.tb_name=(o=K.value[0])==null?void 0:o.value,e.value.name="[勿删]数据库增量备份[ ".concat(W.value[0].label," - ").concat((c=K.value[0])==null?void 0:c.label," ]")):!Re.value&&!ve.value&&(K.value=(v=(u=W.value.find(d=>d.value===e.value.db_name))==null?void 0:u.table_list)==null?void 0:v.map(d=>({label:d.tb_name,value:d.value===""?"ALL":d.value})))}catch(k){}},{payment:Mt,adHideInfo:Ht}=_e(),{rowData:w,typeInit:_s}=C(F()),jt=ol([{value:"toShell",label:"Shell脚本"},{value:"toPython",label:"Python脚本"},{value:"site",label:"备份网站"},{value:"database",label:"备份数据库"},...Ht.value.crontabBackup?[]:[{label:"数据库增量备份",value:"enterpriseBackup",render:e=>s("div",{class:"flex items-center"},[s("span",null,[E("数据库增量备份")]),s("i",{class:"svgtofont-icon-ltd ml-[0.4rem] text-ltd text-base"},null)])}],{value:"logs",label:"网站日志切割"},{value:"path",label:"备份目录"},{value:"webshell",label:"木马查杀"},{value:"sync_time",label:"同步时间"},{value:"rememory",label:"释放内存"},{value:"toUrl",label:"访问URL-GET"},{value:"to_post",label:"访问URL-POST"},{value:"site_restart",label:"网站启停"},{value:"log_cleanup",label:"定时清理日志"}]),zt=[{label:"不接收任何消息通知",value:0},{label:"任务执行失败接收通知",value:1}],Wt=e=>["site","database","enterpriseBackup","path"].includes(e),ul=e=>!isNaN(Number(e))&&Number(e)<10?"0"+e:e,nl=y(()=>{var L,N,H,T,U;let e="",l=["day","day-n","hour","week","month","minute-n","hour-n","second-n"],a={1:"周一",2:"周二",3:"周三",4:"周四",5:"周五",6:"周六",7:"周日"},o=i.value.type,c=((L=i.value.hour)==null?void 0:L.toString())||"--",u=((N=i.value.minute)==null?void 0:N.toString())||"--",v=((H=i.value.where1)==null?void 0:H.toString())||"--",k=((T=i.value.week)==null?void 0:T.toString())||"--",d=((U=i.value.second)==null?void 0:U.toString())||"--";if(l.includes(o)){const P="".concat(ul(c),":").concat(ul(u)," 执行一次");switch(o){case"day":e="每天的 ".concat(P);break;case"day-n":e="每隔 ".concat(v," 天的 ").concat(P);break;case"hour":e="每小时的第 ".concat(u," 分钟执行一次");break;case"week":e="每周 ".concat(a[k]," 的 ").concat(P);break;case"month":e="每月 ".concat(v," 号 ").concat(P);break;case"minute-n":e="每小时的第0分钟开始,每隔 ".concat(u," 分钟执行一次");break;case"hour-n":e="每天0点开始,每隔 ".concat(c," 小时的第 ").concat(u," 分钟执行一次");break;case"second-n":e="每隔 ".concat(d," 秒执行一次");break}}else e="";return e}),Ke=b(),Gt=e=>{const l=e==="toShell"||e==="toUrl"||e==="to_post";return ae("",()=>s(ct,{ref:a=>Ke.value=a,showNotice:Wt(e),showKeyword:e==="toShell",showStopWeb:e==="site",showSecond:l,isEdit:!!w.value},{center:()=>nl.value?s("div",{class:"text-small ml-[10rem] mt-[1.6rem] leading-[1rem]",innerHTML:nl.value},null):null,bottom:()=>f.value.notice&&["site","database","path"].includes(e)?s("div",{class:"text-small ml-10rem mt-1.2rem leading-[1rem]"},[E("检查到磁盘剩余空间小于备份文件的 5 倍或者小于 1GB 时会发送磁盘不足的提示")]):null}))},$e=e=>ae("",()=>s(dt,{rowData:w.value,isEnterprise:e==="enterpriseBackup"},null)),i=b({type:"day",week:"1",hour:"1",minute:"30",second:"5",where1:"1",timeSet:["1"],timeType:"sday",specialHour:[0],specialMinute:[0]}),f=b({notice:0,notice_channel:"all",keyword:"",flock:!0}),R=b({split_value:5,split_type:"0",save_local:0}),Qe=(e,l,a)=>{const o=Number(l);o<0||o===0?a(new Error("请输入不为0的数字")):a()},Kt=e=>{let l=e.value.sType;switch(l||(l="toShell"),l){case"toShell":return ga(e);case"toPython":return ka(e);case"logs":return Sa(e);case"webshell":return Da(e);case"sync_time":return Pa(e);case"rememory":return!w.value&&(e.value.name="释放内存"),Ra();case"toUrl":return Ha(e);case"to_post":return Wa(e);case"site_restart":return Za(e);case"log_cleanup":return et(e);case"path":return ht(e);case"site":return $t(e);case"database":return Nt(e);case"enterpriseBackup":return Pt(e);default:return()=>[]}},Qt=()=>{const e=w.value.special_time.split(",");let l=[],a=[];e.forEach(u=>{l.push(parseInt(u.split(":")[0])||0),a.push(parseInt(u.split(":")[1])||0),l=Array.from(new Set(l)),a=Array.from(new Set(a))});const o=w.value.timeSet?w.value.timeSet.split(","):w.value.time_set?w.value.time_set.split(","):["1"];i.value={type:w.value.type,hour:w.value.where_hour,minute:w.value.where_minute,where1:w.value.where1,week:w.value.where1,timeType:w.value.timeType||w.value.time_type,timeSet:o,specialHour:l,specialMinute:a,second:w.value.second||"5"};const c=["notice","notice_channel","keyword","flock"];for(let u in f.value)c.includes(u)&&(f.value[u]=w.value[u],u==="flock"&&(f.value[u]=w.value[u]===1));R.value={split_value:w.value.split_value,split_type:w.value.split_type,save_local:Number(w.value.save_local)}},Jt=e=>{var c;let l={name:"",sType:"toShell",sBody:"",sName:"",backupTo:"",save:"",urladdress:"",save_local:0,notice:0,notice_channel:"",datab_name:e.db_name||"",tables_name:e.tb_name||"",keyword:"",flock:1,version:"",user:"",...e,stop_site:Number((c=Ke.value)==null?void 0:c.WebStopSite)||0,...i.value};if(l=Object.assign(l,f.value),l.flock=Number(f.value.flock),l.type==="sweek"){l.where1="5",l.hour="1",l.minute="5",l.week="1";let u=[];l.specialHour.forEach(v=>{l.specialMinute.forEach(k=>{u.push((v<10?"0"+v:v)+":"+(k<10?"0"+k:k)),u=Array.from(new Set(u))})}),l.special_time=u.join(","),l.time_set=l.timeSet,l.time_type=l.timeType,delete l.timeSet,delete l.timeType}return e.sType==="toPython"&&(l.params=JSON.stringify({python_env:e.python_env}),delete l.python_env),e.sType==="site_restart"&&(l.minute="5",l.where1="5",l.type="sweek"),i.value.type!=="second-n"&&delete l.second,e.sType==="to_post"&&(l.post_param=JSON.stringify(ce.value)),["database","enterpriseBackup","site","path"].includes(e.sType)&&!la(R.value.split_value)&&(l=Object.assign(l,R.value)),Zt(l)},Zt=e=>(e.sType==="log_cleanup"?(e.radioType===1&&(e.log_cut_path=""),delete e.radioType,delete e.clearLogType,delete e.logText):e.sType==="site_restart"&&(delete e.startTime,delete e.stopTime),delete e.specialHour,delete e.specialMinute,delete e.echo,delete e.type_zh,delete e.type_name,delete e.sort,delete e.cycle,delete e.rname,e),Xt=async e=>{if(Mt.value.authType!=="ltd"&&e.sType==="enterpriseBackup")return ha({sourceId:53}),!1;let l=re.load("正在提交,请稍候...");try{const a=e.sType==="enterpriseBackup";e.sType==="database"&&e.db_type==="mysql"&&Array.isArray(e.table_list)&&(e.table_list.includes("ALL")?e.table_list="ALL":e.table_list=e.table_list.join(","));const o=Jt(e);if(a)return await Yt(o);{const c=w.value.id;let u;return c?u=await pa(o):u=await va(o),es(u),re.request(u),u.status&&dl(),u.status}}catch(a){}finally{l.close()}},Yt=async e=>{try{const l=w.value.id;e.tb_name==="ALL"&&(e.tb_name="");const a=l?await ma(e):await da(e);return re.request(a),dl(),a.status}catch(l){}},es=e=>{if(e.msg.includes("系统加固")){de({title:"临时关闭系统加固",area:44,component:()=>me(()=>import("./index366.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),showFooter:!0});return}},Il=()=>{Object.assign(i.value,{type:"day",week:"1",hour:"1",minute:"30",second:"5",where1:"1",timeSet:["1"],timeType:"sday",specialHour:[0],specialMinute:[0]}),Object.assign(f.value,{notice:0,notice_channel:"",keyword:"",flock:!0})},ls={class:"p-2rem"},as={class:"w-[60rem]"},ts=["onClick"],ss=Me({__name:"index",setup(e,{expose:l}){const{rowData:a,typeInit:o}=C(F()),c=y(()=>["logs","webshell","site_restart","path","site","database","enterpriseBackup"].includes(L.value.sType)),u=y(()=>!["site_restart"].includes(L.value.sType)),v=y(()=>a.value&&a.value.id),k=y(()=>a.value&&!a.value.id),{BtForm:d,param:L,submit:N,clearValidate:H}=aa({data:()=>{if(a.value){Qt(),a.value.sType==="to_post"&&(ce.value=JSON.parse(a.value.post_param));let T=a.value.sType;switch(T){case"mysql_increment_backup":T="enterpriseBackup";break}return{...a.value,sType:T,name:a.value.rname||a.value.name,...a.value.sType==="toPython"?{python_env:a.value.params.python_env}:{}}}return{sType:"toShell",name:""}},options:T=>y(()=>[q([A("任务类型","sType",jt,{attrs:{clearable:!1,class:"!w-[30rem] crontab_task_type",disabled:v.value||k.value,onChange:()=>{H(),o.value=!0,T.value.name=""}}}),vl(()=>s(cl,{placement:"top-start",width:"260","popper-class":"green-tips-popover",trigger:"hover"},{default:()=>s("div",null,[s("span",{class:"text-white"},[E("任务类型包含以下部分:Shell脚本、备份网站、备份数据库、数据库增量备份、网站日志切割、自定义日志切割、释放内存、访问URL-GET、访问URL-POST、备份目录、木马查杀、同步时间")])]),reference:()=>s("i",{class:"inline-block svgtofont-el-question-filled text-warning ml-[12px] mt-8px"},null)}))]),Ge("任务名称","name",{attrs:{placeholder:"请输入计划任务名称",disabled:c.value&&!v.value&&!k.value,class:"w-[30rem]"},rules:[{required:!0,message:"请输入计划任务名称",trigger:"blur"}]}),u.value?Gt(T.value.sType):null,...Kt(T),{type:"slots",key:"custom"}]),submit:async(T,U,P)=>{var $;return await U(),await(($=Ke.value)==null?void 0:$.validate()),await Xt(T.value)}});return l({onConfirm:N}),Kl(()=>{F().$resetForm(),Il()}),(T,U)=>{const P=We,$=Ql,Te=Jl,_=Zl,t=He;return h(),I("div",ls,[s(n(d),null,{custom:p(()=>[n(L).sType==="to_post"?(h(),V(t,{key:0,label:"参数配置"},{default:p(()=>[g("div",as,[s(Te,{ref_key:"paramTableRef",ref:Ne,class:"param-table",data:n(ce),"row-class-name":n(Ga),"max-height":"200",onSelectionChange:n(Ka)},{default:p(()=>[s($,{label:"参数名",prop:"paramName",width:"240"},{default:p(({row:r})=>[s(P,{modelValue:r.paramName,"onUpdate:modelValue":B=>r.paramName=B,type:"text",size:"small"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),s($,{label:"参数值",prop:"paramValue"},{default:p(({row:r})=>[s(P,{modelValue:r.paramValue,"onUpdate:modelValue":B=>r.paramValue=B,type:"text",size:"small"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),s($,{label:"操作",align:"right",width:"70"},{default:p(({row:r,index:B})=>[g("span",{class:"bt-link",onClick:x=>n(Ja)(r,B)},"删除",8,ts)]),_:1})]),_:1},8,["data","row-class-name","onSelectionChange"]),s(_,{type:"primary",size:"small",class:"!mt-[1rem]",onClick:n(Qa)},{default:p(()=>[...U[0]||(U[0]=[g("i",{class:"svgtofont-el-plus text-white font-bold mr-[0.4rem]"},null,-1),E("添加参数 ",-1)])]),_:1},8,["onClick"])])]),_:1})):S("",!0)]),_:1})])}}}),ws=pl(ss,[["__scopeId","data-v-587d12bb"]]);export{ws as default};
function __vite__mapDeps(indexes) {
if (!__vite__mapDeps.viteFileDeps) {
__vite__mapDeps.viteFileDeps = []
}
return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
}