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/index302.js
import{_ as be}from"./index118.js?v=1777008528";import{c as Q,G,cO as X,cN as E,cX as ye,k,c4 as Z,M as y,I as he,R as W,w as Y,d3 as ve,b as we,K as xe,cZ as Ve}from"./utils-lib.js?v=1777008528";import{r as p,H as S,e as r,n as Ce,V as ee,ap as ke,x as f,c as De,o as Fe,I as Ee,j as c,C as w,v as d,p as t,J as Ue,q as i,k as U,B as H,F as J,y as A,s as K,Q as O,z as Be,aV as Te,am as $e,an as Se,ad as Ie,al as Le,aj as Pe,ab as Ae}from"./base-lib.js?v=1777008528";import{k as Oe,o as ze,g as te,a4 as Re}from"./index3.js?v=1777008528";import{_ as qe}from"./index217.js?v=1777008528";import{_ as Ne}from"./index131.js?v=1777008528";import{u as ae}from"./useStore2.js?v=1777008528";import{getBoceList as je,modifyBoce as le,createBoce as Me,getBoceLog as Ge,getAlarmList as He,startBoce as Je,removeBoce as Ke,removeTaskLog as Qe}from"./site.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./index119.js?v=1777008528";import"./index116.js?v=1777008528";const{siteInfo:oe}=ae(),{payment:Xe}=Q(),se=p([]),C=p(!1);p(null);const D=p(null),V=p(!1),a=S({url:"",channel:[],name:"",cycle:10,method:"",alarm_count:5,address:"localhost",methodData:""}),m=S({p:1,limit:12,total:0}),x=p([]),b=p([]),Ze=[{label:"ISP",prop:"isp"},{label:"解析IP",prop:"primary_ip"},{label:"状态",prop:"http_code"},{label:"总耗时",prop:"total_time",render:e=>B(1e3,500,e.total_time,"ms")},{label:"解析耗时",prop:"namelookup_time",render:e=>B(500,100,e.namelookup_time,"ms")},{label:"连接耗时",prop:"connect_time",render:e=>B(500,100,e.connect_time,"ms")},{label:"处理耗时",prop:"starttransfer_time",render:e=>B(1e3,500,e.starttransfer_time,"ms")},{label:"响应大小",prop:"size_download",render:e=>G(e.size_download)},{label:"传输速度",prop:"speed_download",render:e=>G(e.speed_download)},{label:"响应头",prop:"header",width:280,render:e=>r(X,{type:"textarea",readOnly:!0,rows:6,"model-value":e.header,class:"!w-full"},null)}],ne=p([]),T=p(!1),_=S({p:1,total:0,pid:0,url:""}),$=p(!1),re=p([]),We=S({name:[E({message:"请输入任务名称"})],cycle:[E({message:"请输入监控频率"})],alarm_count:[E({message:"请输入告警次数"})],channel:[E({message:"请选择告警方式"})],methodData:[{validator:(e,o,s)=>{["delay","keyword"].includes(a.method)&&o===""?s(new Error("请输入告警条件")):s()},trigger:["blur","change"]}]}),Ye=()=>ee([{label:"任务名称",prop:"name",showOverflowTooltip:!0},{label:"监控频率",render:e=>"".concat(e.cycle,"分钟")},{label:"触发条件",prop:"trigger_condition",showOverflowTooltip:!0},{label:"最后执行时间",width:148,render:e=>W(e.last_run_time)||"--"},{label:"状态	",prop:"method",width:54,render:e=>r(ke,{modelValue:!!e.status,size:"small",onChange:()=>ct(e)},null)},te([{onClick:nt,title:"执行"},{onClick:e=>{V.value=!0,Object.keys(a).forEach(o=>{var s;switch(o){case"method":a.method=e.status_code?"status_code":e.size?"size":e.delay?"delay":"keyword";break;case"methodData":a.methodData=e.delay||e.size||e.keyword||e.status_code;break;case"channel":a.channel=(s=e.channel)==null?void 0:s.split(",");break;default:a[o]=e[o];break}}),a.id=e.id},title:"编辑"},{onClick:it,title:"日志"},{onClick:rt,title:"删除"}])]),et=()=>ee([{label:"ID",prop:"id",width:80},{label:"平均耗时",prop:"avgrage"},{label:"最快",prop:"min_isp",render:e=>r("span",null,[e.min_isp,f("("),e.min,f("ms)")])},{label:"最快",prop:"max_isp",render:e=>r("span",null,[e.max_isp,f("("),e.max,f("ms)")])},{label:"执行时间",prop:"addtime",width:150,render:e=>W(e.addtime)||"--"},{label:"状态",prop:"status",width:75,render:e=>{const o=e.status==1;return r("span",{class:o?"text-primary":"text-danger"},[o?"执行成功":"执行错误"])}},te([{onClick:dt,title:"删除"}])]),B=(e,o,s,u)=>{var v="";return s>e?v="text-warning":s>o&&(v="text-[var(--el-color-warning-light-3)]"),r("span",{class:v},[s.toFixed(2)+u])},tt=e=>{a.channel=e},at=async()=>{var e,o,s;await ot(),delete a.id,a.name="".concat((o=(e=b.value)==null?void 0:e.find(u=>u.id==="status_code"))==null?void 0:o.name," 【").concat((s=x.value[0])==null?void 0:s.name,"】"),V.value=!0},lt=async()=>{var e;C.value=!0;try{const o=await He();b.value=[],Object.keys(o.data).forEach(s=>{b.value.push({id:s,name:o.data[s]})}),b.value=(e=b.value)==null?void 0:e.filter(s=>s.id!=="sensitive"&&s.id!=="similarity"),a.method="status_code"}catch(o){}C.value=!1},ot=async()=>{var e,o;C.value=!0;try{const s=await ye({table:"domain",list:"True",search:oe.value.id});x.value=[],(e=s.data)==null||e.forEach(u=>{x.value.push({name:"http://"+u.name,id:u.id}),x.value.push({name:"https://"+u.name,id:u.id})}),a.url=(o=x.value[0])==null?void 0:o.name}catch(s){}C.value=!1},h=async()=>{const e=await k({loading:C,request:je({sid:oe.value.id,p:m.p,row:m.limit}),data:{data:[Array,se],page:Z(m),row:String}});m.limit=Number(e.row)},st=async()=>{if(Xe.value.authType!=="ltd"&&a.address==="node")return y.error("多节点测试为企业版专享功能,请升级为企业版后使用"),!1;await D.value.validate();let e={...a,channel:Array.isArray(a.channel)?a.channel:a.channel.join(","),[a.method]:["delay","keyword"].includes(a.method)?a.methodData:1};delete e.methodData;const o=a.id?le:Me,s=await k({loading:"正在提交,请稍候...",request:o(e),data:{status:Boolean,msg:String}});s.status?(y.success(s.msg),h()):y.msg({customClass:"el-error-html-message",dangerouslyUseHTMLString:!0,message:s.msg,showClose:!0,type:"error",duration:5e3}),de()},nt=async e=>{let o=y.load("正在执行,请稍候...");try{const s=await Je({id:e.id});s.status?(T.value=!0,ne.value=s.data,h()):y.request(s)}catch(s){}finally{o.close()}},rt=async e=>{(await k({loading:"正在删除,请稍后...",request:Ke({id:e.id,action:"del"}),message:!0})).status&&h()},dt=async e=>{await Y({title:"删除日志【".concat(e.id,"】"),content:"删除后,该条日志将永久删除,是否继续操作?"}),(await k({loading:"正在删除,请稍后...",request:Qe({id:e.id}),message:!0})).status&&z()},it=async e=>{let o=y.load("正在获取日志,请稍候...");try{_.pid=e.id,_.url=e.url,_.p=1,z(s=>{if(!s.data.length)return y.success("暂无日志");$.value=!0})}catch(s){}finally{o.close()}},z=async e=>{const o=await k({request:Ge({pid:_.pid,p:_.p}),data:{data:[Array,re],"page.page":Z(_)}});e&&e(o)},ut=async e=>{a.address="localhost",e==="node"&&await pt()&&(a.address="node")},mt=e=>{Ce(()=>{var o,s;D.value.clearValidate("methodData"),e==="status_code"||e==="size"?a.methodData="1":a.methodData="",a.name="".concat((s=(o=b.value)==null?void 0:o.find(u=>u.id===e))==null?void 0:s.name," 【").concat(a.url,"】")})},pt=async()=>{try{const{data:e}=await he({sName:"bt_boce"});return e.status?!0:(e.endtime<0?Oe({disablePro:!0,sourceId:182}):await ze({name:"bt_boce",softData:e}),!1)}catch(e){}},de=()=>{V.value=!1,D.value.resetFields(),D.value.clearValidate()},ct=async e=>{await Y({title:"".concat(e.status?"停用拨测告警":"启用拨测告警"),content:"".concat(e.status?"停用后,检测到问题时将不会发送告警通知,是否继续?":"启用后,检测到问题时将会发送告警通知,是否继续?"),icon:"warning-filled"}),(await k({loading:"正在设置,请稍后...",request:le({id:e.id,status:e.status?0:1}),message:!0})).status&&h()},_t=e=>{var o;a.name="".concat((o=b.value[0])==null?void 0:o.name," 【").concat(e,"】")},gt=Ye(),ft=et(),bt={class:"p-[20px]"},yt={class:"flex items-center justify-center"},ht={class:"flex items-center"},vt={class:"inline-block text-secondary text-small mr-[4px]"},wt={class:"ml-4px"},xt={key:0,class:"inline-block text-secondary text-small mr-[4px]"},Vt={key:1,class:"inline-block text-secondary text-small mr-[4px]"},Ct={class:"flex items-center"},kt={class:"p-[20px]"},Dt={class:"p-[20px]"},Ft=De({__name:"index",setup(e,{expose:o}){const{siteInfo:s}=ae(),{adHideInfo:u}=Q(),v=()=>{h(),lt()};return Fe(v),o({init:v}),(Et,l)=>{const ie=Be,ue=Ne,I=ve,R=qe,me=Te,q=$e,N=Se,g=Ie,F=X,j=Le,pe=we,ce=Pe,_e=Re,ge=Ae,L=xe,M=be,fe=Ee("bt-loading");return c(),w(M,null,{"header-left":d(()=>[r(ie,{type:"primary",onClick:t(at)},{default:d(()=>[...l[17]||(l[17]=[f(" 添加拨测告警 ",-1)])]),_:1},8,["onClick"])]),"header-right":d(()=>[r(ue,{onRefresh:t(h)},null,8,["onRefresh"])]),content:d(()=>[Ue(r(I,{column:t(gt),data:t(se)},null,8,["column","data"]),[[fe,t(C)]])]),"footer-left":d(()=>[...l[18]||(l[18]=[])]),"footer-right":d(()=>[r(R,{page:t(m).p,"onUpdate:page":l[0]||(l[0]=n=>t(m).p=n),row:t(m).limit,"onUpdate:row":l[1]||(l[1]=n=>t(m).limit=n),total:t(m).total,onChange:l[2]||(l[2]=n=>t(h)())},null,8,["page","row","total"])]),popup:d(()=>[r(L,{title:"拨测告警",modelValue:t(V),"onUpdate:modelValue":l[11]||(l[11]=n=>O(V)?V.value=n:null),area:54,showFooter:"",onCancel:t(de),onConfirm:t(st)},{default:d(()=>[i("div",bt,[r(me,{type:"success",closable:!1},{title:d(()=>[...l[19]||(l[19]=[i("div",{class:"text-secondary text-small py-[8px]"},[i("div",null,[i("b",null,"本地测试"),f(" :本机发送请求,可能导致测试结果不准确等结果 ")]),i("div",null,[i("b",null,"多节点测试"),f(" (推荐):通过宝塔部署在全国的多个节点上来实现更全面的覆盖和测试 ")])],-1)])]),_:1}),r(ge,{"label-position":"right",ref_key:"boceFormRef",ref:D,model:t(a),class:"mt-[16px]",rules:t(We)},{default:d(()=>[r(g,{label:"监控网站URL",prop:"url"},{default:d(()=>[r(N,{class:"!w-[32rem]",modelValue:t(a).url,"onUpdate:modelValue":l[3]||(l[3]=n=>t(a).url=n),onChange:t(_t)},{default:d(()=>[(c(!0),U(J,null,H(t(x),(n,P)=>(c(),w(q,{key:P,label:n.name,value:n.name},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1}),r(g,{label:"任务名称",prop:"name"},{default:d(()=>[r(F,{modelValue:t(a).name,"onUpdate:modelValue":l[4]||(l[4]=n=>t(a).name=n),width:"32rem"},null,8,["modelValue"])]),_:1}),r(g,{label:"检测节点",prop:"address"},{default:d(()=>[r(ce,{class:"node-custom-radio",modelValue:t(a).address,"onUpdate:modelValue":l[5]||(l[5]=n=>t(a).address=n),onChange:t(ut)},{default:d(()=>[r(j,{value:"localhost",disabled:!!t(a).id},{default:d(()=>[...l[20]||(l[20]=[f(" 本地测试 ",-1)])]),_:1},8,["disabled"]),t(u).siteConfigNode?A("",!0):(c(),w(j,{key:0,value:"node",disabled:!!t(a).id},{default:d(()=>[i("div",yt,[r(pe,{icon:"icon-ltd",color:"#A88E5F",class:"mr-[4px]"}),l[21]||(l[21]=f(" 多节点测试 ",-1))])]),_:1},8,["disabled"]))]),_:1},8,["modelValue","onChange"])]),_:1}),r(g,{label:"监控频率",prop:"cycle"},{default:d(()=>[r(F,{"text-type":"分钟",modelValue:t(a).cycle,"onUpdate:modelValue":l[6]||(l[6]=n=>t(a).cycle=n),type:"number",min:10},null,8,["modelValue"])]),_:1}),r(g,{label:"告警类型",prop:"method"},{default:d(()=>[r(N,{disabled:!!t(a).id,class:"!w-[32rem]",modelValue:t(a).method,"onUpdate:modelValue":l[7]||(l[7]=n=>t(a).method=n),onChange:t(mt)},{default:d(()=>[(c(!0),U(J,null,H(t(b),(n,P)=>(c(),w(q,{key:P,label:n.name,value:n.id},null,8,["label","value"]))),128))]),_:1},8,["disabled","modelValue","onChange"])]),_:1}),["delay","keyword"].includes(t(a).method)?(c(),w(g,{key:0,label:" ",prop:"methodData"},{default:d(()=>[i("div",ht,[i("span",vt,K(t(a).method==="delay"?"平均响应延迟大于":"当响应内容不包含"),1),r(F,{disabled:!!t(a).id,modelValue:t(a).methodData,"onUpdate:modelValue":l[8]||(l[8]=n=>t(a).methodData=n),width:"18rem",class:"w-18rem",placeholder:"请输入关键词,分割"},null,8,["disabled","modelValue"]),i("span",wt,K(t(a).method==="delay"?"ms":"内容,触发告警"),1)])]),_:1})):A("",!0),["size","status_code"].includes(t(a).method)?(c(),w(g,{key:1,label:" "},{default:d(()=>[t(a).method==="size"?(c(),U("span",xt," 网站大小变化告警 当网站响应内容大小发生变化达到20%时,将触发告警 ")):(c(),U("span",Vt," 当网站响应状态不为正常状态(200、300、302),将触发告警 "))]),_:1})):A("",!0),r(g,{label:"告警次数",prop:"alarm_count"},{default:d(()=>[i("div",Ct,[l[22]||(l[22]=i("span",{class:"inline-block text-secondary text-small mr-[4px]"}," 每日最多触发 ",-1)),r(F,{"text-type":"次",width:"12rem",class:"w-12rem",type:"number",min:1,modelValue:t(a).alarm_count,"onUpdate:modelValue":l[9]||(l[9]=n=>t(a).alarm_count=n)},null,8,["modelValue"]),l[23]||(l[23]=i("span",{class:"ml-4px"},"告警",-1))])]),_:1}),r(g,{label:"告警方式",prop:"channel"},{default:d(()=>[r(_e,{modelValue:t(a).channel,"onUpdate:modelValue":l[10]||(l[10]=n=>t(a).channel=n),limit:["sms"],needAll:!1,name:"channel",class:"!w-32rem",onChange:t(tt)},null,8,["modelValue","onChange"])]),_:1})]),_:1},8,["model","rules"])])]),_:1},8,["modelValue","onCancel","onConfirm"]),r(L,{title:"查看扫描拨测结果-"+t(s).name,modelValue:t(T),"onUpdate:modelValue":l[12]||(l[12]=n=>O(T)?T.value=n:null),area:120},{default:d(()=>[i("div",kt,[r(I,{column:t(Ze),data:t(ne),"max-height":500},null,8,["column","data"])])]),_:1},8,["title","modelValue"]),r(L,{title:"查看任务记录【".concat(t(_).url,"】"),modelValue:t($),"onUpdate:modelValue":l[16]||(l[16]=n=>O($)?$.value=n:null),area:82},{default:d(()=>[i("div",Dt,[r(M,null,{content:d(()=>[r(I,{column:t(ft),data:t(re)},null,8,["column","data"])]),"footer-right":d(()=>[r(R,{page:t(_).p,"onUpdate:page":l[13]||(l[13]=n=>t(_).p=n),row:t(m).limit,"onUpdate:row":l[14]||(l[14]=n=>t(m).limit=n),total:t(_).total,layout:"prev, pager, next, total",onChange:l[15]||(l[15]=n=>t(z)())},null,8,["page","row","total"])]),_:1})])]),_:1},8,["title","modelValue"])]),_:1})}}}),Rt=Ve(Ft,[["__scopeId","data-v-f2d47430"]]);export{Rt as default};