rsshub
Version:
Make RSS Great Again!
250 lines (248 loc) • 5.65 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 { t as parseDate } from "./parse-date-BrP7mxXf.mjs";
import "./helpers-DxBp0Pty.mjs";
import { t as got_default } from "./got-KxxWdaxq.mjs";
//#region lib/routes/xianbao/index.ts
const route = {
path: "/:category?",
name: "线板酷",
url: "new.xianbao.fun",
maintainers: ["nashi23"],
handler,
example: "/xianbao",
parameters: { category: "类别id,默认为:latest" },
description: `
| 分类 | id |
| ------------ | -------------- |
| 最新 | latest |
| 赚客吧 | zuankeba |
| 赚客吧热帖 | zuankeba-hot |
| 新赚吧 | xinzuanba |
| 新赚吧热帖 | xinzuanba-hot |
| 微博 | weibo |
| 微博热帖 | weibo-hot |
| 豆瓣线报 | douban |
| 豆瓣热帖 | douban-hot |
| 酷安 | kuan |
| 小嘀咕 | xiaodigu |
| 葫芦侠 | huluxia |
| 小刀娱乐网 | xiadao |
| 技术QQ网 | qqjishu |
| YYOK大全 | yyok |
| 活动资讯网 | huodong |
| 免费赚钱中心 | mianfei |
| 一小时 | yixiaoshi |
| 三小时 | sanxiaoshi |
| 六小时 | liuxiaoshi |
| 十二小时 | shierxiaoshi |
| 二十四小时 | ershisixiaoshi |
| 四十八小时 | sishibaxiaoshi |
| 今天 | jintian |
| 昨天 | zuotian |
| 前天 | qiantian |
| 三天 | santian |
| 五天 | wutian |
| 七天 | qitian |
| 十五天 | shiwutian |`,
categories: ["shopping"],
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: false,
supportRadar: true,
supportBT: false,
supportPodcast: false,
supportScihub: false
},
radar: [{
source: ["new.xianbao.fun"],
target: "/"
}]
};
async function handler(ctx) {
const categoryParam = ctx.req.param() || { category: "latest" };
let urlPath = "";
const category = categoryParam.category || "latest";
const cat = CATEGORIES.find((cat$1) => cat$1.id === category) || CATEGORIES.find((cat$1) => cat$1.id === "latest");
const fullName = cat.fullName;
const pushPath = cat.pushPath;
if (category.endsWith("xiaoshi") || category.endsWith("tian")) urlPath = `${category}-hot.html`;
else if (category.endsWith("hot")) urlPath = `${category}.html`;
else urlPath = category === "latest" ? "" : `category-${category}`;
const response = await got_default(`http://new.xianbao.fun/plus/json/${pushPath}.json`);
const responseData = JSON.parse(response.body);
let parsedData;
if (Array.isArray(responseData)) parsedData = responseData;
else parsedData = responseData[Object.keys(responseData).find((key) => key.startsWith("remen"))];
const items = parsedData.map((item) => ({
title: item.title,
link: `http://new.xianbao.fun${item.url}`,
description: item.content,
pubDate: parseDate(item.shijianchuo * 1e3),
author: item.louzhu,
category: item.catename
}));
return {
title: `线板酷-${fullName}`,
link: `http://new.xianbao.fun/${urlPath}`,
item: items
};
}
const CATEGORIES = [
{
id: "latest",
fullName: "最新",
pushPath: "push"
},
{
id: "yixiaoshi",
fullName: "一小时",
pushPath: "rank/yixiaoshi"
},
{
id: "sanxiaoshi",
fullName: "三小时",
pushPath: "rank/sanxiaoshi"
},
{
id: "liuxiaoshi",
fullName: "六小时",
pushPath: "rank/liuxiaoshi"
},
{
id: "shierxiaoshi",
fullName: "十二小时",
pushPath: "rank/shierxiaoshi"
},
{
id: "ershisixiaoshi",
fullName: "二十四小时",
pushPath: "rank/ershisixiaoshi"
},
{
id: "sishibaxiaoshi",
fullName: "四十八小时",
pushPath: "rank/sishibaxiaoshi"
},
{
id: "jintian",
fullName: "今天",
pushPath: "rank/jintian"
},
{
id: "zuotian",
fullName: "昨天",
pushPath: "rank/zuotian"
},
{
id: "qiantian",
fullName: "前天",
pushPath: "rank/qiantian"
},
{
id: "santian",
fullName: "三天",
pushPath: "rank/santian"
},
{
id: "wutian",
fullName: "五天",
pushPath: "rank/wutian"
},
{
id: "qitian",
fullName: "七天",
pushPath: "rank/qitian"
},
{
id: "shiwutian",
fullName: "十五天",
pushPath: "rank/shiwutian"
},
{
id: "zuankeba",
fullName: "赚客吧",
pushPath: "push_16"
},
{
id: "zuankeba-hot",
fullName: "赚客吧热帖",
pushPath: "rank/zuankeba-hot"
},
{
id: "xinzuanba",
fullName: "新赚吧",
pushPath: "push_18"
},
{
id: "xinzuanba-hot",
fullName: "新赚吧热帖",
pushPath: "rank/xinzuanba-hot"
},
{
id: "weibo",
fullName: "微博",
pushPath: "push_10"
},
{
id: "weibo-hot",
fullName: "微博热帖",
pushPath: "rank/weibo-hot"
},
{
id: "douban",
fullName: "豆瓣线报",
pushPath: "push_23"
},
{
id: "douban-hot",
fullName: "豆瓣热帖",
pushPath: "rank/douban-hot"
},
{
id: "kuan",
fullName: "酷安",
pushPath: "push_17"
},
{
id: "xiaodigu",
fullName: "小嘀咕",
pushPath: "push_11"
},
{
id: "huluxia",
fullName: "葫芦侠",
pushPath: "push_20"
},
{
id: "xiadao",
fullName: "小刀娱乐网",
pushPath: "push_3"
},
{
id: "qqjishu",
fullName: "技术QQ网",
pushPath: "push_6"
},
{
id: "yyok",
fullName: "YYOK大全",
pushPath: "push_7"
},
{
id: "huodong",
fullName: "活动资讯网",
pushPath: "push_8"
},
{
id: "mianfei",
fullName: "免费赚钱中心",
pushPath: "push_9"
}
];
//#endregion
export { route };