mirror of
https://gh-proxy.org/https://github.com/tiajinsha/JKVideo
synced 2026-07-07 23:18:38 +08:00
feat: 视频推荐关联当前视频、UP主信息展示、直播全屏修复及UI优化
- 推荐列表改用 getVideoRelated 基于当前 bvid 推荐,与首页 feed 解耦 - 视频详情页 UP主名称下方展示粉丝数和视频数 - 推荐视频点击改为 router.replace 避免页面堆叠 - 直播全屏改用 position:absolute,解决退出全屏视频重建暂停问题 - 退出全屏时直播自动暂停 - 直播画质选中状态修复,过滤杜比/4K 画质选项 - 直播画质面板改为居中 Modal 弹出框 - 视频详情 Tab 按钮左对齐,评论排序及设置页按钮统一实心背景风格
This commit is contained in:
@@ -114,6 +114,12 @@ export async function getVideoDetail(bvid: string): Promise<VideoItem> {
|
||||
return res.data.data as VideoItem;
|
||||
}
|
||||
|
||||
export async function getVideoRelated(bvid: string): Promise<VideoItem[]> {
|
||||
const res = await api.get('/x/web-interface/archive/related', { params: { bvid } });
|
||||
const items: any[] = res.data.data ?? [];
|
||||
return items as VideoItem[];
|
||||
}
|
||||
|
||||
export async function getPlayUrl(bvid: string, cid: number, qn = 64): Promise<PlayUrlResponse> {
|
||||
const isAndroid = Platform.OS === 'android';
|
||||
// 1488 = 16(DASH)|64(HDR)|128(4K)|256(杜比全景声)|1024(杜比视界)
|
||||
@@ -143,6 +149,15 @@ export async function getPlayUrlForDownload(
|
||||
return url;
|
||||
}
|
||||
|
||||
export async function getUploaderStat(mid: number): Promise<{ follower: number; archiveCount: number }> {
|
||||
const res = await api.get('/x/web-interface/card', { params: { mid } });
|
||||
const data = res.data.data ?? {};
|
||||
return {
|
||||
follower: data.follower ?? 0,
|
||||
archiveCount: data.archive_count ?? 0,
|
||||
};
|
||||
}
|
||||
|
||||
export async function getUserInfo(): Promise<{ face: string; uname: string; mid: number }> {
|
||||
const res = await api.get('/x/web-interface/nav');
|
||||
const { face, uname, mid } = res.data.data;
|
||||
@@ -286,7 +301,9 @@ export async function getLiveStreamUrl(roomId: number, qn = 10000): Promise<Live
|
||||
const playurl = res.data?.data?.playurl_info?.playurl;
|
||||
const streams: any[] = playurl?.stream ?? [];
|
||||
const gQnDesc: any[] = playurl?.g_qn_desc ?? [];
|
||||
const qualities = gQnDesc.map((q: any) => ({ qn: q.qn as number, desc: q.desc as string }));
|
||||
const qualities = gQnDesc
|
||||
.map((q: any) => ({ qn: q.qn as number, desc: q.desc as string }))
|
||||
.filter(q => q.qn <= 10000);
|
||||
|
||||
let hlsUrl = '';
|
||||
let flvUrl = '';
|
||||
|
||||
Reference in New Issue
Block a user