File: /www/server/panel/BTPanel/static/js/index525.js
import{aJ as le,aI as X,r as V,H as ie,c as re,o as ce,bl as de,I as pe,j as d,k as y,q as n,x as b,p as r,J as ue,F as S,B as L,C as E,v as p,e as h,s as M,L as me,y as I,U as fe,at as he,as as ve,ar as _e,am as we,an as ye,T as ge,ak as ke,aW as xe,aj as be,z as Me}from"./base-lib.js?v=1777008528";import{c as Ce,M as x,hm as Ve,hn as Se,ho as Le,w as Ee,k as Pe,hp as je,hq as Ae,cq as De,cr as $e,d8 as qe,cZ as Re}from"./utils-lib.js?v=1777008528";import{H as Ue}from"./store2.js?v=1777008528";import{a0 as Te}from"./index3.js?v=1777008528";import{u as He}from"./controller.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./index119.js?v=1777008528";import"./index116.js?v=1777008528";import"./useStore.js?v=1777008528";import"./config.js?v=1777008528";const Ne=le("REC-INSTALL-STORE",()=>{const K=Ue(),{memory:P,panelInfo:l}=X(K),{isRefreshMenu:B,getGlobalInfo:J}=Ce(),j=V(),w=ie({lnmp:{type:"lnmp",title:"LNMP(推荐)",install:1,soft:{Nginx:{icon:"nginx",value:"",selected:!0,options:[]},MySQL:{icon:"mysql",value:"",selected:!0,options:[]},"Pure-Ftpd":{icon:"pureftpd",value:"",selected:!1,options:[]},PHP:{icon:"php",value:"",selected:!0,options:[]},phpMyAdmin:{icon:"phpmyadmin",value:"",selected:!0,options:[]}}},lamp:{type:"lamp",title:"LAMP",install:1,soft:{Apache:{icon:"apache",value:"",selected:!0,options:[]},MySQL:{icon:"mysql",value:"",selected:!0,options:[]},"Pure-Ftpd":{icon:"pureftpd",value:"",selected:!1,options:[]},PHP:{icon:"php",value:"",selected:!0,options:[]},phpMyAdmin:{icon:"phpmyadmin",value:"",selected:!0,options:[]}}},java:{type:"java",title:"JAVA",install:1,soft:{Nginx:{icon:"nginx",value:"",selected:!0,options:[]},MySQL:{icon:"mysql",value:"",selected:!0,options:[]},"Pure-Ftpd":{icon:"pureftpd",value:"",selected:!1,options:[]},jdk:{icon:"java",value:"",selected:!0,options:[]},phpMyAdmin:{icon:"phpmyadmin",value:"",selected:!0,options:[]}}},docker:{type:"docker",title:"Docker",install:1,soft:{Nginx:{icon:"nginx",value:"",selected:!0,options:[]},Docker:{icon:"docker",value:"",selected:!0,disabled:!0,options:[{label:"Dokcer服务",value:""}]}}}}),e=V(!1),g=V([]),A=V([]),D=["home","soft","exit","config"],R=i=>i.filter(f=>!D.includes(f.name)),F=V([]),G=V([]),U={"5.1":{max:256,rec:512},"5.5":{max:600,rec:1024},"5.6":{max:800,rec:1024},"5.7":{max:1500,rec:2048},"8.0":{max:5e3,rec:10240},"8.4":{max:8e3,rec:10240},"mariadb_10.4":{max:256,rec:2048},"mariadb_10.5":{max:256,rec:2048}},C={"4.0":["5.2","5.3","5.4","5.5","5.6","7.0","7.1","7.2","7.3","7.4"],"4.4":["5.4","5.4","5.5","5.6","7.0","7.1","7.2","7.3"],"4.9":["5.6","7.0","7.1","7.2","7.3","7.4","8.0"],"5.0":["7.2","7.3","7.4","8.0"],"5.1":["7.2","7.3","7.4","8.0"],"5.2":["7.2","7.3","7.4","8.0","8.1","8.2"]},T=["4.0"],H=["5.1"],Q=["5.2","5.3","5.5","7.0"],N={"2.2":{php:{min:"5.2",max:"5.4"},model:"php5_module"},"2.4":{php:{min:"5.3",max:"8.1"},model:"php-fpm"}},z=i=>{const v=w[i].soft.PHP.value;w[i].soft.phpMyAdmin.options=[],Object.keys(C).forEach(a=>{const u=C[a];u&&u.indexOf(v)>-1&&(w[i].soft.phpMyAdmin.options.push({label:"phpMyAdmin ".concat(a),value:a}),w[i].soft.phpMyAdmin.value=a)})},s=()=>{window.location.href="/soft"},o=()=>{window.location.href="/config"},k=(i,f)=>{const{icon:v,value:a}=i,u=U[a];switch(v){case"apache":x.warn("当前PHP将会以".concat(N[a].model,"模式运行!"));break;case"mysql":P.value.memTotal<u.max&&x.warn("您的内存小于".concat(u.rec/1024,"GB,不建议安装MySQL-").concat(a));break;case"php":z(f);break}},_=async i=>{let f=0;const v=x.load("正在添加软件至消息盒子,请稍后..."),a=w[i].install;for(const u in w[i].soft){const c=w[i].soft[u];if(c.selected){let t=u.toLowerCase();if(t==="php")t="php-"+c.value;else if(t==="pure-ftpd")t="pureftpd";else if(t==="jdk"){try{Ve({name:t,version:c.icon==="java"?"jdk"+c.value:c.value,type:1})}catch(m){}continue}else if(t==="docker"){await Se({type:a?0:1});continue}try{let m="";m=c.value.split(".").length===3?c.value.split(".")[2]:"0",await Le({sName:t,version:c.icon==="java"?"jdk"+c.value:c.value,min_version:m,type:a,id:f++})}catch(m){}}}v.close(),await Te(),J(),l.value.isSetup=!0,x.success("已将下载任务添加到队列!"),j.value("close")},Y=async()=>{await Ee({icon:"warning-filled",title:"取消显示推荐安装",content:"不再显示推荐安装信息,继续操作?"}),await Pe({loading:"正在取消显示推荐安装,请稍后...",request:je({path:"/www/server/nginx"}),success:i=>{i.status?x.success("设置成功"):x.error("设置失败"),j.value("close")}})},ee=async()=>{const i=await Ae(),{data:f}=i;f.forEach(v=>{const{name:a}=v;if(a==="Tomcat")return;const u=[];let c="";switch(v.versions.forEach(({version:t})=>{const m=P.value.memTotal>=10240?"8.0":"5.7",$="8.2",q=a==="PHP"&&t===$,se=a==="MySQL"&&t===m,oe=a==="phpMyAdmin"&&t==="5.2",ne=a==="jdk"&&t.includes("1.8"),Z=U[t];let O="";const ae=!1;switch(a.toLowerCase()){case"nginx":O=["1.25","1.26","1.28"].includes(t)?"[支持http3]":"";break;case"mysql":if(P.value.memTotal<Z.max&&(O="[推荐".concat(Z.rec/1024,"G内存机器安装]")),H.includes(t))return;break;case"php":if(Q.includes(t))return;break;case"apache":O="[PHP运行模式:".concat(N[t].model,"]");break;case"phpmyadmin":if(!C[t]||T.includes(t)||C[t].indexOf($)!==-1)return;break;case"jdk":t=t.replace("jdk","");break}(!c&&q||se||oe||ne)&&(c=t),u.push({label:"".concat(a," ").concat(t),value:t,ps:O,disabled:ae})}),a.toLowerCase()){case"php":F.value.push(...u);break;case"phpmyadmin":G.value.push(...u);break}!c&&u.length>0&&(c=u[0].value),Object.keys(w).forEach(t=>{const m=w[t].soft[a];m&&(m.value=c,m.options=u,a==="phpMyAdmin"&&t!=="java"&&k(w[t].soft.PHP,t))})})},te=async i=>{try{let f={hide_list:JSON.stringify([i.id])};i.parentId&&(f.site_menu=1);const v=await De(f);v.status?x.success("设置成功,后期可以在左侧菜单栏中修改。"):x.request(v),await W(),He()}catch(f){}},W=async()=>{try{e.value=!0;const i=await $e(),f=["ftp","wp","ssl","mail"],v=i.data.map(({id:a,show:u,title:c,children:t})=>{let m=(a.replace(/memu([A|_]?)/,"")||"home").toLowerCase();return m==="dologin"&&(m="exit"),m==="btwaf"&&(m="waf"),t?t=t.map($=>{let q=$.id;return q==="proxy"&&(q="nginx"),{...$,parentId:a,name:q}}):t=!1,{name:m,show:u,title:c,id:a,children:t}});g.value=v.filter(a=>!f.includes(a.name)),A.value=v.filter(a=>f.includes(a.name)),B.value=!0}catch(i){}finally{e.value=!1}};return{recommend:w,initSoft:ee,installSoft:_,changeSoftwareVersion:k,cancelShowRec:Y,goSoft:s,goSetting:o,handleMenuChange:te,updateMenuItems:W,load:e,menuList:g,moreMenuList:A,getList:R,filterList:D,emits:j}}),Oe={class:"h-full p-[2rem]"},Be={class:"commend-title"},Je={class:"commend-msg"},Fe={class:"select-con"},Ge={class:"el-dropdown-link flex items-center text-small"},Qe=["onClick"],ze={class:"flex items-center justify-between w-full"},Ke=["onClick"],We={key:1,class:"flex items-center justify-between text-small"},Ze=["onClick"],Ie={class:"select-box"},Xe={class:"flex items-center justify-between w-full"},Ye=["onClick"],et={class:"commend-title"},tt={class:"commend-msg"},st={class:"flex recommend-soft-list overflow-y-auto flex-wrap gap-[1.5rem]"},ot={class:"rounded-base recommend-cont"},nt={class:"mb-[1rem] pl-[.5rem] recommend-title text-center inline-block w-full font-bold text-large"},at={class:"soft-list"},lt={class:"pl-8 text-warning"},it={class:"flex items-baseline my-8"},rt={class:"flex justify-center"},ct=re({__name:"index",emits:["close"],setup(K,{emit:P}){const l=Ne(),{recommend:B,emits:J}=X(l),j=P;return J.value=j,ce(()=>{l.initSoft(),l.updateMenuItems(),de(document.querySelector(".close-ad"),"click",()=>{l.cancelShowRec()})}),(w,e)=>{const g=fe,A=he,D=ve,R=_e,F=qe,G=we,U=ye,C=ge,T=ke,H=xe,Q=be,N=Me,z=pe("bt-loading");return d(),y("div",Oe,[n("div",Be,[e[4]||(e[4]=n("div",{class:"text-medium inline-block"},"左侧菜单设置",-1)),n("div",Je,[e[2]||(e[2]=b("-- 可以隐藏和关闭一些不需要的页面和功能,在面板",-1)),n("span",{class:"text-primary cursor-pointer hover:text-primaryDark",onClick:e[0]||(e[0]=(...s)=>r(l).goSetting&&r(l).goSetting(...s))}," 设置 "),e[3]||(e[3]=b("或左侧菜单栏下方可随时调整",-1))])]),ue((d(),y("div",Fe,[(d(!0),y(S,null,L(r(l).getList(r(l).menuList),s=>(d(),y("div",{class:"select-box",key:s.id},[s.children&&s.children.length?(d(),E(R,{key:0,"hide-on-click":!1},{dropdown:p(()=>[h(D,null,{default:p(()=>[(d(!0),y(S,null,L(s.children,o=>(d(),E(A,{key:o.id},{default:p(()=>[n("div",ze,[n("span",{class:"cursor-pointer",onClick:k=>r(l).handleMenuChange(o)},M(o.title),9,Ke),h(g,{modelValue:o.show,"onUpdate:modelValue":k=>o.show=k,class:"ml-[1rem]",onChange:k=>r(l).handleMenuChange(o)},null,8,["modelValue","onUpdate:modelValue","onChange"])])]),_:2},1024))),128))]),_:2},1024)]),default:p(()=>[n("span",Ge,[n("span",{class:"cursor-pointer whitespace-nowrap",onClick:o=>r(l).handleMenuChange(s)},M(s.title),9,Qe),e[5]||(e[5]=n("i",{class:"svgtofont-arrow-down ml-[.5rem]"},null,-1)),h(g,{modelValue:s.show,"onUpdate:modelValue":o=>s.show=o,class:"ml-[.5rem] w-[1.6rem] h-[1.6rem]",onChange:o=>r(l).handleMenuChange(s)},null,8,["modelValue","onUpdate:modelValue","onChange"])])]),_:2},1024)):(d(),y("div",We,[n("span",{class:"cursor-pointer whitespace-nowrap",onClick:o=>r(l).handleMenuChange(s)},M(s.title),9,Ze),h(g,{modelValue:s.show,"onUpdate:modelValue":o=>s.show=o,class:"ml-[.5rem] w-[1.6rem] h-[1.6rem]",onChange:o=>r(l).handleMenuChange(s)},null,8,["modelValue","onUpdate:modelValue","onChange"])]))]))),128)),n("div",Ie,[h(R,{"hide-on-click":!1},{dropdown:p(()=>[h(D,null,{default:p(()=>[(d(!0),y(S,null,L(r(l).moreMenuList,s=>(d(),E(A,{key:s.id},{default:p(()=>[n("div",Xe,[n("span",{class:"cursor-pointer",onClick:o=>r(l).handleMenuChange(s)},M(s.title),9,Ye),h(g,{modelValue:s.show,"onUpdate:modelValue":o=>s.show=o,class:"ml-[1rem]",onChange:o=>r(l).handleMenuChange(s)},null,8,["modelValue","onUpdate:modelValue","onChange"])])]),_:2},1024))),128))]),_:1})]),default:p(()=>[e[6]||(e[6]=n("span",{class:"el-dropdown-link flex items-center text-small"},[n("span",{class:"cursor-pointer whitespace-nowrap more-menu-trigger"},"更多"),n("i",{class:"svgtofont-arrow-down ml-[.5rem]"})],-1))]),_:1})])])),[[z,r(l).load]]),n("div",et,[e[10]||(e[10]=n("div",{class:"text-medium inline-block"},"一键安装套件",-1)),n("div",tt,[e[7]||(e[7]=b(" -- 我们为您提供以下套件一键安装,请按需选择或在",-1)),n("span",{class:"text-primary cursor-pointer hover:text-primaryDark",onClick:e[1]||(e[1]=(...s)=>r(l).goSoft&&r(l).goSoft(...s))}," 软件商店 "),e[8]||(e[8]=b("页面中手动安装,推荐安装",-1)),e[9]||(e[9]=n("span",null,'"LNMP"',-1))])]),n("div",st,[(d(!0),y(S,null,L(r(B),s=>(d(),y("div",{key:s.type,class:"recommend-soft-item flex-1"},[n("div",ot,[n("span",nt,M(s.title),1),n("ul",at,[(d(!0),y(S,null,L(s.soft,(o,k)=>(d(),y("li",{key:k,class:"flex items-center"},[h(F,{type:"icons",src:"soft/ico-".concat(o.icon,".svg"),class:me(["ml-1 mr-4",o.icon!=="docker"?"!w-[3.2rem] !h-[3.2rem]":"!mr-[.6rem] !w-[5.5rem] !h-[3.2rem]"])},null,8,["src","class"]),o.icon!=="docker"?(d(),E(U,{key:0,modelValue:o.value,"onUpdate:modelValue":_=>o.value=_,class:"flex-1 mr-[2rem]",size:"small",onChange:_=>r(l).changeSoftwareVersion(o,s.type)},{default:p(()=>[(d(!0),y(S,null,L(o.options,_=>(d(),E(G,{key:_.value,class:"flex justify-between",label:_.label,disabled:_.disabled,value:_.value},{default:p(()=>[n("span",null,M(_.label),1),n("span",lt,M(_.ps),1)]),_:2},1032,["label","disabled","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])):I("",!0),o.icon==="docker"?(d(),E(C,{key:1,class:"no-drap mr-[2rem]",value:"Docker服务",readOnly:""})):I("",!0),h(g,{modelValue:o.selected,"onUpdate:modelValue":_=>o.selected=_,disabled:o.disabled},null,8,["modelValue","onUpdate:modelValue","disabled"])]))),128))]),n("div",it,[e[15]||(e[15]=n("span",{class:"mr-4 whitespace-nowrap"},"安装方式:",-1)),h(Q,{modelValue:s.install,"onUpdate:modelValue":o=>s.install=o,class:"whitespace-nowrap"},{default:p(()=>[h(H,{class:"item",effect:"dark",placement:"top-start"},{content:p(()=>[...e[11]||(e[11]=[n("div",{class:"w-110"},"即rpm/deb,安装时间极快(5-10分钟),版本与稳定性略低于编译安装,适合快速部署测试",-1)])]),default:p(()=>[h(T,{class:"!mr-[1.2rem]",value:1},{default:p(()=>[...e[12]||(e[12]=[b("极速安装",-1)])]),_:1})]),_:1}),h(H,{class:"item",effect:"dark",placement:"top-start"},{content:p(()=>[...e[13]||(e[13]=[n("div",{class:"w-110"},"安装时间长(30分钟到2小时),性能最大化,适合生产环境",-1)])]),default:p(()=>[h(T,{class:"!mr-0",value:0},{default:p(()=>[...e[14]||(e[14]=[b("编译安装",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue","onUpdate:modelValue"])]),n("div",rt,[h(N,{type:"primary",onClick:o=>r(l).installSoft(s.type)},{default:p(()=>[...e[16]||(e[16]=[b("一键安装",-1)])]),_:1},8,["onClick"])])])]))),128))])])}}}),kt=Re(ct,[["__scopeId","data-v-9f49c2ee"]]);export{kt as default};