141 lines
3.8 KiB
TypeScript
141 lines
3.8 KiB
TypeScript
/** 抖音评论响应(精简版) */
|
||
interface DouyinCommentResponse {
|
||
status_code: number;
|
||
comments: DouyinComment[];
|
||
total: number;
|
||
}
|
||
|
||
/** 单条评论(精简版) */
|
||
interface DouyinComment {
|
||
cid: string;
|
||
text: string; // 评论内容
|
||
digg_count: number; // 点赞数
|
||
create_time: number; // 创建时间(时间戳)
|
||
user: DouyinUser; // 评论用户
|
||
}
|
||
|
||
/** 用户信息(精简版) */
|
||
interface DouyinUser {
|
||
nickname: string; // 用户昵称
|
||
avatar_thumb: {
|
||
url_list: string[]; // 头像链接(可取第一个)
|
||
};
|
||
}
|
||
|
||
/** 抖音视频详情响应(精简版) */
|
||
interface DouyinVideoDetailResponse {
|
||
status_code: number;
|
||
aweme_detail: DouyinVideoDetail;
|
||
}
|
||
/** 作者信息(精简版) */
|
||
interface DouyinAuthor {
|
||
uid: string; // 用户ID
|
||
sec_uid: string; // 安全UID
|
||
nickname: string; // 用户昵称
|
||
signature: string; // 个性签名
|
||
avatar_thumb: {
|
||
url_list: string[]; // 头像URL(可取第一个)
|
||
};
|
||
follower_count: number; // 粉丝数
|
||
total_favorited: number; // 获赞总数
|
||
unique_id: string; // 抖音号
|
||
short_id: string; // 短ID
|
||
}
|
||
/** 视频详情 */
|
||
interface DouyinVideoDetail {
|
||
aweme_id: string; // 视频ID
|
||
desc: string; // 视频描述
|
||
preview_title?: string; // 视频标题(有些字段中叫 preview_title)
|
||
duration: number; // 视频时长(毫秒)
|
||
create_time: number; // 创建时间(时间戳)
|
||
share_url: string; // 视频分享链接
|
||
|
||
statistics: {
|
||
digg_count: number; // 点赞数
|
||
comment_count: number; // 评论数
|
||
share_count: number; // 分享数
|
||
collect_count: number; // 收藏数
|
||
};
|
||
|
||
author: DouyinAuthor; // 作者信息
|
||
video: VideoPlayBasic;
|
||
tags: VideoTagBasic[];
|
||
}
|
||
|
||
/** 视频播放信息 */
|
||
interface VideoPlayBasic {
|
||
/** 多种清晰度/编码的可播放变体(选其一即可) */
|
||
bit_rate: PlayVariant[];
|
||
/** 大缩略图(如果需要封面) */
|
||
big_thumb_url?: string;
|
||
}
|
||
|
||
/** 单个清晰度变体(来自 bit_rate[*] + play_addr) */
|
||
interface PlayVariant {
|
||
format: string; // mp4 等
|
||
FPS: number;
|
||
bit_rate: number; // bit_rate.bit_rate
|
||
|
||
/** 直连播放地址(最关键) */
|
||
play_addr: {
|
||
uri: string;
|
||
url_list: string[];
|
||
width: number;
|
||
height: number;
|
||
data_size: number;
|
||
FPS: number;
|
||
is_bytevc1: number; // 0 or 1
|
||
is_h265: number; // 0 or 1
|
||
};
|
||
}
|
||
|
||
/** 视频标签(精简) */
|
||
interface VideoTagBasic {
|
||
tag_id: number;
|
||
tag_name: string;
|
||
level?: number;
|
||
}
|
||
|
||
/** 图文作品列表响应(POST_PATH) */
|
||
interface DouyinPostListResponse {
|
||
status_code: number;
|
||
aweme_list: DouyinImageAweme[];
|
||
}
|
||
|
||
/** 图文作品(精简必要字段) */
|
||
interface DouyinImageAweme {
|
||
aweme_id: string;
|
||
desc: string;
|
||
create_time: number; // 秒
|
||
share_url: string;
|
||
statistics: {
|
||
digg_count: number;
|
||
comment_count: number;
|
||
share_count: number;
|
||
collect_count: number;
|
||
};
|
||
author: DouyinAuthor; // 复用视频作者类型(需包含 sec_uid)
|
||
images: DouyinImageInfo[]; // 图片列表
|
||
music?: DouyinMusicBasic; // 背景音乐(可选)
|
||
video_tag?: VideoTagBasic[]; // 标签
|
||
}
|
||
|
||
/** 图文作品的单张图片信息(精简) */
|
||
interface DouyinImageInfo {
|
||
url_list: string[]; // 多种格式(webp/jpeg)
|
||
download_url_list?: string[]; // 可能带水印
|
||
width: number;
|
||
height: number;
|
||
}
|
||
|
||
/** 音乐基本信息(精简) */
|
||
interface DouyinMusicBasic {
|
||
id?: number | string;
|
||
title?: string;
|
||
author?: string;
|
||
album?: string;
|
||
play_url: {
|
||
uri?: string;
|
||
url_list: string[]; // 真实可下载地址
|
||
};
|
||
} |