rsshub
Version:
Make RSS Great Again!
48 lines (47 loc) • 1.46 kB
JavaScript
import "./types-DNj6Etbg.mjs";
import { t as parseDate } from "./parse-date-CjhZE69i.mjs";
import { t as cache_default } from "./cache-CiDoUSLo.mjs";
import { t as utils_default } from "./utils--STQ8dFN.mjs";
//#region lib/routes/mi/newproducts.ts
const route = {
path: "/newproducts",
categories: ["shopping"],
example: "/mi/newproducts",
name: "小米上新",
maintainers: ["nuomi1"],
handler,
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: false,
supportRadar: false,
supportBT: false,
supportPodcast: false,
supportScihub: false
},
view: 5
};
const getDataItems = (list) => Promise.all(list.map((listItem) => cache_default.tryGet(`mi:product:dataitem:${listItem.product_id}`, async () => {
const detail = await utils_default.getNewProductItem(listItem);
return getDataItem(listItem, detail);
})));
const getDataItem = (listItem, detail) => ({
title: listItem.product_name,
description: utils_default.renderNewProduct(listItem, detail),
link: `https://m.mi.com/commodity/detail/${listItem.product_id}`,
image: listItem.img,
pubDate: parseDate(listItem.start_time, "X"),
language: "zh-CN"
});
async function handler() {
const list = await utils_default.getNewProductList();
return {
title: "小米上新",
link: "https://m.mi.com/",
item: await getDataItems(list),
image: "https://m.mi.com/static/img/icons/apple-touch-icon-152x152.png",
language: "zh-CN"
};
}
//#endregion
export { route };