rsshub
Version:
Make RSS Great Again!
95 lines (93 loc) • 2.68 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/futunn/live.ts
const route = {
path: "/live/:lang?",
categories: ["finance"],
example: "/futunn/live",
parameters: { category: {
description: "通知语言",
default: "Mandarin",
options: [
{
label: "国语",
value: "Mandarin"
},
{
label: "粵語",
value: "Cantonese"
},
{
label: "English",
value: "English"
}
]
} },
features: { supportRadar: true },
radar: [
{
source: ["news.futunn.com/main/live"],
target: "/live"
},
{
source: ["news.futunn.com/hk/main/live"],
target: "/live/Cantonese"
},
{
source: ["news.futunn.com/en/main/live"],
target: "/live/English"
}
],
name: "快讯",
maintainers: ["kennyfong19931"],
handler
};
async function handler(ctx) {
const limit = ctx.req.query("limit") ? Number.parseInt(ctx.req.query("limit")) : 30;
const lang = ctx.req.param("lang") ?? "Mandarin";
const rootUrl = "https://news.futunn.com";
const link = `${rootUrl}/main${lang === "Mandarin" ? "" : lang === "Cantonese" ? "/hk" : "/en"}/live`;
const items = (await got_default({
method: "get",
url: `${rootUrl}/news-site-api/main/get-flash-list?pageSize=${limit}`,
headers: { "x-news-site-lang": lang === "Mandarin" ? 0 : lang === "Cantonese" ? 1 : 2 }
})).data.data.data.news.map((item) => {
const audio = item.audioInfos.find((audio$1) => audio$1.language === lang);
return {
title: item.title || item.content,
description: item.content,
link: item.detailUrl,
pubDate: parseDate(item.time * 1e3),
category: item.quote.map((quote) => quote.name),
itunes_item_image: item.pic,
itunes_duration: audio.duration,
enclosure_url: audio.audioUrl,
enclosure_type: "audio/mpeg",
media: {
content: {
url: audio.audioUrl,
type: "audio/mpeg",
duration: audio.duration,
language: lang === "Mandarin" ? "zh-CN" : lang === "Cantonese" ? "zh-HK" : "en"
},
thumbnail: { url: item.pic }
}
};
});
return {
title: lang === "Mandarin" ? "富途牛牛 - 快讯" : lang === "Cantonese" ? "富途牛牛 - 快訊" : "Futubull - Latest",
link,
item: items,
language: lang === "Mandarin" ? "zh-CN" : lang === "Cantonese" ? "zh-HK" : "en",
itunes_author: lang === "Mandarin" || lang === "Cantonese" ? "富途牛牛" : "Futubull",
itunes_category: "News"
};
}
//#endregion
export { route };