2 lines
14 KiB
JavaScript
2 lines
14 KiB
JavaScript
import{I as C}from"./iconify-30ae5ba5.js";import{a0 as E,a2 as L,d as ae,u as le,X as te,a as se,c as R,b as B,r as P,ah as O,ai as ne,o as oe,aj as re,e as ue,f as D,g as y,j as e,h as a,w as n,t as s,l as x,S as h,U as T,I as q,n as S,$ as N,p as k,q as z,N as u,m as d,Z as _,D as F,ak as ie,al as de,am as w,y as G,ad as U,ae as J,W as ve,an as pe}from"./index-7b482730.js";import{_ as ge}from"./_plugin-vue_export-helper-c27b6911.js";const me=async()=>{var b,i,m,f,v,c;try{const l=await E.get("/jingrow/system/environment-config",{headers:L(),withCredentials:!0});return(b=l.data)!=null&&b.success?{success:!0,data:l.data.data}:{success:!1,message:((i=l.data)==null?void 0:i.message)||"获取环境配置失败"}}catch(l){return((m=l.response)==null?void 0:m.status)===403?{success:!1,message:"仅系统管理员可以访问此功能"}:((f=l.response)==null?void 0:f.status)===401?{success:!1,message:"认证失败,请重新登录"}:{success:!1,message:((c=(v=l.response)==null?void 0:v.data)==null?void 0:c.detail)||l.message||"获取环境配置失败"}}},fe=async b=>{var i,m,f,v,c,l;try{const p=await E.post("/jingrow/system/environment-config",b,{headers:L(),withCredentials:!0});return(i=p.data)!=null&&i.success?{success:!0,message:p.data.message||"环境配置已更新"}:{success:!1,message:((m=p.data)==null?void 0:m.message)||"更新环境配置失败"}}catch(p){return((f=p.response)==null?void 0:f.status)===403?{success:!1,message:"仅系统管理员可以访问此功能"}:((v=p.response)==null?void 0:v.status)===401?{success:!1,message:"认证失败,请重新登录"}:{success:!1,message:((l=(c=p.response)==null?void 0:c.data)==null?void 0:l.detail)||p.message||"更新环境配置失败"}}},ce=async()=>{var b,i,m,f,v,c;try{const l=await E.post("/jingrow/system/restart-environment",{},{headers:L(),withCredentials:!0});return(b=l.data)!=null&&b.success?{success:!0,message:l.data.message||"环境重启请求已提交"}:{success:!1,message:((i=l.data)==null?void 0:i.message)||"重启环境失败"}}catch(l){return((m=l.response)==null?void 0:m.status)===403?{success:!1,message:"仅系统管理员可以访问此功能"}:((f=l.response)==null?void 0:f.status)===401?{success:!1,message:"认证失败,请重新登录"}:{success:!1,message:((c=(v=l.response)==null?void 0:v.data)==null?void 0:c.detail)||l.message||"重启环境失败"}}},be={class:"settings-page"},_e={class:"page-header"},we={class:"page-title"},ye=ae({__name:"Settings",setup(b){const i=le(),m=te(),f=se(),v=R(()=>{const r=f.user;return(r==null?void 0:r.username)==="Administrator"||(r==null?void 0:r.id)==="Administrator"}),c=R(()=>l.run_mode==="local"),l=B({}),p=P(!1),j=P(!1),A=P(!1),g=B({appName:localStorage.getItem("appName")||"Jingrow",language:O(),itemsPerPage:parseInt(localStorage.getItem("itemsPerPage")||"10"),timezone:localStorage.getItem("timezone")||"Asia/Shanghai"}),W=ne.map(r=>({label:`${r.flag} ${r.name}`,value:r.code})),H=[{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100}],M=[{label:"Asia/Shanghai (中国标准时间)",value:"Asia/Shanghai"},{label:"Asia/Hong_Kong (中国香港时间)",value:"Asia/Hong_Kong"},{label:"Asia/Singapore (新加坡时间)",value:"Asia/Singapore"},{label:"UTC (协调世界时)",value:"UTC"},{label:"America/New_York (美国东部时间)",value:"America/New_York"},{label:"America/Los_Angeles (美国西部时间)",value:"America/Los_Angeles"},{label:"Europe/London (英国时间)",value:"Europe/London"},{label:"Europe/Paris (法国时间)",value:"Europe/Paris"},{label:"Europe/Berlin (德国时间)",value:"Europe/Berlin"},{label:"Australia/Sydney (澳大利亚东部时间)",value:"Australia/Sydney"},{label:"Pacific/Auckland (新西兰时间)",value:"Pacific/Auckland"}],Q=[{label:"MariaDB",value:"mariadb"},{label:"MySQL",value:"mysql"},{label:"PostgreSQL",value:"postgresql"}],K=[{label:"API",value:"api"},{label:"Local",value:"local"}],V=[{label:"Development",value:"development"},{label:"Production",value:"production"}],$=[{label:"DEBUG",value:"DEBUG"},{label:"INFO",value:"INFO"},{label:"WARNING",value:"WARNING"},{label:"ERROR",value:"ERROR"},{label:"CRITICAL",value:"CRITICAL"}],Y=r=>{pe(r),i.success(s("Language updated"))},X=()=>{localStorage.setItem("appName",g.appName),localStorage.setItem("itemsPerPage",g.itemsPerPage.toString()),localStorage.setItem("timezone",g.timezone),i.success(s("System settings saved")),setTimeout(()=>{window.location.reload()},1e3)},I=async(r=!0)=>{if(v.value){p.value=!0;try{const t=await me();t.success&&t.data?(Object.assign(l,t.data),r&&i.success(s("Environment configuration loaded"))):r&&i.error(t.message||s("Failed to load environment configuration"))}catch(t){r&&i.error(t.message||s("Failed to load environment configuration"))}finally{p.value=!1}}},Z=async()=>{if(!v.value){i.error(s("Only system administrators can edit environment configuration"));return}j.value=!0;try{const r=await fe(l);r.success?(i.success(r.message||s("Environment configuration saved")),await I(!1)):i.error(r.message||s("Failed to save environment configuration"))}catch(r){i.error(r.message||s("Failed to save environment configuration"))}finally{j.value=!1}},ee=()=>{if(!v.value){i.error(s("Only system administrators can restart environment"));return}m.warning({title:s("Restart Environment"),content:s("Are you sure you want to restart the environment? This operation may cause service interruption."),positiveText:s("Restart"),negativeText:s("Cancel"),onPositiveClick:async()=>{A.value=!0;try{const r=await ce();r.success?i.success(r.message||s("Environment restart request submitted. The system will restart shortly.")):i.error(r.message||s("Failed to restart environment"))}catch(r){i.error(r.message||s("Failed to restart environment"))}finally{A.value=!1}}})};return oe(async()=>{re(),g.language=O(),v.value&&await I(!1)}),(r,t)=>(x(),ue("div",be,[D("div",_e,[D("h1",we,y(e(s)("Settings")),1)]),a(e(ve),{cols:2,"x-gap":24,"y-gap":24},{default:n(()=>[a(e(h),null,{default:n(()=>[a(e(T),{title:e(s)("System Settings")},{footer:n(()=>[a(e(q),{justify:"start"},{default:n(()=>[a(e(S),{type:"primary",class:"save-btn-brand",onClick:X},{icon:n(()=>[a(e(N),null,{default:n(()=>[a(e(C),{icon:"tabler:check"})]),_:1})]),default:n(()=>[k(" "+y(e(s)("Save")),1)]),_:1})]),_:1})]),default:n(()=>[a(e(z),{model:g,"label-placement":"left","label-width":"120px"},{default:n(()=>[a(e(u),{label:e(s)("App Name")},{default:n(()=>[a(e(d),{value:g.appName,"onUpdate:value":t[0]||(t[0]=o=>g.appName=o),placeholder:e(s)("Enter app name")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(e(u),{label:e(s)("Interface Language")},{default:n(()=>[a(e(_),{value:g.language,"onUpdate:value":[t[1]||(t[1]=o=>g.language=o),Y],options:e(W),style:{width:"200px"}},null,8,["value","options"])]),_:1},8,["label"]),a(e(u),{label:e(s)("Items Per Page")},{default:n(()=>[a(e(_),{value:g.itemsPerPage,"onUpdate:value":t[2]||(t[2]=o=>g.itemsPerPage=o),options:H,style:{width:"120px"}},null,8,["value"])]),_:1},8,["label"]),a(e(u),{label:e(s)("Timezone")},{default:n(()=>[a(e(_),{value:g.timezone,"onUpdate:value":t[3]||(t[3]=o=>g.timezone=o),options:M,style:{width:"250px"},filterable:"",placeholder:e(s)("Select timezone")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1},8,["model"])]),_:1},8,["title"])]),_:1}),v.value?(x(),F(e(h),{key:0},{default:n(()=>[a(e(T),{title:e(s)("Environment Configuration")},{footer:n(()=>[a(e(q),{justify:"start"},{default:n(()=>[a(e(S),{type:"default",onClick:t[28]||(t[28]=()=>I()),loading:p.value},{icon:n(()=>[a(e(N),null,{default:n(()=>[a(e(C),{icon:"tabler:refresh"})]),_:1})]),default:n(()=>[k(" "+y(e(s)("Refresh")),1)]),_:1},8,["loading"]),a(e(S),{type:"warning",loading:A.value,onClick:ee},{icon:n(()=>[a(e(N),null,{default:n(()=>[a(e(C),{icon:"ix:restart"})]),_:1})]),default:n(()=>[k(" "+y(e(s)("Restart Environment")),1)]),_:1},8,["loading"]),a(e(S),{type:"primary",class:"save-btn-brand",loading:j.value,onClick:Z},{icon:n(()=>[a(e(N),null,{default:n(()=>[a(e(C),{icon:"tabler:check"})]),_:1})]),default:n(()=>[k(" "+y(e(s)("Save")),1)]),_:1},8,["loading"])]),_:1})]),default:n(()=>[a(e(ie),{type:"warning",style:{"margin-bottom":"16px"}},{default:n(()=>[k(y(e(s)("Only system administrators can view and edit environment configuration")),1)]),_:1}),a(e(z),{model:l,"label-placement":"left","label-width":"180px",loading:p.value},{default:n(()=>[a(e(de),null,{default:n(()=>[a(e(w),{name:"jingrow",title:e(s)("Jingrow API Configuration")},{default:n(()=>[a(e(u),{label:e(s)("Jingrow Server URL")},{default:n(()=>[a(e(d),{value:l.jingrow_server_url,"onUpdate:value":t[4]||(t[4]=o=>l.jingrow_server_url=o),placeholder:"https://example.jingrow.com"},null,8,["value"])]),_:1},8,["label"]),a(e(u),{label:e(s)("Jingrow API Key")},{default:n(()=>[a(e(d),{value:l.jingrow_api_key,"onUpdate:value":t[5]||(t[5]=o=>l.jingrow_api_key=o),type:"password","show-password-on":"click"},null,8,["value"])]),_:1},8,["label"]),a(e(u),{label:e(s)("Jingrow API Secret")},{default:n(()=>[a(e(d),{value:l.jingrow_api_secret,"onUpdate:value":t[6]||(t[6]=o=>l.jingrow_api_secret=o),type:"password","show-password-on":"click"},null,8,["value"])]),_:1},8,["label"])]),_:1},8,["title"]),a(e(w),{name:"cloud",title:e(s)("Jingrow Cloud Configuration")},{default:n(()=>[a(e(u),{label:e(s)("Cloud URL")},{default:n(()=>[a(e(d),{value:l.jingrow_cloud_url,"onUpdate:value":t[7]||(t[7]=o=>l.jingrow_cloud_url=o)},null,8,["value"])]),_:1},8,["label"]),a(e(u),{label:e(s)("Cloud API URL")},{default:n(()=>[a(e(d),{value:l.jingrow_cloud_api_url,"onUpdate:value":t[8]||(t[8]=o=>l.jingrow_cloud_api_url=o)},null,8,["value"])]),_:1},8,["label"]),a(e(u),{label:e(s)("Cloud API Key")},{default:n(()=>[a(e(d),{value:l.jingrow_cloud_api_key,"onUpdate:value":t[9]||(t[9]=o=>l.jingrow_cloud_api_key=o),type:"password","show-password-on":"click"},null,8,["value"])]),_:1},8,["label"]),a(e(u),{label:e(s)("Cloud API Secret")},{default:n(()=>[a(e(d),{value:l.jingrow_cloud_api_secret,"onUpdate:value":t[10]||(t[10]=o=>l.jingrow_cloud_api_secret=o),type:"password","show-password-on":"click"},null,8,["value"])]),_:1},8,["label"])]),_:1},8,["title"]),c.value?(x(),F(e(w),{key:0,name:"database",title:e(s)("Database Configuration")},{default:n(()=>[a(e(u),{label:e(s)("DB Host")},{default:n(()=>[a(e(d),{value:l.jingrow_db_host,"onUpdate:value":t[11]||(t[11]=o=>l.jingrow_db_host=o)},null,8,["value"])]),_:1},8,["label"]),a(e(u),{label:e(s)("DB Port")},{default:n(()=>[a(e(d),{value:l.jingrow_db_port,"onUpdate:value":t[12]||(t[12]=o=>l.jingrow_db_port=o)},null,8,["value"])]),_:1},8,["label"]),a(e(u),{label:e(s)("DB Name")},{default:n(()=>[a(e(d),{value:l.jingrow_db_name,"onUpdate:value":t[13]||(t[13]=o=>l.jingrow_db_name=o)},null,8,["value"])]),_:1},8,["label"]),a(e(u),{label:e(s)("DB User")},{default:n(()=>[a(e(d),{value:l.jingrow_db_user,"onUpdate:value":t[14]||(t[14]=o=>l.jingrow_db_user=o)},null,8,["value"])]),_:1},8,["label"]),a(e(u),{label:e(s)("DB Password")},{default:n(()=>[a(e(d),{value:l.jingrow_db_password,"onUpdate:value":t[15]||(t[15]=o=>l.jingrow_db_password=o),type:"password","show-password-on":"click"},null,8,["value"])]),_:1},8,["label"]),a(e(u),{label:e(s)("DB Type")},{default:n(()=>[a(e(_),{value:l.jingrow_db_type,"onUpdate:value":t[16]||(t[16]=o=>l.jingrow_db_type=o),options:Q,style:{width:"200px"}},null,8,["value"])]),_:1},8,["label"])]),_:1},8,["title"])):G("",!0),a(e(w),{name:"backend",title:e(s)("Backend Configuration")},{default:n(()=>[a(e(u),{label:e(s)("Backend Host")},{default:n(()=>[a(e(d),{value:l.backend_host,"onUpdate:value":t[17]||(t[17]=o=>l.backend_host=o)},null,8,["value"])]),_:1},8,["label"]),a(e(u),{label:e(s)("Backend Port")},{default:n(()=>[a(e(U),{value:l.backend_port,"onUpdate:value":t[18]||(t[18]=o=>l.backend_port=o),min:1,max:65535},null,8,["value"])]),_:1},8,["label"]),a(e(u),{label:e(s)("Backend Reload")},{default:n(()=>[a(e(J),{value:l.backend_reload,"onUpdate:value":t[19]||(t[19]=o=>l.backend_reload=o)},null,8,["value"])]),_:1},8,["label"])]),_:1},8,["title"]),a(e(w),{name:"dramatiq",title:e(s)("Dramatiq")},{default:n(()=>[a(e(u),{label:e(s)("Worker Processes")},{default:n(()=>[a(e(U),{value:l.worker_processes,"onUpdate:value":t[20]||(t[20]=o=>l.worker_processes=o),min:1,max:32},null,8,["value"])]),_:1},8,["label"]),a(e(u),{label:e(s)("Worker Threads")},{default:n(()=>[a(e(U),{value:l.worker_threads,"onUpdate:value":t[21]||(t[21]=o=>l.worker_threads=o),min:1,max:32},null,8,["value"])]),_:1},8,["label"]),a(e(u),{label:e(s)("Watch")},{default:n(()=>[a(e(J),{value:l.watch,"onUpdate:value":t[22]||(t[22]=o=>l.watch=o)},null,8,["value"])]),_:1},8,["label"])]),_:1},8,["title"]),a(e(w),{name:"qdrant",title:e(s)("Qdrant Configuration")},{default:n(()=>[a(e(u),{label:e(s)("Qdrant Host")},{default:n(()=>[a(e(d),{value:l.qdrant_host,"onUpdate:value":t[23]||(t[23]=o=>l.qdrant_host=o)},null,8,["value"])]),_:1},8,["label"]),a(e(u),{label:e(s)("Qdrant Port")},{default:n(()=>[a(e(U),{value:l.qdrant_port,"onUpdate:value":t[24]||(t[24]=o=>l.qdrant_port=o),min:1,max:65535},null,8,["value"])]),_:1},8,["label"])]),_:1},8,["title"]),a(e(w),{name:"runtime",title:e(s)("Other")},{default:n(()=>[a(e(u),{label:e(s)("Run Mode")},{default:n(()=>[a(e(_),{value:l.run_mode,"onUpdate:value":t[25]||(t[25]=o=>l.run_mode=o),options:K,style:{width:"200px"}},null,8,["value"])]),_:1},8,["label"]),a(e(u),{label:e(s)("Environment")},{default:n(()=>[a(e(_),{value:l.environment,"onUpdate:value":t[26]||(t[26]=o=>l.environment=o),options:V,style:{width:"200px"}},null,8,["value"])]),_:1},8,["label"]),a(e(u),{label:e(s)("Log Level")},{default:n(()=>[a(e(_),{value:l.log_level,"onUpdate:value":t[27]||(t[27]=o=>l.log_level=o),options:$,style:{width:"200px"}},null,8,["value"])]),_:1},8,["label"])]),_:1},8,["title"])]),_:1})]),_:1},8,["model","loading"])]),_:1},8,["title"])]),_:1})):G("",!0)]),_:1})]))}});const Ne=ge(ye,[["__scopeId","data-v-d23b8452"]]);export{Ne as default};
|