diff --git a/components-diy/diy-card-common.js b/components-diy/diy-card-common.js index 7bffa30..5425a92 100644 --- a/components-diy/diy-card-common.js +++ b/components-diy/diy-card-common.js @@ -157,6 +157,11 @@ const ROW_ICONS = { email: 'icon-youxiang', mail: 'icon-youxiang', '邮箱': 'icon-youxiang', + // 网站/链接行(2026-10-22): 字库已有链条字形 icon-fuzhilianjie(\e03f), 直接复用 + website: 'icon-fuzhilianjie', + link: 'icon-fuzhilianjie', + url: 'icon-fuzhilianjie', + '网站': 'icon-fuzhilianjie', }; export function rowIconFor(field) { return ROW_ICONS[String(field || '')] || ''; diff --git a/tests/diy-card-ab-visual.test.js b/tests/diy-card-ab-visual.test.js index 16c419c..35bcb2c 100644 --- a/tests/diy-card-ab-visual.test.js +++ b/tests/diy-card-ab-visual.test.js @@ -47,8 +47,8 @@ test('common: rowIconFor 字段→图标映射(无字形字段退化为空)', as // 邮箱: 方案1(2026-10-22)预留 icon-youxiang, 需字库补充信封字形后方能显示, 多键名兜底 assert.equal(m.rowIconFor('email'), 'icon-youxiang'); assert.equal(m.rowIconFor('mail'), 'icon-youxiang'); - // 仍无字形: 网站/自定义/未知 → 空串(模板退化为文字标签) - assert.equal(m.rowIconFor('website'), ''); + // 网站(2026-10-22): 复用链条字形 icon-fuzhilianjie; 自定义/未知 → 空串(退化为文字标签) + assert.equal(m.rowIconFor('website'), 'icon-fuzhilianjie'); assert.equal(m.rowIconFor('custom'), ''); assert.equal(m.rowIconFor(''), ''); assert.equal(m.rowIconFor(undefined), ''); diff --git a/tests/diy-card-qr-style.test.js b/tests/diy-card-qr-style.test.js index 062a1ad..5a43aba 100644 --- a/tests/diy-card-qr-style.test.js +++ b/tests/diy-card-qr-style.test.js @@ -102,8 +102,10 @@ test('common: rowIconFor 资料行图标字段映射(含方案1邮箱预留 icon assert.equal(m.rowIconFor('email'), 'icon-youxiang'); assert.equal(m.rowIconFor('mail'), 'icon-youxiang'); assert.equal(m.rowIconFor('邮箱'), 'icon-youxiang'); - // 网站/自定义等仍无字形(退化文字标签) - assert.equal(m.rowIconFor('website'), ''); + // 网站(2026-10-22): 复用字库现成链条字形 icon-fuzhilianjie, 多键名兜底 + assert.equal(m.rowIconFor('website'), 'icon-fuzhilianjie'); + assert.equal(m.rowIconFor('link'), 'icon-fuzhilianjie'); + assert.equal(m.rowIconFor('网站'), 'icon-fuzhilianjie'); assert.equal(m.rowIconFor('custom'), ''); assert.equal(m.rowIconFor(''), ''); });