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/index526.js
import{X as Z,b as ue,cZ as G,dH as T,fP as ie,cO as J,W as pe,B as N,c7 as de,e as ce,m as me,k as K,M as _e,cR as ge}from"./utils-lib.js?v=1777008528";import{_ as fe}from"./index119.js?v=1777008528";import{c as V,aI as C,o as L,j as d,k as w,e as a,p as n,y as F,q as B,C as U,r as D,v as x,N as ve,ba as be,z as we,aX as he,H as Q,ad as Y,ab as xe,g as ee,aW as ye,U as A,x as P,Q as ke}from"./base-lib.js?v=1777008528";import{b as g}from"./index108.js?v=1777008528";import{F as h,i as H,g as z,c as Fe}from"./form-item.js?v=1777008528";import{_ as Pe}from"./index116.js?v=1777008528";import{w as Ee,p as Ce}from"./index3.js?v=1777008528";import{a0 as Ve,a1 as Se,a2 as qe,a3 as We}from"./useMethod12.js?v=1777008528";import{u as $e}from"./useController19.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./index118.js?v=1777008528";import"./index.vue_vue_type_script_setup_true_lang4.js?v=1777008528";import"./index175.js?v=1777008528";import"./index.vue_vue_type_style_index_0_scoped_cdc7f4d3_lang.js?v=1777008528";import"./useStore2.js?v=1777008528";import"./site.js?v=1777008528";import"./useStore13.js?v=1777008528";import"./useController13.js?v=1777008528";import"./index192.js?v=1777008528";const Be={key:0,class:"software-mask"},De={key:1,class:"software-install"},Ie={class:"software-view"},Le=V({__name:"index",setup(e){const{addWordpressFormData:t,mysql:s,php:l,createSiteSubmit:u}=C(g()),{getInitData:p,resetCreateForm:c}=g(),{BtForm:y,submit:m}=Z({data:()=>t.value,options:()=>Xe(),submit:Ye});return L(()=>{p(),u.value=m,c()}),(i,o)=>{const _=ue,f=fe;return d(),w("div",null,[a(n(y)),!n(l).setup||!n(s).setup?(d(),w("div",Be)):F("",!0),!n(l).setup||!n(s).setup?(d(),w("div",De,[B("div",Ie,[a(_,{icon:"el-warning",size:30,class:"mr-[8px]",color:"orange"}),o[2]||(o[2]=B("span",{class:"text-base font-black"},"服务器未安装,",-1)),n(l).setup?F("",!0):(d(),w("span",{key:0,class:"bt-link text-base",onClick:o[0]||(o[0]=v=>n(X)("php-7.4"))},"安装PHP")),!n(l).setup&&!n(s).setup?(d(),U(f,{key:1})):F("",!0),n(s).setup?F("",!0):(d(),w("span",{key:2,class:"text-base bt-link",onClick:o[1]||(o[1]=v=>n(X)("mysql"))},"安装MySQL"))])])):F("",!0)])}}}),Ue=G(Le,[["__scopeId","data-v-3d713465"]]),Ae=V({__name:"index",setup(e){const{addBackupFormData:t,createImportSubmit:s}=C(g()),{getInitData:l,resetImportForm:u}=g(),{BtForm:p,submit:c}=Z({data:()=>t.value,options:Ge,submit:aa});return L(()=>{l(),s.value=c,u()}),(y,m)=>(d(),w("div",null,[a(n(p))]))}}),He=V({__name:"upload",props:{path:{default:"/"}},emits:["finish"],setup(e,{emit:t}){const s=e,l=t,u=D([]);T();const p=D(0),c=i=>"".concat(i,"%"),y="/files?action=upload",m=async i=>{const{file:o,onProgress:_,onSuccess:f,onError:v}=i,S=1024*1024,oe=Math.ceil(o.size/S),M=T();for(let q=0;q<oe;q++){const W=q*S,R=Math.min(W+S,o.size),ne=o.slice(W,R),b=new FormData;b.append("f_path",s.path),b.append("f_name",o.name),b.append("f_start",W.toString()),b.append("blob",ne),b.append("f_size",o.size.toString()),b.append("request_time",M.request_time.toString()),b.append("request_token",M.request_token);try{await ie.post(y,b,{headers:{"Content-Range":"bytes ".concat(W,"-").concat(R-1,"/").concat(o.size),"x-http-token":window.vite_public_request_token,"Content-Type":"application/x-www-form-urlencoded"},onUploadProgress:k=>{if(k.lengthComputable){const la=Math.round(k.loaded*100/k.total),O=Math.round((q*S+k.loaded)*100/o.size);p.value=O,_({percent:O})}}})}catch(k){v&&v(k);return}}l("finish","".concat(s.path,"/").concat(o.name)),f&&f(null),u.value=[],setTimeout(()=>{p.value=0},1e3)};return(i,o)=>{const _=we,f=he;return d(),U(n(be),{ref:"upload",class:"custom-upload w-auto",action:"",name:"blob","file-list":n(u),"show-file-list":!1,multiple:!1,"http-request":m},{trigger:x(()=>[a(_,{type:"primary"},{default:x(()=>[ve(i.$slots,"default",{},void 0,!0)]),_:3})]),default:x(()=>[n(p)>0&&n(p)<100?(d(),U(f,{key:0,percentage:n(p),format:c},null,8,["percentage"])):F("",!0)]),_:3},8,["file-list"])}}}),ze=G(He,[["__scopeId","data-v-86614539"]]),Me={class:"px-[20px] pt-[20px]"},Re={class:"flex items-center mb-[4px]"},Oe=V({__name:"edit-option",props:{compData:{default:{}}},setup(e,{expose:t}){const{addWordpressFormData:s}=C(g()),l=e,u=Q({datauser:"",datapassword:"",type:"MySQL",code:"utf8mb4",version:""}),p=Q({datauser:[{trigger:["blur","change"],validator:(m,i,o)=>{i.length===0?o(new Error("名称不能为空!")):/^[a-zA-Z0-9_]+$/g.test(i)?i.length<=3?o(new Error("名称长度错误,不能少于3个字符!")):i.length>16?o(new Error("名称长度错误,不能大于16个字符!")):o():o(new Error("名称只能包含字母、数字和下划线!"))}}],datapassword:[{trigger:["blur","change"],validator:(m,i,o)=>{i.length===0?o(new Error("密码不能为空!")):o()}}]}),c=D(),y=async m=>{await c.value.validate().catch(()=>!1)&&(s.value.datauser=u.datauser,s.value.datapassword=u.datapassword,m())};return L(()=>{u.datauser=l.compData.datauser,u.datapassword=l.compData.datapassword}),t({onConfirm:y}),(m,i)=>{const o=J,_=Y,f=xe;return d(),w("div",Me,[a(f,{model:n(u),rules:n(p),ref_key:"editFormRef",ref:c},{default:x(()=>[a(_,{label:"数据库账号"},{default:x(()=>[B("div",Re,[a(_,{prop:"datauser",label:""},{default:x(()=>[a(o,{placeholder:"创建数据库账号",modelValue:n(u).datauser,"onUpdate:modelValue":i[0]||(i[0]=v=>n(u).datauser=v),width:"17rem"},null,8,["modelValue"])]),_:1}),a(_,{prop:"datapassword",label:"",class:"!mt-0"},{default:x(()=>[a(o,{class:"ml-[8px]",width:"16rem",placeholder:"数据库密码",modelValue:n(u).datapassword,"onUpdate:modelValue":i[1]||(i[1]=v=>n(u).datapassword=v)},null,8,["modelValue"])]),_:1})]),i[2]||(i[2]=B("span",{class:"text-tertiary text-small"}," 创建站点的同时,为站点创建一个对应的数据库帐户,方便不同站点使用不同数据库。 ",-1))]),_:1})]),_:1},8,["model","rules"])])}}}),{addSelectOption:Te,addPHPSelectOption:ae,addWPSelectOption:te,web:se,sitePath:I,addWordpressFormData:r,selectLoading:Ne,phpLoading:re,wpLoading:Qe,addBackupFormData:E}=C(g()),{setWpLoading:j}=g(),{isRefreshLocalList:le}=C($e()),je=[{label:"创建站点",name:"single",render:()=>a(Ue,null,null)},{label:"从备份创建",name:"import",lazy:!0,render:()=>a(Ae,null,null)}],Xe=()=>{const e={class:"!w-[400px]",clearable:!0};return ee(()=>[h("域名","domain",{attrs:{...e,placeholder:"请输入网站域名","onUpdate:modelValue":Ze},rules:[{required:!0,message:"请输入网站域名",trigger:"blur"}]}),h("网站标题","weblog_title",{attrs:{...e,placeholder:"请输入 WordPress 的网站标题"},rules:[{required:!0,message:"请输入 WordPress 的网站标题",trigger:"blur"}]}),H("语言","language",Te.value,{attrs:{class:"!w-[230px]",loading:Ne.value}}),H("PHP 版本","php_version",ae.value,{attrs:{class:"!w-[230px]",loading:re.value,onChange:Je},rules:[{required:!0,message:"请选择PHP版本",trigger:"blur"}]}),z("WP 版本",()=>a("div",{class:"flex items-center"},[a(pe,{options:te.value,class:"!w-[230px]",loading:Qe.value,modelValue:r.value.wp_version,"onUpdate:modelValue":t=>r.value.wp_version=t},null),a(ye,{content:"版本5.6.0+自动打开自动版本更新",placement:"top"},{default:()=>[a("span",{class:"svgtofont-el-warning !text-extraLarge ml-[1rem]"},null)]})]),"wp_version",{rules:[{required:!0,message:"请选择WP版本",trigger:"blur"}]}),h("用户名","user_name",{attrs:{...e,placeholder:"WordPress 后台用户"},rules:[{required:!0,message:"WordPress 后台用户不能为空",trigger:"blur"}]}),{key:"admin_password",type:"custom",render:()=>a(N,{label:"密码",prop:"admin_password",class:"flex items-center"},{default:()=>[a(J,{class:"!w-[230px]",clearable:!0,modelValue:r.value.admin_password,"onUpdate:modelValue":t=>r.value.admin_password=t,type:"input"},null),a(A,{class:"ml-[2rem]",modelValue:r.value.pw_weak,"onUpdate:modelValue":t=>r.value.pw_weak=t,label:"允许密码较弱"},null)]}),rules:{admin_password:[{required:!0,message:"WordPress 后台密码不能为空",trigger:"blur"}]}},h("电子邮件","admin_email",{attrs:{...e,placeholder:"请输入电子邮件地址"},rules:[{required:!0,message:"电子邮件地址不能为空",trigger:"blur"},{type:"email",message:"请输入正确的电子邮件地址",trigger:"blur"},{min:3,max:50,message:"电子邮件长度在 3 到 50 个字符之间",trigger:"blur"}]}),h("前缀","prefix",{attrs:{...e,placeholder:"请输入 WordPress 表名前缀"},rules:[{required:!0,message:"WordPress 表名前缀不能为空",trigger:"blur"}]}),z("缓存",()=>a(A,{modelValue:r.value.enable_cache,"onUpdate:modelValue":t=>r.value.enable_cache=t,label:"启用缓存,目前仅支持nginx",disabled:se.value.type!=="nginx"},null)),{key:"mysql_setup",type:"custom",render:()=>a(N,{label:"其他配置",prop:"mysql_setup",class:"!mb-0"},{default:()=>[a("div",{class:"flex flex-col bg-light p-[12px] px-[16px] text-small w-full"},[a("div",{class:"flex items-center justify-between"},[a("span",null,[P("数据库:"),"MySQL数据库"]),a("span",null,[P("账号:"),r.value.datauser]),a("span",null,[P("密码:"),r.value.datapassword])])]),a("span",{class:"p-[12px] px-[16px] text-tertiary flex items-center text-small"},[P("其他配置初始状态为默认选择的配置项,如需修改请点击"),a(de,{onClick:()=>{ce({title:"编辑配置",area:62,component:()=>a(Oe,null,null),compData:r.value,btn:!0})}},{default:()=>[P("编辑配置")]})])]})}])},Ze=e=>{const l="sql_"+e.trimStart().trimEnd().replace(new RegExp(/([-.])/g),"_");r.value.datauser=l.length<=16?l:l.slice(0,16)},Ge=e=>{const t={class:"!w-[400px]",clearable:!0};return ee(()=>[Fe("备份类型","method",[{label:"本地",value:1},{label:"Plesk或Cpanel",value:2}]),{type:"custom",label:"备份文件路径",render:()=>a(Y,{label:"备份文件路径",prop:"bak_file"},{default:()=>[a(ze,{class:"mr-[1rem]",path:"/www/server/panel/temp",onFinish:s=>{e.value.bak_file=s}},{default:()=>[P("上传文件")]}),a(Pe,{modelValue:e.value.bak_file,"onUpdate:modelValue":s=>e.value.bak_file=s,icon:"el-folder-opened",width:"32rem",onIconClick:()=>{Ee({type:"file",path:e.value.bak_file,change:s=>{e.value.bak_file=s}})}},null)]}),key:"bak_file",rules:{bak_file:[{required:!0,message:"请填写备份文件路径",trigger:"blur"}]}},h("域名","domain",{attrs:{...t,placeholder:"请输入网站域名","onUpdate:modelValue":sa},rules:[{required:!0,message:"请输入网站域名",trigger:"blur"}]}),h("网站路径","sub_path",{attrs:{...t,placeholder:"根目录留空,子目录填写目录名"},slots:{prepend:()=>a("span",null,[ta(I.value)])}}),H("PHP 版本","php_version",ae.value,{attrs:{class:"!w-[230px]",loading:re.value},rules:[{required:!0,message:"请选择PHP版本",trigger:"blur"}]}),z("缓存",()=>a(A,{modelValue:e.value.enable_cache,"onUpdate:modelValue":s=>e.value.enable_cache=s,label:"启用缓存,目前仅支持nginx",disabled:se.value.type!=="nginx"},null))])},X=e=>Ce({type:"i",name:e}),Je=async e=>{try{j(!0);const{data:{msg:t}}=await Ve({php_version_short:e||r.value.php_version});me(t)&&(te.value=t.map(s=>({label:s.version,value:s.version})))}finally{j(!1)}},Ke=()=>{const{domain:e,php_version:t}=r.value,s=e.trimStart().trimEnd(),l=s.replace(new RegExp(/([-.])/g),"_");if(t===null)throw _e.error("请选择PHP版本"),new Error("请选择PHP版本");return{webname:{domain:s,domainlist:[],count:0},type:"PHP",port:80,type_id:0,ftp:!1,sql:"MySQL",codeing:"utf8",set_ssl:0,force_ssl:0,project_type:"WP",path:I.value+"/"+s,ps:l,version:t,datauser:r.value.datauser,datapassword:r.value.datapassword,password:r.value.admin_password,pw_weak:r.value.pw_weak?"on":"off",email:r.value.admin_email,weblog_title:r.value.weblog_title,language:r.value.language,user_name:r.value.user_name,prefix:r.value.prefix,enable_cache:r.value.enable_cache?1:0,enable_whl:0,whl_page:r.value.Login_url?r.value.Login_url:null,whl_redirect_admin:r.value.redirection_url?r.value.redirection_url:null,package_version:r.value.wp_version}},Ye=async(e,t,s)=>{try{await t(),await K({loading:"正在创建站点...",request:Se(Ke()),message:!0,success:async l=>{if(!l.status)throw new Error(l.msg);le.value=!0}})}catch(l){throw l}},ea=()=>({bak_file:E.value.bak_file,domain:E.value.domain,sub_path:E.value.sub_path,php_ver_short:E.value.php_version||"",enable_cache:E.value.enable_cache?1:0}),aa=async(e,t,s)=>{try{await t();const l=ea();await K({loading:"正在创建站点...",request:E.value.method===1?qe(l):We(l),message:!0,success:async u=>{if(!u.status)throw new Error(u.msg);le.value=!0}})}catch(l){throw l}},$=D(""),ta=e=>e.endsWith("/")?e:"".concat(e,"/"),sa=e=>{$.value||($.value=I.value),I.value=e?"".concat($.value,"/").concat(e,"/"):"".concat($.value,"/")},ra={class:"p-[1.6rem]"},Pa=V({__name:"index",setup(e){const{tabActive:t}=C(g()),{getConfig:s}=g();return L(()=>{s()}),(l,u)=>{const p=ge;return d(),w("div",ra,[a(p,{modelValue:n(t),"onUpdate:modelValue":u[0]||(u[0]=c=>ke(t)?t.value=c:null),type:"card",options:n(je)},null,8,["modelValue","options"])])}}});export{Pa as default};