UNPKG

rsshub

Version:
62 lines (60 loc) 1.76 kB
import "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import "./ofetch-BIyrKU3Y.mjs"; import "./parse-date-BrP7mxXf.mjs"; import { t as cache_default } from "./cache-Bo__VnGm.mjs"; import "./helpers-DxBp0Pty.mjs"; import "./render-BQo6B4tL.mjs"; import { t as got_default } from "./got-KxxWdaxq.mjs"; import { a as apiSearchRootUrl, c as fetchData, d as rootUrl, l as generateSignature, u as processItems } from "./util-DaV7o5tf.mjs"; //#region lib/routes/huxiu/search.ts const route = { path: "/search/:keyword", categories: ["new-media"], example: "/huxiu/search/生活", parameters: { keyword: "关键字" }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: true, supportPodcast: true, supportScihub: false }, radar: [{ source: ["huxiu.com/"] }], name: "搜索", maintainers: [ "xyqfer", "HenryQW", "nczitzk" ], handler, url: "huxiu.com/" }; async function handler(ctx) { const keyword = ctx.req.param("keyword"); const limit = ctx.req.query("limit") ? Number.parseInt(ctx.req.query("limit"), 10) : 20; const apiUrl = new URL("api/article", apiSearchRootUrl).href; const currentUrl = rootUrl; const { data: response } = await got_default.post(apiUrl, { searchParams: { platform: "www", s: keyword, sort: "", page: 1, pagesize: limit, appid: "hx_search_202303", ...generateSignature() } }); const items = await processItems(response.data.datalist, limit, cache_default.tryGet); const data = await fetchData(currentUrl); data.title = `${keyword}-搜索结果-${data.title}`; ctx.set("json", response.data.datalist); return { item: items, ...data }; } //#endregion export { route };