From 5ca7336fc2e9b0ed2241bbe496daa894de335365 Mon Sep 17 00:00:00 2001 From: wikiboss Date: Mon, 21 Sep 2026 15:39:01 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=85=A8=E5=B1=80=E5=8E=BB?= =?UTF-8?q?=E9=99=A4=E8=AF=AF=E5=AF=BC=E6=80=A7AI=E6=8F=8F=E8=BF=B0?= =?UTF-8?q?=E4=B8=8E=E6=B5=AE=E5=A4=B8=E4=BF=AE=E9=A5=B0=EF=BC=8C=E9=9D=A2?= =?UTF-8?q?=E5=90=91=E7=94=9F=E4=BA=A7=E7=8E=AF=E5=A2=83=E6=A0=87=E5=87=86?= =?UTF-8?q?=E5=8C=96=E5=95=86=E5=8A=A1=E6=99=BA=E8=83=BD=E6=9C=AF=E8=AF=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 2 +- README.md | 4 +- admin/src/pages/ai/concierge/locale/index.ts | 20 ++++---- admin/src/pages/ai/translation/index.tsx | 4 +- .../src/pages/ai/translation/locale/index.ts | 2 +- admin/tests/ai-translation.test.ts | 2 +- backend/src/modules/ai/config.ts | 4 +- backend/src/modules/ai/service/deepseek.ts | 2 +- .../modules/crm/service/lead-automation.ts | 2 +- backend/test/e2e/omnicard-30-points.test.ts | 6 +-- backend/test/modules/ai/sandbox.test.ts | 2 +- backend/test/modules/ai/tenant-byok.test.ts | 2 +- .../test/modules/crm/lead-automation.test.ts | 2 +- backend/test/mpuniapp/owner-card-home.test.ts | 31 ++++++++++++ docs/PRODUCT_REQUIREMENTS_DOCUMENT.md | 48 +++++++++---------- .../round-5/browser-init-btp19.js | 2 +- mpuniapp/pages/owner/card/index.uvue | 3 +- mpuniapp/pages/owner/card/useCardHome.uts | 21 ++++++++ mpuniapp/pages/portal/useExchange.uts | 2 +- mpuniapp/tests/owner-profile.test.ts | 26 ++++++++++ 20 files changed, 133 insertions(+), 54 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index f6da2f3..dfb7ac2 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -12,7 +12,7 @@ - **业务核心模块**: 1. 微官网搭建与展示系统(Bento Grid 便当盒美学、响应式与 RTL 多语言适配) 2. 访客雷达与轻量级商务 CRM(国家定位、停留轨迹、意向度评分、线索跟进) - 3. AI 智能中枢与数字人顾问(全天候接待客商、智能留资、多语言地道润色) + 3. 智能中枢与在线商务顾问(全天候接待客商、智能留资、多语言地道润色) 4. NFC 实体卡硬件云端生命周期管理(场景切换、远程挂失) 5. 企业团队管理与多租户商业化订阅体系 diff --git a/README.md b/README.md index 376df42..dcd18f1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # OmniCard AI (全球智能数字名片 & 移动微官网 SaaS) -> 面向全球现代商务、跨国团队与专业顾问的下一代 **AI 驱动型智能名片 + 移动微官网 + 访客雷达 CRM + NFC 实体卡管理** 一体化平台。 +> 面向全球现代商务、跨国团队与专业顾问的下一代 **智能名片 + 移动微官网 + 访客雷达 CRM + NFC 实体卡管理** 一体化平台。 --- @@ -8,7 +8,7 @@ - 📘 **[产品需求文档 (PRD)](./docs/PRODUCT_REQUIREMENTS_DOCUMENT.md)** - 核心商业定位与目标用户画像 - - 6大业务架构模块(微官网搭建系统、全球多语言引擎、AI 智能中枢、访客雷达 CRM、NFC 硬件中枢、企业团队管理) + - 6大业务架构模块(微官网搭建系统、全球多语言引擎、智能助理与知识库、访客雷达 CRM、NFC 硬件中枢、企业团队管理) - 商业化分级订阅模型 (Free / Pro / Enterprise) - 阶段性演进实施路线图 (MVP 规划) diff --git a/admin/src/pages/ai/concierge/locale/index.ts b/admin/src/pages/ai/concierge/locale/index.ts index 2a883de..54ac68f 100644 --- a/admin/src/pages/ai/concierge/locale/index.ts +++ b/admin/src/pages/ai/concierge/locale/index.ts @@ -45,7 +45,7 @@ const i18n = { 'aiConcierge.request.saveFail': 'Failed to save configuration', 'aiDeepSeek.card.title': 'DeepSeek Official LLM Configuration', 'aiDeepSeek.card.desc': - 'Configure DeepSeek API Key, supporting deepseek-chat and deepseek-reasoner dual models for 24/7 AI concierge and cross-border localization.', + 'Configure DeepSeek API Key, supporting deepseek-chat and deepseek-reasoner dual models for online concierge and multi-language translation.', 'aiDeepSeek.form.apiKey': 'API Key', 'aiDeepSeek.form.apiKey.placeholder': 'Enter official API Key starting with sk- (leave blank to keep current)', @@ -71,9 +71,9 @@ const i18n = { }, 'zh-CN': { 'menu.ai.concierge': 'AI 顾问配置', - 'aiConcierge.card.title': '名片 AI 顾问人设与意向留资策略', + 'aiConcierge.card.title': '名片智能顾问人设与意向留资策略', 'aiConcierge.card.desc': - '设定名片数字人顾问的人设定位、开场欢迎语及雷达意向度自动留资触发阈值。', + '设定名片智能顾问的人设定位、开场欢迎语及意向留资触发阈值。', 'aiConcierge.form.cardSelect': '关联名片', 'aiConcierge.form.cardSelect.placeholder': '选择或输入名片 ID', 'aiConcierge.form.persona': '预设人设', @@ -97,25 +97,25 @@ const i18n = { '输入访客初次唤醒名片对话窗时的首条问候引导词...', 'aiConcierge.form.prompt': '系统人设指令 (Prompt Template)', 'aiConcierge.form.prompt.placeholder': - '定义 AI 顾问的角色设定、回答边界及产品业务知识准则...', + '定义智能顾问的角色设定、回答边界及产品业务知识准则...', 'aiConcierge.form.threshold': '意向留资触发阈值', 'aiConcierge.form.threshold.desc': - '当访客行为意向度或雷达评分达到该分值时,AI 将主动发起引导留资。', + '当访客意向度评分达到该分值时,智能顾问将主动发起引导留资。', 'aiConcierge.form.threshold.low': '积极留资 (分值较低)', 'aiConcierge.form.threshold.high': '谨慎留资 (高分触发)', - 'aiConcierge.form.status': '启用 AI 顾问', + 'aiConcierge.form.status': '启用在线顾问', 'aiConcierge.form.status.desc': - '关闭后,访客端名片页将隐藏或暂停 AI 对话浮窗交互。', + '关闭后,访客端名片页将隐藏在线顾问咨询浮窗。', 'aiConcierge.action.save': '保存配置', 'aiConcierge.action.reset': '恢复预设', 'aiConcierge.validation.cardId': '请选择或填写名片 ID', 'aiConcierge.validation.welcome': '请输入欢迎语', - 'aiConcierge.request.success': 'AI 顾问配置已保存', - 'aiConcierge.request.fail': 'AI 顾问配置加载失败', + 'aiConcierge.request.success': '智能顾问配置已保存', + 'aiConcierge.request.fail': '智能顾问配置加载失败', 'aiConcierge.request.saveFail': '保存配置失败', 'aiDeepSeek.card.title': 'DeepSeek 官方大模型底座配置', 'aiDeepSeek.card.desc': - '配置 DeepSeek API Key,支持 deepseek-chat 与 deepseek-reasoner 双模型接入,赋能 24/7 AI 顾问对话与多语言智能润色。', + '配置 DeepSeek 接口凭证与模型接入,支持在线顾问智能应答与多语言翻译。', 'aiDeepSeek.form.apiKey': 'API Key 密钥', 'aiDeepSeek.form.apiKey.placeholder': '输入 sk- 开头的官方密钥 (留空则保留当前已配置密钥)', diff --git a/admin/src/pages/ai/translation/index.tsx b/admin/src/pages/ai/translation/index.tsx index e651b22..d809f88 100644 --- a/admin/src/pages/ai/translation/index.tsx +++ b/admin/src/pages/ai/translation/index.tsx @@ -127,7 +127,7 @@ function AiTranslationPage() { const t = useLocale(locale) as Record; const requestFailText = t['aiTranslation.request.fail']; - // 1. 实时润色试炼器状态 + // 1. 实时润色工作区状态 const [playgroundForm] = Form.useForm(); const [polishing, setPolishing] = useState(false); const [polishResult, setPolishResult] = useState(null); @@ -456,7 +456,7 @@ function AiTranslationPage() { return (
- {/* 实时润色试炼器 (Live Polish Playground) */} + {/* 实时润色工作区 (Live Polish Playground) */}
{ return { - name: 'AI 智能中枢模块', - description: '名片内置顾问对话、意向识别与多语言文案润色', + name: '智能服务模块', + description: '名片在线顾问对话、意向识别与多语言文案润色', middlewares: [], globalMiddlewares: [], order: 40, diff --git a/backend/src/modules/ai/service/deepseek.ts b/backend/src/modules/ai/service/deepseek.ts index b492371..b7e72d4 100644 --- a/backend/src/modules/ai/service/deepseek.ts +++ b/backend/src/modules/ai/service/deepseek.ts @@ -204,7 +204,7 @@ export class DeepSeekService extends BaseService { ): string { const parts: string[] = []; - parts.push('你是 OmniCard AI 驱动的移动微官网数字人智能顾问。'); + parts.push('你是微官网的在线智能商务顾问。'); if (card?.name) parts.push(`名片所有者姓名: ${card.name}`); if (card?.company) parts.push(`所属企业: ${card.company}`); if (card?.title) parts.push(`头衔职位: ${card.title}`); diff --git a/backend/src/modules/crm/service/lead-automation.ts b/backend/src/modules/crm/service/lead-automation.ts index fbfc04b..b2ace1b 100644 --- a/backend/src/modules/crm/service/lead-automation.ts +++ b/backend/src/modules/crm/service/lead-automation.ts @@ -82,7 +82,7 @@ export function evaluateLeadStagePromotion( return { promoted: true, targetStage: 'contacted', - reason: '客户与 AI 数字人顾问深度交互或停留超过 120 秒,已成功建联', + reason: '客户与在线智能顾问交互或停留超过 120 秒,已成功建联', }; } } diff --git a/backend/test/e2e/omnicard-30-points.test.ts b/backend/test/e2e/omnicard-30-points.test.ts index 7e7b354..8540800 100644 --- a/backend/test/e2e/omnicard-30-points.test.ts +++ b/backend/test/e2e/omnicard-30-points.test.ts @@ -739,10 +739,10 @@ describe('OmniCard AI 30-Point End-to-End Pipeline Integration Suite', () => { }); // ========================================================================= - // 主干流 3:AI 智能中枢 (P13 ~ P17) - // 人设配置 ➔ RAG 切片与沙盒召回 ➔ 术语库润色 ➔ 流式对话与留资卡片 + // 主干流 3:智能服务与在线顾问 (P13 ~ P17) + // 人设配置 ➔ RAG 切片与沙盒召回 ➔ 术语库润色 ➔ 对话与留资卡片 // ========================================================================= - describe('主干流 3: AI 智能中枢 (Points 13-17)', () => { + describe('主干流 3: 智能服务与在线顾问 (Points 13-17)', () => { it('P13: 名片 AI 顾问人设、基调与留资触发阈值配置', async () => { const config = await aiConciergeService.saveByCardId(sharedCardId, { personaType: 'trade_expert', diff --git a/backend/test/modules/ai/sandbox.test.ts b/backend/test/modules/ai/sandbox.test.ts index ef84a7c..646e0ff 100644 --- a/backend/test/modules/ai/sandbox.test.ts +++ b/backend/test/modules/ai/sandbox.test.ts @@ -189,7 +189,7 @@ describe('Point 07: AI 知识库分块切片与召回沙盒 (modules/ai knowledg it('AiKnowledgeService.sandboxTest 应能执行切片并召回', async () => { const result = await service.sandboxTest({ query: 'NFC 实体卡', - content: 'OmniCard NFC 智能实体名片碰一碰极速交换。另有 AI 智能数字人与访客雷达。', + content: 'OmniCard NFC 智能实体名片碰一碰极速交换。另有在线智能顾问与访客雷达。', chunkSize: 30, overlap: 5, topK: 2, diff --git a/backend/test/modules/ai/tenant-byok.test.ts b/backend/test/modules/ai/tenant-byok.test.ts index 50d1aeb..6f26895 100644 --- a/backend/test/modules/ai/tenant-byok.test.ts +++ b/backend/test/modules/ai/tenant-byok.test.ts @@ -1,7 +1,7 @@ import { DeepSeekService } from '../../../src/modules/ai/service/deepseek'; import { CoolCommException } from '@cool-midway/core'; -describe('AI 智能中枢: 多租户 BYOK 配置隔离与 Token 成本风控', () => { +describe('智能服务模块: 多租户 BYOK 配置隔离与 Token 成本风控', () => { let service: DeepSeekService; beforeEach(() => { diff --git a/backend/test/modules/crm/lead-automation.test.ts b/backend/test/modules/crm/lead-automation.test.ts index ced42bc..5591a08 100644 --- a/backend/test/modules/crm/lead-automation.test.ts +++ b/backend/test/modules/crm/lead-automation.test.ts @@ -22,7 +22,7 @@ describe('Point 58 (P1): 潜客线索行为自动化阶段推进引擎', () => { expect(next.promoted).toBe(true); expect(next.targetStage).toBe('contacted'); - expect(next.reason).toContain('AI'); + expect(next.reason).toContain('智能顾问'); }); it('访客提交留资或雷达意向分 >= 80 时,应自动推进为 qualified', () => { diff --git a/backend/test/mpuniapp/owner-card-home.test.ts b/backend/test/mpuniapp/owner-card-home.test.ts index 68c5ceb..35b5429 100644 --- a/backend/test/mpuniapp/owner-card-home.test.ts +++ b/backend/test/mpuniapp/owner-card-home.test.ts @@ -217,6 +217,37 @@ describe('OmniCard AI 名片主移动名片中心 (useCardHome.uts)', () => { ); }); }); + + describe('3. formatSvgDataUri 转换契约', () => { + it('3.1 遇到 { + const { formatSvgDataUri } = loadUseCardHome() as unknown as { + formatSvgDataUri: (svg: string) => string; + }; + + const raw = ''; + const result = formatSvgDataUri(raw); + expect(result.startsWith('data:image/svg+xml;utf8,')).toBe(true); + expect(result).toContain(encodeURIComponent('')); + }); + + it('3.2 遇到已经是 http/https 或 data: 开头的链接保持原样', () => { + const { formatSvgDataUri } = loadUseCardHome() as unknown as { + formatSvgDataUri: (svg: string) => string; + }; + + expect(formatSvgDataUri('https://cdn.example.com/qr.png')).toBe('https://cdn.example.com/qr.png'); + expect(formatSvgDataUri('data:image/png;base64,ABC')).toBe('data:image/png;base64,ABC'); + }); + + it('3.3 遇到空串或无效值返回空串', () => { + const { formatSvgDataUri } = loadUseCardHome() as unknown as { + formatSvgDataUri: (svg: string) => string; + }; + + expect(formatSvgDataUri('')).toBe(''); + expect(formatSvgDataUri(' ')).toBe(''); + }); + }); }); describe('OmniCard AI 名片主名片中心页契约 (index.uvue)', () => { diff --git a/docs/PRODUCT_REQUIREMENTS_DOCUMENT.md b/docs/PRODUCT_REQUIREMENTS_DOCUMENT.md index f985df2..73e7465 100644 --- a/docs/PRODUCT_REQUIREMENTS_DOCUMENT.md +++ b/docs/PRODUCT_REQUIREMENTS_DOCUMENT.md @@ -6,11 +6,11 @@ ### 一、 产品战略定位与商业愿景 (Product Vision & Strategy) #### 1.1 产品定位 -**OmniCard AI** 是一款面向**全球现代商务、跨国企业团队、自由职业者及国际会展场景**的新一代 **AI 驱动型智能数字名片 + 移动微官网 (Bento Micro-Site) + 潜客雷达 CRM + 实体 NFC 智能卡管家** 一体化 SaaS 平台。 +**OmniCard AI** 是一款面向**全球现代商务、跨国企业团队、自由职业者及国际会展场景**的新一代 **智能数字名片 + 移动微官网 (Bento Micro-Site) + 潜客雷达 CRM + 实体 NFC 智能卡管家** 一体化 SaaS 平台。 -它不仅是一张数字名片,更是全球企业与个人的**微型官网**与**24小时自动获客线索引擎**: -- **用户端与微官网(User Client: App & H5)**:秒级首屏响应、无缝多语言自适应(含 RTL 排版)、Bento Grid 现代卡片美学、名片内置 24/7 AI 顾问对话、NFC 实体卡秒级碰触与离线 vCard 导入。 -- **管理后台前端(Admin Web)**:可视化名片搭建、AI 批量本地化润色、NFC 硬件全生命周期下发管控、访客轨迹透视与 CRM 商机漏斗、多租户企业品牌管控。 +它不仅是一张数字名片,更是全球企业与个人的**微型官网**与**全天候获客线索引擎**: +- **用户端与微官网(User Client: App & H5)**:秒级首屏响应、无缝多语言自适应(含 RTL 排版)、Bento Grid 现代卡片美学、名片在线智能商务顾问、NFC 实体卡秒级碰触与离线 vCard 导入。 +- **管理后台前端(Admin Web)**:可视化名片搭建、多语言本地化智能润色、NFC 硬件全生命周期下发管控、访客轨迹透视与 CRM 商机漏斗、多租户企业品牌管控。 - **后端中枢服务(Backend API)**:基于 Cool-Admin (Node.js) 模块化架构,提供高性能企业级数据中枢、安全 RBAC 鉴权、微秒级雷达日志追踪及官方插件集成。 #### 1.2 核心用户画像 (Target Personas) @@ -34,7 +34,7 @@ flowchart TD Portal[Bento 风格移动微官网 (H5 秒开)] i18nDetect[动态地域与多语言检测 (Geo-i18n / RTL)] vCardDownload[一键存入手机通讯录 (RFC 6350 vCard)] - AIAgent[名片内置 AI 对话顾问 (24/7 Q&A / 留资)] + AIAgent[名片在线智能顾问 (24/7 咨询 / 留资)] CaseHub[精选案例与多媒体展厅] ArticleHub[深度文章与公司动态] LeadCapture[一键互换名片 / 快速留资] @@ -107,17 +107,17 @@ flowchart TD 3. **地理位置自动路由 (Geo-Routing)**: - 访客扫码时,根据 IP 地理位置与浏览器语言自动呈现对应语言版本,右上角常驻全球语言切换器。 -#### 3.3 模块三:AI 智能中枢 (Omni AI Suite) -1. **AI 智能一键生成名片 (AI Card Co-pilot)**: - - 输入公司官网 URL、领英主页链接或一段纯文本公司介绍,AI 自动提炼核心优势并在 10 秒内生成完整的名片布局与代表案例。 -2. **AI 深度商务本地化润色与翻译 (AI Localization)**: +#### 3.3 模块三:智能服务中枢 (Omni Intelligence Suite) +1. **名片智能快捷生成**: + - 输入公司官网 URL、领英主页链接或一段纯文本公司介绍,系统智能提炼核心优势并生成完整的名片布局与代表案例草稿。 +2. **多语言商务本地化与术语润色**: - 结合目标国家商务习惯进行专业术语转换与语调调节(Professional 专业稳重 / Direct 严谨直观 / Storytelling 品牌叙事)。 -3. **名片 AI 智能对话代表 (Card-Embedded AI Concierge)**: - - 名片内置 24/7 悬浮 AI 助手。 +3. **名片在线智能顾问 (Card-Embedded Concierge)**: + - 名片在线智能商务助手。 - **知识库灌注 (RAG)**:名片主可上传个人简历、公司 FAQ、产品规格书、价格区间。 - - 意图识别与留资:当检测到深度意向时,AI 自动引导客户留下联系方式并同步至 CRM。 -4. **AI 销售辅助与商机生成 (AI Copilot for Seller)**: - - 根据访客行为生成《潜在客户意向度诊断报告》,并自动生成个性化跟进话术建议。 + - 意图识别与留资:当检测到深度意向时,系统智能引导客户留下联系方式并同步至 CRM。 +4. **销售线索跟进与商机建议**: + - 根据访客行为生成客户意向度诊断分析,并提供个性化跟进话术建议。 #### 3.4 模块四:轻量级客户关系 CRM 与访客雷达 (Lead CRM & Radar) 1. **实时访客雷达 (Visitor Radar)**: @@ -127,7 +127,7 @@ flowchart TD - “互换名片”弹窗:访客快速输入姓名、公司、邮箱/WhatsApp,或拍照上传纸质名片(OCR 识别入库)。 3. **线索全生命周期看板 (Lead Pipeline)**: - 状态流转:新线索 (New) → 已建立联系 (Contacted) → 深度意向 (Hot) → 赢单 (Won) / 沉睡 (Archived)。 - - 客户详细画像:历次访问时间轴、阅读案例偏好、AI 智能跟进备忘录。 + - 客户详细画像:历次访问时间轴、阅读案例偏好、跟进备忘录。 4. **第三方生态打通**: - 支持将线索一键导出或同步至国际主流 CRM(HubSpot、Salesforce)或 Webhook 转发至飞书/Slack。 @@ -179,13 +179,13 @@ admin-web/ (Arco Pro 架构) | **微官网搭建** | `/card/builder/:id` | Bento 可视化搭建器 | **左侧组件库**:Hero身份、社媒矩阵、案例卡、文章卡、视频音频、留资表单;
**中间画布**:手机端视口实时响应模拟(支持浅/深色、RTL阿语实时镜像);
**右侧属性配置**:模块属性、多语言文案切换、Bento 跨度调整 (1x1, 1x2, 2x1, 2x2)。 | `Layout`, `Tabs`, `Form`, `Slider`, `Upload`, `Switch`, `ColorPicker` | | **案例展厅** | `/card/cases` | 案例作品集管理 | 标杆成功案例列表;多媒体素材管理(图片瀑布流、YouTube/Vimeo 链接);方案 PDF 白皮书上传;成果 KPI 标签打标。 | `Table`, `Modal`, `Form.Item`, `Upload`, `Tag` | | **文章动态** | `/card/articles` | 博客与动态发布 | 富文本文章发布;移动端排版预览;SEO 与 OpenGraph 社交预览卡(WhatsApp/LinkedIn)图片与描述自动生成。 | `Table`, `Input`, `Drawer`, `Alert` | -| **AI 智能客服** | `/ai/concierge` | 名片 AI 顾问调优 | 数字人/顾问人设设定(国际贸易顾问、商务代表等);欢迎语与引导词设置;高频 FAQ 手动配置;自动留资触发策略设置。 | `Form`, `Input.TextArea`, `Slider`, `Radio.Group`, `Card` | +| **智能客服** | `/ai/concierge` | 名片智能顾问调优 | 顾问人设设定(国际贸易顾问、商务代表等);欢迎语与引导词设置;高频 FAQ 手动配置;自动留资触发策略设置。 | `Form`, `Input.TextArea`, `Slider`, `Radio.Group`, `Card` | | **知识库 RAG** | `/ai/knowledge` | 知识库与向量切片 | 知识库文件批量上传(PDF/Docx/TXT/MD);URL 网站智能抓取;向量化进度条与分块切片预览;召回命中率调试沙盒。 | `Upload.Dragger`, `Progress`, `Table`, `Drawer`, `Input.Search` | -| **智能润色** | `/ai/translation` | 多语言 AI 润色中心 | 批量多语言内容润色与地道化翻译;跨国专有名词与行业术语库 (Glossary) 维护;口吻风格切换(稳重/直接/故事感)。 | `Table`, `Select`, `Input`, `Button`, `Space` | +| **智能润色** | `/ai/translation` | 多语言润色中心 | 批量多语言内容润色与地道化翻译;跨国专有名词与行业术语库 (Glossary) 维护;口吻风格切换(稳重/直接/故事感)。 | `Table`, `Select`, `Input`, `Button`, `Space` | | **访客轨迹** | `/crm/radar-log` | 访客雷达实时足迹 | 访客明细流水表(时间、国家城市 IP、触碰方式 NFC/QR、停留时长、滚动深度、浏览模块序列);深度访问高亮提示。 | `Table`, `Tag`, `Badge`, `Tooltip`, `Pagination` | | **线索管理** | `/crm/leads` | 潜客线索关系库 | 客户线索全量列表;意向度等级打标 (`Hot` / `Warm` / `Cold`);跟进人分配;批量导出 Excel;一键推送到外部 CRM。 | `Table`, `Select`, `Tag`, `Modal`, `Drawer`, `Message` | | **商机看板** | `/crm/pipeline` | 销售商机流转看板 | 泳道式阶段看板(新留资 ➔ 首次接触 ➔ 方案对接 ➔ 赢单/输单);卡片拖拽流转;商机总金额与转化率统计。 | `Grid`, `Card`, `Avatar`, `Tag`, `Typography.Text` | -| **线索画像** | `/crm/leads/:id` | 客户全景画像抽屉 | 客户资料详情;历次名片访问时间轴(时空轨迹);AI 提炼的客户意向重点;AI 智能生成跟进邮件/WhatsApp 破冰首语。 | `Drawer`, `Descriptions`, `Timeline`, `Input.TextArea`, `Button` | +| **线索画像** | `/crm/leads/:id` | 客户全景画像抽屉 | 客户资料详情;历次名片访问时间轴(时空轨迹);客户意向重点提炼;智能生成跟进邮件/WhatsApp 沟通首语。 | `Drawer`, `Descriptions`, `Timeline`, `Input.TextArea`, `Button` | | **NFC 设备池** | `/nfc/devices` | NFC 实体硬件舰队 | 卡片设备台账(UID、批次、硬件材质木质/金属/PVC、绑定名片、激活状态、最后刷卡时间);远程一键挂失与重置。 | `Table`, `Badge`, `Popconfirm`, `Modal`, `Tag` | | **NFC 场景规则** | `/nfc/rules` | 硬件场景路由规则 | 场景化动态切换策略配置(例如:工作日 9:00-18:00 展会名片,晚间/周末社交名片;或按地理位置国家自动路由)。 | `Form`, `TimePicker`, `Select`, `Switch`, `Card` | | **硬件批量管理**| `/nfc/batch` | 批量制卡与下发 | 展会硬件批量下发向导;出厂短链批量生成与二维码打包下载;硬件库存盘点与防伪激活码管理。 | `Steps`, `Upload`, `Table`, `Progress`, `Button` | @@ -225,14 +225,14 @@ user-client/ (uni-app x 目录架构) | **访客端** | `pages/portal/index` | **Bento 移动微官网主页** | **首屏秒开 (<500ms)**;自适应国际化与阿语 RTL;
1. **Hero 身份区**:头像、姓名、头衔、公司、时区、名字语音发音条;
2. **快捷动作条**:一键呼叫 WhatsApp / LinkedIn / 电话;
3. **常驻悬浮 CTA**:一键保存到手机通讯录 (vCard 3.0/4.0);
4. **Bento 瀑布流**:精选案例展厅、深度文章、服务定价卡;
5. **右下角悬浮**:24/7 AI 对话顾问唤起气泡。 | ``, ``, ``, ``, `uni-popup`, `uni-badge` | | **访客端** | `pages/portal/case-detail` | 案例作品集详情页 | 标杆案例深度展示;多图画廊轮播;方案成效指标数据卡 (KPI Cards);嵌入式 PDF 白皮书在线预览;一键咨询按钮。 | ``, ``, ``, `