文件
OmniCard/backend/src/modules/card/mock/seed-cards.ts

835 行
34 KiB
TypeScript

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

import { CardInfoEntity } from '../entity/info';
import { CardBentoEntity } from '../entity/bento';
import { CardCasesEntity } from '../entity/cases';
import { CardArticleEntity } from '../entity/article';
import type { BentoBlockType, BentoColSpan, BentoRowSpan } from '../../../comm/types/omni';
/**
* 单张名片的数据包定义
*/
export interface MockCardBundle {
card: Partial<CardInfoEntity>;
bentoBlocks: Partial<CardBentoEntity>[];
cases: Partial<CardCasesEntity>[];
articles: Partial<CardArticleEntity>[];
}
/**
* 6 组不同全球主流顶级商业行业的高保真多媒体名片数据(含真实配图、可播视频、全景 Bento 块、量化案例与长文)
*/
export const MOCK_CARDS_DATA: MockCardBundle[] = [
// ==========================================
// 名片 1: 消费电子与全球智能硬件 (Alex Zheng)
// ==========================================
{
card: {
id: 1001,
tenantId: 1,
slug: 'alex-zheng',
name: 'Alex Zheng',
title: 'VP of Global Expansion',
company: 'OmniCard Global Inc.',
slogan: 'Empowering Global Hardware Brands with Next-Gen Intelligence',
avatarUrl: 'https://images.unsplash.com/photo-1534528741775-53994a69daeb.jpg',
phone: '+8613800138001',
email: 'alex.zheng@omnicard.ai',
whatsapp: '+8613800138001',
linkedin: 'https://linkedin.com/in/alex-zheng-omni',
twitter: 'https://x.com/alexzheng_hw',
wechat: 'alex_omni_global',
timezone: 'Asia/Singapore',
audioPronunciationUrl: 'https://cdn.omnicard.ai/audio/alex-zheng.mp3',
status: 'published',
themeCode: 'corporate_navy',
userId: 101,
remark: '全球智能硬件领军高管,CES 2026 演讲嘉宾',
},
bentoBlocks: [
{
id: 2001,
cardId: 1001,
type: 'hero' as BentoBlockType,
colSpan: 2 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 1,
title: '关于我与 OmniCard 国际化版图',
content: '专注全球物联网与智能硬件生态 12 年,深度连接亚太供应链与欧美中东主流渠道。',
mediaUrl: 'https://images.unsplash.com/photo-1497366216548-37526070297c.jpg',
status: 1,
},
{
id: 2002,
cardId: 1001,
type: 'video' as BentoBlockType,
colSpan: 2 as BentoColSpan,
rowSpan: 2 as BentoRowSpan,
sortOrder: 2,
title: 'OmniCard Next 旗舰实体卡实机开箱演示',
content: '超精密航空级阳极氧化铝雕刻,内置双频高灵敏 NFC 芯片与动态射频天线,触卡 0.3 秒直达微官网。',
mediaUrl: 'https://images.unsplash.com/photo-1519389950473-47ba0277781c.jpg',
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',
duration: '01:28',
aspectRatio: '16:9',
title: 'OmniCard Next 硬件工艺与触卡交互实景',
},
status: 1,
},
{
id: 2003,
cardId: 1001,
type: 'case' as BentoBlockType,
colSpan: 1 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 3,
title: 'GITEX 迪拜展数字化留资',
content: '实现 10,000+ 国际买家 0.5 秒即时触卡交互,展会线索转化率较传统名片提升 320%。',
mediaUrl: 'https://images.unsplash.com/photo-1511578314322-379afb476865.jpg',
status: 1,
},
{
id: 2004,
cardId: 1001,
type: 'article' as BentoBlockType,
colSpan: 1 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 4,
title: '2026 全球智能硬件合规白皮书',
content: '深度解读 CE/FCC/KC 认证新规与国际电池环保政策,助力中国高精尖硬件顺畅出海。',
mediaUrl: 'https://images.unsplash.com/photo-1451187580459-43490279c0fa.jpg',
status: 1,
},
{
id: 2005,
cardId: 1001,
type: 'social' as BentoBlockType,
colSpan: 1 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 5,
title: '全球即时商业联络',
content: '支持 LinkedIn、WhatsApp 与官方电子邮箱一键添加,全天候跨时区无缝对接。',
linkUrl: 'https://linkedin.com/in/alex-zheng-omni',
status: 1,
},
{
id: 2006,
cardId: 1001,
type: 'form' as BentoBlockType,
colSpan: 2 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 6,
title: '预约跨国硬件分销与渠道合作',
content: '留下您的企业与联系方式,我们将在 2 个工作小时内安排资深全球商务代表与您连线。',
status: 1,
},
],
cases: [
{
id: 3001,
cardId: 1001,
title: 'GITEX 迪拜展会智能名片规模化交付',
client: '阿联酋国际商业联合会',
duration: '2025.10 - 2025.11',
metrics: '触卡 12,500+ 次,沉淀高意向商业线索 890 条,获客转化提升 320%',
coverImage: 'https://images.unsplash.com/photo-1511578314322-379afb476865.jpg',
pdfUrl: 'https://cdn.omnicard.ai/cases/gitex-2025-report.pdf',
description: '为 48 家国际参展代表团统一配置智能名片与雷达跟进中枢,完成全程数字化展会获客与私域沉淀。',
},
],
articles: [
{
id: 4001,
cardId: 1001,
title: '智能硬件全球化新范式:从单品突围到全域生态触达',
summary: '探讨如何结合 NFC 物理触碰与端侧微官网技术,在国际展会和高端商务洽谈中建立第一分钟深度信任。',
content: '在全球消费电子产业加速演进的今天,传统的纸质物料正在迅速被具备实时交互能力的数字名片和微官网替代。通过 NFC 极速交互与访客雷达意向追踪,硬件出海企业能够将每次面对面握手转变为可长期沉淀的高价值商机资产...',
coverImage: 'https://images.unsplash.com/photo-1451187580459-43490279c0fa.jpg',
isPublished: true,
},
],
},
// ==========================================
// 名片 2: 全球云原生 & AI 基础设施 (Elena Rostova)
// ==========================================
{
card: {
id: 1002,
tenantId: 1,
slug: 'elena-rostova',
name: 'Elena Rostova',
title: 'Chief Cloud Architect',
company: 'NebulaScale Cloud AI',
slogan: 'Building Resilient Multi-Cloud AI Infrastructures Globally',
avatarUrl: 'https://images.unsplash.com/photo-1580489944761-15a19d654956.jpg',
phone: '+14155552671',
email: 'elena.rostova@nebulascale.io',
whatsapp: '+14155552671',
linkedin: 'https://linkedin.com/in/elena-rostova-cloud',
twitter: 'https://x.com/elena_infra',
timezone: 'America/Los_Angeles',
audioPronunciationUrl: 'https://cdn.omnicard.ai/audio/elena-rostova.mp3',
status: 'published',
themeCode: 'tech_dark',
userId: 102,
remark: '硅谷云原生基础设施领军专家',
},
bentoBlocks: [
{
id: 2007,
cardId: 1002,
type: 'hero' as BentoBlockType,
colSpan: 2 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 1,
title: '全球云架构与大模型算力调度',
content: '主导超过 5,000+ 节点高可用 Kubernetes 集群与跨大洲大模型推理加速网络设计,可用性达 99.999%。',
mediaUrl: 'https://images.unsplash.com/photo-1558494949-ef010cbdcc31.jpg',
status: 1,
},
{
id: 2008,
cardId: 1002,
type: 'video' as BentoBlockType,
colSpan: 2 as BentoColSpan,
rowSpan: 2 as BentoRowSpan,
sortOrder: 2,
title: 'NebulaScale 分布式大模型推理架构演示',
content: '实时观测跨欧美亚太算力流转与动态故障转移,端到端全球 P99 延迟压至 35ms 以内。',
mediaUrl: 'https://images.unsplash.com/photo-1526374965328-7f61d4dc18c5.jpg',
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',
duration: '02:45',
aspectRatio: '16:9',
title: '跨国高可用集群实时压测演练',
},
status: 1,
},
{
id: 2009,
cardId: 1002,
type: 'case' as BentoBlockType,
colSpan: 1 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 3,
title: 'FinTech 全球秒级支付架构重构',
content: '99.999% 可用性保障,支撑每日 3 亿美元全球跨币种交易清结算。',
mediaUrl: 'https://images.unsplash.com/photo-1563986768609-322da13575f3.jpg',
status: 1,
},
{
id: 2010,
cardId: 1002,
type: 'article' as BentoBlockType,
colSpan: 1 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 4,
title: '现代微服务下的多云零信任安全实践',
content: '解构全球分布式企业如何通过 eBPF 与 SPIFFE 构建坚固的应用安全边界。',
mediaUrl: 'https://images.unsplash.com/photo-1504384308090-c894fdcc538d.jpg',
status: 1,
},
{
id: 2011,
cardId: 1002,
type: 'social' as BentoBlockType,
colSpan: 1 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 5,
title: '技术专栏与开源社区',
content: 'GitHub 开源项目贡献者,定期分享 Cloud Native 与 GPU 算力优化专题。',
linkUrl: 'https://linkedin.com/in/elena-rostova-cloud',
status: 1,
},
{
id: 2012,
cardId: 1002,
type: 'form' as BentoBlockType,
colSpan: 2 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 6,
title: '预约云原生架构深度咨询',
content: '提供企业异地多活、GPU 资源池化与跨国网络加速的一对一专家诊断。',
status: 1,
},
],
cases: [
{
id: 3002,
cardId: 1002,
title: '跨国全球支付金融级容灾架构改造',
client: 'PayNova International',
duration: '2025.03 - 2025.08',
metrics: '交易超时率降低 98.4%,算力成本节省 35%,支撑每日 3 亿美元交易',
coverImage: 'https://images.unsplash.com/photo-1563986768609-322da13575f3.jpg',
description: '基于异地多活方案实现 RPO=0, RTO<1s 的高可用架构,顺利通过全球多国金融安全与合规审计。',
},
],
articles: [
{
id: 4002,
cardId: 1002,
title: '在大模型时代重新思考全球分布式架构演进',
summary: '探索算力调度从传统微服务容器编排向 GPU 异构资源池化迁移的核心技术瓶颈与破局之道。',
content: '伴随企业全球化战略加速,算力孤岛与跨大洲网络延迟成为制约 AI 商业落地的最大瓶颈。通过结合网络拓扑感知的近端推理调度与智能缓存穿透策略,我们成功在多云混部环境下将推理效率提升了 300%...',
coverImage: 'https://images.unsplash.com/photo-1504384308090-c894fdcc538d.jpg',
isPublished: true,
},
],
},
// ==========================================
// 名片 3: 跨国智慧能源与技术合作 (Tariq Al-Mansoor)
// ==========================================
{
card: {
id: 1003,
tenantId: 1,
slug: 'tariq-al-mansoor',
name: 'Tariq Al-Mansoor',
title: 'MENA Business Director',
company: 'SilkRoad Oasis Ventures',
slogan: 'Bridging APAC Technologies with Middle East Energy Infrastructure',
avatarUrl: 'https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d.jpg',
phone: '+971501234567',
email: 'tariq@silkroadoasis.ae',
whatsapp: '+971501234567',
linkedin: 'https://linkedin.com/in/tariq-almansoor-mena',
timezone: 'Asia/Dubai',
audioPronunciationUrl: 'https://cdn.omnicard.ai/audio/tariq.mp3',
status: 'published',
themeCode: 'gold_luxe',
userId: 103,
remark: '海湾地区重大清洁能源国际合作项目投资总监',
},
bentoBlocks: [
{
id: 2013,
cardId: 1003,
type: 'hero' as BentoBlockType,
colSpan: 2 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 1,
title: '海湾合作委员会 (GCC) 绿色能源生态',
content: '常驻阿布扎比与利雅得,深耕沙特“2030愿景”与国际绿色高端技术与装备对接。',
mediaUrl: 'https://images.unsplash.com/photo-1509391365360-2e959784a276.jpg',
status: 1,
},
{
id: 2014,
cardId: 1003,
type: 'video' as BentoBlockType,
colSpan: 2 as BentoColSpan,
rowSpan: 2 as BentoRowSpan,
sortOrder: 2,
title: '阿布扎比 2GW 光伏产业示范园落成实景',
content: '沙漠极端高温环境下的自动化清扫与高效储能实景纪录片,见证中东绿色能源奇迹。',
mediaUrl: 'https://images.unsplash.com/photo-1497435334941-8c899ee9e8e9.jpg',
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',
duration: '02:10',
aspectRatio: '16:9',
title: '中东大型绿电产业园实况航拍',
},
status: 1,
},
{
id: 2015,
cardId: 1003,
type: 'case' as BentoBlockType,
colSpan: 1 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 3,
title: '沙特 NEOM 新城微电网建设',
content: '联合国际领先储能集团完成全离网微电网调试,供电可靠率达 99.98%。',
mediaUrl: 'https://images.unsplash.com/photo-1466611653911-95081537e5b7.jpg',
status: 1,
},
{
id: 2016,
cardId: 1003,
type: 'article' as BentoBlockType,
colSpan: 1 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 4,
title: '海湾国家商业投资环境与法律指引',
content: '从外资持股比例到本地化雇佣比率,全方位规避国际跨境投资法律与财税风险。',
mediaUrl: 'https://images.unsplash.com/photo-1512453979798-5ea266f8880c.jpg',
status: 1,
},
{
id: 2017,
cardId: 1003,
type: 'social' as BentoBlockType,
colSpan: 1 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 5,
title: '中东政商直达网络',
content: '阿联酋与沙特本地专线,支持 WhatsApp 商务洽谈与阿拉伯语本土商务对接。',
linkUrl: 'https://linkedin.com/in/tariq-almansoor-mena',
status: 1,
},
],
cases: [
{
id: 3003,
cardId: 1003,
title: '阿布扎比综合智慧能源示范中心一期',
client: 'Abu Dhabi Future Energy PJSC',
duration: '2024.08 - 2025.04',
metrics: '年发电量 32 亿千瓦时,减排二氧化碳 240 万吨,供电可靠率 99.98%',
coverImage: 'https://images.unsplash.com/photo-1466611653911-95081537e5b7.jpg',
description: '整合国际先锋光伏组件与智能追踪支架,打造跨国绿色能源合作的典范工程。',
},
],
articles: [
{
id: 4003,
cardId: 1003,
title: '走进中东:沙特与阿联酋新一轮科技能源投资机遇',
summary: '解析全球高科技与能源装备企业在海湾市场的本土化突围之道与主权基金战略倾向。',
content: '随着海湾国家加速摆脱石油依赖,以绿色能源与智能化技术为核心的产业变革正在全面展开。阿布扎比投资局与沙特 PIF 正积极设立针对亚太高科技与先进制造企业的联合落地基金...',
coverImage: 'https://images.unsplash.com/photo-1512453979798-5ea266f8880c.jpg',
isPublished: true,
},
],
},
// ==========================================
// 名片 4: 全球 DTC 时尚与可持续设计 (Chloe Dubois)
// ==========================================
{
card: {
id: 1004,
tenantId: 1,
slug: 'chloe-dubois',
name: 'Chloe Dubois',
title: 'Global Brand Officer',
company: 'Atelier Lumina Paris',
slogan: 'Sustainable Luxury & Digital Craftsmanship for Conscious Consumers',
avatarUrl: 'https://images.unsplash.com/photo-1573496359142-b8d87734a5a2.jpg',
phone: '+33612345678',
email: 'chloe.dubois@atelierlumina.fr',
whatsapp: '+33612345678',
linkedin: 'https://linkedin.com/in/chloe-dubois-luxury',
timezone: 'Europe/Paris',
audioPronunciationUrl: 'https://cdn.omnicard.ai/audio/chloe.mp3',
status: 'published',
themeCode: 'aurora_glow',
userId: 104,
remark: '巴黎可持续时尚与国际设计师品牌主理人',
},
bentoBlocks: [
{
id: 2018,
cardId: 1004,
type: 'hero' as BentoBlockType,
colSpan: 2 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 1,
title: '可持续奢品与数字美学设计',
content: '联合欧洲独立设计师与亚洲循环新材料实验室,打造触动全球年轻一代的现代胶囊衣橱。',
mediaUrl: 'https://images.unsplash.com/photo-1490481651871-ab68de25d43d.jpg',
status: 1,
},
{
id: 2019,
cardId: 1004,
type: 'video' as BentoBlockType,
colSpan: 2 as BentoColSpan,
rowSpan: 2 as BentoRowSpan,
sortOrder: 2,
title: '巴黎绿色时尚周品牌秀场精选',
content: '从可降解生物丝绸到 0 碳足迹工坊生产实拍,展现先锋环保奢品背后的匠心工艺。',
mediaUrl: 'https://images.unsplash.com/photo-1469334031218-e382a71b716b.jpg',
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',
duration: '01:50',
aspectRatio: '16:9',
title: 'Atelier Lumina Paris 2026 秀场全纪录',
},
status: 1,
},
{
id: 2020,
cardId: 1004,
type: 'case' as BentoBlockType,
colSpan: 1 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 3,
title: '欧美 DTC 独立站零碳系列发售',
content: '上线 48 小时首发即罄,Instagram 话题曝光突破 3,500 万次。',
mediaUrl: 'https://images.unsplash.com/photo-1441986300917-64674bd600d8.jpg',
status: 1,
},
{
id: 2021,
cardId: 1004,
type: 'article' as BentoBlockType,
colSpan: 1 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 4,
title: '时尚产业的数字护照 (DPP) 全球实践',
content: '如何利用区块链与 NFC 芯片追踪服装从棉花田到衣橱的全生命周期溯源。',
mediaUrl: 'https://images.unsplash.com/photo-1558769132-cb1aea458c5e.jpg',
status: 1,
},
{
id: 2022,
cardId: 1004,
type: 'social' as BentoBlockType,
colSpan: 1 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 5,
title: '全球先锋买手与媒体联络',
content: '直连巴黎与米兰时装周 VIP 媒体公关通道,快速预约媒体样品借拍与合作。',
linkUrl: 'https://linkedin.com/in/chloe-dubois-luxury',
status: 1,
},
],
cases: [
{
id: 3004,
cardId: 1004,
title: 'Atelier Lumina 欧美全渠道首发战役',
client: 'Lumina Paris',
duration: '2025.05 - 2025.09',
metrics: '欧美 GMV 增长 210%,复购率达 38.6%,全网曝光 3500 万次',
coverImage: 'https://images.unsplash.com/photo-1441986300917-64674bd600d8.jpg',
description: '通过数字体验名片与 VIP 专属私人定制预约通道,构建高端时尚圈层闭环。',
},
],
articles: [
{
id: 4004,
cardId: 1004,
title: '为什么新一代全球 DTC 品牌需要重塑品牌心智',
summary: '摆脱低维流量依赖与单一价格战,以真实故事叙事和可持续品牌主张赢得国际高净值客群。',
content: '全球品牌的竞争已经从单纯的供应链红利转向了文化叙事与品牌价值主张的博弈。通过透明的原材料碳足迹披露与极具现代美学的数字名片微官网,品牌得以建立超越单次买卖的长期信任感...',
coverImage: 'https://images.unsplash.com/photo-1558769132-cb1aea458c5e.jpg',
isPublished: true,
},
],
},
// ==========================================
// 名片 5: 跨国供应链与自动化物流 (Kenji Tanaka)
// ==========================================
{
card: {
id: 1005,
tenantId: 1,
slug: 'kenji-tanaka',
name: 'Kenji Tanaka',
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',
phone: '+81312345678',
email: 'tanaka.kenji@transpacific.jp',
whatsapp: '+81312345678',
linkedin: 'https://linkedin.com/in/kenji-tanaka-logistics',
wechat: 'kenji_autolink',
timezone: 'Asia/Tokyo',
audioPronunciationUrl: 'https://cdn.omnicard.ai/audio/tanaka.mp3',
status: 'published',
themeCode: 'emerald_fresh',
userId: 105,
remark: '日韩与东南亚跨国汽车主机厂一级供应链负责人',
},
bentoBlocks: [
{
id: 2023,
cardId: 1005,
type: 'hero' as BentoBlockType,
colSpan: 2 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 1,
title: '跨国汽车产业链智能物流中枢',
content: '管理东京、上海、曼谷三大核心转运枢纽港口与 12 座保税自动化立体中心仓。',
mediaUrl: 'https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d.jpg',
status: 1,
},
{
id: 2024,
cardId: 1005,
type: 'video' as BentoBlockType,
colSpan: 2 as BentoColSpan,
rowSpan: 2 as BentoRowSpan,
sortOrder: 2,
title: '跨国自动化立体仓储 AGV 机器人穿梭实况',
content: '全天候智能算法调度,实现零差错零部件入库与跨国干线精准集拼装船。',
mediaUrl: 'https://images.unsplash.com/photo-1616401784845-180882ba9ba8.jpg',
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',
duration: '01:35',
aspectRatio: '16:9',
title: '跨国现代化智能立体仓全景实拍',
},
status: 1,
},
{
id: 2025,
cardId: 1005,
type: 'case' as BentoBlockType,
colSpan: 1 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 3,
title: '中日新能源车配件 48 小时达',
content: '通过全链条条码及 RFID 联动,关务及通关清关时效提速 60%。',
mediaUrl: 'https://images.unsplash.com/photo-1578575437130-527eed3abbec.jpg',
status: 1,
},
{
id: 2026,
cardId: 1005,
type: 'article' as BentoBlockType,
colSpan: 1 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 4,
title: '区域全面经济伙伴关系协定 (RCEP) 关务指南',
content: '深度解读原产地累积规则与跨国多式联运链条中的综合税费优化方案。',
mediaUrl: 'https://images.unsplash.com/photo-1542744173-8e7e53415bb0.jpg',
status: 1,
},
{
id: 2027,
cardId: 1005,
type: 'social' as BentoBlockType,
colSpan: 1 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 5,
title: '亚太产业协同与专线联络',
content: '覆盖日本、韩国、中国与东盟制造基地,支持中英日三语无缝商谈。',
linkUrl: 'https://linkedin.com/in/kenji-tanaka-logistics',
status: 1,
},
],
cases: [
{
id: 3005,
cardId: 1005,
title: '亚太区域核心零部件保税中转枢纽项目',
client: 'Global AutoTech Consortium',
duration: '2024.11 - 2025.07',
metrics: '仓储周转效率提高 42%,破损率控制在 0.001% 以下,准时率 99.9%',
coverImage: 'https://images.unsplash.com/photo-1578575437130-527eed3abbec.jpg',
description: '成功构建日韩到东盟的跨国零备件绿色走廊,达成准时化(JIT)精益交付。',
},
],
articles: [
{
id: 4005,
cardId: 1005,
title: '全球地缘与贸易新常态下的弹性供应链构建',
summary: '面对跨国运价波动与港口堵塞风险,如何通过数字孪生提升跨国供应链业务韧性。',
content: '跨国供应链的制胜关键已经从单一的价格竞争转向全链路的可视化与动态避险能力。通过将干线海运与内陆多式联运数据打通,制造企业可实现精准到小时级的主机厂物料准点上线...',
coverImage: 'https://images.unsplash.com/photo-1542744173-8e7e53415bb0.jpg',
isPublished: true,
},
],
},
// ==========================================
// 名片 6: 瑞士数字医疗与生物医药前沿 (Dr. Marcus Weber)
// ==========================================
{
card: {
id: 1006,
tenantId: 1,
slug: 'marcus-weber',
name: 'Dr. Marcus Weber',
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',
phone: '+41442113355',
email: 'm.weber@swissbiofrontier.ch',
whatsapp: '+41442113355',
linkedin: 'https://linkedin.com/in/dr-marcus-weber-biotech',
twitter: 'https://x.com/marcusweber_bio',
timezone: 'Europe/Zurich',
audioPronunciationUrl: 'https://cdn.omnicard.ai/audio/marcus-weber.mp3',
status: 'published',
themeCode: 'cobalt_blue',
userId: 106,
remark: '苏黎世联邦理工 (ETH Zurich) 特聘研究员,瑞士生物医药创新基金会理事',
},
bentoBlocks: [
{
id: 2028,
cardId: 1006,
type: 'hero' as BentoBlockType,
colSpan: 2 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 1,
title: '计算生物学与抗体工程联合研发平台',
content: '汇聚苏黎世与巴塞尔顶尖科学家,专注肿瘤免疫微环境与新一代双特异性抗体发现。',
mediaUrl: 'https://images.unsplash.com/photo-1532187863486-abf9dbad1b69.jpg',
status: 1,
},
{
id: 2029,
cardId: 1006,
type: 'video' as BentoBlockType,
colSpan: 2 as BentoColSpan,
rowSpan: 2 as BentoRowSpan,
sortOrder: 2,
title: '巴塞尔自动化基因筛选高通量实验室实况',
content: '机械臂集群 7x24 小时全自动化合物微孔板点样与共聚焦显微成像全景解析。',
mediaUrl: 'https://images.unsplash.com/photo-1579154204601-01588f351e67.jpg',
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',
duration: '02:05',
aspectRatio: '16:9',
title: 'SwissBio 自动化实验室高通量筛选演练',
},
status: 1,
},
{
id: 2030,
cardId: 1006,
type: 'case' as BentoBlockType,
colSpan: 1 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 3,
title: '跨国三期多中心临床数字试验',
content: '受试者基因分型筛查周期提速 4.2 倍,数据质控合规率达 99.98%。',
mediaUrl: 'https://images.unsplash.com/photo-1576091160399-112ba8d25d1d.jpg',
status: 1,
},
{
id: 2031,
cardId: 1006,
type: 'article' as BentoBlockType,
colSpan: 1 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 4,
title: 'EMA 与 FDA 新药双报监管策略分析',
content: '探讨数字化真实世界证据 (RWE) 在欧美双边加速审评审批通道中的关键作用。',
mediaUrl: 'https://images.unsplash.com/photo-1507668077129-56e32842fceb.jpg',
status: 1,
},
{
id: 2032,
cardId: 1006,
type: 'social' as BentoBlockType,
colSpan: 1 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 5,
title: '学术与药企直通通道',
content: '常驻苏黎世与巴塞尔生命科学园区,支持国际顶级期刊同行评审与学术交流。',
linkUrl: 'https://linkedin.com/in/dr-marcus-weber-biotech',
status: 1,
},
{
id: 2033,
cardId: 1006,
type: 'form' as BentoBlockType,
colSpan: 2 as BentoColSpan,
rowSpan: 1 as BentoRowSpan,
sortOrder: 6,
title: '创新药临床合作与专利授权洽谈',
content: '面向全球创新生物制药企业开放靶点许可与联合早期研发,欢迎提交合作意向。',
status: 1,
},
],
cases: [
{
id: 3006,
cardId: 1006,
title: '瑞士前沿生物医学产业园多中心试验',
client: 'Roche-Novartis 创新联合体',
duration: '2024.06 - 2025.05',
metrics: '受试者基因分型筛查提速 4.2 倍,数据质控合规率 99.98%,临床脱落率降低至 1.8%',
coverImage: 'https://images.unsplash.com/photo-1576091160399-112ba8d25d1d.jpg',
pdfUrl: 'https://cdn.omnicard.ai/cases/swissbio-clinical-report.pdf',
description: '成功运用 AI 驱动的多组学分析系统,加速罕见突变肺癌患者的高精度靶向药物入组。',
},
],
articles: [
{
id: 4006,
cardId: 1006,
title: '从靶点发现到临床申报:AI 驱动抗体偶联药物研发范式转移',
summary: '深度剖析机器学习模型在抗体亲和力成熟、连接子稳定性与毒素载荷释放动力学预测中的实证突破。',
content: '传统药物发现往往经历 5 到 10 年的高成本试错。随着生成式大模型在蛋白质三维构象预测与结合能模拟方面的成熟,我们能够将先导化合物的筛选效率提升数个量级,从根本上重塑创新药研发的风险收益曲线...',
coverImage: 'https://images.unsplash.com/photo-1507668077129-56e32842fceb.jpg',
isPublished: true,
},
],
},
];
/**
* 批量将 Mock 卡片数据写入/同步至底层数据库中 (幂等设计)
*/
export async function seedCardsToDatabase(dataSource: any): Promise<number> {
if (!dataSource) return 0;
const cardRepo = dataSource.getRepository(CardInfoEntity);
const bentoRepo = dataSource.getRepository(CardBentoEntity);
const casesRepo = dataSource.getRepository(CardCasesEntity);
const articleRepo = dataSource.getRepository(CardArticleEntity);
let insertedCount = 0;
for (const bundle of MOCK_CARDS_DATA) {
// 1. 保存或更新名片主表
let card = await cardRepo.findOne({ where: { slug: bundle.card.slug } });
if (!card) {
card = cardRepo.create(bundle.card);
} else {
Object.assign(card, bundle.card);
}
const savedCard = await cardRepo.save(card);
insertedCount++;
const cardId = Number(savedCard.id);
// 2. 清理旧 Bento 块并批量写入新 Bento 块
await bentoRepo.delete({ cardId });
for (const b of bundle.bentoBlocks) {
const bento = bentoRepo.create({
...b,
cardId,
});
await bentoRepo.save(bento);
}
// 3. 写入关联案例
await casesRepo.delete({ cardId });
for (const c of bundle.cases) {
const cEntity = casesRepo.create({
...c,
cardId,
});
await casesRepo.save(cEntity);
}
// 4. 写入关联文章
await articleRepo.delete({ cardId });
for (const a of bundle.articles) {
const aEntity = articleRepo.create({
...a,
cardId,
});
await articleRepo.save(aEntity);
}
}
return insertedCount;
}