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/useController17.js
import{gp as _e,c7 as ne,cZ as xe,c as ae,b as qe,cO as He,K as Ce,W as Xe,k as F,M as be,e as Me,w as Je,n as We,cP as Ke,eP as Qe,_ as Ze}from"./utils-lib.js?v=1777008528";import{c as O,o as oe,I as Y,J as D,p as e,j as m,k as v,F as R,q as c,x as p,s as he,y as P,e as l,v as g,M as N,bm as Ee,z as re,t as we,C as Se,Q as M,G as Ye,ap as ke,U as et,aB as tt,ad as le,ab as Pe,aJ as st,r as C,H as G,g as lt,n as nt,b8 as at}from"./base-lib.js?v=1777008528";import{a2 as ot,w as rt,k as it}from"./index3.js?v=1777008528";import{_ as ut}from"./index.vue_vue_type_script_setup_true_lang19.js?v=1777008528";import{_ as ie}from"./index206.js?v=1777008528";import{u as q,S as ue}from"./useStore2.js?v=1777008528";import{_ as ct}from"./index116.js?v=1777008528";import{A as pt}from"./index207.js?v=1777008528";import{getSiteErrorLogs as dt,getSpringBootLogList as gt,getSpringBootLog as mt,changeSiteLogPath as ft,setPushTask as vt,getSiteLogPushStatus as yt,getIpArea as _t,getSiteLogs as xt,getSiteLogFile as Ct,setCdnIp as bt}from"./site.js?v=1777008528";const ht={class:"h-full"},Et={class:"mb-[16px] flex justify-between items-center gap-[16px]"},wt={key:1,class:"bg-light flex items-center justify-center h-full",style:{"min-height":"500px"}},St={class:"bg-lighter px-[48px] py-[16px] text-default flex items-center"},kt=O({__name:"error-log",setup(s,{expose:n}){const{isBindExtranet:i,siteType:u,siteInfo:r}=q(),{jumpTabEvent:a}=ue(),{containerRef:b,tipStyle:_,selectedText:L,handleAiAnalyze:S}=_e({siteName:r.value.name,logType:"错误"});return oe(X),n({init:X}),(f,o)=>{const ee=re,H=ne,pe=Y("bt-loading");return D((m(),v("div",ht,[e(i)?(m(),v(R,{key:0},[c("div",Et,[c("div",null,[e(u)==="proxy"?(m(),v(R,{key:0},[p("日志大小:"+he(e(K).size),1)],64)):P("",!0)]),l(ee,{type:"primary",onClick:o[0]||(o[0]=()=>e(X)())},{default:g(()=>[...o[3]||(o[3]=[p("刷新日志",-1)])]),_:1})]),c("div",{class:"flex relative",ref_key:"logContainerRef",ref:b},[l(ie,{content:e(K).logs,isHtml:!0,fullScreen:{title:"全屏查看[错误]日志",onRefresh:e(X),siteName:e(r).name,logType:"错误"},"ai-tips":{name:e(r).name,logType:"错误"},style:{height:"56rem",width:"99.5%"}},null,8,["content","fullScreen","ai-tips"]),l(Ee,{name:"tip-fade"},{default:g(()=>[e(L)?(m(),v("div",{key:0,class:"log-ai-tip",style:N(e(_)),onClick:o[1]||(o[1]=(...t)=>e(S)&&e(S)(...t))},[...o[4]||(o[4]=[c("img",{src:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='14' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='3.001' x2='12.142' y1='0' y2='1.302' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23C2C63E'/%3E%3Cstop offset='1' stop-color='%2329A73A'/%3E%3C/linearGradient%3E%3ClinearGradient id='b' x1='11.464' x2='15.12' y1='9.333' y2='9.853' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23C2C63E'/%3E%3Cstop offset='1' stop-color='%2329A73A'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill-rule='evenodd'%3E%3Cpath fill='url(%23a)' d='m7.52 4.258 4.322 1.576L7.52 7.41 5.921 11.67l-1.6-4.259L0 5.834l4.322-1.576L5.922 0z'/%3E%3Cpath fill='url(%23b)' d='m13.271 11.036 1.73.63-1.73.63-.64 1.704-.64-1.703-1.728-.63 1.729-.631.64-1.703z'/%3E%3C/g%3E%3C/svg%3E",class:"ai-icon"},null,-1),c("span",{class:"tip-text"},"AI分析",-1)])],4)):P("",!0)]),_:1})],512)],64)):(m(),v("div",wt,[c("div",St,[o[6]||(o[6]=p(" 请开启 ",-1)),l(H,{class:"mx-[.4rem]",onClick:o[2]||(o[2]=t=>e(a)("mapping"))},{default:g(()=>[...o[5]||(o[5]=[p(" 外网映射 ",-1)])]),_:1}),o[7]||(o[7]=p(" 后查看 ",-1))])]))])),[[pe,e(w)]])}}}),Pt=xe(kt,[["__scopeId","data-v-a87a03ef"]]),It={class:"h-full"},Lt={key:0,class:"flex items-center justify-between pb-1.6rem"},Tt={class:"flex items-center"},Ft={class:"ml-[8px]"},Rt={class:"flex items-center text-base"},Vt={class:"flex items-center p-[12px]"},Bt={key:1,class:"mb-[16px] flex justify-between items-center gap-[16px]"},At={key:1,class:"bg-light flex items-center justify-center h-full",style:{"min-height":"500px"}},jt={class:"bg-lighter px-[48px] py-[16px] text-default flex items-center"},$t={class:"p-[20px]"},zt=O({__name:"response-log",setup(s,{expose:n}){const{plugin:i,adHideInfo:u,enterpriseRec:r}=ae(),{webserver:a}=we(i.value),{isBindExtranet:b,siteType:_,siteInfo:L}=q(),{jumpTabEvent:S}=ue(),{containerRef:f,tipStyle:o,selectedText:ee,handleAiAnalyze:H}=_e({siteName:L.value.name,logType:"响应"});return oe(ye),n({init:ye}),(pe,t)=>{const j=re,te=Ye,je=ke,$e=qe,ze=et,Ue=ct,De=tt,Ne=ne,de=He,se=le,Oe=Pe,Ge=Ce,ge=Y("bt-loading");return m(),v("div",It,[e(b)?(m(),v(R,{key:0},[e(_)!=="proxy"?(m(),v("div",Lt,[D((m(),v("div",Tt,[e(_)==="php"&&e(a)==="nginx"?(m(),v(R,{key:0},[l(j,{type:"default",onClick:e(ms)},{default:g(()=>[...t[15]||(t[15]=[p("cdn来源IP解析",-1)])]),_:1},8,["onClick"]),l(te,{direction:"vertical",class:"!h-2rem !mx-1.6rem"})],64)):P("",!0),e(_)!=="python"?(m(),v(R,{key:1},[l(je,{onChange:e(_s),modelValue:e(y).alert,"onUpdate:modelValue":t[0]||(t[0]=d=>e(y).alert=d)},null,8,["onChange","modelValue"]),c("span",Ft,[t[16]||(t[16]=p(" 关键字告警 ",-1)),c("span",{class:"!inline-block bt-link",onClick:t[1]||(t[1]=(...d)=>e(ve)&&e(ve)(...d))}," [配置] ")]),l(te,{direction:"vertical",class:"!h-2rem !mx-1.6rem"})],64)):P("",!0),e(r)&&!e(u).siteConfigLog?(m(),Se(ze,{key:2,onChange:e(ys),modelValue:e(y).showIp,"onUpdate:modelValue":t[2]||(t[2]=d=>e(y).showIp=d)},{default:g(()=>[c("div",Rt,[t[17]||(t[17]=p(" 显示IP归属地信息 ",-1)),l($e,{icon:"icon-ltd",size:16,color:"#9B7E48",class:"ml-[4px]"})])]),_:1},8,["onChange","modelValue"])):P("",!0),e(_)==="php"?(m(),v(R,{key:3},[l(te,{direction:"vertical",class:"!h-2rem !mx-1.6rem"}),l(De,{trigger:"click",placement:"bottom","popper-class":"white-tips-popover",width:"400",visible:e(U),"onUpdate:visible":t[5]||(t[5]=d=>M(U)?U.value=d:null)},{reference:g(()=>[l(j,{type:"default"},{default:g(()=>[...t[19]||(t[19]=[p("更改日志路径",-1)])]),_:1})]),default:g(()=>[c("div",Vt,[l(Ue,{placeholder:"请输入日志路径",modelValue:e(I),"onUpdate:modelValue":t[3]||(t[3]=d=>M(I)?I.value=d:null),onIconClick:e(fs),icon:"el-folder-opened"},null,8,["modelValue","onIconClick"]),l(j,{type:"primary",class:"!ml-[8px]",onClick:t[4]||(t[4]=d=>e(vs)())},{default:g(()=>[...t[18]||(t[18]=[p(" 保存 ",-1)])]),_:1})])]),_:1},8,["visible"])],64)):P("",!0)])),[[ge,e(w)]]),l(j,{type:"primary",onClick:t[6]||(t[6]=()=>e(B)())},{default:g(()=>[...t[20]||(t[20]=[p("刷新日志",-1)])]),_:1})])):P("",!0),e(_)==="proxy"?(m(),v("div",Bt,[c("div",null,"日志大小:"+he(e(y).size),1),l(j,{type:"primary",onClick:t[7]||(t[7]=()=>e(B)())},{default:g(()=>[...t[21]||(t[21]=[p("刷新日志",-1)])]),_:1})])):P("",!0),c("div",{class:"relative",ref_key:"logContainerRef",ref:f},[D(l(ie,{content:e(y).logs,isHtml:!0,fullScreen:{title:"全屏查看[响应]日志",onRefresh:e(B),siteName:e(L).name,logType:"响应"},"ai-tips":{name:e(L).name,logType:"响应"},style:N({height:e(_)==="php"?"52rem":"56rem",width:"99.5%"})},null,8,["content","fullScreen","ai-tips","style"]),[[ge,e(w)]]),l(Ee,{name:"tip-fade"},{default:g(()=>[e(ee)?(m(),v("div",{key:0,class:"log-ai-tip",style:N(e(o)),onClick:t[8]||(t[8]=(...d)=>e(H)&&e(H)(...d))},[...t[22]||(t[22]=[c("img",{src:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='14' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='3.001' x2='12.142' y1='0' y2='1.302' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23C2C63E'/%3E%3Cstop offset='1' stop-color='%2329A73A'/%3E%3C/linearGradient%3E%3ClinearGradient id='b' x1='11.464' x2='15.12' y1='9.333' y2='9.853' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23C2C63E'/%3E%3Cstop offset='1' stop-color='%2329A73A'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill-rule='evenodd'%3E%3Cpath fill='url(%23a)' d='m7.52 4.258 4.322 1.576L7.52 7.41 5.921 11.67l-1.6-4.259L0 5.834l4.322-1.576L5.922 0z'/%3E%3Cpath fill='url(%23b)' d='m13.271 11.036 1.73.63-1.73.63-.64 1.704-.64-1.703-1.728-.63 1.729-.631.64-1.703z'/%3E%3C/g%3E%3C/svg%3E",class:"ai-icon"},null,-1),c("span",{class:"tip-text"},"AI分析",-1)])],4)):P("",!0)]),_:1})],512)],64)):(m(),v("div",At,[c("div",jt,[t[24]||(t[24]=p(" 请开启 ",-1)),l(Ne,{class:"mx-[.4rem]",onClick:t[9]||(t[9]=d=>e(S)("mapping"))},{default:g(()=>[...t[23]||(t[23]=[p(" 外网映射 ",-1)])]),_:1}),t[25]||(t[25]=p(" 后查看 ",-1))])])),l(Ge,{title:"关键字告警配置",onConfirm:t[13]||(t[13]=d=>e(Be)(e(k),"confirm")),onCancel:e(xs),modelValue:e(V),"onUpdate:modelValue":t[14]||(t[14]=d=>M(V)?V.value=d:null),area:46,showFooter:""},{default:g(()=>[c("div",$t,[l(Oe,{"label-position":"right",model:e(k),rules:e(is),ref_key:"alertSetFormRef",ref:Re},{default:g(()=>[l(se,{label:"周期",prop:"cycle"},{default:g(()=>[l(de,{modelValue:e(k).cycle,"onUpdate:modelValue":t[10]||(t[10]=d=>e(k).cycle=d),type:"number",min:1,width:"24rem","text-type":"分钟"},null,8,["modelValue"])]),_:1}),l(se,{label:"关键字",prop:"keys"},{default:g(()=>[l(de,{modelValue:e(k).keys,"onUpdate:modelValue":t[11]||(t[11]=d=>e(k).keys=d),type:"textarea",resize:"none",row:6,width:"24rem"},null,8,["modelValue"])]),_:1}),l(se,{label:"告警方式",prop:"channel"},{default:g(()=>[l(ot,{modelValue:e(k).channel,"onUpdate:modelValue":t[12]||(t[12]=d=>e(k).channel=d),multiple:!0,limit:["sms"],class:"!w-[24rem]"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"]),t[26]||(t[26]=c("ul",{class:"mt-[8px] leading-8 text-small list-disc ml-[20px]"},[c("li",null,"检查时只检查间隔时间内的日志内容"),c("li",null,"周期时间请勿设置太小,建议10分钟以上以免导致服务器资源异常")],-1))])]),_:1},8,["onCancel","modelValue"])])}}}),Ut=xe(zt,[["__scopeId","data-v-02eeb655"]]),Dt={key:1,class:"bg-light flex items-center justify-center h-full",style:{"min-height":"500px"}},Nt={class:"bg-lighter px-[48px] py-[16px] text-default flex items-center"},Ot=O({__name:"safe-analysis",setup(s){const{isBindExtranet:n,siteInfo:i}=q(),{jumpTabEvent:u}=ue();return(r,a)=>{const b=ne;return m(),v("div",null,[e(n)?(m(),Se(pt,{key:0,type:"site",name:e(i).name},null,8,["name"])):(m(),v("div",Dt,[c("div",Nt,[a[2]||(a[2]=p(" 请开启 ",-1)),l(b,{class:"mx-[.4rem]",onClick:a[0]||(a[0]=_=>e(u)("mapping"))},{default:g(()=>[...a[1]||(a[1]=[p(" 外网映射 ",-1)])]),_:1}),a[3]||(a[3]=p(" 后查看 ",-1))])]))])}}}),Gt={class:"flex flex-col"},qt={class:"flex items-center"},Ht={class:"mt-[16px]"},Xt={class:"p-[12px] w-full flex items-start overflow-y-auto h-full"},Mt=["innerHTML"],Jt=O({__name:"spring-boot-logs",setup(s,{expose:n}){const{mainHeight:i}=ae();return oe(me),n({init:me}),(u,r)=>{const a=Xe,b=re,_=Ce,L=Y("bt-loading");return D((m(),v("div",Gt,[c("div",qt,[r[2]||(r[2]=c("span",null,"日志路径",-1)),l(a,{modelValue:e(E).path,"onUpdate:modelValue":r[0]||(r[0]=S=>e(E).path=S),options:e(Le),onChange:e(Fe),placeholder:"请选择",class:"!w-[38rem] !mx-[.8rem]"},null,8,["modelValue","options","onChange"])]),c("div",Ht,[c("div",null,[l(b,{type:"primary",onClick:e(Q)},{default:g(()=>[...r[3]||(r[3]=[p("刷新日志",-1)])]),_:1},8,["onClick"]),l(b,{type:"default",onClick:e(as)},{default:g(()=>[...r[4]||(r[4]=[p("实时日志",-1)])]),_:1},8,["onClick"])]),l(ie,{title:"全屏查看【项目】日志",content:e(E).logs,isHtml:!0,fullScreen:{title:"全屏查看【项目】日志",onRefresh:e(Q)},class:"mt-[16px]",style:N({height:e(Te)==="java"?"48rem":"64rem",width:"99.5%"})},null,8,["content","fullScreen","style"])]),l(_,{title:"查看日志",onCancel:e(os),modelValue:e($),"onUpdate:modelValue":r[1]||(r[1]=S=>M($)?$.value=S:null),area:["100%","100%"],"close-btn":1},{default:g(()=>[c("div",{ref_key:"logPopupCon",ref:J,class:"bg-[#333] text-white w-full h-full",style:N("height: ".concat(e(i),"px;"))},[c("pre",Xt,[r[5]||(r[5]=p("					",-1)),c("code",{class:"flex-1 w-full p-0 bg-none whitespace-pre-line text-i text-[#ececec]",innerHTML:e(E).logs},null,8,Mt),r[6]||(r[6]=p("\n				",-1))])],4)]),_:1},8,["onCancel","modelValue"])])),[[L,e(w)]])}}}),Wt=st("SITE-LOGS-STORE",()=>{const{siteType:s,siteInfo:n}=q();return{getErrorLogsEvent:async f=>{try{const{data:o}=await dt(f,s.value);return{data:o,status:!0}}catch(o){return{msg:"获取错误日志失败",status:!1}}},getSpringLogEvent:async f=>{try{const{data:o}=await gt(f);return{data:o.data,status:o.status}}catch(o){return{msg:"获取日志失败",status:!1}}},setSpringPathEvent:async f=>{try{const{data:o}=await mt(f);return{status:o.status,msg:o.data}}catch(o){return{msg:"保存路径失败",status:!1}}},saveResLogPathEvent:async f=>{try{const o=await F({loading:"正在保存日志路径,请稍后...",request:ft(f),message:!0});return{status:o.status,msg:o.msg}}catch(o){return{msg:"保存路径失败",status:!1}}},setPushTaskEvent:async f=>{try{const o=await F({loading:"正则处理中,请稍后...",request:vt(f),message:!0});return{status:o.status,msg:o.msg}}catch(o){return{status:!1,msg:"推送失败"}}},getLogPushEvent:async()=>{try{return{data:await F({request:yt({sitename:n.value.name}),data:{status:Boolean,"config.cycle":[Number,"cycle"],"config.keys":[Array,"keys"],"config.channel":[String,"channel"]}}),status:!0}}catch(f){return{msg:"获取推送配置失败",status:!1}}},getIpStatusEvent:async()=>{try{return{data:(await F({request:_t(),data:{msg:[Number,"msg"]}})).msg,status:!0}}catch(f){return{msg:"获取IP归属地失败",status:!1}}},getResLogEvent:async f=>{try{const o=await xt(f,s.value);return{data:o.data,status:o.status}}catch(o){return{msg:"获取日志失败",status:!1}}}}}),{payment:Kt}=ae(),{authType:Ie}=we(Kt.value),{getErrorLogsEvent:Qt,getSpringLogEvent:Zt,setSpringPathEvent:Yt,saveResLogPathEvent:es,setPushTaskEvent:ts,getLogPushEvent:ss,getIpStatusEvent:ls,getResLogEvent:ns}=Wt(),{siteType:A,siteInfo:h,isBindExtranet:W}=q(),w=C(!1),K=C({logs:"",size:"0 b"}),Le=C([]),Te=C(""),$=C(!1),J=C(null),E=G({path:"",logs:"",type:"",size:"",isNew:!1,isGunicorn:!1}),Ts=lt(()=>{var s;return((s=h.value)==null?void 0:s.tabName)||(A.value==="java"?"projectLog":"response")}),T=C([{label:"响应日志",name:"response",lazy:!0,render:()=>l(Ut,null,null)},{label:"错误日志",name:"error",lazy:!0,render:()=>l(Pt,null,null)},{label:"日志安全分析",name:"safe",lazy:!0,render:()=>l(Ot,null,null)}]),Fs=s=>{},Rs=()=>{var n,i,u,r;A.value==="java"?(T.value.some(a=>a.name==="projectLog")||T.value.unshift({label:"项目日志",name:"projectLog",lazy:!0,render:()=>l(ut,null,null)}),((i=(n=h.value)==null?void 0:n.project_config)==null?void 0:i.java_type)==="springboot"?T.value.some(a=>a.name==="springbootLog")||T.value.push({label:"springBoot日志",name:"springbootLog",lazy:!0,render:()=>l(Jt,null,null)}):T.value=T.value.filter(a=>a.name!=="springbootLog")):T.value=T.value.filter(a=>a.name!=="projectLog"&&a.name!=="springbootLog"),["php","proxy","html"].includes(A.value)?W.value=!0:W.value=!!((r=(u=h.value)==null?void 0:u.project_config)!=null&&r.bind_extranet)},X=async()=>{var u,r;if(!W.value)return;const s=h.value.name,n=A.value,i={proxy:{site_name:s,type:"error"},default:{siteName:s}};try{w.value=!0;const a=await Qt(i[n]||i.default);return n==="proxy"&&(K.value.size=a.data.size||"0 b"),K.value.logs=((u=a.data)==null?void 0:u.logs)||((r=a.data)==null?void 0:r.msg)||"暂无日志信息",a}catch(a){return{msg:"获取错误日志失败",status:!1}}finally{w.value=!1}},Q=async()=>{w.value=!0;try{const s={project_name:h.value.name},{data:n,status:i}=await Zt(s);i&&(Le.value=n.map(u=>({label:u,value:u})),E.logs="正在获取日志",E.path=(n==null?void 0:n[0])||"",Fe())}catch(s){}finally{w.value=!1}},Fe=async s=>{try{if(!E.path)return E.logs="暂未在SpringBoot框架中查找到日志配置信息",!1;const n=await Yt({log_file:E.path});return n.status||be.error(n.msg),E.logs=n.msg||"获取日志失败",n}catch(n){return{msg:"保存路径失败",status:!1}}};let z=null;const as=()=>{$.value=!0,nt(()=>{J.value&&(J.value.scrollTop=J.value.scrollHeight)}),z&&clearInterval(z),z=setInterval(()=>{Q()},2e3)},os=()=>{$.value=!1,clearInterval(z),z=null},me=()=>{var s,n;Te.value="java",E.type=((s=h.value.project_config)==null?void 0:s.loglevel)||"",E.isGunicorn=((n=h.value.project_config)==null?void 0:n.stype)==="gunicorn",Q()},I=C(""),U=C(!1),rs=C(!1),x=G({cdn_ip:!1,header:""}),y=G({alert:!1,showIp:!1,ipData:0,logs:"",size:"0 b"}),Z=C(!1),V=C(!1),Re=C();let Ve="";const k=G({cycle:0,keys:"",channel:[]}),is=G({cycle:[{required:!0,message:"请输入周期",trigger:"blur"}],keys:[{required:!0,message:"请输入关键字",trigger:"blur"}],channel:[{required:!0,message:"请选择告警方式",trigger:"blur"}]}),us=()=>{Ve=x.header,x.header=""},cs=()=>{x.header===""&&(x.header=Ve)},ps=[{value:"X-Forwarded-For",label:"X-Forwarded-For"},{value:"X-Real-IP",label:"X-Real-IP"},{value:"X-Forwarded",label:"X-Forwarded"},{value:"Forwarded-For",label:"Forwarded-For"},{value:"Forwarded",label:"Forwarded"},{value:"True-Client-IP",label:"True-Client-IP"},{value:"Client-IP",label:"Client-IP"},{value:"Ali-Cdn-Real-IP",label:"Ali-Cdn-Real-IP(阿里云)"},{value:"EO-Connecting-IP",label:"EO-Connecting-IP(腾讯云EdgeOne)"},{value:"Cdn-Src-IP",label:"Cdn-Src-IP"},{value:"Cdn-Real-IP",label:"Cdn-Real-IP"},{value:"Cf-Connecting-IP",label:"Cf-Connecting-IP(Cloudflare)"},{value:"X-Cluster-Client-IP",label:"X-Cluster-Client-IP"},{value:"Wl-Proxy-Client-IP",label:"Wl-Proxy-Client-IP"},{value:"Proxy-Client-IP",label:"Proxy-Client-IP"}],ds=(s,n)=>{n(ps)},fe=async(s,n)=>{const i=await F({loading:"正在设置,请稍后...",request:bt({siteName:h.value.name,cdn_ip:s?1:0,header_cdn:x.header}),message:!0,success:()=>{n===!0&&(rs.value=!1)}});return n?i.status:!1},gs=O({setup(s,{expose:n}){const i=C(),u=async()=>{Qe();const{UIAutomator:a}=await Ze(()=>import("./utils-lib.js?v=1777008528").then(_=>_.mj),__vite__mapDeps([]),import.meta.url);await new a({humanize:!0}).waitFor('//button[contains(@class,"el-button")]//span[text()="高级设置"]',{timeout:5e3}).wait(300).click('//button[contains(@class,"el-button")]//span[text()="高级设置"]').waitFor("#tab-cdnSetting",{timeout:5e3}).wait(300).click("#tab-cdnSetting").run()},r=[{content:l("span",null,[p("应用于当前站点,如需全局设置,请到 "),l("span",{class:"bt-link",onClick:u},[p("高级设置->cdn来源IP解析")])])}];return n({onConfirm:async()=>await fe(x.cdn_ip,!0)}),()=>l("div",{class:"p-[12px]"},[l(Pe,{model:x,"label-width":"120px"},{default:()=>[l(le,{label:"cdn来源IP解析"},{default:()=>[l("div",{class:"flex items-center"},[l(ke,{onChange:fe,modelValue:x.cdn_ip,"onUpdate:modelValue":a=>x.cdn_ip=a},null),l("span",{class:"ml-[4px] mb-[2px]"},[p("* 请确保使用"),l("span",{class:"text-danger"},[p("安全可靠")]),p("的cdn")])])]}),D(l(le,{label:"来源的请求头"},{default:()=>[l("div",{class:"flex items-center"},[l(at,{ref:i,modelValue:x.header,"onUpdate:modelValue":a=>x.header=a,class:"!w-[24rem]",fetchSuggestions:ds,placeholder:"请选择或输入来源的请求头",onFocus:us,onBlur:cs,onSelect:()=>{var a;(a=i.value)==null||a.blur()}},{suffix:()=>l("span",{class:"svgtofont-el-arrow-down"},null),default:a=>{var b;return l("div",null,[(b=a==null?void 0:a.item)==null?void 0:b.label])}})])]}),[[Y("if"),x.cdn_ip]])]}),l(Ke,{options:r},null)])}}),ms=()=>{Me({title:"cdn来源IP解析",component:gs,showFooter:!0,btn:["保存","取消"],area:50})},fs=()=>{rt({type:"dir",path:I.value,change:s=>{I.value=s,setTimeout(()=>{U.value=!0},0)}})},vs=async(s={site_name:h.value.name,log_path:I.value})=>{await Je({title:"保存日志路径",content:"是否保存日志路径[".concat(I.value,"]")}),(await es({site_name:h.value.name,log_path:I.value})).status&&(B(),Ae(),U.value=!1)},ys=async()=>{Ie.value!=="ltd"?(y.showIp=!1,it({disablePro:!0,sourceId:184})):B()},_s=async s=>{Z.value=!0,s?V.value=!0:Be({},"switch")},xs=()=>{Z.value&&(y.alert=!y.alert,Z.value=!1)},Be=async(s,n)=>{try{V.value&&await Re.value.validate();let i={sitename:h.value.name};n!=="switch"&&(Z.value||delete i.sitename,i.channel=s.channel.filter(r=>r!=="").join(","),i.cycle=s.cycle,i.keys=JSON.stringify(We(s.keys)?s.keys.split(","):s.keys));const u=await ts(i);return u.status&&ce(),u.status}catch(i){return!1}},ce=async()=>{try{const s=await ss();let n={};if(s.status){y.alert=s.data.status;const{cycle:i,keys:u,channel:r}=s.data;n={cycle:i,keys:u,channel:r.split(","),status:s.status}}else y.alert=!1;return Object.assign(k,n),{data:n,status:s.status}}catch(s){return{msg:"获取告警配置失败",status:!1}}},ve=()=>{V.value=!0,ce()},Cs=async()=>{try{const s=await ls();y.showIp=s.data===1}catch(s){return{msg:"获取IP归属地失败",status:!1}}},B=async(s=h.value.name,n=A.value)=>{Ie.value!=="ltd"&&(y.showIp=!1);const i={proxy:{site_name:s,type:"access"},default:{siteName:s,ip_area:Number(y.showIp)}};try{w.value=!0;const u=await ns(i[n]||i.default);return n==="proxy"?(y.logs=u.data.msg||"暂无日志信息",y.size=u.data.size||"0 b"):y.logs=u.data.msg||"暂无日志信息",u}catch(u){return{msg:"获取日志失败",status:!1}}finally{w.value=!1}},Ae=()=>{F({request:Ct({siteName:h.value.name}),data:{log_file:String,status:Boolean,msg:String,"cdn_ip.ip_header":String},success:s=>{x.cdn_ip=!!s["cdn_ip.ip_header"],x.header=s["cdn_ip.ip_header"]||"X-Forwarded-For",I.value=s.log_file,s.status||be.error(s.msg)}})},ye=async()=>{W.value&&(await Cs(),A.value!=="python"&&await ce(),await B(),Ae())};export{Pt as E,Ut as R,T as a,Rs as i,Fs as o,Ts as t};
function __vite__mapDeps(indexes) {
  if (!__vite__mapDeps.viteFileDeps) {
    __vite__mapDeps.viteFileDeps = []
  }
  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
}