模型管理v2:系统模型填 API Key 转用户模型时透传 priceConfig 等4个业务字段

后端在返回的模型信息中携带 requestBusinessFieldMapping/responseBusinessFieldMapping/minDuration/priceConfig,
首页两处提交链路(SessionModelSetter、TemplateCompleteDialog)此前遗漏未传,现从模型对象原样透传。

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-08-21 14:57:44 +08:00
co-authored by Claude
parent c441ccec94
commit e596c9b5ae
3 changed files with 13 additions and 0 deletions
+5
View File
@@ -60,6 +60,7 @@ export interface ModelManageItem {
responseBodyMapping: Record<string, string>;
responseBusinessFieldMapping?: Record<string, string>;
minDuration?: number;
priceConfig?: unknown;
tokenMapping?: TokenMapping;
asyncTaskMapping?: AsyncTaskMapping;
lastFrame?: string;
@@ -171,9 +172,13 @@ export interface CreateModelManageParams {
tokenPredictPrice?: number;
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>;
minDuration?: number;
priceConfig?: unknown;
tokenMapping?: TokenMapping;
asyncTaskMapping?: AsyncTaskMapping;
lastFrame?: string;
@@ -314,13 +314,17 @@ const buildFullPayload = (model: ModelManageItem, apiKeyVal: string): UpdateMode
tokenPredictPrice: model.tokenPredictPrice,
requestHeadMapping: safeObj(model.requestHeadMapping),
requestBodyMapping: safeObj(model.requestBodyMapping),
requestBusinessFieldMapping: model.requestBusinessFieldMapping,
responseMapping: safeObj(model.responseMapping),
responseBodyMapping: (safeObj(model.responseBodyMapping) as Record<string, string>) || undefined,
responseBusinessFieldMapping: model.responseBusinessFieldMapping,
tokenMapping: model.tokenMapping,
asyncTaskMapping: model.asyncTaskMapping,
lastFrame: model.lastFrame || '',
maxDuration: model.maxDuration,
minDuration: model.minDuration,
tokenPredictPriceUnit: model.tokenPredictPriceUnit || '',
priceConfig: model.priceConfig,
};
};
@@ -227,8 +227,12 @@ const convertSystemModel = async (node: any) => {
tokenPredictPrice: src.tokenPredictPrice,
requestHeadMapping: src.requestHeadMapping ?? src.requestMapping,
requestBodyMapping: src.requestBodyMapping,
requestBusinessFieldMapping: src.requestBusinessFieldMapping,
responseMapping: src.responseMapping,
responseBodyMapping: src.responseBodyMapping,
responseBusinessFieldMapping: src.responseBusinessFieldMapping,
minDuration: src.minDuration,
priceConfig: src.priceConfig,
...(src.tokenMapping ? { tokenMapping: src.tokenMapping } : {}),
...(src.asyncTaskMapping ? { asyncTaskMapping: src.asyncTaskMapping } : {}),
...(src.lastFrame ? { lastFrame: src.lastFrame } : {}),