RSSHub/lib/v2/ikea/cn/new.js

40 lines
1.1 KiB
JavaScript

const got = require('@/utils/got');
const { generateRequestHeaders, generateProductItem } = require('./utils');
const request = ({ moreToken = '' }) =>
got({
method: 'post',
url: 'https://srv-mp.app.ikea.cn/content/search/products/advanced',
headers: generateRequestHeaders(),
searchParams: {
keyword: '新品',
moreToken,
},
json: {},
});
module.exports = async (ctx) => {
const allProductSummaries = [];
const loadMoreRequest = async ({ moreToken }) => {
const response = await request({ moreToken });
const { data } = response;
allProductSummaries.push(data.productSummaries);
if (data.moreToken) {
await loadMoreRequest({ moreToken: data.moreToken });
}
return Promise.resolve();
};
await loadMoreRequest({});
const products = allProductSummaries.flat();
ctx.state.data = {
title: 'IKEA 宜家 - 当季新品推荐',
link: 'https://www.ikea.cn/cn/zh/new/',
description: '当季新品推荐',
item: products.map(generateProductItem),
};
};