UNPKG

rsshub

Version:
56 lines (55 loc) 1.65 kB
import { t as parseDate } from "./parse-date-3kcy2Eau.mjs"; import { t as cache_default } from "./cache-C1Y-9qDV.mjs"; import { t as got_default } from "./got-DUpa1V3-.mjs"; import { t as buildData } from "./common-config-DW8ZWC5w.mjs"; import { load } from "cheerio"; //#region lib/routes/airchina/index.ts const baseUrl = "https://www.airchina.com.cn"; const route = { path: "/announcement", categories: ["travel"], example: "/airchina/announcement", parameters: {}, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["www.airchina.com.cn/"] }], name: "服务公告", maintainers: ["LandonLi"], handler, url: "www.airchina.com.cn/" }; async function handler() { const link = `${baseUrl}/cn/info/new-service/service_announcement.shtml`; const data = await buildData({ link, url: link, title: "国航服务公告", description: "中国国际航空公司服务公告", item: { item: ".serviceMsg li", title: ($) => $("a").text(), link: ($) => $("a").attr("href"), pubDate: ($) => parseDate($("span").text(), "YYYY-MM-DD"), guid: ($) => { const href = $("a").attr("href"); return href ? Buffer.from(href).toString("base64") : void 0; } } }); await Promise.all(data.item.map(async (item) => { const detailLink = baseUrl + item.link; item.description = await cache_default.tryGet(detailLink, async () => { const result = await got_default(detailLink); return load(result.data)(".serviceMsg").html() ?? ""; }); })); return data; } //#endregion export { route };