UNPKG

rsshub

Version:
37 lines (36 loc) 1.39 kB
import { t as rofetch } from "./ofetch-C3ts-Hud.mjs"; import { t as parseDate } from "./parse-date-Cr0wQjV_.mjs"; import { t as timezone } from "./timezone-BBvDwS_3.mjs"; import { t as fetchArticle } from "./utils-c4sxShok.mjs"; //#region lib/routes/bjnews/column.ts const route = { path: "/column/:column", categories: ["traditional-media"], example: "/bjnews/column/204", parameters: { column: "栏目ID, 可从手机版网页URL中找到" }, features: {}, radar: [{ source: ["m.bjnews.com.cn/column/:column.htm"] }], name: "分类", maintainers: ["dzx-dzx"], handler, url: "www.bjnews.com.cn" }; async function handler(ctx) { const columnID = ctx.req.param("column"); const res = await rofetch(`https://api.bjnews.com.cn/api/v101/news/column_news.php?column_id=${columnID}`); const list = res.data.slice(0, ctx.req.query("limit") ? Number.parseInt(ctx.req.query("limit")) : 15).map((e) => ({ title: e.row.title, guid: e.uuid, pubDate: timezone(parseDate(e.row.publish_time), 8), updated: timezone(parseDate(e.row.update_time), 8), link: `https://www.bjnews.com.cn/detail/${e.uuid}.html` })); const out = await Promise.all(list.map((item) => fetchArticle(item))); return { title: `新京报 - 栏目 - ${res.data[0].row.column_info[0].column_name}`, link: `https://m.bjnews.com.cn/column/${columnID}.html`, item: out }; } //#endregion export { route };