mirror of
https://github.com/foxhui/WebAI2API.git
synced 2026-06-16 21:03:59 +08:00
2 lines
5.3 KiB
JavaScript
2 lines
5.3 KiB
JavaScript
import{_ as k,k as w,l as T,o as C,b as S,d as U,w as n,c as e,g as o,f as i,h as a,m as z,M as B}from"./index.js";const L={style:{"margin-bottom":"8px"}},M={style:{"margin-bottom":"8px"}},I={style:{"margin-bottom":"8px"}},j={style:{"margin-bottom":"8px"}},q={style:{display:"flex","justify-content":"flex-end","margin-top":"24px"}},N={style:{"margin-bottom":"8px"}},V={style:{"margin-bottom":"8px"}},W={style:{display:"flex","justify-content":"flex-end","margin-top":"24px"}},A={__name:"server",setup(D){const u=w(),l=T({port:5173,authToken:"",keepaliveMode:"comment",logLevel:"info",queueBuffer:2,imageLimit:5});C(async()=>{await u.fetchServerConfig(),Object.assign(l,u.serverConfig)});const m=async()=>{await u.saveServerConfig(l)},f=async()=>{if(l.authToken&&l.authToken.length>0&&l.authToken.length<10){z.error("鉴权 Token 如果设置则必须至少 10 个字符,或留空");return}if(!l.authToken){B.confirm({title:"安全警告",content:"您正在将鉴权 Token 留空,这意味着 API 和 WebUI 将无需认证即可访问。请勿在公网环境中使用此配置!确定要继续吗?",okText:"确定留空",okType:"danger",cancelText:"取消",onOk:m});return}await m()};return(E,t)=>{const p=i("a-input-number"),r=i("a-col"),b=i("a-input-password"),d=i("a-select-option"),v=i("a-select"),g=i("a-row"),x=i("a-button"),y=i("a-card"),_=i("a-layout");return U(),S(_,{style:{background:"transparent"}},{default:n(()=>[e(y,{title:"服务器设置",bordered:!1,style:{width:"100%"}},{default:n(()=>[e(g,{gutter:[16,16]},{default:n(()=>[e(r,{xs:24,md:12},{default:n(()=>[o("div",L,[t[6]||(t[6]=o("div",{style:{"font-weight":"600","margin-bottom":"4px"}},"监听端口",-1)),t[7]||(t[7]=o("div",{style:{"font-size":"12px",color:"#8c8c8c","margin-bottom":"8px"}}," 设置服务器监听的端口号,默认为 5173 ",-1)),e(p,{value:l.port,"onUpdate:value":t[0]||(t[0]=s=>l.port=s),min:1,max:65535,placeholder:"请输入端口号",style:{width:"100%"}},null,8,["value"])])]),_:1}),e(r,{xs:24,md:12},{default:n(()=>[o("div",M,[t[8]||(t[8]=o("div",{style:{"font-weight":"600","margin-bottom":"4px"}},"鉴权 Token",-1)),t[9]||(t[9]=o("div",{style:{"font-size":"12px",color:"#8c8c8c","margin-bottom":"8px"}}," 用于 API 请求鉴权的密钥,留空则不启用鉴权 ",-1)),e(b,{value:l.authToken,"onUpdate:value":t[1]||(t[1]=s=>l.authToken=s),placeholder:"请输入 Token",type:"password"},null,8,["value"])])]),_:1}),e(r,{xs:24,md:12},{default:n(()=>[o("div",I,[t[12]||(t[12]=o("div",{style:{"font-weight":"600","margin-bottom":"4px"}},"心跳包类型",-1)),t[13]||(t[13]=o("div",{style:{"font-size":"12px",color:"#8c8c8c","margin-bottom":"8px"}}," 选择 SSE 流式响应的心跳包格式 ",-1)),e(v,{value:l.keepaliveMode,"onUpdate:value":t[2]||(t[2]=s=>l.keepaliveMode=s),style:{width:"100%"},placeholder:"请选择心跳包类型"},{default:n(()=>[e(d,{value:"comment"},{default:n(()=>[...t[10]||(t[10]=[a("Comment - 注释格式",-1)])]),_:1}),e(d,{value:"content"},{default:n(()=>[...t[11]||(t[11]=[a("Content - 内容格式",-1)])]),_:1})]),_:1},8,["value"])])]),_:1}),e(r,{xs:24,md:12},{default:n(()=>[o("div",j,[t[18]||(t[18]=o("div",{style:{"font-weight":"600","margin-bottom":"4px"}},"日志等级",-1)),t[19]||(t[19]=o("div",{style:{"font-size":"12px",color:"#8c8c8c","margin-bottom":"8px"}}," 设置服务器日志输出的详细程度 ",-1)),e(v,{value:l.logLevel,"onUpdate:value":t[3]||(t[3]=s=>l.logLevel=s),style:{width:"100%"},placeholder:"请选择日志等级"},{default:n(()=>[e(d,{value:"debug"},{default:n(()=>[...t[14]||(t[14]=[a("Debug - 调试日志",-1)])]),_:1}),e(d,{value:"info"},{default:n(()=>[...t[15]||(t[15]=[a("Info - 普通信息",-1)])]),_:1}),e(d,{value:"warn"},{default:n(()=>[...t[16]||(t[16]=[a("Warn - 警告信息",-1)])]),_:1}),e(d,{value:"error"},{default:n(()=>[...t[17]||(t[17]=[a("Error - 仅错误",-1)])]),_:1})]),_:1},8,["value"])])]),_:1})]),_:1}),o("div",q,[e(x,{type:"primary",onClick:f},{default:n(()=>[...t[20]||(t[20]=[a(" 保存设置 ",-1)])]),_:1})])]),_:1}),e(y,{title:"队列设置",bordered:!1,style:{width:"100%","margin-top":"10px"}},{default:n(()=>[e(g,{gutter:[16,16]},{default:n(()=>[e(r,{xs:24,md:12},{default:n(()=>[o("div",N,[t[21]||(t[21]=o("div",{style:{"font-weight":"600","margin-bottom":"4px"}},"队列缓冲区大小",-1)),t[22]||(t[22]=o("div",{style:{"font-size":"12px",color:"#8c8c8c","margin-bottom":"8px"}},[a(" 非流式请求的额外排队数(设为 0 则不限制非流式请求数量)"),o("br"),a(" 实际队列上限 = Workers数量 + 缓冲区大小 ")],-1)),e(p,{value:l.queueBuffer,"onUpdate:value":t[4]||(t[4]=s=>l.queueBuffer=s),min:0,max:100,placeholder:"默认为 2",style:{width:"100%"}},null,8,["value"])])]),_:1}),e(r,{xs:24,md:12},{default:n(()=>[o("div",V,[t[23]||(t[23]=o("div",{style:{"font-weight":"600","margin-bottom":"4px"}},"图片数量上限",-1)),t[24]||(t[24]=o("div",{style:{"font-size":"12px",color:"#8c8c8c","margin-bottom":"8px"}},[a(" 单次请求最多支持的图片附件数量"),o("br"),a(" 网页最多支持10个附件,超出会被丢弃 ")],-1)),e(p,{value:l.imageLimit,"onUpdate:value":t[5]||(t[5]=s=>l.imageLimit=s),min:1,max:10,placeholder:"默认为 5",style:{width:"100%"}},null,8,["value"])])]),_:1})]),_:1}),o("div",W,[e(x,{type:"primary",onClick:f},{default:n(()=>[...t[25]||(t[25]=[a(" 保存设置 ",-1)])]),_:1})])]),_:1})]),_:1})}}},P=k(A,[["__scopeId","data-v-e88c66ad"]]);export{P as default};
|