Files
xin-school/public/assets/storage-CRxCCSBi.js
T
2026-06-17 13:08:53 +08:00

1 line
9.6 KiB
JavaScript

import{t as e}from"./XinForm-DX04WSwD.js";import{t}from"./card-BDbI8Gdq.js";import{Ca as n,Ct as r,Ea as i,G as a,H as o,Jt as s,Pt as c,Rn as l,c as u,gn as d,qt as f,rt as p,s as m,ya as h,yt as g}from"./index-DThTpSPU.js";var _=i(n(),1);async function v(){return h({url:`/system/storage/config`,method:`get`})}async function y(e){return h({url:`/system/storage/save`,method:`post`,data:e})}async function b(e){return h({url:`/system/storage/test`,method:`post`,timeout:6e4,data:{disk:e}})}var x=m(),{Text:S,Title:C}=p,w=()=>{let{t:n}=u(),i=(0,_.useRef)(null),[p]=c.useForm(),[m,h]=(0,_.useState)(!1),[w,T]=(0,_.useState)(`local`),E=[{label:n(`system.storage.driver.local`),value:`local`},{label:n(`system.storage.driver.s3`),value:`s3`},{label:n(`system.storage.driver.ftp`),value:`ftp`},{label:n(`system.storage.driver.sftp`),value:`sftp`}],D=[{dataIndex:`default`,valueType:`radioButton`,title:n(`system.storage.driver`),fieldProps:{options:E},required:!0,colProps:{span:24}},{fieldRender:()=>(0,x.jsx)(f,{children:n(`system.storage.local.title`)}),dependency:{dependencies:[`default`],visible:e=>e.default===`local`},colProps:{span:24},noStyle:!0},{dataIndex:[`local`,`url`],valueType:`text`,title:n(`system.storage.local.url`),fieldProps:{placeholder:n(`system.storage.local.url.placeholder`)},tooltip:n(`system.storage.local.url.tooltip`),colProps:{span:24},dependency:{dependencies:[`default`],visible:e=>e.default===`local`}},{fieldRender:()=>(0,x.jsx)(f,{children:n(`system.storage.s3.title`)}),dependency:{dependencies:[`default`],visible:e=>e.default===`s3`},colProps:{span:24},noStyle:!0},{dataIndex:[`s3`,`key`],valueType:`text`,title:n(`system.storage.s3.key`),fieldProps:{placeholder:n(`system.storage.s3.key.placeholder`)},required:!0,colProps:{span:12},dependency:{dependencies:[`default`],visible:e=>e.default===`s3`}},{dataIndex:[`s3`,`secret`],valueType:`password`,title:n(`system.storage.s3.secret`),fieldProps:{placeholder:n(`system.storage.s3.secret.placeholder`)},required:!0,colProps:{span:12},dependency:{dependencies:[`default`],visible:e=>e.default===`s3`}},{dataIndex:[`s3`,`region`],valueType:`text`,title:n(`system.storage.s3.region`),fieldProps:{placeholder:n(`system.storage.s3.region.placeholder`)},required:!0,colProps:{span:12},dependency:{dependencies:[`default`],visible:e=>e.default===`s3`}},{dataIndex:[`s3`,`bucket`],valueType:`text`,title:n(`system.storage.s3.bucket`),fieldProps:{placeholder:n(`system.storage.s3.bucket.placeholder`)},required:!0,colProps:{span:12},dependency:{dependencies:[`default`],visible:e=>e.default===`s3`}},{dataIndex:[`s3`,`endpoint`],valueType:`text`,title:n(`system.storage.s3.endpoint`),fieldProps:{placeholder:n(`system.storage.s3.endpoint.placeholder`)},tooltip:n(`system.storage.s3.endpoint.tooltip`),colProps:{span:12},dependency:{dependencies:[`default`],visible:e=>e.default===`s3`}},{dataIndex:[`s3`,`url`],valueType:`text`,title:n(`system.storage.s3.url`),fieldProps:{placeholder:n(`system.storage.s3.url.placeholder`)},tooltip:n(`system.storage.s3.url.tooltip`),colProps:{span:12},dependency:{dependencies:[`default`],visible:e=>e.default===`s3`}},{dataIndex:[`s3`,`use_path_style_endpoint`],valueType:`switch`,title:n(`system.storage.s3.path_style`),tooltip:n(`system.storage.s3.path_style.tooltip`),colProps:{span:12},dependency:{dependencies:[`default`],visible:e=>e.default===`s3`}},{fieldRender:()=>(0,x.jsx)(f,{children:n(`system.storage.ftp.title`)}),dependency:{dependencies:[`default`],visible:e=>e.default===`ftp`},colProps:{span:24},noStyle:!0},{dataIndex:[`ftp`,`host`],valueType:`text`,title:n(`system.storage.ftp.host`),fieldProps:{placeholder:n(`system.storage.ftp.host.placeholder`)},required:!0,colProps:{span:16},dependency:{dependencies:[`default`],visible:e=>e.default===`ftp`}},{dataIndex:[`ftp`,`port`],valueType:`digit`,title:n(`system.storage.ftp.port`),fieldProps:{placeholder:n(`system.storage.ftp.port.placeholder`)},colProps:{span:8},dependency:{dependencies:[`default`],visible:e=>e.default===`ftp`}},{dataIndex:[`ftp`,`username`],valueType:`text`,title:n(`system.storage.ftp.username`),fieldProps:{placeholder:n(`system.storage.ftp.username.placeholder`)},required:!0,colProps:{span:12},dependency:{dependencies:[`default`],visible:e=>e.default===`ftp`}},{dataIndex:[`ftp`,`password`],valueType:`password`,title:n(`system.storage.ftp.password`),fieldProps:{placeholder:n(`system.storage.ftp.password.placeholder`)},required:!0,colProps:{span:12},dependency:{dependencies:[`default`],visible:e=>e.default===`ftp`}},{dataIndex:[`ftp`,`root`],valueType:`text`,title:n(`system.storage.ftp.root`),fieldProps:{placeholder:n(`system.storage.ftp.root.placeholder`)},tooltip:n(`system.storage.ftp.root.tooltip`),colProps:{span:12},dependency:{dependencies:[`default`],visible:e=>e.default===`ftp`}},{dataIndex:[`ftp`,`timeout`],valueType:`digit`,title:n(`system.storage.ftp.timeout`),fieldProps:{placeholder:n(`system.storage.ftp.timeout.placeholder`),addonAfter:n(`system.storage.ftp.timeout.suffix`)},colProps:{span:12},dependency:{dependencies:[`default`],visible:e=>e.default===`ftp`}},{dataIndex:[`ftp`,`passive`],valueType:`switch`,title:n(`system.storage.ftp.passive`),tooltip:n(`system.storage.ftp.passive.tooltip`),colProps:{span:8},dependency:{dependencies:[`default`],visible:e=>e.default===`ftp`}},{dataIndex:[`ftp`,`ssl`],valueType:`switch`,title:n(`system.storage.ftp.ssl`),tooltip:n(`system.storage.ftp.ssl.tooltip`),colProps:{span:8},dependency:{dependencies:[`default`],visible:e=>e.default===`ftp`}},{fieldRender:()=>(0,x.jsx)(f,{children:n(`system.storage.sftp.title`)}),dependency:{dependencies:[`default`],visible:e=>e.default===`sftp`},colProps:{span:24},noStyle:!0},{dataIndex:[`sftp`,`host`],valueType:`text`,title:n(`system.storage.sftp.host`),fieldProps:{placeholder:n(`system.storage.sftp.host.placeholder`)},required:!0,colProps:{span:16},dependency:{dependencies:[`default`],visible:e=>e.default===`sftp`}},{dataIndex:[`sftp`,`port`],valueType:`digit`,title:n(`system.storage.sftp.port`),fieldProps:{placeholder:n(`system.storage.sftp.port.placeholder`)},colProps:{span:8},dependency:{dependencies:[`default`],visible:e=>e.default===`sftp`}},{dataIndex:[`sftp`,`username`],valueType:`text`,title:n(`system.storage.sftp.username`),fieldProps:{placeholder:n(`system.storage.sftp.username.placeholder`)},required:!0,colProps:{span:12},dependency:{dependencies:[`default`],visible:e=>e.default===`sftp`}},{dataIndex:[`sftp`,`password`],valueType:`password`,title:n(`system.storage.sftp.password`),fieldProps:{placeholder:n(`system.storage.sftp.password.placeholder`)},tooltip:n(`system.storage.sftp.password.tooltip`),colProps:{span:12},dependency:{dependencies:[`default`],visible:e=>e.default===`sftp`}},{dataIndex:[`sftp`,`root`],valueType:`text`,title:n(`system.storage.sftp.root`),fieldProps:{placeholder:n(`system.storage.sftp.root.placeholder`)},tooltip:n(`system.storage.sftp.root.tooltip`),colProps:{span:12},dependency:{dependencies:[`default`],visible:e=>e.default===`sftp`}},{dataIndex:[`sftp`,`timeout`],valueType:`digit`,title:n(`system.storage.sftp.timeout`),fieldProps:{placeholder:n(`system.storage.sftp.timeout.placeholder`),addonAfter:n(`system.storage.sftp.timeout.suffix`)},colProps:{span:12},dependency:{dependencies:[`default`],visible:e=>e.default===`sftp`}},{dataIndex:[`sftp`,`private_key`],valueType:`textarea`,title:n(`system.storage.sftp.private_key`),fieldProps:{placeholder:n(`system.storage.sftp.private_key.placeholder`),rows:4},tooltip:n(`system.storage.sftp.private_key.tooltip`),colProps:{span:24},dependency:{dependencies:[`default`],visible:e=>e.default===`sftp`}},{dataIndex:[`sftp`,`passphrase`],valueType:`password`,title:n(`system.storage.sftp.passphrase`),fieldProps:{placeholder:n(`system.storage.sftp.passphrase.placeholder`)},tooltip:n(`system.storage.sftp.passphrase.tooltip`),colProps:{span:24},dependency:{dependencies:[`default`],visible:e=>e.default===`sftp`}}];(0,_.useEffect)(()=>{O()},[]);let O=async()=>{let{data:e}=await v();if(e.success){let t=e.data;p.setFieldsValue(t),T(t.default||`local`)}};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(`div`,{className:`mb-5`,children:[(0,x.jsx)(C,{level:3,children:n(`system.storage.page.title`)}),(0,x.jsx)(S,{type:`secondary`,children:n(`system.storage.page.description`)})]}),(0,x.jsxs)(g,{gutter:24,children:[(0,x.jsx)(s,{span:16,children:(0,x.jsx)(t,{variant:`borderless`,children:(0,x.jsx)(e,{columns:D,layout:`vertical`,formRef:i,form:p,grid:!0,onFinish:async e=>{await y(e),r.success(n(`system.storage.save.success`))},onValuesChange:e=>{e.default&&T(e.default)},rowProps:{gutter:[10,0]}})})}),(0,x.jsx)(s,{span:8,children:(0,x.jsxs)(t,{title:n(`system.storage.test.title`),children:[(0,x.jsxs)(c,{layout:`vertical`,children:[(0,x.jsx)(c.Item,{label:n(`system.storage.test.current_driver`),children:(0,x.jsx)(l,{value:w,onChange:T,options:E})}),(0,x.jsx)(d,{type:`primary`,block:!0,icon:(0,x.jsx)(a,{}),loading:m,onClick:async()=>{try{h(!0),await b(w),r.success(n(`system.storage.test.success`))}finally{h(!1)}},children:n(`system.storage.test.button`)})]}),(0,x.jsx)(f,{}),(0,x.jsxs)(`div`,{style:{fontSize:12,color:`#666`},children:[(0,x.jsxs)(C,{level:5,children:[(0,x.jsx)(o,{}),` `,n(`system.storage.help.title`)]}),(0,x.jsxs)(`p`,{children:[(0,x.jsx)(`strong`,{children:n(`system.storage.help.local`)}),n(`system.storage.help.local.desc`)]}),(0,x.jsxs)(`p`,{children:[(0,x.jsx)(`strong`,{children:n(`system.storage.help.s3`)}),n(`system.storage.help.s3.desc`)]}),(0,x.jsxs)(`p`,{children:[(0,x.jsx)(`strong`,{children:n(`system.storage.help.ftp`)}),n(`system.storage.help.ftp.desc`)]}),(0,x.jsxs)(`p`,{children:[(0,x.jsx)(`strong`,{children:n(`system.storage.help.sftp`)}),n(`system.storage.help.sftp.desc`)]})]})]})})]})]})};export{w as default};