fix(card): 修复微官网图片404与中文字符集编码问题,增加no-referrer防盗链支持

这个提交包含在:
wikiboss
2026-09-23 11:56:30 +08:00
父节点 b442179b58
当前提交 2738c4b8db
共有 4 个文件被更改,包括 224 次插入 和 207 次删除

查看文件

@@ -31,7 +31,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
title: 'VP of Global Expansion',
company: 'OmniCard Global Inc.',
slogan: 'Empowering Global Hardware Brands with Next-Gen Intelligence',
avatarUrl: 'https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d.jpg?auto=format&fit=crop&w=600&h=600&q=80',
avatarUrl: 'https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?auto=format&fit=crop&w=600&h=600&q=80',
phone: '+8613800138001',
email: 'alex.zheng@omnicard.ai',
whatsapp: '+8613800138001',
@@ -55,7 +55,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 1,
title: '关于我与 OmniCard 国际化版图',
content: '专注全球物联网与智能硬件生态 12 年,深度连接亚太精密制造供应链与欧美中东主流渠道。已主导 20+ 款消费电子高精尖硬件跨国发布,累计出货超 300 万台。',
mediaUrl: 'https://images.unsplash.com/photo-1497366216548-37526070297c.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1497366216548-37526070297c?auto=format&fit=crop&w=800&q=80',
status: 1,
},
{
@@ -67,11 +67,11 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 2,
title: 'OmniCard Next 旗舰实体卡实机开箱演示',
content: '超精密航空级阳极氧化铝雕刻,内置双频高灵敏 NFC 芯片与动态射频天线,触卡 0.3 秒直达微官网。',
mediaUrl: 'https://images.unsplash.com/photo-1519389950473-47ba0277781c.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1519389950473-47ba0277781c?auto=format&fit=crop&w=800&q=80',
linkUrl: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4',
metaJson: {
videoUrl: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4',
poster: 'https://images.unsplash.com/photo-1519389950473-47ba0277781c.jpg?auto=format&fit=crop&w=800&q=80',
poster: 'https://images.unsplash.com/photo-1519389950473-47ba0277781c?auto=format&fit=crop&w=800&q=80',
duration: '01:28',
aspectRatio: '16:9',
title: 'OmniCard Next 硬件工艺与触卡交互实景',
@@ -87,12 +87,12 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 3,
title: 'GITEX 迪拜展数字化留资',
content: '实现 10,000+ 国际买家 0.5 秒即时触卡交互,展会线索转化率较传统名片提升 320%。',
mediaUrl: 'https://images.unsplash.com/photo-1511578314322-379afb476865.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1511578314322-379afb476865?auto=format&fit=crop&w=800&q=80',
metaJson: {
images: [
'https://images.unsplash.com/photo-1511578314322-379afb476865.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1540575467063-178a50c2df87.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1497366216548-37526070297c.jpg?auto=format&fit=crop&w=800&q=80'
'https://images.unsplash.com/photo-1511578314322-379afb476865?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1540575467063-178a50c2df87?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1497366216548-37526070297c?auto=format&fit=crop&w=800&q=80'
],
kpis: [
{ label: '现场触卡次数', value: '12,500+ 次' },
@@ -110,7 +110,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 4,
title: '2026 全球智能硬件合规白皮书',
content: '深度解读 CE/FCC/KC 认证新规与国际电池环保政策,助力中国高精尖硬件顺畅出海。',
mediaUrl: 'https://images.unsplash.com/photo-1451187580459-43490279c0fa.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1451187580459-43490279c0fa?auto=format&fit=crop&w=800&q=80',
status: 1,
},
{
@@ -145,15 +145,15 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
client: 'OmniCard Hardware Lab',
duration: '2025.06 - 2026.01',
metrics: '触卡 0.3 秒即达,感应距离 3-5cm,首发预定突破 50,000 张',
coverImage: 'https://images.unsplash.com/photo-1550751827-4bd374c3f58b.jpg?auto=format&fit=crop&w=800&q=80',
coverImage: 'https://images.unsplash.com/photo-1550751827-4bd374c3f58b?auto=format&fit=crop&w=800&q=80',
pdfUrl: 'https://cdn.omnicard.ai/cases/omnicard-next-spec.pdf',
description: '由航空级阳极氧化铝与超微激光打标技术精雕细琢,内置双频高敏天线与防克隆动态芯片,打造极具质感的物理商务触点。',
metaJson: {
images: [
'https://images.unsplash.com/photo-1550751827-4bd374c3f58b.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1526374965328-7f61d4dc18c5.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1519389950473-47ba0277781c.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1581091226825-a6a2a5aee158.jpg?auto=format&fit=crop&w=800&q=80'
'https://images.unsplash.com/photo-1550751827-4bd374c3f58b?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1526374965328-7f61d4dc18c5?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1519389950473-47ba0277781c?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1581091226825-a6a2a5aee158?auto=format&fit=crop&w=800&q=80'
],
industry: '消费电子 / 智能物联网',
region: '亚太与欧美全球交付',
@@ -174,14 +174,14 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
client: '阿联酋国际商业联合会',
duration: '2025.10 - 2025.11',
metrics: '触卡 12,500+ 次,沉淀高意向商业线索 890 条,获客转化提升 320%',
coverImage: 'https://images.unsplash.com/photo-1511578314322-379afb476865.jpg?auto=format&fit=crop&w=800&q=80',
coverImage: 'https://images.unsplash.com/photo-1511578314322-379afb476865?auto=format&fit=crop&w=800&q=80',
pdfUrl: 'https://cdn.omnicard.ai/cases/gitex-2025-report.pdf',
description: '为 48 家国际参展代表团统一配置智能名片与雷达跟进中枢,完成全程数字化展会获客与私域沉淀。',
metaJson: {
images: [
'https://images.unsplash.com/photo-1511578314322-379afb476865.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1540575467063-178a50c2df87.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1497366216548-37526070297c.jpg?auto=format&fit=crop&w=800&q=80'
'https://images.unsplash.com/photo-1511578314322-379afb476865?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1540575467063-178a50c2df87?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1497366216548-37526070297c?auto=format&fit=crop&w=800&q=80'
],
industry: '跨国展会 / 国际贸易',
region: '中东迪拜',
@@ -202,7 +202,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
title: '智能硬件全球化新范式:从单品突围到全域生态触达',
summary: '探讨如何结合 NFC 物理触碰与端侧微官网技术,在国际展会和高端商务洽谈中建立第一分钟深度信任。',
content: '在全球消费电子产业加速演进的今天,传统的纸质物料正在迅速被具备实时交互能力的数字名片和微官网替代。通过 NFC 极速交互与访客雷达意向追踪,硬件出海企业能够将每次面对面握手转变为可长期沉淀的高价值商机资产...',
coverImage: 'https://images.unsplash.com/photo-1451187580459-43490279c0fa.jpg?auto=format&fit=crop&w=800&q=80',
coverImage: 'https://images.unsplash.com/photo-1451187580459-43490279c0fa?auto=format&fit=crop&w=800&q=80',
isPublished: true,
},
],
@@ -220,7 +220,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
title: 'Chief Cloud Architect',
company: 'NebulaScale Cloud AI',
slogan: 'Building Resilient Multi-Cloud AI Infrastructures Globally',
avatarUrl: 'https://images.unsplash.com/photo-1573496359142-b8d87734a5a2.jpg?auto=format&fit=crop&w=600&h=600&q=80',
avatarUrl: 'https://images.unsplash.com/photo-1573496359142-b8d87734a5a2?auto=format&fit=crop&w=600&h=600&q=80',
phone: '+14155552671',
email: 'elena.rostova@nebulascale.io',
whatsapp: '+14155552671',
@@ -243,7 +243,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 1,
title: '全球云架构与大模型算力调度',
content: '主导超过 5,000+ 节点高可用 Kubernetes 集群与跨大洲大模型推理加速网络设计,整体服务可用性达到 99.999%,支撑每日百亿级调用。',
mediaUrl: 'https://images.unsplash.com/photo-1558494949-ef010cbdcc31.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1558494949-ef010cbdcc31?auto=format&fit=crop&w=800&q=80',
status: 1,
},
{
@@ -255,11 +255,11 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 2,
title: 'NebulaScale 分布式大模型推理架构演示',
content: '实时观测跨欧美亚太算力流转与动态故障转移,端到端全球 P99 延迟压至 32ms 以内。',
mediaUrl: 'https://images.unsplash.com/photo-1526374965328-7f61d4dc18c5.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1526374965328-7f61d4dc18c5?auto=format&fit=crop&w=800&q=80',
linkUrl: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',
metaJson: {
videoUrl: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',
poster: 'https://images.unsplash.com/photo-1526374965328-7f61d4dc18c5.jpg?auto=format&fit=crop&w=800&q=80',
poster: 'https://images.unsplash.com/photo-1526374965328-7f61d4dc18c5?auto=format&fit=crop&w=800&q=80',
duration: '02:45',
aspectRatio: '16:9',
title: '跨国高可用集群实时压测演练',
@@ -275,12 +275,12 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 3,
title: 'FinTech 全球秒级支付架构重构',
content: '99.999% 可用性保障,支撑每日 3 亿美元全球跨币种交易清结算。',
mediaUrl: 'https://images.unsplash.com/photo-1563986768609-322da13575f3.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1563986768609-322da13575f3?auto=format&fit=crop&w=800&q=80',
metaJson: {
images: [
'https://images.unsplash.com/photo-1563986768609-322da13575f3.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1551288049-bebda4e38f71.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1460925895917-afdab827c52f.jpg?auto=format&fit=crop&w=800&q=80'
'https://images.unsplash.com/photo-1563986768609-322da13575f3?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1551288049-bebda4e38f71?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1460925895917-afdab827c52f?auto=format&fit=crop&w=800&q=80'
],
kpis: [
{ label: '每日交易量', value: '$300M+' },
@@ -298,7 +298,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 4,
title: '现代微服务下的多云零信任安全实践',
content: '解构全球分布式企业如何通过 eBPF 与 SPIFFE 构建坚固的应用安全边界。',
mediaUrl: 'https://images.unsplash.com/photo-1504384308090-c894fdcc538d.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1504384308090-c894fdcc538d?auto=format&fit=crop&w=800&q=80',
status: 1,
},
{
@@ -333,13 +333,13 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
client: 'AI Pioneer Labs',
duration: '2025.04 - 2025.10',
metrics: '全球 P99 推理延迟压至 32ms,GPU 算力利用率提升 4.2 倍',
coverImage: 'https://images.unsplash.com/photo-1558494949-ef010cbdcc31.jpg?auto=format&fit=crop&w=800&q=80',
coverImage: 'https://images.unsplash.com/photo-1558494949-ef010cbdcc31?auto=format&fit=crop&w=800&q=80',
description: '构筑覆盖欧美亚三大洲的 GPU 异构算力资源池与网络拓扑感知调度中枢,实现百万级并发大模型推理的全球动态秒级故障自愈。',
metaJson: {
images: [
'https://images.unsplash.com/photo-1558494949-ef010cbdcc31.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1526374965328-7f61d4dc18c5.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1504384308090-c894fdcc538d.jpg?auto=format&fit=crop&w=800&q=80'
'https://images.unsplash.com/photo-1558494949-ef010cbdcc31?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1526374965328-7f61d4dc18c5?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1504384308090-c894fdcc538d?auto=format&fit=crop&w=800&q=80'
],
industry: '人工智能 / 云计算基础设施',
region: '北美、西欧与亚太多可用区',
@@ -359,13 +359,13 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
client: 'PayNova International',
duration: '2025.01 - 2025.07',
metrics: '交易超时率降低 98.4%,算力成本节省 35%,支撑每日 3 亿美元交易',
coverImage: 'https://images.unsplash.com/photo-1563986768609-322da13575f3.jpg?auto=format&fit=crop&w=800&q=80',
coverImage: 'https://images.unsplash.com/photo-1563986768609-322da13575f3?auto=format&fit=crop&w=800&q=80',
description: '基于异地多活方案实现 RPO=0, RTO<1s 的高可用架构,顺利通过全球多国金融安全与合规审计。',
metaJson: {
images: [
'https://images.unsplash.com/photo-1563986768609-322da13575f3.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1551288049-bebda4e38f71.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1460925895917-afdab827c52f.jpg?auto=format&fit=crop&w=800&q=80'
'https://images.unsplash.com/photo-1563986768609-322da13575f3?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1551288049-bebda4e38f71?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1460925895917-afdab827c52f?auto=format&fit=crop&w=800&q=80'
],
industry: '金融科技 (FinTech)',
region: '全球跨币种清算网络',
@@ -386,7 +386,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
title: '在大模型时代重新思考全球分布式架构演进',
summary: '探索算力调度从传统微服务容器编排向 GPU 异构资源池化迁移的核心技术瓶颈与破局之道。',
content: '伴随企业全球化战略加速,算力孤岛与跨大洲网络延迟成为制约 AI 商业落地的最大瓶颈。通过结合网络拓扑感知的近端推理调度与智能缓存穿透策略,我们成功在多云混部环境下将推理效率提升了 300%...',
coverImage: 'https://images.unsplash.com/photo-1504384308090-c894fdcc538d.jpg?auto=format&fit=crop&w=800&q=80',
coverImage: 'https://images.unsplash.com/photo-1504384308090-c894fdcc538d?auto=format&fit=crop&w=800&q=80',
isPublished: true,
},
],
@@ -404,7 +404,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
title: 'MENA Business Director',
company: 'SilkRoad Oasis Ventures',
slogan: 'Bridging APAC Technologies with Middle East Energy Infrastructure',
avatarUrl: 'https://images.unsplash.com/photo-1506794778202-cad84cf45f1d.jpg?auto=format&fit=crop&w=600&h=600&q=80',
avatarUrl: 'https://images.unsplash.com/photo-1506794778202-cad84cf45f1d?auto=format&fit=crop&w=600&h=600&q=80',
phone: '+971501234567',
email: 'tariq@silkroadoasis.ae',
whatsapp: '+971501234567',
@@ -426,7 +426,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 1,
title: '海湾合作委员会 (GCC) 绿色能源生态',
content: '常驻阿布扎比与利雅得,深耕沙特“2030愿景”与阿联酋“2050净零排放”战略,深度连接国际高科技清洁装备与本地主权产业基金。',
mediaUrl: 'https://images.unsplash.com/photo-1509391365360-2e959784a276.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1509391365360-2e959784a276?auto=format&fit=crop&w=800&q=80',
status: 1,
},
{
@@ -438,11 +438,11 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 2,
title: '阿布扎比 2GW 光伏产业示范园落成实景',
content: '沙漠极端高温环境下的自动化清扫与高效储能实景纪录片,见证中东绿色能源奇迹。',
mediaUrl: 'https://images.unsplash.com/photo-1497435334941-8c899ee9e8e9.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1497435334941-8c899ee9e8e9?auto=format&fit=crop&w=800&q=80',
linkUrl: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4',
metaJson: {
videoUrl: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4',
poster: 'https://images.unsplash.com/photo-1497435334941-8c899ee9e8e9.jpg?auto=format&fit=crop&w=800&q=80',
poster: 'https://images.unsplash.com/photo-1497435334941-8c899ee9e8e9?auto=format&fit=crop&w=800&q=80',
duration: '02:10',
aspectRatio: '16:9',
title: '中东大型绿电产业园实况航拍',
@@ -458,12 +458,12 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 3,
title: '沙特 NEOM 新城微电网建设',
content: '联合国际领先储能集团完成全离网微电网调试,供电可靠率达 99.98%。',
mediaUrl: 'https://images.unsplash.com/photo-1466611653911-95081537e5b7.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1466611653911-95081537e5b7?auto=format&fit=crop&w=800&q=80',
metaJson: {
images: [
'https://images.unsplash.com/photo-1466611653911-95081537e5b7.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1512453979798-5ea266f8880c.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1486406146926-c627a92ad1ab.jpg?auto=format&fit=crop&w=800&q=80'
'https://images.unsplash.com/photo-1466611653911-95081537e5b7?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1512453979798-5ea266f8880c?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=800&q=80'
],
kpis: [
{ label: '绿电自给率', value: '100%' },
@@ -481,7 +481,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 4,
title: '海湾国家商业投资环境与法律指引',
content: '从外资持股比例到本地化雇佣比率,全方位规避国际跨境投资法律与财税风险。',
mediaUrl: 'https://images.unsplash.com/photo-1512453979798-5ea266f8880c.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1512453979798-5ea266f8880c?auto=format&fit=crop&w=800&q=80',
status: 1,
},
{
@@ -505,13 +505,13 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
client: 'Abu Dhabi Future Energy PJSC',
duration: '2024.08 - 2025.04',
metrics: '年发电量 32 亿千瓦时,减排二氧化碳 240 万吨,供电可靠率 99.98%',
coverImage: 'https://images.unsplash.com/photo-1497435334941-8c899ee9e8e9.jpg?auto=format&fit=crop&w=800&q=80',
coverImage: 'https://images.unsplash.com/photo-1497435334941-8c899ee9e8e9?auto=format&fit=crop&w=800&q=80',
description: '整合国际先锋高效 N 型双面光伏组件、智能平单轴跟踪支架与极端沙漠气候无人清扫机器人,打造海湾超大型清洁绿电典范。',
metaJson: {
images: [
'https://images.unsplash.com/photo-1497435334941-8c899ee9e8e9.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1509391365360-2e959784a276.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1466611653911-95081537e5b7.jpg?auto=format&fit=crop&w=800&q=80'
'https://images.unsplash.com/photo-1497435334941-8c899ee9e8e9?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1509391365360-2e959784a276?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1466611653911-95081537e5b7?auto=format&fit=crop&w=800&q=80'
],
industry: '清洁能源 / 智慧电网',
region: '阿联酋阿布扎比',
@@ -531,13 +531,13 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
client: 'NEOM Energy & Water Authority',
duration: '2025.01 - 2025.09',
metrics: '全绿电 100% 自给自足,动态响应时间 < 20ms,系统综合能效提升 28%',
coverImage: 'https://images.unsplash.com/photo-1466611653911-95081537e5b7.jpg?auto=format&fit=crop&w=800&q=80',
coverImage: 'https://images.unsplash.com/photo-1466611653911-95081537e5b7?auto=format&fit=crop&w=800&q=80',
description: '联合跨国领先储能企业开发具备虚拟电厂(VPP)调度能力的纯离网微电网中枢,为未来城市提供全天候不间断绿色动力。',
metaJson: {
images: [
'https://images.unsplash.com/photo-1466611653911-95081537e5b7.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1512453979798-5ea266f8880c.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1486406146926-c627a92ad1ab.jpg?auto=format&fit=crop&w=800&q=80'
'https://images.unsplash.com/photo-1466611653911-95081537e5b7?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1512453979798-5ea266f8880c?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=800&q=80'
],
industry: '智能微电网 / 虚拟电厂',
region: '沙特阿拉伯西北部 NEOM',
@@ -558,7 +558,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
title: '走进中东:沙特与阿联酋新一轮科技能源投资机遇',
summary: '解析全球高科技与能源装备企业在海湾市场的本土化突围之道与主权基金战略倾向。',
content: '随着海湾国家加速摆脱石油依赖,以绿色能源与智能化技术为核心的产业变革正在全面展开。阿布扎比投资局与沙特 PIF 正积极设立针对亚太高科技与先进制造企业的联合落地基金...',
coverImage: 'https://images.unsplash.com/photo-1512453979798-5ea266f8880c.jpg?auto=format&fit=crop&w=800&q=80',
coverImage: 'https://images.unsplash.com/photo-1512453979798-5ea266f8880c?auto=format&fit=crop&w=800&q=80',
isPublished: true,
},
],
@@ -576,7 +576,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
title: 'Global Brand Officer',
company: 'Atelier Lumina Paris',
slogan: 'Sustainable Luxury & Digital Craftsmanship for Conscious Consumers',
avatarUrl: 'https://images.unsplash.com/photo-1534528741775-53994a69daeb.jpg?auto=format&fit=crop&w=600&h=600&q=80',
avatarUrl: 'https://images.unsplash.com/photo-1534528741775-53994a69daeb?auto=format&fit=crop&w=600&h=600&q=80',
phone: '+33612345678',
email: 'chloe.dubois@atelierlumina.fr',
whatsapp: '+33612345678',
@@ -598,7 +598,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 1,
title: '可持续奢品与数字美学设计',
content: '联合欧洲独立设计师与亚洲循环新材料实验室,选用经 GOTS 认证的天然有机棉与海洋回收再生丝,打造触动全球年轻一代的现代胶囊衣橱。',
mediaUrl: 'https://images.unsplash.com/photo-1490481651871-ab68de25d43d.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1490481651871-ab68de25d43d?auto=format&fit=crop&w=800&q=80',
status: 1,
},
{
@@ -610,11 +610,11 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 2,
title: '巴黎绿色时尚周品牌秀场精选',
content: '从可降解生物丝绸到 0 碳足迹工坊生产实拍,展现先锋环保奢品背后的匠心工艺。',
mediaUrl: 'https://images.unsplash.com/photo-1469334031218-e382a71b716b.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1469334031218-e382a71b716b?auto=format&fit=crop&w=800&q=80',
linkUrl: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerEscapes.mp4',
metaJson: {
videoUrl: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerEscapes.mp4',
poster: 'https://images.unsplash.com/photo-1469334031218-e382a71b716b.jpg?auto=format&fit=crop&w=800&q=80',
poster: 'https://images.unsplash.com/photo-1469334031218-e382a71b716b?auto=format&fit=crop&w=800&q=80',
duration: '01:50',
aspectRatio: '16:9',
title: 'Atelier Lumina Paris 2026 秀场全纪录',
@@ -630,12 +630,12 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 3,
title: '欧美 DTC 独立站零碳系列发售',
content: '上线 48 小时首发即罄,Instagram 话题曝光突破 3,500 万次。',
mediaUrl: 'https://images.unsplash.com/photo-1441986300917-64674bd600d8.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?auto=format&fit=crop&w=800&q=80',
metaJson: {
images: [
'https://images.unsplash.com/photo-1441986300917-64674bd600d8.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1490481651871-ab68de25d43d.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1469334031218-e382a71b716b.jpg?auto=format&fit=crop&w=800&q=80'
'https://images.unsplash.com/photo-1441986300917-64674bd600d8?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1490481651871-ab68de25d43d?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1469334031218-e382a71b716b?auto=format&fit=crop&w=800&q=80'
],
kpis: [
{ label: '首发售罄时长', value: '48 小时' },
@@ -653,7 +653,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 4,
title: '时尚产业的数字护照 (DPP) 全球实践',
content: '如何利用区块链与 NFC 芯片追踪服装从棉花田到衣橱的全生命周期溯源。',
mediaUrl: 'https://images.unsplash.com/photo-1558769132-cb1aea458c5e.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1558769132-cb1aea458c5e?auto=format&fit=crop&w=800&q=80',
status: 1,
},
{
@@ -677,14 +677,14 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
client: 'Lumina Paris',
duration: '2025.05 - 2025.09',
metrics: '欧美 GMV 增长 210%,复购率达 38.6%,全网曝光 3500 万次',
coverImage: 'https://images.unsplash.com/photo-1441986300917-64674bd600d8.jpg?auto=format&fit=crop&w=800&q=80',
coverImage: 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?auto=format&fit=crop&w=800&q=80',
description: '通过数字体验名片与 VIP 专属私人定制预约通道,构建高端时尚圈层闭环。',
metaJson: {
images: [
'https://images.unsplash.com/photo-1441986300917-64674bd600d8.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1490481651871-ab68de25d43d.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1469334031218-e382a71b716b.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1558769132-cb1aea458c5e.jpg?auto=format&fit=crop&w=800&q=80'
'https://images.unsplash.com/photo-1441986300917-64674bd600d8?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1490481651871-ab68de25d43d?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1469334031218-e382a71b716b?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1558769132-cb1aea458c5e?auto=format&fit=crop&w=800&q=80'
],
industry: '时尚奢品 / 可持续 DTC',
region: '法国巴黎与英国伦敦',
@@ -704,13 +704,13 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
client: '欧洲可持续时尚同盟',
duration: '2025.03 - 2025.08',
metrics: '接入 12 万件高奢成衣,扫码查验率达 74.2%,假冒仿制品发生率为 0',
coverImage: 'https://images.unsplash.com/photo-1558769132-cb1aea458c5e.jpg?auto=format&fit=crop&w=800&q=80',
coverImage: 'https://images.unsplash.com/photo-1558769132-cb1aea458c5e?auto=format&fit=crop&w=800&q=80',
description: '将微型柔性 NFC 芯片缝入衣领内衬,买家轻触即可直达欧盟合规数字产品护照,查看棉花产地、工坊碳足迹与真伪验真凭据。',
metaJson: {
images: [
'https://images.unsplash.com/photo-1558769132-cb1aea458c5e.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1441986300917-64674bd600d8.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1490481651871-ab68de25d43d.jpg?auto=format&fit=crop&w=800&q=80'
'https://images.unsplash.com/photo-1558769132-cb1aea458c5e?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1441986300917-64674bd600d8?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1490481651871-ab68de25d43d?auto=format&fit=crop&w=800&q=80'
],
industry: '数字时尚 / 供应链物联网',
region: '欧盟与北美',
@@ -731,7 +731,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
title: '为什么新一代全球 DTC 品牌需要重塑品牌心智',
summary: '摆脱低维流量依赖与单一价格战,以真实故事叙事和可持续品牌主张赢得国际高净值客群。',
content: '全球品牌的竞争已经从单纯的供应链红利转向了文化叙事与品牌价值主张的博弈。通过透明的原材料碳足迹披露与极具现代美学的数字名片微官网,品牌得以建立超越单次买卖的长期信任感...',
coverImage: 'https://images.unsplash.com/photo-1558769132-cb1aea458c5e.jpg?auto=format&fit=crop&w=800&q=80',
coverImage: 'https://images.unsplash.com/photo-1558769132-cb1aea458c5e?auto=format&fit=crop&w=800&q=80',
isPublished: true,
},
],
@@ -749,7 +749,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
title: 'APAC Logistics VP',
company: 'TransPacific AutoLink',
slogan: 'Optimizing Next-Gen Cross-Border Automotive Supply Chains',
avatarUrl: 'https://images.unsplash.com/photo-1500648767791-00dcc994a43e.jpg?auto=format&fit=crop&w=600&h=600&q=80',
avatarUrl: 'https://images.unsplash.com/photo-1500648767791-00dcc994a43e?auto=format&fit=crop&w=600&h=600&q=80',
phone: '+81312345678',
email: 'tanaka.kenji@transpacific.jp',
whatsapp: '+81312345678',
@@ -772,7 +772,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 1,
title: '跨国汽车产业链智能物流中枢',
content: '掌管东京、上海、曼谷三大核心转运枢纽港口与 12 座保税自动化立体中心仓,年周转集装箱逾 45 万 TEU,精益准时交付率保持在 99.9% 以上。',
mediaUrl: 'https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d?auto=format&fit=crop&w=800&q=80',
status: 1,
},
{
@@ -784,11 +784,11 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 2,
title: '跨国自动化立体仓储 AGV 机器人穿梭实况',
content: '全天候智能算法调度,实现零差错零部件入库与跨国干线精准集拼装船。',
mediaUrl: 'https://images.unsplash.com/photo-1616401784845-180882ba9ba8.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1616401784845-180882ba9ba8?auto=format&fit=crop&w=800&q=80',
linkUrl: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerFun.mp4',
metaJson: {
videoUrl: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerFun.mp4',
poster: 'https://images.unsplash.com/photo-1616401784845-180882ba9ba8.jpg?auto=format&fit=crop&w=800&q=80',
poster: 'https://images.unsplash.com/photo-1616401784845-180882ba9ba8?auto=format&fit=crop&w=800&q=80',
duration: '01:35',
aspectRatio: '16:9',
title: '跨国现代化智能立体仓全景实拍',
@@ -804,12 +804,12 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 3,
title: '中日新能源车配件 48 小时达',
content: '通过全链条条码及 RFID 联动,关务及通关清关时效提速 60%。',
mediaUrl: 'https://images.unsplash.com/photo-1578575437130-527eed3abbec.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1578575437130-527eed3abbec?auto=format&fit=crop&w=800&q=80',
metaJson: {
images: [
'https://images.unsplash.com/photo-1578575437130-527eed3abbec.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1542744173-8e7e53415bb0.jpg?auto=format&fit=crop&w=800&q=80'
'https://images.unsplash.com/photo-1578575437130-527eed3abbec?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1542744173-8e7e53415bb0?auto=format&fit=crop&w=800&q=80'
],
kpis: [
{ label: '通关时效提速', value: '+60%' },
@@ -827,7 +827,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 4,
title: '区域全面经济伙伴关系协定 (RCEP) 关务指南',
content: '深度解读原产地累积规则与跨国多式联运链条中的综合税费优化方案。',
mediaUrl: 'https://images.unsplash.com/photo-1542744173-8e7e53415bb0.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1542744173-8e7e53415bb0?auto=format&fit=crop&w=800&q=80',
status: 1,
},
{
@@ -851,13 +851,13 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
client: 'Global AutoTech Consortium',
duration: '2024.11 - 2025.07',
metrics: '仓储周转效率提高 42%,破损率控制在 0.001% 以下,准时率 99.9%',
coverImage: 'https://images.unsplash.com/photo-1578575437130-527eed3abbec.jpg?auto=format&fit=crop&w=800&q=80',
coverImage: 'https://images.unsplash.com/photo-1578575437130-527eed3abbec?auto=format&fit=crop&w=800&q=80',
description: '成功构建日韩到东盟的跨国零备件绿色走廊,达成准时化(JIT)精益交付。',
metaJson: {
images: [
'https://images.unsplash.com/photo-1578575437130-527eed3abbec.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1542744173-8e7e53415bb0.jpg?auto=format&fit=crop&w=800&q=80'
'https://images.unsplash.com/photo-1578575437130-527eed3abbec?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1542744173-8e7e53415bb0?auto=format&fit=crop&w=800&q=80'
],
industry: '智能物流 / 汽车制造',
region: '东京、上海、釜山、曼谷',
@@ -877,13 +877,13 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
client: 'TransPacific Logistics',
duration: '2025.02 - 2025.08',
metrics: '自动化分拣提速 300%,拣选准确率达 99.999%,实现 7x24 小时无人暗灯作业',
coverImage: 'https://images.unsplash.com/photo-1616401784845-180882ba9ba8.jpg?auto=format&fit=crop&w=800&q=80',
coverImage: 'https://images.unsplash.com/photo-1616401784845-180882ba9ba8?auto=format&fit=crop&w=800&q=80',
description: '采用 200 台重载潜伏式 AGV 与高速堆垛机联动,调度算法动态规划最优路径,实现零差错零部件入库与跨国干线精准集拼。',
metaJson: {
images: [
'https://images.unsplash.com/photo-1616401784845-180882ba9ba8.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1578575437130-527eed3abbec.jpg?auto=format&fit=crop&w=800&q=80'
'https://images.unsplash.com/photo-1616401784845-180882ba9ba8?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1578575437130-527eed3abbec?auto=format&fit=crop&w=800&q=80'
],
industry: '自动化仓储 / 机器人调度',
region: '亚太保税物流园区',
@@ -904,7 +904,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
title: '全球地缘与贸易新常态下的弹性供应链构建',
summary: '面对跨国运价波动与港口堵塞风险,如何通过数字孪生提升跨国供应链业务韧性。',
content: '跨国供应链的制胜关键已经从单一的价格竞争转向全链路的可视化与动态避险能力。通过将干线海运与内陆多式联运数据打通,制造企业可实现精准到小时级的主机厂物料准点上线...',
coverImage: 'https://images.unsplash.com/photo-1542744173-8e7e53415bb0.jpg?auto=format&fit=crop&w=800&q=80',
coverImage: 'https://images.unsplash.com/photo-1542744173-8e7e53415bb0?auto=format&fit=crop&w=800&q=80',
isPublished: true,
},
],
@@ -922,7 +922,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
title: 'Managing Director & Co-Founder',
company: 'SwissBio Frontier AG',
slogan: 'Accelerating Breakthrough Therapeutics with Precision Genomics & AI',
avatarUrl: 'https://images.unsplash.com/photo-1622253692010-333f2da6031d.jpg?auto=format&fit=crop&w=600&h=600&q=80',
avatarUrl: 'https://images.unsplash.com/photo-1622253692010-333f2da6031d?auto=format&fit=crop&w=600&h=600&q=80',
phone: '+41442113355',
email: 'm.weber@swissbiofrontier.ch',
whatsapp: '+41442113355',
@@ -945,7 +945,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 1,
title: '计算生物学与抗体工程联合研发平台',
content: '汇聚苏黎世与巴塞尔顶尖科学家,专注肿瘤免疫微环境机制与新一代双特异性抗体发现,已累计推进 4 款先导化合物进入欧美双边申报通道。',
mediaUrl: 'https://images.unsplash.com/photo-1532187863486-abf9dbad1b69.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1532187863486-abf9dbad1b69?auto=format&fit=crop&w=800&q=80',
status: 1,
},
{
@@ -957,11 +957,11 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 2,
title: '巴塞尔自动化基因筛选高通量实验室实况',
content: '机械臂集群 7x24 小时全自动化合物微孔板点样与共聚焦显微成像全景解析。',
mediaUrl: 'https://images.unsplash.com/photo-1579154204601-01588f351e67.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1579154204601-01588f351e67?auto=format&fit=crop&w=800&q=80',
linkUrl: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/TearsOfSteel.mp4',
metaJson: {
videoUrl: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/TearsOfSteel.mp4',
poster: 'https://images.unsplash.com/photo-1579154204601-01588f351e67.jpg?auto=format&fit=crop&w=800&q=80',
poster: 'https://images.unsplash.com/photo-1579154204601-01588f351e67?auto=format&fit=crop&w=800&q=80',
duration: '02:05',
aspectRatio: '16:9',
title: 'SwissBio 自动化实验室高通量筛选演练',
@@ -977,12 +977,12 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 3,
title: '跨国三期多中心临床数字试验',
content: '受试者基因分型筛查周期提速 4.2 倍,数据质控合规率达 99.98%。',
mediaUrl: 'https://images.unsplash.com/photo-1576091160399-112ba8d25d1d.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?auto=format&fit=crop&w=800&q=80',
metaJson: {
images: [
'https://images.unsplash.com/photo-1576091160399-112ba8d25d1d.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1507668077129-56e32842fceb.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1579154204601-01588f351e67.jpg?auto=format&fit=crop&w=800&q=80'
'https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1507668077129-56e32842fceb?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1579154204601-01588f351e67?auto=format&fit=crop&w=800&q=80'
],
kpis: [
{ label: '筛查周期提速', value: '4.2x' },
@@ -1000,7 +1000,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
sortOrder: 4,
title: 'EMA 与 FDA 新药双报监管策略分析',
content: '探讨数字化真实世界证据 (RWE) 在欧美双边加速审评审批通道中的关键作用。',
mediaUrl: 'https://images.unsplash.com/photo-1507668077129-56e32842fceb.jpg?auto=format&fit=crop&w=800&q=80',
mediaUrl: 'https://images.unsplash.com/photo-1507668077129-56e32842fceb?auto=format&fit=crop&w=800&q=80',
status: 1,
},
{
@@ -1035,15 +1035,15 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
client: 'Roche-Novartis 创新联合体',
duration: '2024.06 - 2025.05',
metrics: '受试者基因分型筛查提速 4.2 倍,数据质控合规率 99.98%,临床脱落率降低至 1.8%',
coverImage: 'https://images.unsplash.com/photo-1579154204601-01588f351e67.jpg?auto=format&fit=crop&w=800&q=80',
coverImage: 'https://images.unsplash.com/photo-1579154204601-01588f351e67?auto=format&fit=crop&w=800&q=80',
pdfUrl: 'https://cdn.omnicard.ai/cases/swissbio-clinical-report.pdf',
description: '成功运用 AI 驱动的多组学分析系统,加速罕见突变靶向药物临床入组与微孔板高通量筛选。',
metaJson: {
images: [
'https://images.unsplash.com/photo-1579154204601-01588f351e67.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1532187863486-abf9dbad1b69.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1576091160399-112ba8d25d1d.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1507668077129-56e32842fceb.jpg?auto=format&fit=crop&w=800&q=80'
'https://images.unsplash.com/photo-1579154204601-01588f351e67?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1532187863486-abf9dbad1b69?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1507668077129-56e32842fceb?auto=format&fit=crop&w=800&q=80'
],
industry: '创新生物药 / 计算生物学',
region: '瑞士苏黎世与巴塞尔',
@@ -1064,13 +1064,13 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
client: 'SwissBio Clinical Research Group',
duration: '2025.01 - 2025.08',
metrics: '跨国 36 家医学中心无缝并网,数据质控合规率达 99.98%,受试者入组时间缩短 65%',
coverImage: 'https://images.unsplash.com/photo-1576091160399-112ba8d25d1d.jpg?auto=format&fit=crop&w=800&q=80',
coverImage: 'https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?auto=format&fit=crop&w=800&q=80',
description: '采用符合 FDA 21 CFR Part 11 与 EMA 规范的去中心化临床试验系统,实现患者远程生物传感器数据毫秒级加密上传与实时质控。',
metaJson: {
images: [
'https://images.unsplash.com/photo-1576091160399-112ba8d25d1d.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1507668077129-56e32842fceb.jpg?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1579154204601-01588f351e67.jpg?auto=format&fit=crop&w=800&q=80'
'https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1507668077129-56e32842fceb?auto=format&fit=crop&w=800&q=80',
'https://images.unsplash.com/photo-1579154204601-01588f351e67?auto=format&fit=crop&w=800&q=80'
],
industry: '临床数字试验 / 医疗合规',
region: '瑞士、德国与美国顶尖医学院附院',
@@ -1091,7 +1091,7 @@ export const MOCK_CARDS_DATA: MockCardBundle[] = [
title: '从靶点发现到临床申报:AI 驱动抗体偶联药物研发范式转移',
summary: '深度剖析机器学习模型在抗体亲和力成熟、连接子稳定性与毒素载荷释放动力学预测中的实证突破。',
content: '传统药物发现往往经历 5 到 10 年的高成本试错。随着生成式大模型在蛋白质三维构象预测与结合能模拟方面的成熟,我们能够将先导化合物的筛选效率提升数个量级,从根本上重塑创新药研发的风险收益曲线...',
coverImage: 'https://images.unsplash.com/photo-1507668077129-56e32842fceb.jpg?auto=format&fit=crop&w=800&q=80',
coverImage: 'https://images.unsplash.com/photo-1507668077129-56e32842fceb?auto=format&fit=crop&w=800&q=80',
isPublished: true,
},
],

查看文件

@@ -14,18 +14,29 @@ const CRAWLER_REGEX =
const RTL_LANGUAGES = new Set(['ar', 'he', 'fa', 'ur', 'arc', 'syr', 'dv']);
const DEFAULT_SITE_NAME = 'OmniCard AI';
const DEFAULT_OG_IMAGE = 'https://omnicard.ai/assets/og-default.png';
const DEFAULT_DESCRIPTION =
'OmniCard AI - Global Digital Business Card & Micro Portal';
/**
* 仅接受可公开访问的真实 http(s) 图片地址;无图时返回空字符串,禁止假 CDN / 占位图回退
*/
export function resolvePublicImageUrl(url?: string | null): string {
if (!url || typeof url !== 'string') return '';
const trimmed = url.trim();
if (!/^https?:\/\//i.test(trimmed)) return '';
return trimmed;
}
/**
* SEO & OpenGraph 配置选项
* 注意:不再使用 defaultImage 回填假 CDN / 占位图;无真实头像时 og:image 为空
*/
export interface SeoOptions {
baseUrl?: string;
currentUrl?: string;
locale?: string;
siteName?: string;
/** @deprecated 已忽略:禁止用占位图回填 og:image */
defaultImage?: string;
defaultDescription?: string;
type?: string;
@@ -142,9 +153,7 @@ export class CardSeoService extends BaseService {
? `${card.title} at ${card.company}`
: 'OmniCard AI - 全球智能数字名片 & 移动微官网')
).trim();
const image = (
card.avatarUrl || `${base}/static/default-card-og.png`
).trim();
const image = resolvePublicImageUrl(card.avatarUrl);
const url = `${base}/p/${card.slug || card.id}`;
return {
@@ -242,13 +251,8 @@ export class CardSeoService extends BaseService {
ogDescription = DEFAULT_DESCRIPTION;
}
// 3. 图片 (Image)
const ogImage =
card?.avatarUrl ||
options?.defaultImage ||
(options?.baseUrl
? `${options.baseUrl.replace(/\/$/, '')}/assets/og-default.png`
: DEFAULT_OG_IMAGE);
// 3. 图片 (Image):仅写入真实 http(s) 头像/封面;无图则为空,不回退假 CDN / 占位图
const ogImage = resolvePublicImageUrl(card?.avatarUrl);
// 4. URL
let ogUrl = '';
@@ -317,13 +321,15 @@ export class CardSeoService extends BaseService {
}
}
// 2. 构造 Meta 标签集合 (统一转义属性值)
// 2. 构造 Meta 标签集合 (统一转义属性值);无真实图片时不输出 og:image / twitter:image
const metaTags = [
`<meta property="og:title" content="${escapeHtml(meta['og:title'])}" />`,
`<meta property="og:description" content="${escapeHtml(
meta['og:description']
)}" />`,
`<meta property="og:image" content="${escapeHtml(meta['og:image'])}" />`,
meta['og:image']
? `<meta property="og:image" content="${escapeHtml(meta['og:image'])}" />`
: '',
`<meta property="og:url" content="${escapeHtml(meta['og:url'])}" />`,
`<meta property="og:type" content="${escapeHtml(meta['og:type'])}" />`,
`<meta property="og:locale" content="${escapeHtml(
@@ -341,10 +347,12 @@ export class CardSeoService extends BaseService {
`<meta name="twitter:description" content="${escapeHtml(
meta['twitter:description']
)}" />`,
`<meta name="twitter:image" content="${escapeHtml(
meta['twitter:image']
)}" />`,
];
meta['twitter:image']
? `<meta name="twitter:image" content="${escapeHtml(
meta['twitter:image']
)}" />`
: '',
].filter(Boolean);
const injectedMetaBlock = metaTags.join('\n ');
const titleTag = `<title>${escapeHtml(meta['og:title'])}</title>`;
@@ -440,7 +448,7 @@ export class CardSeoService extends BaseService {
${safeVideoUrl ? `<video class="video-player" controls preload="metadata" poster="${mediaUrl}">
<source src="${safeVideoUrl}" type="video/mp4" />
您的浏览器不支持 HTML5 视频播放。
</video>` : `<img class="bento-media" src="${mediaUrl}" alt="${title}" />`}
</video>` : `<img class="bento-media" referrerpolicy="no-referrer" src="${mediaUrl}" alt="${title}" />`}
<span class="video-duration-pill">${duration}</span>
</div>
<div class="bento-body">
@@ -454,7 +462,7 @@ export class CardSeoService extends BaseService {
if (block.type === 'case') {
return `
<div class="bento-card bento-case ${colClass} ${rowClass}">
${mediaUrl ? `<img class="bento-media" src="${mediaUrl}" alt="${title}" />` : ''}
${mediaUrl ? `<img class="bento-media" referrerpolicy="no-referrer" src="${mediaUrl}" alt="${title}" />` : ''}
<div class="bento-body">
<div class="bento-tag tag-success">Success Case</div>
<h3 class="bento-title">${title}</h3>
@@ -466,7 +474,7 @@ export class CardSeoService extends BaseService {
if (block.type === 'article') {
return `
<div class="bento-card bento-article ${colClass} ${rowClass}">
${mediaUrl ? `<img class="bento-media" src="${mediaUrl}" alt="${title}" />` : ''}
${mediaUrl ? `<img class="bento-media" referrerpolicy="no-referrer" src="${mediaUrl}" alt="${title}" />` : ''}
<div class="bento-body">
<div class="bento-tag tag-purple">Insight</div>
<h3 class="bento-title">${title}</h3>
@@ -505,7 +513,7 @@ export class CardSeoService extends BaseService {
// 默认 hero 块
return `
<div class="bento-card bento-hero ${colClass} ${rowClass}">
${mediaUrl ? `<img class="bento-media" src="${mediaUrl}" alt="${title}" />` : ''}
${mediaUrl ? `<img class="bento-media" referrerpolicy="no-referrer" src="${mediaUrl}" alt="${title}" />` : ''}
<div class="bento-body">
<div class="bento-tag tag-blue">About</div>
<h3 class="bento-title">${title}</h3>
@@ -526,7 +534,7 @@ export class CardSeoService extends BaseService {
const cDesc = escapeHtml(c.description);
return `
<div class="case-card">
${cCover ? `<img class="case-cover" src="${cCover}" alt="${cTitle}" />` : ''}
${cCover ? `<img class="case-cover" referrerpolicy="no-referrer" src="${cCover}" alt="${cTitle}" />` : ''}
<div class="case-content">
<div class="case-client-line">
<span class="case-client">${cClient}</span>
@@ -548,7 +556,7 @@ export class CardSeoService extends BaseService {
const aCover = escapeHtml(a.coverImage);
return `
<div class="article-card">
${aCover ? `<img class="article-cover" src="${aCover}" alt="${aTitle}" />` : ''}
${aCover ? `<img class="article-cover" referrerpolicy="no-referrer" src="${aCover}" alt="${aTitle}" />` : ''}
<div class="article-content">
<div class="article-tag">Whitepaper</div>
<h4 class="article-title">${aTitle}</h4>
@@ -563,6 +571,7 @@ export class CardSeoService extends BaseService {
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="referrer" content="no-referrer" />
<title>${safeTitle}</title>
<meta name="description" content="${safeDesc}" />
<link rel="canonical" href="${safeUrl}" />
@@ -937,7 +946,7 @@ export class CardSeoService extends BaseService {
<!-- Hero Showcase -->
<main class="hero-card">
<div class="hero-avatar-wrap">
<img class="hero-avatar" src="${safeImage}" alt="${safeName}" />
<img class="hero-avatar" referrerpolicy="no-referrer" src="${safeImage}" alt="${safeName}" />
</div>
<h1 class="hero-name">${safeName}</h1>
${safeJobTitle ? `<div class="hero-title">${safeJobTitle}</div>` : ''}