From 67bb2fa347e27409f97aeaf35cce674fc250a418 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Summer=E2=9B=B1?= <57806936+honue@users.noreply.github.com>
Date: Thu, 30 Nov 2023 22:23:23 +0800
Subject: [PATCH] =?UTF-8?q?feat(route):=20=E7=95=AA=E7=BB=84=E8=AE=A1?=
=?UTF-8?q?=E5=88=92=E7=94=A8=E6=88=B7=E6=83=B3=E7=9C=8B=20(#13922)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* feat(route): 番组计划用户想看
* add pubdate attr
* fix
---
lib/v2/bangumi/maintainer.js | 1 +
lib/v2/bangumi/radar.js | 6 ++++++
lib/v2/bangumi/router.js | 1 +
lib/v2/bangumi/tv/user/wish.js | 38 ++++++++++++++++++++++++++++++++++
website/docs/routes/anime.mdx | 6 +++++-
5 files changed, 51 insertions(+), 1 deletion(-)
create mode 100644 lib/v2/bangumi/tv/user/wish.js
diff --git a/lib/v2/bangumi/maintainer.js b/lib/v2/bangumi/maintainer.js
index ecd753921..358ddfaec 100644
--- a/lib/v2/bangumi/maintainer.js
+++ b/lib/v2/bangumi/maintainer.js
@@ -16,4 +16,5 @@ module.exports = {
'/tv/subject/:id/:type?/:showOriginalName?': ['JimenezLi'],
'/tv/topic/:id': ['ylc395'],
'/tv/user/blog/:id': ['nczitzk'],
+ '/tv/user/wish/:id': ['honue'],
};
diff --git a/lib/v2/bangumi/radar.js b/lib/v2/bangumi/radar.js
index a78bc0224..47b046a98 100644
--- a/lib/v2/bangumi/radar.js
+++ b/lib/v2/bangumi/radar.js
@@ -61,6 +61,12 @@ const bangumiTV = {
source: '/anime',
target: '/bangumi/tv/followrank',
},
+ {
+ title: '用户想看',
+ docs: 'https://docs.rsshub.app/routes/anime#bangumi-fan-zu-ji-hua',
+ source: '/anime/list/:id/wish',
+ target: '/bangumi/tv/user/wish/:id',
+ },
],
};
diff --git a/lib/v2/bangumi/router.js b/lib/v2/bangumi/router.js
index 41bed50eb..b3f9febce 100644
--- a/lib/v2/bangumi/router.js
+++ b/lib/v2/bangumi/router.js
@@ -11,4 +11,5 @@ module.exports = function (router) {
router.get('/tv/subject/:id/:type?/:showOriginalName?', require('./tv/subject'));
router.get('/tv/topic/:id', require('./tv/group/reply'));
router.get('/tv/user/blog/:id', require('./tv/user/blog'));
+ router.get('/tv/user/wish/:id', require('./tv/user/wish'));
};
diff --git a/lib/v2/bangumi/tv/user/wish.js b/lib/v2/bangumi/tv/user/wish.js
new file mode 100644
index 000000000..f89288ded
--- /dev/null
+++ b/lib/v2/bangumi/tv/user/wish.js
@@ -0,0 +1,38 @@
+const got = require('@/utils/got');
+const cheerio = require('cheerio');
+const timezone = require('@/utils/timezone');
+const { parseDate } = require('@/utils/parse-date');
+const config = require('@/config').value;
+module.exports = async (ctx) => {
+ const userid = ctx.params.id;
+ const url = `https://bgm.tv/anime/list/${userid}/wish`;
+ const response = await got({
+ url,
+ method: 'get',
+ headers: {
+ 'User-Agent': config.trueUA,
+ },
+ });
+ const $ = cheerio.load(response.body);
+
+ const username = $('.name').find('a').html();
+ const items = $('#browserItemList')
+ .find('li')
+ .toArray()
+ .map((item) => {
+ const aTag = $(item).find('h3').children('a');
+ const jdate = $(item).find('.collectInfo').find('span').html();
+ return {
+ title: aTag.html(),
+ link: 'https://bgm.tv' + aTag.attr('href'),
+ pubDate: timezone(parseDate(jdate), 0),
+ };
+ });
+
+ ctx.state.data = {
+ title: `${username}想看的动画`,
+ link: url,
+ item: items,
+ description: `${username}想看的动画列表`,
+ };
+};
diff --git a/website/docs/routes/anime.mdx b/website/docs/routes/anime.mdx
index 9f8474f7f..b38c840eb 100644
--- a/website/docs/routes/anime.mdx
+++ b/website/docs/routes/anime.mdx
@@ -203,7 +203,11 @@ For more tags, please go to [Search torrent](https://bangumi.moe/search/index)
-### 成员关注动画榜 {#bangumi-fan-zu-ji-hua-cheng-yuan-guan-zhu-dong-hua-bang}
+### 用户想看 {#bangumi-fan-zu-ji-hua-yong-hu-xiang-kan}
+
+
+
+### 成员关注动画榜 {#bangumi-cheng-yuan-guan-zhu-dong-hua-bang}