/** 抖音评论响应(精简版) */ 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; }; } /** 视频标签(精简) */ 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[]; // 真实可下载地址 }; }