UNPKG

rsshub

Version:
74 lines (72 loc) 2.54 kB
import { n as init_esm_shims, t as __dirname } from "./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 art } from "./render-BQo6B4tL.mjs"; import "./got-KxxWdaxq.mjs"; import { t as invalid_parameter_default } from "./invalid-parameter-rr4AgGpp.mjs"; import { t as getData } from "./utils-BUoGTwru.mjs"; import path from "node:path"; //#region lib/routes/tencent/news/coronavirus/data.ts init_esm_shims(); const route = { path: "/news/coronavirus/data/:province?/:city?", name: "Unknown", maintainers: ["CaoMeiYouRen"], handler }; async function handler(ctx) { const province = ctx.req.param("province") || ""; const city = ctx.req.param("city") || ""; const link = "https://news.qq.com/zt2020/page/feiyan.htm#/"; const item = []; const { lastUpdateTime, areaTree } = (await getData(["diseaseh5Shelf"]))?.data?.diseaseh5Shelf || {}; const nationalData = areaTree?.[0]; const provinceList = nationalData?.children; let todayConfirm = 0; let totalNowConfirm = 0; let totalConfirm = 0; let totalDead = 0; let coronavirusData = {}; let placeName = ""; if (!province || province === "中国" || province === "全国") { coronavirusData = nationalData; placeName = "中国"; } else { coronavirusData = provinceList?.find((e) => e.name === province); placeName = province; if (city) { coronavirusData = coronavirusData?.children?.find((e) => e.name === city); if (coronavirusData) placeName = `${province}-${city}`; } } if (!coronavirusData) throw new invalid_parameter_default(`未找到 ${placeName} 的疫情数据,请检查输入的省市名称是否正确`); todayConfirm = coronavirusData.today?.confirm; totalNowConfirm = coronavirusData.total?.nowConfirm; totalConfirm = coronavirusData.total?.confirm; totalDead = coronavirusData.total?.dead; const pubDate = parseDate(coronavirusData.total?.mtime || lastUpdateTime); const title = `${placeName} - 腾讯新闻 - 新型冠状病毒肺炎疫情实时追踪`; const info = { title: `${placeName} - 疫情数据`, description: art(path.join(__dirname, "templates/data-1fa59e84.art"), { todayConfirm, totalNowConfirm, totalConfirm, totalDead }), pubDate, guid: `${link}${placeName}?pubDate=${pubDate.toISOString()}` }; item.push(info); return { title, link, item }; } //#endregion export { route };