UNPKG

@ikenxuan/amagi

Version:

抖音、B站的 web 端相关数据接口基于 Node.js 的实现

1,768 lines (1,756 loc) 443 kB
import { AxiosResponse, AxiosRequestConfig } from 'axios'; import { z } from 'zod'; import * as express from 'express'; import express__default, { Router, RequestHandler } from 'express'; import { ChalkInstance } from 'chalk'; /** * @description 视频信息参数类型 */ type BilibiliVideoParams = BilibiliMethodOptionsMap['VideoInfoParams']; /** * @description 视频下载参数类型 */ type BilibiliVideoDownloadParams = BilibiliMethodOptionsMap['VideoStreamParams']; /** * @description 评论参数类型 */ type BilibiliCommentParams = BilibiliMethodOptionsMap['CommentParams']; /** * @description 用户信息参数类型 */ type BilibiliUserParams = BilibiliMethodOptionsMap['UserParams']; /** * @description 表情包参数类型 */ type BilibiliEmojiParams = BilibiliMethodOptionsMap['EmojiParams']; /** * @description 番剧信息参数类型 */ type BilibiliBangumiInfoParams = BilibiliMethodOptionsMap['BangumiInfoParams']; /** * @description 番剧下载参数类型 */ type BilibiliBangumiStreamParams = BilibiliMethodOptionsMap['BangumiStreamParams']; /** * @description 动态信息参数类型 */ type BilibiliDynamicParams = BilibiliMethodOptionsMap['DynamicParams']; /** * @description 直播间参数类型 */ type BilibiliLiveParams = BilibiliMethodOptionsMap['LiveRoomParams']; /** * @description 登录参数类型 */ type BilibiliLoginParams = BilibiliMethodOptionsMap['LoginBaseInfoParams']; /** * @description 二维码获取参数类型 */ type BilibiliQrcodeParams = BilibiliMethodOptionsMap['GetQrcodeParams']; /** * @description 二维码状态参数类型 */ type BilibiliQrcodeStatusParams = BilibiliMethodOptionsMap['QrcodeParams']; /** * @description AV号转BV号参数类型 */ type BilibiliAv2BvParams = BilibiliMethodOptionsMap['Av2BvParams']; /** * @description BV号转AV号参数类型 */ type BilibiliBv2AvParams = BilibiliMethodOptionsMap['Bv2AvParams']; declare const BilibiliVideoParamsSchema: z.ZodType<BilibiliVideoParams>; declare const BilibiliVideoDownloadParamsSchema: z.ZodType<BilibiliVideoDownloadParams>; declare const BilibiliCommentParamsSchema: z.ZodType<BilibiliCommentParams>; declare const BilibiliUserParamsSchema: z.ZodType<BilibiliUserParams>; declare const BilibiliEmojiParamsSchema: z.ZodType<BilibiliEmojiParams>; declare const BilibiliBangumiInfoParamsSchema: z.ZodType<BilibiliBangumiInfoParams>; declare const BilibiliBangumiStreamParamsSchema: z.ZodType<BilibiliBangumiStreamParams>; declare const BilibiliDynamicParamsSchema: z.ZodType<BilibiliDynamicParams>; declare const BilibiliLiveParamsSchema: z.ZodType<BilibiliLiveParams>; declare const BilibiliLoginParamsSchema: z.ZodType<BilibiliLoginParams>; declare const BilibiliQrcodeParamsSchema: z.ZodType<BilibiliQrcodeParams>; declare const BilibiliQrcodeStatusParamsSchema: z.ZodType<BilibiliQrcodeStatusParams>; declare const BilibiliAv2BvParamsSchema: z.ZodType<BilibiliAv2BvParams>; declare const BilibiliBv2AvParamsSchema: z.ZodType<BilibiliBv2AvParams>; declare const BilibiliValidationSchemas: { readonly 单个视频作品数据: z.ZodType<{ methodType: "\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E"; bvid: string; }, z.ZodTypeDef, { methodType: "\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E"; bvid: string; }>; readonly 单个视频下载信息数据: z.ZodType<{ methodType: "\u5355\u4E2A\u89C6\u9891\u4E0B\u8F7D\u4FE1\u606F\u6570\u636E"; avid: number; cid: number; }, z.ZodTypeDef, { methodType: "\u5355\u4E2A\u89C6\u9891\u4E0B\u8F7D\u4FE1\u606F\u6570\u636E"; avid: number; cid: number; }>; readonly 评论数据: z.ZodType<{ methodType: "\u8BC4\u8BBA\u6570\u636E"; type: number; oid: string; number?: number; mode?: 0 | 1 | 2 | 3; pagination_str?: string; plat?: number; seek_rpid?: string; web_location?: string; }, z.ZodTypeDef, { methodType: "\u8BC4\u8BBA\u6570\u636E"; type: number; oid: string; number?: number; mode?: 0 | 1 | 2 | 3; pagination_str?: string; plat?: number; seek_rpid?: string; web_location?: string; }>; readonly 用户主页数据: z.ZodType<{ methodType: "\u7528\u6237\u4E3B\u9875\u6570\u636E" | "\u7528\u6237\u4E3B\u9875\u52A8\u6001\u5217\u8868\u6570\u636E" | "\u83B7\u53D6UP\u4E3B\u603B\u64AD\u653E\u91CF"; host_mid: number; }, z.ZodTypeDef, { methodType: "\u7528\u6237\u4E3B\u9875\u6570\u636E" | "\u7528\u6237\u4E3B\u9875\u52A8\u6001\u5217\u8868\u6570\u636E" | "\u83B7\u53D6UP\u4E3B\u603B\u64AD\u653E\u91CF"; host_mid: number; }>; readonly 用户主页动态列表数据: z.ZodType<{ methodType: "\u7528\u6237\u4E3B\u9875\u6570\u636E" | "\u7528\u6237\u4E3B\u9875\u52A8\u6001\u5217\u8868\u6570\u636E" | "\u83B7\u53D6UP\u4E3B\u603B\u64AD\u653E\u91CF"; host_mid: number; }, z.ZodTypeDef, { methodType: "\u7528\u6237\u4E3B\u9875\u6570\u636E" | "\u7528\u6237\u4E3B\u9875\u52A8\u6001\u5217\u8868\u6570\u636E" | "\u83B7\u53D6UP\u4E3B\u603B\u64AD\u653E\u91CF"; host_mid: number; }>; readonly Emoji数据: z.ZodType<{ methodType: "Emoji\u6570\u636E"; }, z.ZodTypeDef, { methodType: "Emoji\u6570\u636E"; }>; readonly 番剧基本信息数据: z.ZodType<{ methodType: "\u756A\u5267\u57FA\u672C\u4FE1\u606F\u6570\u636E"; season_id?: string; ep_id?: string; }, z.ZodTypeDef, { methodType: "\u756A\u5267\u57FA\u672C\u4FE1\u606F\u6570\u636E"; season_id?: string; ep_id?: string; }>; readonly 番剧下载信息数据: z.ZodType<{ methodType: "\u756A\u5267\u4E0B\u8F7D\u4FE1\u606F\u6570\u636E"; cid: number; ep_id: string; }, z.ZodTypeDef, { methodType: "\u756A\u5267\u4E0B\u8F7D\u4FE1\u606F\u6570\u636E"; cid: number; ep_id: string; }>; readonly 动态详情数据: z.ZodType<{ methodType: "\u52A8\u6001\u8BE6\u60C5\u6570\u636E" | "\u52A8\u6001\u5361\u7247\u6570\u636E"; dynamic_id: string; }, z.ZodTypeDef, { methodType: "\u52A8\u6001\u8BE6\u60C5\u6570\u636E" | "\u52A8\u6001\u5361\u7247\u6570\u636E"; dynamic_id: string; }>; readonly 动态卡片数据: z.ZodType<{ methodType: "\u52A8\u6001\u8BE6\u60C5\u6570\u636E" | "\u52A8\u6001\u5361\u7247\u6570\u636E"; dynamic_id: string; }, z.ZodTypeDef, { methodType: "\u52A8\u6001\u8BE6\u60C5\u6570\u636E" | "\u52A8\u6001\u5361\u7247\u6570\u636E"; dynamic_id: string; }>; readonly 直播间信息: z.ZodType<{ methodType: "\u76F4\u64AD\u95F4\u4FE1\u606F" | "\u76F4\u64AD\u95F4\u521D\u59CB\u5316\u4FE1\u606F"; room_id: string; }, z.ZodTypeDef, { methodType: "\u76F4\u64AD\u95F4\u4FE1\u606F" | "\u76F4\u64AD\u95F4\u521D\u59CB\u5316\u4FE1\u606F"; room_id: string; }>; readonly 直播间初始化信息: z.ZodType<{ methodType: "\u76F4\u64AD\u95F4\u4FE1\u606F" | "\u76F4\u64AD\u95F4\u521D\u59CB\u5316\u4FE1\u606F"; room_id: string; }, z.ZodTypeDef, { methodType: "\u76F4\u64AD\u95F4\u4FE1\u606F" | "\u76F4\u64AD\u95F4\u521D\u59CB\u5316\u4FE1\u606F"; room_id: string; }>; readonly 登录基本信息: z.ZodType<{ methodType: "\u767B\u5F55\u57FA\u672C\u4FE1\u606F"; }, z.ZodTypeDef, { methodType: "\u767B\u5F55\u57FA\u672C\u4FE1\u606F"; }>; readonly 申请二维码: z.ZodType<{ methodType: "\u7533\u8BF7\u4E8C\u7EF4\u7801"; }, z.ZodTypeDef, { methodType: "\u7533\u8BF7\u4E8C\u7EF4\u7801"; }>; readonly 二维码状态: z.ZodType<{ methodType: "\u4E8C\u7EF4\u7801\u72B6\u6001"; qrcode_key: string; }, z.ZodTypeDef, { methodType: "\u4E8C\u7EF4\u7801\u72B6\u6001"; qrcode_key: string; }>; readonly 获取UP主总播放量: z.ZodType<{ methodType: "\u7528\u6237\u4E3B\u9875\u6570\u636E" | "\u7528\u6237\u4E3B\u9875\u52A8\u6001\u5217\u8868\u6570\u636E" | "\u83B7\u53D6UP\u4E3B\u603B\u64AD\u653E\u91CF"; host_mid: number; }, z.ZodTypeDef, { methodType: "\u7528\u6237\u4E3B\u9875\u6570\u636E" | "\u7528\u6237\u4E3B\u9875\u52A8\u6001\u5217\u8868\u6570\u636E" | "\u83B7\u53D6UP\u4E3B\u603B\u64AD\u653E\u91CF"; host_mid: number; }>; readonly AV转BV: z.ZodType<{ methodType: "AV\u8F6CBV"; avid: number; }, z.ZodTypeDef, { methodType: "AV\u8F6CBV"; avid: number; }>; readonly BV转AV: z.ZodType<{ methodType: "BV\u8F6CAV"; bvid: string; }, z.ZodTypeDef, { methodType: "BV\u8F6CAV"; bvid: string; }>; }; type BilibiliMethodType = keyof typeof BilibiliValidationSchemas; interface DouyinMethodOptionsMap { CommentReplyParams: { methodType: '指定评论回复数据'; /** 视频ID */ aweme_id: string; /** 评论ID */ comment_id: string; /** * 获取的评论数量 * 默认情况下,如果指定的数量不足,则获取实际的评论数量。 * @defaultValue 5 */ number?: number; /** * 游标,作用类似于翻页,根据上一次评论数量递增 * @defaultValue 0 */ cursor?: number; }; UserParams: { methodType: '用户主页数据' | '用户主页视频列表数据' | '直播间信息数据'; /** 用户ID */ sec_uid: string; }; WorkParams: { methodType: '视频作品数据' | '图集作品数据' | '合辑作品数据' | '聚合解析'; /** 视频ID、图集ID、合辑ID */ aweme_id: string; }; CommentParams: { methodType: '评论数据'; /** 视频ID */ aweme_id: string; /** * 获取的评论数量 * 默认情况下,如果指定的数量不足,则获取实际的评论数量。 * @defaultValue 50 */ number?: number; /** * 游标,作用类似于翻页,根据上一次评论数量递增 * @defaultValue 0 */ cursor?: number; }; MusicParams: { methodType: '音乐数据'; /** 音乐ID */ music_id: string; }; LiveRoomParams: { methodType: '直播间信息数据'; /** 直播间ID,可从用户主页信息的room_id_str值取得 */ room_id: string; /** 直播间真实房间号(可通过live.douyin.com/\{web_rid\}直接访问直播间),在用户主页信息的room_data中获取 */ web_rid: string; }; QrcodeParams: { methodType: '申请二维码数据'; /** fp指纹 */ verify_fp: string; }; SearchParams: { methodType: '热点词数据' | '搜索数据'; /** 搜索词 */ query: string; /** * 搜索数量,仅数据类型为"搜索数据"时有效 * @defaultValue 10 */ number?: number; /** 上次搜索的游标值 */ search_id?: string; }; EmojiListParams: { methodType: 'Emoji数据'; }; EmojiProParams: { methodType: '动态表情数据'; }; VideoWorkParams: { methodType: '视频作品数据'; /** 视频ID */ aweme_id: string; }; ImageAlbumWorkParams: { methodType: '图集作品数据'; /** 图集ID */ aweme_id: string; }; SlidesWorkParams: { methodType: '合辑作品数据'; /** 合辑ID */ aweme_id: string; }; } /** * @description 抖音视频作品等请求参数 */ type DouyinWorkParams = DouyinMethodOptionsMap['WorkParams']; /** * @description 抖音评论数据请求参数 */ type DouyinCommentParams = DouyinMethodOptionsMap['CommentParams']; /** * @description 抖音搜索相关请求参数 */ type DouyinSearchParams = DouyinMethodOptionsMap['SearchParams']; /** * @description 抖音指定评论回复数据请求参数 */ type DouyinCommentReplyParams = DouyinMethodOptionsMap['CommentReplyParams']; /** * @description 抖音用户相关请求参数 */ type DouyinUserParams = DouyinMethodOptionsMap['UserParams']; /** * @description 抖音音乐数据请求参数 */ type DouyinMusicParams = DouyinMethodOptionsMap['MusicParams']; /** * @description 抖音直播间信息请求参数 */ type DouyinLiveRoomParams = DouyinMethodOptionsMap['LiveRoomParams']; /** * @description 抖音申请二维码请求参数 */ type DouyinQrcodeParams = DouyinMethodOptionsMap['QrcodeParams']; /** * @description 抖音Emoji数据请求参数 */ type DouyinEmojiListParams = DouyinMethodOptionsMap['EmojiListParams']; /** * @description 抖音动态表情数据请求参数 */ type DouyinEmojiProParams = DouyinMethodOptionsMap['EmojiProParams']; declare const DouyinWorkParamsSchema: z.ZodType<DouyinWorkParams>; declare const DouyinCommentParamsSchema: z.ZodType<DouyinCommentParams>; declare const DouyinSearchParamsSchema: z.ZodType<DouyinSearchParams>; declare const DouyinCommentReplyParamsSchema: z.ZodType<DouyinCommentReplyParams>; declare const DouyinUserParamsSchema: z.ZodType<DouyinUserParams>; declare const DouyinMusicParamsSchema: z.ZodType<DouyinMusicParams>; declare const DouyinQrcodeParamsSchema: z.ZodType<DouyinQrcodeParams>; declare const DouyinEmojiListParamsSchema: z.ZodType<DouyinEmojiListParams>; declare const DouyinEmojiProParamsSchema: z.ZodType<DouyinEmojiProParams>; declare const DouyinValidationSchemas: { readonly 聚合解析: z.ZodType<{ methodType: "\u89C6\u9891\u4F5C\u54C1\u6570\u636E" | "\u56FE\u96C6\u4F5C\u54C1\u6570\u636E" | "\u5408\u8F91\u4F5C\u54C1\u6570\u636E" | "\u805A\u5408\u89E3\u6790"; aweme_id: string; }, z.ZodTypeDef, { methodType: "\u89C6\u9891\u4F5C\u54C1\u6570\u636E" | "\u56FE\u96C6\u4F5C\u54C1\u6570\u636E" | "\u5408\u8F91\u4F5C\u54C1\u6570\u636E" | "\u805A\u5408\u89E3\u6790"; aweme_id: string; }>; readonly 视频作品数据: z.ZodType<{ methodType: "\u89C6\u9891\u4F5C\u54C1\u6570\u636E" | "\u56FE\u96C6\u4F5C\u54C1\u6570\u636E" | "\u5408\u8F91\u4F5C\u54C1\u6570\u636E" | "\u805A\u5408\u89E3\u6790"; aweme_id: string; }, z.ZodTypeDef, { methodType: "\u89C6\u9891\u4F5C\u54C1\u6570\u636E" | "\u56FE\u96C6\u4F5C\u54C1\u6570\u636E" | "\u5408\u8F91\u4F5C\u54C1\u6570\u636E" | "\u805A\u5408\u89E3\u6790"; aweme_id: string; }>; readonly 图集作品数据: z.ZodType<{ methodType: "\u89C6\u9891\u4F5C\u54C1\u6570\u636E" | "\u56FE\u96C6\u4F5C\u54C1\u6570\u636E" | "\u5408\u8F91\u4F5C\u54C1\u6570\u636E" | "\u805A\u5408\u89E3\u6790"; aweme_id: string; }, z.ZodTypeDef, { methodType: "\u89C6\u9891\u4F5C\u54C1\u6570\u636E" | "\u56FE\u96C6\u4F5C\u54C1\u6570\u636E" | "\u5408\u8F91\u4F5C\u54C1\u6570\u636E" | "\u805A\u5408\u89E3\u6790"; aweme_id: string; }>; readonly 合辑作品数据: z.ZodType<{ methodType: "\u89C6\u9891\u4F5C\u54C1\u6570\u636E" | "\u56FE\u96C6\u4F5C\u54C1\u6570\u636E" | "\u5408\u8F91\u4F5C\u54C1\u6570\u636E" | "\u805A\u5408\u89E3\u6790"; aweme_id: string; }, z.ZodTypeDef, { methodType: "\u89C6\u9891\u4F5C\u54C1\u6570\u636E" | "\u56FE\u96C6\u4F5C\u54C1\u6570\u636E" | "\u5408\u8F91\u4F5C\u54C1\u6570\u636E" | "\u805A\u5408\u89E3\u6790"; aweme_id: string; }>; readonly 评论数据: z.ZodType<{ methodType: "\u8BC4\u8BBA\u6570\u636E"; aweme_id: string; number?: number; cursor?: number; }, z.ZodTypeDef, { methodType: "\u8BC4\u8BBA\u6570\u636E"; aweme_id: string; number?: number; cursor?: number; }>; readonly 用户主页数据: z.ZodType<{ methodType: "\u7528\u6237\u4E3B\u9875\u6570\u636E" | "\u7528\u6237\u4E3B\u9875\u89C6\u9891\u5217\u8868\u6570\u636E" | "\u76F4\u64AD\u95F4\u4FE1\u606F\u6570\u636E"; sec_uid: string; }, z.ZodTypeDef, { methodType: "\u7528\u6237\u4E3B\u9875\u6570\u636E" | "\u7528\u6237\u4E3B\u9875\u89C6\u9891\u5217\u8868\u6570\u636E" | "\u76F4\u64AD\u95F4\u4FE1\u606F\u6570\u636E"; sec_uid: string; }>; readonly 用户主页视频列表数据: z.ZodType<{ methodType: "\u7528\u6237\u4E3B\u9875\u6570\u636E" | "\u7528\u6237\u4E3B\u9875\u89C6\u9891\u5217\u8868\u6570\u636E" | "\u76F4\u64AD\u95F4\u4FE1\u606F\u6570\u636E"; sec_uid: string; }, z.ZodTypeDef, { methodType: "\u7528\u6237\u4E3B\u9875\u6570\u636E" | "\u7528\u6237\u4E3B\u9875\u89C6\u9891\u5217\u8868\u6570\u636E" | "\u76F4\u64AD\u95F4\u4FE1\u606F\u6570\u636E"; sec_uid: string; }>; readonly 热点词数据: z.ZodType<{ methodType: "\u70ED\u70B9\u8BCD\u6570\u636E" | "\u641C\u7D22\u6570\u636E"; query: string; number?: number; search_id?: string; }, z.ZodTypeDef, { methodType: "\u70ED\u70B9\u8BCD\u6570\u636E" | "\u641C\u7D22\u6570\u636E"; query: string; number?: number; search_id?: string; }>; readonly 搜索数据: z.ZodType<{ methodType: "\u70ED\u70B9\u8BCD\u6570\u636E" | "\u641C\u7D22\u6570\u636E"; query: string; number?: number; search_id?: string; }, z.ZodTypeDef, { methodType: "\u70ED\u70B9\u8BCD\u6570\u636E" | "\u641C\u7D22\u6570\u636E"; query: string; number?: number; search_id?: string; }>; readonly 音乐数据: z.ZodType<{ methodType: "\u97F3\u4E50\u6570\u636E"; music_id: string; }, z.ZodTypeDef, { methodType: "\u97F3\u4E50\u6570\u636E"; music_id: string; }>; readonly 直播间信息数据: z.ZodType<{ methodType: "\u7528\u6237\u4E3B\u9875\u6570\u636E" | "\u7528\u6237\u4E3B\u9875\u89C6\u9891\u5217\u8868\u6570\u636E" | "\u76F4\u64AD\u95F4\u4FE1\u606F\u6570\u636E"; sec_uid: string; }, z.ZodTypeDef, { methodType: "\u7528\u6237\u4E3B\u9875\u6570\u636E" | "\u7528\u6237\u4E3B\u9875\u89C6\u9891\u5217\u8868\u6570\u636E" | "\u76F4\u64AD\u95F4\u4FE1\u606F\u6570\u636E"; sec_uid: string; }>; readonly 申请二维码数据: z.ZodType<{ methodType: "\u7533\u8BF7\u4E8C\u7EF4\u7801\u6570\u636E"; verify_fp: string; }, z.ZodTypeDef, { methodType: "\u7533\u8BF7\u4E8C\u7EF4\u7801\u6570\u636E"; verify_fp: string; }>; readonly Emoji数据: z.ZodType<{ methodType: "Emoji\u6570\u636E"; }, z.ZodTypeDef, { methodType: "Emoji\u6570\u636E"; }>; readonly 动态表情数据: z.ZodType<{ methodType: "\u52A8\u6001\u8868\u60C5\u6570\u636E"; }, z.ZodTypeDef, { methodType: "\u52A8\u6001\u8868\u60C5\u6570\u636E"; }>; readonly 指定评论回复数据: z.ZodType<{ methodType: "\u6307\u5B9A\u8BC4\u8BBA\u56DE\u590D\u6570\u636E"; aweme_id: string; comment_id: string; number?: number; cursor?: number; }, z.ZodTypeDef, { methodType: "\u6307\u5B9A\u8BC4\u8BBA\u56DE\u590D\u6570\u636E"; aweme_id: string; comment_id: string; number?: number; cursor?: number; }>; }; type DouyinMethodType = keyof typeof DouyinValidationSchemas; interface KuaishouMethodOptionsMap { VideoInfoParams: { methodType: '单个视频作品数据'; /** 作品ID */ photoId: string; }; CommentParams: { methodType: '评论数据'; /** 作品ID */ photoId: string; }; EmojiListParams: { methodType: 'Emoji数据'; }; } /** * @description 快手单个视频作品请求参数 */ type KuaishouVideoParams = KuaishouMethodOptionsMap['VideoInfoParams']; /** * @description 快手评论数据请求参数 */ type KuaishouCommentParams = KuaishouMethodOptionsMap['CommentParams']; /** * @description 快手Emoji数据请求参数 */ type KuaishouEmojiParams = KuaishouMethodOptionsMap['EmojiListParams']; declare const KuaishouVideoParamsSchema: z.ZodType<KuaishouVideoParams>; declare const KuaishouCommentParamsSchema: z.ZodType<KuaishouCommentParams>; declare const KuaishouEmojiParamsSchema: z.ZodType<KuaishouEmojiParams>; declare const KuaishouValidationSchemas: { readonly 单个视频作品数据: z.ZodType<{ methodType: "\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E"; photoId: string; }, z.ZodTypeDef, { methodType: "\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E"; photoId: string; }>; readonly 评论数据: z.ZodType<{ methodType: "\u8BC4\u8BBA\u6570\u636E"; photoId: string; }, z.ZodTypeDef, { methodType: "\u8BC4\u8BBA\u6570\u636E"; photoId: string; }>; readonly Emoji数据: z.ZodType<{ methodType: "Emoji\u6570\u636E"; }, z.ZodTypeDef, { methodType: "Emoji\u6570\u636E"; }>; }; type KuaishouMethodType = keyof typeof KuaishouValidationSchemas; type NetworksConfigType = { /** * 请求地址 */ url: string; /** * 请求方法 */ method?: string; /** * 请求头 */ headers?: any; /** * 返回数据类型,默认json */ responseType?: string; /** * 请求体 */ body?: object | string; /** * 超时时间,单位毫秒 */ timeout?: number; /** * 默认跟随重定向到: 'follow',不跟随: manual */ redirect?: RequestRedirect; /** * 拓展参数,该次请求数据什么数据类型,注意是平台接口的类型定义,不是请求参数 */ methodType?: string; }; /** API标准化HTTP请求错误类型 */ type ErrorDetail = { /** * 错误描述信息 */ errorDescription: string; /** * 请求类型 */ requestType: string; /** * 请求URL地址 */ requestUrl: string; }; /** 未知错误 */ declare enum amagiAPIErrorCode { /** 未知错误 */ UNKNOWN = "UNKNOWN_ERROR" } /** 抖音平台API错误码 */ declare enum douoyinAPIErrorCode { /** Cookie无效或已过期 */ COOKIE = "INVALID_COOKIE", /** 内容被隐藏或下架 */ FILTER = "CONTENT_FILTERED", /** 当前用户未开播 */ NOT_LIVE = "USER_NOT_LIVE", /** 未知错误 */ UNKNOWN = "UNKNOWN_ERROR" } /** B站平台API错误码 */ declare enum bilibiliAPIErrorCode { /** 应用程序不存在或已被封禁 */ APP_NOT_FOUND = "-1", /** Access Key 错误 */ ACCESS_KEY_ERROR = "-2", /** API 校验密匙错误 */ API_KEY_ERROR = "-3", /** 调用方对该Method没有权限 */ METHOD_NOT_PERMITTED = "-4", /** 账号未登录 */ NOT_LOGGED_IN = "-101", /** 账号被封停 */ ACCOUNT_BANNED = "-102", /** 积分不足 */ POINTS_INSUFFICIENT = "-103", /** 硬币不足 */ COINS_INSUFFICIENT = "-104", /** 验证码错误 */ CAPTCHA_ERROR = "-105", /** 账号非正式会员或在适应期 */ MEMBERSHIP_LIMITED = "-106", /** 应用不存在或者被封禁 */ APP_BANNED = "-107", /** 未绑定手机 */ PHONE_NOT_BOUND = "-108", /** 未绑定手机 */ PHONE_NOT_BOUND_2 = "-110", /** csrf 校验失败 */ CSRF_ERROR = "-111", /** 系统升级中 */ SYSTEM_UPDATING = "-112", /** 账号尚未实名认证 */ NOT_REAL_NAME_VERIFIED = "-113", /** 请先绑定手机 */ NEED_BIND_PHONE = "-114", /** 请先完成实名认证 */ NEED_REAL_NAME_VERIFICATION = "-115", /** 木有改动 */ NO_CHANGE = "-304", /** 撞车跳转 */ CONFLICT_REDIRECT = "-307", /** 风控校验失败 (UA 或 wbi 参数不合法) */ RISK_CONTROL_FAILED = "-352", /** 请求错误 */ BAD_REQUEST = "-400", /** 未认证 (或非法请求) */ UNAUTHORIZED = "-401", /** 访问权限不足 */ FORBIDDEN = "-403", /** 啥都木有 */ NOT_FOUND = "-404", /** 不支持该方法 */ METHOD_NOT_ALLOWED = "-405", /** 冲突 */ CONFLICT = "-409", /** 请求被拦截 (客户端 ip 被服务端风控) */ IP_BLOCKED = "-412", /** 服务器错误 */ SERVER_ERROR = "-500", /** 过载保护,服务暂不可用 */ SERVICE_UNAVAILABLE = "-503", /** 服务调用超时 */ GATEWAY_TIMEOUT = "-504", /** 超出限制 */ RATE_LIMITED = "-509", /** 上传文件不存在 */ FILE_NOT_FOUND = "-616", /** 上传文件太大 */ FILE_TOO_LARGE = "-617", /** 登录失败次数太多 */ LOGIN_ATTEMPTS_EXCEEDED = "-625", /** 用户不存在 */ USER_NOT_FOUND = "-626", /** 密码太弱 */ WEAK_PASSWORD = "-628", /** 用户名或密码错误 */ INVALID_CREDENTIALS = "-629", /** 操作对象数量限制 */ OBJECT_LIMIT_EXCEEDED = "-632", /** 被锁定 */ ACCOUNT_LOCKED = "-643", /** 用户等级太低 */ USER_LEVEL_TOO_LOW = "-650", /** 重复的用户 */ DUPLICATE_USER = "-652", /** Token 过期 */ TOKEN_EXPIRED = "-658", /** 密码时间戳过期 */ PASSWORD_TIMESTAMP_EXPIRED = "-662", /** 地理区域限制 */ GEO_RESTRICTED = "-688", /** 版权限制 */ COPYRIGHT_RESTRICTED = "-689", /** 扣节操失败 */ REPUTATION_DEDUCTION_FAILED = "-701", /** 请求过于频繁,请稍后再试 */ TOO_MANY_REQUESTS = "-799", /** 服务器开小差了 */ SERVER_TEMPORARILY_UNAVAILABLE = "-8888", /** 未知错误 */ UNKNOWN = "UNKNOWN" } /** 快手平台API错误码 */ declare enum kuaishouAPIErrorCode { /** Cookie无效或已过期 */ COOKIE = "INVALID_COOKIE", /** 未知错误 */ UNKNOWN = "UNKNOWN_ERROR" } interface BilibiliMethodOptionsMap { VideoInfoParams: { methodType: '单个视频作品数据'; /** 稿件BVID */ bvid: string; }; VideoStreamParams: { methodType: '单个视频下载信息数据'; /** 稿件AVID */ avid: number; /** 稿件cid */ cid: number; }; CommentParams: { methodType: '评论数据'; /** 评论区类型代码,详见 [评论区类型代码](https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/docs/comment/readme.md#%E8%AF%84%E8%AE%BA%E5%8C%BA%E7%B1%BB%E5%9E%8B%E4%BB%A3%E7%A0%81) */ type: number; /** 稿件ID,也就是AV号去除前缀后的内容 */ oid: string; /** * 获取的评论数量,默认20 * @defaultValue 20 */ number?: number; /** * 排序方式 * 默认为3 * 0: 仅热度 * 1: 按热度+按时间 * 2: 仅时间 * @defaultValue 3 */ mode?: 0 | 1 | 2 | 3; /** * 翻页信息,用于懒加载分页 * 首次请求时不传,后续请求使用上次响应中的 data.cursor.pagination_reply.next_offset */ pagination_str?: string; /** * 平台类型 * @defaultValue 1 */ plat?: number; /** * 当获取第一页评论时存在 */ seek_rpid?: string; /** * web位置参数 * @defaultValue 1315875 */ web_location?: string; }; UserParams: { methodType: '用户主页数据' | '用户主页动态列表数据' | '获取UP主总播放量'; /** UP主UID */ host_mid: number; }; DynamicParams: { methodType: '动态详情数据' | '动态卡片数据'; /** 动态ID */ dynamic_id: string; }; BangumiInfoParams: { methodType: '番剧基本信息数据'; /** 稿件ep_id,其含义为 {@link https://www.bilibili.com/anime/index | 番剧索引} 或 **我的追番** 中的番剧,对应网址中包含ss号,如:{@link https://www.bilibili.com/bangumi/play/ss33802} */ season_id?: string; /** 稿件ep_id,番剧的某一集,对应网址中包含ep号,如:{@link https://www.bilibili.com/bangumi/play/ep330798} */ ep_id?: string; }; BangumiStreamParams: { methodType: '番剧下载信息数据'; /** 稿件cid */ cid: number; /** 稿件ep_id,番剧的某一集,对应网址中包含ep号,如:{@link https://www.bilibili.com/bangumi/play/ep330798} */ ep_id: string; }; LiveRoomParams: { methodType: '直播间信息' | '直播间初始化信息'; /** 直播间ID */ room_id: string; }; QrcodeParams: { methodType: '二维码状态'; /** 扫码登录秘钥 */ qrcode_key: string; }; EmojiParams: { methodType: 'Emoji数据'; }; LoginBaseInfoParams: { methodType: '登录基本信息'; }; GetQrcodeParams: { methodType: '申请二维码'; }; Bv2AvParams: { methodType: 'BV转AV'; /** 视频BV号 */ bvid: string; }; Av2BvParams: { methodType: 'AV转BV'; /** 视频AV号 */ avid: number; }; } type DyEmojiList = { emoji_list: EmojiListElement[]; status_code: number; version: number; [property: string]: any; }; type EmojiListElement = { display_name: string; emoji_url: Emojiurl; hide: number; origin_uri: string; [property: string]: any; }; type Emojiurl = { uri: string; url_list: string[]; [property: string]: any; }; type DyEmojiProList = { decision_trees: DecisionTrees; diverter_tags: DiverterTags; do_not_retry: boolean; extra: EmojiProListExtra; flame_achieve_dashboard: FlameAchieveDashboard; interactive_resource_config: InteractiveResourceConfig; log_pb: LogPb$8; report_toggles: ReportToggles; status_code: number; status_msg: string; [property: string]: any; }; type DecisionTrees = { flame_achieve: FlameAchieve; interactive_resources: InteractiveResources; [property: string]: any; }; type FlameAchieve = { default_config_name: string; root: FlameAchieveRoot; [property: string]: any; }; type FlameAchieveRoot = { node_attribute: string; node_operation: string; node_type: string; node_value: string; sub_node: PurpleSubNode[]; [property: string]: any; }; type PurpleSubNode = { node_attribute: string; node_operation: string; node_type: string; node_value: string; sub_node?: FluffySubNode[]; [property: string]: any; }; type FluffySubNode = { config_name: string; node_attribute: string; node_operation: string; node_type: string; node_value: string; sub_node: TentacledSubNode[]; [property: string]: any; }; type TentacledSubNode = { config_name: string; node_attribute: string; node_operation: string; node_type: string; node_value: string; sub_node: StickySubNode[]; [property: string]: any; }; type StickySubNode = { config_name: string; node_attribute: string; node_operation: string; node_type: string; node_value: string; sub_node: IndigoSubNode[]; [property: string]: any; }; type IndigoSubNode = { config_name: string; node_attribute: string; node_operation: string; node_type: string; node_value: string; [property: string]: any; }; type InteractiveResources = { default_config_name: string; root: InteractiveResourcesRoot; [property: string]: any; }; type InteractiveResourcesRoot = { node_attribute: string; node_operation: string; node_type: string; node_value: string; sub_node: IndecentSubNode[]; [property: string]: any; }; type IndecentSubNode = { config_name: string; node_attribute: string; node_operation: string; node_type: string; node_value: string; [property: string]: any; }; type DiverterTags = { actionbar_diff: string; flame_achieve: string; interactive_resources: string; interactive_resources_v2: string; plus_panel_diff: string; [property: string]: any; }; type EmojiProListExtra = { fatal_item_ids: string[]; logid: string; now: number; [property: string]: any; }; type FlameAchieveDashboard = { '火花成就--小火人': 火花成就小火人; 火花成就日常: 火花成就日常; '火花成就日常-群聊': 火花成就日常群聊; 火花成就日常V2: 火花成就日常V2; '火花成就日常V2-群聊': 火花成就日常V2群聊; 火花成就测试: 火花成就测试; '火花成就节日测试-群聊': 火花成就节日测试群聊; [property: string]: any; }; type 火花成就小火人 = { detail: 火花成就小火人_Detail[]; pet_elf_detail: PetelfDetail[]; [property: string]: any; }; type 火花成就小火人_Detail = { detail_subtitle_lock: string[]; detail_subtitle_unflame: string[]; flame_info: PurpleFlameInfo[]; flame_to_achieve_url: string; keys: string[]; subscript: string; subtitle: string; subtitle_lock: string; title: string; [property: string]: any; }; type PurpleFlameInfo = { detail_subtitle: string[]; flame_achieve_url: string; key: string; subscript_color: string; subtitle: string; title: string; [property: string]: any; }; type PetelfDetail = { detail_subtitle_unflame?: string[]; flame_info?: PetelfDetailFlameInfo[]; flame_to_achieve_url?: string; keys?: string[]; subscript?: string; subtitle?: string; title?: string; [property: string]: any; }; type PetelfDetailFlameInfo = { detail_subtitle?: string[]; flame_achieve_url?: string; key?: string; subscript_color?: string; subtitle?: string; title?: string; [property: string]: any; }; type 火花成就日常 = { detail: 火花成就日常_Detail[]; [property: string]: any; }; type 火花成就日常_Detail = { detail_subtitle_unflame: string[]; flame_info: FluffyFlameInfo[]; flame_to_achieve_url: string; keys: string[]; subscript: string; subtitle: string; title: string; [property: string]: any; }; type FluffyFlameInfo = { detail_subtitle: string[]; flame_achieve_url: string; key: string; subscript_color: string; subtitle: string; title: string; [property: string]: any; }; type 火花成就日常群聊 = { detail: 火花成就日常群聊_Detail[]; [property: string]: any; }; type 火花成就日常群聊_Detail = { detail_subtitle_unflame: string[]; flame_info: TentacledFlameInfo[]; flame_to_achieve_url: string; keys: string[]; subscript: string; subtitle: string; title: string; [property: string]: any; }; type TentacledFlameInfo = { detail_subtitle: string[]; flame_achieve_url: string; key: string; subscript_color: string; subtitle: string; title: string; [property: string]: any; }; type 火花成就日常V2 = { detail: 火花成就日常V2Detail[]; [property: string]: any; }; type 火花成就日常V2Detail = { detail_subtitle_lock: string[]; detail_subtitle_unflame: string[]; flame_info: StickyFlameInfo[]; flame_to_achieve_url: string; keys: string[]; subscript: string; subtitle: string; subtitle_lock: string; title: string; [property: string]: any; }; type StickyFlameInfo = { detail_subtitle: string[]; flame_achieve_url: string; key: string; subscript_color: string; subtitle: string; title: string; [property: string]: any; }; type 火花成就日常V2群聊 = { detail: 火花成就日常V2群聊_Detail[]; [property: string]: any; }; type 火花成就日常V2群聊_Detail = { detail_subtitle_lock: string[]; detail_subtitle_unflame: string[]; flame_info: IndigoFlameInfo[]; flame_to_achieve_url: string; keys: string[]; subscript: string; subtitle: string; subtitle_lock: string; title: string; [property: string]: any; }; type IndigoFlameInfo = { detail_subtitle: string[]; flame_achieve_url: string; key: string; subscript_color: string; subtitle: string; title: string; [property: string]: any; }; type 火花成就测试 = { detail: 火花成就测试_Detail[]; [property: string]: any; }; type 火花成就测试_Detail = { detail_subtitle_unflame: string[]; flame_info: IndecentFlameInfo[]; flame_to_achieve_url: string; keys: string[]; subscript: string; subtitle: string; title: string; [property: string]: any; }; type IndecentFlameInfo = { detail_subtitle: string[]; flame_achieve_url: string; key: string; subscript_color: string; subtitle: string; title: string; [property: string]: any; }; type 火花成就节日测试群聊 = { detail: 火花成就节日测试群聊_Detail[]; [property: string]: any; }; type 火花成就节日测试群聊_Detail = { detail_subtitle_unflame: string[]; flame_info: HilariousFlameInfo[]; flame_to_achieve_url: string; keys: string[]; subscript: string; subtitle: string; title: string; [property: string]: any; }; type HilariousFlameInfo = { detail_subtitle: string[]; flame_achieve_url: string; key: string; subscript_color: string; subtitle: string; title: string; [property: string]: any; }; type InteractiveResourceConfig = { '100-2025春节互动表情\t': The1002025春节互动表情; '2025 春节-Android': The2025春节Android; '2025 春节-Android更新': The2025春节Android更新; '互动表情升级 一期': 互动表情升级一期; [property: string]: any; }; type The1002025春节互动表情 = { animate_icon: { [key: string]: any; }; icon_url: string; interactive_resources: The1002025春节互动表情_InteractiveResource[]; special_resources: The1002025春节互动表情_SpecialResource[]; [property: string]: any; }; type The1002025春节互动表情_InteractiveResource = { animate_type: string; animate_url: string; display_name: string; extra: PurpleExtra$2; height: number; resource_type: number; static_type: string; static_url: string; static_url_list: PurpleStaticurlList[]; sticker_info_source: string; version: number; visible_end_time: number; width: number; [property: string]: any; }; type PurpleExtra$2 = { activity_scene?: string; hint_content?: string; light_interaction: string; sticker_info_source?: string; [property: string]: any; }; type PurpleStaticurlList = { static_type: string; static_url: string; [property: string]: any; }; type The1002025春节互动表情_SpecialResource = { config: PurpleConfig; in_advance: boolean; name: string; relation_name: string[]; special_resource: string; special_type: number; trigger_type: string; version: number; [property: string]: any; }; type PurpleConfig = { continuous_show?: string; random_show: string; receiver_show?: string; sender_show?: string; [property: string]: any; }; type The2025春节Android = { animate_icon: { [key: string]: any; }; icon_url: string; interactive_resources: The2025春节AndroidInteractiveResource[]; special_resources: The2025春节AndroidSpecialResource[]; [property: string]: any; }; type The2025春节AndroidInteractiveResource = { animate_type: string; animate_url: string; display_name: string; extra: FluffyExtra$2; height: number; resource_type: number; static_type: string; static_url: string; static_url_list: FluffyStaticurlList[]; sticker_info_source: string; version: number; visible_end_time: number; width: number; [property: string]: any; }; type FluffyExtra$2 = { activity_scene?: string; hint_content?: string; light_interaction: string; sticker_info_source?: string; [property: string]: any; }; type FluffyStaticurlList = { static_type: string; static_url: string; [property: string]: any; }; type The2025春节AndroidSpecialResource = { config: FluffyConfig; in_advance: boolean; name: string; relation_name: string[]; special_resource: string; special_type: number; trigger_type: string; version: number; [property: string]: any; }; type FluffyConfig = { continuous_show?: string; random_show: string; receiver_show?: string; sender_show?: string; [property: string]: any; }; type The2025春节Android更新 = { animate_icon: { [key: string]: any; }; icon_url: string; interactive_resources: The2025春节Android更新_InteractiveResource[]; special_resources: The2025春节Android更新_SpecialResource[]; [property: string]: any; }; type The2025春节Android更新_InteractiveResource = { animate_type: string; animate_url: string; display_name: string; extra: TentacledExtra$1; height: number; resource_type: number; static_type: string; static_url: string; static_url_list: TentacledStaticurlList[]; sticker_info_source: string; version: number; visible_end_time: number; width: number; [property: string]: any; }; type TentacledExtra$1 = { activity_scene?: string; hint_content?: string; light_interaction: string; sticker_info_source?: string; [property: string]: any; }; type TentacledStaticurlList = { static_type: string; static_url: string; [property: string]: any; }; type The2025春节Android更新_SpecialResource = { config: TentacledConfig; in_advance: boolean; name: string; relation_name: string[]; special_resource: string; special_type: number; trigger_type: string; version: number; [property: string]: any; }; type TentacledConfig = { continuous_show?: string; random_show: string; receiver_show?: string; sender_show?: string; [property: string]: any; }; type 互动表情升级一期 = { animate_icon: { [key: string]: any; }; icon_url: string; interactive_resources: 互动表情升级一期_InteractiveResource[]; special_resources: 互动表情升级一期_SpecialResource[]; [property: string]: any; }; type 互动表情升级一期_InteractiveResource = { animate_type: string; animate_url: string; display_name: string; extra: StickyExtra$1; height: number; resource_type: number; static_type: string; static_url: string; static_url_list: StickyStaticurlList[]; sticker_info_source: string; version: number; width: number; [property: string]: any; }; type StickyExtra$1 = { light_interaction: string; [property: string]: any; }; type StickyStaticurlList = { static_type: string; static_url: string; [property: string]: any; }; type 互动表情升级一期_SpecialResource = { config: StickyConfig; in_advance: boolean; name: string; relation_name: string[]; special_resource: string; special_type: number; trigger_type: string; version: number; [property: string]: any; }; type StickyConfig = { continuous_show?: string; random_show: string; receiver_show?: string; sender_show?: string; [property: string]: any; }; type LogPb$8 = { impr_id: string; [property: string]: any; }; type ReportToggles = { actionbar_diff: number; flame_achieve: number; interactive_resources: number; interactive_resources_v2: number; plus_panel_diff: number; [property: string]: any; }; /** 图集作品 */ type DyImageAlbumWork = { aweme_detail: AwemeDetail$2; log_pb: LogPb$7; status_code: number; [property: string]: any; }; type AwemeDetail$2 = { activity_video_type: number; anchors: null; authentication_token: string; author: Author$5; author_mask_tag: number; author_user_id: number; aweme_control: AwemeControl$3; aweme_id: string; aweme_listen_struct: AwemeListenStruct$3; aweme_type: number; aweme_type_tags: string; boost_status: number; can_cache_to_local: boolean; caption: string; cf_recheck_ts: number; challenge_position: null; chapter_list: null; collect_stat: number; collection_corner_mark: number; comment_gid: number; comment_list: null; comment_permission_info: CommentPermissionInfo$3; commerce_config_data: null; component_control: ComponentControl$3; component_info_v2: string; cover_labels: null; create_time: number; desc: string; disable_relation_bar: number; dislike_dimension_list: null; dislike_dimension_list_v2: null; distribute_circle: DistributeCircle$3; duet_aggregate_in_music_tab: boolean; duration: number; ecom_comment_atmosphere_type: number; enable_comment_sticker_rec: boolean; entertainment_product_info: EntertainmentProductInfo$4; fall_card_struct: FallCardStruct$2; feed_comment_config: FeedCommentConfig$3; flash_mob_trends: number; friend_interaction: number; friend_recommend_info: { [key: string]: any; }; game_tag_info: GameTagInfo$3; geofencing: string[]; geofencing_regions: null; group_id: string; guide_scene_info: { [key: string]: any; }; hybrid_label: null; image_album_music_info: ImageAlbumMusicInfo$3; image_comment: { [key: string]: any; }; image_crop_ctrl: number; image_infos: null; image_item_quality_level: number; image_list: null; images: Image$1[]; img_bitrate: string[]; impression_data: ImpressionData$4; incentive_item_type: number; interaction_stickers: null; is_24_story: number; is_ads: boolean; is_collects_selected: number; is_duet_sing: boolean; is_image_beat: boolean; is_life_item: boolean; is_multi_content: number; is_share_post: boolean; is_story: number; is_top: number; is_use_music: boolean; item_title: string; item_warn_notification: ItemWarnNotification$3; label_top_text: null; libfinsert_task_id: string; long_video: null; mark_largely_following: boolean; media_type: number; music: Music$4; nickname_position: null; origin_comment_ids: null; origin_duet_resource_uri: string; origin_text_extra: string[]; original: number; original_images: null; packed_clips: null; personal_page_botton_diagnose_style: number; photo_search_entrance: PhotoSearchEntrance$3; play_progress: PlayProgress$3; position: null; preview_title: string; preview_video_status: number; promotions: string[]; publish_plus_alienation: PublishPlusAlienation$3; rate: number; region: string; relation_labels: null; risk_infos: RiskInfos$3; seo_info: { [key: string]: any; }; series_paid_info: SeriesPaidInfo$3; share_info: AwemeDetailShareInfo$2; share_rec_extra: string; share_url: string; shoot_way: string; should_open_ad_report: boolean; show_follow_button: { [key: string]: any; }; social_tag_list: null; statistics: Statistics$4; status: Status$3; suggest_words: SuggestWords$4; text_extra: TextExtra$3[]; uniqid_position: null; user_digged: number; user_recommend_status: number; video: Video$5; video_control: VideoControl$4; video_game_data_channel_config: { [key: string]: any; }; video_labels: null; video_share_edit_status: number; video_tag: VideoTag$3[]; video_text: string[]; visual_search_info: VisualSearchInfo$3; vtag_search: VtagSearch$2; xigua_base_info: XiguaBaseInfo$3; [property: string]: any; }; type Author$5 = { account_cert_info: string; avatar_thumb: AuthorAvatarThumb$3; awemehts_greet_info: string; cf_list: null; close_friend_type: number; contacts_status: number; contrail_list: null; cover_url: Coverurl$4[]; create_time: number; custom_verify: string; data_label_list: null; endorsement_info_list: null; enterprise_verify_reason: string; favoriting_count: number; follow_status: number; follower_count: number; follower_list_secondary_information_struct: null; follower_status: number; following_count: number; im_role_ids: null; is_ad_fake: boolean; is_blocked_v2: boolean; is_blocking_v2: boolean; is_cf: number; live_high_value: number; mate_add_permission: number; max_follower_count: number; nickname: string; offline_info_list: null; personal_tag_list: null; prevent_download: boolean; risk_notice_text: string; sec_uid: string; secret: number; share_info: AuthorShareInfo$3; short_id: string; signature: string; signature_extra: null; special_follow_status: number; special_people_labels: null; status: number; text_extra: null; total_favorited: number; uid: string; unique_id: string; user_age: number; user_canceled: boolean; user_permissions: null; verification_type: number; [property: string]: any; }; type AuthorAvatarThumb$3 = { height: number; uri: string; url_list: string[]; width: number; [property: string]: any; }; type Coverurl$4 = { height?: number; uri?: string; url_list?: string[]; width?: number; [property: string]: any; }; type AuthorShareInfo$3 = { share_desc: string; share_desc_info: string; share_qrcode_url: ShareQrcodeurl$4; share_title: string; share_title_myself: string; share_title_other: string; share_url: string; share_weibo_desc: string; [property: string]: any; }; type ShareQrcodeurl$4 = { height: number; uri: string; url_list: string[]; width: number; [property: string]: any; }; type AwemeControl$3 = { can_comment: boolean; can_forward: boolean; can_share: boolean; can_show_comment: boolean; [property: string]: any; }; type AwemeListenStruct$3 = { trace_info: string; [property: string]: any; }; type CommentPermissionInfo$3 = { can_comment: boolean; comment_permission_status: number; item_detail_entry: boolean; press_entry: boolean; toast_guide: boolean; [property: string]: any; }; type ComponentControl$3 = { data_source_url: string; [property: string]: any; }; type DistributeCircle$3 = { campus_block_interaction: boolean; distribute_type: number; is_campus: boolean; [property: string]: any; }; type EntertainmentProductInfo$4 = { market_info: MarketInfo$4; [property: string]: any; }; type MarketInfo$4 = { limit_free: LimitFree$4; [property: string]: any; }; type LimitFree$4 = { in_free: boolean; [property: string]: any; }; type FallCardStruct$2 = { recommend_reason_v2: string; [property: string]: any; }; type FeedCommentConfig$3 = { author_audit_status: number; input_config_text: string; [property: string]: any; }; type GameTagInfo$3 = { is_game: boolean; [property: string]: any; }; type ImageAlbumMusicInfo$3 = { begin_time: number; end_time: number; volume: number; [property: string]: any; }; type Image$1 = { download_url_list: string[]; height: number; uri: string; url_list: string[]; width: number; [property: string]: any; }; type ImpressionData$4 = { group_id_list_a: string[]; group_id_list_b: string[]; group_id_list_c: string[]; similar_id_list_a: null; similar_id_list_b: null; [property: string]: any; }; type ItemWarnNotification$3 = { content: string; show: boolean; type: number; [property: string]: any; }; type Music$4 = { album: string; artist_user_infos: null; artists: string[]; audition_duration: number; author: string; author_deleted: boolean; author_position: null; author_status: number; avatar_large: AvatarLarge$3; avatar_medium: AvatarMedium$4; avatar_thumb: MusicAvatarThumb$3; binded_challenge_id: number; can_background_play: boolean; collect_stat: number; cover_hd: Coverhd$4; cover_large: CoverLarge$4; cover_medium: MusicCoverMedium$1; cover_thumb: CoverThumb$5; dmv_auto_show: boolean; dsp_status: number; duration: number; end_time: number; external_song_info: string[]; extra: string; id: number; id_str: string; is_audio_url_with_cookie: boolean; is_commerce_music: boolean; is_del_video: boolean; is_matched_metadata: boolean; is_original: boolean; is_original_sound: boolean; is_pgc: boolean; is_restricted: boolean; is_video_self_see: boolean; lyric_short_position: null; matched_pgc_sound: MatchedPgcSound$2; mid: string; music_chart_ranks: null; music_collect_count: number; music_cover_atmosphere_color_value: string; music_status: number; musician_user_infos: null; mute_share: boolean; offline_desc: string; owner_handle: string; owner_id: string; owner_nickname: string; pgc_music_type: number; play_url: Playurl$5; position: null; prevent_download: boolean; prevent_item_download_status: number; preview_end_time: number; preview_start_time: number; reason_type: number; redirect: boolean; schema_url: string; search_impr: SearchImpr$4; sec_uid: string; shoot_duration: number; song: Song$3; source_platform: number; start_time: number; status: number; strong_beat_url: StrongBeaturl$4;