HEX
Server: nginx/1.28.3
System: Linux ip-172-31-12-242 6.17.0-1007-aws #7~24.04.1-Ubuntu SMP Thu Jan 22 21:04:49 UTC 2026 x86_64
User: root (0)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/server/panel/BTPanel/static/js/index298.js
import{k,w as Y,cO as xe,c7 as Ce,K as ze,f as Ge,cP as Ve,X as Me,dc as Re,e as ie,_ as ue,d3 as Je,d4 as We,cZ as ke,da as Ke,cT as Qe,c as Xe,dp as Ze}from"./utils-lib.js?v=1777008528";import{c as D,r as x,H as te,w as Ye,o as q,aH as et,j as g,k as S,p as t,C as A,v as n,x as w,y as G,q as _,e,F as K,B as Q,s as ee,Q as ve,am as Ee,an as Se,z as se,ad as le,G as tt,ab as ce,I as Z,J as L,U as st,a8 as lt,K as ge,ap as X,aJ as Te,aI as Fe,g as ot,aB as be,T as ye,b7 as at,V as nt}from"./base-lib.js?v=1777008528";import{u as H}from"./useStore2.js?v=1777008528";import{_ as rt}from"./index206.js?v=1777008528";import{_ as it}from"./index116.js?v=1777008528";import{_ as Pe}from"./index175.js?v=1777008528";import{w as ut,p as pt,e as ct,y as mt,g as $e,b as dt}from"./index3.js?v=1777008528";import{getComposerVersion as _t,updateComposer as ft,deleteComposerFile as vt,execComposer as gt,getComposerLine as bt,setTomcatSettings as yt,getSitePhpVersion as ht,setPhpSiteGzip as wt,removePhpSiteGzip as xt,getPhpSiteGzip as Ct,setSecurityHeaders as Vt,getSecurityHeaders as kt,getCrossOriginAccess as Et,setCrossOriginAccess as St,deleteCrossOriginAccess as Tt,modifyCrontabStatus as ne,startTaskCrontab as he,removeCrontab as we,getCrontabList as Ft,getFreeTotalStatus as Pt,setFreeTotalStatus as $t,getPhpSiteCache as At,deletePhpSiteCache as Ot}from"./site.js?v=1777008528";import{_ as jt}from"./index.vue_vue_type_script_setup_true_lang8.js?v=1777008528";import{g as re}from"./form-item.js?v=1777008528";import{_ as Dt}from"./index.vue_vue_type_script_setup_true_lang18.js?v=1777008528";import{_ as Ae}from"./index118.js?v=1777008528";import Ht from"./index302.js?v=1777008528";const It={class:"p-1rem"},Nt={class:"flex items-center"},Lt={key:0,class:"text-danger"},qt={key:1,class:"text-danger text-small"},Ut={class:"mt-[8px] leading-8 text-small list-disc ml-[20px]"},Bt={key:0},zt={class:"p-2rem h-50rem flex flex-col"},Gt={class:"mb-1rem"},Mt={class:"flex-1 overflow-auto"},Rt=D({__name:"index",setup(o,{expose:r}){var M;const{siteInfo:a}=H(),c=(M=a.value)==null?void 0:M.project_type,f=Ge(),y=x(!1),d=x(!1),s=te({path:a.value.path,user:c!=="phpasync"?"www":"root",php:["静态","其它"].includes(a.value.php_version)?"auto":"PHP-"+a.value.php_version.replace(".",""),otherCommand:"",mirror:"https://mirrors.aliyun.com/composer/",command:"install",composerVersion:"install",version:"2.7.3",help_tips:"",comp_json:"",comp_lock:"",phpVersion:[],commandOptions:[{label:"install",value:"install"},{label:"update",value:"update"},{label:"require",value:"require"},{label:"create-project",value:"create-project"},{label:"自定义",value:""}]}),h=x("正在执行..."),m=x(!1),i=x(),p=x(!1);Ye(()=>a.value,C=>{s.php=["静态","其它"].includes(C.php_version)?"auto":"PHP-"+C.php_version.replace(".","")},{immediate:!0});const u=async C=>{y.value=!0;try{const l=await _t({path:C||a.value.path});l.data.status?(d.value=!1,s.phpVersion=l.data.php_versions.filter(B=>B.version!=="00"),s.phpVersion.unshift({name:"自动选择",version:"auto"}),s.comp_json=!1,s.comp_lock=!1,typeof l.data.comp_json=="string"&&(s.comp_json=l.data.comp_json),typeof l.data.comp_lock=="string"&&(s.comp_lock=l.data.comp_lock)):(d.value=!0,f.request(l))}catch(l){}finally{y.value=!1}},V=()=>{ut({type:"dir",path:s.path,change:C=>{s.path=C,u(s.path)}})},O=()=>{k({loading:"正在更新,请稍后...",request:ft(),message:!0,success:C=>{C.status&&u(s.path)}})},F=async()=>{k({loading:"正在删除,请稍后...",request:vt({path:s.path+"/composer.lock"}),message:!0,success:C=>{C.status&&u(s.path)}})},U=async()=>{i.value=setInterval(async()=>{try{v()}catch(C){clearInterval(i.value)}},2e3)},P=async()=>{var l;let C={php_version:(l=s.php)==null?void 0:l.replace("PHP-",""),composer_args:s.command,composer_cmd:s.otherCommand,repo:s.mirror,path:s.path,user:s.user,composer_version:s.version,siteName:a.value.name};await Y({title:"执行composer命令",content:"即将执行设定的composer命令,继续吗?",icon:"warning-filled"}),k({loading:"正在执行,请稍后...",request:gt(C),message:!0,success:B=>{B.status&&(m.value=!0,U())}})},v=async(C=!1)=>{try{const l=await bt({filename:"/tmp/composer_".concat(a.value.name,".log"),num:100});h.value=l.data.msg,C&&f.success("刷新成功")}catch(l){}},I=()=>{p.value=!0,v()},J=()=>{clearInterval(i.value),m.value=!1,p.value=!1,h.value=""};return q(u),r({init:u}),et(()=>{clearInterval(i.value)}),(C,l)=>{const B=Pe,T=Ee,z=Se,W=se,$=le,R=xe,N=it,qe=Ce,Ue=tt,Be=ce,_e=rt,fe=ze;return g(),S("div",null,[t(d)?(g(),A(B,{key:0,width:"28rem",options:{name:"composer",title:"composer"}},{default:n(()=>[...l[11]||(l[11]=[w(" 没有找到可用的composer版本 ",-1)])]),_:1})):G("",!0),_("div",It,[e(Be,{model:t(s)},{default:n(()=>[e($,{label:"Composer版本"},{default:n(()=>[_("div",Nt,[e(z,{modelValue:t(s).version,"onUpdate:modelValue":l[0]||(l[0]=b=>t(s).version=b),class:"!w-[28rem]"},{default:n(()=>[e(T,{label:"2.7.3",value:"2.7.3"}),e(T,{label:"1.10.27",value:"1.10.27"})]),_:1},8,["modelValue"]),e(W,{type:"default",class:"!ml-1rem",onClick:O},{default:n(()=>[...l[12]||(l[12]=[w(" 升级Composer ",-1)])]),_:1})])]),_:1}),e($,{label:"PHP版本"},{default:n(()=>[t(c)!=="phpasync"?(g(),A(z,{key:0,class:"!w-[28rem]",modelValue:t(s).php,"onUpdate:modelValue":l[1]||(l[1]=b=>t(s).php=b)},{default:n(()=>[(g(!0),S(K,null,Q(t(s).phpVersion,(b,ae)=>(g(),A(T,{key:ae,label:b.name,value:b.version},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):(g(),A(R,{key:1,modelValue:t(s).php,"onUpdate:modelValue":l[2]||(l[2]=b=>t(s).php=b),disabled:""},null,8,["modelValue"]))]),_:1}),e($,{label:"执行参数"},{default:n(()=>[e(z,{class:"!w-[28rem]","empty-values":[null,void 0],modelValue:t(s).command,"onUpdate:modelValue":l[3]||(l[3]=b=>t(s).command=b)},{default:n(()=>[(g(!0),S(K,null,Q(t(s).commandOptions,(b,ae)=>(g(),A(T,{key:ae,label:b.label,value:b.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e($,{label:"补充命令"},{default:n(()=>[e(R,{modelValue:t(s).otherCommand,"onUpdate:modelValue":l[4]||(l[4]=b=>t(s).otherCommand=b),placeholder:"请输入补充命令",width:"28rem"},null,8,["modelValue"])]),_:1}),e($,{label:"镜像源"},{default:n(()=>[e(z,{modelValue:t(s).mirror,"onUpdate:modelValue":l[5]||(l[5]=b=>t(s).mirror=b),filterable:"","allow-create":"","default-first-option":"",class:"!w-[28rem]"},{default:n(()=>[e(T,{label:"阿里云(mirrors.aliyun.com)",value:"https://mirrors.aliyun.com/composer/"}),e(T,{label:"官方源(packagist.org)",value:"repos.packagist"}),e(T,{label:"中国全量镜像(packagist.phpcomposer.com)",value:"https://packagist.phpcomposer.com"}),e(T,{label:"Packagist Mirror(packagist.mirrors.sjtug.sjtu.edu.cn)",value:"https://packagist.mirrors.sjtug.sjtu.edu.cn"}),e(T,{label:"腾讯源(mirrors.tencent.com)",value:"https://mirrors.tencent.com/composer/"}),e(T,{label:"华为云(mirrors.huaweicloud.com)",value:"https://mirrors.huaweicloud.com/repository/php/"})]),_:1},8,["modelValue"])]),_:1}),t(c)!=="phpasync"?(g(),A($,{key:0,label:"执行用户",prop:"command"},{default:n(()=>[e(z,{modelValue:t(s).user,"onUpdate:modelValue":l[6]||(l[6]=b=>t(s).user=b),class:"!w-28rem"},{default:n(()=>[e(T,{label:"www(推荐)",value:"www"}),e(T,{label:"root(不推荐)",value:"root"})]),_:1},8,["modelValue"])]),_:1})):G("",!0),e($,{label:"执行目录",prop:"composerVersion"},{default:n(()=>[e(N,{modelValue:t(s).path,"onUpdate:modelValue":l[7]||(l[7]=b=>t(s).path=b),icon:"el-folder-opened",onIconClick:V,width:"28rem"},null,8,["modelValue"])]),_:1}),e($,{label:" ",prop:"composerVersion"},{default:n(()=>[_("div",null,[t(s).comp_lock?(g(),S("span",Lt,[w(ee(t(s).comp_lock)+" ",1),e(qe,{onClick:F},{default:n(()=>[...l[13]||(l[13]=[w("[点击删除]",-1)])]),_:1})])):G("",!0),t(s).comp_json?(g(),S("span",qt,ee(t(s).comp_json),1)):G("",!0)])]),_:1}),e($,{label:" "},{default:n(()=>[e(W,{type:"primary",disabled:!!(typeof t(s).comp_json!="boolean"&&t(s).comp_json||typeof t(s).comp_lock!="boolean"&&t(s).comp_lock),onClick:P},{default:n(()=>[...l[14]||(l[14]=[w(" 执行 ",-1)])]),_:1},8,["disabled"]),e(Ue,{direction:"vertical",class:"!h-1rem !mx-2rem"}),e(W,{onClick:I},{default:n(()=>[...l[15]||(l[15]=[w("查看日志",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),_("ul",Ut,[l[16]||(l[16]=_("li",null,"Composer是PHP主流依赖包管理器,若您的项目使用Composer管理依赖包,可在此处对依赖进行升级或安装",-1)),l[17]||(l[17]=_("li",null,"Composer版本:当前安装的Composer版本,可点击右侧的【升级Composer】将Composer升级到最新稳定版",-1)),l[18]||(l[18]=_("li",null,"PHP版本:用于执行composer的PHP版本,无特殊要求,默认即可,如安装出错,可尝试选择其它PHP版本",-1)),l[19]||(l[19]=_("li",null,"执行参数:按需选择执行参数,可配合补充命令使用",-1)),l[20]||(l[20]=_("li",null,"补充命令:若此处为空,则按composer.json中的配置执行,此处支持填写完整composer命令",-1)),l[21]||(l[21]=_("li",null,"镜像源:提供【阿里源】和【官方源】,建议国内服务器使用【阿里源】,海外服务器使用【官方源】",-1)),t(c)!=="phpasync"?(g(),S("li",Bt,"执行用户:默认为www用户,除非您的网站以root权限运行,否则不建议使用root用户执行composer")):G("",!0),l[22]||(l[22]=_("li",null,"执行目录:默认为当前网站根目录",-1))])]),e(fe,{title:"请执行完毕确认结果无误后关闭此窗口",onCancel:J,modelValue:t(m),"onUpdate:modelValue":l[8]||(l[8]=b=>ve(m)?m.value=b:null),area:[50,42]},{default:n(()=>[e(_e,{class:"h-full",title:"全屏查看composer执行日志",content:t(h),isHtml:!0,isRefreshBtn:!1,isAuto:!0},null,8,["content"])]),_:1},8,["modelValue"]),e(fe,{title:"composer执行日志",onCancel:J,modelValue:t(p),"onUpdate:modelValue":l[10]||(l[10]=b=>ve(p)?p.value=b:null),area:60},{default:n(()=>[_("div",zt,[_("div",Gt,[e(W,{type:"primary",onClick:l[9]||(l[9]=b=>v(!0))},{default:n(()=>[...l[23]||(l[23]=[w(" 刷新日志 ",-1)])]),_:1})]),_("div",Mt,[e(_e,{class:"h-full",title:"全屏查看composer执行日志",content:t(h),isHtml:!0,isRefreshBtn:!1},null,8,["content"])])])]),_:1},8,["modelValue"])])}}}),Jt={class:"p-1rem relative"},Wt={class:"mt-[8px] leading-8 text-small list-disc ml-[20px]"},Kt={key:0},Qt=D({__name:"index",setup(o,{expose:r}){const{siteInfo:a}=H(),c=x(!1),f=x(!1),y=te({tomcat:!1}),d=x(""),s=()=>{k({loading:"正在设置,请稍后...",request:yt({siteName:a.value.name}),message:!0,success:i=>{i.status&&h()}})},h=async()=>{k({loading:c,request:ht({siteName:a.value.name}),success:i=>{y.tomcat=i.data.tomcat>0,f.value=!i.data.tomcatversion,d.value=i.data.tomcatversion}})},m=()=>{pt({name:"tomcat",type:"i"})};return q(h),r({init:h}),(i,p)=>{const u=Ce,V=Pe,O=st,F=Z("bt-loading");return L((g(),S("div",null,[t(f)?(g(),A(V,{key:0,width:"28rem"},{content:n(()=>[p[2]||(p[2]=w(" 请先安装tomcat, ",-1)),e(u,{onClick:m,class:"!text-small"},{default:n(()=>[...p[1]||(p[1]=[w(" 立即安装 ",-1)])]),_:1})]),_:1})):G("",!0),_("div",Jt,[e(O,{modelValue:t(y).tomcat,"onUpdate:modelValue":p[0]||(p[0]=U=>t(y).tomcat=U),onChange:s},{default:n(()=>[...p[3]||(p[3]=[w(" 启用Tomcat ",-1)])]),_:1},8,["modelValue"]),_("ul",Wt,[t(d)?(g(),S("li",Kt,"当前版本为Tomcat"+ee(t(d))+" ,若您需要其它版本,请到软件商店- 所有软件 中切换;",1)):G("",!0),p[4]||(p[4]=_("li",null,"部署顺序: 安装Tomcat >> 创建站点 >> 上传并配置项目 >> 启用Tomcat",-1)),p[5]||(p[5]=_("li",null,"若您的tomcat应用中有php脚本,访问时请添加.php扩展名",-1)),p[6]||(p[6]=_("li",null,"开启成功后,大概需要1-5分钟时间生效!",-1))])])])),[[F,t(c)]])}}}),{siteInfo:me}=H(),Oe=x(),Xt=x(!1),oe=x(!1),pe=x(!0),E=te({status:!1,gzip_types:"",comp_level:1,min_length:1,unit:"k"}),Zt=[{label:"k",value:"k"},{label:"m",value:"m"}],Yt=[{content:"用于对 HTTP 响应的内容进行压缩,以减少数据传输量,提高网站性能和加载速度"},{content:"压缩级别1-9,越高压缩率越高,但也更消耗CPU"},{content:"如果开启gzip后影响网站正常访问,请关闭此功能 和请求参数组成"}],es={gzip_types:[{required:!0,message:"请输入压缩类型",trigger:["blur","change"]}],min_length:[{required:!0,message:"请输入正确的压缩最小长度",trigger:"blur",validator:(o,r,a)=>{r?isNaN(Number(r))?a(new Error("请输入数字")):Number(r)<1?a(new Error("请输入正确数字")):a():a(new Error("压缩最小长度不能为空"))}},{}]},ts=async()=>{await Oe.value.validate();const{gzip_types:o,comp_level:r,min_length:a,unit:c}=E,f={site_name:me.value.name,gzip_types:o,comp_level:r,min_length:"".concat(a).concat(c)};await k({loading:oe,request:wt(f),message:!0})},ss=async()=>{if(!E.status)return await k({loading:oe,request:xt({site_name:me.value.name})});je()},je=async()=>{await k({loading:oe,request:Ct({site_name:me.value.name}),success:o=>{const{gzip_types:r,comp_level:a,min_length:c}=o.data;Object.assign(E,{gzip_types:r,comp_level:a,min_length:c.slice(0,-1),unit:c.slice(-1)}),pe.value&&(E.status=o.data.status,pe.value=!1)}})},ls={class:"p-[20px]"},os={class:"mt-[1.6rem]"},as={class:"flex items-center"},ns={class:"ml-[20px]"},rs=D({__name:"index",setup(o){return q(()=>{je()}),lt(()=>{pe.value=!0}),(r,a)=>{const c=X,f=le,y=xe,d=Ee,s=Se,h=se,m=ce,i=Ve,p=Z("bt-loading");return g(),S("div",ls,[L((g(),A(m,{ref_key:"compressFormRef",ref:Oe,class:"h-[38rem]",model:t(E),rules:t(es),"label-width":"100px",disabled:t(oe)},{default:n(()=>[e(f,{label:"内容压缩",prop:"status"},{default:n(()=>[e(c,{modelValue:t(E).status,"onUpdate:modelValue":a[0]||(a[0]=u=>t(E).status=u),onChange:t(ss)},null,8,["modelValue","onChange"])]),_:1}),L(_("div",os,[e(f,{label:"压缩类型",prop:"gzip_types"},{default:n(()=>[e(y,{modelValue:t(E).gzip_types,"onUpdate:modelValue":a[1]||(a[1]=u=>t(E).gzip_types=u),type:"textarea",width:"42rem",rows:6,resize:"none"},null,8,["modelValue"])]),_:1}),e(f,{label:"压缩级别",prop:"comp_level"},{default:n(()=>[e(s,{class:"!w-[42rem]",modelValue:t(E).comp_level,"onUpdate:modelValue":a[2]||(a[2]=u=>t(E).comp_level=u)},{default:n(()=>[(g(),S(K,null,Q(9,u=>e(d,{key:u,label:u,value:String(u)},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),e(f,{label:"压缩最小长度",prop:"min_length"},{default:n(()=>[_("div",as,[e(y,{modelValue:t(E).min_length,"onUpdate:modelValue":a[3]||(a[3]=u=>t(E).min_length=u)},null,8,["modelValue"]),e(f,{prop:"unit"},{default:n(()=>[e(s,{class:"ml-[1rem] !w-[8rem]",modelValue:t(E).unit,"onUpdate:modelValue":a[4]||(a[4]=u=>t(E).unit=u),placeholder:"请选择"},{default:n(()=>[(g(!0),S(K,null,Q(t(Zt),u=>(g(),A(d,{key:u.value,label:u.label,value:u.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})])]),_:1})],512),[[ge,t(E).status]]),L(e(f,{label:" ",class:"mt-[1.6rem]"},{default:n(()=>[e(h,{type:"primary",onClick:t(ts)},{default:n(()=>[...a[5]||(a[5]=[w("保存",-1)])]),_:1},8,["onClick"])]),_:1},512),[[ge,t(E).status]])]),_:1},8,["model","rules","disabled"])),[[p,t(Xt)]]),_("div",ns,[e(i,{options:t(Yt)},null,8,["options"])])])}}}),is={class:"px-2rem"},us={class:"ml-[8px]"},ps=D({__name:"index",setup(o,{expose:r}){const{siteInfo:a}=H(),c=x(!1),f=x([{help:"阻止浏览器上下文中执行恶意JavaScript代码",value:!1,field:"x_xss_protection"},{help:"阻止浏览器的内容嗅探",value:!1,field:"x_content_type_options"},{help:"让浏览器跳转时不携带referrer",value:!1,field:"referrer_policy"},{help:"让浏览器加载内容时只加载自己网站的内容",value:!1,field:"content_security_policy"},{help:"防止浏览器进行用户行为跟踪",value:!1,field:"permissions_policy"}]),y=()=>{let s={};f.value.forEach(m=>{s[m.field]=m.value});const h={site_name:a.value.name,security_info:JSON.stringify(s)};k({loading:"正在设置,请稍后...",request:Vt(h),message:!0,success:m=>{m.status&&d()}})},d=()=>{k({loading:c,request:kt({site_name:a.value.name}),success:s=>{f.value.forEach(h=>{s.data[h.field]&&(h.value=s.data[h.field])})}})};return q(d),r({init:d}),(s,h)=>{const m=X,i=Z("bt-loading");return L((g(),S("div",is,[(g(!0),S(K,null,Q(t(f),(p,u)=>(g(),S("div",{key:u,class:"flex items-center mb-[12px]"},[e(m,{modelValue:p.value,"onUpdate:modelValue":V=>p.value=V,onChange:y},null,8,["modelValue","onUpdate:modelValue"]),_("span",us,ee(p.help),1)]))),128))])),[[i,t(c)]])}}}),De=Te("CROSS-ORIGIN-ACCESS-STORE",()=>{const o=x({status:!1,siteName:null,project_type:null,allowed_origin:null,allowed_methods:null,allowed_headers:null,exposed_headers:null,allow_credentials:!1});return{formData:o,reset:()=>{o.value.status=!1,o.value.siteName=null,o.value.project_type=null,o.value.allowed_origin=null,o.value.allowed_methods=null,o.value.allowed_headers=null,o.value.exposed_headers=null,o.value.allow_credentials=!1}}}),He=()=>Fe(De()),{formData:j}=He(),de=async o=>{k({request:Et({siteName:o.siteName,project_type:o.project_type}),loading:"正在获取跨域访问配置...",success:({data:r})=>{j.value.siteName=o.siteName,j.value.project_type=o.project_type,j.value.status=r.status,j.value.allowed_origin=r.allowed_origins,j.value.allowed_methods=r.allow_methods,j.value.allowed_headers=r.allow_headers,j.value.exposed_headers=r.expose_headers,j.value.allow_credentials=r.allow_credentials}})},cs=async o=>{k({request:St(o),loading:"正在设置跨域访问配置...",message:!0,success:r=>{r.status&&de({siteName:o.siteName,project_type:o.project_type})}})},ms=async o=>{k({request:Tt({siteName:o.siteName,project_type:o.project_type}),loading:"正在删除跨域访问配置...",message:!0,success:r=>{r.status&&de({siteName:o.siteName,project_type:o.project_type})}})},ds=async o=>{j.value.status?cs(o):ms(o)},_s={class:"w-full"},fs=D({__name:"index",setup(o){const{siteInfo:r}=H(),{formData:a}=He(),c=x(!1),{reset:f}=De(),{BtForm:y,submit:d,param:s,ref:h}=Me({data:()=>a.value,options:m=>ot(()=>[re("状态",()=>e("div",{class:"flex items-center"},[e(X,{modelValue:m.value.status,"onUpdate:modelValue":i=>m.value.status=i,onChange:i=>{var p;i||(p=h.value)==null||p.clearValidate(["allowed_origin"])}},null),m!=null&&m.value.status?e("span",{class:"ml-[2rem] text-small text-[#606266]"},[w("当允许行跨域访问")]):null]),"status",{labelWidth:"140px"}),...m!=null&&m.value.status?[re("允许访问的域名",()=>e("div",{class:"flex items-center w-full"},[e("div",null,[e(be,{placement:"top-start",width:"auto",trigger:"click","popper-class":"green-tips-popover !p-0 !border-none"},{default:()=>e("div",{class:"!p-[12px] bg-primary text-white leading-[2.4rem]"},[w("使用*代表所有域名都可以跨域访问"),e("br",null,null),w("多个域名用 , 分隔")]),reference:()=>e(ye,{type:"textarea",rows:4,class:"!w-[32rem]",placeholder:"使用*代表所有域名都可以跨域访问,多个域名用,分隔",modelValue:m.value.allowed_origin,"onUpdate:modelValue":i=>m.value.allowed_origin=i},null)})])]),"allowed_origin",{rules:[{required:!0,message:"请输入允许访问的域名",trigger:"blur",validator:(i,p,u)=>{var V;if(!((V=m==null?void 0:m.value)!=null&&V.status)){u();return}if(!p){u(new Error("请输入允许访问的域名"));return}u()}}],labelWidth:"140px"}),{type:"slots",key:"custom"}]:[],re(" ",()=>e("div",{class:"flex items-center w-full ml-[6rem]"},[e(se,{type:"primary",onClick:()=>d()},{default:()=>[w("保存")]})]))]),submit:async(m,i)=>{try{return await i(),ds(m.value),!0}catch(p){return!1}}});return q(async()=>{f(),c.value=!0,await de({siteName:r.value.name,project_type:r.value.project_type}),c.value=!1}),(m,i)=>{const p=X,u=be,V=le,O=ye,F=jt,U=at;return L((g(),S("div",_s,[e(t(y),null,{custom:n(()=>[e(F,null,{config:n(()=>[e(V,{"label-width":"140px",label:"允许跨域携带cookie",prop:"allow_credentials"},{default:n(()=>[e(p,{modelValue:t(s).allow_credentials,"onUpdate:modelValue":i[0]||(i[0]=P=>t(s).allow_credentials=P)},null,8,["modelValue"]),e(u,{placement:"top-start",width:"auto",trigger:"hover","popper-class":"green-tips-popover !p-0 !border-none"},{reference:n(()=>[...i[4]||(i[4]=[_("span",{class:"ml-[8px] bt-ico-ask"},"?",-1)])]),default:n(()=>[i[5]||(i[5]=_("div",{class:"!p-[12px] bg-primary text-white leading-[2.4rem]"},[w(" Access-Control-Allow-Credentials 允许/拒绝浏览器发送凭据(如Cookie)。 "),_("br"),w(" 设为 true 时,请求携带的凭据将被服务器接受,但需同时指定具体源(不能使用 *)。 ")],-1))]),_:1})]),_:1}),e(V,{"label-width":"140px",label:"允许跨域的请求方法",prop:"allowed_methods"},{default:n(()=>[e(u,{placement:"top-start",width:"auto",trigger:"click","popper-class":"green-tips-popover !p-0 !border-none"},{reference:n(()=>[e(O,{type:"textarea",rows:4,class:"!w-[32rem]",modelValue:t(s).allowed_methods,"onUpdate:modelValue":i[1]||(i[1]=P=>t(s).allowed_methods=P),placeholder:"允许跨域的请求方法,例如: GET, POST"},null,8,["modelValue"])]),default:n(()=>[i[6]||(i[6]=_("div",{class:"!p-[12px] bg-primary text-white leading-[2.4rem]"},[w(" Access-Control-Allow-Methods 指定允许的HTTP方法(如 GET, POST, OPTIONS), "),_("br"),w(" 用于预检请求(OPTIONS)时告知客户端可支持的方法列表。 ")],-1))]),_:1})]),_:1}),e(V,{"label-width":"140px",label:"允许跨域携带的请求头",prop:"allowed_headers"},{default:n(()=>[e(u,{placement:"top-start",width:"auto",trigger:"click","popper-class":"green-tips-popover !p-0 !border-none"},{reference:n(()=>[e(O,{type:"textarea",rows:4,class:"!w-[32rem]",modelValue:t(s).allowed_headers,"onUpdate:modelValue":i[2]||(i[2]=P=>t(s).allowed_headers=P),placeholder:"允许跨域携带的请求头"},null,8,["modelValue"])]),default:n(()=>[i[7]||(i[7]=_("div",{class:"!p-[12px] bg-primary text-white leading-[2.4rem]"},[w(" Access-Control-Allow-Headers 在预检请求中定义允许携带的自定义请求头(如 Content-Type), "),_("br"),w(" 告知客户端哪些头可安全用于实际请求。 ")],-1))]),_:1})]),_:1}),e(V,{"label-width":"140px",label:"允许浏览器访问的响应头",prop:"exposed_headers"},{default:n(()=>[e(u,{placement:"top-start",width:"auto",trigger:"click","popper-class":"green-tips-popover !p-0 !border-none"},{reference:n(()=>[e(O,{type:"textarea",rows:4,class:"!w-[32rem]",modelValue:t(s).exposed_headers,"onUpdate:modelValue":i[3]||(i[3]=P=>t(s).exposed_headers=P),placeholder:"允许跨域浏览器访问的响应头"},null,8,["modelValue"])]),default:n(()=>[i[8]||(i[8]=_("div",{class:"!p-[12px] bg-primary text-white leading-[2.4rem]"},[w(" Access-Control-Expose-Headers 暴露给浏览器脚本的响应头列表, "),_("br"),w(" 客户端只能访问在此列表中声明的头(如 Content-Range)。 ")],-1))]),_:1})]),_:1})]),_:1})]),_:1})])),[[U,t(c)]])}}}),vs=D({__name:"index",setup(o,{expose:r}){const{siteInfo:a}=H(),c=x(),f=x([]),y=x(!1),{BtOperation:d}=Re({options:[{label:"添加计划任务",type:"button",active:!0,onClick:()=>p()}]}),s=async(v,I,J,M)=>{const{label:C,value:l}=M,B=new Map([["stark","即将批量执行选中的计划任务"],["start","即将批量开启选中任务"],["stop","即将批量停止选中任务"],["delete","即将批量删除选中任务"]]),T=async(z,W)=>{const $=new Map([["stark",he],["start",ne],["stop",ne],["delete",we]]),{id:R}=z,N=$.get(l);switch(l){case"stark":if(N)return N({id:R});break;case"start":case"stop":if(N)return N({id:R,status:l==="start"?1:0});break;case"delete":if(N)return N({id:R});break}};await v({title:"批量".concat(C),content:"".concat(B.get(l),",是否继续操作?"),column:[{label:"项目名称",prop:"name"},dt()],onConfirm:async()=>(await I(T),F(),!1)})},h=()=>[{label:"执行任务",value:"stark",event:s},{label:"启动任务",value:"start",event:s},{label:"停止任务",value:"stop",event:s},{label:"删除任务",value:"delete",event:s}],m=()=>nt([ct(),{label:"计划任务",prop:"rname",render:v=>v.rname||v.name},mt({event:v=>{i(v)},data:["停用","正常"]}),{label:"执行周期",prop:"cycle"},{label:"上次执行时间",prop:"addtime"},$e([{onClick:V,title:"执行"},{onClick:v=>{p(v)},title:"编辑"},{onClick:v=>{u(v)},title:"日志"},{onClick:O,title:"删除"}])]),i=async v=>{await Y({title:v.status?"停用计划任务":"启用计划任务",content:v.status?"计划任务暂停后将无法继续运行,您真的要停用这个计划任务吗?":"该计划任务已停用,是否要启用这个计划任务?",icon:"question-filled"}),await k({loading:"正在设置计划任务状态,请稍候...",request:ne({id:v.id}),message:!0,success:F})},p=v=>{ie({isAsync:!0,title:"".concat(v?"编辑":"添加","计划任务").concat(v?"【"+v.name+"】":""),area:74,component:()=>ue(()=>import("./add-crontab.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:{row:v||!1,sitename:a.value.name,refreshEvent:F},showFooter:!0})},u=v=>{ie({isAsync:!0,title:"查看【"+(v.rname||v.name)+"】日志",area:80,compData:{id:v.id},component:()=>ue(()=>import("./log-detail3.js?v=1777008528"),__vite__mapDeps([]),import.meta.url)})},V=async v=>{k({loading:"正在执行计划任务,请稍后...",request:he({id:v.id}),message:!0,success:()=>{u(v)}})},O=async({id:v,name:I})=>{await Y({title:"删除计划任务",content:"您确定要删除计划任务【".concat(I,"】,是否继续?"),icon:"warning-filled"}),k({loading:"正在删除计划任务,请稍后...",request:we({id:v}),message:!0,success:F})},F=async()=>{k({loading:y,request:Ft({sitename:a.value.name}),data:{data:[Array,f]}})},U=m(),P=h();return q(F),r({init:F}),(v,I)=>{const J=Je,M=We,C=Ae,l=Z("bt-loading");return g(),A(C,null,{"header-left":n(()=>[e(t(d))]),"header-right":n(()=>[...I[0]||(I[0]=[])]),content:n(()=>[L(e(J,{ref_key:"cronTableRef",ref:c,"max-height":560,column:t(U),data:t(f)},null,8,["column","data"]),[[l,"正在加载计划任务列表,请稍后...","title"],[l,t(y)]])]),"footer-left":n(()=>[e(M,{"table-ref":t(c),options:t(P)},null,8,["table-ref","options"])]),_:1})}}}),gs={class:"flex flex-col site-globa-setting-module"},bs={class:"flex items-center"},ys=D({__name:"index",setup(o){const{siteInfo:r}=H(),a=x(!1),c=te({total_flow:!1}),f=async()=>{a.value=!0;try{const{data:d}=await Pt({site_id:r.value.id});c.total_flow=d.data.status}catch(d){}finally{a.value=!1}},y=async()=>{k({loading:"正在设置,请稍后...",message:!0,request:$t({site_id:r.value.id,status:c.total_flow?1:0}),success:d=>{d.status||(c.total_flow=!c.total_flow)}})};return q(()=>{f()}),(d,s)=>{const h=X,m=le,i=ce,p=Ve,u=Z("bt-loading");return L((g(),S("div",gs,[e(i,{model:t(c)},{default:n(()=>[e(m,{label:"日流量统计"},{default:n(()=>[_("div",bs,[e(h,{onChange:y,modelValue:t(c).total_flow,"onUpdate:modelValue":s[0]||(s[0]=V=>t(c).total_flow=V)},null,8,["modelValue"]),s[1]||(s[1]=_("span",{class:"text-tertiary ml-[4px]"},"*提示:开启会适量占用服务器内存。",-1))])]),_:1})]),_:1},8,["model"]),e(p,{options:[{content:"不影响监控报表插件的配置。"}],class:"ml-[20px] mt-[20px]"})])),[[u,t(a)]])}}}),hs=ke(ys,[["__scopeId","data-v-34d0cc8a"]]),Ie=Te("cache",()=>({isRefreshCacheList:x(!1)})),Ne=H(),ws=Ie(),xs=async o=>{var c;const r=await At({site_name:Ne.siteInfo.value.name}),a=((c=r==null?void 0:r.data)==null?void 0:c.data)||[];return{data:a,total:a.length}},Cs=()=>[{label:"缓存后缀",minWidth:200,render:o=>Array.isArray(o.suffix)?o.suffix.map(r=>"".concat(r)).join(", "):o.suffix||"--"},{label:"缓存时间",minWidth:150,render:o=>{const r=o.time_out||"",a=r.match(/^(\d+)([dhms])$/);if(a){const c=a[1],f=a[2],y={d:"天",h:"小时",m:"分钟",s:"秒"};return"".concat(c," ").concat(y[f]||f)}return r||"--"}},$e([{onClick:o=>Le(o),title:"编辑"},{onClick:o=>Vs(o),title:"删除"}])],Le=o=>{const r=o?{...o,_original:{suffix:o.suffix}}:void 0;ie({title:o?"编辑缓存规则":"添加缓存规则",area:50,component:()=>ue(()=>import("./cache-dialog.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:r,btn:["保存","取消"]})},Vs=async o=>{const r=Array.isArray(o.suffix)?o.suffix.map(a=>".".concat(a)).join(", "):o.suffix;Y({title:"删除缓存规则",content:"确定要删除缓存后缀【".concat(r,"】的规则吗?"),onConfirm:async()=>{k({loading:"删除中...",message:!0,request:Ot({site_name:Ne.siteInfo.value.name,suffix:o.suffix}),success:()=>{ws.isRefreshCacheList=!0}})}})},ks=D({__name:"index",setup(o){const{isRefreshCacheList:r}=Fe(Ie()),{BtTable:a,BtRefresh:c}=Ke({request:f=>xs(),columns:Cs(),extension:[Qe(r)]});return(f,y)=>{const d=se,s=Ae;return g(),S("div",null,[e(s,null,{"header-left":n(()=>[e(d,{type:"primary",onClick:t(Le)},{default:n(()=>[...y[0]||(y[0]=[w("添加",-1)])]),_:1},8,["onClick"])]),"header-right":n(()=>[e(t(c))]),content:n(()=>[e(t(a),{"max-height":530})]),_:1})])}}}),Es=D({__name:"index",setup(o,{expose:r}){var i,p,u;const{siteInfo:a}=H(),{plugin:c}=Xe(),f=(i=a.value)==null?void 0:i.project_type,y=x((p=a.value)!=null&&p.otherName?(u=a.value)==null?void 0:u.otherName:f!=="phpasync"?"composer":"nginx"),d=f==="phpasync",s=x([{label:"Composer",name:"composer",lazy:!0,isHide:d,render:Rt},{label:"Tomcat",name:"tomcat",lazy:!0,isHide:d,render:Qt},{label:"Gzip压缩",name:"gzip",lazy:!0,isHide:d,render:rs},{label:"缓存",name:"cache",lazy:!0,isHide:c.value.webserver!=="nginx",render:ks},{label:"请求头配置",name:"nginx",lazy:!0,render:ps},{label:"跨域配置",name:"cors",isHide:d,lazy:!0,render:fs},{label:"默认文档",name:"defalut",isHide:!d,lazy:!0,render:Dt},{label:"计划任务",name:"crontab",isHide:!d,lazy:!0,render:vs},{label:"网站告警",name:"siteAlarm",isHide:!d,lazy:!0,render:Ht},{label:"日流量统计",name:"totalFlow",lazy:!0,render:hs}]),{BtTabs:h}=Ze({type:"card",value:y,options:s}),m=()=>{s.value=s.value.filter(V=>V.isHide!==!0)};return q(m),r({init:m}),(V,O)=>(g(),A(t(h)))}}),Ss=ke(Es,[["__scopeId","data-v-df52a1a3"]]),Us=Object.freeze(Object.defineProperty({__proto__:null,default:Ss},Symbol.toStringTag,{value:"Module"}));export{Us as i,Ie as u};
function __vite__mapDeps(indexes) {
  if (!__vite__mapDeps.viteFileDeps) {
    __vite__mapDeps.viteFileDeps = []
  }
  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
}