rsshub
Version:
Make RSS Great Again!
33 lines (32 loc) • 1.17 kB
JavaScript
import { t as rofetch } from "./ofetch-W1aeTHCo.mjs";
import { t as parseDate } from "./parse-date-CjhZE69i.mjs";
import { load } from "cheerio";
//#region lib/routes/weidian/goods.ts
const route = {
path: "/goods/:id",
categories: ["shopping"],
example: "/weidian/goods/431508863",
parameters: { id: "商铺 id" },
name: "商品上新",
maintainers: ["LogicJake"],
handler
};
async function handler(ctx) {
const { id } = ctx.req.param();
const link = `https://weidian.com/?userid=${id}`;
const apiLink = `https://thor.weidian.com/ares/shop.getItemsInShop/1.0?param={"shopId":"${id}","tabId":3,"sortOrder":"desc","limit":20,"page":1}`;
const shopName = load(await rofetch(link))(".shop-name").text();
const goods = (await rofetch(apiLink, { headers: { Referer: link } })).result.shopItems.items;
return {
title: `${shopName || id} 商铺上新`,
link,
item: goods.map((good) => ({
title: good.itemName,
description: `价格:${Number.parseInt(good.itemPrice) / 100}<br><img src="${good.itemMainPic}">`,
link: `https://weidian.com/item.html?itemID=${good.itemId}`,
pubDate: parseDate(good.time, "x")
}))
};
}
//#endregion
export { route };