Files
WebAI2API/webui/dist/assets/workers.js
T

2 lines
19 KiB
JavaScript

import{k as xe,n as D,o as ge,r as w,b as S,d as i,w as s,c as a,g as o,f as u,h as f,j as p,e as d,t as m,F as I,p as fe,M as ke}from"./index.js";const be={style:{"margin-bottom":"24px"}},we={style:{"margin-bottom":"24px"}},_e={style:{"margin-bottom":"24px"}},ce={style:{"margin-bottom":"8px"}},he={style:{"margin-bottom":"8px"}},Ue={style:{"margin-bottom":"8px"}},Ce={style:{"margin-bottom":"8px"}},Te={style:{display:"flex","justify-content":"flex-end","margin-top":"24px"}},Me={style:{display:"flex","justify-content":"space-between","align-items":"center"}},Pe={key:0},Ae={key:3},De=["onClick"],Se=["onClick"],We={style:{"margin-bottom":"24px"}},ze={style:{"margin-bottom":"16px"}},He={style:{"margin-bottom":"16px"}},Re={style:{"margin-bottom":"16px"}},$e={style:{"margin-bottom":"16px"}},Ie={style:{"margin-left":"8px"}},Ne={key:0,style:{"margin-bottom":"16px"}},Oe={key:1,style:{"margin-bottom":"16px"}},Be={key:2,style:{"margin-bottom":"16px"}},Fe={key:3,style:{"margin-bottom":"16px"}},Ve={style:{"margin-left":"8px"}},je={key:4,style:{"margin-bottom":"16px"}},Le={key:5,style:{"margin-bottom":"16px"}},Ee={style:{display:"flex","justify-content":"space-between","align-items":"center","margin-bottom":"8px"}},Ke=["onClick"],qe=["onClick"],Ge={style:{"font-weight":"600"}},Je={style:{"font-size":"12px",color:"#8c8c8c"}},Qe={key:0},Xe={key:0},Ye={style:{"text-align":"right"}},Ze={style:{"margin-bottom":"16px"}},et={style:{"margin-bottom":"16px"}},tt={style:{"margin-bottom":"16px"}},ot={style:{"margin-bottom":"16px"}},lt={style:{"margin-bottom":"16px"}},at={style:{"font-size":"12px",color:"#8c8c8c","margin-bottom":"16px"}},nt={style:{"margin-bottom":"16px"}},st={style:{"margin-left":"8px"}},rt={key:0,style:{"margin-bottom":"16px"}},it={key:1,style:{"margin-bottom":"16px"}},ut={key:2,style:{"margin-bottom":"16px"}},pt={key:3,style:{"margin-bottom":"16px"}},dt={style:{"margin-left":"8px"}},vt={key:4,style:{"margin-bottom":"16px"}},yt={key:5,style:{"margin-bottom":"16px"}},gt={__name:"workers",setup(mt){const v=xe(),y=D({get:()=>v.poolConfig,set:l=>v.poolConfig=l}),K=async()=>{await v.savePoolConfig(y.value)};ge(async()=>{await Promise.all([v.fetchWorkerConfig(),v.fetchPoolConfig(),v.fetchAdaptersMeta()])});const q=D(()=>{const l=v.adaptersMeta.map(e=>({label:e.displayName||e.id,value:e.id}));return l.find(e=>e.value==="merge")||l.unshift({label:"Merge(聚合模式)",value:"merge"}),l}),G=D(()=>v.adaptersMeta.filter(l=>l.id!=="merge").map(l=>({label:l.displayName||l.id,value:l.id}))),W=l=>l==="merge"?"Merge(聚合模式)":v.adaptersMeta.find(g=>g.id===l)?.displayName||l,J=[{title:"实例名称",dataIndex:"name",key:"name"},{title:"Worker 数量",dataIndex:"workerCount",key:"workerCount"},{title:"代理",dataIndex:"proxy",key:"proxy"},{title:"数据标记",key:"userDataMark",dataIndex:"userDataMark"},{title:"操作",key:"action"}],T=D({get:()=>v.workerConfig,set:l=>{v.workerConfig=l}}),k=w([]),Q=D(()=>({selectedRowKeys:k.value,onChange:l=>{k.value=l}})),z=w(!1),r=w({proxy:!0,proxyType:"socks5",proxyHost:"",proxyPort:1080,proxyAuth:!1,proxyUsername:"",proxyPassword:""}),X=()=>{r.value={proxy:!0,proxyType:"socks5",proxyHost:"",proxyPort:1080,proxyAuth:!1,proxyUsername:"",proxyPassword:""},z.value=!0},Y=async()=>{const l=(T.value||[]).map(g=>k.value.includes(g.id)?{...g,proxy:r.value.proxy?{enable:!0,type:r.value.proxyType,host:r.value.proxyHost,port:r.value.proxyPort,auth:r.value.proxyAuth,username:r.value.proxyUsername,password:r.value.proxyPassword}:null}:g);await v.saveWorkerConfig(l)&&(z.value=!1,k.value=[])},Z=()=>{ke.confirm({title:"批量删除实例",content:`确定要删除选中的 ${k.value.length} 个实例吗?此操作不可撤销。`,okText:"删除",okType:"danger",cancelText:"取消",async onOk(){const l=(T.value||[]).filter(g=>!k.value.includes(g.id));await v.saveWorkerConfig(l)&&(k.value=[])}})},M=w(!1),_=w(null),n=w({name:"",userDataMark:"",proxy:!1,proxyType:"socks5",proxyHost:"",proxyPort:1080,proxyAuth:!1,proxyUsername:"",proxyPassword:"",workers:[]}),ee=()=>{_.value=null;const l=Math.random().toString(36).substring(2,7);n.value={name:`instance-${(T.value||[]).length+1}-${l}`,userDataMark:"",proxy:!1,proxyType:"socks5",proxyHost:"",proxyPort:1080,proxyAuth:!1,proxyUsername:"",proxyPassword:"",workers:[]},M.value=!0},te=l=>{_.value=l,n.value={name:l.name,userDataMark:l.userDataMark||"",proxy:!!l.proxy,proxyType:l.proxy?.type||"socks5",proxyHost:l.proxy?.host||"",proxyPort:l.proxy?.port||1080,proxyAuth:l.proxy?.auth||!1,proxyUsername:l.proxy?.username||"",proxyPassword:l.proxy?.password||"",workers:l.workers?[...l.workers]:[]},(l.proxy===null||l.proxy===void 0)&&(n.value.proxy=!1),M.value=!0},oe=async l=>{const e=T.value.filter(g=>g.id!==l.id);await v.saveWorkerConfig(e)},le=async()=>{const l={id:_.value?_.value.id:`inst_${Date.now()}`,name:n.value.name,userDataMark:n.value.userDataMark,workers:n.value.workers,proxy:n.value.proxy?{enable:!0,type:n.value.proxyType,host:n.value.proxyHost,port:n.value.proxyPort,auth:n.value.proxyAuth,username:n.value.proxyUsername,password:n.value.proxyPassword}:null};let e=[...T.value||[]];if(_.value===null)e.push(l);else{const c=e.findIndex(h=>h.id===_.value.id);c>-1&&(e[c]=l)}await v.saveWorkerConfig(e)&&(M.value=!1)},P=w(-1),A=w(!1),x=w({name:"",type:"lmarena",mergeTypes:[],mergeMonitor:""}),ae=()=>{P.value=-1;const l=Math.random().toString(36).substring(2,7);x.value={name:`worker-${n.value.workers.length+1}-${l}`,type:"lmarena",mergeTypes:[],mergeMonitor:""},A.value=!0},ne=l=>{P.value=l;const e=n.value.workers[l];x.value={name:e.name,type:e.type,mergeTypes:e.mergeTypes?[...e.mergeTypes]:[],mergeMonitor:e.mergeMonitor||""},A.value=!0},se=()=>{P.value===-1?n.value.workers.push({...x.value}):n.value.workers[P.value]={...x.value},A.value=!1},re=l=>{n.value.workers.splice(l,1)};return(l,e)=>{const g=u("a-segmented"),c=u("a-input-number"),h=u("a-switch"),H=u("a-col"),N=u("a-row"),O=u("a-divider"),B=u("a-collapse-panel"),F=u("a-collapse"),U=u("a-button"),V=u("a-card"),ie=u("a-space"),ue=u("a-tag"),pe=u("a-table"),C=u("a-input"),j=u("a-input-password"),de=u("a-list-item"),ve=u("a-list"),ye=u("a-drawer"),R=u("a-select"),L=u("a-select-option"),E=u("a-modal"),me=u("a-layout");return i(),S(me,{style:{background:"transparent"}},{default:s(()=>[a(V,{title:"负载均衡",bordered:!1,style:{width:"100%","margin-bottom":"10px"}},{default:s(()=>[o("div",be,[e[30]||(e[30]=o("div",{style:{"font-weight":"600","margin-bottom":"8px"}},"调度策略",-1)),e[31]||(e[31]=o("div",{style:{"font-size":"12px",color:"#8c8c8c","margin-bottom":"12px"}}," 选择任务分配到工作实例的调度算法 ",-1)),a(g,{value:y.value.strategy,"onUpdate:value":e[0]||(e[0]=t=>y.value.strategy=t),block:"",options:[{label:"最少繁忙",value:"least_busy"},{label:"轮询",value:"round_robin"},{label:"随机",value:"random"}]},null,8,["value"])]),o("div",we,[e[33]||(e[33]=o("div",{style:{"font-weight":"600","margin-bottom":"8px"}},"生成等待超时",-1)),e[34]||(e[34]=o("div",{style:{"font-size":"12px",color:"#8c8c8c","margin-bottom":"12px"}}," 等待 AI 生成结果的最长时间,单位:秒(默认 120 秒) ",-1)),a(c,{value:y.value.waitTimeout,"onUpdate:value":e[1]||(e[1]=t=>y.value.waitTimeout=t),min:30,max:3600,step:30,style:{width:"100%"},placeholder:"请输入超时秒数"},{addonAfter:s(()=>[...e[32]||(e[32]=[f("秒",-1)])]),_:1},8,["value"])]),o("div",_e,[a(F,null,{default:s(()=>[a(B,{key:"failover",header:"故障转移"},{default:s(()=>[a(N,{gutter:16},{default:s(()=>[a(H,{xs:24,md:12},{default:s(()=>[o("div",ce,[e[35]||(e[35]=o("div",{style:{"font-weight":"600","margin-bottom":"8px"}},"启用故障转移",-1)),e[36]||(e[36]=o("div",{style:{"font-size":"12px",color:"#8c8c8c","margin-bottom":"12px"}}," 启用后,任务失败时会自动切换到其他可用实例重试 ",-1)),a(h,{checked:y.value.failover.enabled,"onUpdate:checked":e[2]||(e[2]=t=>y.value.failover.enabled=t)},null,8,["checked"])])]),_:1}),a(H,{xs:24,md:12},{default:s(()=>[o("div",he,[e[37]||(e[37]=o("div",{style:{"font-weight":"600","margin-bottom":"8px"}},"重试次数",-1)),e[38]||(e[38]=o("div",{style:{"font-size":"12px",color:"#8c8c8c","margin-bottom":"12px"}}," 故障转移时最大重试次数,范围 1-10 ",-1)),a(c,{value:y.value.failover.maxRetries,"onUpdate:value":e[3]||(e[3]=t=>y.value.failover.maxRetries=t),min:1,max:10,disabled:!y.value.failover.enabled,style:{width:"100%"},placeholder:"请输入重试次数"},null,8,["value","disabled"])])]),_:1})]),_:1}),a(O,{style:{margin:"12px 0"}}),a(N,{gutter:16},{default:s(()=>[a(H,{xs:24,md:12},{default:s(()=>[o("div",Ue,[e[39]||(e[39]=o("div",{style:{"font-weight":"600","margin-bottom":"8px"}},"图片下载重试",-1)),e[40]||(e[40]=o("div",{style:{"font-size":"12px",color:"#8c8c8c","margin-bottom":"12px"}}," 启用后,图片/视频下载失败时会自动重试下载(不重新生成) ",-1)),a(h,{checked:y.value.failover.imgDlRetry,"onUpdate:checked":e[4]||(e[4]=t=>y.value.failover.imgDlRetry=t)},null,8,["checked"])])]),_:1}),a(H,{xs:24,md:12},{default:s(()=>[o("div",Ce,[e[41]||(e[41]=o("div",{style:{"font-weight":"600","margin-bottom":"8px"}},"下载重试次数",-1)),e[42]||(e[42]=o("div",{style:{"font-size":"12px",color:"#8c8c8c","margin-bottom":"12px"}}," 图片下载失败时的最大重试次数,范围 1-10 ",-1)),a(c,{value:y.value.failover.imgDlRetryMaxRetries,"onUpdate:value":e[5]||(e[5]=t=>y.value.failover.imgDlRetryMaxRetries=t),min:1,max:10,disabled:!y.value.failover.imgDlRetry,style:{width:"100%"},placeholder:"请输入下载重试次数"},null,8,["value","disabled"])])]),_:1})]),_:1})]),_:1})]),_:1})]),o("div",Te,[a(U,{type:"primary",onClick:K},{default:s(()=>[...e[43]||(e[43]=[f(" 保存设置 ",-1)])]),_:1})])]),_:1}),a(V,{bordered:!1,style:{width:"100%"}},{title:s(()=>[o("div",Me,[e[45]||(e[45]=o("span",null,"实例列表",-1)),a(ie,null,{default:s(()=>[k.value.length>0?(i(),S(U,{key:0,onClick:X},{default:s(()=>[f(" 批量设置代理 ("+m(k.value.length)+") ",1)]),_:1})):d("",!0),k.value.length>0?(i(),S(U,{key:1,danger:"",onClick:Z},{default:s(()=>[f(" 批量删除 ("+m(k.value.length)+") ",1)]),_:1})):d("",!0),a(U,{type:"primary",onClick:ee},{default:s(()=>[...e[44]||(e[44]=[f(" 创建实例 ",-1)])]),_:1})]),_:1})])]),default:s(()=>[a(pe,{columns:J,"data-source":T.value,pagination:!1,"row-selection":Q.value,"row-key":"id"},{bodyCell:s(({column:t,record:b})=>[t.key==="name"?(i(),p("a",Pe,m(b.name),1)):t.key==="workerCount"?(i(),p(I,{key:1},[f(m(b.workers?b.workers.length:0),1)],64)):t.key==="proxy"?(i(),S(ue,{key:2,color:b.proxy?"green":"default"},{default:s(()=>[f(m(b.proxy?"已启用":"未启用"),1)]),_:2},1032,["color"])):t.key==="action"?(i(),p("span",Ae,[o("a",{onClick:$=>te(b)},"编辑",8,De),a(O,{type:"vertical"}),o("a",{style:{color:"#ff4d4f"},onClick:$=>oe(b)},"删除",8,Se)])):d("",!0)]),_:1},8,["data-source","row-selection"])]),_:1}),a(ye,{open:M.value,"onUpdate:open":e[16]||(e[16]=t=>M.value=t),title:_.value===null?"创建实例":`编辑实例 - ${_.value.name}`,placement:"right",width:"500"},{footer:s(()=>[o("div",Ye,[a(U,{style:{"margin-right":"8px"},onClick:e[15]||(e[15]=t=>M.value=!1)},{default:s(()=>[...e[58]||(e[58]=[f("取消",-1)])]),_:1}),a(U,{type:"primary",onClick:le},{default:s(()=>[...e[59]||(e[59]=[f("保存",-1)])]),_:1})])]),default:s(()=>[o("div",We,[o("div",ze,[e[46]||(e[46]=o("div",{style:{"font-weight":"600","margin-bottom":"4px"}},"实例名称",-1)),e[47]||(e[47]=o("div",{style:{"font-size":"12px",color:"#ff4d4f","margin-bottom":"8px"}}," * 名称必须全局唯一,不可重复 ",-1)),a(C,{value:n.value.name,"onUpdate:value":e[6]||(e[6]=t=>n.value.name=t),placeholder:"请输入实例名称"},null,8,["value"])]),o("div",He,[e[48]||(e[48]=o("div",{style:{"font-weight":"600","margin-bottom":"4px"}},"数据标记",-1)),e[49]||(e[49]=o("div",{style:{"font-size":"12px",color:"#8c8c8c","margin-bottom":"8px"}}," 用于区分实例数据存储的文件夹名称 (userDataMark) ",-1)),a(C,{value:n.value.userDataMark,"onUpdate:value":e[7]||(e[7]=t=>n.value.userDataMark=t),placeholder:"请输入数据标记,如: main-gemini"},null,8,["value"])]),o("div",Re,[a(F,null,{default:s(()=>[a(B,{key:"proxy",header:"代理设置"},{default:s(()=>[o("div",$e,[a(h,{checked:n.value.proxy,"onUpdate:checked":e[8]||(e[8]=t=>n.value.proxy=t)},null,8,["checked"]),o("span",Ie,m(n.value.proxy?"已启用代理":"未启用代理"),1)]),n.value.proxy?(i(),p("div",Ne,[e[50]||(e[50]=o("div",{style:{"font-weight":"600","margin-bottom":"8px"}},"代理类型",-1)),a(g,{value:n.value.proxyType,"onUpdate:value":e[9]||(e[9]=t=>n.value.proxyType=t),block:"",options:[{label:"SOCKS5",value:"socks5"},{label:"HTTP",value:"http"}],style:{width:"100%"}},null,8,["value"])])):d("",!0),n.value.proxy?(i(),p("div",Oe,[e[51]||(e[51]=o("div",{style:{"font-weight":"600","margin-bottom":"8px"}},"服务器地址",-1)),a(C,{value:n.value.proxyHost,"onUpdate:value":e[10]||(e[10]=t=>n.value.proxyHost=t),placeholder:"例如: 127.0.0.1"},null,8,["value"])])):d("",!0),n.value.proxy?(i(),p("div",Be,[e[52]||(e[52]=o("div",{style:{"font-weight":"600","margin-bottom":"8px"}},"端口",-1)),a(c,{value:n.value.proxyPort,"onUpdate:value":e[11]||(e[11]=t=>n.value.proxyPort=t),min:1,max:65535,style:{width:"100%"},placeholder:"例如: 1080"},null,8,["value"])])):d("",!0),n.value.proxy?(i(),p("div",Fe,[e[53]||(e[53]=o("div",{style:{"font-weight":"600","margin-bottom":"8px"}},"身份验证",-1)),a(h,{checked:n.value.proxyAuth,"onUpdate:checked":e[12]||(e[12]=t=>n.value.proxyAuth=t)},null,8,["checked"]),o("span",Ve,m(n.value.proxyAuth?"需要验证":"无需验证"),1)])):d("",!0),n.value.proxy&&n.value.proxyAuth?(i(),p("div",je,[e[54]||(e[54]=o("div",{style:{"font-weight":"600","margin-bottom":"8px"}},"用户名",-1)),a(C,{value:n.value.proxyUsername,"onUpdate:value":e[13]||(e[13]=t=>n.value.proxyUsername=t),placeholder:"请输入用户名"},null,8,["value"])])):d("",!0),n.value.proxy&&n.value.proxyAuth?(i(),p("div",Le,[e[55]||(e[55]=o("div",{style:{"font-weight":"600","margin-bottom":"8px"}},"密码",-1)),a(j,{value:n.value.proxyPassword,"onUpdate:value":e[14]||(e[14]=t=>n.value.proxyPassword=t),placeholder:"请输入密码"},null,8,["value"])])):d("",!0)]),_:1})]),_:1})]),o("div",null,[o("div",Ee,[e[57]||(e[57]=o("div",{style:{"font-weight":"600"}},"Worker 列表",-1)),a(U,{size:"small",type:"primary",onClick:ae},{default:s(()=>[...e[56]||(e[56]=[f(" 添加 Worker ",-1)])]),_:1})]),a(ve,{bordered:"","data-source":n.value.workers,style:{"margin-top":"8px"}},{renderItem:s(({item:t,index:b})=>[a(de,null,{actions:s(()=>[o("a",{onClick:$=>ne(b)},"编辑",8,Ke),o("a",{style:{color:"#ff4d4f"},onClick:$=>re(b)},"删除",8,qe)]),default:s(()=>[o("div",null,[o("div",Ge,m(t.name),1),o("div",Je,[f(" 类型: "+m(W(t.type))+" ",1),t.type==="merge"?(i(),p("span",Qe,[f(" | 聚合: "+m(t.mergeTypes?.map(W).join(", ")||"无")+" ",1),t.mergeMonitor?(i(),p("span",Xe," | 监控: "+m(W(t.mergeMonitor)),1)):d("",!0)])):d("",!0)])])]),_:2},1024)]),_:1},8,["data-source"])])])]),_:1},8,["open","title"]),a(E,{open:A.value,"onUpdate:open":e[21]||(e[21]=t=>A.value=t),title:P.value===-1?"添加 Worker":"编辑 Worker",okText:"确定",cancelText:"取消",onOk:se},{default:s(()=>[o("div",Ze,[e[60]||(e[60]=o("div",{style:{"font-weight":"600","margin-bottom":"4px"}},"Worker 名称",-1)),e[61]||(e[61]=o("div",{style:{"font-size":"12px",color:"#ff4d4f","margin-bottom":"8px"}}," * 名称必须全局唯一,不可重复 ",-1)),a(C,{value:x.value.name,"onUpdate:value":e[17]||(e[17]=t=>x.value.name=t),placeholder:"例如: default"},null,8,["value"])]),o("div",et,[e[62]||(e[62]=o("div",{style:{"font-weight":"600","margin-bottom":"8px"}},"适配器类型",-1)),a(R,{value:x.value.type,"onUpdate:value":e[18]||(e[18]=t=>x.value.type=t),style:{width:"100%"},options:q.value},null,8,["value","options"])]),x.value.type==="merge"?(i(),p(I,{key:0},[o("div",tt,[e[63]||(e[63]=o("div",{style:{"font-weight":"600","margin-bottom":"4px"}},"聚合类型",-1)),e[64]||(e[64]=o("div",{style:{"font-size":"12px",color:"#8c8c8c","margin-bottom":"8px"}}," 选择要聚合的后端适配器(可多选) ",-1)),a(R,{value:x.value.mergeTypes,"onUpdate:value":e[19]||(e[19]=t=>x.value.mergeTypes=t),mode:"multiple",style:{width:"100%"},placeholder:"选择要聚合的适配器",options:G.value},null,8,["value","options"])]),o("div",ot,[e[66]||(e[66]=o("div",{style:{"font-weight":"600","margin-bottom":"4px"}},"空闲监控后端",-1)),e[67]||(e[67]=o("div",{style:{"font-size":"12px",color:"#8c8c8c","margin-bottom":"8px"}}," 空闲时挂机监控的后端(可选) ",-1)),a(R,{value:x.value.mergeMonitor,"onUpdate:value":e[20]||(e[20]=t=>x.value.mergeMonitor=t),style:{width:"100%"},placeholder:"选择监控后端(可留空)","allow-clear":""},{default:s(()=>[a(L,{value:""},{default:s(()=>[...e[65]||(e[65]=[f("无",-1)])]),_:1}),(i(!0),p(I,null,fe(x.value.mergeTypes,t=>(i(),S(L,{key:t,value:t},{default:s(()=>[f(m(W(t)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])],64)):d("",!0)]),_:1},8,["open","title"]),a(E,{open:z.value,"onUpdate:open":e[29]||(e[29]=t=>z.value=t),title:"批量设置代理",okText:"应用",cancelText:"取消",onOk:Y},{default:s(()=>[o("div",lt,[o("div",at," 将对选中的 "+m(k.value.length)+" 个实例统一设置代理 ",1),o("div",nt,[a(h,{checked:r.value.proxy,"onUpdate:checked":e[22]||(e[22]=t=>r.value.proxy=t)},null,8,["checked"]),o("span",st,m(r.value.proxy?"启用代理":"关闭代理(将清除选中实例的代理配置)"),1)]),r.value.proxy?(i(),p("div",rt,[e[68]||(e[68]=o("div",{style:{"font-weight":"600","margin-bottom":"8px"}},"代理类型",-1)),a(g,{value:r.value.proxyType,"onUpdate:value":e[23]||(e[23]=t=>r.value.proxyType=t),block:"",options:[{label:"SOCKS5",value:"socks5"},{label:"HTTP",value:"http"}],style:{width:"100%"}},null,8,["value"])])):d("",!0),r.value.proxy?(i(),p("div",it,[e[69]||(e[69]=o("div",{style:{"font-weight":"600","margin-bottom":"8px"}},"服务器地址",-1)),a(C,{value:r.value.proxyHost,"onUpdate:value":e[24]||(e[24]=t=>r.value.proxyHost=t),placeholder:"例如: 127.0.0.1"},null,8,["value"])])):d("",!0),r.value.proxy?(i(),p("div",ut,[e[70]||(e[70]=o("div",{style:{"font-weight":"600","margin-bottom":"8px"}},"端口",-1)),a(c,{value:r.value.proxyPort,"onUpdate:value":e[25]||(e[25]=t=>r.value.proxyPort=t),min:1,max:65535,style:{width:"100%"},placeholder:"例如: 1080"},null,8,["value"])])):d("",!0),r.value.proxy?(i(),p("div",pt,[e[71]||(e[71]=o("div",{style:{"font-weight":"600","margin-bottom":"8px"}},"身份验证",-1)),a(h,{checked:r.value.proxyAuth,"onUpdate:checked":e[26]||(e[26]=t=>r.value.proxyAuth=t)},null,8,["checked"]),o("span",dt,m(r.value.proxyAuth?"需要验证":"无需验证"),1)])):d("",!0),r.value.proxy&&r.value.proxyAuth?(i(),p("div",vt,[e[72]||(e[72]=o("div",{style:{"font-weight":"600","margin-bottom":"8px"}},"用户名",-1)),a(C,{value:r.value.proxyUsername,"onUpdate:value":e[27]||(e[27]=t=>r.value.proxyUsername=t),placeholder:"请输入用户名"},null,8,["value"])])):d("",!0),r.value.proxy&&r.value.proxyAuth?(i(),p("div",yt,[e[73]||(e[73]=o("div",{style:{"font-weight":"600","margin-bottom":"8px"}},"密码",-1)),a(j,{value:r.value.proxyPassword,"onUpdate:value":e[28]||(e[28]=t=>r.value.proxyPassword=t),placeholder:"请输入密码"},null,8,["value"])])):d("",!0)])]),_:1},8,["open"])]),_:1})}}};export{gt as default};