mi-assessment/server/MiAssessment/src/MiAssessment.Admin/wwwroot/assets/upload-CrIZT_D4.js
2026-03-18 00:44:46 +08:00

2 lines
7.1 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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,ao as F,ap as P,t as u,F as G,aq as H,s as J,M as L,E as p,_ as Q}from"./index-am9Ebq4Q.js";import{c as W,d as X,t as Y}from"./config-9Hz-8WgS.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 q(){D()}function U(){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:q},{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:U},{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};