返回主题列表

SKNCRE,一个 Hygraph 化妆品品牌电商

一个与 Hygraph、Astro 和外部产品数据 API 结合的可组合电商演示。


价格

免费


SKNCRE 是一个虚构的化妆品品牌,销售昂贵的蜗牛黏液护肤品:面部精华液、面霜、眼霜和 SKNCRE 套装。在可组合电商中,您经常会看到产品信息存储在专业的管理系统(PIM)中,网站内容存储在 CMS 中,而购物车、结账、账户和支付等商务功能则存储在另一个系统(商务引擎)中。

在此示例中,所有页面、内容和媒体都存储在 Hygraph 中,但产品数据来自外部系统——在本例中,是一个名为 Federate This 的模拟 API。我们通过内容联邦(Content Federation)在 Hygraph 中公开数据。开发人员可以向 CMS 查询产品数据,而编辑人员可以在 CMS 内部使用这些数据,并像处理原生内容一样组合编辑原生内容和联邦内容。其优势在于,开发人员  内容编辑人员无需了解外部产品 API,因为他们可以直接通过 Hygraph 使用它。

此演示的架构具有高度可组合性,添加像 Commerce Layer 这样的系统来提供购物车和结账功能将相对容易。

克隆仓库,使用 npm install 安装依赖项,创建并填写 .env 文件,填入您的 API 端点(或从 .env.example 文件获取),然后使用 npm dev 运行应用程序。如果您不喜欢 Yarn,可以使用 yarn、 pnpm 或 bun 替代。

数据方面

如引言中所述,我们在此演示中将 Federate This 模拟数据 API 用于产品信息。我们使用内容联邦(Content Federation)将 Federate This 的 API 响应获取到 Hygraph 中,以便我们可以在 GraphQL API 中将其作为原生数据使用。

对于内容模型,我们在 CMS 中使用了广泛的功能,从表示页面的模型(pagepdp)到 productHighlight 模型,再到附加到页面模型以方便页面构建的 component 模式。在我们的 文档中了解更多关于 Hygraph 的 组件

pdp 页面和 productHighlight 模型已连接到外部 Federate This 产品数据。通过这种方式,Hygraph 不拥有产品数据,而仅仅是提供服务,使外部系统完全自主。如果外部 API 数据发生变化,Hygraph 中的数据也会随之变化。Hygraph 从 CDN 边缘提供数据,您可以为缓存数据设置 TTL

一个产品页面的模式,其中包含一个用于从 Federate This 端点选择产品的远程 GraphQL API 字段。

一个产品页面的模式,其中包含一个用于从 Federate This 端点选择产品的远程 GraphQL API 字段。