【问题标题】:JavaScript Buy SDK - ShopifyJavaScript 购买 SDK - Shopify
【发布时间】:2018-12-12 12:26:34
【问题描述】:

我正在使用带有 Node.js 的 JavaScript 购买 SDK。

const fetch = require('node-fetch');
const shopify = require('shopify-buy');

const client = shopify.buildClient({
  storefrontAccessToken: 'MY_STORE_ACCESS_TOKEN',
  domain: 'SHOP_URL',
}, fetch);

我得到一个这样的产品 ID:

const products = yield client.product.fetchAll();
const variantId = products[0].variants[0].id;
const checkout = yield client.checkout.create();

有没有什么方法可以使用 JavaScript Buy SDK 将此产品添加到购物车中,在他们的文档中指定此 SDK 也可用于将产品添加到购物车!

【问题讨论】:

    标签: javascript node.js shopify shopify-javascript-buy-sdk


    【解决方案1】:

    以下示例代码取自the docs

    const checkoutId = 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc3ODc1OTI='; //  ID of an existing checkout
    const lineItemsToAdd = [
      {variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}
    ];
    // Add an item to the checkout
    client.checkout.addLineItems(checkoutId, lineItemsToAdd).then((checkout) => {
      // Do something with the updated checkout
      console.log(checkout.lineItems); // Array with one additional line item
    });
    

    【讨论】:

    • 您好 Stefan,感谢您的回复!你能告诉我调用这个 API 后,商品会被直观地添加到用户的购物车吗?
    • 是和不是。您编写后端/服务器端代码,不是吗。这只是将行项目(产品)添加到用户购物车(结帐)。用户将在下次访问/重新加载购物车时看到更改。至少,这是我的理解。仍在阅读,我自己并没有编写太多代码。
    • 如果您将结帐 ID 保存在本地存储中并重新加载页面,如何重新获取订单项?假设我添加了一个值为 150 的行项目。然后我将结帐 ID 保存在本地存储中。我去 shopify 管理站点,我将该项目的价格更改为 170。然后,我使用本地存储中的 id 重新加载按 id 获取结帐的页面。结帐对象的总数仍然是 150,我该如何解决这个问题并重新获取结帐?
    猜你喜欢
    • 2021-02-27
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多