Skip to content

Commit 0d02f04

Browse files
authored
feat(route): add bilibili UP 主点赞视频 (#14596)
1 parent 6a3d132 commit 0d02f04

File tree

5 files changed

+47
-0
lines changed

5 files changed

+47
-0
lines changed

lib/routes/bilibili/like.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import got from '@/utils/got';
2+
const cache = require('./cache');
3+
const utils = require('./utils');
4+
import { parseDate } from '@/utils/parse-date';
5+
6+
module.exports = async (ctx) => {
7+
const uid = ctx.req.param('uid');
8+
const disableEmbed = ctx.req.param('disableEmbed');
9+
10+
const name = await cache.getUsernameFromUID(ctx, uid);
11+
12+
const response = await got({
13+
url: `https://api.bilibili.com/x/space/like/video?vmid=${uid}`,
14+
headers: {
15+
Referer: `https://space.bilibili.com/${uid}/`,
16+
},
17+
});
18+
const { data, code, message } = response.data;
19+
if (code) {
20+
throw new Error(message ?? code);
21+
}
22+
23+
ctx.set('data', {
24+
title: `${name} 的 bilibili 点赞视频`,
25+
link: `https://space.bilibili.com/${uid}`,
26+
description: `${name} 的 bilibili 点赞视频`,
27+
item: data.list.map((item) => ({
28+
title: item.title,
29+
description: `${item.desc}${disableEmbed ? '' : `<br><br>${utils.iframe(item.aid)}`}<br><img src='${item.pic}'>`,
30+
pubDate: parseDate(item.pubdate * 1000),
31+
link: item.pubdate > utils.bvidTime && item.bvid ? `https://www.bilibili.com/video/${item.bvid}` : `https://www.bilibili.com/video/av${item.aid}`,
32+
author: item.owner.name,
33+
})),
34+
});
35+
};

lib/routes/bilibili/maintainer.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ module.exports = {
3131
'/user/fav/:uid/:disableEmbed?': ['DIYgod'],
3232
'/user/followers/:uid/:loginUid': ['Qixingchen'],
3333
'/user/followings/:uid/:loginUid': ['Qixingchen'],
34+
'/user/like/:uid/:disableEmbed?': ['ygguorun'],
3435
'/user/video/:uid/:disableEmbed?': ['DIYgod'],
3536
'/video/danmaku/:bvid/:pid?': ['Qixingchen'],
3637
'/video/page/:bvid/:disableEmbed?': ['sxzz'],

lib/routes/bilibili/radar.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,12 @@ module.exports = {
102102
source: '/:uid',
103103
target: '/bilibili/user/coin/:uid',
104104
},
105+
{
106+
title: 'UP 主点赞视频',
107+
docs: 'https://docs.rsshub.app/routes/social-media#bilibili',
108+
source: '/:uid',
109+
target: '/bilibili/user/like/:uid',
110+
},
105111
{
106112
title: 'UP 主粉丝',
107113
docs: 'https://docs.rsshub.app/routes/social-media#bilibili',

lib/routes/bilibili/router.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export default (router) => {
3131
router.get('/user/fav/:uid/:disableEmbed?', './user-fav');
3232
router.get('/user/followers/:uid/:loginUid', './followers');
3333
router.get('/user/followings/:uid/:loginUid', './followings');
34+
router.get('/user/like/:uid/:disableEmbed?', './like');
3435
router.get('/user/video/:uid/:disableEmbed?', './video');
3536
router.get('/user/video-all/:uid/:disableEmbed?', './video-all');
3637
router.get('/video/danmaku/:bvid/:pid?', './danmaku');

website/docs/routes/social-media.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@
6767

6868
<Route author="DIYgod" example="/bilibili/user/coin/208259" path="/bilibili/user/coin/:uid/:disableEmbed?" paramsDesc={['用户 id, 可在 UP 主主页中找到', '默认为开启内嵌视频, 任意值为关闭']} radar="1" />
6969

70+
### UP 主点赞视频 {#bilibili-up-zhu-dian-zan-shi-pin}
71+
72+
<Route author="ygguorun" example="/bilibili/user/like/208259" path="/bilibili/user/like/:uid/:disableEmbed?" paramsDesc={['用户 id, 可在 UP 主主页中找到', '默认为开启内嵌视频, 任意值为关闭']} radar="1" />
73+
7074
### UP 主粉丝 {#bilibili-up-zhu-fen-si}
7175

7276
<Route author="Qixingchen" example="/bilibili/user/followers/2267573/3" path="/bilibili/user/followers/:uid/:loginUid" paramsDesc={['用户 id, 可在 UP 主主页中找到','用于登入的用户id,需要配置对应的 Cookie 值']} radar="1" configRequired="1">

0 commit comments

Comments
 (0)