File: /www/server/panel/BTPanel/static/js/index448.js
import{_ as ye}from"./index118.js?v=1777008528";import{w as $,k as v,M as ge,d3 as be,cO as ve,W as ke,cP as Ve,K as xe,cZ as Ee}from"./utils-lib.js?v=1777008528";import{c as Ne,r as p,av as Te,H as Q,g as Be,o as Ie,I as De,j as i,k as H,e as s,v as r,q as k,p as n,Q as Z,x as V,J as G,C as w,F as X,B as Se,y as g,V as Ce,ap as Fe,z as Me,ad as Ue,am as $e,an as He,ab as Oe}from"./base-lib.js?v=1777008528";import{_ as qe}from"./index131.js?v=1777008528";import{_ as Re}from"./index119.js?v=1777008528";import{g as Le}from"./index3.js?v=1777008528";import{restoreBackup as Pe,downloadBackup as Ae,deleteBackup as je,getBackupList as ze,editBackupConfig as Y,getBackupType as We,setBackupStatus as Je,getBackupConfig as Ke}from"./site.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./index116.js?v=1777008528";const Qe={class:"flex items-center"},Ze={class:"flex items-center"},Ge={class:"p-[20px]"},Xe={class:"flex items-center"},Ye=Ne({__name:"index",props:{compData:{default:()=>[]}},setup(ee,{expose:te}){const f=ee,B=p(!1),h=p(!1),x=p(!1),O=p([]),oe=Te(f.compData,"path"),E=p(),t=Q({path:oe.value,time:"30分钟",backupTo:"localhost",type:"day",week:"1",hour:"1",minute:"30",second:"",where1:"1",timeSet:["1"],timeType:"sday"});let m="";const N=Be(()=>_.value.findIndex(o=>o.type===t.type)||0);let _=p([{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}]);const I=p([]),D=p(!0),ae=Q({backupTo:[{required:!0,message:"请选择备份到",trigger:"change"}],where1:[{validator:(o,e,a)=>{t.type==="day-n"||t.type==="month"?Number.parseInt(e)>31||Number.parseInt(e)<1||!Number.isInteger(parseFloat(e))?a(new Error("请输入1-31的整数")):e===""?a(new Error("请输入天数")):a():a()},trigger:["blur","change"]}],hour:[{validator:(o,e,a)=>{(t.type==="minute-n"||t.type==="hour"||t.type==="second-n")&&a(),Number.parseInt(e)>23||Number.parseInt(e)<0||!Number.isInteger(parseFloat(e))?a(new Error("请输入0-23的整数")):e===""?a(new Error("请输入小时")):t.type==="hour-n"&&Number.parseInt(e)===0&&Number.parseInt(t.minute)===0?a(new Error("小时和分钟不能同时为0")):a()},trigger:["blur","change"]}],minute:[{validator:(o,e,a)=>{Number.parseInt(e)>59||Number.parseInt(e)<0||!Number.isInteger(parseFloat(e))?a(new Error("请输入0-59的整数")):e===""?a(new Error("请输入分钟")):t.type==="hour-n"&&Number.parseInt(e)===0&&Number.parseInt(t.hour)===0?a(new Error("小时和分钟不能同时为0")):t.type==="minute-n"&&(Number.parseInt(e)<1||!/^[1-9]\d*$/.test(e))?a(new Error("请输入1-59的整数")):a()},trigger:["blur","change"]}],second:[{validator:(o,e,a)=>{t.type==="second-n"?!Number.isInteger(parseFloat(e))||Number.parseInt(e)>59||Number.parseInt(e)<1?a(new Error("请输入1-59的整数")):e===""?a(new Error("请输入秒")):a():a()},trigger:["blur","change"]}],timeSet:[{validator:(o,e,a)=>{t.type==="sweek"&&!e.length?a(new Error("请选择时间")):a()},trigger:"change"}]}),q=p([{content:"温馨提示:如果文件未发生改变,则不会触发增量备份"},{content:"增量备份第一次备份,会备份一个完整的备份用于恢复,之后的备份则仅备份修改的文件"}]),ne=()=>Ce([{prop:"name",label:"备份名称",showOverflowTooltip:!0,minWidth:100,render:o=>s("span",{class:"truncate"},[o.name])},{prop:"backupTo",label:"存储位置"},{prop:"size",label:"备份大小"},{prop:"time",label:"备份时间",width:150},{prop:"type",label:"备份类型",width:80},Le([{onClick:se,width:60,title:"恢复备份"},{onClick:re,title:"下载"},{onClick:le,title:"删除"}])]),se=async o=>{await $({title:"恢复数据",content:"恢复备份【".concat(o.name,"】到文件后,文件将被覆盖,是否继续操作?"),icon:"warning-filled"}),v({loading:"正在恢复备份,请稍后...",request:Pe({backup_file:o.name,backup_id:o.id}),message:!0})},re=async o=>{const e=await v({request:Ae({backup_file:o.name,cron_id:m,backup_id:o.id}),data:{path:String,is_local:Boolean}});e.path&&window.open("".concat(e.is_local?"/download?filename="+encodeURIComponent(e.path):e.path),"_blank","noopener,noreferrer")},le=async o=>{await $({width:50,title:"删除备份",content:"删除备份【".concat(o.name,"】后,备份文件将被删除,是否继续操作?"),icon:"warning-filled"}),(await v({loading:"正在删除备份,请稍后...",request:je({backup_file:o.name,backup_id:o.id}),message:!0})).status&&await S()},T=async()=>{try{const{data:{msg:o,status:e}}=await Ke({src_folder:f.compData.path});x.value=Array.isArray(o)&&o.length?!!o[0].status:!1,Array.isArray(o)&&o.length?(m=o[0].id,Object.keys(t).forEach(a=>{o[0].hasOwnProperty(a)&&(t[a]=o[0][a]),o[0].hasOwnProperty("where_".concat(a))&&(t[a]=o[0]["where_".concat(a)])}),t.backupTo=o[0].backupTo||"localhost",t.path=o[0].sName,R(t.type)):m=""}catch(o){}},R=(o,e=!1)=>{t.type=o,t.where1="1",t.type==="minute-n"&&(t.where1=t.minute),t.type==="hour-n"&&(t.where1=t.hour),E.value&&E.value.clearValidate()},L=async()=>{await T(),S()},S=async()=>{try{D.value=!0;const o=await ze({src_folder:f.compData.path,cron_id:m});o.status?O.value=o.data.msg:ge.error(o.msg)}catch(o){}finally{D.value=!1}},ue=async()=>{await E.value.validate(),(await v({loading:"正在保存配置,请稍后...",request:Y({name:"网站增量备份[ ".concat(f.compData.name," ]"),...t,backupTo:t.backupTo,sName:t.path,sBody:"",sType:"toShell"}),message:!0})).status&&(h.value=!1,await T())},P=async()=>{t.path=f.compData.path,await ie(),h.value=!0},ie=async()=>{var o,e;try{B.value=!0;const a=await We({type:"sites"});I.value=((e=(o=a==null?void 0:a.data)==null?void 0:o.orderOpt)==null?void 0:e.map(y=>({label:y.name,value:y.value})))||[],I.value.unshift({label:"服务器磁盘",value:"localhost"})}catch(a){}finally{B.value=!1}},pe=()=>{const{week:o,hour:e,minute:a,where1:y,type:C,path:F,backupTo:M}=t;return{name:"网站增量备份[ ".concat(f.compData.name," ]"),week:o,hour:e,minute:a,where1:y,type:C,sName:m?F:f.compData.path,sBody:"",sType:"toShell",backupTo:m?M:"localhost"}},me=async o=>{if(o)if(m)await A(),await T();else{const e=pe();Y(e),P(),h.value=!0}else await $({title:"关闭增量文件备份",content:"关闭增量文件备份后,将会删除增量备份配置,是否继续操作?",icon:"warning-filled"}),await A(),await T()},A=async()=>{await v({request:Je({id:m}),message:!0})},de=ne();return Ie(L),te({init:L}),(o,e)=>{const a=Fe,y=Re,C=Me,F=qe,M=be,b=ve,d=Ue,c=$e,j=He,ce=ke,fe=Oe,z=Ve,we=xe,he=ye,U=De("bt-loading");return i(),H("div",null,[s(he,null,{"header-left":r(()=>[k("div",Qe,[k("div",Ze,[e[11]||(e[11]=k("span",{class:"mr-[4px]"},"启用增量文件备份",-1)),s(a,{modelValue:n(x),"onUpdate:modelValue":e[0]||(e[0]=u=>Z(x)?x.value=u:null),onChange:me},null,8,["modelValue"])]),s(y),s(C,{type:"default",onClick:P},{default:r(()=>[...e[12]||(e[12]=[V("增量备份配置",-1)])]),_:1})])]),"header-right":r(()=>[s(F,{onRefresh:S})]),content:r(()=>[G(s(M,{ref:"incrementSiteTable",height:"400",data:n(O),column:n(de)},null,8,["data","column"]),[[U,n(D)],[U,"正在加载列表,请稍后...","title"]])]),"footer-right":r(()=>[...e[13]||(e[13]=[])]),popup:r(()=>[s(we,{title:"增量文件备份配置",modelValue:n(h),"onUpdate:modelValue":e[10]||(e[10]=u=>Z(h)?h.value=u:null),area:60,onConfirm:ue,showFooter:""},{default:r(()=>[k("div",Ge,[G((i(),w(fe,{ref_key:"configFormRef",ref:E,model:n(t),rules:n(ae)},{default:r(()=>[s(d,{label:"备份目录"},{default:r(()=>[s(b,{disabled:"",modelValue:n(t).path,"onUpdate:modelValue":e[1]||(e[1]=u=>n(t).path=u),width:"34rem",title:n(t).path},null,8,["modelValue","title"])]),_:1}),s(d,{label:"执行周期"},{default:r(()=>{var u,W,J,K;return[k("div",Xe,[s(j,{class:"!w-[8rem] mr-1rem",modelValue:n(t).type,"onUpdate:modelValue":e[2]||(e[2]=l=>n(t).type=l),onChange:e[3]||(e[3]=l=>R(n(t).type,!0))},{default:r(()=>[(i(!0),H(X,null,Se(n(_),(l,_e)=>(i(),H(X,null,[l.type!=="second-n"?(i(),w(c,{key:_e,label:l.text,value:l.type},null,8,["label","value"])):g("",!0)],64))),256))]),_:1},8,["modelValue"]),n(t).type=="week"?(i(),w(d,{key:0,class:"el-form-item-item"},{default:r(()=>[s(j,{modelValue:n(t).week,"onUpdate:modelValue":e[4]||(e[4]=l=>n(t).week=l),class:"mr-1rem !w-[8rem]"},{default:r(()=>[s(c,{label:"周一",value:"1"}),s(c,{label:"周二",value:"2"}),s(c,{label:"周三",value:"3"}),s(c,{label:"周四",value:"4"}),s(c,{label:"周五",value:"5"}),s(c,{label:"周六",value:"6"}),s(c,{label:"周日",value:"7"})]),_:1},8,["modelValue"])]),_:1})):g("",!0),(u=n(_)[n(N)])!=null&&u.showDay?(i(),w(d,{key:1,class:"el-form-item-item mr-1rem",prop:"where1"},{default:r(()=>[s(b,{modelValue:n(t).where1,"onUpdate:modelValue":e[5]||(e[5]=l=>n(t).where1=l),min:1,width:"10rem",type:"number"},{append:r(()=>[...e[14]||(e[14]=[V("天",-1)])]),_:1},8,["modelValue"])]),_:1})):g("",!0),(W=n(_)[n(N)])!=null&&W.showHour?(i(),w(d,{key:2,class:"el-form-item-item mr-1rem",prop:"hour"},{default:r(()=>[s(b,{modelValue:n(t).hour,"onUpdate:modelValue":e[6]||(e[6]=l=>n(t).hour=l),width:"12rem",max:"23",min:"0",type:"number"},{append:r(()=>[...e[15]||(e[15]=[V("小时",-1)])]),_:1},8,["modelValue"])]),_:1})):g("",!0),(J=n(_)[n(N)])!=null&&J.showMinute?(i(),w(d,{key:3,class:"el-form-item-item",prop:"minute"},{default:r(()=>[s(b,{class:"mr-1rem",modelValue:n(t).minute,"onUpdate:modelValue":e[7]||(e[7]=l=>n(t).minute=l),width:"12rem",max:"59",min:"0",type:"number"},{append:r(()=>[...e[16]||(e[16]=[V("分钟",-1)])]),_:1},8,["modelValue"])]),_:1})):g("",!0),(K=n(_)[n(N)])!=null&&K.showSecond?(i(),w(d,{key:4,class:"el-form-item-item",prop:"second"},{default:r(()=>[s(b,{modelValue:n(t).second,"onUpdate:modelValue":e[8]||(e[8]=l=>n(t).second=l),width:"10rem",max:"59",min:"0",type:"number"},{append:r(()=>[...e[17]||(e[17]=[V("秒",-1)])]),_:1},8,["modelValue"])]),_:1})):g("",!0)])]}),_:1}),s(d,{label:"备份到"},{default:r(()=>[s(ce,{modelValue:n(t).backupTo,"onUpdate:modelValue":e[9]||(e[9]=u=>n(t).backupTo=u),options:n(I),class:"!w-24rem"},null,8,["modelValue","options"])]),_:1})]),_:1},8,["model","rules"])),[[U,n(B)]]),s(z,{options:[n(q)[0]],class:"mt-[16px] pl-[5rem]"},null,8,["options"])])]),_:1},8,["modelValue"])]),_:1}),s(z,{options:n(q),class:"mt-[16px] pl-[20px]"},null,8,["options"])])}}}),it=Ee(Ye,[["__scopeId","data-v-3dd546b4"]]);export{it as default};