2 lines
6.8 KiB
JavaScript
2 lines
6.8 KiB
JavaScript
import{d as j,r as w,a as q,v as H,o as J,g as u,J as G,c as m,k as i,K as P,z as R,w as o,e as t,t as c,b as p,l as n,S as Q,T as C,H as O,F as f,x as K,O as W,E as k,_ as X}from"./index-wbLC-Cww.js";import{S as s,v as Y,w as Z}from"./config-1NXY56NE.js";const $={class:"page-container"},ee={class:"card-header"},le={class:"form-tip"},te={class:"form-tip"},oe={class:"form-tip"},ae={class:"form-tip"},se={class:"form-tip"},ne=j({__name:"uploads",setup(re){const I=w(!1),V=w(!1),A=w(),e=q({type:s.Local,AppId:"",Bucket:"",Region:"",AccessKeyId:"",AccessKeySecret:"",Domain:""}),b=H(()=>e.type===s.Aliyun||e.type===s.Tencent),v=(a,l,r)=>{b.value&&!l?r(new Error(a.message)):r()},T={type:[{required:!0,message:"请选择存储方式",trigger:"change"}],Bucket:[{validator:v,message:"请输入空间名称",trigger:"blur"}],Region:[{validator:v,message:"请输入地域",trigger:"blur"}],AccessKeyId:[{validator:v,message:"请输入AccessKeyId",trigger:"blur"}],AccessKeySecret:[{validator:v,message:"请输入AccessKeySecret",trigger:"blur"}],Domain:[{validator:v,message:"请输入请求域名",trigger:"blur"}]},U=()=>{var a;e.type===s.Local&&(e.AppId="",e.Bucket="",e.Region="",e.AccessKeyId="",e.AccessKeySecret="",e.Domain=""),(a=A.value)==null||a.clearValidate()},x=async()=>{var a;I.value=!0;try{const l=await Y();if((a=l.data)!=null&&a.value){const r=l.data.value;Object.assign(e,{type:r.type||s.Local,AppId:r.AppId||"",Bucket:r.Bucket||"",Region:r.Region||"",AccessKeyId:r.AccessKeyId||"",AccessKeySecret:r.AccessKeySecret||"",Domain:r.Domain||""})}}catch(l){k.error("加载配置失败"),console.error("加载配置失败:",l)}finally{I.value=!1}},h=async()=>{if(A.value){try{await A.value.validate()}catch{k.warning("请检查表单填写是否正确");return}V.value=!0;try{const a={type:e.type};b.value&&(e.type===s.Tencent&&(a.AppId=e.AppId),a.Bucket=e.Bucket,a.Region=e.Region,a.AccessKeyId=e.AccessKeyId,a.AccessKeySecret=e.AccessKeySecret,a.Domain=e.Domain),await Z(a),k.success("保存成功")}catch(a){k.error("保存失败"),console.error("保存配置失败:",a)}finally{V.value=!1}}};return J(()=>{x()}),(a,l)=>{const r=u("el-icon"),L=u("el-button"),B=u("el-divider"),D=u("el-radio"),N=u("el-radio-group"),y=u("el-form-item"),_=u("el-input"),g=u("el-col"),S=u("el-row"),z=u("el-alert"),E=u("el-form"),F=u("el-card"),M=G("loading");return i(),m("div",$,[P((i(),R(F,null,{header:o(()=>[p("div",ee,[l[8]||(l[8]=p("span",null,"上传配置",-1)),t(L,{type:"primary",loading:V.value,onClick:h},{default:o(()=>[t(r,null,{default:o(()=>[t(n(W))]),_:1}),l[7]||(l[7]=c("保存配置 ",-1))]),_:1},8,["loading"])])]),default:o(()=>[t(E,{ref_key:"formRef",ref:A,model:e,rules:T,"label-width":"140px",class:"config-form"},{default:o(()=>[t(B,{"content-position":"left"},{default:o(()=>[...l[9]||(l[9]=[c("存储类型",-1)])]),_:1}),t(y,{label:"存储方式",prop:"type"},{default:o(()=>[t(N,{modelValue:e.type,"onUpdate:modelValue":l[0]||(l[0]=d=>e.type=d),onChange:U},{default:o(()=>[t(D,{value:n(s).Local},{default:o(()=>[t(r,null,{default:o(()=>[t(n(Q))]),_:1}),l[10]||(l[10]=c(" 本地存储 ",-1))]),_:1},8,["value"]),t(D,{value:n(s).Aliyun},{default:o(()=>[t(r,null,{default:o(()=>[t(n(C))]),_:1}),l[11]||(l[11]=c(" 阿里云OSS ",-1))]),_:1},8,["value"]),t(D,{value:n(s).Tencent},{default:o(()=>[t(r,null,{default:o(()=>[t(n(C))]),_:1}),l[12]||(l[12]=c(" 腾讯云COS ",-1))]),_:1},8,["value"])]),_:1},8,["modelValue"]),p("div",le,[e.type===n(s).Local?(i(),m(f,{key:0},[c(" 文件将存储在服务器本地目录 ")],64)):e.type===n(s).Aliyun?(i(),m(f,{key:1},[c(" 文件将上传至阿里云对象存储服务(OSS) ")],64)):e.type===n(s).Tencent?(i(),m(f,{key:2},[c(" 文件将上传至腾讯云对象存储服务(COS) ")],64)):O("",!0)])]),_:1}),b.value?(i(),m(f,{key:0},[t(B,{"content-position":"left"},{default:o(()=>[c(K(e.type===n(s).Aliyun?"阿里云OSS配置":"腾讯云COS配置"),1)]),_:1}),e.type===n(s).Tencent?(i(),R(S,{key:0,gutter:24},{default:o(()=>[t(g,{span:12},{default:o(()=>[t(y,{label:"AppId",prop:"AppId"},{default:o(()=>[t(_,{modelValue:e.AppId,"onUpdate:modelValue":l[1]||(l[1]=d=>e.AppId=d),placeholder:"请输入腾讯云AppId",clearable:""},null,8,["modelValue"]),l[13]||(l[13]=p("div",{class:"form-tip"}," 腾讯云账号的AppId,可在控制台账号信息中查看 ",-1))]),_:1})]),_:1})]),_:1})):O("",!0),t(S,{gutter:24},{default:o(()=>[t(g,{span:12},{default:o(()=>[t(y,{label:"空间名称(Bucket)",prop:"Bucket"},{default:o(()=>[t(_,{modelValue:e.Bucket,"onUpdate:modelValue":l[2]||(l[2]=d=>e.Bucket=d),placeholder:"请输入Bucket名称",clearable:""},null,8,["modelValue"]),p("div",te,K(e.type===n(s).Aliyun?"阿里云OSS的Bucket名称":"腾讯云COS的Bucket名称"),1)]),_:1})]),_:1}),t(g,{span:12},{default:o(()=>[t(y,{label:"地域(Region)",prop:"Region"},{default:o(()=>[t(_,{modelValue:e.Region,"onUpdate:modelValue":l[3]||(l[3]=d=>e.Region=d),placeholder:"请输入地域",clearable:""},null,8,["modelValue"]),p("div",oe,[e.type===n(s).Aliyun?(i(),m(f,{key:0},[c(" 例如: oss-cn-hangzhou、oss-cn-shanghai ")],64)):(i(),m(f,{key:1},[c(" 例如: ap-guangzhou、ap-shanghai ")],64))])]),_:1})]),_:1})]),_:1}),t(S,{gutter:24},{default:o(()=>[t(g,{span:12},{default:o(()=>[t(y,{label:"AccessKeyId",prop:"AccessKeyId"},{default:o(()=>[t(_,{modelValue:e.AccessKeyId,"onUpdate:modelValue":l[4]||(l[4]=d=>e.AccessKeyId=d),placeholder:"请输入AccessKeyId",clearable:""},null,8,["modelValue"]),p("div",ae,K(e.type===n(s).Aliyun?"阿里云AccessKey ID":"腾讯云SecretId"),1)]),_:1})]),_:1}),t(g,{span:12},{default:o(()=>[t(y,{label:"AccessKeySecret",prop:"AccessKeySecret"},{default:o(()=>[t(_,{modelValue:e.AccessKeySecret,"onUpdate:modelValue":l[5]||(l[5]=d=>e.AccessKeySecret=d),placeholder:"请输入AccessKeySecret",type:"password","show-password":"",clearable:""},null,8,["modelValue"]),p("div",se,K(e.type===n(s).Aliyun?"阿里云AccessKey Secret":"腾讯云SecretKey"),1)]),_:1})]),_:1})]),_:1}),t(S,{gutter:24},{default:o(()=>[t(g,{span:24},{default:o(()=>[t(y,{label:"请求域名",prop:"Domain"},{default:o(()=>[t(_,{modelValue:e.Domain,"onUpdate:modelValue":l[6]||(l[6]=d=>e.Domain=d),placeholder:"请输入请求域名",clearable:""},null,8,["modelValue"]),l[14]||(l[14]=p("div",{class:"form-tip"}," 用于访问文件的域名,例如: https://your-bucket.oss-cn-hangzhou.aliyuncs.com ",-1))]),_:1})]),_:1})]),_:1})],64)):(i(),m(f,{key:1},[t(B,{"content-position":"left"},{default:o(()=>[...l[15]||(l[15]=[c("本地存储说明",-1)])]),_:1}),t(z,{title:"本地存储模式",type:"info",closable:!1,"show-icon":""},{default:o(()=>[...l[16]||(l[16]=[p("p",null,"使用本地存储时,文件将保存在服务器的本地目录中。",-1),p("p",null,"优点:配置简单,无需额外费用",-1),p("p",null,"缺点:不支持CDN加速,服务器迁移时需要同步文件",-1)])]),_:1})],64))]),_:1},8,["model"])]),_:1})),[[M,I.value]])])}}}),ce=X(ne,[["__scopeId","data-v-dbe73ee2"]]);export{ce as default};
|