rsshub
Version:
Make RSS Great Again!
52 lines (50 loc) • 1.67 kB
JavaScript
import "./dist-Bog6z_OM.mjs";
import "./config-MQ-7ebJ_.mjs";
import "./logger-C4avouvV.mjs";
import { t as ofetch_default } from "./ofetch-DKl_Ma9g.mjs";
import "./parse-date-r5WDWHno.mjs";
import "./is-worker-DESPicPc.mjs";
import "./cache-SV6W5EPy.mjs";
import "./timezone-CA9Huotp.mjs";
import { a as namespace, i as processItems, n as baseUrl, r as parseList, t as apiBaseUrl } from "./utils-DlBBTvfJ.mjs";
//#region lib/routes/foodtalks/tag.ts
const route = {
path: "/news/tag/:tagId",
parameters: { tagId: "标签 ID" },
categories: namespace.categories,
example: "/foodtalks/news/tag/13335",
radar: [{ source: ["www.foodtalks.cn/news/tag/:tagId"] }],
name: "标签",
maintainers: ["TonyRL"],
handler,
url: "www.foodtalks.cn"
};
const getTagName = async (tagId) => {
const response = await ofetch_default(`${apiBaseUrl}/basic/tag/${tagId}?language=ZH`, { headers: { referer: `${baseUrl}/` } });
if (!response.data) throw new Error("Invalid tagId");
return response.data.name;
};
async function handler(ctx) {
const { tagId } = ctx.req.param();
const limit = Number.parseInt(ctx.req.query("limit"), 10) || 15;
const response = await ofetch_default(`${apiBaseUrl}/news/news/page`, {
headers: { referer: `${baseUrl}/` },
query: {
current: 1,
size: limit,
tagId,
language: "ZH"
}
});
const tagName = await getTagName(tagId);
const items = await processItems(parseList(response.data.records));
return {
title: `“${tagName}” 相关资讯-${namespace.name}`,
description: namespace.description,
link: `${baseUrl}/news/tag/${tagId}`,
item: items,
image: `${baseUrl}/favicon.ico`
};
}
//#endregion
export { route };