File: /www/server/panel/BTPanel/static/js/index399.js
import{L as f,k as $,iJ as I,X as N,cO as q,iK as M,_ as Z,eP as ee,dp as te}from"./utils-lib.js?v=1777008528";import{aJ as D,V as C,r as B,aI as _,n as h,c as P,aC as J,g as j,e as l,x as E,J as V,bf as L,aB as H,aF as X,o as K,a8 as re,j as x,C as Y,p as T,k as ae}from"./base-lib.js?v=1777008528";import{g as U,b as k,i as w,F as A,m as G,n as se}from"./form-item.js?v=1777008528";import{w as oe}from"./index3.js?v=1777008528";import{D as ue,s as ne}from"./useController20.js?v=1777008528";import{g as pe}from"./useStore5.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./index119.js?v=1777008528";import"./index116.js?v=1777008528";import"./useController19.js?v=1777008528";import"./site.js?v=1777008528";import"./useStore2.js?v=1777008528";import"./useController13.js?v=1777008528";import"./useMethod12.js?v=1777008528";import"./index192.js?v=1777008528";const S=D("DOCKERSITE-CREATE-SITE-BY-ENV-STORE",()=>{const e=C([]),t=C([]),r=B(!1);return{envOptions:e,portOptions:t,popoverFocus:r,getEnvOptions:async(p,a)=>{const{getEnvList:o}=ue(),c=await o({runtime_type:p,p:1,row:100});Array.isArray(c==null?void 0:c.data)&&(a.value=c.data.map(v=>{const g=v.ports?JSON.parse(v.ports):{},i=Object.values(g).map(n=>({label:n[0].HostPort,value:n[0].HostPort}));return{label:v.name,value:"".concat(v.name,":").concat(v.version),path:v.path,portList:i}}))},getPortOptions:async(p,a)=>{const o=e.value.find(c=>c.value===p);return o?(a.value=JSON.parse(JSON.stringify(o.portList)),JSON.parse(JSON.stringify(o.portList))):(a.value=[],[])},$reset:()=>{e.value=[],t.value=[],r.value=!1}}}),{getEnvOptions:le,getPortOptions:R}=S(),{envOptions:b,portOptions:y}=_(S()),ie=e=>{oe({type:"dir",path:e.value.path||"/www/dk_project/wwwroot",change:(t,r)=>{e.value.path=t}})},ce=()=>({domain:"",type:"php",port:"9000",env:"",remark:"",path:""}),z=async(e,t)=>{t.value.port=e==="php"?"9000":"",await le(e,b),h(()=>{var r,s;b.value.length>0?(t.value.env=b.value[0].value,t.value.path=e==="php"?"/www/dk_project/wwwroot/".concat(((s=(r=t.value.domain)==null?void 0:r.split("\n")[0])==null?void 0:s.split(":")[0])||""):b.value[0].path||""):(t.value.env="",t.value.path=""),R(t.value.env,y),h(()=>{y.value.length>0&&(t.value.port=y.value[0].value)})})},me=async(e,t)=>{R(e,y),h(()=>{var r,s,u;y.value.length>0&&(t.value.port=y.value[0].value),t.value.path=t.value.type==="php"?"/www/dk_project/wwwroot/".concat(((s=(r=t.value.domain)==null?void 0:r.split("\n")[0])==null?void 0:s.split(":")[0])||""):((u=b.value.find(d=>d.value===e))==null?void 0:u.path)||""})},ve=async(e,t)=>{const{refreshSiteTable:r}=f(),s={domains:e.domain,type:e.type,name:e.env,...e.type==="php"?{port:Number(e.port)}:{},site_path:e.path,remark:e.remark,port:Number(e.port)};await $({loading:"正在创建,请稍后...",request:I(s),message:!0,success:u=>{r(),t&&t(u)}})},de=P({__name:"index",props:{compData:{default:!1}},setup(e,{expose:t}){const r=e,{getEnvOptions:s,getPortOptions:u,$reset:d}=S(),{envOptions:p,portOptions:a,popoverFocus:o}=_(S()),c=J("popupClose",()=>{}),{BtForm:v,submit:g,param:i}=N({data:ce,options:n=>j(()=>[U("域名",()=>l(H,{ref:"popover",placement:"top-start","popper-class":"green-tips-popover !p-0",title:"",width:"400",visible:o.value,"onUpdate:visible":m=>o.value=m,"trigger-keys":[],trigger:"focus"},{default:()=>l("div",{class:"!p-[12px] bg-primary text-white"},[E("如需填写多个域名,请换行填写,每行一个域名,默认为80端口"),l("br",null,null),E("IP地址格式:192.168.1.199"),l("br",null,null),E("泛解析添加方法 *.domain.com"),l("br",null,null),E("如另加端口格式为 www.domain.com:88")]),reference:()=>V(l(q,{modelValue:n.value.domain,"onUpdate:modelValue":m=>n.value.domain=m,type:"textarea",width:"52rem",rows:7,resize:"none",onFocus:()=>{o.value=!0},onInput:()=>{var m;n.value.type==="php"&&(n.value.path="/www/dk_project/wwwroot/".concat(((m=n.value.domain.split("\n")[0])==null?void 0:m.split(":")[0])||""))},placeholder:"如需填写多个域名,请换行填写,每行一个域名,默认为80端口\nIP地址格式:192.168.1.199\n泛解析添加方法 *.domain.com\n如另加端口格式为 www.domain.com:88"},null),[[L,"popover"]])}),"domain",{rules:[{required:!0,message:"请输入域名",trigger:"blur"}]}),k([w("类型","type",[{label:"PHP",value:"php"},{label:"Java",value:"java"},{label:"Go",value:"go"},{label:"Python",value:"python"},{label:"Node",value:"nodejs"}],{attrs:{class:"!w-[17rem]",onChange:async m=>{z(m,n)}},rules:[{required:!0,message:"请选择容器",trigger:"change"}]}),...n.value.type==="php"?[A("PHP-FPM端口","port",{attrs:{class:"!w-[17rem]",placeholder:"请输入端口"},labelAttrs:{class:"ml-[2rem]"},rules:[{required:!0,message:"请输入端口",trigger:"blur"},{validator:(m,F,O)=>{/^\d+$/.test(F)?Number(F)<1||Number(F)>65535?O(new Error("请输入正确的端口号")):O():O(new Error("端口号必须为数字"))},trigger:"blur"}]})]:[w("端口","port",a.value,{attrs:{class:"!w-[22rem]",placeholder:"环境端口"},rules:[{required:!0,message:"请选择端口",filterable:!0}]})]]),k([w("环境","env",p.value,{attrs:{class:"!w-[22rem]",placeholder:"请选择环境",onChange:m=>{me(m,n)}},rules:[{required:!0,message:"请选择环境",trigger:"change",filterable:!0}]}),G(()=>X("span",{class:"cursor-pointer text-primary h-[3.2rem] leading-[3.2rem] ml-[1.5rem] inline-block",onClick:()=>{ne(()=>{s(n.value.type,p)})}},"创建环境"),{key:"jump",rules:{}})]),se("运行目录","path",{attrs:{class:"!w-[320px]",placeholder:"请选择运行目录"},rules:[{required:!0,message:"请选择运行目录",trigger:"change"}],icon:"icon-file_mode",iconClick:()=>{ie(n)}}),A("备注","remark",{attrs:{class:"!w-[320px]",placeholder:"请输入备注"},rules:[{required:!1,message:"请输入备注",trigger:"blur"}]})]),submit:async(n,m,F)=>(await m(),await ve(n.value,O=>{O.status&&(d(),c())}))});return K(()=>{r.compData?h(async()=>{i.value.type=r.compData.type,await z(r.compData.type,i),h(()=>{i.value.env=r.compData.env})}):s("php",p)}),re(()=>{}),t({onConfirm:g}),(n,m)=>(x(),Y(T(v)))}}),Q=D("DOCKERSITE-CREATE-SITE-BY-PROXY-STORE",()=>{const e=C([]),t=C([]),r=B(!1);return{conOptions:e,portOptions:t,popoverFocus:r,getConOptions:async p=>{const{data:a}=await M({type:"container"});Array.isArray(a==null?void 0:a.data)&&(p.value=a.data.map(o=>{const c=o.ports.map(v=>({label:v,value:v}));return{label:o.name,value:o.id,portList:c}}))},getPortOptions:async(p,a)=>{const o=e.value.find(c=>c.value===p);o?a.value=JSON.parse(JSON.stringify(o.portList)):a.value=[]},$reset:()=>{e.value=[],r.value=!1}}}),ge=()=>({domain:"",name:"",container_id:"",port:"",remark:""}),Ee=(e,t)=>{var p;const r=Q(),{conOptions:s,portOptions:u}=_(r),{getPortOptions:d}=r;t.value.port="",t.value.name=((p=s.value.find(a=>a.value===e))==null?void 0:p.label)||"",d(e,u),h(()=>{u.value.length>0&&(t.value.port=u.value[0].value)})},we=async(e,t)=>{const{refreshSiteTable:r}=f(),s={domains:e.domain,type:"proxy",name:e.name,container_id:e.container_id,port:Number(e.port),remark:e.remark};await $({loading:"正在创建,请稍后...",request:I(s),message:!0,success:u=>{r(),t&&t(u)}})},he=P({__name:"index",setup(e,{expose:t}){const r=Q(),{popoverFocus:s,conOptions:u,portOptions:d}=_(r),{getConOptions:p,$reset:a}=r,o=J("popupClose",()=>{}),{BtForm:c,submit:v}=N({data:ge,options:g=>j(()=>[U("域名",()=>l(H,{ref:"popover",placement:"top-start","popper-class":"green-tips-popover !p-0",title:"",width:"400",visible:s.value,"onUpdate:visible":i=>s.value=i,"trigger-keys":[],trigger:"focus"},{default:()=>l("div",{class:"!p-[12px] bg-primary text-white"},[E("如需填写多个域名,请换行填写,每行一个域名,默认为80端口"),l("br",null,null),E("IP地址格式:192.168.1.199"),l("br",null,null),E("泛解析添加方法 *.domain.com"),l("br",null,null),E("如另加端口格式为 www.domain.com:88")]),reference:()=>V(l(q,{modelValue:g.value.domain,"onUpdate:modelValue":i=>g.value.domain=i,type:"textarea",width:"52rem",rows:7,resize:"none",onFocus:()=>{s.value=!0},placeholder:"如需填写多个域名,请换行填写,每行一个域名,默认为80端口\nIP地址格式:192.168.1.199\n泛解析添加方法 *.domain.com\n如另加端口格式为 www.domain.com:88"},null),[[L,"popover"]])}),"domain",{rules:[{required:!0,message:"请输入域名",trigger:"blur"}]}),w("容器","container_id",u.value,{attrs:{class:"!w-[22rem]",placeholder:"请选择容器",onChange:i=>Ee(i,g)},rules:[{required:!0,message:"请选择容器",trigger:"change"}]}),w("端口","port",d.value,{attrs:{class:"!w-[22rem]",placeholder:"请选择端口"},rules:[{required:!0,message:"请选择端口"}]}),A("备注","remark",{attrs:{class:"!w-[320px]",placeholder:"请输入备注"},rules:[{required:!1,message:"请输入备注",trigger:"blur"}]})]),submit:async(g,i,n)=>(await i(),we(g.value,m=>{m.status&&(a(),o())}))});return K(()=>{p(u)}),t({onConfirm:v}),(g,i)=>(x(),Y(T(c)))}}),W=D("DOCKERSITE-CREATE-SITE-BY-APP-STORE",()=>{const e=C([]),t=C([]),r=B(!1);return{appOptions:e,portOptions:t,popoverFocus:r,getAppOptions:async p=>{const{data:a}=await M({type:"app"});Array.isArray(a==null?void 0:a.data)&&(p.value=a.data.map(o=>{const c=o.port.map(v=>({label:v,value:v}));return{label:"".concat(o.service_name,"(").concat(o.apptitle,")"),value:o.service_name,portList:c}}))},getPortOptions:async(p,a)=>{const o=e.value.find(c=>c.value===p);o?a.value=JSON.parse(JSON.stringify(o.portList)):a.value=[]},$reset:()=>{e.value=[],t.value=[],r.value=!1}}}),Fe=()=>({domain:"",app:"",remark:""}),ye=(e,t)=>{var p;const r=W(),{appOptions:s,portOptions:u}=_(r),{getPortOptions:d}=r;t.value.port="",t.value.app=((p=s.value.find(a=>a.value===e))==null?void 0:p.value)||"",d(e,u),h(()=>{u.value.length>0&&(t.value.port=u.value[0].value)})},Ce=async(e,t)=>{const{refreshSiteTable:r}=f(),s={domains:e.domain,type:"app",name:e.app,port:Number(e.port),remark:e.remark};await $({loading:"正在创建,请稍后...",request:I(s),message:!0,success:u=>{r(),t&&t(u)}})},_e=P({__name:"index",setup(e,{expose:t}){const{refs:{deployMenuData:r}}=pe(),s=W(),{popoverFocus:u,appOptions:d,portOptions:p}=_(s),{getAppOptions:a,$reset:o}=s,c=J("popupClose",()=>{}),{BtForm:v,submit:g}=N({data:Fe,options:i=>j(()=>[U("域名",()=>l(H,{ref:"popover",placement:"top-start","popper-class":"green-tips-popover !p-0",title:"",width:"400",visible:u.value,"onUpdate:visible":n=>u.value=n,"trigger-keys":[],trigger:"focus"},{default:()=>l("div",{class:"!p-[12px] bg-primary text-white"},[E("如需填写多个域名,请换行填写,每行一个域名,默认为80端口"),l("br",null,null),E("IP地址格式:192.168.1.199"),l("br",null,null),E("泛解析添加方法 *.domain.com"),l("br",null,null),E("如另加端口格式为 www.domain.com:88")]),reference:()=>V(l(q,{modelValue:i.value.domain,"onUpdate:modelValue":n=>i.value.domain=n,type:"textarea",width:"52rem",rows:7,resize:"none",onFocus:()=>{u.value=!0},placeholder:"如需填写多个域名,请换行填写,每行一个域名,默认为80端口\nIP地址格式:192.168.1.199\n泛解析添加方法 *.domain.com\n如另加端口格式为 www.domain.com:88"},null),[[L,"popover"]])}),"domain",{rules:[{required:!0,message:"请输入域名",trigger:"blur"}]}),k([w("应用","app",d.value,{attrs:{class:"!w-[22rem]",placeholder:"请选择应用",onChange:n=>ye(n,i)},rules:[{required:!0,message:"请选择应用",trigger:"change"}]}),G(()=>X("span",{class:"cursor-pointer text-primary h-[3.2rem] leading-[3.2rem] ml-[1.5rem] inline-block",onClick:async()=>{const{router:n}=await Z(()=>import("./utils-lib.js?v=1777008528").then(m=>m.mi),__vite__mapDeps([]),import.meta.url);ee(),r.value.app_type="all",n.push({name:"docker-appstore"})}},"安装新应用"),{key:"jump",rules:{}})]),w("端口","port",p.value,{attrs:{class:"!w-[22rem]",placeholder:"请选择端口"},rules:[{required:!0,message:"请选择端口"}]}),A("备注","remark",{attrs:{class:"!w-[320px]",placeholder:"请输入备注"},rules:[{required:!1,message:"请输入备注",trigger:"blur"}]})]),submit:async(i,n,m)=>{await n(),Ce(i.value,F=>{F.status&&(o(),c())})}});return K(()=>{a(d)}),t({onConfirm:g}),(i,n)=>(x(),Y(T(v)))}}),Oe={class:"p-[20px]"},je=P({__name:"index",props:{compData:{default:{}}},setup(e,{expose:t}){const r=e,s=B(r.compData.type||"runEnv"),{BtTabs:u,tabsRefs:d}=te({type:"card",value:s,options:[{label:"运行环境",name:"runEnv",render:()=>l(de,{compData:r.compData.type==="runEnv"?r.compData.formData:!1},null)},{label:"反代容器",name:"proxyContainer",lazy:!0,render:()=>l(he,null,null)},{label:"从应用创建",name:"addPack",lazy:!0,render:()=>l(_e,null,null)}]});return t({onConfirm:async a=>{d()[s.value].onConfirm(a)}}),(a,o)=>(x(),ae("div",Oe,[l(T(u))]))}});export{je as default};
function __vite__mapDeps(indexes) {
if (!__vite__mapDeps.viteFileDeps) {
__vite__mapDeps.viteFileDeps = []
}
return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
}