钱新宇 před 3 týdny
rodič
revize
5b434231d3

+ 122 - 0
retrieval/DEPLOY.md

@@ -0,0 +1,122 @@
+# GEO 资产部署与验收
+
+本文只说明 `retrieval` 子项目的 GEO 资产。项目使用 pnpm,Vite 构建目录为 `price/`;`price/` 已被 Git 忽略,不要直接手工修改其中的文件。
+
+## 资产分层
+
+构建后需要随站点上传:
+
+- `public/llms.txt` → `/llms.txt`
+- `public/robots.txt` → `/robots.txt`
+- `public/sitemap.xml` → `/sitemap.xml`
+- `index.html` 中的 Organization、WebSite 和 SoftwareApplication JSON-LD
+- 首页渲染的产品定义、FAQ、WebPage 和 FAQPage JSON-LD
+
+只在仓库内维护,不要单独上传:
+
+- `geo/jsonld/`:结构化数据的可审阅源文件
+- `geo/snippets/`:产品定义和 FAQ 的无样式 HTML 内容稿
+- `geo/internal/`:事实边界、来源和禁写项
+- `geo/outlines/`:内容团队的大纲
+
+`geo/jsonld/article.json` 和 `geo/jsonld/breadcrumb.json` 是候选模板,不应直接加入当前首页:
+
+- 当前首页是产品页,应使用 WebPage,而不是把首页标记成 Article。只有发布真实的独立文章页,并补充准确的发布日期、修改日期和可抓取图片后,才可部署 Article。
+- 面包屑模板描述 `/contact` 的“首页 → 获取方案”层级。只有页面增加可见面包屑并配置该路由的独立页面元数据后,才可部署。
+
+单独上传 JSON 文件不会让搜索引擎自动识别结构化数据;需要使用的 JSON-LD 必须出现在对应页面的 `<script type="application/ld+json">` 中。
+
+## 构建
+
+```bash
+pnpm lint
+pnpm build
+```
+
+构建完成后确认以下文件存在:
+
+```bash
+test -f price/llms.txt
+test -f price/robots.txt
+test -f price/sitemap.xml
+```
+
+上传完整的 `price/` 目录,不要只上传 `index.html` 和 `assets/`。
+
+## Web 服务器配置
+
+现网曾将不存在的 `/llms.txt`、`/robots.txt` 和 `/sitemap.xml` 回退成首页 HTML。部署时要让真实静态文件优先于 SPA fallback,并为文本和 XML 返回正确的内容类型。
+
+以下 Nginx 片段仅展示路由原则;`root`、缓存策略和安全头应合并到实际站点配置中:
+
+```nginx
+location = /llms.txt {
+    try_files $uri =404;
+    default_type text/plain;
+}
+
+location = /robots.txt {
+    try_files $uri =404;
+    default_type text/plain;
+}
+
+location = /sitemap.xml {
+    try_files $uri =404;
+    default_type application/xml;
+}
+
+location /assets/ {
+    try_files $uri =404;
+}
+
+location = / {
+    try_files /index.html =404;
+}
+
+location ~ ^/(contact|privacy|agreement)/?$ {
+    try_files /index.html =404;
+}
+
+location / {
+    try_files $uri =404;
+}
+```
+
+如果新增前端路由,需要同步更新允许回退到 `index.html` 的路由列表。未知路径应返回 404,避免形成 soft 404。
+
+## 上线后验收
+
+先检查状态码和内容类型:
+
+```bash
+curl -fsSI https://price.kailin.com.cn/llms.txt
+curl -fsSI https://price.kailin.com.cn/robots.txt
+curl -fsSI https://price.kailin.com.cn/sitemap.xml
+```
+
+预期:
+
+- `/llms.txt` 与 `/robots.txt` 返回 `200` 和 `text/plain`
+- `/sitemap.xml` 返回 `200` 和 XML 内容类型
+- 三个响应的正文都不是首页 HTML
+- 任意不存在的路径返回 `404`
+
+再检查内容:
+
+```bash
+curl -fsS https://price.kailin.com.cn/llms.txt
+curl -fsS https://price.kailin.com.cn/sitemap.xml
+```
+
+使用可执行 JavaScript 的浏览器检查首页:
+
+- 产品定义和 6 条 FAQ 可见,FAQ 可用键盘展开
+- 页面中存在 Organization、WebSite、WebPage、SoftwareApplication 和 FAQPage
+- FAQPage 的问题与答案和页面可见内容一致
+- 控制台没有新增错误
+
+最后使用 Schema Markup Validator 校验 Schema.org 语法,并使用 Google Rich Results Test 与 Search Console URL Inspection 检查线上抓取结果。结构化数据有助于机器理解页面,但不保证获得富结果或生成式搜索引用。
+
+## 当前限制
+
+当前站点是客户端渲染的 React SPA,首次返回的 HTML 不包含完整页面正文。`llms.txt` 为不执行 JavaScript 的抓取器提供了核心事实,但若要进一步提高所有爬虫的可读性,后续仍应为首页和重要路由增加静态预渲染或服务端渲染,并为各路由提供独立的 title、description 和 canonical。

+ 78 - 0
retrieval/geo/internal/index.json

@@ -0,0 +1,78 @@
+{
+  "version": 1,
+  "locale": "zh-CN",
+  "entity": {
+    "preferredName": "开邻智价云",
+    "alternateName": "智价云",
+    "canonicalUrl": "https://price.kailin.com.cn/",
+    "operator": "深圳大方无隅科技有限公司",
+    "operatorUrl": "https://home.kailin.com.cn/",
+    "businessEmail": "bd@dotouch.tech",
+    "primaryAudience": "需要管理线上渠道价格的医药品牌方",
+    "category": "线上渠道价格数据治理解决方案"
+  },
+  "approvedClaims": [
+    {
+      "claim": "支持 B 端、C 端及 O 端渠道的 7×24 小时监测,数据监测最高支持 T+1 频率",
+      "source": "src/pages/zjy/HomePage.tsx"
+    },
+    {
+      "claim": "支持低价链接清洗、多维数据看板、单品级线索溯源、店铺主体识别和证据固化",
+      "source": "src/pages/zjy/HomePage.tsx"
+    },
+    {
+      "claim": "支持多端通知、链接处置协同、行业与竞品价格分析",
+      "source": "src/pages/zjy/HomePage.tsx"
+    },
+    {
+      "claim": "提供 SaaS、本地化部署、海量数据对接和个性化开发",
+      "source": "src/pages/zjy/HomePage.tsx"
+    },
+    {
+      "claim": "运营主体为深圳大方无隅科技有限公司,商务邮箱为 bd@dotouch.tech",
+      "source": "src/App.tsx"
+    }
+  ],
+  "qualifiedClaims": [
+    {
+      "topic": "监测范围与频率",
+      "requiredQualifier": "具体覆盖范围与频率以项目方案为准"
+    },
+    {
+      "topic": "链接处置",
+      "requiredQualifier": "表述为处置支持或协同,不承诺所有链接必然下架"
+    },
+    {
+      "topic": "码上放心平台",
+      "requiredQualifier": "仅沿用页面的联动表述,不扩写为官方合作、认证或授权"
+    }
+  ],
+  "doNotClaim": [
+    "公开统一定价、免费试用或套餐",
+    "客户评分、客户名单、客户数量或市场份额",
+    "联系电话或完整办公地址",
+    "未经确认的具体电商平台名单",
+    "产品版本号、上线日期或操作系统要求",
+    "将开邻智数或智价云药店版作为本产品别名",
+    "将全平台覆盖、实时监测或链接下架表述为无条件保证"
+  ],
+  "knownConsistencyRisks": [
+    "隐私政策和用户协议正文仍包含开邻智数内容,未作为本次 GEO 事实来源",
+    "O 端的完整业务定义未在公开页面说明",
+    "首页历史文案同时存在实时推送与 T+1 表述,GEO 资产统一采用有来源且带限定的 T+1 口径"
+  ],
+  "deployment": {
+    "public": [
+      "public/llms.txt",
+      "public/robots.txt",
+      "public/sitemap.xml",
+      "首页可见产品定义、FAQ 与对应 JSON-LD"
+    ],
+    "internalOnly": [
+      "geo/internal/",
+      "geo/outlines/",
+      "geo/snippets/",
+      "geo/jsonld/"
+    ]
+  }
+}

+ 20 - 0
retrieval/geo/jsonld/article.json

@@ -0,0 +1,20 @@
+{
+  "@context": "https://schema.org",
+  "@type": "Article",
+  "@id": "https://price.kailin.com.cn/#product-definition-article",
+  "headline": "开邻智价云:医药品牌线上渠道价格数据治理方案",
+  "description": "介绍开邻智价云面向医药品牌方提供的渠道价格监测、违规线索溯源、预警协同与价格分析能力。",
+  "inLanguage": "zh-CN",
+  "mainEntityOfPage": {
+    "@id": "https://price.kailin.com.cn/#webpage"
+  },
+  "author": {
+    "@id": "https://home.kailin.com.cn/#organization"
+  },
+  "publisher": {
+    "@id": "https://home.kailin.com.cn/#organization"
+  },
+  "about": {
+    "@id": "https://price.kailin.com.cn/#softwareapplication"
+  }
+}

+ 19 - 0
retrieval/geo/jsonld/breadcrumb.json

@@ -0,0 +1,19 @@
+{
+  "@context": "https://schema.org",
+  "@type": "BreadcrumbList",
+  "@id": "https://price.kailin.com.cn/contact#breadcrumb",
+  "itemListElement": [
+    {
+      "@type": "ListItem",
+      "position": 1,
+      "name": "首页",
+      "item": "https://price.kailin.com.cn/"
+    },
+    {
+      "@type": "ListItem",
+      "position": 2,
+      "name": "获取方案",
+      "item": "https://price.kailin.com.cn/contact"
+    }
+  ]
+}

+ 57 - 0
retrieval/geo/jsonld/faq-page.json

@@ -0,0 +1,57 @@
+{
+  "@context": "https://schema.org",
+  "@type": "FAQPage",
+  "@id": "https://price.kailin.com.cn/#faq",
+  "url": "https://price.kailin.com.cn/#faq",
+  "inLanguage": "zh-CN",
+  "mainEntity": [
+    {
+      "@type": "Question",
+      "name": "开邻智价云适合哪些企业使用?",
+      "acceptedAnswer": {
+        "@type": "Answer",
+        "text": "开邻智价云主要面向需要管理线上渠道价格的医药品牌方,为品牌的渠道管理、市场和数据相关团队提供价格监测、线索溯源、预警协同与价格分析支持。"
+      }
+    },
+    {
+      "@type": "Question",
+      "name": "开邻智价云主要解决哪些渠道治理问题?",
+      "acceptedAnswer": {
+        "@type": "Answer",
+        "text": "产品针对跨平台违规商家难锁定、人工监测覆盖有限、预警链路长,以及处置和证据留存不及时等场景,帮助品牌方提升线上渠道价格治理效率。"
+      }
+    },
+    {
+      "@type": "Question",
+      "name": "开邻智价云支持哪些监测能力?",
+      "acceptedAnswer": {
+        "@type": "Answer",
+        "text": "产品支持 B 端、C 端及 O 端渠道的 7×24 小时监测,并提供低价链接清洗和多维数据看板。数据监测最高支持 T+1 频率,具体覆盖范围与频率以项目方案为准。"
+      }
+    },
+    {
+      "@type": "Question",
+      "name": "发现价格异常后如何进行溯源和处置?",
+      "acceptedAnswer": {
+        "@type": "Answer",
+        "text": "数据颗粒度可细化至单品级,支持店铺主体识别、技术与人工结合的溯源及证据固化;发现线索后,可通过多端通知和链接处置协同推进后续工作。"
+      }
+    },
+    {
+      "@type": "Question",
+      "name": "开邻智价云能提供哪些价格分析?",
+      "acceptedAnswer": {
+        "@type": "Answer",
+        "text": "产品可通过多维看板呈现行业整体价格动态,以及品类、区域和竞品价格走势,并可提供行业产品价格报告等数据服务。"
+      }
+    },
+    {
+      "@type": "Question",
+      "name": "开邻智价云支持哪些部署和服务方式?",
+      "acceptedAnswer": {
+        "@type": "Answer",
+        "text": "产品提供 SaaS 系统,也支持本地化部署、海量数据对接和个性化开发。企业可通过获取方案页面提交需求,由专业顾问结合实际业务评估方案。"
+      }
+    }
+  ]
+}

+ 14 - 0
retrieval/geo/jsonld/organization.json

@@ -0,0 +1,14 @@
+{
+  "@context": "https://schema.org",
+  "@type": "Organization",
+  "@id": "https://home.kailin.com.cn/#organization",
+  "name": "深圳大方无隅科技有限公司",
+  "url": "https://home.kailin.com.cn/",
+  "email": "bd@dotouch.tech",
+  "contactPoint": {
+    "@type": "ContactPoint",
+    "contactType": "商务合作",
+    "email": "bd@dotouch.tech",
+    "availableLanguage": "zh-CN"
+  }
+}

+ 28 - 0
retrieval/geo/jsonld/software-application.json

@@ -0,0 +1,28 @@
+{
+  "@context": "https://schema.org",
+  "@type": "SoftwareApplication",
+  "@id": "https://price.kailin.com.cn/#softwareapplication",
+  "name": "开邻智价云",
+  "alternateName": "智价云",
+  "url": "https://price.kailin.com.cn/",
+  "description": "面向医药品牌方的线上渠道价格数据治理解决方案,覆盖价格监测、违规线索溯源、预警协同与价格分析。",
+  "applicationCategory": "BusinessApplication",
+  "applicationSubCategory": "线上渠道价格数据治理",
+  "inLanguage": "zh-CN",
+  "provider": {
+    "@id": "https://home.kailin.com.cn/#organization"
+  },
+  "audience": {
+    "@type": "BusinessAudience",
+    "audienceType": "医药品牌方"
+  },
+  "featureList": [
+    "B 端、C 端及 O 端渠道价格监测",
+    "7×24 小时监测与最高 T+1 数据监测",
+    "低价链接清洗与多维数据看板",
+    "单品级线索溯源、店铺主体识别与证据固化",
+    "多端预警与链接处置协同",
+    "行业、品类、区域及竞品价格分析",
+    "SaaS、本地化部署与个性化开发"
+  ]
+}

+ 30 - 0
retrieval/geo/jsonld/web-page.json

@@ -0,0 +1,30 @@
+{
+  "@context": "https://schema.org",
+  "@graph": [
+    {
+      "@type": "WebSite",
+      "@id": "https://price.kailin.com.cn/#website",
+      "url": "https://price.kailin.com.cn/",
+      "name": "开邻智价云",
+      "alternateName": "智价云",
+      "inLanguage": "zh-CN",
+      "publisher": {
+        "@id": "https://home.kailin.com.cn/#organization"
+      }
+    },
+    {
+      "@type": "WebPage",
+      "@id": "https://price.kailin.com.cn/#webpage",
+      "url": "https://price.kailin.com.cn/",
+      "name": "开邻智价云 - 医药品牌线上渠道价格数据治理",
+      "description": "面向医药品牌方的线上渠道价格数据治理解决方案,提供跨平台价格监测、违规线索溯源、预警协同与价格分析。",
+      "inLanguage": "zh-CN",
+      "isPartOf": {
+        "@id": "https://price.kailin.com.cn/#website"
+      },
+      "about": {
+        "@id": "https://price.kailin.com.cn/#softwareapplication"
+      }
+    }
+  ]
+}

+ 70 - 0
retrieval/geo/outlines/index.json

@@ -0,0 +1,70 @@
+{
+  "version": 1,
+  "locale": "zh-CN",
+  "homepage": {
+    "primaryIntent": "了解适合医药品牌方的线上渠道价格数据治理方案",
+    "entity": "开邻智价云",
+    "sections": [
+      {
+        "id": "product-definition",
+        "heading": "开邻智价云是什么?",
+        "purpose": "用一段可独立引用的文字说明产品、服务对象、问题范围与核心价值"
+      },
+      {
+        "id": "pain-points",
+        "heading": "行业渠道治理的痛点",
+        "purpose": "说明商家锁定、人工效率、预警链路与处置固证问题"
+      },
+      {
+        "id": "capabilities",
+        "heading": "4+1 服务优势",
+        "purpose": "按监测、溯源、识别、处置和定制化说明产品能力"
+      },
+      {
+        "id": "service-advantages",
+        "heading": "为什么选择开邻智价云?",
+        "purpose": "说明全域监测、预警触达、专业服务与技术支持"
+      },
+      {
+        "id": "faq",
+        "heading": "关于开邻智价云",
+        "purpose": "直接回答适用企业、治理问题、监测、溯源、分析与部署方式"
+      }
+    ]
+  },
+  "futureArticleOutlines": [
+    {
+      "slug": "pharma-channel-price-monitoring",
+      "title": "医药品牌如何搭建线上渠道价格监测体系",
+      "sections": [
+        "为什么需要跨渠道价格监测",
+        "监测范围与频率如何确定",
+        "如何清洗低价链接并建立多维看板",
+        "从预警到业务协同的流程",
+        "项目评估前需要准备哪些信息"
+      ]
+    },
+    {
+      "slug": "price-clue-traceability",
+      "title": "从异常价格线索到店铺主体溯源",
+      "sections": [
+        "异常价格线索为何难以定位",
+        "单品级数据颗粒度的作用",
+        "主体识别与人工核验如何配合",
+        "证据固化和处置协同",
+        "不应承诺的治理结果"
+      ]
+    },
+    {
+      "slug": "pharma-price-analysis-report",
+      "title": "医药品牌可以怎样使用行业与竞品价格分析",
+      "sections": [
+        "行业整体价格动态",
+        "品类、区域与竞品维度",
+        "多维看板的业务用途",
+        "价格报告如何支持渠道决策",
+        "数据口径与更新频率说明"
+      ]
+    }
+  ]
+}

+ 9 - 0
retrieval/geo/snippets/definition.zh.html

@@ -0,0 +1,9 @@
+<section id="product-definition" aria-labelledby="product-definition-title">
+  <p>产品定义</p>
+  <h2 id="product-definition-title">开邻智价云是什么?</h2>
+  <p>
+    开邻智价云是深圳大方无隅科技有限公司面向医药品牌方提供的线上渠道价格数据治理解决方案。
+    产品围绕跨平台价格监测、违规线索溯源、预警与处置协同、行业及竞品价格分析,
+    帮助品牌方提升渠道管理效率。
+  </p>
+</section>

+ 46 - 0
retrieval/geo/snippets/faq.zh.html

@@ -0,0 +1,46 @@
+<section id="faq" aria-labelledby="faq-title">
+  <p>常见问题</p>
+  <h2 id="faq-title">关于开邻智价云</h2>
+
+  <details>
+    <summary>开邻智价云适合哪些企业使用?</summary>
+    <p>
+      开邻智价云主要面向需要管理线上渠道价格的医药品牌方,为品牌的渠道管理、市场和数据相关团队提供价格监测、线索溯源、预警协同与价格分析支持。
+    </p>
+  </details>
+
+  <details>
+    <summary>开邻智价云主要解决哪些渠道治理问题?</summary>
+    <p>
+      产品针对跨平台违规商家难锁定、人工监测覆盖有限、预警链路长,以及处置和证据留存不及时等场景,帮助品牌方提升线上渠道价格治理效率。
+    </p>
+  </details>
+
+  <details>
+    <summary>开邻智价云支持哪些监测能力?</summary>
+    <p>
+      产品支持 B 端、C 端及 O 端渠道的 7×24 小时监测,并提供低价链接清洗和多维数据看板。数据监测最高支持 T+1 频率,具体覆盖范围与频率以项目方案为准。
+    </p>
+  </details>
+
+  <details>
+    <summary>发现价格异常后如何进行溯源和处置?</summary>
+    <p>
+      数据颗粒度可细化至单品级,支持店铺主体识别、技术与人工结合的溯源及证据固化;发现线索后,可通过多端通知和链接处置协同推进后续工作。
+    </p>
+  </details>
+
+  <details>
+    <summary>开邻智价云能提供哪些价格分析?</summary>
+    <p>
+      产品可通过多维看板呈现行业整体价格动态,以及品类、区域和竞品价格走势,并可提供行业产品价格报告等数据服务。
+    </p>
+  </details>
+
+  <details>
+    <summary>开邻智价云支持哪些部署和服务方式?</summary>
+    <p>
+      产品提供 SaaS 系统,也支持本地化部署、海量数据对接和个性化开发。企业可通过获取方案页面提交需求,由专业顾问结合实际业务评估方案。
+    </p>
+  </details>
+</section>

+ 70 - 7
retrieval/index.html

@@ -5,26 +5,89 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <meta
       name="description"
-      content="线上平台价格数据治理,医药品牌工业全链路解决方案。"
+      content="开邻智价云面向医药品牌方提供线上渠道价格数据治理,覆盖跨平台价格监测、违规线索溯源、预警协同与价格分析。"
     />
+    <meta name="robots" content="index,follow,max-image-preview:large" />
     <meta name="keywords" content="开邻智价云,智价云,渠道价值链守护者,药品价格监测,线上价格数据治理,医药品牌,全链路解决方案,行业渠道治理,违规商家锁定,全平台价格监控,B端C端O端,高频采集,智能清洗低价链接,多维数据看板,价格违规溯源,单品级颗粒度,店铺主体识别,证据固证,SaaS价格系统,本地化部署,码上放心平台,违规链接下架,多端预警推送,T+1预警,联动下架,行业价格指数,竞品价格分析,价格报告,全域智控,价格舆情监控,数据治理,渠道合规" />
-    <meta property="og:title" content="开邻智价云-渠道价值链守护者" />
+    <link rel="canonical" href="https://price.kailin.com.cn/" />
+    <meta property="og:type" content="website" />
+    <meta property="og:locale" content="zh_CN" />
+    <meta property="og:site_name" content="开邻智价云" />
+    <meta property="og:url" content="https://price.kailin.com.cn/" />
+    <meta property="og:title" content="开邻智价云 - 医药品牌线上渠道价格数据治理" />
     <meta
       property="og:description"
-      content="线上平台价格数据治理,医药品牌工业全链路解决方案。"
+      content="面向医药品牌方,提供跨平台价格监测、违规线索溯源、预警协同与价格分析。"
     />
     <meta name="twitter:card" content="summary" />
-    <meta name="twitter:title" content="开邻智价云-渠道价值链守护者" />
+    <meta name="twitter:title" content="开邻智价云 - 医药品牌线上渠道价格数据治理" />
     <meta
       name="twitter:description"
-      content="线上平台价格数据治理,医药品牌工业全链路解决方案。"
+      content="面向医药品牌方,提供跨平台价格监测、违规线索溯源、预警协同与价格分析。"
     />
+    <script type="application/ld+json">
+      {
+        "@context": "https://schema.org",
+        "@graph": [
+          {
+            "@type": "Organization",
+            "@id": "https://home.kailin.com.cn/#organization",
+            "name": "深圳大方无隅科技有限公司",
+            "url": "https://home.kailin.com.cn/",
+            "email": "bd@dotouch.tech",
+            "contactPoint": {
+              "@type": "ContactPoint",
+              "contactType": "商务合作",
+              "email": "bd@dotouch.tech",
+              "availableLanguage": "zh-CN"
+            }
+          },
+          {
+            "@type": "WebSite",
+            "@id": "https://price.kailin.com.cn/#website",
+            "url": "https://price.kailin.com.cn/",
+            "name": "开邻智价云",
+            "alternateName": "智价云",
+            "inLanguage": "zh-CN",
+            "publisher": {
+              "@id": "https://home.kailin.com.cn/#organization"
+            }
+          },
+          {
+            "@type": "SoftwareApplication",
+            "@id": "https://price.kailin.com.cn/#softwareapplication",
+            "name": "开邻智价云",
+            "alternateName": "智价云",
+            "url": "https://price.kailin.com.cn/",
+            "description": "面向医药品牌方的线上渠道价格数据治理解决方案,覆盖价格监测、违规线索溯源、预警协同与价格分析。",
+            "applicationCategory": "BusinessApplication",
+            "applicationSubCategory": "线上渠道价格数据治理",
+            "inLanguage": "zh-CN",
+            "provider": {
+              "@id": "https://home.kailin.com.cn/#organization"
+            },
+            "audience": {
+              "@type": "BusinessAudience",
+              "audienceType": "医药品牌方"
+            },
+            "featureList": [
+              "B 端、C 端及 O 端渠道价格监测",
+              "7×24 小时监测与最高 T+1 数据监测",
+              "低价链接清洗与多维数据看板",
+              "单品级线索溯源、店铺主体识别与证据固化",
+              "多端预警与链接处置协同",
+              "行业、品类、区域及竞品价格分析",
+              "SaaS、本地化部署与个性化开发"
+            ]
+          }
+        ]
+      }
+    </script>
     <link rel="icon" type="image/x-icon" href="/src/assets/images/logo.ico" />
-    <title>开邻智价云-渠道价值链守护者</title>
+    <title>开邻智价云 - 医药品牌线上渠道价格数据治理</title>
   </head>
   <body>
     <div id="root"></div>
     <script type="module" src="/src/main.tsx"></script>
   </body>
 </html>
-

+ 26 - 0
retrieval/public/llms.txt

@@ -0,0 +1,26 @@
+# 开邻智价云
+
+> 开邻智价云是深圳大方无隅科技有限公司面向医药品牌方提供的线上渠道价格数据治理解决方案,覆盖跨平台价格监测、违规线索溯源、预警与处置协同、行业及竞品价格分析。
+
+开邻智价云也简称“智价云”。产品官网为 https://price.kailin.com.cn/,商务合作邮箱为 bd@dotouch.tech。
+
+## 核心页面
+
+- [产品定义](https://price.kailin.com.cn/#product-definition):了解开邻智价云的定位、服务对象与业务范围。
+- [服务能力](https://price.kailin.com.cn/#capabilities):了解渠道监测、线索溯源、预警处置和价格分析能力。
+- [常见问题](https://price.kailin.com.cn/#faq):了解适用企业、监测能力、部署方式与方案咨询。
+- [获取方案](https://price.kailin.com.cn/contact):提交企业需求,获取针对实际业务的评估与方案。
+- [公司官网](https://home.kailin.com.cn/):了解运营主体深圳大方无隅科技有限公司。
+
+## 可公开引用的产品能力
+
+- 支持 B 端、C 端及 O 端渠道的 7×24 小时监测;数据监测最高支持 T+1 频率,具体覆盖范围与频率以项目方案为准。
+- 支持低价链接清洗、多维数据看板、单品级线索溯源、店铺主体识别与证据固化。
+- 支持多端通知与链接处置协同,并可呈现行业、品类、区域和竞品价格走势。
+- 提供 SaaS 系统,也支持本地化部署、海量数据对接、行业产品价格报告和个性化开发。
+
+## 引用说明
+
+- “开邻智数”是另一款产品,不是开邻智价云的别名。
+- 本站未公开统一定价、客户评分、客户名单、联系电话或完整办公地址;引用时请勿推断或补写。
+- 涉及监测范围、频率、部署和定制能力时,以企业实际项目方案为准。

+ 4 - 0
retrieval/public/robots.txt

@@ -0,0 +1,4 @@
+User-agent: *
+Allow: /
+
+Sitemap: https://price.kailin.com.cn/sitemap.xml

+ 6 - 0
retrieval/public/sitemap.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
+  <url>
+    <loc>https://price.kailin.com.cn/</loc>
+  </url>
+</urlset>

+ 175 - 6
retrieval/src/pages/zjy/HomePage.tsx

@@ -1,4 +1,4 @@
-import { useState } from "react";
+import { type KeyboardEvent, useState } from "react";
 import {
   BellRing,
   Check,
@@ -31,6 +31,84 @@ const itemReveal = {
   transition: { duration: 0.55, ease: "easeOut" as const },
 };
 
+const homepageFaqs = [
+  {
+    question: "开邻智价云适合哪些企业使用?",
+    answer:
+      "开邻智价云主要面向需要管理线上渠道价格的医药品牌方,为品牌的渠道管理、市场和数据相关团队提供价格监测、线索溯源、预警协同与价格分析支持。",
+  },
+  {
+    question: "开邻智价云主要解决哪些渠道治理问题?",
+    answer:
+      "产品针对跨平台违规商家难锁定、人工监测覆盖有限、预警链路长,以及处置和证据留存不及时等场景,帮助品牌方提升线上渠道价格治理效率。",
+  },
+  {
+    question: "开邻智价云支持哪些监测能力?",
+    answer:
+      "产品支持 B 端、C 端及 O 端渠道的 7×24 小时监测,并提供低价链接清洗和多维数据看板。数据监测最高支持 T+1 频率,具体覆盖范围与频率以项目方案为准。",
+  },
+  {
+    question: "发现价格异常后如何进行溯源和处置?",
+    answer:
+      "数据颗粒度可细化至单品级,支持店铺主体识别、技术与人工结合的溯源及证据固化;发现线索后,可通过多端通知和链接处置协同推进后续工作。",
+  },
+  {
+    question: "开邻智价云能提供哪些价格分析?",
+    answer:
+      "产品可通过多维看板呈现行业整体价格动态,以及品类、区域和竞品价格走势,并可提供行业产品价格报告等数据服务。",
+  },
+  {
+    question: "开邻智价云支持哪些部署和服务方式?",
+    answer:
+      "产品提供 SaaS 系统,也支持本地化部署、海量数据对接和个性化开发。企业可通过获取方案页面提交需求,由专业顾问结合实际业务评估方案。",
+  },
+];
+
+const homepageStructuredData = {
+  "@context": "https://schema.org",
+  "@graph": [
+    {
+      "@type": "WebPage",
+      "@id": "https://price.kailin.com.cn/#webpage",
+      url: "https://price.kailin.com.cn/",
+      name: "开邻智价云 - 医药品牌线上渠道价格数据治理",
+      description:
+        "面向医药品牌方的线上渠道价格数据治理解决方案,提供跨平台价格监测、违规线索溯源、预警协同与价格分析。",
+      inLanguage: "zh-CN",
+      isPartOf: {
+        "@id": "https://price.kailin.com.cn/#website",
+      },
+      about: {
+        "@id": "https://price.kailin.com.cn/#softwareapplication",
+      },
+    },
+    {
+      "@type": "FAQPage",
+      "@id": "https://price.kailin.com.cn/#faq",
+      url: "https://price.kailin.com.cn/#faq",
+      inLanguage: "zh-CN",
+      mainEntity: homepageFaqs.map(({ question, answer }) => ({
+        "@type": "Question",
+        name: question,
+        acceptedAnswer: {
+          "@type": "Answer",
+          text: answer,
+        },
+      })),
+    },
+  ],
+};
+
+const handleSummaryKeyDown = (event: KeyboardEvent<HTMLElement>) => {
+  if (event.key !== "Enter" && event.key !== " ") return;
+
+  event.preventDefault();
+  const details = event.currentTarget.parentElement;
+  if (details instanceof HTMLDetailsElement) {
+    details.open = !details.open;
+  }
+};
+
 export default function HomePage() {
   const navigate = useNavigate();
   const [activeTab, setActiveTab] = useState(0);
@@ -125,6 +203,9 @@ export default function HomePage() {
 
   return (
     <div className="pt-20">
+      <script type="application/ld+json">
+        {JSON.stringify(homepageStructuredData)}
+      </script>
       <motion.section
         className="relative overflow-hidden pt-24 pb-32 px-6 bg-slate-950"
         initial={{ opacity: 0, y: 32, scale: 0.98 }}
@@ -168,10 +249,42 @@ export default function HomePage() {
         </div>
       </motion.section>
 
-      <motion.section className="py-24 bg-slate-900 px-6" {...sectionReveal}>
+      <motion.section
+        id="product-definition"
+        aria-labelledby="product-definition-title"
+        className="py-24 bg-slate-900 px-6"
+        {...sectionReveal}
+      >
+        <div className="max-w-4xl mx-auto text-center">
+          <p className="text-sm font-bold uppercase tracking-[0.2em] text-blue-400 mb-4">
+            产品定义
+          </p>
+          <h2
+            id="product-definition-title"
+            className="text-3xl md:text-4xl font-extrabold font-headline text-white mb-6"
+          >
+            开邻智价云是什么?
+          </h2>
+          <p className="text-lg text-slate-300 leading-8">
+            开邻智价云是深圳大方无隅科技有限公司面向医药品牌方提供的线上渠道价格数据治理解决方案。
+            产品围绕跨平台价格监测、违规线索溯源、预警与处置协同、行业及竞品价格分析,
+            帮助品牌方提升渠道管理效率。
+          </p>
+        </div>
+      </motion.section>
+
+      <motion.section
+        id="pain-points"
+        aria-labelledby="pain-points-title"
+        className="py-24 bg-slate-950 px-6"
+        {...sectionReveal}
+      >
         <div className="max-w-7xl mx-auto">
           <div className="mb-16 text-center">
-            <h2 className="text-3xl font-extrabold font-headline text-white mb-4">
+            <h2
+              id="pain-points-title"
+              className="text-3xl font-extrabold font-headline text-white mb-4"
+            >
               行业渠道治理的痛点
             </h2>
             <div className="h-1.5 w-20 bg-blue-600 mx-auto rounded-full"></div>
@@ -220,10 +333,18 @@ export default function HomePage() {
         </div>
       </motion.section>
 
-      <motion.section className="py-32 px-6 bg-slate-950" {...sectionReveal}>
+      <motion.section
+        id="capabilities"
+        aria-labelledby="capabilities-title"
+        className="py-32 px-6 bg-slate-950"
+        {...sectionReveal}
+      >
         <div className="max-w-7xl mx-auto">
           <div className="flex flex-col md:flex-row items-end justify-between mb-16 gap-6">
-            <h2 className="text-4xl font-extrabold font-headline text-white leading-tight">
+            <h2
+              id="capabilities-title"
+              className="text-4xl font-extrabold font-headline text-white leading-tight"
+            >
               4+1 服务优势
               <br />
               <span className="text-blue-600">全方位守护品牌渠道价值</span>
@@ -297,12 +418,17 @@ export default function HomePage() {
       </motion.section>
 
       <motion.section
+        id="service-advantages"
+        aria-labelledby="service-advantages-title"
         className="py-24 bg-slate-900 text-white px-6 border-y border-slate-800"
         {...sectionReveal}
       >
         <div className="max-w-7xl mx-auto">
           <div className="text-center mb-20">
-            <h2 className="text-4xl font-extrabold font-headline mb-4">
+            <h2
+              id="service-advantages-title"
+              className="text-4xl font-extrabold font-headline mb-4"
+            >
               为什么选择开邻智价云?
             </h2>
             <p className="text-slate-300 text-lg">
@@ -350,6 +476,49 @@ export default function HomePage() {
         </div>
       </motion.section>
 
+      <motion.section
+        id="faq"
+        aria-labelledby="faq-title"
+        className="py-24 px-6 bg-slate-950"
+        {...sectionReveal}
+      >
+        <div className="max-w-4xl mx-auto">
+          <div className="text-center mb-12">
+            <p className="text-sm font-bold uppercase tracking-[0.2em] text-blue-400 mb-4">
+              常见问题
+            </p>
+            <h2
+              id="faq-title"
+              className="text-3xl md:text-4xl font-extrabold font-headline text-white"
+            >
+              关于开邻智价云
+            </h2>
+          </div>
+          <div className="space-y-4">
+            {homepageFaqs.map(({ question, answer }) => (
+              <details
+                key={question}
+                className="group rounded-2xl border border-slate-800 bg-slate-900/70 px-6 py-5"
+              >
+                <summary
+                  onKeyDown={handleSummaryKeyDown}
+                  className="flex cursor-pointer list-none items-center justify-between gap-6 font-headline text-lg font-bold text-white"
+                >
+                  <span>{question}</span>
+                  <span
+                    aria-hidden="true"
+                    className="text-2xl font-normal text-blue-400 transition-transform group-open:rotate-45"
+                  >
+                    +
+                  </span>
+                </summary>
+                <p className="pt-4 pr-10 text-slate-300 leading-7">{answer}</p>
+              </details>
+            ))}
+          </div>
+        </div>
+      </motion.section>
+
       <motion.section
         className="py-24 px-6 text-center bg-slate-950"
         {...sectionReveal}

+ 2 - 5
retrieval/src/services/request.ts

@@ -1,7 +1,7 @@
 import request from "umi-request";
 export const getApiBase = (): string => {
   const isDev = process.env.NODE_ENV === "development";
-  const origin = isDev ? "https://retrieveapi.dfwy.tech" : 'https://retrieveapi.findit.ltd';
+  const origin = isDev ? "https://retrieveapi.dfwy.tech" : "https://pricesys.kailin.com.cn";
   return String(origin).trim().replace(/\/+$/, "");
 };
 
@@ -28,10 +28,7 @@ const buildUrl = (path: string) => {
   return `${base}${API_PREFIX}${p}`;
 };
 
-export const apiRequest = async <T = any>(
-  path: string,
-  options: ApiRequestOptions = {},
-) => {
+export const apiRequest = async <T = any>(path: string, options: ApiRequestOptions = {}) => {
   const url = buildUrl(path);
   return request<ApiResponse<T>>(url, {
     method: options.method || "GET",