rsshub
Version:
Make RSS Great Again!
62 lines (60 loc) • 1.76 kB
JavaScript
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 };