gpt4 book ai didi

javascript - Shopify-Buy-SDK 获取原始产品数据

转载 作者:行者123 更新时间:2023-12-01 04:06:30 24 4
gpt4 key购买 nike

我希望使用 ES6、react、react-redux 和您的 js-buy-sdk api 构建一个电子商务 Web 应用程序。我的问题是,从shopify获取所有产品并将它们放入商店后,我似乎没有像我预期的那样拥有有关产品的所有数据,而只有: { attrs, shopClient, serializer, type, config, _memoized }.

以下是我在名为 shopify.js 的文件下调用获取产品的方法:

import ShopifyBuy from 'shopify-buy';

const shopClient = ShopifyBuy.buildClient({
apiKey: 'xxxxxxxxxxxxxxxxxxxx1403c107adc7e',
domain: 'xxxxxxxxxxxxxxxx.myshopify.com',
appId: '6',
});

export function fetchAllProducts() {
return new Promise((resolve, reject) => {
shopClient.fetchAllProducts()
.then((data) => {
console.log('shopClient.fetchAllProducts', data);
resolve(data);
}).catch((error) => {
console.error(new Error('Fetching products error!'));
reject(error);
});
});
}

查看 console.log shopClient.fetchAllProducts 这是我得到的: chrome console

我将data放入redux存储中,当我查看它时,它看起来像这样: redux store

如果相关,请检查this gist查看我正在调度的操作和 this gist我的行为被减少并被放置在商店中。

根据我的理解,当您执行 fetchAllProducts() 方法时,您会得到一个 ProductModel 数组,因此,我想在我的商店中设置了以下 { attrs, shopClient, serializer, type, config, _memoized } 因为这是 ProductModel 内部存储的内容。

我的问题是,有没有办法从 ProductModel 获取原始数据对象(包含第一个屏幕截图中显示的所有相关产品值以及来自模型的数据,例如 ProductModel 所依赖的 ProductOptionModel),这样我就可以出于稳定性和理智的原因放置我的商店?

Shopify API 引用可以找到 here .

最佳答案

如果您正在寻求对产品返回的数据的原始访问,attrs 属性包含 API 响应 JSON,无需其他逻辑或模型。

但是,如果可能的话,我建议您以可以利用这些模型的方式组织您的代码 - 我们添加它们是因为原始数据可能采用特别令人困惑的格式(特别是变体、选项、图像)。

也就是说,如果您想要返回所有产品的原始数据,类似这样的事情应该可以解决问题。

import ShopifyBuy from 'shopify-buy';

const shopClient = ShopifyBuy.buildClient({
apiKey: 'xxxxxxxxxxxxxxxxxxxx1403c107adc7e',
domain: 'xxxxxxxxxxxxxxxx.myshopify.com',
appId: '6',
});

export function fetchAllProducts() {
return new Promise((resolve, reject) => {
shopClient.fetchAllProducts()
.then((products) => {
resolve(products.map((product) => {
return product.attrs;
}));
}).catch((error) => {
console.error(new Error('Fetching products error!'));
reject(error);
});
});
}

关于javascript - Shopify-Buy-SDK 获取原始产品数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41780204/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com