File: /www/server/panel/BTPanel/static/js/add-monitor2.js
import{c as G,r as U,V as W,w as Z,o as K,j as f,C as g,v as u,e as o,p as l,q as r,k as E,F as T,B as C,y as h,x as c,s as Q,ad as X,am as Y,an as ee,ap as ae,ak as le,aj as te,ab as oe}from"./base-lib.js?v=1777008528";import{Z as ne,k as S,cO as se,W as ue,db as me,cP as ie}from"./utils-lib.js?v=1777008528";import{a2 as re}from"./index3.js?v=1777008528";import{addMonitor as de,getDataList as pe}from"./site.js?v=1777008528";import{_ as _e}from"./index.vue_vue_type_script_setup_true_lang8.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./index119.js?v=1777008528";import"./index116.js?v=1777008528";const fe={class:"flex"},ce={class:"flex"},ge={class:"flex min-h-[3.2rem] items-start"},ve={class:"items-center h-[3.2rem]"},xe=G({__name:"add-monitor",props:{compData:{default:()=>{}}},setup(k,{expose:R}){const x=U(null),i=k,e=U({name:"",method:2,site_name:"",site_url:"",access:"http",send_msg:!1,push_method:[],type:"day",week:1,where1:1,hour:1,minute:19,switch_config:!1,scan_config:{thesaurus:1,scan_args:!1,title_hash:!1,tail_hash:!1,keywords:!1,descriptions:!1,title:!1,search_monitor:!1,scan_ua:"Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"},id:""}),b=W([]),F=["周一","周二","周三","周四","周五","周六","周日"],V=U(!!i.compData.id),L=[{content:"如果是本机端口转发,目标IP为:127.0.0.1"},{content:"如果目标IP不填写,默认则为本机端口转发!"}],w=[{label:"全站扫描",value:1},{label:"快速扫描",value:2},{label:"单URL",value:3}],B=[{label:"HTTPS",value:"https"},{label:"HTTP",value:"http"}],N=[{label:"每天",value:"day"},{label:"N天",value:"day-n"},{label:"每星期",value:"week"},{label:"每月",value:"month"}],O={name:[{required:!0,trigger:["blur","change"],message:"请输入监控名"}],site_name:[{validator:(m,a,n)=>{if(a!=="auto")n();else{if((!e.value.site_url||e.value.site_url.length===0)&&n(new Error("请输入网站域名")),e.value.method!==3&&!ne(e.value.site_url))return n(new Error("检测网站域名格式不正确"));n()}},trigger:["blur","change"]}],push_method:[{validator:(m,a,n)=>{e.value.send_msg&&(a.length>0&&n(),n(new Error("请选择通知方式"))),n()},trigger:["blur","change"]}],type:[{validator:(m,a,n)=>{if((a==="day-n"||a==="month")&&(e.value.where1<0||e.value.where1>31))return n(new Error("请输入正确天数范围[0-31]"));if(e.value.hour<0||e.value.hour>23)return n(new Error("请输入正确小时范围[0-23]"));if(e.value.minute<0||e.value.minute>59)return n(new Error("请输入正确分钟范围[0-59]"));n()},trigger:["blur","change"]}]},P=async m=>{await x.value.validate();let a=e.value.site_name;a=a==="auto"?e.value.site_url:a;let n={name:e.value.name,method:e.value.method,site_name:a,url:e.value.access+"://"+a,send_msg:Number(e.value.send_msg),type:e.value.type,hour:e.value.hour,minute:e.value.minute,id:e.value.id,...e.value.type==="day-n"||e.value.type==="month"?{where1:e.value.where1}:{}};const s=e.value;n.send_msg&&(n.send_type=s.push_method.join(",")),s.type==="week"&&(n.week=s.week),s.switch_config&&(n.scan_config=$()),V.value&&(n.id=s.id),await S({loading:"正在提交,请稍后...",request:de(V.value,n),message:!0}),i.compData.refreshEvent&&i.compData.refreshEvent(),m()},$=()=>{const m=e.value.scan_config;return{scan_args:m.scan_args,title:m.title,keywords:m.keywords,descriptions:m.descriptions,title_hash:m.title_hash,tail_hash:m.tail_hash,search_monitor:m.search_monitor,scan_ua:m.scan_ua,thesaurus:m.thesaurus}},q=async()=>{var m;await S({loading:"正在获取网站列表,请稍后...",request:pe({type:"sites"}),data:{data:[Array,b]}}),e.value.site_name=V.value?i.compData.site_name:b.value[0].name,i.compData.isSite&&(e.value.site_name=((m=i.compData)==null?void 0:m.site_name)||i.compData.name)},I=m=>{var a;m===3?e.value.site_name="auto":i.compData.isSite&&(e.value.site_name=((a=i.compData)==null?void 0:a.site_name)||i.compData.name)},M=()=>{var a,n,s,d,p,v;e.value={...i.compData,...i.compData.crontab_info,...i.compData.scan_config,access:(a=i.compData.url)==null?void 0:a.split("://")[0],where1:((n=i.compData.crontab_info)==null?void 0:n.where1)||"1",hour:((s=i.compData.crontab_info)==null?void 0:s.where_hour)||"",minute:((d=i.compData.crontab_info)==null?void 0:d.where_minute)||"",send_msg:!!i.compData.send_msg,push_method:(p=i.compData.send_type)==null?void 0:p.split(",").filter(Boolean),id:i.compData.id};let m=(v=i.compData.crontab_info)==null?void 0:v.type;m==="每星期"?e.value.type="week":m==="每月"?e.value.type="month":m==="每天"?e.value.type="day":e.value.type="day-n"};return Z(()=>e.value.site_name,()=>{var a,n,s,d;const m=((a=w==null?void 0:w.find(p=>p.value===e.value.method))==null?void 0:a.label)||"";e.value.name=(e.value.site_name==="auto"?((n=e.value)==null?void 0:n.site_url)||"":((s=i.compData)==null?void 0:s.site_name)||((d=i.compData)==null?void 0:d.name)||"")+m}),R({onConfirm:P}),K(()=>{q(),V.value&&M()}),(m,a)=>{const n=se,s=X,d=ue,p=Y,v=ee,j=me,_=ae,A=re,D=le,H=te,J=ie,z=oe;return f(),g(z,{ref_key:"monitorFormRef",ref:x,rules:O,model:l(e),class:"p-[2rem] addfrom overflow-auto max-h-[60rem]","label-width":"10rem"},{default:u(()=>[o(s,{label:"监控名",prop:"name"},{default:u(()=>[o(n,{modelValue:l(e).name,"onUpdate:modelValue":a[0]||(a[0]=t=>l(e).name=t),width:"26rem",placeholder:"请输入监控名",clearable:""},null,8,["modelValue"])]),_:1}),o(s,{label:"检测方式"},{default:u(()=>[o(d,{modelValue:l(e).method,"onUpdate:modelValue":a[1]||(a[1]=t=>l(e).method=t),options:w,onChange:I,class:"!w-[26rem]"},null,8,["modelValue"])]),_:1}),o(s,{label:"检测网站",prop:"site_name"},{default:u(()=>[r("div",fe,[o(v,{modelValue:l(e).site_name,"onUpdate:modelValue":a[2]||(a[2]=t=>l(e).site_name=t),class:"!w-[20rem] mr-4",disabled:!!(l(e).method===3||k.compData.isSite)},{default:u(()=>[(f(!0),E(T,null,C(l(b),(t,y)=>(f(),g(p,{key:y,value:t.name,label:"".concat(t.name,"[").concat(t.ps,"]")},null,8,["value","label"]))),128)),o(p,{label:"自定义网站",value:"auto"})]),_:1},8,["modelValue","disabled"]),l(e).site_name==="auto"?(f(),g(n,{key:0,modelValue:l(e).site_url,"onUpdate:modelValue":a[3]||(a[3]=t=>l(e).site_url=t),width:"20rem",placeholder:"请输入网站域名",clearable:""},null,8,["modelValue"])):h("",!0)])]),_:1}),o(s,{label:"访问网站方式"},{default:u(()=>[o(j,{modelValue:l(e).access,"onUpdate:modelValue":a[4]||(a[4]=t=>l(e).access=t),options:B},null,8,["modelValue"])]),_:1}),o(s,{label:"发送告警"},{default:u(()=>[o(_,{modelValue:l(e).send_msg,"onUpdate:modelValue":a[5]||(a[5]=t=>l(e).send_msg=t)},null,8,["modelValue"])]),_:1}),l(e).send_msg?(f(),g(s,{key:0,label:"通知方式",prop:"push_method"},{default:u(()=>[o(A,{class:"!w-[26rem]",modelValue:l(e).push_method,"onUpdate:modelValue":a[6]||(a[6]=t=>l(e).push_method=t),limit:["sms","wx_account"],"collapse-tags":"","collapse-tags-tooltip":""},null,8,["modelValue"])]),_:1})):h("",!0),o(s,{label:"检测频率",prop:"type"},{default:u(()=>[r("div",ce,[o(d,{class:"!w-[8rem] mr-4",modelValue:l(e).type,"onUpdate:modelValue":a[7]||(a[7]=t=>l(e).type=t),options:N},null,8,["modelValue"]),l(e).type==="week"?(f(),g(v,{key:0,class:"!w-[8rem] mr-4",modelValue:l(e).week,"onUpdate:modelValue":a[8]||(a[8]=t=>l(e).week=t)},{default:u(()=>[(f(),E(T,null,C(F,(t,y)=>o(p,{key:y,label:t,value:y+1},null,8,["label","value"])),64))]),_:1},8,["modelValue"])):h("",!0),l(e).type==="day-n"||l(e).type==="month"?(f(),g(n,{key:1,type:"number",class:"!w-[13rem] mr-4",min:"0",max:"31",modelValue:l(e).where1,"onUpdate:modelValue":a[9]||(a[9]=t=>l(e).where1=t),iconTitle:l(e).type==="day-n"?"天":"日",textType:l(e).type==="day-n"?"天":"日"},{append:u(()=>[c(Q(l(e).type==="day-n"?"天":"日"),1)]),_:1},8,["modelValue","iconTitle","textType"])):h("",!0),o(n,{type:"number",class:"!w-[13rem] mr-4",min:"0",max:"23",modelValue:l(e).hour,"onUpdate:modelValue":a[10]||(a[10]=t=>l(e).hour=t),iconTitle:"时",textType:"时"},{append:u(()=>[...a[22]||(a[22]=[c(" 时 ",-1)])]),_:1},8,["modelValue"]),o(n,{type:"number",class:"!w-[13rem]",min:"0",max:"59",modelValue:l(e).minute,"onUpdate:modelValue":a[11]||(a[11]=t=>l(e).minute=t),iconTitle:"分",textType:"分"},{append:u(()=>[...a[23]||(a[23]=[c(" 分 ",-1)])]),_:1},8,["modelValue"])])]),_:1}),o(_e,{showConfig:l(e).switch_config,"onUpdate:showConfig":a[21]||(a[21]=t=>l(e).switch_config=t)},{config:u(()=>[o(s,{label:"敏感词库"},{default:u(()=>[o(H,{modelValue:l(e).scan_config.thesaurus,"onUpdate:modelValue":a[12]||(a[12]=t=>l(e).scan_config.thesaurus=t),class:"border-darker border-1 !w-[26rem] rounded-small px-[1rem] py-[.5rem] flex flex-col !items-start"},{default:u(()=>[o(D,{value:1},{default:u(()=>[...a[24]||(a[24]=[c("全选",-1)])]),_:1}),o(D,{value:2},{default:u(()=>[...a[25]||(a[25]=[c("自定义词库",-1)])]),_:1}),o(D,{value:3},{default:u(()=>[...a[26]||(a[26]=[c("默认词库",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"检测带参数的URL"},{default:u(()=>[r("div",ge,[r("div",ve,[o(_,{modelValue:l(e).scan_config.scan_args,"onUpdate:modelValue":a[13]||(a[13]=t=>l(e).scan_config.scan_args=t)},null,8,["modelValue"])]),a[27]||(a[27]=r("div",{class:"unit"},[r("p",null,"扫描时检测带参数的URL,如URL: https://bt.cn?a=b"),r("p",null,[c(" 开启前 "),r("span",{class:"ml-[2rem]"},"不检测")]),r("p",null,[c(" 开启后 "),r("span",{class:"ml-[2rem]"},"检测")]),r("p",null,"注意,开启后检测页面将成倍增长,可能会导致检测时间大量增加")],-1))])]),_:1}),o(s,{label:"头部JS检测"},{default:u(()=>[o(_,{modelValue:l(e).scan_config.title_hash,"onUpdate:modelValue":a[14]||(a[14]=t=>l(e).scan_config.title_hash=t)},null,8,["modelValue"]),a[28]||(a[28]=r("span",{class:"unit"},"监控页面源码中的title_hash标签是否有修改",-1))]),_:1}),o(s,{label:"尾部JS检测"},{default:u(()=>[o(_,{modelValue:l(e).scan_config.tail_hash,"onUpdate:modelValue":a[15]||(a[15]=t=>l(e).scan_config.tail_hash=t)},null,8,["modelValue"]),a[29]||(a[29]=r("span",{class:"unit"},"监控页面源码中的tail_hash标签是否有修改",-1))]),_:1}),o(s,{label:"关键词检测"},{default:u(()=>[o(_,{modelValue:l(e).scan_config.keywords,"onUpdate:modelValue":a[16]||(a[16]=t=>l(e).scan_config.keywords=t)},null,8,["modelValue"]),a[30]||(a[30]=r("span",{class:"unit"},"监控页面源码中的keywords标签是否有修改",-1))]),_:1}),o(s,{label:"描述检测"},{default:u(()=>[o(_,{modelValue:l(e).scan_config.descriptions,"onUpdate:modelValue":a[17]||(a[17]=t=>l(e).scan_config.descriptions=t)},null,8,["modelValue"]),a[31]||(a[31]=r("span",{class:"unit"},"监控页面源码中的descriptions标签是否有修改",-1))]),_:1}),o(s,{label:"标题检测"},{default:u(()=>[o(_,{modelValue:l(e).scan_config.title,"onUpdate:modelValue":a[18]||(a[18]=t=>l(e).scan_config.title=t)},null,8,["modelValue"]),a[32]||(a[32]=r("span",{class:"unit"},"监控页面源码中的title标签是否有修改",-1))]),_:1}),o(s,{label:"搜索引擎收录监控"},{default:u(()=>[o(_,{modelValue:l(e).scan_config.search_monitor,"onUpdate:modelValue":a[19]||(a[19]=t=>l(e).scan_config.search_monitor=t)},null,8,["modelValue"]),a[33]||(a[33]=r("span",{class:"unit"},"监控搜索引擎是否存在风险关键词",-1))]),_:1}),o(s,{label:"自定义访问UA"},{default:u(()=>[o(n,{type:"textarea",modelValue:l(e).scan_config.scan_ua,"onUpdate:modelValue":a[20]||(a[20]=t=>l(e).scan_config.scan_ua=t),width:"36rem",height:"10rem",placeholder:"请输入自定义访问UA",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["showConfig"]),o(J,{options:L,class:"pl-[3.6rem]"})]),_:1},8,["model"])}}});export{xe as default};