UNPKG

rsshub

Version:
33 lines (32 loc) 1.23 kB
import { t as rofetch } from "./ofetch-W1aeTHCo.mjs"; import { t as parseDate } from "./parse-date-CjhZE69i.mjs"; import { load } from "cheerio"; //#region lib/routes/youzan/goods.ts const route = { path: "/goods/:id", categories: ["shopping"], example: "/youzan/goods/13328377", parameters: { id: "商铺 id" }, name: "商品上新", maintainers: ["LogicJake"], handler }; async function handler(ctx) { const { id } = ctx.req.param(); const link = `https://h5.youzan.com/wscshop/showcase/homepage?kdt_id=${id}`; const apiLink = `https://h5.youzan.com/wscshop/showcase/goods/allGoods.json?pageSize=20&page=1&offlineId=0&order=&order_by=createdTime&kdt_id=${id}`; const shopname = load(await rofetch(link))("meta[name=\"keywords\"]").attr("content"); const items = (await rofetch(apiLink, { headers: { Referer: link } })).data.list.map((good) => ({ title: good.title, description: `价格:${good.price}<br>${good.picture.map((picture) => `<img src="${picture.url}">`).join("")}`, link: `https://detail.youzan.com/show/goods?alias=${good.alias}`, pubDate: parseDate(good.created_date_time) })); return { title: `${shopname || id} 商铺上新`, link, item: items }; } //#endregion export { route };