Pre Merge pull request !778 from 王祁/master

pull/778/MERGE
王祁 2025-05-23 04:58:32 +00:00 committed by Gitee
commit 0fb88dd794
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 32 additions and 5 deletions

View File

@ -12,7 +12,9 @@ export interface FileClientConfig {
accessKey?: string accessKey?: string
accessSecret?: string accessSecret?: string
enablePathStyleAccess?: boolean enablePathStyleAccess?: boolean
domain: string domain: string,
relativePathPrefix?: string,
useRelativePath: boolean
} }
export interface FileConfigVO { export interface FileConfigVO {

View File

@ -94,11 +94,23 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 通用 --> <!-- 通用 -->
<el-form-item v-if="formData.storage === 20" label="自定义域名"> <el-form-item
label="使用相对路径"
prop="config.useRelativePath"
>
<el-radio-group v-model="formData.config.useRelativePath">
<el-radio key="true" :value="true"></el-radio>
<el-radio key="false" :value="false"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="formData.config.useRelativePath" label="相对路径前缀" prop="config.relativePathPrefix">
<el-input v-model="formData.config.relativePathPrefix" placeholder="请输入相对路径前缀 默认 /file " />
</el-form-item>
<el-form-item v-if="formData.storage === 20 && !formData.config.useRelativePath" label="自定义域名">
<!-- 无需参数校验所以去掉 prop --> <!-- 无需参数校验所以去掉 prop -->
<el-input v-model="formData.config.domain" placeholder="请输入自定义域名" /> <el-input v-model="formData.config.domain" placeholder="请输入自定义域名" />
</el-form-item> </el-form-item>
<el-form-item v-else-if="formData.storage" label="自定义域名" prop="config.domain"> <el-form-item v-else-if="formData.storage && !formData.config.useRelativePath" label="自定义域名" prop="config.domain">
<el-input v-model="formData.config.domain" placeholder="请输入自定义域名" /> <el-input v-model="formData.config.domain" placeholder="请输入自定义域名" />
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -127,7 +139,9 @@ const formData = ref({
name: '', name: '',
storage: 0, storage: 0,
remark: '', remark: '',
config: {} as FileConfigApi.FileClientConfig config: {
useRelativePath: false //
} as FileConfigApi.FileClientConfig
}) })
const formRules = reactive<FormRules>({ const formRules = reactive<FormRules>({
name: [{ required: true, message: '配置名不能为空', trigger: 'blur' }], name: [{ required: true, message: '配置名不能为空', trigger: 'blur' }],
@ -143,6 +157,7 @@ const formRules = reactive<FormRules>({
bucket: [{ required: true, message: '存储 bucket 不能为空', trigger: 'blur' }], bucket: [{ required: true, message: '存储 bucket 不能为空', trigger: 'blur' }],
accessKey: [{ required: true, message: 'accessKey 不能为空', trigger: 'blur' }], accessKey: [{ required: true, message: 'accessKey 不能为空', trigger: 'blur' }],
accessSecret: [{ required: true, message: 'accessSecret 不能为空', trigger: 'blur' }], accessSecret: [{ required: true, message: 'accessSecret 不能为空', trigger: 'blur' }],
useRelativePath: [{ required: true, message: '是否使用相对路径不能为空', trigger: 'change'}],
enablePathStyleAccess: [ enablePathStyleAccess: [
{ required: true, message: '是否 PathStyle 访问不能为空', trigger: 'change' } { required: true, message: '是否 PathStyle 访问不能为空', trigger: 'change' }
], ],
@ -202,7 +217,9 @@ const resetForm = () => {
name: '', name: '',
storage: undefined!, storage: undefined!,
remark: '', remark: '',
config: {} as FileConfigApi.FileClientConfig config: {
useRelativePath: false //
} as FileConfigApi.FileClientConfig
} }
formRef.value?.resetFields() formRef.value?.resetFields()
} }

View File

@ -37,6 +37,14 @@ export default ({command, mode}: ConfigEnv): UserConfig => {
// rewrite: (path) => path.replace(new RegExp(`^/admin-api`), ''), // rewrite: (path) => path.replace(new RegExp(`^/admin-api`), ''),
// }, // },
// }, // },
proxy: {
['/file']: {
target: env.VITE_BASE_URL,
ws: false,
changeOrigin: true,
rewrite: (path) => path.replace(new RegExp(`^/file`), ''),
},
},
}, },
// 项目使用的vite插件。 单独提取到build/vite/plugin中管理 // 项目使用的vite插件。 单独提取到build/vite/plugin中管理
plugins: createVitePlugins(), plugins: createVitePlugins(),