diff --git a/lib/v2/rfi/maintainer.js b/lib/v2/rfi/maintainer.js index 169cca9bc..ee48f58b8 100644 --- a/lib/v2/rfi/maintainer.js +++ b/lib/v2/rfi/maintainer.js @@ -1,3 +1,3 @@ module.exports = { - '/news': ['nczitzk'], + '/news/:lang?': ['nczitzk'], }; diff --git a/lib/v2/rfi/news.js b/lib/v2/rfi/news.js index d25a46fb8..886579ab5 100644 --- a/lib/v2/rfi/news.js +++ b/lib/v2/rfi/news.js @@ -3,8 +3,14 @@ const cheerio = require('cheerio'); const { parseDate } = require('@/utils/parse-date'); module.exports = async (ctx) => { + const LANGUAGE = new Map([ + ['en', '/en/live-news/'], + ['fr', '/fr/en-bref/'], + ['cn', '/cn/滚动新闻'], + ]); + const rootUrl = 'https://www.rfi.fr'; - const currentUrl = `${rootUrl}/cn/滚动新闻`; + const currentUrl = `${rootUrl}${LANGUAGE.get(ctx.params.lang ?? 'cn')}`; const response = await got({ method: 'get', url: currentUrl, @@ -42,8 +48,9 @@ module.exports = async (ctx) => { ); ctx.state.data = { - title: '滚动新闻 - 法国国际广播电台', + title: $('title').text(), link: currentUrl, item: items, + language: $("meta[property='og:locale']").attr('content'), }; }; diff --git a/lib/v2/rfi/router.js b/lib/v2/rfi/router.js index 69a5972f6..84ffb5b53 100644 --- a/lib/v2/rfi/router.js +++ b/lib/v2/rfi/router.js @@ -1,3 +1,3 @@ module.exports = function (router) { - router.get('/news', require('./news')); + router.get('/news/:lang?', require('./news')); }; diff --git a/website/docs/routes/multimedia.md b/website/docs/routes/multimedia.md index 9e1a89f32..cbe58390c 100644 --- a/website/docs/routes/multimedia.md +++ b/website/docs/routes/multimedia.md @@ -1551,7 +1551,15 @@ When `mediaType` is `movie`, `sheet` should be: ### 滚动新闻 {#fa-guo-guo-ji-guang-bo-dian-tai-gun-dong-xin-wen} - + + +**lang** + +| en | cn | fr | +| --- | --- | --- | +| 英文 | 中文 | 法文 | + + ## 高清电台 {#gao-qing-dian-tai}