rsshub
Version:
Make RSS Great Again!
52 lines (51 loc) • 1.6 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/crowdfunding.ts
const route = {
path: "/crowdfunding",
categories: ["shopping"],
example: "/mi/crowdfunding",
name: "小米众筹",
maintainers: ["DIYgod", "nuomi1"],
handler,
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: false,
supportRadar: true,
supportBT: false,
supportPodcast: false,
supportScihub: false
},
radar: [{
source: ["m.mi.com/crowdfunding/home"],
target: "/crowdfunding"
}],
view: 5
};
const getDataItems = (list) => Promise.all(list.map((listItem) => cache_default.tryGet(`mi:crowdfunding:dataitem:${listItem.project_id}`, async () => {
const detail = await utils_default.getCrowdfundingItem(listItem);
return getDataItem(listItem, detail);
})));
const getDataItem = (listItem, detail) => ({
title: listItem.product_name,
description: utils_default.renderCrowdfunding(listItem, detail),
link: `https://m.mi.com/crowdfunding/proddetail/${listItem.project_id}`,
image: listItem.img_url,
pubDate: parseDate(detail.start_time, "X"),
language: "zh-CN"
});
async function handler() {
const list = await utils_default.getCrowdfundingList();
return {
title: "小米众筹",
link: "https://m.mi.com/crowdfunding/home",
item: await getDataItems(list),
image: "https://m.mi.com/static/img/icons/apple-touch-icon-152x152.png",
language: "zh-CN"
};
}
//#endregion
export { route };