fix: processFieldName handles object fields ({name, multi_entity}) format

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-24 21:11:04 +08:00
parent d226ada0fe
commit 64893e7dad
+9 -7
View File
@@ -10,20 +10,22 @@ dayjs.extend(utc);
* 处理字段名,去除类型后缀 * 处理字段名,去除类型后缀
* 例如: "字段名_类型" -> "字段名" * 例如: "字段名_类型" -> "字段名"
*/ */
export function processFieldName(field: string): string { export function processFieldName(field: string | { name: string; [key: string]: unknown }): string {
if (field.includes('_')) { const name = typeof field === 'string' ? field : (field?.name || '');
return field.split('_')[0]; // 只保留类型前面的字段名 if (name.includes('_')) {
return name.split('_')[0]; // 只保留类型前面的字段名
} }
return field; return name;
} }
/** /**
* 处理字段数组,去除类型后缀并去重 * 处理字段数组,去除类型后缀并去重
* 支持字符串和 {name, multi_entity} 对象格式
*/ */
export function processFieldNames(fields: string[]): string[] { export function processFieldNames(fields: (string | { name: string; [key: string]: unknown })[]): string[] {
// 处理字段,去掉类型后缀 // 处理字段,去掉类型后缀
const processedFields = fields.map(processFieldName); const processedFields = fields.map(processFieldName).filter(Boolean);
// 去重并返回 // 去重并返回
return [...new Set(processedFields)]; return [...new Set(processedFields)];
} }