File: /www/server/panel/BTPanel/static/js/useController13.js
import{c as k,du as P,Q as A,M as f,b as $,e as p,_ as d,w as x,k as S}from"./utils-lib.js?v=1777008528";import{siteRname as B,getNpsQuestion as O,addSiteTypes as I,modifySiteTypes as F,removeSiteType as L,batchPhpType as R,removeProject as V}from"./site.js?v=1777008528";import{a8 as M,y as N,N as W,d as q,a as G,b as H}from"./index3.js?v=1777008528";import{_ as E}from"./index119.js?v=1777008528";import{c as J,r as g,t as z,o as K,a8 as Q,e as s,aB as T,x as h,a7 as U,J as X,I as Y}from"./base-lib.js?v=1777008528";import{u as Z,S as w}from"./useStore2.js?v=1777008528";const D=new EventTarget,ee=J({props:{onClick:{type:Function,default:()=>{}},row:{type:Object,default:()=>({})},refresh:{type:Function,default:()=>{}}},setup(e,t){const{panel:a}=k(),n=g(!1),l=g(!1),i=g(!1),{row:r}=z(e),u=g("site-name-".concat(P(5),"-").concat(r.value.id)),o=()=>{n.value=!1},C=()=>{l.value=!0,n.value=!0;const c=document.getElementById(u.value);c&&setTimeout(()=>{c.focus()},100)},y=c=>{(c.key==="Enter"||c.keyCode===13)&&_(c)},_=async c=>{try{if(r.value.rname===c.target.value){l.value=!1,n.value=!1;return}const m=await B({id:r.value.id,rname:c.target.value});f.request(m),n.value=!1,l.value=!1,m.status&&e.refresh()}catch(m){n.value=!1}};return K(()=>{D.addEventListener("hide-all-popovers",o)}),Q(()=>{D.removeEventListener("hide-all-popovers",o)}),()=>s("div",null,[s(T,{placement:"right",width:"220","popper-class":"myPopover",visible:n.value},{default:()=>s("div",{class:"web_name_hover",onMouseenter:()=>{i.value=!0},onMouseleave:()=>{i.value=!1,l.value||(n.value=!1)}},[a.value.showAiTip&&s("div",{class:"web_name_ai"},[s(M,{tips:[{text:"AI分析网站流量",message:"帮我分析".concat(r.value.rname,"网站的流量访问情况")},{text:"AI分析网站日志",message:"帮我分析".concat(r.value.rname,"网站的访问日志")}]},null)]),s("div",{class:"web_name_title"},[h("网站名:"),s("span",{class:"web_name_text"},[l.value?"":r.value.rname,s("input",{id:u.value,class:"bt-input ".concat(l.value?"":"hide"),onKeyup:y,onBlur:_,value:r.value.rname,placeholder:"点击编辑内容,按回车或失去焦点自动保存",style:"width: 140px;"},null)])]),s("div",{class:"web_name_setting"},[s("span",{class:"web_name_copy bt-link",onClick:()=>{A({value:r.value.rname})}},[s("i",{class:"svgtofont-icon-copy mr-4x text-secondary text-medium"},null),h("复制网站名")]),s("span",{onClick:C,class:"web_name_rename bt-link"},[s("i",{class:"svgtofont-icon-memo-active mr-4x text-secondary text-medium"},null),h("重命名")])])]),reference:()=>s("span",{onMouseenter:()=>{D.dispatchEvent(new CustomEvent("hide-all-popovers")),n.value=!0},onMouseleave:()=>{setTimeout(()=>{!l.value&&!i.value&&(n.value=!1)},500)},onClick:()=>{e.onClick(r)},class:"justify-start bt-link cursor-pointer"},[r.value.rname])})])}}),te=U(),{plugin:j,adHideInfo:ae}=k(),{isRefreshList:b,activeType:v,batchConfig:ne,isSiteMult:se}=Z(),{delGeneralProjectEvent:le,getClassList:re,setProjectStatusEvent:ie}=w(),ge=g(),ue=g([]),ye=e=>({label:(e==null?void 0:e.label)||"项目名称",prop:"name",minWidth:120,sortable:!0,render:t=>{const a=j.value.web,n=(e==null?void 0:e.type)==="java"&&!(t.is_file_ok||typeof t.is_file_ok>"u");return s("div",{class:"flex items-center inline-block truncate"},[t!=null&&t.waf&&(t!=null&&t.isWaf||(t==null?void 0:t.isWaf)===void 0)&&!ae.value.siteTableWafIcon?s("span",{class:"w-[1.6rem] mr-[4px] cursor-pointer flex items-center",onClick:()=>{e.openPlugin&&e.openPlugin(t,"iconWaf")}},[s($,{icon:"left-waf",class:"!text-extraLarge ".concat(t.waf.status&&(a==null?void 0:a.type)==="nginx"&&(a!=null&&a.status)&&(a!=null&&a.setup)?"!text-primary":"!text-tertiary"),size:20},null)]):"",s("span",{class:"!w-full !whitespace-pre-line flex ml-[4px]",title:t!=null&&t.cn_name&&t.name!==(t==null?void 0:t.cn_name)?t==null?void 0:t.cn_name:""},[(e==null?void 0:e.type)==="php"?s(ee,{row:t,onClick:()=>e.onClick(t),refresh:()=>{b.value=!0}},null):s("span",{onClick:()=>{n||e.onClick(t)},class:"justify-start cursor-pointer ".concat(n?"":"bt-link"," ")},[t.rname||t.name])])])}}),he=e=>{const t=e==null?void 0:e.type;return N({prop:"run",event:e.onClick,data:["未启动","运行中"],width:80,function:a=>{let n=a==null?void 0:a.run;return e!=null&&e.prop&&(n=a[e.prop]!==null),t==="nodejs"&&a.project_config.project_type==="pm2"&&a.run===void 0?X(s("div",{class:"loading h-[2rem]"},null),[[Y("bt-loading"),!0]]):s(T,{placement:"right",width:"160","popper-class":"detail-popover",trigger:"hover"},{default:()=>s("div",{class:"flex items-center"},[s("span",{class:"bt-link cursor-pointer",onClick:()=>e.onClick(a)},[n?"停止":"启动"]),s(E,null,null),s("span",{class:"bt-link cursor-pointer",onClick:()=>e.onClick(a,"restart")},[h("重启")]),s(E,null,null),s("span",{class:"bt-link cursor-pointer",onClick:()=>e.onClick(a,"setting")},[h("告警设置")])]),reference:()=>s(W,{modelValue:n?1:0,data:["未启动","运行中"],onClick:()=>e.onClick(a)},null)})}})},be=e=>({label:"到期时间",isCustom:!0,sortable:!0,prop:"edate",minWidth:100,width:100,render:t=>{const a=new Date().setHours(0,0,0,0),n=Date.now(),l=t.edate!=="0000-00-00"?new Date(t.edate).getTime():null,i=l&&l<a,r=l&&l-n<7*24*60*60*1e3;return s("span",{class:"cursor-pointer "+(i?"bt-danger":r?"bt-warn":"bt-link"),onClick:()=>ce(t)},[i?"已过期":t.edate==="0000-00-00"?"永久":t.edate])}}),ce=(e,t=!1)=>{p({title:"【".concat(e.name,"】到期时间设置"),area:48,component:()=>d(()=>import("./index394.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:{rowData:e,isMult:t},showFooter:!0})},Ce=e=>({label:"SSL证书",prop:"site_ssl",isCustom:!0,sortable:!0,minWidth:100,width:100,render:t=>{var a,n,l;return s("span",{class:"cursor-pointer ".concat(t.ssl===-1?"text-warning":((a=t.ssl)==null?void 0:a.endtime)<0?"text-danger":"text-primary"),onClick:()=>{e.onClick(t)}},[t.ssl===-1?"未部署":((n=t.ssl)==null?void 0:n.endtime)>0?"剩余".concat((l=t.ssl)==null?void 0:l.endtime,"天"):"已过期"])}}),De=()=>({label:"端口",prop:"port",width:120}),ke=()=>({label:"部署证书",value:"deploy",event:async(e,t,a,n,l,i)=>{ne.value=i,se.value=!0,oe(a.value,l)}}),xe=e=>({label:"设置分类",value:"setClass",event:async(t,a,n,l,i,r)=>{await q({name:"分类",options:e.classList.value.filter(u=>u.value!=="all"&&u.value!=="-2"),selectList:n.value,request:async(u,o)=>{const{exclude:C,enable:y}=r,_=G(n.value,C,y,{params:{project_type:v.value.toUpperCase(),id:u.id}});await S({loading:"正在批量设置分类,请稍后...",request:R(_),message:!0}),i&&i(),b.value=!0,o(),e.callback&&e.callback()}})}}),Ee=(e,t)=>{p({title:(e==null?void 0:e.title)||"批量操作结果",area:t||42,component:()=>d(()=>import("./index127.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:e})},Se=(e,t)=>{const a=e==="go";p({title:"".concat(a?"Go":"Python","-").concat(a?"SDK":"","版本管理"),area:50,component:()=>d(()=>import("./index281.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:{type:e,refresh:t}})},Te=async(e,t=v.value)=>{await x({title:"".concat("删除".concat(t,"项目-").concat(e.name)),content:"".concat("风险操作,此操作不可逆,删除".concat(e.name,"项目后您将无法管理该项目,是否继续操作?")),type:"input",input:{content:"删除项目"}});try{const a={python:{data:JSON.stringify({name:e.name})},default:{data:JSON.stringify({project_name:e.name})}},n=a[t]||a.default,l=await le(n);f.request(l),l.status&&(b.value=!0)}catch(a){return f.error("删除失败"),{status:!1,msg:"删除失败"}}},je={get:async()=>{const{data:e}=await re();return ue.value=e,e},add:e=>I({...e,ps:""},v.value),update:e=>{const{id:t,...a}=e;return F({type_id:t,...a,ps:""},v.value)},delete:e=>{const{id:t}=e;return L({type_id:t},v.value)}},Pe=async(e,t,a=v.value)=>{try{const n=new Date().setHours(0,0,0,0);if(e.edate!=="0000-00-00"&&new Date(e.edate).getTime()/1e3<n/1e3){f.error("项目已过期,请设置站点到期时间后再操作");return}const i={start:"即将启动项目".concat(e.name,",确定要启动项目吗?"),stop:"停用项目".concat(e.name,"后,项目将无法访问,确定要停用项目吗?"),restart:"即将重启项目".concat(e.name,",确定要重启项目吗?")};await x({icon:"warning-filled",title:"设置项目状态",content:i[t]});const r={python:{data:JSON.stringify({name:e.name})},nodejs:{project_name:e.name,project_type:e.project_config.project_type||"nodejs",status:t},java:{project_name:e.name},phpasync:{sitename:e.name,project_action:t},default:{data:JSON.stringify({project_name:e.name})}};let u=r[a]||r.default;a==="nodejs"&&e.project_config.project_type==="pm2"&&(u.pm2_name=e.pm2_name||e.project_config.pm2_name);const o=await ie(u,t,a);return b.value=!0,o}catch(n){return{status:!1,msg:"操作失败"}}},Ae=e=>p({title:"到期提醒配置",area:50,showFooter:!0,confirmText:"保存配置",component:()=>d(()=>import("./ssl-expire-configure.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:!!e,onCancel:(e==null?void 0:e.onCancel)||(()=>{})}),$e=async()=>{var t,a;const{data:e}=await S({request:O({version:-1,product_type:14})});if(!e.status)return f.error("请求失败,请稍候重试");p({component:()=>d(()=>import("./index147.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),area:52,compData:{name:"网站",type:14,id:(t=e.msg[0])==null?void 0:t.id,description:(a=e.msg[0])==null?void 0:a.question}})},Be=(e={readonly:!1,theme:"chrome"})=>({mode:"ace/mode/nginx",theme:te.value?"ace/theme/clouds_midnight":"ace/theme/".concat(e.theme),wrap:!0,showInvisibles:!1,showFoldWidgets:!1,useSoftTabs:!0,tabSize:2,showPrintMargin:!1,readOnly:e.readonly,fontSize:"12px"}),Oe=e=>p({title:e.title,area:68,component:()=>d(()=>import("./log-details.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:e}),Ie=async(e,t,a,n)=>{const{label:l,value:i}=n,r=new Map([["delete","批量删除选中的项目后,项目将无法恢复"]]),u=async(o,C)=>{const y=new Map([["delete",V]]),{name:_}=o,c=y.get(i);switch(i){case"delete":if(c){const m=await c({data:JSON.stringify({project_name:_})},v.value);return{...o,batchStatus:m.status?1:2,message:m.status?m.data.msg:m.data.data}}}};await e({title:"批量".concat(l),content:"".concat(r.get(i),",是否继续操作?"),column:[{label:"项目名称",prop:"name"},H()],onConfirm:async()=>(await t(u),b.value=!0,!1)})},Fe={create:"创建文件",modify:"编辑文件",unlink:"删除文件",mkdir:"新建文件夹",rmdir:"删除文件夹",rename:"文件重命名",link:"创建软链",chmod:"修改文件权限",chown:"修改所有者"},Le={localhost:"服务器磁盘",alioss:"阿里云OSS",ftp:"FTP",sftp:"SFTP",msonedrive:"微软OneDrive",qiniu:"七牛云",txcos:"腾讯COS",upyun:"又拍云",tianyiyun:"天翼云",jdcloud:"京东云",aws_s3:"亚马逊存储","Google Cloud":"谷歌云","Google Drive":"谷歌网盘",bos:"百度云",obs:"华为云",webdav:"WebDav",minio:"MinIO",dogecloud:"多吉云COS"},oe=(e,t)=>p({isAsync:!0,title:"批量设置证书",area:68,component:()=>d(()=>import("./index282.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:e,onCancel:()=>{t&&t()}}),Re=(e="all",t)=>{const a=j.value.web;if(!a.status)return f.error("当前站点未安装Web服务器,无法查看统计信息");if(!["nginx","apache"].includes(a.type))return f.error("当前站点Web服务器类型不是Nginx/Apache,无法查看统计信息");p({isAsync:!0,title:e==="all"?"网站统计总览":"【".concat(t,"】- 站点统计总览"),area:90,component:()=>d(()=>import("./index188.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:{viewType:e,siteName:t}})},Ve=async()=>{const{panel:e}=k();e.value.ipv6||await x({title:"提示",content:"IPv6地址的访问未开启,建议前往【面板设置】开启监听IPv6地址,以免因IPv6访问异常导致网站无法访问。"})};export{Re as a,be as b,Ce as c,$e as d,ge as e,he as f,je as g,Te as h,ke as i,xe as j,ue as k,Ve as l,Le as m,Be as n,Ee as o,Se as p,Ie as q,De as r,Pe as s,Oe as t,ye as u,Fe as v,Ae as w};
function __vite__mapDeps(indexes) {
if (!__vite__mapDeps.viteFileDeps) {
__vite__mapDeps.viteFileDeps = []
}
return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
}