UNPKG

rsshub

Version:
65 lines (63 loc) 2.43 kB
import "./dist-Bog6z_OM.mjs"; import "./config-MQ-7ebJ_.mjs"; import "./logger-C4avouvV.mjs"; import "./ofetch-DKl_Ma9g.mjs"; import "./helpers-Bo4JQYdN.mjs"; import { t as got_default } from "./got-CO-ndVl2.mjs"; //#region lib/routes/nowcoder/hots.ts const route = { path: "/hots/:type?", categories: ["bbs"], example: "/nowcoder/hots/1?limit=20", parameters: { type: "热榜类型,`1` 指热议话题,`2` 指全站热贴,默认为 `1`" }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["mnowpick.nowcoder.com/m/discuss/hot"] }], name: "牛客热榜", description: "牛客热榜,包括热议话题和全站热贴", maintainers: ["xia0ne"], handler, url: "nowcoder.com/" }; async function handler(ctx) { const type = ctx.req.param("type") ?? "1"; const limit = Number.parseInt(ctx.req.query("limit") ?? "20", 10); const size = Number.isFinite(limit) && limit > 0 ? limit : 20; let link = ""; if (type === "1") { link = `https://gw-c.nowcoder.com/api/sparta/subject/hot-subject?limit=${size}&_=${Date.now()}&t=`; const responseBody = (await got_default.get(link)).data; if (responseBody.code !== 0) throw new Error(`接口错误,错误代码:${responseBody.code},错误原因:${responseBody.msg}`); return { title: "牛客网-热议话题", link: "https://mnowpick.nowcoder.com/m/discuss/hot", description: "牛客网-热议话题", item: responseBody.data.result.map((item) => ({ title: item.content, description: `<img src="${item.numberIcon}" alt="rank">`, link: `https://www.nowcoder.com/creation/subject/${item.uuid}` })) }; } else if (type === "2") { link = `https://gw-c.nowcoder.com/api/sparta/hot-search/top-hot-pc?size=${size}&_=${Date.now()}&t=`; const responseBody = (await got_default.get(link)).data; if (responseBody.code !== 0) throw new Error(`接口错误,错误代码: ${responseBody.code},错误原因: ${responseBody.msg}`); return { title: "牛客网-全站热贴", link: "https://mnowpick.nowcoder.com/m/discuss/hot", description: "牛客网-全站热贴", item: responseBody.data.result.map((item) => ({ title: item.title, link: `https://www.nowcoder.com/feed/main/detail/${item.uuid}` })) }; } else throw new Error("Invalid type parameter"); } //#endregion export { route };