This commit is contained in:
Developer
2026-03-14 11:55:45 +08:00
parent a971a65f96
commit e9b00d026f
6 changed files with 102 additions and 108 deletions

View File

@@ -83,39 +83,13 @@ export async function getRecommendFeed(freshIdx = 0): Promise<VideoItem[]> {
const res = await api.get('/x/web-interface/wbi/index/top/feed/rcmd', { params: signed });
const items: any[] = res.data.data?.item ?? [];
return items
.filter(item =>
(item.goto === 'av' && item.bvid && item.title) ||
(item.goto === 'live' && item.title),
)
.map(item => {
if (item.goto === 'live') {
const roomid = item.roomid ?? item.room_id ?? 0;
return {
bvid: `live-${roomid}`,
aid: 0,
title: item.title,
pic: item.pic ?? item.cover ?? '',
owner: item.owner ?? {
mid: item.owner_info?.mid ?? item.uid ?? 0,
name: item.owner_info?.name ?? item.uname ?? '',
face: item.owner_info?.face ?? item.face ?? '',
},
duration: 0,
desc: '',
stat: null,
goto: 'live' as const,
roomid,
online: item.watched_show?.num ?? item.online ?? 0,
area_name: item.area_name ?? '',
} as VideoItem;
}
return {
...item,
aid: item.id ?? item.aid,
pic: item.pic ?? item.cover,
owner: item.owner ?? { mid: 0, name: item.owner_info?.name ?? '', face: item.owner_info?.face ?? '' },
} as VideoItem;
});
.filter(item => item.goto === 'av' && item.bvid && item.title)
.map(item => ({
...item,
aid: item.id ?? item.aid,
pic: item.pic ?? item.cover,
owner: item.owner ?? { mid: 0, name: item.owner_info?.name ?? '', face: item.owner_info?.face ?? '' },
} as VideoItem));
}
export async function getPopularVideos(pn = 1): Promise<VideoItem[]> {