Files
JKVideo/services/types.ts

117 lines
2.1 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 }>;
2026-03-13 21:52:09 +08:00
goto?: 'av' | 'live';
roomid?: number;
online?: number;
area_name?: 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;
index_range: string;
}
export interface DashVideoItem {
id: number;
baseUrl: string;
bandwidth: number;
mimeType: string;
codecs: string;
width: number;
height: number;
stat:any;
frameRate: string;
segment_base?: DashSegmentBase;
}
export interface DashAudioItem {
id: number;
baseUrl: string;
bandwidth: number;
mimeType: string;
codecs: string;
segment_base?: 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[];
2026-03-11 10:03:46 +08:00
pvdata?: string; // base64 protobuf: packed float32 timestamps (seconds) per frame
}
2026-03-10 22:43:16 +08:00
export interface DanmakuItem {
time: number; // 秒float弹幕出现时间
mode: 1 | 4 | 5; // 1=滚动, 4=底部固定, 5=顶部固定
fontSize: number;
color: number; // 0xRRGGBB 十进制整数
text: string;
}
2026-03-13 21:52:09 +08:00
export interface LiveRoom {
roomid: number;
uid: number;
title: string;
uname: string;
face: string;
cover: string;
online: number;
area_name: string;
parent_area_name: string;
}