From 928fae8352667f86cb1a84f8bc9d13289e93c7d1 Mon Sep 17 00:00:00 2001 From: selfrelease Date: Tue, 1 Sep 2026 10:17:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20MyProfile=20key=5Ffacts=E5=80=BC?= =?UTF-8?q?=E9=9D=9E=E5=AD=97=E7=AC=A6=E4=B8=B2=E6=97=B6toLowerCase?= =?UTF-8?q?=E5=B4=A9=E6=BA=83,=E5=8A=A0String()=E4=BF=9D=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web2/src/pages/MyProfile.tsx | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/web2/src/pages/MyProfile.tsx b/web2/src/pages/MyProfile.tsx index b74a931..31d74a3 100644 --- a/web2/src/pages/MyProfile.tsx +++ b/web2/src/pages/MyProfile.tsx @@ -359,7 +359,7 @@ const PROFILE_FACT_KEYS = new Set([ /** 判断 key 属于画像特征还是个案事实 */ function isProfileFact(key: string): boolean { - return PROFILE_FACT_KEYS.has(key.toLowerCase()) + return PROFILE_FACT_KEYS.has(String(key).toLowerCase()) } @@ -396,30 +396,34 @@ const TOPIC_LABELS: Record = { /** 翻译常问话题 */ function translateTopic(topic: string): string { - const lower = topic.toLowerCase().trim() - return TOPIC_LABELS[lower] || topic + const t = String(topic) + const lower = t.toLowerCase().trim() + return TOPIC_LABELS[lower] || t } /** 格式化字段值 */ function formatValue(key: string, value: string): string { - if (key === 'company_size') return SIZE_LABELS[value] || value - if (key === 'risk_tolerance') return RISK_LABELS[value] || value - if (key === 'role') return ROLE_LABELS[value] || value - if (key === 'decision_style') return DECISION_STYLE_LABELS[value] || value - if (key === 'communication_style') return COMMUNICATION_STYLE_LABELS[value] || value - if (key === 'industry') return INDUSTRY_LABELS[value] || value - return value + const v = String(value) + if (key === 'company_size') return SIZE_LABELS[v] || v + if (key === 'risk_tolerance') return RISK_LABELS[v] || v + if (key === 'role') return ROLE_LABELS[v] || v + if (key === 'decision_style') return DECISION_STYLE_LABELS[v] || v + if (key === 'communication_style') return COMMUNICATION_STYLE_LABELS[v] || v + if (key === 'industry') return INDUSTRY_LABELS[v] || v + return v } /** 翻译 key_facts 的 key */ function translateFactKey(key: string): string { - return KEY_FACT_LABELS[key.toLowerCase()] || key + const k = String(key).toLowerCase() + return KEY_FACT_LABELS[k] || String(key) } /** 翻译 key_facts 的值 */ function translateFactValue(value: string): string { - const lower = value.toLowerCase().trim() - return KEY_FACT_VALUE_LABELS[lower] || value + const v = String(value) + const lower = v.toLowerCase().trim() + return KEY_FACT_VALUE_LABELS[lower] || v } export function MyProfile() {