Files
JKVideo/services/types.ts

96 lines
1.6 KiB
TypeScript
Raw Normal View History

export interface VideoItem {
bvid: string;
aid: number;
title: string;
pic: string;
owner: {
mid: number;
name: string;
face: string;
};
2026-03-10 19:22:38 +08:00
stat?: {
view: number;
danmaku: number;
reply: number;
like: number;
coin: number;
favorite: number;
2026-03-10 19:22:38 +08:00
} | null;
duration: number;
desc: string;
2026-03-10 19:22:38 +08:00
cid?: number;
pages?: Array<{ cid: number; part: string }>;
}
export interface Comment {
rpid: number;
content: { message: string };
member: {
uname: string;
avatar: string;
};
like: number;
ctime: number;
replies: Comment[] | null;
}
export interface DashSegmentBase {
Initialization: string;
indexRange: string;
}
export interface DashVideoItem {
id: number;
baseUrl: string;
bandwidth: number;
mimeType: string;
codecs: string;
width: number;
height: number;
frameRate: string;
segmentBase: DashSegmentBase;
}
export interface DashAudioItem {
id: number;
baseUrl: string;
bandwidth: number;
mimeType: string;
codecs: string;
segmentBase: DashSegmentBase;
}
export interface PlayUrlResponse {
2026-03-10 19:04:18 +08:00
durl?: Array<{
url: string;
length: number;
size: number;
}>;
2026-03-10 19:04:18 +08:00
dash?: {
duration: number;
video: DashVideoItem[];
audio: DashAudioItem[];
2026-03-10 19:04:18 +08:00
};
quality: number;
2026-03-10 19:04:18 +08:00
accept_quality: number[];
accept_description: string[];
}
export interface QRCodeInfo {
url: string;
qrcode_key: string;
}
export interface VideoShotData {
img_x_len: number;
img_y_len: number;
img_x_size: number;
img_y_size: number;
image: string[];
}
export interface HeatmapResponse {
timestamp: number;
pb_data: string;
}