fix: coronavirus dxy data

This commit is contained in:
DIYgod 2020-03-17 18:59:24 +08:00
parent aea67f7ae0
commit 3e18dcffb7
No known key found for this signature in database
GPG Key ID: EC0B76A252D3EF67
2 changed files with 18 additions and 19 deletions

View File

@ -463,13 +463,13 @@ type 为 all 时category 参数不支持 cost 和 free
<Route author="DIYgod" example="/coronavirus/caixin" path="/coronavirus/caixin"/>
### 丁香园 - 全国新型肺炎疫情实时播报
### 丁香园 - 新冠病毒疫情实时播报
<Route author="DIYgod" example="/coronavirus/dxy" path="/coronavirus/dxy"/>
### 丁香园 - 全国新型肺炎疫情数据统计
### 丁香园 - 新冠病毒疫情数据统计
<Route author="DIYgod HenryQW" example="/coronavirus/dxy/data/湖北/武汉" path="/coronavirus/dxy/data/:province?/:city?" :paramsDesc="['省/直辖市名,缺省或错误则返回国数据','城市名,缺省或错误则返回全省数据。直辖市请使用区/县名。']"/>
<Route author="DIYgod HenryQW" example="/coronavirus/dxy/data/湖北/武汉" path="/coronavirus/dxy/data/:province?/:city?" :paramsDesc="['省/直辖市名,缺省或错误则返回数据','城市名,缺省或错误则返回全省数据。直辖市请使用区/县名。']"/>
### 腾讯新闻 - 新型冠状病毒肺炎实时辟谣

View File

@ -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}。<br><br>`;
}
DATA.cities.forEach((city) => {
item.description += `${city.cityName}确诊 ${city.confirmedCount} 例,死亡 ${city.deadCount} 例,治愈 ${city.curedCount} 例。<br><br>`;
item.description += `${city.cityName}累计确诊 ${city.confirmedCount} 例,累计死亡 ${city.deadCount} 例,累计治愈 ${city.curedCount} 例。<br><br>`;
});
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],
};