diff --git a/src/views/digitalHuman/modelConfig/modelModule/component/editModule.vue b/src/views/digitalHuman/modelConfig/modelModule/component/editModule.vue index 894f895..9c96a86 100644 --- a/src/views/digitalHuman/modelConfig/modelModule/component/editModule.vue +++ b/src/views/digitalHuman/modelConfig/modelModule/component/editModule.vue @@ -17,7 +17,7 @@ - + @@ -47,7 +47,7 @@ - + @@ -313,6 +313,28 @@ const state = reactive({ ], baseUrl: [{ required: true, message: '请输入模型服务地址', trigger: 'blur' }], httpMethod: [{ required: true, message: '请选择请求方式', trigger: 'change' }], + apiKey: [ + { + validator: (_rule: unknown, value: unknown, callback: (e?: Error) => void) => { + // 管理员不需要验证 apiKey + if (props.isSuperAdmin) { + callback(); + return; + } + // 普通用户:如果是服务商模型(isPrivate = 1),apiKey 必填 + if (state.ruleForm.isPrivate === 1) { + if (!value || String(value).trim() === '') { + callback(new Error('服务商模型必须输入 API 密钥')); + } else { + callback(); + } + } else { + callback(); + } + }, + trigger: 'blur', + }, + ], maxConcurrency: [{ required: true, message: '请输入最大并发数', trigger: 'blur' }], queueLimit: [{ required: true, message: '请输入排队队列上限', trigger: 'blur' }], timeoutSeconds: [{ required: true, message: '请输入请求超时时间', trigger: 'blur' }], @@ -751,3 +773,7 @@ defineExpose({ color: #606266; } + + + +