diff --git a/lib/routes/coronavirus/mogov-2019ncov.js b/lib/routes/coronavirus/mogov-2019ncov.js index d7558a414..4cf18378e 100644 --- a/lib/routes/coronavirus/mogov-2019ncov.js +++ b/lib/routes/coronavirus/mogov-2019ncov.js @@ -3,49 +3,35 @@ const cheerio = require('cheerio'); module.exports = async (ctx) => { const language = ctx.params.lang.toLowerCase(); + const languageKey = language === 'ch' ? 'zhant' : language; - const dataUrl = `https://www.ssm.gov.mo/apps1/apps/webpage2020/wpg/gcsnewssc_body.aspx`; - - const dateTextMapping = { - ch: '日期 : ', - pt: 'Date : ', - en: 'Date : ', - }; - + const dataUrl = 'https://gcloud.gcs.gov.mo/json/ncvbase.json'; const response = await got({ - method: 'post', + method: 'get', url: dataUrl, - form: { - pg: '0', - lang: language, - }, }); - const $ = cheerio.load(response.data); - const items = $('div.col-xs-12') - .map((i, elem) => { - const $item = cheerio.load(elem); - const title = $item('div > span.padding-sm > b > a:first-child').text(); - const $descriptionWrapper = cheerio.load('
'); - $descriptionWrapper('div').append( - $item('div.clearfix') - .first() - .nextAll() - ); - const description = $descriptionWrapper.html(); - const pubDate = new Date( - $descriptionWrapper('div.padding-sm.fontsize-sm') - .text() - .replace(dateTextMapping[language], '') + ' +8' - ).toUTCString(); - const link = $item('div > span.padding-sm > b > a:first-child').attr('href'); + + const items = response.data.json + .filter((item) => item['broadcastStatus_' + languageKey] === 'Broadcasted') + .slice(0, 20) + .map((item) => { + const title = item['subject_' + languageKey]; + const $ = cheerio.load('