diff --git a/docs/other.md b/docs/other.md index 3f39ebce3..1c6f1b1a2 100644 --- a/docs/other.md +++ b/docs/other.md @@ -463,13 +463,13 @@ type 为 all 时,category 参数不支持 cost 和 free -### 丁香园 - 全国新型肺炎疫情实时播报 +### 丁香园 - 新冠病毒疫情实时播报 -### 丁香园 - 全国新型肺炎疫情数据统计 +### 丁香园 - 新冠病毒疫情数据统计 - + ### 腾讯新闻 - 新型冠状病毒肺炎实时辟谣 diff --git a/lib/routes/coronavirus/dxy-data.js b/lib/routes/coronavirus/dxy-data.js index c22e88986..4eb6082c5 100644 --- a/lib/routes/coronavirus/dxy-data.js +++ b/lib/routes/coronavirus/dxy-data.js @@ -3,7 +3,7 @@ const jsdom = require('jsdom'); const { JSDOM } = jsdom; module.exports = async (ctx) => { - const PROVINCE = ctx.params.province || '全国'; + const PROVINCE = ctx.params.province || '国内'; let CITY = ctx.params.city || ''; const link = 'https://3g.dxy.cn/newh5/view/pneumonia'; @@ -17,7 +17,9 @@ module.exports = async (ctx) => { runScripts: 'dangerously', }); - const item = {}; + const item = { + description: '', + }; let AREA, DATA, META; @@ -30,21 +32,15 @@ module.exports = async (ctx) => { return getCountry(); } - META = dom.window.getListByCountryTypeService1.find((item) => item.provinceShortName === PROVINCE); - if (CITY) { return getCity(); } - if (META.tags) { - item.description = `最近更新:${META.tags}。

`; - } - DATA.cities.forEach((city) => { - item.description += `${city.cityName}:确诊 ${city.confirmedCount} 例,死亡 ${city.deadCount} 例,治愈 ${city.curedCount} 例。

`; + item.description += `${city.cityName}累计确诊 ${city.confirmedCount} 例,累计死亡 ${city.deadCount} 例,累计治愈 ${city.curedCount} 例。

`; }); - item.title = `${AREA}新型肺炎疫情数据:确诊 ${DATA.confirmedCount} 例,疑似 ${DATA.suspectedCount} 例,死亡 ${DATA.deadCount} 例,治愈 ${DATA.curedCount} 例`; + item.title = `${AREA}累计确诊 ${DATA.confirmedCount} 例,现存确诊 ${DATA.currentConfirmedCount} 例,累计死亡 ${DATA.deadCount} 例,累计治愈 ${DATA.curedCount} 例`; }; const getCity = () => { @@ -52,7 +48,7 @@ module.exports = async (ctx) => { DATA = DATA.cities.find((c) => c.cityName.includes(CITY)); if (DATA) { - item.title = `${DATA.cityName}:确诊 ${DATA.confirmedCount} 例,死亡 ${DATA.deadCount} 例,治愈 ${DATA.curedCount} 例`; + item.title = `${DATA.cityName}累计确诊 ${DATA.confirmedCount} 例,现存确诊 ${DATA.currentConfirmedCount} 例,累计死亡 ${DATA.deadCount} 例,累计治愈 ${DATA.curedCount} 例`; } else { // 城市不存在 CITY = ''; @@ -61,24 +57,27 @@ module.exports = async (ctx) => { }; const getCountry = () => { - AREA = '全国'; + AREA = '国内'; META = dom.window.getStatisticsService; - item.title = `全国确诊 ${META.confirmedCount} 例,疑似 ${META.suspectedCount} 例,死亡 ${META.deadCount} 例,治愈 ${META.curedCount} 例。`; + item.title = `国内累计确诊 ${META.confirmedCount} 例(较昨日 ${(META.confirmedIncr > 0 ? '+' : '') + META.confirmedIncr}),现存确诊 ${META.currentConfirmedCount} 例(较昨日 ${(META.currentConfirmedIncr > 0 ? '+' : '') + + META.currentConfirmedIncr}),累计死亡 ${META.deadCount} 例(较昨日 ${(META.deadIncr > 0 ? '+' : '') + META.deadIncr}),累计治愈 ${META.curedCount} 例(较昨日 ${(META.curedIncr > 0 ? '+' : '') + META.curedIncr})`; }; - if (PROVINCE !== '全国') { + if (PROVINCE !== '国内' && PROVINCE !== '全国') { getProvince(); } else { getCountry(); } - item.pubDate = new Date(META.modifyTime).toUTCString(); + if (META && META.modifyTime) { + item.pubDate = new Date(META.modifyTime).toUTCString(); + } item.link = link; item.guid = item.title; ctx.state.data = { - title: `${AREA}新型肺炎疫情数据统计 - 丁香园`, + title: `${AREA}新冠病毒疫情数据统计 - 丁香园`, link, item: [item], };