rsshub
Version:
Make RSS Great Again!
54 lines (53 loc) • 1.66 kB
JavaScript
import { t as got_default } from "./got-BTowW50G.mjs";
//#region lib/routes/bilibili/link-news.ts
const route = {
path: "/link/news/:product",
categories: ["social-media"],
example: "/bilibili/link/news/live",
parameters: { product: "公告分类, 包括 直播:live 小视频:vc 相簿:wh" },
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: false,
supportBT: false,
supportPodcast: false,
supportScihub: false
},
name: "link 公告",
maintainers: ["Qixingchen"],
handler
};
async function handler(ctx) {
const product = ctx.req.param("product");
let productTitle;
switch (product) {
case "live":
productTitle = "直播";
break;
case "vc":
productTitle = "小视频";
break;
case "wh":
productTitle = "相簿";
break;
default: throw new Error(`Unknown product: ${product}`);
}
const data = (await got_default({
method: "get",
url: `https://api.vc.bilibili.com/news/v1/notice/list?platform=pc&product=${product}&category=all&page_no=1&page_size=20`,
headers: { Referer: "https://link.bilibili.com/p/eden/news" }
})).data.data.items;
return {
title: `bilibili ${productTitle}公告`,
link: `https://link.bilibili.com/p/eden/news#/?tab=${product}&tag=all&page_no=1`,
description: `bilibili ${productTitle}公告`,
item: data && data.map((item) => ({
title: item.title,
description: `${item.mark}<br><img src="${item.cover_url}">`,
pubDate: (/* @__PURE__ */ new Date(item.ctime.replace(" ", "T") + "+08:00")).toUTCString(),
link: item.announce_link ?? `https://link.bilibili.com/p/eden/news#/newsdetail?id=${item.id}`
}))
};
}
//#endregion
export { route };