18 lines
10 KiB
JavaScript
18 lines
10 KiB
JavaScript
import{f as te,u as D,e as oe}from"./system-CS-UmZao.js";import{a as H,_ as ne,r as u,c as ue,o as se,f as i,I as re,J as de,h as x,g as j,j as n,m as l,w as t,q as c,B as S,n as E,F as ie,v as me,p as pe,K as $,L as p}from"./index-DL8gIzDq.js";async function ce(){const{data:f}=await H.get("/proxy/config");return f}async function ve(f){const{data:v}=await H.post("/proxy/config",f);return v}async function ye(f){const{data:v}=await H.post("/proxy/test",f);return v}const _e={class:"page-stack"},fe={class:"app-page-title"},xe={class:"row-actions"},be={class:"row-actions"},Ve={__name:"SystemPage",setup(f){const v=u(!1),w=u(2),k=u(1),P=u(3),m=u(!1),C=u("02:00"),b=u("应读"),y=u(["1","2","3","4","5","6","7"]),V=u(!0),g=u(!1),_=u(""),h=u(3),B=u(!1),N=u(10),I=u(7),L=[{label:"周一",value:"1"},{label:"周二",value:"2"},{label:"周三",value:"3"},{label:"周四",value:"4"},{label:"周五",value:"5"},{label:"周六",value:"6"},{label:"周日",value:"7"}],O={1:"周一",2:"周二",3:"周三",4:"周四",5:"周五",6:"周六",7:"周日"},W=ue(()=>(y.value||[]).map(a=>O[Number(a)]||a).join("、"));function q(a){return String(a)==="注册前未读"?"注册前未读":"应读"}async function F(){v.value=!0;try{const[a,e]=await Promise.all([te(),ce()]);w.value=a.max_concurrent_global??2,k.value=a.max_concurrent_per_account??1,P.value=a.max_screenshot_concurrent??3,m.value=(a.schedule_enabled??0)===1,C.value=a.schedule_time||"02:00",b.value=q(a.schedule_browse_type);const s=String(a.schedule_weekdays||"1,2,3,4,5,6,7").split(",").map(d=>d.trim()).filter(Boolean);y.value=s.length?s:["1","2","3","4","5","6","7"],V.value=(a.enable_screenshot??1)===1,B.value=(a.auto_approve_enabled??0)===1,N.value=a.auto_approve_hourly_limit??10,I.value=a.auto_approve_vip_days??7,g.value=(e.proxy_enabled??0)===1,_.value=e.proxy_api_url||"",h.value=e.proxy_expire_minutes??3}catch{}finally{v.value=!1}}async function z(){const a={max_concurrent_global:Number(w.value),max_concurrent_per_account:Number(k.value),max_screenshot_concurrent:Number(P.value)};try{await $.confirm(`确定更新并发配置吗?
|
||
|
||
全局并发数: ${a.max_concurrent_global}
|
||
单账号并发数: ${a.max_concurrent_per_account}
|
||
截图并发数: ${a.max_screenshot_concurrent}`,"保存并发配置",{confirmButtonText:"保存",cancelButtonText:"取消",type:"warning"})}catch{return}try{const e=await D(a);p.success(e?.message||"并发配置已更新")}catch{}}async function G(){if(m.value&&(!y.value||y.value.length===0)){p.error("请至少选择一个执行日期");return}const a={schedule_enabled:m.value?1:0,schedule_time:C.value,schedule_browse_type:b.value,schedule_weekdays:(y.value||[]).join(","),enable_screenshot:V.value?1:0},e=V.value?"截图":"不截图",s=m.value?`确定启用定时任务吗?
|
||
|
||
执行时间: 每天 ${a.schedule_time}
|
||
执行日期: ${W.value}
|
||
浏览类型: ${a.schedule_browse_type}
|
||
截图: ${e}
|
||
|
||
系统将自动执行所有账号的浏览任务`:"确定关闭定时任务吗?";try{await $.confirm(s,"保存定时任务",{confirmButtonText:"确认",cancelButtonText:"取消",type:"warning"})}catch{return}try{const d=await D(a);p.success(d?.message||(m.value?"定时任务已启用":"定时任务已关闭"))}catch{}}async function J(){const a=`确定要立即执行定时任务吗?
|
||
|
||
这将执行所有账号的浏览任务
|
||
浏览类型: ${b.value}
|
||
|
||
注意:无视定时时间和执行日期配置,立即开始执行!`;try{await $.confirm(a,"立即执行",{confirmButtonText:"立即执行",cancelButtonText:"取消",type:"warning"})}catch{return}try{const e=await oe();p.success(e?.message||"定时任务已开始执行")}catch{}}async function K(){if(g.value&&!_.value.trim()){p.error("启用代理时,API地址不能为空");return}const a={proxy_enabled:g.value?1:0,proxy_api_url:_.value.trim(),proxy_expire_minutes:Number(h.value)||3};try{const e=await ve(a);p.success(e?.message||"代理配置已更新")}catch{}}async function R(){if(!_.value.trim()){p.error("请先输入代理API地址");return}try{const a=await ye({api_url:_.value.trim()});await $.alert(a?.message||"测试完成","代理测试",{confirmButtonText:"知道了"})}catch{}}async function Q(){const a=Number(N.value),e=Number(I.value);if(!Number.isFinite(a)||a<1){p.error("每小时注册限制必须大于0");return}if(!Number.isFinite(e)||e<0){p.error("VIP天数不能为负数");return}const s={auto_approve_enabled:B.value?1:0,auto_approve_hourly_limit:a,auto_approve_vip_days:e};try{const d=await D(s);p.success(d?.message||"注册设置已保存")}catch{}}return se(F),(a,e)=>{const s=i("el-button"),d=i("el-input-number"),r=i("el-form-item"),T=i("el-form"),U=i("el-card"),A=i("el-switch"),X=i("el-time-picker"),M=i("el-option"),Y=i("el-select"),Z=i("el-checkbox"),ee=i("el-checkbox-group"),le=i("el-input"),ae=re("loading");return de((x(),j("div",_e,[n("div",fe,[e[15]||(e[15]=n("h2",null,"系统配置",-1)),n("div",null,[l(s,{onClick:F},{default:t(()=>[...e[14]||(e[14]=[c("刷新",-1)])]),_:1})])]),l(U,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:t(()=>[e[20]||(e[20]=n("h3",{class:"section-title"},"系统并发配置",-1)),l(T,{"label-width":"130px"},{default:t(()=>[l(r,{label:"全局最大并发数"},{default:t(()=>[l(d,{modelValue:w.value,"onUpdate:modelValue":e[0]||(e[0]=o=>w.value=o),min:1,max:200},null,8,["modelValue"]),e[16]||(e[16]=n("div",{class:"help"},"同时最多运行的账号数量(浏览任务使用 API 方式,资源占用较低)。",-1))]),_:1}),l(r,{label:"单账号最大并发数"},{default:t(()=>[l(d,{modelValue:k.value,"onUpdate:modelValue":e[1]||(e[1]=o=>k.value=o),min:1,max:50},null,8,["modelValue"]),e[17]||(e[17]=n("div",{class:"help"},"单个账号同时最多运行的任务数量(建议设为 1)。",-1))]),_:1}),l(r,{label:"截图最大并发数"},{default:t(()=>[l(d,{modelValue:P.value,"onUpdate:modelValue":e[2]||(e[2]=o=>P.value=o),min:1,max:50},null,8,["modelValue"]),e[18]||(e[18]=n("div",{class:"help"},"同时进行截图的最大数量(wkhtmltoimage 资源占用较低,可按需提高)。",-1))]),_:1})]),_:1}),l(s,{type:"primary",onClick:z},{default:t(()=>[...e[19]||(e[19]=[c("保存并发配置",-1)])]),_:1})]),_:1}),l(U,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:t(()=>[e[25]||(e[25]=n("h3",{class:"section-title"},"定时任务配置",-1)),l(T,{"label-width":"130px"},{default:t(()=>[l(r,{label:"启用定时任务"},{default:t(()=>[l(A,{modelValue:m.value,"onUpdate:modelValue":e[3]||(e[3]=o=>m.value=o)},null,8,["modelValue"]),e[21]||(e[21]=n("div",{class:"help"},"开启后,系统会按计划自动执行浏览任务。",-1))]),_:1}),m.value?(x(),S(r,{key:0,label:"执行时间"},{default:t(()=>[l(X,{modelValue:C.value,"onUpdate:modelValue":e[4]||(e[4]=o=>C.value=o),"value-format":"HH:mm",format:"HH:mm"},null,8,["modelValue"])]),_:1})):E("",!0),m.value?(x(),S(r,{key:1,label:"浏览类型"},{default:t(()=>[l(Y,{modelValue:b.value,"onUpdate:modelValue":e[5]||(e[5]=o=>b.value=o),style:{width:"220px"}},{default:t(()=>[l(M,{label:"注册前未读",value:"注册前未读"}),l(M,{label:"应读",value:"应读"})]),_:1},8,["modelValue"])]),_:1})):E("",!0),m.value?(x(),S(r,{key:2,label:"执行日期"},{default:t(()=>[l(ee,{modelValue:y.value,"onUpdate:modelValue":e[6]||(e[6]=o=>y.value=o)},{default:t(()=>[(x(),j(ie,null,me(L,o=>l(Z,{key:o.value,label:o.value},{default:t(()=>[c(pe(o.label),1)]),_:2},1032,["label"])),64))]),_:1},8,["modelValue"])]),_:1})):E("",!0),m.value?(x(),S(r,{key:3,label:"定时任务截图"},{default:t(()=>[l(A,{modelValue:V.value,"onUpdate:modelValue":e[7]||(e[7]=o=>V.value=o)},null,8,["modelValue"]),e[22]||(e[22]=n("div",{class:"help"},"开启后,定时任务执行时会生成截图。",-1))]),_:1})):E("",!0)]),_:1}),n("div",xe,[l(s,{type:"primary",onClick:G},{default:t(()=>[...e[23]||(e[23]=[c("保存定时任务配置",-1)])]),_:1}),l(s,{type:"success",plain:"",onClick:J},{default:t(()=>[...e[24]||(e[24]=[c("立即执行",-1)])]),_:1})])]),_:1}),l(U,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:t(()=>[e[30]||(e[30]=n("h3",{class:"section-title"},"代理设置",-1)),l(T,{"label-width":"130px"},{default:t(()=>[l(r,{label:"启用IP代理"},{default:t(()=>[l(A,{modelValue:g.value,"onUpdate:modelValue":e[8]||(e[8]=o=>g.value=o)},null,8,["modelValue"]),e[26]||(e[26]=n("div",{class:"help"},"开启后,所有浏览任务将通过代理IP访问(失败自动重试3次)。",-1))]),_:1}),l(r,{label:"代理API地址"},{default:t(()=>[l(le,{modelValue:_.value,"onUpdate:modelValue":e[9]||(e[9]=o=>_.value=o),placeholder:"http://api.xxx/Tools/IP.ashx?..."},null,8,["modelValue"]),e[27]||(e[27]=n("div",{class:"help"},"API 应返回:IP:PORT(例如 123.45.67.89:8888)。",-1))]),_:1}),l(r,{label:"代理有效期(分钟)"},{default:t(()=>[l(d,{modelValue:h.value,"onUpdate:modelValue":e[10]||(e[10]=o=>h.value=o),min:1,max:60},null,8,["modelValue"])]),_:1})]),_:1}),n("div",be,[l(s,{type:"primary",onClick:K},{default:t(()=>[...e[28]||(e[28]=[c("保存代理配置",-1)])]),_:1}),l(s,{onClick:R},{default:t(()=>[...e[29]||(e[29]=[c("测试代理",-1)])]),_:1})])]),_:1}),l(U,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:t(()=>[e[33]||(e[33]=n("h3",{class:"section-title"},"注册设置",-1)),l(T,{"label-width":"130px"},{default:t(()=>[l(r,{label:"注册赠送VIP"},{default:t(()=>[l(A,{modelValue:B.value,"onUpdate:modelValue":e[11]||(e[11]=o=>B.value=o)},null,8,["modelValue"]),e[31]||(e[31]=n("div",{class:"help"},"开启后,新用户注册成功后将赠送下方设置的VIP天数(注册已默认无需审核)。",-1))]),_:1}),l(r,{label:"每小时注册限制"},{default:t(()=>[l(d,{modelValue:N.value,"onUpdate:modelValue":e[12]||(e[12]=o=>N.value=o),min:1,max:1e4},null,8,["modelValue"])]),_:1}),l(r,{label:"注册赠送VIP天数"},{default:t(()=>[l(d,{modelValue:I.value,"onUpdate:modelValue":e[13]||(e[13]=o=>I.value=o),min:0,max:999999},null,8,["modelValue"])]),_:1})]),_:1}),l(s,{type:"primary",onClick:Q},{default:t(()=>[...e[32]||(e[32]=[c("保存注册设置",-1)])]),_:1})]),_:1})])),[[ae,v.value]])}}},ke=ne(Ve,[["__scopeId","data-v-5ced7917"]]);export{ke as default};
|