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/useController12.js
import{closeLimitNet as M,setLimitNet as $,setModulesLimitNet as B,batchPhpLimit as O,getLimitNet as x,getModulesLimitNet as T,getPluginInfo as L,getFlowQuotaConfigData as I,getFlowNumData as H}from"./site.js?v=1777008528";import{k as u,M as S,G as Q,w as q}from"./utils-lib.js?v=1777008528";import{r as n,g as R,H as U}from"./base-lib.js?v=1777008528";import{o as A}from"./useController13.js?v=1777008528";import{u as E}from"./useStore2.js?v=1777008528";import{a as G,c as J,k as Y,p as z}from"./index3.js?v=1777008528";import{h as D,j as K,k as V}from"./config.js?v=1777008528";const{siteInfo:o,siteType:i,isBindExtranet:h,isRefreshList:W,selectedList:v,batchConfig:X}=E(),Z=n([{label:"论坛/博客",value:0,items:{perserver:300,perip:25,limit_rate:512}},{label:"图片站",value:1,items:{perserver:200,perip:10,limit_rate:1024}},{label:"下载站",value:2,items:{perserver:50,perip:3,limit_rate:2048}},{label:"商城",value:3,items:{perserver:500,perip:10,limit_rate:2048}},{label:"门户",value:4,items:{perserver:400,perip:15,limit_rate:1024}},{label:"企业",value:5,items:{perserver:60,perip:10,limit_rate:512}},{label:"视频",value:6,items:{perserver:150,perip:4,limit_rate:1024}},{label:"自定义",value:7,items:{perserver:"",perip:"",limit_rate:""}}]),gt=async(t,e)=>{if(!k.value)if(t)tt(e);else{const a={[i.value!=="php"&&i.value!=="phpasync"?"site_id":"id"]:o.value.id};(await u({loading:"正在关闭流量限制,请稍后...",request:M(a,i.value),message:!0})).status&&await w()}},tt=async t=>{try{if(!k.value){const r=["php","proxy","phpasync"].includes(i.value),{perserver:c,perip:j,limit_rate:F}=t,N={perserver:c,perip:j,limit_rate:F,[r?"id":"site_id"]:o.value.id};(await u({loading:"正在设置流量,请稍后...",request:r?$(N):B(N,i.value),message:!0})).status&&w();return}let e=S.load("正在设置,请稍后..."),a=[];v.value.forEach(r=>{var c;((c=r==null?void 0:r.project_config)==null?void 0:c.type)==="PHPMOD"&&a.push({name:r.name,msg:"异步项目不支持",status:!1})});const l=v.value.filter(r=>{var c;return((c=r==null?void 0:r.project_config)==null?void 0:c.type)!=="PHPMOD"}),{enable:_,exclude:y}=X.value,m=G(l,y,_,{params:{...s,close_limit_net:s.value?0:1,project_type:"PHP"}}),d=await u({request:O(m)}),{data:P}=J(d.data);return A({resultData:a.concat(P)}),v.value=[],e.close(),W.value=!0,!0}catch(e){return!1}},w=async()=>{try{const t=["php","proxy","phpasync"].includes(i.value),e={[i.value!=="php"&&i.value!=="phpasync"?"site_id":"id"]:o.value.id},a=await u({loading:st,request:t?x(e):T(e,i.value)});return a.data.hasOwnProperty("limit_rate")?(p.value=!1,s.limit_rate=a.data.limit_rate,s.perserver=a.data.perserver,s.perip=a.data.perip,Object.values(a.data).every(l=>l===0)?(s.value=!1,s.type=0,C(0)):(s.type=a.data.value-1,s.value=!0),s.type===-1&&(s.type=7),s):(p.value=!0,S.error("获取流量限制失败"),p.value=!0,at.value=a.data.msg,{status:!1,msg:"获取流量限制失败"})}catch(t){return{status:!1,msg:"获取流量限制失败"}}},_t=async()=>{var t,e;try{let a=(t=o.value.project_type)==null?void 0:t.toLowerCase();if(a==="node"&&(a="nodejs"),a==="nodejs")if(h.value=(e=o.value.project_config)==null?void 0:e.bind_extranet,h.value)p.value=!1;else return p.value=!0,s;else h.value=!0;return k.value?await C(0):await w(),s}catch(a){}},C=t=>{const{perserver:e,perip:a,limit_rate:l}=Z.value[t].items;s.perserver=e,s.perip=a,s.limit_rate=l},k=R(()=>v.value.length>0),p=n(!1),et=n(!1),at=n(""),s=U({value:!0,perserver:300,perip:25,limit_rate:512,type:0}),st=n(!1),yt=async t=>{try{let e=it(t);const a=await u({loading:"正在添加告警任务,请稍候...",request:D(e),message:!0,success:l=>{}});return a.status&&(g.value=!0),a.status}catch(e){return!1}},ht=async t=>{try{const e={template_id:131,task_data:{task_data:rt(t),sender:t.sender,number_rule:{day_num:0,total:Number(t.total)},time_rule:{send_interval:0,time_range:[0,86399]}}};e.task_data=JSON.stringify(e.task_data);const a=await u({loading:"正在添加告警任务,请稍候...",request:D(e),message:!0,success:l=>{}});return a.status&&(g.value=!0),a.status}catch(e){return!1}},rt=t=>{const e={};return e.tid=131,e.type="monitor_traffic_total",e.title="[监控报表]网站流量限额提醒",e.status=!0,e.count=0,e.interval=600,e.project="",e.site=o.value.name,e.cycle=Number(t.cycle),e.traffic=Number(t.traffic),e.traffic_unit=t.traffic_unit,e},lt=t=>{const e={};return e.tid=t.type==="total"?130:132,e.type=t.type==="total"?"monitor_traffic_attack":"monitor_http_flood",e.title=t.type==="total"?"[监控报表]网站流量异常告警":"[监控报表]网站请求异常告警",e.status=!0,e.count=0,e.interval=600,e.project="",e.site=o.value.name,e.cycle=Number(t.cycle),e.cycle_unit=t.cycle_unit,t.type==="total"?(e.traffic=Number(t.traffic),e.traffic_unit=t.traffic_unit):(e.request=Number(t.request),e.request_unit=t.request_unit),e},it=t=>{const e={template_id:t.type==="total"?130:132,task_data:{task_data:lt(t),sender:t.sender,number_rule:{day_num:0,total:Number(t.total)},time_rule:{send_interval:0,time_range:[0,86399]}}};return e.task_data=JSON.stringify(e.task_data),e},bt=async()=>{try{const{data:t}=await L({sName:"monitor"});b.value.total_status=t.setup&&t.endtime>=0,b.value.total_status||(et.value=!0)}catch(t){}},b=n({nginx_status:!1,total_status:!1,buy_status:!1});n({length:"--",request:"--"});const g=n(!1),wt=async t=>{if(t==="buy")Y({sourceId:142});else try{const{data:e}=await L({sName:"monitor"});await z({name:e.name,type:"i",pluginInfo:e})}catch(e){}},kt=async()=>{try{const{data:t}=await I({site_name:o.value.name});return{data:t.data,total:t.data.length,other:{}}}catch(t){return{data:[],total:0,other:{}}}},Nt=[{label:"MB",value:"mb"},{label:"GB",value:"gb"}],Lt=[{label:"次",value:"c"},{label:"千次",value:"kc"},{label:"百万次",value:"mc"}],f=n({traffic:"--",request:"--"}),ot=t=>t?t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,","):"0",St=async()=>{var t,e;try{if(!b.value.total_status){f.value.traffic="--",f.value.request="--";return}const a=new Date,l=a.getFullYear(),_=String(a.getMonth()+1).padStart(2,"0"),y=String(a.getDate()).padStart(2,"0"),m="".concat(l,"-").concat(_,"-").concat(y),{data:d}=await H({SiteName:o.value.name,part_type:"hour",start_date:m,end_date:m});f.value.traffic=(t=Q(Number(d.total.sent_bytes)))!=null?t:0,f.value.request=(e=ot(Number(d.total.request)))!=null?e:0}catch(a){}},qt=async t=>{try{await q({title:"删除".concat(t.task_data.title),icon:"warning-filled",content:"是否删除".concat(t.title,"?")}),await u({loading:"正在删除告警任务,请稍候...",request:K({task_id:t.id}),message:!0}),g.value=!0}catch(e){}},Dt=async t=>{await q({title:"".concat(t.status?"禁用":"启用","【").concat(t.title,"】任务"),content:"您真的要".concat(t.status?"禁用":"启用","【").concat(t.title,"】这个任务吗?")}),await u({loading:"正在修改告警任务状态,请稍候...",request:V({task_id:t.id,status:+!t.status}),message:!0}),g.value=!0};export{k as a,at as b,St as c,et as d,b as e,wt as f,kt as g,gt as h,_t as i,f as j,Dt as k,qt as l,p as m,Nt as n,tt as o,Z as p,yt as q,Lt as r,ht as s,g as t,bt as u,st as v};