模型管理v2:映射配置新增错误消息映射字段,重排映射配置分区为四列均分
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -55,6 +55,7 @@ export interface ModelManageItem {
|
||||
requestHeadMapping: Record<string, unknown>;
|
||||
requestBodyMapping: Record<string, unknown>;
|
||||
requestBusinessFieldMapping?: Record<string, string>;
|
||||
error_message_mapping?: Record<string, unknown>;
|
||||
responseMapping: Record<string, unknown>;
|
||||
responseBodyMapping: Record<string, string>;
|
||||
responseBusinessFieldMapping?: Record<string, string>;
|
||||
@@ -170,6 +171,7 @@ export interface CreateModelManageParams {
|
||||
tokenPredictPrice?: number;
|
||||
requestHeadMapping?: Record<string, unknown>;
|
||||
requestBodyMapping?: Record<string, unknown>;
|
||||
error_message_mapping?: Record<string, unknown>;
|
||||
responseMapping?: Record<string, unknown>;
|
||||
responseBodyMapping?: Record<string, string>;
|
||||
tokenMapping?: TokenMapping;
|
||||
|
||||
@@ -113,21 +113,28 @@
|
||||
<KeyValueEditor v-model="formData.requestHeadMapping" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8" class="mb20">
|
||||
<el-col :xs="24" :sm="6" :md="6" :lg="6" :xl="6" class="mb20">
|
||||
<el-form-item label="请求体映射">
|
||||
<el-button @click="openMappingEditor('requestBodyMapping')" style="width: 100%">
|
||||
配置 ({{ Object.keys(formData.requestBodyMapping).length }})
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8" class="mb20">
|
||||
<el-col :xs="24" :sm="6" :md="6" :lg="6" :xl="6" class="mb20">
|
||||
<el-form-item label="响应映射">
|
||||
<el-button @click="openMappingEditor('responseMapping')" style="width: 100%">
|
||||
配置 ({{ Object.keys(formData.responseMapping).length }})
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8" class="mb20" v-if="formData.responseType !== 2">
|
||||
<el-col :xs="24" :sm="6" :md="6" :lg="6" :xl="6" class="mb20">
|
||||
<el-form-item label="错误消息映射">
|
||||
<el-button @click="openMappingEditor('error_message_mapping')" style="width: 100%">
|
||||
配置 ({{ Object.keys(formData.error_message_mapping || {}).length }})
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="6" :md="6" :lg="6" :xl="6" class="mb20" v-if="formData.responseType !== 2">
|
||||
<el-form-item label="响应主体映射">
|
||||
<el-select
|
||||
v-model="formData.responseBodyMapping"
|
||||
@@ -421,6 +428,7 @@ const formData = reactive({
|
||||
// 映射
|
||||
requestHeadMapping: {} as Record<string, unknown>,
|
||||
requestBodyMapping: {} as Record<string, unknown>,
|
||||
error_message_mapping: {} as Record<string, unknown>,
|
||||
responseMapping: {} as Record<string, unknown>,
|
||||
responseBodyMapping: [] as string[],
|
||||
// Token 映射
|
||||
@@ -563,6 +571,7 @@ const mappingFieldLabels: Record<string, string> = {
|
||||
requestHeadMapping: '请求头映射',
|
||||
requestBodyMapping: '请求体映射',
|
||||
responseMapping: '响应映射',
|
||||
error_message_mapping: '错误消息映射',
|
||||
asyncResponseMapping: '异步-响应映射',
|
||||
asyncRequestBodyMapping: '异步-请求体映射',
|
||||
};
|
||||
@@ -659,6 +668,7 @@ const resetForm = () => {
|
||||
formData.tokenPredictPrice = 0;
|
||||
formData.requestHeadMapping = {};
|
||||
formData.requestBodyMapping = {};
|
||||
formData.error_message_mapping = {};
|
||||
formData.responseMapping = {};
|
||||
formData.responseBodyMapping = [];
|
||||
formData.tokenMapping = { ...defaultTokenMapping };
|
||||
@@ -692,6 +702,7 @@ const openDialog = async (type: 'add' | 'edit', id?: string) => {
|
||||
formData.tokenPredictPrice = row.tokenPredictPrice ?? 0;
|
||||
formData.requestHeadMapping = row.requestHeadMapping || row.requestMapping || {};
|
||||
formData.requestBodyMapping = row.requestBodyMapping || {};
|
||||
formData.error_message_mapping = row.error_message_mapping || {};
|
||||
formData.responseMapping = row.responseMapping || {};
|
||||
formData.responseBodyMapping = row.responseBodyMapping
|
||||
? (Array.isArray(row.responseBodyMapping) ? row.responseBodyMapping : Object.keys(row.responseBodyMapping))
|
||||
@@ -742,6 +753,7 @@ const handleSubmit = async () => {
|
||||
tokenPredictPrice: formData.tokenPredictPrice,
|
||||
requestHeadMapping: Object.keys(formData.requestHeadMapping).length > 0 ? formData.requestHeadMapping : undefined,
|
||||
requestBodyMapping: Object.keys(formData.requestBodyMapping).length > 0 ? formData.requestBodyMapping : undefined,
|
||||
error_message_mapping: Object.keys(formData.error_message_mapping).length > 0 ? formData.error_message_mapping : undefined,
|
||||
responseMapping: Object.keys(formData.responseMapping).length > 0 ? formData.responseMapping : undefined,
|
||||
responseBodyMapping: formData.responseBodyMapping.length > 0
|
||||
? Object.fromEntries(formData.responseBodyMapping.map(k => [k, '']))
|
||||
|
||||
Reference in New Issue
Block a user