From 45aeb8e7a3e14f49035cc11c5ed573ef3bc50e92 Mon Sep 17 00:00:00 2001 From: Fatpandac <1779196284@qq.com> Date: Sun, 23 Jan 2022 04:03:48 +0800 Subject: [PATCH] Fix(route): remove next() and change to V2 (#8844) --- lib/radar-rules.js | 22 -------------- lib/router.js | 5 ---- lib/{routes => v2}/telegram/blog.js | 6 ++-- lib/{routes => v2}/telegram/channel.js | 3 +- lib/v2/telegram/maintainer.js | 5 ++++ lib/v2/telegram/radar.js | 35 ++++++++++++++++++++++ lib/v2/telegram/router.js | 5 ++++ lib/{routes => v2}/telegram/stickerpack.js | 0 8 files changed, 50 insertions(+), 31 deletions(-) rename lib/{routes => v2}/telegram/blog.js (83%) rename lib/{routes => v2}/telegram/channel.js (98%) create mode 100644 lib/v2/telegram/maintainer.js create mode 100644 lib/v2/telegram/radar.js create mode 100644 lib/v2/telegram/router.js rename lib/{routes => v2}/telegram/stickerpack.js (100%) diff --git a/lib/radar-rules.js b/lib/radar-rules.js index eed546500f..c7f6be1a4e 100644 --- a/lib/radar-rules.js +++ b/lib/radar-rules.js @@ -1993,28 +1993,6 @@ module.exports = { }, ], }, - 't.me': { - _name: 'Telegram', - '.': [ - { - title: '频道', - docs: 'https://docs.rsshub.app/social-media.html#telegram', - source: '/:username', - target: (params, url, document) => { - const isChannel = document && document.querySelector('.tgme_action_button_label'); - if (isChannel) { - return '/telegram/channel/:username'; - } - }, - }, - { - title: '频道', - docs: 'https://docs.rsshub.app/social-media.html#telegram', - source: '/s/:username', - target: '/telegram/channel/:username', - }, - ], - }, 'zhuixinfan.com': { _name: '追新番日剧站', '.': [ diff --git a/lib/router.js b/lib/router.js index 9d7cff3553..868e6d45e7 100644 --- a/lib/router.js +++ b/lib/router.js @@ -269,11 +269,6 @@ router.get('/v2ex/topics/:type', lazyloadRouteHandler('./routes/v2ex/topics')); router.get('/v2ex/post/:postid', lazyloadRouteHandler('./routes/v2ex/post')); router.get('/v2ex/tab/:tabid', lazyloadRouteHandler('./routes/v2ex/tab')); -// Telegram -router.get('/telegram/channel/:username/:searchQuery?', lazyloadRouteHandler('./routes/telegram/channel')); -router.get('/telegram/stickerpack/:name', lazyloadRouteHandler('./routes/telegram/stickerpack')); -router.get('/telegram/blog', lazyloadRouteHandler('./routes/telegram/blog')); - // readhub router.get('/readhub/category/:category', lazyloadRouteHandler('./routes/readhub/category')); diff --git a/lib/routes/telegram/blog.js b/lib/v2/telegram/blog.js similarity index 83% rename from lib/routes/telegram/blog.js rename to lib/v2/telegram/blog.js index 3ae028703d..bc6dc62e8d 100644 --- a/lib/routes/telegram/blog.js +++ b/lib/v2/telegram/blog.js @@ -1,7 +1,8 @@ const cherrio = require('cheerio'); const got = require('@/utils/got'); +const { parseDate } = require('@/utils/parse-date'); -module.exports = async (ctx, next) => { +module.exports = async (ctx) => { const link = 'https://telegram.org/blog'; const res = await got(link); @@ -19,7 +20,7 @@ module.exports = async (ctx, next) => { return { title: $('#dev_page_title').text(), link, - pubDate: new Date($('[property="article:published_time"]').attr('content')).toUTCString(), + pubDate: parseDate($('[property="article:published_time"]').attr('content')), description: $('#dev_page_content_wrap').html(), }; }); @@ -31,5 +32,4 @@ module.exports = async (ctx, next) => { link, item: items, }; - await next(); }; diff --git a/lib/routes/telegram/channel.js b/lib/v2/telegram/channel.js similarity index 98% rename from lib/routes/telegram/channel.js rename to lib/v2/telegram/channel.js index 686786b694..06bf33e17d 100644 --- a/lib/routes/telegram/channel.js +++ b/lib/v2/telegram/channel.js @@ -1,5 +1,6 @@ const got = require('@/utils/got'); const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); module.exports = async (ctx) => { const username = ctx.params.username; @@ -187,7 +188,7 @@ module.exports = async (ctx) => { const attachmentTitle = item.find('.tgme_widget_message_document_title').length ? item.find('.tgme_widget_message_document_title').text() + ' / ' + item.find('.tgme_widget_message_document_extra').text() : ''; /* pubDate */ - const pubDate = new Date(item.find('.tgme_widget_message_date time').attr('datetime')).toUTCString(); + const pubDate = parseDate(item.find('.tgme_widget_message_date time').attr('datetime')); /* message text & title */ const messageTextObject = item.find('.tgme_widget_message_bubble > .tgme_widget_message_text'); diff --git a/lib/v2/telegram/maintainer.js b/lib/v2/telegram/maintainer.js new file mode 100644 index 0000000000..58f8e1ad92 --- /dev/null +++ b/lib/v2/telegram/maintainer.js @@ -0,0 +1,5 @@ +module.exports = { + '/telegram/channel/:username/:searchQuery?': ['DIYgod'], + '/telegram/stickerpack/:name': ['DIYgod'], + '/telegram/blog': ['fengkx'], +}; diff --git a/lib/v2/telegram/radar.js b/lib/v2/telegram/radar.js new file mode 100644 index 0000000000..1449ddf099 --- /dev/null +++ b/lib/v2/telegram/radar.js @@ -0,0 +1,35 @@ +module.exports = { + 't.me': { + _name: 'Telegram', + '.': [ + { + title: '频道', + docs: 'https://docs.rsshub.app/social-media.html#telegram', + source: '/:username', + target: (params, url, document) => { + const isChannel = document && document.querySelector('.tgme_action_button_label'); + if (isChannel) { + return '/telegram/channel/:username'; + } + }, + }, + { + title: '频道', + docs: 'https://docs.rsshub.app/social-media.html#telegram', + source: '/s/:username', + target: '/telegram/channel/:username', + }, + ], + }, + 'telegram.org': { + _name: 'Telegram', + '.': [ + { + title: 'Telegram Blog', + docs: 'https://docs.rsshub.app/social-media.html#telegram-telegram-blog', + source: '/blog', + target: '/telegram/blog', + }, + ], + }, +}; diff --git a/lib/v2/telegram/router.js b/lib/v2/telegram/router.js new file mode 100644 index 0000000000..9c3616e092 --- /dev/null +++ b/lib/v2/telegram/router.js @@ -0,0 +1,5 @@ +module.exports = function (router) { + router.get('/channel/:username/:searchQuery?', require('./channel')); + router.get('/stickerpack/:name', require('./stickerpack')); + router.get('/blog', require('./blog')); +}; diff --git a/lib/routes/telegram/stickerpack.js b/lib/v2/telegram/stickerpack.js similarity index 100% rename from lib/routes/telegram/stickerpack.js rename to lib/v2/telegram/stickerpack.js