2 lines
7.1 KiB
JavaScript
2 lines
7.1 KiB
JavaScript
import{d as O,r as R,a as j,v as h,o as z,g as n,B as M,c as C,k as c,e as a,C as T,w as o,b as s,z as b,G as v,l as g,al as F,am as P,t as u,F as G,an as H,s as J,M as L,E as p,_ as Q}from"./index--iRObIPT.js";import{c as W,d as X,t as Y}from"./config-BiAueYd0.js";const Z={class:"upload-config-container"},$={class:"storage-option"},ee={class:"storage-option"},ae=O({__name:"upload",setup(te){const y=R(),t=j({loading:!1,saving:!1,testing:!1,formData:{type:"1",appId:"",bucket:"",region:"",accessKeyId:"",accessKeySecret:"",domain:""}}),S=h(()=>{const l={type:[{required:!0,message:"请选择存储类型",trigger:"change"}]};return t.formData.type==="3"&&(l.appId=[{required:!0,message:"请输入AppId",trigger:"blur"}],l.accessKeyId=[{required:!0,message:"请输入SecretId",trigger:"blur"}],l.accessKeySecret=[{required:!0,message:"请输入SecretKey",trigger:"blur"}],l.bucket=[{required:!0,message:"请输入存储桶名称",trigger:"blur"}],l.region=[{required:!0,message:"请选择地域",trigger:"change"}],l.domain=[{required:!0,message:"请输入访问域名",trigger:"blur"}]),l});async function D(){t.loading=!0;try{const l=await W();l.code===0&&l.data&&(t.formData={type:l.data.type||"1",appId:l.data.appId||"",bucket:l.data.bucket||"",region:l.data.region||"",accessKeyId:l.data.accessKeyId||"",accessKeySecret:l.data.accessKeySecret||"",domain:l.data.domain||""})}catch{p.error("获取配置失败")}finally{t.loading=!1}}function K(){var l;(l=y.value)==null||l.clearValidate()}async function w(){if(y.value){try{await y.value.validate()}catch{return}t.saving=!0;try{const l=await X(t.formData);if(l.code===0)p.success("配置保存成功");else throw new Error(l.message||"保存失败")}catch(l){const e=l instanceof Error?l.message:"保存失败";p.error(e)}finally{t.saving=!1}}}function U(){D()}function q(){if(!t.formData.accessKeyId||!t.formData.accessKeySecret||!t.formData.bucket||!t.formData.region){p.warning("请先填写完整的COS配置信息");return}t.testing=!0,Y(t.formData).then(l=>{l.code===0?p.success(l.message||"连接成功"):p.error(l.message||"连接失败")}).catch(()=>{p.error("连接测试请求失败")}).finally(()=>{t.testing=!1})}return z(()=>{D()}),(l,e)=>{const I=n("el-card"),m=n("el-icon"),V=n("el-radio"),A=n("el-radio-group"),d=n("el-form-item"),k=n("el-alert"),x=n("el-divider"),f=n("el-input"),i=n("el-option"),N=n("el-select"),_=n("el-button"),B=n("el-form"),E=M("loading");return c(),C("div",Z,[a(I,{class:"page-header"},{default:o(()=>[...e[7]||(e[7]=[s("div",{class:"header-content"},[s("h2",{class:"page-title"},"上传配置"),s("span",{class:"page-description"},"配置文件上传存储方式,支持本地存储和腾讯云COS")],-1)])]),_:1}),T((c(),b(I,{class:"config-form-card"},{default:o(()=>[a(B,{ref_key:"formRef",ref:y,model:t.formData,rules:S.value,"label-width":"140px","label-position":"right"},{default:o(()=>[a(d,{label:"存储类型",prop:"type"},{default:o(()=>[a(A,{modelValue:t.formData.type,"onUpdate:modelValue":e[0]||(e[0]=r=>t.formData.type=r),onChange:K},{default:o(()=>[a(V,{value:"1"},{default:o(()=>[s("div",$,[a(m,null,{default:o(()=>[a(g(F))]),_:1}),e[8]||(e[8]=s("span",null,"本地存储",-1))])]),_:1}),a(V,{value:"3"},{default:o(()=>[s("div",ee,[a(m,null,{default:o(()=>[a(g(P))]),_:1}),e[9]||(e[9]=s("span",null,"腾讯云COS",-1))])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t.formData.type==="1"?(c(),b(k,{key:0,title:"本地存储说明",type:"info",closable:!1,"show-icon":"",class:"storage-tip"},{default:o(()=>[...e[10]||(e[10]=[u(" 文件将存储在服务器本地 uploads 目录,适合小型项目或测试环境。 ",-1)])]),_:1})):v("",!0),t.formData.type==="3"?(c(),C(G,{key:1},[a(x,{"content-position":"left"},{default:o(()=>[...e[11]||(e[11]=[u("腾讯云COS配置",-1)])]),_:1}),a(k,{title:"配置说明",type:"warning",closable:!1,"show-icon":"",class:"storage-tip"},{default:o(()=>[...e[12]||(e[12]=[u(" 请前往腾讯云控制台获取相关配置信息。确保存储桶已开启跨域访问(CORS)。 ",-1)])]),_:1}),a(d,{label:"AppId",prop:"appId"},{default:o(()=>[a(f,{modelValue:t.formData.appId,"onUpdate:modelValue":e[1]||(e[1]=r=>t.formData.appId=r),placeholder:"请输入腾讯云AppId",clearable:""},null,8,["modelValue"]),e[13]||(e[13]=s("div",{class:"form-item-tip"},"腾讯云账号的AppId,可在账号信息中查看",-1))]),_:1}),a(d,{label:"SecretId",prop:"accessKeyId"},{default:o(()=>[a(f,{modelValue:t.formData.accessKeyId,"onUpdate:modelValue":e[2]||(e[2]=r=>t.formData.accessKeyId=r),placeholder:"请输入SecretId",clearable:""},null,8,["modelValue"]),e[14]||(e[14]=s("div",{class:"form-item-tip"},"API密钥的SecretId",-1))]),_:1}),a(d,{label:"SecretKey",prop:"accessKeySecret"},{default:o(()=>[a(f,{modelValue:t.formData.accessKeySecret,"onUpdate:modelValue":e[3]||(e[3]=r=>t.formData.accessKeySecret=r),placeholder:"请输入SecretKey",type:"password","show-password":"",clearable:""},null,8,["modelValue"]),e[15]||(e[15]=s("div",{class:"form-item-tip"},"API密钥的SecretKey,请妥善保管",-1))]),_:1}),a(d,{label:"存储桶名称",prop:"bucket"},{default:o(()=>[a(f,{modelValue:t.formData.bucket,"onUpdate:modelValue":e[4]||(e[4]=r=>t.formData.bucket=r),placeholder:"请输入存储桶名称,如 my-bucket-1250000000",clearable:""},null,8,["modelValue"]),e[16]||(e[16]=s("div",{class:"form-item-tip"},"完整的存储桶名称,包含AppId后缀",-1))]),_:1}),a(d,{label:"地域",prop:"region"},{default:o(()=>[a(N,{modelValue:t.formData.region,"onUpdate:modelValue":e[5]||(e[5]=r=>t.formData.region=r),placeholder:"请选择地域",clearable:""},{default:o(()=>[a(i,{label:"北京 (ap-beijing)",value:"ap-beijing"}),a(i,{label:"上海 (ap-shanghai)",value:"ap-shanghai"}),a(i,{label:"广州 (ap-guangzhou)",value:"ap-guangzhou"}),a(i,{label:"成都 (ap-chengdu)",value:"ap-chengdu"}),a(i,{label:"重庆 (ap-chongqing)",value:"ap-chongqing"}),a(i,{label:"南京 (ap-nanjing)",value:"ap-nanjing"}),a(i,{label:"香港 (ap-hongkong)",value:"ap-hongkong"}),a(i,{label:"新加坡 (ap-singapore)",value:"ap-singapore"})]),_:1},8,["modelValue"]),e[17]||(e[17]=s("div",{class:"form-item-tip"},"存储桶所在地域",-1))]),_:1}),a(d,{label:"访问域名",prop:"domain"},{default:o(()=>[a(f,{modelValue:t.formData.domain,"onUpdate:modelValue":e[6]||(e[6]=r=>t.formData.domain=r),placeholder:"请输入CDN加速域名或存储桶域名",clearable:""},{prepend:o(()=>[...e[18]||(e[18]=[u("https://",-1)])]),_:1},8,["modelValue"]),e[19]||(e[19]=s("div",{class:"form-item-tip"},"用于访问文件的域名,可使用CDN加速域名",-1))]),_:1})],64)):v("",!0),a(d,null,{default:o(()=>[a(_,{type:"primary",loading:t.saving,onClick:w},{default:o(()=>[a(m,null,{default:o(()=>[a(g(H))]),_:1}),e[20]||(e[20]=u(" 保存配置 ",-1))]),_:1},8,["loading"]),a(_,{onClick:U},{default:o(()=>[a(m,null,{default:o(()=>[a(g(J))]),_:1}),e[21]||(e[21]=u(" 重置 ",-1))]),_:1}),t.formData.type==="3"?(c(),b(_,{key:0,loading:t.testing,onClick:q},{default:o(()=>[a(m,null,{default:o(()=>[a(g(L))]),_:1}),e[22]||(e[22]=u(" 测试连接 ",-1))]),_:1},8,["loading"])):v("",!0)]),_:1})]),_:1},8,["model","rules"])]),_:1})),[[E,t.loading]])])}}}),re=Q(ae,[["__scopeId","data-v-86d345d6"]]);export{re as default};
|