@ikenxuan/amagi 6.4.0 → 6.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,7 @@
1
1
  import { EventEmitter as EventEmitter$1 } from "node:events";
2
2
  import zod from "zod";
3
3
  import { AxiosRequestConfig, AxiosResponse, RawAxiosResponseHeaders } from "axios";
4
- import { ChalkInstance } from "chalk";
5
4
  import express from "express";
6
-
7
5
  //#region src/platform/bilibili/sign/wbi.d.ts
8
6
  /**
9
7
  * 对请求链接进行 WBI 签名
@@ -84,19 +82,24 @@ declare function parseDmSegMobileReply(data: ArrayBuffer | Uint8Array): BiliProt
84
82
  interface BilibiliMethodOptionsMap {
85
83
  /** 获取单个视频信息 */
86
84
  VideoInfoParams: {
87
- methodType: 'videoInfo'; /** 稿件BVID */
85
+ methodType: 'videoInfo';
86
+ /** 稿件BVID */
88
87
  bvid: string;
89
88
  };
90
89
  /** 获取视频流下载信息 */
91
90
  VideoStreamParams: {
92
- methodType: 'videoStream'; /** 稿件AVID */
93
- avid: number; /** 稿件cid */
91
+ methodType: 'videoStream';
92
+ /** 稿件AVID */
93
+ avid: number;
94
+ /** 稿件cid */
94
95
  cid: number;
95
96
  };
96
97
  /** 获取评论数据 */
97
98
  CommentParams: {
98
- methodType: 'comments'; /** 评论区类型代码,详见 [评论区类型代码](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) */
99
- type: CommentType; /** 稿件ID,也就是AV号去除前缀后的内容 */
99
+ methodType: 'comments';
100
+ /** 评论区类型代码,详见 [评论区类型代码](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) */
101
+ type: CommentType;
102
+ /** 稿件ID,也就是AV号去除前缀后的内容 */
100
103
  oid: string;
101
104
  /**
102
105
  * 获取的评论数量,默认20
@@ -121,7 +124,8 @@ interface BilibiliMethodOptionsMap {
121
124
  * 平台类型
122
125
  * @defaultValue 1
123
126
  */
124
- plat?: number; /** 当获取第一页评论时存在 */
127
+ plat?: number;
128
+ /** 当获取第一页评论时存在 */
125
129
  seek_rpid?: string;
126
130
  /**
127
131
  * web位置参数
@@ -131,9 +135,12 @@ interface BilibiliMethodOptionsMap {
131
135
  };
132
136
  /** 获取指定评论的回复 */
133
137
  CommentReplyParams: {
134
- methodType: 'commentReplies'; /** 评论区类型代码,详见 [评论区类型代码](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) */
135
- type: CommentType; /** 目标评论区 ID,也就是AV号去除前缀后的内容 */
136
- oid: string; /** 根评论ID */
138
+ methodType: 'commentReplies';
139
+ /** 评论区类型代码,详见 [评论区类型代码](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) */
140
+ type: CommentType;
141
+ /** 目标评论区 ID,也就是AV号去除前缀后的内容 */
142
+ oid: string;
143
+ /** 根评论ID */
137
144
  root: string;
138
145
  /**
139
146
  * 获取的评论数量,默认20
@@ -143,34 +150,42 @@ interface BilibiliMethodOptionsMap {
143
150
  };
144
151
  /** 获取用户相关数据 */
145
152
  UserParams: {
146
- methodType: 'userCard' | 'userDynamicList' | 'userLiveStatus' | 'uploaderTotalViews' | 'userSpaceInfo'; /** UP主UID */
153
+ methodType: 'userCard' | 'userDynamicList' | 'userLiveStatus' | 'uploaderTotalViews' | 'userSpaceInfo';
154
+ /** UP主UID */
147
155
  host_mid: number;
148
156
  };
149
157
  /** 获取动态数据 */
150
158
  DynamicParams: {
151
- methodType: 'dynamicDetail' | 'dynamicCard'; /** 动态ID */
159
+ methodType: 'dynamicDetail';
160
+ /** 动态ID */
152
161
  dynamic_id: string;
153
162
  };
154
163
  /** 获取番剧基本信息 */
155
164
  BangumiInfoParams: {
156
- methodType: 'bangumiInfo'; /** 稿件ep_id,其含义为 {@link https://www.bilibili.com/anime/index | 番剧索引} 或 **我的追番** 中的番剧,对应网址中包含ss号,如:{@link https://www.bilibili.com/bangumi/play/ss33802} */
157
- season_id?: string; /** 稿件ep_id,番剧的某一集,对应网址中包含ep号,如:{@link https://www.bilibili.com/bangumi/play/ep330798} */
165
+ methodType: 'bangumiInfo';
166
+ /** 稿件ep_id,其含义为 {@link https://www.bilibili.com/anime/index | 番剧索引} 或 **我的追番** 中的番剧,对应网址中包含ss号,如:{@link https://www.bilibili.com/bangumi/play/ss33802} */
167
+ season_id?: string;
168
+ /** 稿件ep_id,番剧的某一集,对应网址中包含ep号,如:{@link https://www.bilibili.com/bangumi/play/ep330798} */
158
169
  ep_id?: string;
159
170
  };
160
171
  /** 获取番剧视频流信息 */
161
172
  BangumiStreamParams: {
162
- methodType: 'bangumiStream'; /** 稿件cid */
163
- cid: number; /** 稿件ep_id,番剧的某一集,对应网址中包含ep号,如:{@link https://www.bilibili.com/bangumi/play/ep330798} */
173
+ methodType: 'bangumiStream';
174
+ /** 稿件cid */
175
+ cid: number;
176
+ /** 稿件ep_id,番剧的某一集,对应网址中包含ep号,如:{@link https://www.bilibili.com/bangumi/play/ep330798} */
164
177
  ep_id: string;
165
178
  };
166
179
  /** 获取直播间信息 */
167
180
  LiveRoomParams: {
168
- methodType: 'liveRoomInfo' | 'liveRoomInit'; /** 直播间ID */
181
+ methodType: 'liveRoomInfo' | 'liveRoomInit';
182
+ /** 直播间ID */
169
183
  room_id: string;
170
184
  };
171
185
  /** 查询二维码状态 */
172
186
  QrcodeParams: {
173
- methodType: 'qrcodeStatus'; /** 扫码登录秘钥 */
187
+ methodType: 'qrcodeStatus';
188
+ /** 扫码登录秘钥 */
174
189
  qrcode_key: string;
175
190
  };
176
191
  /** 获取表情列表 */
@@ -187,12 +202,14 @@ interface BilibiliMethodOptionsMap {
187
202
  };
188
203
  /** BV号转AV号 */
189
204
  Bv2AvParams: {
190
- methodType: 'bvToAv'; /** 视频BV号 */
205
+ methodType: 'bvToAv';
206
+ /** 视频BV号 */
191
207
  bvid: string;
192
208
  };
193
209
  /** AV号转BV号 */
194
210
  Av2BvParams: {
195
- methodType: 'avToBv'; /** 视频AV号 */
211
+ methodType: 'avToBv';
212
+ /** 视频AV号 */
196
213
  avid: number;
197
214
  };
198
215
  /** 获取专栏正文内容 */
@@ -243,7 +260,8 @@ interface BilibiliMethodOptionsMap {
243
260
  * @see https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/docs/danmaku/danmaku_proto.md
244
261
  */
245
262
  DanmakuParams: {
246
- methodType: 'videoDanmaku'; /** 稿件cid */
263
+ methodType: 'videoDanmaku';
264
+ /** 稿件cid */
247
265
  cid: number;
248
266
  /**
249
267
  * 分段序号(从1开始),每6分钟为一段
@@ -253,17 +271,24 @@ interface BilibiliMethodOptionsMap {
253
271
  };
254
272
  /** 从 v_voucher 申请验证码 */
255
273
  ApplyVoucherCaptchaParams: {
256
- methodType: 'captchaFromVoucher'; /** CSRF Token (位于 Cookie 的 bili_jct) */
257
- csrf?: string; /** 结构为字符串 voucher_ 尾随一串以 - 为分隔符的小写 UUID */
274
+ methodType: 'captchaFromVoucher';
275
+ /** CSRF Token (位于 Cookie bili_jct) */
276
+ csrf?: string;
277
+ /** 结构为字符串 voucher_ 尾随一串以 - 为分隔符的小写 UUID */
258
278
  v_voucher: string;
259
279
  };
260
280
  /** 验证验证码结果 */
261
281
  ValidateCaptchaParams: {
262
- methodType: 'validateCaptcha'; /** CSRF Token (位于 Cookie 的 bili_jct) */
263
- csrf?: string; /** 极验3 https://www.geetest.com 的验证码 challenge */
264
- challenge: string; /** 验证码 token */
265
- token: string; /** 人机验证成功后的 validate 参数 */
266
- validate: string; /** 人机验证成功后的 seccode 参数,{validate}|jordan */
282
+ methodType: 'validateCaptcha';
283
+ /** CSRF Token (位于 Cookie bili_jct) */
284
+ csrf?: string;
285
+ /** 极验3 https://www.geetest.com 的验证码 challenge */
286
+ challenge: string;
287
+ /** 验证码 token */
288
+ token: string;
289
+ /** 人机验证成功后的 validate 参数 */
290
+ validate: string;
291
+ /** 人机验证成功后的 seccode 参数,{validate}|jordan */
267
292
  seccode: string;
268
293
  };
269
294
  }
@@ -338,7 +363,6 @@ type BilibiliMethodOptMap = {
338
363
  bangumiInfo: BilibiliMethodOptionsMap['BangumiInfoParams'];
339
364
  bangumiStream: BilibiliMethodOptionsMap['BangumiStreamParams'];
340
365
  dynamicDetail: BilibiliMethodOptionsMap['DynamicParams'];
341
- dynamicCard: BilibiliMethodOptionsMap['DynamicParams'];
342
366
  liveRoomInfo: BilibiliMethodOptionsMap['LiveRoomParams'];
343
367
  liveRoomInit: BilibiliMethodOptionsMap['LiveRoomParams'];
344
368
  loginStatus: BilibiliMethodOptionsMap['LoginBaseInfoParams'];
@@ -504,17 +528,10 @@ declare const BilibiliValidationSchemas: {
504
528
  ep_id: string;
505
529
  }, unknown>>;
506
530
  readonly dynamicDetail: zod.ZodType<{
507
- methodType: "dynamicDetail" | "dynamicCard";
508
- dynamic_id: string;
509
- }, unknown, zod.core.$ZodTypeInternals<{
510
- methodType: "dynamicDetail" | "dynamicCard";
511
- dynamic_id: string;
512
- }, unknown>>;
513
- readonly dynamicCard: zod.ZodType<{
514
- methodType: "dynamicDetail" | "dynamicCard";
531
+ methodType: "dynamicDetail";
515
532
  dynamic_id: string;
516
533
  }, unknown, zod.core.$ZodTypeInternals<{
517
- methodType: "dynamicDetail" | "dynamicCard";
534
+ methodType: "dynamicDetail";
518
535
  dynamic_id: string;
519
536
  }, unknown>>;
520
537
  readonly liveRoomInfo: zod.ZodType<{
@@ -645,7 +662,6 @@ declare const BilibiliMethodRoutes: {
645
662
  readonly bangumiInfo: "/fetch_bangumi_video_info";
646
663
  readonly bangumiStream: "/fetch_bangumi_video_playurl";
647
664
  readonly dynamicDetail: "/fetch_dynamic_info";
648
- readonly dynamicCard: "/fetch_dynamic_card";
649
665
  readonly liveRoomInfo: "/fetch_live_room_detail";
650
666
  readonly liveRoomInit: "/fetch_liveroom_def";
651
667
  readonly loginStatus: "/login_basic_info";
@@ -681,8 +697,10 @@ type BilibiliMethodType = keyof typeof BilibiliValidationSchemas;
681
697
  interface DouyinMethodOptionsMap {
682
698
  /** 获取指定评论的回复 */
683
699
  CommentReplyParams: {
684
- methodType: 'commentReplies'; /** 视频ID */
685
- aweme_id: string; /** 评论ID */
700
+ methodType: 'commentReplies';
701
+ /** 视频ID */
702
+ aweme_id: string;
703
+ /** 评论ID */
686
704
  comment_id: string;
687
705
  /**
688
706
  * 获取的评论数量
@@ -698,28 +716,33 @@ interface DouyinMethodOptionsMap {
698
716
  };
699
717
  /** 获取用户相关数据 */
700
718
  UserParams: {
701
- methodType: 'userProfile'; /** 用户ID */
719
+ methodType: 'userProfile';
720
+ /** 用户ID */
702
721
  sec_uid: string;
703
722
  };
704
723
  /** 获取用户列表数据(视频列表、喜欢列表、推荐列表) */
705
724
  UserListParams: {
706
- methodType: 'userVideoList' | 'userFavoriteList' | 'userRecommendList'; /** 用户ID */
725
+ methodType: 'userVideoList' | 'userFavoriteList' | 'userRecommendList';
726
+ /** 用户ID */
707
727
  sec_uid: string;
708
728
  /**
709
729
  * 获取的数量
710
730
  * @defaultValue 18
711
731
  */
712
- number?: number; /** 游标,用于获取下一页,不用填。 */
732
+ number?: number;
733
+ /** 游标,用于获取下一页,不用填。 */
713
734
  max_cursor?: string;
714
735
  };
715
736
  /** 获取作品数据 */
716
737
  WorkParams: {
717
- methodType: 'videoWork' | 'imageAlbumWork' | 'slidesWork' | 'parseWork' | 'textWork'; /** 视频ID、图集ID、合辑ID */
738
+ methodType: 'videoWork' | 'imageAlbumWork' | 'slidesWork' | 'parseWork' | 'textWork';
739
+ /** 视频ID、图集ID、合辑ID */
718
740
  aweme_id: string;
719
741
  };
720
742
  /** 获取评论数据 */
721
743
  CommentParams: {
722
- methodType: 'comments'; /** 视频ID */
744
+ methodType: 'comments';
745
+ /** 视频ID */
723
746
  aweme_id: string;
724
747
  /**
725
748
  * 获取的评论数量
@@ -735,28 +758,34 @@ interface DouyinMethodOptionsMap {
735
758
  };
736
759
  /** 获取音乐数据 */
737
760
  MusicParams: {
738
- methodType: 'musicInfo'; /** 音乐ID */
761
+ methodType: 'musicInfo';
762
+ /** 音乐ID */
739
763
  music_id: string;
740
764
  };
741
765
  /** 获取直播间信息 */
742
766
  LiveRoomParams: {
743
- methodType: 'liveRoomInfo'; /** 直播间ID,可从用户主页信息信息响应中的room_id_str值取得 */
744
- room_id: string; /** 直播间真实房间号(可通过live.douyin.com/{web_rid}直接访问直播间),可在在用户主页信息响应中的room_data中获取 */
767
+ methodType: 'liveRoomInfo';
768
+ /** 直播间ID,可从用户主页信息信息响应中的room_id_str值取得 */
769
+ room_id: string;
770
+ /** 直播间真实房间号(可通过live.douyin.com/{web_rid}直接访问直播间),可在在用户主页信息响应中的room_data中获取 */
745
771
  web_rid: string;
746
772
  };
747
773
  /** 申请登录二维码 */
748
774
  QrcodeParams: {
749
- methodType: 'loginQrcode'; /** fp指纹 */
775
+ methodType: 'loginQrcode';
776
+ /** fp指纹 */
750
777
  verify_fp: string;
751
778
  };
752
779
  /** 获取热点词数据 */
753
780
  HotWordsParams: {
754
- methodType: 'suggestWords'; /** 搜索词 */
781
+ methodType: 'suggestWords';
782
+ /** 搜索词 */
755
783
  query: string;
756
784
  };
757
785
  /** 搜索数据 */
758
786
  SearchParams: {
759
- methodType: 'search'; /** 搜索词 */
787
+ methodType: 'search';
788
+ /** 搜索词 */
760
789
  query: string;
761
790
  /**
762
791
  * 搜索类型
@@ -767,7 +796,8 @@ interface DouyinMethodOptionsMap {
767
796
  * 搜索数量
768
797
  * @default 10
769
798
  */
770
- number?: number; /** 上次搜索的游标值 */
799
+ number?: number;
800
+ /** 上次搜索的游标值 */
771
801
  search_id?: string;
772
802
  };
773
803
  /** 获取表情列表 */
@@ -780,7 +810,8 @@ interface DouyinMethodOptionsMap {
780
810
  };
781
811
  /** 获取弹幕数据 */
782
812
  DanmakuParams: {
783
- methodType: 'danmakuList'; /** 视频ID */
813
+ methodType: 'danmakuList';
814
+ /** 视频ID */
784
815
  aweme_id: string;
785
816
  /**
786
817
  * 弹幕查询的开始时间(毫秒)
@@ -794,22 +825,26 @@ interface DouyinMethodOptionsMap {
794
825
  * 例如:设置为10000表示获取到视频第10秒的弹幕
795
826
  * 不设置则获取到视频结束
796
827
  */
797
- end_time?: number; /** 视频总时长 */
828
+ end_time?: number;
829
+ /** 视频总时长 */
798
830
  duration: number;
799
831
  };
800
832
  /** 获取视频作品数据 */
801
833
  VideoWorkParams: {
802
- methodType: 'videoWork'; /** 视频ID */
834
+ methodType: 'videoWork';
835
+ /** 视频ID */
803
836
  aweme_id: string;
804
837
  };
805
838
  /** 获取图集作品数据 */
806
839
  ImageAlbumWorkParams: {
807
- methodType: 'imageAlbumWork'; /** 图集ID */
840
+ methodType: 'imageAlbumWork';
841
+ /** 图集ID */
808
842
  aweme_id: string;
809
843
  };
810
844
  /** 获取合辑作品数据 */
811
845
  SlidesWorkParams: {
812
- methodType: 'slidesWork'; /** 合辑ID */
846
+ methodType: 'slidesWork';
847
+ /** 合辑ID */
813
848
  aweme_id: string;
814
849
  };
815
850
  }
@@ -1066,25 +1101,32 @@ type DouyinMethodType = keyof typeof DouyinValidationSchemas;
1066
1101
  */
1067
1102
  interface KuaishouMethodOptionsMap {
1068
1103
  VideoInfoParams: {
1069
- methodType: 'videoWork'; /** 作品ID */
1104
+ methodType: 'videoWork';
1105
+ /** 作品ID */
1070
1106
  photoId: string;
1071
1107
  };
1072
1108
  CommentParams: {
1073
- methodType: 'comments'; /** 作品ID */
1109
+ methodType: 'comments';
1110
+ /** 作品ID */
1074
1111
  photoId: string;
1075
1112
  };
1076
1113
  UserProfileParams: {
1077
- methodType: 'userProfile'; /** 用户主页 principalId,可直接取 profile 页 URL 末段 */
1114
+ methodType: 'userProfile';
1115
+ /** 用户主页 principalId,可直接取 profile 页 URL 末段 */
1078
1116
  principalId: string;
1079
1117
  };
1080
1118
  UserWorkListParams: {
1081
- methodType: 'userWorkList'; /** 用户主页 principalId,可直接取 profile 页 URL 末段 */
1082
- principalId: string; /** 分页游标;为空时请求首屏作品列表 */
1083
- pcursor?: string; /** 每页数量,默认 12 */
1119
+ methodType: 'userWorkList';
1120
+ /** 用户主页 principalId,可直接取 profile URL 末段 */
1121
+ principalId: string;
1122
+ /** 分页游标;为空时请求首屏作品列表 */
1123
+ pcursor?: string;
1124
+ /** 每页数量,默认 12 */
1084
1125
  count?: number;
1085
1126
  };
1086
1127
  LiveRoomInfoParams: {
1087
- methodType: 'liveRoomInfo'; /** 直播间 principalId,可直接取 /u/{principalId} URL 末段 */
1128
+ methodType: 'liveRoomInfo';
1129
+ /** 直播间 principalId,可直接取 /u/{principalId} URL 末段 */
1088
1130
  principalId: string;
1089
1131
  };
1090
1132
  EmojiListParams: {
@@ -1196,32 +1238,46 @@ type KuaishouMethodType = keyof typeof KuaishouValidationSchemas;
1196
1238
  */
1197
1239
  interface XiaohongshuMethodOptionsMap {
1198
1240
  HomeFeedParams: {
1199
- methodType: 'homeFeed'; /** 游标分数,用于分页 */
1200
- cursor_score?: string; /** 每次请求的数量 */
1201
- num?: number; /** 刷新类型 */
1202
- refresh_type?: number; /** 笔记索引 */
1203
- note_index?: number; /** 分类 */
1204
- category?: string; /** 搜索关键词 */
1241
+ methodType: 'homeFeed';
1242
+ /** 游标分数,用于分页 */
1243
+ cursor_score?: string;
1244
+ /** 每次请求的数量 */
1245
+ num?: number;
1246
+ /** 刷新类型 */
1247
+ refresh_type?: number;
1248
+ /** 笔记索引 */
1249
+ note_index?: number;
1250
+ /** 分类 */
1251
+ category?: string;
1252
+ /** 搜索关键词 */
1205
1253
  search_key?: string;
1206
1254
  };
1207
1255
  NoteParams: {
1208
- methodType: 'noteDetail'; /** 笔记ID */
1209
- note_id: string; /** 反爬的 X-Sec-Token 可从web地址中获取 */
1256
+ methodType: 'noteDetail';
1257
+ /** 笔记ID */
1258
+ note_id: string;
1259
+ /** 反爬的 X-Sec-Token 可从web地址中获取 */
1210
1260
  xsec_token: string;
1211
1261
  };
1212
1262
  CommentParams: {
1213
- methodType: 'noteComments'; /** 笔记ID */
1214
- note_id: string; /** 游标 */
1215
- cursor?: string; /** 反爬的 X-Sec-Token 可从web地址中获取 */
1263
+ methodType: 'noteComments';
1264
+ /** 笔记ID */
1265
+ note_id: string;
1266
+ /** 游标 */
1267
+ cursor?: string;
1268
+ /** 反爬的 X-Sec-Token 可从web地址中获取 */
1216
1269
  xsec_token: string;
1217
1270
  };
1218
1271
  UserParams: {
1219
- methodType: 'userProfile'; /** 用户ID */
1272
+ methodType: 'userProfile';
1273
+ /** 用户ID */
1220
1274
  user_id: string;
1221
1275
  };
1222
1276
  UserNoteParams: {
1223
- methodType: 'userNoteList'; /** 用户ID */
1224
- user_id: string; /** 上一页最后一条笔记的ID */
1277
+ methodType: 'userNoteList';
1278
+ /** 用户ID */
1279
+ user_id: string;
1280
+ /** 上一页最后一条笔记的ID */
1225
1281
  cursor?: string;
1226
1282
  /**
1227
1283
  * 每次请求的数量
@@ -1233,11 +1289,16 @@ interface XiaohongshuMethodOptionsMap {
1233
1289
  methodType: 'emojiList';
1234
1290
  };
1235
1291
  SearchNoteParams: {
1236
- methodType: 'searchNotes'; /** 搜索关键词 */
1237
- keyword: string; /** 页码 */
1238
- page?: number; /** 每页数量 */
1239
- page_size?: number; /** 排序类型 */
1240
- sort?: SearchSortType; /** 笔记类型 */
1292
+ methodType: 'searchNotes';
1293
+ /** 搜索关键词 */
1294
+ keyword: string;
1295
+ /** 页码 */
1296
+ page?: number;
1297
+ /** 每页数量 */
1298
+ page_size?: number;
1299
+ /** 排序类型 */
1300
+ sort?: SearchSortType;
1301
+ /** 笔记类型 */
1241
1302
  note_type?: SearchNoteType;
1242
1303
  };
1243
1304
  }
@@ -1258,7 +1319,7 @@ type XiaohongshuMethodOptMap = {
1258
1319
  /**
1259
1320
  * 根据 XiaohongshuMethodOptionsMap 创建一个新的类型,去除每个字段中的 methodType
1260
1321
  */
1261
- type XiaohongshuMethodOptionsWithoutMethodType = { [K in keyof XiaohongshuMethodOptionsMap]: Omit<XiaohongshuMethodOptionsMap[K], 'methodType'> };
1322
+ type XiaohongshuMethodOptionsWithoutMethodType = { [K in keyof XiaohongshuMethodOptionsMap]: Omit<XiaohongshuMethodOptionsMap[K], 'methodType'>; };
1262
1323
  /**
1263
1324
  * 搜索排序类型枚举
1264
1325
  */
@@ -1683,87 +1744,6 @@ declare enum xiaohongshuAPIErrorCode {
1683
1744
  BROWSER_ERROR = 300015
1684
1745
  }
1685
1746
  //#endregion
1686
- //#region src/validation/index.d.ts
1687
- /**
1688
- * 基础响应类型
1689
- */
1690
- type BaseResponse = {
1691
- /** 响应消息 */message: string; /** 响应状态码 */
1692
- code: number;
1693
- };
1694
- /**
1695
- * 成功响应类型
1696
- * @template T - 响应数据的类型,默认为any
1697
- */
1698
- type SuccessResult<T = any> = BaseResponse & {
1699
- /** 响应状态 */success: true; /** 响应数据,类型由泛型 T 决定 */
1700
- data: T; /** 成功响应时错误信息为空 */
1701
- error: never;
1702
- };
1703
- /**
1704
- * 错误响应类型
1705
- */
1706
- type ErrorResult = BaseResponse & {
1707
- /** 响应状态 */success: false; /** API 错误类型 */
1708
- error: APIErrorType; /** 错误响应时数据为空 */
1709
- data: never;
1710
- };
1711
- /**
1712
- * 通用API响应类型
1713
- * @template T - 成功响应数据的类型,默认为any
1714
- */
1715
- type Result<T> = SuccessResult<T> | ErrorResult;
1716
- /**
1717
- * 通用API响应类型
1718
- * @template T - 成功响应数据的类型,默认为any
1719
- * @deprecated 请使用 Result<T> 替代
1720
- */
1721
- type ApiResponse<T> = Result<T>;
1722
- /**
1723
- * 验证抖音参数
1724
- * @param methodType - 抖音方法类型
1725
- * @param params - 待验证的参数
1726
- * @returns 验证后的参数,符合原始API期望的类型
1727
- */
1728
- declare const validateDouyinParams: <T extends DouyinMethodType>(methodType: T, params: unknown) => zod.infer<(typeof DouyinValidationSchemas)[T]>;
1729
- /**
1730
- * 验证哔哩哔哩参数
1731
- * @param methodType - 哔哩哔哩方法类型
1732
- * @param params - 待验证的参数
1733
- * @returns 验证后的参数,符合原始API期望的类型
1734
- */
1735
- declare const validateBilibiliParams: <T extends BilibiliMethodType>(methodType: T, params: unknown) => zod.infer<(typeof BilibiliValidationSchemas)[T]>;
1736
- /**
1737
- * 验证快手参数
1738
- * @param methodType - 快手方法类型
1739
- * @param params - 待验证的参数
1740
- * @returns 验证后的参数,符合原始API期望的类型
1741
- */
1742
- declare const validateKuaishouParams: <T extends KuaishouMethodType>(methodType: T, params: unknown) => zod.infer<(typeof KuaishouValidationSchemas)[T]>;
1743
- /**
1744
- * 验证小红书参数
1745
- * @param methodType - 小红书方法类型
1746
- * @param params - 待验证的参数
1747
- * @returns 验证后的参数
1748
- */
1749
- declare const validateXiaohongshuParams: <T extends XiaohongshuMethodType>(methodType: T, params: unknown) => zod.infer<(typeof XiaohongshuValidationSchemas)[T]>;
1750
- /**
1751
- * 创建成功响应格式
1752
- * @param data - 响应数据
1753
- * @param message - 响应消息(可选)
1754
- * @param code - 响应状态码(可选,默认200)
1755
- * @returns 格式化的成功API响应对象
1756
- */
1757
- declare const createSuccessResponse: <T>(data: T, message: string, code?: number) => SuccessResult<T>;
1758
- /**
1759
- * 创建失败响应格式
1760
- * @param error - 错误信息
1761
- * @param message - 详细错误消息(可选)
1762
- * @param code - 错误状态码(可选,默认500)
1763
- * @returns 格式化的错误响应对象
1764
- */
1765
- declare const createErrorResponse: (error: APIErrorType, message: string, code?: number, data?: unknown) => ErrorResult;
1766
- //#endregion
1767
1747
  //#region src/types/ReturnDataType/Bilibili/ArticleCard/ArticleCard_V0.d.ts
1768
1748
  type ArticleCard_V0 = {
1769
1749
  code: number;
@@ -2188,9 +2168,9 @@ type Author$10 = {
2188
2168
  mid: number;
2189
2169
  name: string;
2190
2170
  nameplate: Nameplate$4;
2191
- official_verify: OfficialVerify$9;
2192
- pendant: Pendant$10;
2193
- vip: Vip$10;
2171
+ official_verify: OfficialVerify$8;
2172
+ pendant: Pendant$9;
2173
+ vip: Vip$9;
2194
2174
  [property: string]: any;
2195
2175
  };
2196
2176
  type Nameplate$4 = {
@@ -2202,22 +2182,22 @@ type Nameplate$4 = {
2202
2182
  nid: number;
2203
2183
  [property: string]: any;
2204
2184
  };
2205
- type OfficialVerify$9 = {
2185
+ type OfficialVerify$8 = {
2206
2186
  desc: string;
2207
2187
  type: number;
2208
2188
  [property: string]: any;
2209
2189
  };
2210
- type Pendant$10 = {
2190
+ type Pendant$9 = {
2211
2191
  expire: number;
2212
2192
  image: string;
2213
2193
  name: string;
2214
2194
  pid: number;
2215
2195
  [property: string]: any;
2216
2196
  };
2217
- type Vip$10 = {
2197
+ type Vip$9 = {
2218
2198
  avatar_subscript: number;
2219
2199
  due_date: number;
2220
- label: Label$10;
2200
+ label: Label$9;
2221
2201
  nickname_color: string;
2222
2202
  status: number;
2223
2203
  theme_type: number;
@@ -2225,7 +2205,7 @@ type Vip$10 = {
2225
2205
  vip_pay_type: number;
2226
2206
  [property: string]: any;
2227
2207
  };
2228
- type Label$10 = {
2208
+ type Label$9 = {
2229
2209
  label_theme: string;
2230
2210
  path: string;
2231
2211
  text: string;
@@ -2409,11 +2389,11 @@ type ArticleInfo = ArticleInfo_V0;
2409
2389
  //#region src/types/ReturnDataType/Bilibili/AV2BV/AV2BV_V0.d.ts
2410
2390
  type BiliAv2Bv_V0 = {
2411
2391
  code: number;
2412
- data: Data$15;
2392
+ data: Data$14;
2413
2393
  message: string;
2414
2394
  [property: string]: any;
2415
2395
  };
2416
- type Data$15 = {
2396
+ type Data$14 = {
2417
2397
  bvid: string;
2418
2398
  [property: string]: any;
2419
2399
  };
@@ -2794,7 +2774,7 @@ type UpInfo = {
2794
2774
  is_follow: number;
2795
2775
  mid: number;
2796
2776
  nickname_color: string;
2797
- pendant: Pendant$9;
2777
+ pendant: Pendant$8;
2798
2778
  theme_type: number;
2799
2779
  uname: string;
2800
2780
  verify_type: number;
@@ -2803,7 +2783,7 @@ type UpInfo = {
2803
2783
  vip_type: number;
2804
2784
  [property: string]: any;
2805
2785
  };
2806
- type Pendant$9 = {
2786
+ type Pendant$8 = {
2807
2787
  image: string;
2808
2788
  name: string;
2809
2789
  pid: number;
@@ -3067,12 +3047,12 @@ type BiliBangumiVideoPlayurlNoLogin = BiliBangumiVideoPlayurlNoLogin_V0;
3067
3047
  //#region src/types/ReturnDataType/Bilibili/EmojiList/EmojiList_V0.d.ts
3068
3048
  type BiliEmojiList_V0 = {
3069
3049
  code: number;
3070
- data: Data$14;
3050
+ data: Data$13;
3071
3051
  message: string;
3072
3052
  ttl: number;
3073
3053
  [property: string]: any;
3074
3054
  };
3075
- type Data$14 = {
3055
+ type Data$13 = {
3076
3056
  packages: Package[];
3077
3057
  setting: Setting;
3078
3058
  [property: string]: any;
@@ -3331,11 +3311,11 @@ type Member = {
3331
3311
  fans_detail: null | FansDetail;
3332
3312
  is_contractor: boolean;
3333
3313
  is_senior_member: number;
3334
- level_info: LevelInfo$2;
3314
+ level_info: LevelInfo$1;
3335
3315
  mid: string;
3336
3316
  nameplate: Nameplate$3;
3337
3317
  nft_interaction: null;
3338
- official_verify: OfficialVerify$8;
3318
+ official_verify: OfficialVerify$7;
3339
3319
  pendant: MemberPendant;
3340
3320
  rank: string;
3341
3321
  senior: Senior;
@@ -3344,7 +3324,7 @@ type Member = {
3344
3324
  uname: string;
3345
3325
  user_sailing: UserSailing;
3346
3326
  user_sailing_v2: UserSailingV2;
3347
- vip: Vip$9;
3327
+ vip: Vip$8;
3348
3328
  [property: string]: any;
3349
3329
  };
3350
3330
  type AvatarItem = {
@@ -3466,7 +3446,7 @@ type FansDetail = {
3466
3446
  uid: number;
3467
3447
  [property: string]: any;
3468
3448
  };
3469
- type LevelInfo$2 = {
3449
+ type LevelInfo$1 = {
3470
3450
  current_exp: number;
3471
3451
  current_level: number;
3472
3452
  current_min: number;
@@ -3482,7 +3462,7 @@ type Nameplate$3 = {
3482
3462
  nid: number;
3483
3463
  [property: string]: any;
3484
3464
  };
3485
- type OfficialVerify$8 = {
3465
+ type OfficialVerify$7 = {
3486
3466
  desc: string;
3487
3467
  type: number;
3488
3468
  [property: string]: any;
@@ -3583,11 +3563,11 @@ type UserSailingV2Pendant = {
3583
3563
  type: string;
3584
3564
  [property: string]: any;
3585
3565
  };
3586
- type Vip$9 = {
3566
+ type Vip$8 = {
3587
3567
  accessStatus: number;
3588
3568
  avatar_subscript: number;
3589
3569
  dueRemark: string;
3590
- label: Label$9;
3570
+ label: Label$8;
3591
3571
  nickname_color: string;
3592
3572
  themeType: number;
3593
3573
  vipDueDate: number;
@@ -3596,7 +3576,7 @@ type Vip$9 = {
3596
3576
  vipType: number;
3597
3577
  [property: string]: any;
3598
3578
  };
3599
- type Label$9 = {
3579
+ type Label$8 = {
3600
3580
  bg_color: string;
3601
3581
  bg_style: number;
3602
3582
  border_color: string;
@@ -3644,11 +3624,11 @@ type BiliCommentReply = BiliCommentReply_V0;
3644
3624
  //#region src/types/ReturnDataType/Bilibili/BV2AV/BV2AV_V0.d.ts
3645
3625
  type BiliBv2AV_V0 = {
3646
3626
  code: number;
3647
- data: Data$13;
3627
+ data: Data$12;
3648
3628
  message: string;
3649
3629
  [property: string]: any;
3650
3630
  };
3651
- type Data$13 = {
3631
+ type Data$12 = {
3652
3632
  aid: string;
3653
3633
  [property: string]: any;
3654
3634
  };
@@ -3723,9 +3703,9 @@ type Author$9 = {
3723
3703
  mid: number;
3724
3704
  name: string;
3725
3705
  nameplate: Nameplate$2;
3726
- official_verify: OfficialVerify$7;
3727
- pendant: Pendant$8;
3728
- vip: Vip$8;
3706
+ official_verify: OfficialVerify$6;
3707
+ pendant: Pendant$7;
3708
+ vip: Vip$7;
3729
3709
  [property: string]: any;
3730
3710
  };
3731
3711
  type Nameplate$2 = {
@@ -3737,22 +3717,22 @@ type Nameplate$2 = {
3737
3717
  nid: number;
3738
3718
  [property: string]: any;
3739
3719
  };
3740
- type OfficialVerify$7 = {
3720
+ type OfficialVerify$6 = {
3741
3721
  desc: string;
3742
3722
  type: number;
3743
3723
  [property: string]: any;
3744
3724
  };
3745
- type Pendant$8 = {
3725
+ type Pendant$7 = {
3746
3726
  expire: number;
3747
3727
  image: string;
3748
3728
  name: string;
3749
3729
  pid: number;
3750
3730
  [property: string]: any;
3751
3731
  };
3752
- type Vip$8 = {
3732
+ type Vip$7 = {
3753
3733
  avatar_subscript: number;
3754
3734
  due_date: number;
3755
- label: Label$8;
3735
+ label: Label$7;
3756
3736
  nickname_color: string;
3757
3737
  status: number;
3758
3738
  theme_type: number;
@@ -3760,7 +3740,7 @@ type Vip$8 = {
3760
3740
  vip_pay_type: number;
3761
3741
  [property: string]: any;
3762
3742
  };
3763
- type Label$8 = {
3743
+ type Label$7 = {
3764
3744
  label_theme: string;
3765
3745
  path: string;
3766
3746
  text: string;
@@ -3862,14 +3842,14 @@ type ModuleAuthor$4 = {
3862
3842
  label: string;
3863
3843
  mid: number;
3864
3844
  name: string;
3865
- official_verify: OfficialVerify$6;
3866
- pendant: Pendant$7;
3845
+ official_verify: OfficialVerify$5;
3846
+ pendant: Pendant$6;
3867
3847
  pub_action: string;
3868
3848
  pub_location_text: string;
3869
3849
  pub_time: string;
3870
3850
  pub_ts: number;
3871
3851
  type: string;
3872
- vip: Vip$7;
3852
+ vip: Vip$6;
3873
3853
  [property: string]: any;
3874
3854
  };
3875
3855
  type Avatar$5 = {
@@ -3968,12 +3948,12 @@ type Remote$4 = {
3968
3948
  url: string;
3969
3949
  [property: string]: any;
3970
3950
  };
3971
- type OfficialVerify$6 = {
3951
+ type OfficialVerify$5 = {
3972
3952
  desc: string;
3973
3953
  type: number;
3974
3954
  [property: string]: any;
3975
3955
  };
3976
- type Pendant$7 = {
3956
+ type Pendant$6 = {
3977
3957
  expire: number;
3978
3958
  image: string;
3979
3959
  image_enhance: string;
@@ -3983,18 +3963,18 @@ type Pendant$7 = {
3983
3963
  pid: number;
3984
3964
  [property: string]: any;
3985
3965
  };
3986
- type Vip$7 = {
3966
+ type Vip$6 = {
3987
3967
  avatar_subscript: number;
3988
3968
  avatar_subscript_url: string;
3989
3969
  due_date: number;
3990
- label: Label$7;
3970
+ label: Label$6;
3991
3971
  nickname_color: string;
3992
3972
  status: number;
3993
3973
  theme_type: number;
3994
3974
  type: number;
3995
3975
  [property: string]: any;
3996
3976
  };
3997
- type Label$7 = {
3977
+ type Label$6 = {
3998
3978
  bg_color: string;
3999
3979
  bg_style: number;
4000
3980
  border_color: string;
@@ -4125,14 +4105,14 @@ type ModuleAuthor$3 = {
4125
4105
  label: string;
4126
4106
  mid: number;
4127
4107
  name: string;
4128
- official_verify: OfficialVerify$5;
4129
- pendant: Pendant$6;
4108
+ official_verify: OfficialVerify$4;
4109
+ pendant: Pendant$5;
4130
4110
  pub_action: string;
4131
4111
  pub_location_text: string;
4132
4112
  pub_time: string;
4133
4113
  pub_ts: number;
4134
4114
  type: string;
4135
- vip: Vip$6;
4115
+ vip: Vip$5;
4136
4116
  [property: string]: any;
4137
4117
  };
4138
4118
  type Avatar$4 = {
@@ -4231,12 +4211,12 @@ type Remote$3 = {
4231
4211
  url: string;
4232
4212
  [property: string]: any;
4233
4213
  };
4234
- type OfficialVerify$5 = {
4214
+ type OfficialVerify$4 = {
4235
4215
  desc: string;
4236
4216
  type: number;
4237
4217
  [property: string]: any;
4238
4218
  };
4239
- type Pendant$6 = {
4219
+ type Pendant$5 = {
4240
4220
  expire: number;
4241
4221
  image: string;
4242
4222
  image_enhance: string;
@@ -4246,18 +4226,18 @@ type Pendant$6 = {
4246
4226
  pid: number;
4247
4227
  [property: string]: any;
4248
4228
  };
4249
- type Vip$6 = {
4229
+ type Vip$5 = {
4250
4230
  avatar_subscript: number;
4251
4231
  avatar_subscript_url: string;
4252
4232
  due_date: number;
4253
- label: Label$6;
4233
+ label: Label$5;
4254
4234
  nickname_color: string;
4255
4235
  status: number;
4256
4236
  theme_type: number;
4257
4237
  type: number;
4258
4238
  [property: string]: any;
4259
4239
  };
4260
- type Label$6 = {
4240
+ type Label$5 = {
4261
4241
  bg_color: string;
4262
4242
  bg_style: number;
4263
4243
  border_color: string;
@@ -4274,12 +4254,12 @@ type Label$6 = {
4274
4254
  };
4275
4255
  type ModuleDynamic$3 = {
4276
4256
  additional: null;
4277
- desc: Desc$6;
4257
+ desc: Desc$5;
4278
4258
  major: Major$9;
4279
4259
  topic: null;
4280
4260
  [property: string]: any;
4281
4261
  };
4282
- type Desc$6 = {
4262
+ type Desc$5 = {
4283
4263
  rich_text_nodes: RichTextNode$4[];
4284
4264
  text: string;
4285
4265
  [property: string]: any;
@@ -4408,14 +4388,14 @@ type ModuleAuthor$2 = {
4408
4388
  label: string;
4409
4389
  mid: number;
4410
4390
  name: string;
4411
- official_verify: OfficialVerify$4;
4412
- pendant: Pendant$5;
4391
+ official_verify: OfficialVerify$3;
4392
+ pendant: Pendant$4;
4413
4393
  pub_action: string;
4414
4394
  pub_location_text: string;
4415
4395
  pub_time: string;
4416
4396
  pub_ts: number;
4417
4397
  type: string;
4418
- vip: Vip$5;
4398
+ vip: Vip$4;
4419
4399
  [property: string]: any;
4420
4400
  };
4421
4401
  type Avatar$3 = {
@@ -4546,12 +4526,12 @@ type ColorFormat$6 = {
4546
4526
  start_point: string;
4547
4527
  [property: string]: any;
4548
4528
  };
4549
- type OfficialVerify$4 = {
4529
+ type OfficialVerify$3 = {
4550
4530
  desc: string;
4551
4531
  type: number;
4552
4532
  [property: string]: any;
4553
4533
  };
4554
- type Pendant$5 = {
4534
+ type Pendant$4 = {
4555
4535
  expire: number;
4556
4536
  image: string;
4557
4537
  image_enhance: string;
@@ -4561,18 +4541,18 @@ type Pendant$5 = {
4561
4541
  pid: number;
4562
4542
  [property: string]: any;
4563
4543
  };
4564
- type Vip$5 = {
4544
+ type Vip$4 = {
4565
4545
  avatar_subscript: number;
4566
4546
  avatar_subscript_url: string;
4567
4547
  due_date: number;
4568
- label: Label$5;
4548
+ label: Label$4;
4569
4549
  nickname_color: string;
4570
4550
  status: number;
4571
4551
  theme_type: number;
4572
4552
  type: number;
4573
4553
  [property: string]: any;
4574
4554
  };
4575
- type Label$5 = {
4555
+ type Label$4 = {
4576
4556
  bg_color: string;
4577
4557
  bg_style: number;
4578
4558
  border_color: string;
@@ -4917,12 +4897,12 @@ type PurpleLabel$6 = {
4917
4897
  };
4918
4898
  type PurpleModuleDynamic$5 = {
4919
4899
  additional: null;
4920
- desc: Desc$5;
4900
+ desc: Desc$4;
4921
4901
  major: null;
4922
4902
  topic: Topic$3;
4923
4903
  [property: string]: any;
4924
4904
  };
4925
- type Desc$5 = {
4905
+ type Desc$4 = {
4926
4906
  rich_text_nodes: RichTextNode$2[];
4927
4907
  text: string;
4928
4908
  [property: string]: any;
@@ -5959,12 +5939,12 @@ type PurpleLabel$4 = {
5959
5939
  };
5960
5940
  type PurpleModuleDynamic$3 = {
5961
5941
  additional: null;
5962
- desc: Desc$4;
5942
+ desc: Desc$3;
5963
5943
  major: null;
5964
5944
  topic: Topic$2;
5965
5945
  [property: string]: any;
5966
5946
  };
5967
- type Desc$4 = {
5947
+ type Desc$3 = {
5968
5948
  rich_text_nodes: DescRichTextNode$2[];
5969
5949
  text: string;
5970
5950
  [property: string]: any;
@@ -6496,7 +6476,7 @@ type PurpleLabel$3 = {
6496
6476
  };
6497
6477
  type PurpleModuleDynamic$2 = {
6498
6478
  additional: Additional$2;
6499
- desc: Desc$3;
6479
+ desc: Desc$2;
6500
6480
  major: null;
6501
6481
  topic: null;
6502
6482
  [property: string]: any;
@@ -6530,7 +6510,7 @@ type JumpStyle$1 = {
6530
6510
  text: string;
6531
6511
  [property: string]: any;
6532
6512
  };
6533
- type Desc$3 = {
6513
+ type Desc$2 = {
6534
6514
  rich_text_nodes: DescRichTextNode$1[];
6535
6515
  text: string;
6536
6516
  [property: string]: any;
@@ -7038,12 +7018,12 @@ type PurpleLabel$2 = {
7038
7018
  };
7039
7019
  type PurpleModuleDynamic$1 = {
7040
7020
  additional: null;
7041
- desc: Desc$2;
7021
+ desc: Desc$1;
7042
7022
  major: null;
7043
7023
  topic: Topic$1;
7044
7024
  [property: string]: any;
7045
7025
  };
7046
- type Desc$2 = {
7026
+ type Desc$1 = {
7047
7027
  rich_text_nodes: RichTextNode$1[];
7048
7028
  text: string;
7049
7029
  [property: string]: any;
@@ -7522,7 +7502,7 @@ type PurpleLabel$1 = {
7522
7502
  };
7523
7503
  type PurpleModuleDynamic = {
7524
7504
  additional: Additional$1;
7525
- desc: Desc$1;
7505
+ desc: Desc;
7526
7506
  major: null;
7527
7507
  topic: Topic;
7528
7508
  [property: string]: any;
@@ -7575,7 +7555,7 @@ type Desc2 = {
7575
7555
  visible: boolean;
7576
7556
  [property: string]: any;
7577
7557
  };
7578
- type Desc$1 = {
7558
+ type Desc = {
7579
7559
  rich_text_nodes: DescRichTextNode[];
7580
7560
  text: string;
7581
7561
  [property: string]: any;
@@ -7994,14 +7974,14 @@ type ModuleAuthor$1 = {
7994
7974
  label: string;
7995
7975
  mid: number;
7996
7976
  name: string;
7997
- official_verify: OfficialVerify$3;
7998
- pendant: Pendant$4;
7977
+ official_verify: OfficialVerify$2;
7978
+ pendant: Pendant$3;
7999
7979
  pub_action: string;
8000
7980
  pub_location_text: string;
8001
7981
  pub_time: string;
8002
7982
  pub_ts: number;
8003
7983
  type: string;
8004
- vip: Vip$4;
7984
+ vip: Vip$3;
8005
7985
  [property: string]: any;
8006
7986
  };
8007
7987
  type Avatar$2 = {
@@ -8129,12 +8109,12 @@ type ColorFormat$1 = {
8129
8109
  start_point: string;
8130
8110
  [property: string]: any;
8131
8111
  };
8132
- type OfficialVerify$3 = {
8112
+ type OfficialVerify$2 = {
8133
8113
  desc: string;
8134
8114
  type: number;
8135
8115
  [property: string]: any;
8136
8116
  };
8137
- type Pendant$4 = {
8117
+ type Pendant$3 = {
8138
8118
  expire: number;
8139
8119
  image: string;
8140
8120
  image_enhance: string;
@@ -8144,18 +8124,18 @@ type Pendant$4 = {
8144
8124
  pid: number;
8145
8125
  [property: string]: any;
8146
8126
  };
8147
- type Vip$4 = {
8127
+ type Vip$3 = {
8148
8128
  avatar_subscript: number;
8149
8129
  avatar_subscript_url: string;
8150
8130
  due_date: number;
8151
- label: Label$4;
8131
+ label: Label$3;
8152
8132
  nickname_color: string;
8153
8133
  status: number;
8154
8134
  theme_type: number;
8155
8135
  type: number;
8156
8136
  [property: string]: any;
8157
8137
  };
8158
- type Label$4 = {
8138
+ type Label$3 = {
8159
8139
  bg_color: string;
8160
8140
  bg_style: number;
8161
8141
  border_color: string;
@@ -8275,14 +8255,14 @@ type ModuleAuthor = {
8275
8255
  label: string;
8276
8256
  mid: number;
8277
8257
  name: string;
8278
- official_verify: OfficialVerify$2;
8279
- pendant: Pendant$3;
8258
+ official_verify: OfficialVerify$1;
8259
+ pendant: Pendant$2;
8280
8260
  pub_action: string;
8281
8261
  pub_location_text: string;
8282
8262
  pub_time: string;
8283
8263
  pub_ts: number;
8284
8264
  type: string;
8285
- vip: Vip$3;
8265
+ vip: Vip$2;
8286
8266
  [property: string]: any;
8287
8267
  };
8288
8268
  type Avatar$1 = {
@@ -8410,12 +8390,12 @@ type ColorFormat = {
8410
8390
  start_point: string;
8411
8391
  [property: string]: any;
8412
8392
  };
8413
- type OfficialVerify$2 = {
8393
+ type OfficialVerify$1 = {
8414
8394
  desc: string;
8415
8395
  type: number;
8416
8396
  [property: string]: any;
8417
8397
  };
8418
- type Pendant$3 = {
8398
+ type Pendant$2 = {
8419
8399
  expire: number;
8420
8400
  image: string;
8421
8401
  image_enhance: string;
@@ -8425,18 +8405,18 @@ type Pendant$3 = {
8425
8405
  pid: number;
8426
8406
  [property: string]: any;
8427
8407
  };
8428
- type Vip$3 = {
8408
+ type Vip$2 = {
8429
8409
  avatar_subscript: number;
8430
8410
  avatar_subscript_url: string;
8431
8411
  due_date: number;
8432
- label: Label$3;
8412
+ label: Label$2;
8433
8413
  nickname_color: string;
8434
8414
  status: number;
8435
8415
  theme_type: number;
8436
8416
  type: number;
8437
8417
  [property: string]: any;
8438
8418
  };
8439
- type Label$3 = {
8419
+ type Label$2 = {
8440
8420
  bg_color: string;
8441
8421
  bg_style: number;
8442
8422
  border_color: string;
@@ -8653,12 +8633,12 @@ type BiliDynamicInfo<T extends DynamicType> = {
8653
8633
  //#region src/types/ReturnDataType/Bilibili/LiveRoomDef/LiveRoomDef_V0.d.ts
8654
8634
  type BiliLiveRoomDef_V0 = {
8655
8635
  code: number;
8656
- data: Data$12;
8636
+ data: Data$11;
8657
8637
  message: string;
8658
8638
  msg: string;
8659
8639
  [property: string]: any;
8660
8640
  };
8661
- type Data$12 = {
8641
+ type Data$11 = {
8662
8642
  encrypted: boolean;
8663
8643
  hidden_till: number;
8664
8644
  is_hidden: boolean;
@@ -8684,12 +8664,12 @@ type BiliLiveRoomDef = BiliLiveRoomDef_V0;
8684
8664
  //#region src/types/ReturnDataType/Bilibili/LiveRoomDetail/LiveRoomDetail_V0.d.ts
8685
8665
  type BiliLiveRoomDetail_V0 = {
8686
8666
  code: number;
8687
- data: Data$11;
8667
+ data: Data$10;
8688
8668
  message: string;
8689
8669
  msg: string;
8690
8670
  [property: string]: any;
8691
8671
  };
8692
- type Data$11 = {
8672
+ type Data$10 = {
8693
8673
  allow_change_area_time: number;
8694
8674
  allow_upload_cover_time: number;
8695
8675
  area_id: number;
@@ -8803,12 +8783,12 @@ type BiliCheckQrcode = BiliCheckQrcode_V0;
8803
8783
  //#region src/types/ReturnDataType/Bilibili/Login/NewLoginQrcode/NewLoginQrcode.d.ts
8804
8784
  type BiliNewLoginQrcode_V0 = {
8805
8785
  code: number;
8806
- data: Data$10;
8786
+ data: Data$9;
8807
8787
  message: string;
8808
8788
  ttl: number;
8809
8789
  [property: string]: any;
8810
8790
  };
8811
- type Data$10 = {
8791
+ type Data$9 = {
8812
8792
  qrcode_key: string;
8813
8793
  url: string;
8814
8794
  [property: string]: any;
@@ -8820,12 +8800,12 @@ type BiliNewLoginQrcode = BiliNewLoginQrcode_V0;
8820
8800
  //#region src/types/ReturnDataType/Bilibili/OneWork/OneWork_V0.d.ts
8821
8801
  type BiliOneWork_V0 = {
8822
8802
  code: number;
8823
- data: Data$9;
8803
+ data: Data$8;
8824
8804
  message: string;
8825
8805
  ttl: number;
8826
8806
  [property: string]: any;
8827
8807
  };
8828
- type Data$9 = {
8808
+ type Data$8 = {
8829
8809
  aid: number;
8830
8810
  argue_info: ArgueInfo;
8831
8811
  bvid: string;
@@ -8999,12 +8979,12 @@ type DataData$9<T extends DynamicType = DynamicType> = {
8999
8979
  //#region src/types/ReturnDataType/Bilibili/UserFullView/UserFullView_V0.d.ts
9000
8980
  type BiliUserFullView_V0 = {
9001
8981
  code: number;
9002
- data: Data$8;
8982
+ data: Data$7;
9003
8983
  message: string;
9004
8984
  ttl: number;
9005
8985
  [property: string]: any;
9006
8986
  };
9007
- type Data$8 = {
8987
+ type Data$7 = {
9008
8988
  archive: Archive;
9009
8989
  article: Article;
9010
8990
  likes: number;
@@ -9053,12 +9033,12 @@ type BiliUserLiveStatus = BiliUserLiveStatus_V0;
9053
9033
  //#region src/types/ReturnDataType/Bilibili/UserProfile/UserProfile_V0.d.ts
9054
9034
  type BiliUserProfile_V0 = {
9055
9035
  code: number;
9056
- data: Data$7;
9036
+ data: Data$6;
9057
9037
  message: string;
9058
9038
  ttl: number;
9059
9039
  [property: string]: any;
9060
9040
  };
9061
- type Data$7 = {
9041
+ type Data$6 = {
9062
9042
  archive_count: number;
9063
9043
  article_count: number;
9064
9044
  card: Card;
@@ -9082,21 +9062,21 @@ type Card = {
9082
9062
  fans: number;
9083
9063
  friend: number;
9084
9064
  is_senior_member: number;
9085
- level_info: LevelInfo$1;
9065
+ level_info: LevelInfo;
9086
9066
  mid: string;
9087
9067
  name: string;
9088
9068
  name_render: null;
9089
9069
  nameplate: Nameplate$1;
9090
9070
  Official: Official$1;
9091
- official_verify: OfficialVerify$1;
9092
- pendant: Pendant$2;
9071
+ official_verify: OfficialVerify;
9072
+ pendant: Pendant$1;
9093
9073
  place: string;
9094
9074
  rank: string;
9095
9075
  regtime: number;
9096
9076
  sex: string;
9097
9077
  sign: string;
9098
9078
  spacesta: number;
9099
- vip: Vip$2;
9079
+ vip: Vip$1;
9100
9080
  [property: string]: any;
9101
9081
  };
9102
9082
  type Official$1 = {
@@ -9106,7 +9086,7 @@ type Official$1 = {
9106
9086
  type: number;
9107
9087
  [property: string]: any;
9108
9088
  };
9109
- type LevelInfo$1 = {
9089
+ type LevelInfo = {
9110
9090
  current_exp: number;
9111
9091
  current_level: number;
9112
9092
  current_min: number;
@@ -9122,12 +9102,12 @@ type Nameplate$1 = {
9122
9102
  nid: number;
9123
9103
  [property: string]: any;
9124
9104
  };
9125
- type OfficialVerify$1 = {
9105
+ type OfficialVerify = {
9126
9106
  desc: string;
9127
9107
  type: number;
9128
9108
  [property: string]: any;
9129
9109
  };
9130
- type Pendant$2 = {
9110
+ type Pendant$1 = {
9131
9111
  expire: number;
9132
9112
  image: string;
9133
9113
  image_enhance: string;
@@ -9137,12 +9117,12 @@ type Pendant$2 = {
9137
9117
  pid: number;
9138
9118
  [property: string]: any;
9139
9119
  };
9140
- type Vip$2 = {
9120
+ type Vip$1 = {
9141
9121
  avatar_icon: AvatarIcon$1;
9142
9122
  avatar_subscript: number;
9143
9123
  avatar_subscript_url: string;
9144
9124
  due_date: number;
9145
- label: Label$2;
9125
+ label: Label$1;
9146
9126
  nickname_color: string;
9147
9127
  role: number;
9148
9128
  status: number;
@@ -9166,7 +9146,7 @@ type IconResource = {
9166
9146
  url: string;
9167
9147
  [property: string]: any;
9168
9148
  };
9169
- type Label$2 = {
9149
+ type Label$1 = {
9170
9150
  bg_color: string;
9171
9151
  bg_style: number;
9172
9152
  border_color: string;
@@ -9226,7 +9206,7 @@ type DataData$7 = {
9226
9206
  name_render: null;
9227
9207
  nameplate: Nameplate;
9228
9208
  official: Official;
9229
- pendant: Pendant$1;
9209
+ pendant: Pendant;
9230
9210
  profession: Profession;
9231
9211
  rank: number;
9232
9212
  school: null;
@@ -9242,7 +9222,7 @@ type DataData$7 = {
9242
9222
  top_photo: string;
9243
9223
  top_photo_v2: TopPhotoV2;
9244
9224
  user_honour_info: UserHonourInfo;
9245
- vip: Vip$1;
9225
+ vip: Vip;
9246
9226
  [property: string]: any;
9247
9227
  };
9248
9228
  type Attestation = {
@@ -9330,7 +9310,7 @@ type Official = {
9330
9310
  type: number;
9331
9311
  [property: string]: any;
9332
9312
  };
9333
- type Pendant$1 = {
9313
+ type Pendant = {
9334
9314
  expire: number;
9335
9315
  image: string;
9336
9316
  image_enhance: string;
@@ -9365,12 +9345,12 @@ type UserHonourInfo = {
9365
9345
  tags: string[];
9366
9346
  [property: string]: any;
9367
9347
  };
9368
- type Vip$1 = {
9348
+ type Vip = {
9369
9349
  avatar_icon: AvatarIcon;
9370
9350
  avatar_subscript: number;
9371
9351
  avatar_subscript_url: string;
9372
9352
  due_date: number;
9373
- label: Label$1;
9353
+ label: Label;
9374
9354
  nickname_color: string;
9375
9355
  ott_info: OttInfo;
9376
9356
  role: number;
@@ -9391,7 +9371,7 @@ type AvatarIcon = {
9391
9371
  icon_type: number;
9392
9372
  [property: string]: any;
9393
9373
  };
9394
- type Label$1 = {
9374
+ type Label = {
9395
9375
  bg_color: string;
9396
9376
  bg_style: number;
9397
9377
  border_color: string;
@@ -9433,12 +9413,12 @@ type UserSpaceInfo = UserSpaceInfo_V0;
9433
9413
  /** 视频下载地址(已登录) */
9434
9414
  type BiliVideoPlayurlIsLogin_V0 = {
9435
9415
  code: number;
9436
- data: Data$6;
9416
+ data: Data$5;
9437
9417
  message: string;
9438
9418
  ttl: number;
9439
9419
  [property: string]: any;
9440
9420
  };
9441
- type Data$6 = {
9421
+ type Data$5 = {
9442
9422
  accept_description: string[];
9443
9423
  accept_format: string;
9444
9424
  accept_quality: number[];
@@ -9555,12 +9535,12 @@ type BiliVideoPlayurlIsLogin = BiliVideoPlayurlIsLogin_V0;
9555
9535
  /** 视频下载地址(未登录) */
9556
9536
  type BiliBiliVideoPlayurlNoLogin_V0 = {
9557
9537
  code: number;
9558
- data: Data$5;
9538
+ data: Data$4;
9559
9539
  message: string;
9560
9540
  ttl: number;
9561
9541
  [property: string]: any;
9562
9542
  };
9563
- type Data$5 = {
9543
+ type Data$4 = {
9564
9544
  accept_description: string[];
9565
9545
  accept_format: string;
9566
9546
  accept_quality: number[];
@@ -11390,140 +11370,6 @@ type DataUpper = {
11390
11370
  //#region src/types/ReturnDataType/Bilibili/WorkComments/index.d.ts
11391
11371
  type BiliWorkComments = BiliWorkComments_V0;
11392
11372
  //#endregion
11393
- //#region src/types/ReturnDataType/Bilibili/DynamicCard/DynamicCard_V0.d.ts
11394
- type BiliDynamicCard_V0 = {
11395
- code: number;
11396
- data: Data$4;
11397
- message: string;
11398
- ttl: number;
11399
- [property: string]: any;
11400
- };
11401
- type Data$4 = {
11402
- card: DataCard;
11403
- [property: string]: any;
11404
- };
11405
- type DataCard = {
11406
- card: string;
11407
- desc: Desc;
11408
- display: Display$1;
11409
- extend_json: string;
11410
- [property: string]: any;
11411
- };
11412
- type Desc = {
11413
- acl: number;
11414
- bvid: string;
11415
- comment: number;
11416
- dynamic_id: number;
11417
- dynamic_id_str: string;
11418
- inner_id: number;
11419
- is_liked: number;
11420
- like: number;
11421
- orig_dy_id: number;
11422
- orig_dy_id_str: string;
11423
- orig_type: number;
11424
- origin: null;
11425
- pre_dy_id: number;
11426
- pre_dy_id_str: string;
11427
- previous: null;
11428
- r_type: number;
11429
- repost: number;
11430
- rid: number;
11431
- rid_str: string;
11432
- spec_type: number;
11433
- status: number;
11434
- stype: number;
11435
- timestamp: number;
11436
- type: number;
11437
- uid: number;
11438
- uid_type: number;
11439
- user_profile: UserProfile;
11440
- view: number;
11441
- [property: string]: any;
11442
- };
11443
- type UserProfile = {
11444
- card: UserProfileCard;
11445
- info: Info$1;
11446
- level_info: LevelInfo;
11447
- pendant: Pendant;
11448
- rank: string;
11449
- sign: string;
11450
- vip: Vip;
11451
- [property: string]: any;
11452
- };
11453
- type UserProfileCard = {
11454
- official_verify: OfficialVerify;
11455
- [property: string]: any;
11456
- };
11457
- type OfficialVerify = {
11458
- type: number;
11459
- [property: string]: any;
11460
- };
11461
- type Info$1 = {
11462
- face: string;
11463
- uid: number;
11464
- uname: string;
11465
- [property: string]: any;
11466
- };
11467
- type LevelInfo = {
11468
- current_exp: number;
11469
- current_level: number;
11470
- current_min: number;
11471
- next_exp: string;
11472
- [property: string]: any;
11473
- };
11474
- type Pendant = {
11475
- expire: number;
11476
- image: string;
11477
- image_enhance: string;
11478
- image_enhance_frame: string;
11479
- name: string;
11480
- pid: number;
11481
- [property: string]: any;
11482
- };
11483
- type Vip = {
11484
- accessStatus: number;
11485
- avatar_subscript: number;
11486
- avatar_subscript_url: string;
11487
- dueRemark: string;
11488
- label: Label;
11489
- nickname_color: string;
11490
- role: number;
11491
- themeType: number;
11492
- vipDueDate: number;
11493
- vipStatus: number;
11494
- vipStatusWarn: string;
11495
- vipType: number;
11496
- [property: string]: any;
11497
- };
11498
- type Label = {
11499
- bg_color: string;
11500
- bg_style: number;
11501
- border_color: string;
11502
- label_theme: string;
11503
- path: string;
11504
- text: string;
11505
- text_color: string;
11506
- [property: string]: any;
11507
- };
11508
- type Display$1 = {
11509
- emoji_info: null;
11510
- highlight: null;
11511
- live_info: null;
11512
- origin: null;
11513
- relation: Relation;
11514
- usr_action_txt: string;
11515
- [property: string]: any;
11516
- };
11517
- type Relation = {
11518
- is_follow: number;
11519
- is_followed: number;
11520
- status: number;
11521
- [property: string]: any;
11522
- };
11523
- //#endregion
11524
- //#region src/types/ReturnDataType/Bilibili/DynamicCard/index.d.ts
11525
- type BiliDynamicCard = BiliDynamicCard_V0;
11526
- //#endregion
11527
11373
  //#region src/types/ReturnDataType/Bilibili/index.d.ts
11528
11374
  /**
11529
11375
  * B站返回类型映射
@@ -11543,8 +11389,6 @@ interface BilibiliReturnTypeMap {
11543
11389
  bangumiInfo: BiliBangumiVideoInfo;
11544
11390
  bangumiStream: BiliBangumiVideoPlayurlIsLogin | BiliBangumiVideoPlayurlNoLogin;
11545
11391
  dynamicDetail: BiliDynamicInfoUnion;
11546
- /** @deprecated 接口已停用,现返回错误信息 */
11547
- dynamicCard: ErrorResult;
11548
11392
  liveRoomInfo: BiliLiveRoomDetail;
11549
11393
  liveRoomInit: BiliLiveRoomDef;
11550
11394
  loginStatus: any;
@@ -13991,6 +13835,153 @@ type MediumCoverurl = {
13991
13835
  //#region src/types/ReturnDataType/Douyin/MusicWork/index.d.ts
13992
13836
  type DyMusicWork = DyMusicWork_V0;
13993
13837
  //#endregion
13838
+ //#region src/types/ReturnDataType/Douyin/PassportLogin/PassportLogin.d.ts
13839
+ /**
13840
+ * 抖音 passport 扫码登录的返回类型
13841
+ *
13842
+ * 与其它返回类型不同,这几个不是服务端原始 JSON 的映射,而是登录状态机归一化之后的结果:
13843
+ * passport 的原始响应会把状态散落在 `data.status`、`data.error_code`、`data.account_flow`
13844
+ * 三处,且同一种情况有多套表达。协议层把它们收敛成一个可判别联合,调用方只需 `switch`
13845
+ * 一次即可覆盖全部分支。
13846
+ */
13847
+ /** 二次验证的一种可选方式 */
13848
+ interface DyPassportVerifyWay {
13849
+ /** 方式标识,如 `mobile_sms_verify` */
13850
+ verifyWay: string;
13851
+ /** 该方式关联的手机号(已脱敏) */
13852
+ mobile?: string;
13853
+ }
13854
+ /**
13855
+ * 二次验证上下文
13856
+ *
13857
+ * 字段全部来自轮询响应,需原样透传给发码与验码接口,缺字段会被判为伪造请求。
13858
+ */
13859
+ interface DyPassportVerifyContext {
13860
+ /** 加密后的用户 ID */
13861
+ encryptUid: string;
13862
+ /** 验证票据 */
13863
+ verifyTicket: string;
13864
+ /** 验证会话票据 */
13865
+ stdParams: Record<string, string>;
13866
+ /** 文案场景,扫码登录固定为 `qr_connect` */
13867
+ copywritingKey: string;
13868
+ /** 风控分流标记 */
13869
+ diversionTag: string;
13870
+ /** 新版验证流标识 */
13871
+ newVerifyFlow: string;
13872
+ /** 服务端给出的可选验证方式 */
13873
+ verifyWays: DyPassportVerifyWay[];
13874
+ }
13875
+ /** 一次二维码轮询的归一化结果 */
13876
+ type DyPassportPollResult =
13877
+ /** 尚未扫码 */
13878
+ {
13879
+ status: 'new';
13880
+ interval: number;
13881
+ } |
13882
+ /** 已扫码,等待手机端确认 */
13883
+ {
13884
+ status: 'scanned';
13885
+ interval: number;
13886
+ } |
13887
+ /** 已确认,可跟随 `redirectUrl` 领取登录凭证 */
13888
+ {
13889
+ status: 'confirmed';
13890
+ interval: number;
13891
+ redirectUrl: string;
13892
+ } |
13893
+ /** 二维码过期 */
13894
+ {
13895
+ status: 'expired';
13896
+ interval: number;
13897
+ } |
13898
+ /** 触发账号二次验证 */
13899
+ {
13900
+ status: 'verify';
13901
+ interval: number;
13902
+ verify: DyPassportVerifyContext;
13903
+ } |
13904
+ /** 触发风控 */
13905
+ {
13906
+ status: 'risk';
13907
+ interval: number;
13908
+ message: string;
13909
+ } |
13910
+ /** 轮询被限频,退避后可继续用同一个 token 重试 */
13911
+ {
13912
+ status: 'busy';
13913
+ interval: number;
13914
+ message: string;
13915
+ } |
13916
+ /** 未知状态,原样保留服务端返回,便于排查 */
13917
+ {
13918
+ status: 'unknown';
13919
+ interval: number;
13920
+ message: string;
13921
+ };
13922
+ /** 登录二维码 */
13923
+ interface DyPassportQrcode {
13924
+ /** 轮询用的二维码令牌 */
13925
+ token: string;
13926
+ /** 二维码承载的内容,直接拿去生成图片 */
13927
+ content: string;
13928
+ /**
13929
+ * 二维码过期时间,服务端原值,是**绝对 Unix 时间戳(秒)**而非时长
13930
+ *
13931
+ * 想要剩余秒数请直接用 `expires_in`。
13932
+ */
13933
+ expire_time: number;
13934
+ /** 距离二维码过期还剩多少秒,取二维码时算出,实测约 60 秒 */
13935
+ expires_in: number;
13936
+ /** 本次会话 cookie,后续调用需原样传回 */
13937
+ cookie: string;
13938
+ }
13939
+ /** 二维码状态 */
13940
+ type DyPassportQrcodeStatus = DyPassportPollResult & {
13941
+ /** 最新会话 cookie;`confirmed` 时已包含 sessionid / sid_guard 等登录凭证 */
13942
+ cookie: string;
13943
+ /** cookie 里是否已具备登录态凭证 */
13944
+ logged_in: boolean;
13945
+ };
13946
+ /** 发码接口归一化后的结果,不含会话字段 */
13947
+ interface DyPassportSendCodeResult {
13948
+ /** 是否发送成功 */
13949
+ ok: boolean;
13950
+ /** 服务端返回的脱敏手机号 */
13951
+ mobile: string;
13952
+ /** 允许重新发送的等待秒数 */
13953
+ retryAfter: number;
13954
+ /** 失败时的错误码 */
13955
+ errorCode?: number;
13956
+ /** 失败时的描述 */
13957
+ message: string;
13958
+ }
13959
+ /** 发送短信验证码的结果 */
13960
+ type DyPassportSendCode = DyPassportSendCodeResult & {
13961
+ /** 最新会话 cookie */
13962
+ cookie: string;
13963
+ /** 本次验证流程的追踪 ID,提交验证码时必须传回同一个值 */
13964
+ biz_trace_id: string;
13965
+ /** 本次实际使用的验证方式,提交验证码时应传回同一个值 */
13966
+ verify_way: string;
13967
+ };
13968
+ /** 验码接口归一化后的结果,不含会话字段 */
13969
+ interface DyPassportValidateCodeResult {
13970
+ /** 验证是否通过 */
13971
+ ok: boolean;
13972
+ /** 验证码是否填错(可以让用户重试) */
13973
+ wrongCode: boolean;
13974
+ /** 错误码 */
13975
+ errorCode?: number;
13976
+ /** 描述 */
13977
+ message: string;
13978
+ }
13979
+ /** 提交短信验证码的结果 */
13980
+ type DyPassportValidateCode = DyPassportValidateCodeResult & {
13981
+ /** 最新会话 cookie */
13982
+ cookie: string;
13983
+ };
13984
+ //#endregion
13994
13985
  //#region src/types/ReturnDataType/Douyin/SearchInfo/SearchInfoGeneral/SearchInfoGeneral_V0.d.ts
13995
13986
  type SearchInfoGeneralData_V0 = {
13996
13987
  ad_info: {
@@ -24258,6 +24249,10 @@ interface DouyinReturnTypeMap {
24258
24249
  liveRoomInfo: DyUserLiveVideos;
24259
24250
  loginQrcode: any;
24260
24251
  commentReplies: CommentReply;
24252
+ passportQrcode: DyPassportQrcode;
24253
+ passportQrcodeStatus: DyPassportQrcodeStatus;
24254
+ passportSendCode: DyPassportSendCode;
24255
+ passportValidateCode: DyPassportValidateCode;
24261
24256
  }
24262
24257
  //#endregion
24263
24258
  //#region src/types/ReturnDataType/Kuaishou/EmojiList/EmojiList_V0.d.ts
@@ -26071,7 +26066,6 @@ declare const BilibiliInternalMethods: {
26071
26066
  readonly USER_SPACE_INFO: "用户空间详细信息";
26072
26067
  readonly USER_TOTAL_VIEWS: "获取UP主总播放量";
26073
26068
  readonly DYNAMIC_DETAIL: "动态详情数据";
26074
- readonly DYNAMIC_CARD: "动态卡片数据";
26075
26069
  readonly BANGUMI_INFO: "番剧基本信息数据";
26076
26070
  readonly BANGUMI_STREAM: "番剧下载信息数据";
26077
26071
  readonly LIVE_ROOM_INFO: "直播间信息";
@@ -26102,7 +26096,6 @@ declare const BilibiliFetcherMethods: {
26102
26096
  readonly USER_SPACE_INFO: "fetchUserSpaceInfo";
26103
26097
  readonly USER_TOTAL_VIEWS: "fetchUploaderTotalViews";
26104
26098
  readonly DYNAMIC_DETAIL: "fetchDynamicDetail";
26105
- readonly DYNAMIC_CARD: "fetchDynamicCard";
26106
26099
  readonly BANGUMI_INFO: "fetchBangumiInfo";
26107
26100
  readonly BANGUMI_STREAM: "fetchBangumiStreamUrl";
26108
26101
  readonly LIVE_ROOM_INFO: "fetchLiveRoomInfo";
@@ -26238,7 +26231,6 @@ declare const MethodMaps: {
26238
26231
  readonly USER_SPACE_INFO: "用户空间详细信息";
26239
26232
  readonly USER_TOTAL_VIEWS: "获取UP主总播放量";
26240
26233
  readonly DYNAMIC_DETAIL: "动态详情数据";
26241
- readonly DYNAMIC_CARD: "动态卡片数据";
26242
26234
  readonly BANGUMI_INFO: "番剧基本信息数据";
26243
26235
  readonly BANGUMI_STREAM: "番剧下载信息数据";
26244
26236
  readonly LIVE_ROOM_INFO: "直播间信息";
@@ -26268,7 +26260,6 @@ declare const MethodMaps: {
26268
26260
  readonly USER_SPACE_INFO: "fetchUserSpaceInfo";
26269
26261
  readonly USER_TOTAL_VIEWS: "fetchUploaderTotalViews";
26270
26262
  readonly DYNAMIC_DETAIL: "fetchDynamicDetail";
26271
- readonly DYNAMIC_CARD: "fetchDynamicCard";
26272
26263
  readonly BANGUMI_INFO: "fetchBangumiInfo";
26273
26264
  readonly BANGUMI_STREAM: "fetchBangumiStreamUrl";
26274
26265
  readonly LIVE_ROOM_INFO: "fetchLiveRoomInfo";
@@ -26395,19 +26386,19 @@ type TypeControl = {
26395
26386
  type DouyinDataOptionsMap = { [K in DouyinMethodType]: {
26396
26387
  opt: DouyinMethodOptMap[K];
26397
26388
  data: DouyinReturnTypeMap[K];
26398
- } };
26389
+ }; };
26399
26390
  type BilibiliDataOptionsMap = { [K in BilibiliMethodType]: {
26400
26391
  opt: BilibiliMethodOptMap[K];
26401
26392
  data: BilibiliReturnTypeMap[K];
26402
- } };
26393
+ }; };
26403
26394
  type KuaishouDataOptionsMap = { [K in KuaishouMethodType]: {
26404
26395
  opt: KuaishouMethodOptMap[K];
26405
26396
  data: KuaishouReturnTypeMap[K];
26406
- } };
26397
+ }; };
26407
26398
  type XiaohongshuDataOptionsMap = { [K in XiaohongshuMethodType]: {
26408
26399
  opt: XiaohongshuMethodOptMap[K];
26409
26400
  data: XiaohongshuReturnTypeMap[K];
26410
- } };
26401
+ }; };
26411
26402
  type XiaohongshuDataOptions<T extends keyof XiaohongshuDataOptionsMap> = OmitMethodType<XiaohongshuDataOptionsMap[T]['opt'] & TypeControl>;
26412
26403
  type DouyinDataOptions<T extends DouyinMethodType> = OmitMethodType<zod.infer<(typeof DouyinValidationSchemas)[T]> & TypeControl>;
26413
26404
  type BilibiliDataOptions<T extends keyof BilibiliDataOptionsMap> = OmitMethodType<BilibiliDataOptionsMap[T]['opt'] & TypeControl>;
@@ -26417,15 +26408,19 @@ type KuaishouDataOptions<T extends keyof KuaishouDataOptionsMap> = OmitMethodTyp
26417
26408
  * 该类型是方法 `getXXXData` 封装后请求遇到错误时的返回类型
26418
26409
  */
26419
26410
  type APIErrorType<T extends 'douyin' | 'bilibili' | 'kuaishou' | 'xiaohongshu' | 'default' = 'default'> = {
26420
- /** 错误码 */code: T extends 'douyin' ? douoyinAPIErrorCode : T extends 'bilibili' ? bilibiliAPIErrorCode : T extends 'kuaishou' ? kuaishouAPIErrorCode : T extends 'xiaohongshu' ? xiaohongshuAPIErrorCode : amagiAPIErrorCode; /** 错误时的响应数据 */
26421
- data: any; /** amagi 错误详情 */
26422
- amagiError: ErrorDetail; /** 错误信息 */
26411
+ /** 错误码 */
26412
+ code: T extends 'douyin' ? douoyinAPIErrorCode : T extends 'bilibili' ? bilibiliAPIErrorCode : T extends 'kuaishou' ? kuaishouAPIErrorCode : T extends 'xiaohongshu' ? xiaohongshuAPIErrorCode : amagiAPIErrorCode;
26413
+ /** 错误时的响应数据 */
26414
+ data: any;
26415
+ /** amagi 错误详情 */
26416
+ amagiError: ErrorDetail;
26417
+ /** 错误信息 */
26423
26418
  amagiMessage: string;
26424
26419
  };
26425
26420
  //#endregion
26426
26421
  //#region src/platform/bilibili/API.d.ts
26427
26422
  /** 去除 methodType 字段后的参数类型 */
26428
- type BilibiliMethodOptionsWithoutMethodType = { [K in keyof BilibiliMethodOptionsMap]: OmitMethodType<BilibiliMethodOptionsMap[K]> };
26423
+ type BilibiliMethodOptionsWithoutMethodType = { [K in keyof BilibiliMethodOptionsMap]: OmitMethodType<BilibiliMethodOptionsMap[K]>; };
26429
26424
  /**
26430
26425
  * B站 API URL 构建类
26431
26426
  *
@@ -26457,13 +26452,6 @@ declare class BilibiliAPI {
26457
26452
  getUserDynamicList(data: BilibiliMethodOptionsWithoutMethodType['UserParams']): string;
26458
26453
  /** 获取动态详情 */
26459
26454
  getDynamicDetail(data: BilibiliMethodOptionsWithoutMethodType['DynamicParams']): string;
26460
- /**
26461
- * 获取动态卡片信息
26462
- *
26463
- * @deprecated B站官方已于 `2025-08-09` 删除原 `dynamic_svr` 接口,该接口已停用。
26464
- * 调用将返回错误信息,请使用 {@link getDynamicDetail} 替代。
26465
- */
26466
- getDynamicCard(data: BilibiliMethodOptionsWithoutMethodType['DynamicParams']): string;
26467
26455
  /** 获取用户名片信息 */
26468
26456
  getUserCard(data: BilibiliMethodOptionsWithoutMethodType['UserParams']): string;
26469
26457
  /**
@@ -26521,58 +26509,141 @@ declare class BilibiliAPI {
26521
26509
  /** B站 API URL 构建器实例 */
26522
26510
  declare const bilibiliApiUrls: BilibiliAPI;
26523
26511
  //#endregion
26524
- //#region src/model/fetchers/bilibili/types.d.ts
26525
- /** B站视频信息请求参数 */
26526
- interface BilibiliVideoInfoOptions extends BaseRequestOptions {
26527
- /** BV号,如 `BV1xx411c7mD` */
26528
- bvid: string;
26529
- }
26530
- /** B站视频流请求参数 */
26531
- interface BilibiliVideoStreamOptions extends BaseRequestOptions {
26532
- /** AV号 (纯数字),如 `170001` */
26533
- avid: number;
26534
- /** 视频分P的 CID,可从视频信息接口获取 */
26535
- cid: number;
26536
- }
26537
- /** B站评论请求参数 */
26538
- interface BilibiliCommentsOptions extends BaseRequestOptions {
26539
- /** 目标 ID,视频为 AV号,动态为动态ID */
26540
- oid: string;
26541
- /** 评论区类型: 1=视频, 11=图文动态, 12=专栏, 17=纯文字动态 */
26542
- type: number;
26543
- /** 获取数量 */
26544
- number?: number;
26545
- /** 页码,从 1 开始 */
26546
- pn?: number;
26547
- }
26548
- /** B站评论回复请求参数 */
26549
- interface BilibiliCommentRepliesOptions extends BaseRequestOptions {
26550
- /** 目标 ID,视频为 AV号,动态为动态ID */
26551
- oid: string;
26552
- /** 评论区类型: 1=视频, 11=图文动态, 12=专栏, 17=纯文字动态 */
26553
- type: number;
26554
- /** 根评论 rpid */
26555
- root: string;
26556
- /** 获取数量 */
26557
- number?: number;
26558
- /** 页码,从 1 开始 */
26559
- pn?: number;
26560
- }
26561
- /** B站用户请求参数 */
26562
- interface BilibiliUserOptions extends BaseRequestOptions {
26563
- /** 用户 UID (纯数字),如 `438881796` */
26564
- host_mid: number;
26565
- }
26566
- /** B站动态请求参数 */
26567
- interface BilibiliDynamicOptions extends BaseRequestOptions {
26568
- /** 动态 ID,如 `123456789012345678` */
26569
- dynamic_id: string;
26570
- }
26571
- /** B站番剧信息请求参数 */
26572
- interface BilibiliBangumiInfoOptions extends BaseRequestOptions {
26573
- /** 剧集 EP ID,与 season_id 二选一 */
26574
- ep_id?: string;
26575
- /** 季度 ID,与 ep_id 二选一 */
26512
+ //#region src/validation/index.d.ts
26513
+ /**
26514
+ * 基础响应类型
26515
+ */
26516
+ type BaseResponse = {
26517
+ /** 响应消息 */
26518
+ message: string;
26519
+ /** 响应状态码 */
26520
+ code: number;
26521
+ };
26522
+ /**
26523
+ * 成功响应类型
26524
+ * @template T - 响应数据的类型,默认为any
26525
+ */
26526
+ type SuccessResult<T = any> = BaseResponse & {
26527
+ /** 响应状态 */
26528
+ success: true;
26529
+ /** 响应数据,类型由泛型 T 决定 */
26530
+ data: T;
26531
+ /** 成功响应时错误信息为空 */
26532
+ error: never;
26533
+ };
26534
+ /**
26535
+ * 错误响应类型
26536
+ */
26537
+ type ErrorResult = BaseResponse & {
26538
+ /** 响应状态 */
26539
+ success: false;
26540
+ /** API 错误类型 */
26541
+ error: APIErrorType;
26542
+ /** 错误响应时数据为空 */
26543
+ data: never;
26544
+ };
26545
+ /**
26546
+ * 通用API响应类型
26547
+ * @template T - 成功响应数据的类型,默认为any
26548
+ */
26549
+ type Result<T> = SuccessResult<T> | ErrorResult;
26550
+ /**
26551
+ * 验证抖音参数
26552
+ * @param methodType - 抖音方法类型
26553
+ * @param params - 待验证的参数
26554
+ * @returns 验证后的参数,符合原始API期望的类型
26555
+ */
26556
+ declare const validateDouyinParams: <T extends DouyinMethodType>(methodType: T, params: unknown) => zod.infer<(typeof DouyinValidationSchemas)[T]>;
26557
+ /**
26558
+ * 验证哔哩哔哩参数
26559
+ * @param methodType - 哔哩哔哩方法类型
26560
+ * @param params - 待验证的参数
26561
+ * @returns 验证后的参数,符合原始API期望的类型
26562
+ */
26563
+ declare const validateBilibiliParams: <T extends BilibiliMethodType>(methodType: T, params: unknown) => zod.infer<(typeof BilibiliValidationSchemas)[T]>;
26564
+ /**
26565
+ * 验证快手参数
26566
+ * @param methodType - 快手方法类型
26567
+ * @param params - 待验证的参数
26568
+ * @returns 验证后的参数,符合原始API期望的类型
26569
+ */
26570
+ declare const validateKuaishouParams: <T extends KuaishouMethodType>(methodType: T, params: unknown) => zod.infer<(typeof KuaishouValidationSchemas)[T]>;
26571
+ /**
26572
+ * 验证小红书参数
26573
+ * @param methodType - 小红书方法类型
26574
+ * @param params - 待验证的参数
26575
+ * @returns 验证后的参数
26576
+ */
26577
+ declare const validateXiaohongshuParams: <T extends XiaohongshuMethodType>(methodType: T, params: unknown) => zod.infer<(typeof XiaohongshuValidationSchemas)[T]>;
26578
+ /**
26579
+ * 创建成功响应格式
26580
+ * @param data - 响应数据
26581
+ * @param message - 响应消息(可选)
26582
+ * @param code - 响应状态码(可选,默认200)
26583
+ * @returns 格式化的成功API响应对象
26584
+ */
26585
+ declare const createSuccessResponse: <T>(data: T, message: string, code?: number) => SuccessResult<T>;
26586
+ /**
26587
+ * 创建失败响应格式
26588
+ * @param error - 错误信息
26589
+ * @param message - 详细错误消息(可选)
26590
+ * @param code - 错误状态码(可选,默认500)
26591
+ * @returns 格式化的错误响应对象
26592
+ */
26593
+ declare const createErrorResponse: (error: APIErrorType, message: string, code?: number, data?: unknown) => ErrorResult;
26594
+ //#endregion
26595
+ //#region src/model/fetchers/bilibili/types.d.ts
26596
+ /** B站视频信息请求参数 */
26597
+ interface BilibiliVideoInfoOptions extends BaseRequestOptions {
26598
+ /** BV号,如 `BV1xx411c7mD` */
26599
+ bvid: string;
26600
+ }
26601
+ /** B站视频流请求参数 */
26602
+ interface BilibiliVideoStreamOptions extends BaseRequestOptions {
26603
+ /** AV号 (纯数字),如 `170001` */
26604
+ avid: number;
26605
+ /** 视频分P的 CID,可从视频信息接口获取 */
26606
+ cid: number;
26607
+ }
26608
+ /** B站评论请求参数 */
26609
+ interface BilibiliCommentsOptions extends BaseRequestOptions {
26610
+ /** 目标 ID,视频为 AV号,动态为动态ID */
26611
+ oid: string;
26612
+ /** 评论区类型: 1=视频, 11=图文动态, 12=专栏, 17=纯文字动态 */
26613
+ type: number;
26614
+ /** 获取数量 */
26615
+ number?: number;
26616
+ /** 页码,从 1 开始 */
26617
+ pn?: number;
26618
+ }
26619
+ /** B站评论回复请求参数 */
26620
+ interface BilibiliCommentRepliesOptions extends BaseRequestOptions {
26621
+ /** 目标 ID,视频为 AV号,动态为动态ID */
26622
+ oid: string;
26623
+ /** 评论区类型: 1=视频, 11=图文动态, 12=专栏, 17=纯文字动态 */
26624
+ type: number;
26625
+ /** 根评论 rpid */
26626
+ root: string;
26627
+ /** 获取数量 */
26628
+ number?: number;
26629
+ /** 页码,从 1 开始 */
26630
+ pn?: number;
26631
+ }
26632
+ /** B站用户请求参数 */
26633
+ interface BilibiliUserOptions extends BaseRequestOptions {
26634
+ /** 用户 UID (纯数字),如 `438881796` */
26635
+ host_mid: number;
26636
+ }
26637
+ /** B站动态请求参数 */
26638
+ interface BilibiliDynamicOptions extends BaseRequestOptions {
26639
+ /** 动态 ID,如 `123456789012345678` */
26640
+ dynamic_id: string;
26641
+ }
26642
+ /** B站番剧信息请求参数 */
26643
+ interface BilibiliBangumiInfoOptions extends BaseRequestOptions {
26644
+ /** 剧集 EP ID,与 season_id 二选一 */
26645
+ ep_id?: string;
26646
+ /** 季度 ID,与 ep_id 二选一 */
26576
26647
  season_id?: string;
26577
26648
  }
26578
26649
  /** B站番剧流请求参数 */
@@ -26688,13 +26759,6 @@ interface IBilibiliFetcher {
26688
26759
  * 获取B站动态详情
26689
26760
  */
26690
26761
  fetchDynamicDetail: MethodOverload<BilibiliDynamicOptions, BilibiliReturnTypeMap['dynamicDetail']>;
26691
- /**
26692
- * 获取B站动态卡片信息
26693
- * @deprecated v6.1.3 已废弃,B站官方已于 `2025-08-09` 删除原 `dynamic_svr` 接口。
26694
- * 调用将返回错误信息
26695
- * 计划于 v7.0.0 移除。
26696
- */
26697
- fetchDynamicCard: MethodOverload<BilibiliDynamicOptions, BilibiliReturnTypeMap['dynamicCard']>;
26698
26762
  /**
26699
26763
  * 获取B站番剧基本信息
26700
26764
  */
@@ -26761,6 +26825,413 @@ interface IBilibiliFetcher {
26761
26825
  fetchEmojiList: NoParamMethodOverload<BilibiliReturnTypeMap['emojiList']>;
26762
26826
  }
26763
26827
  //#endregion
26828
+ //#region src/platform/douyin/passport/aBogus.d.ts
26829
+ /** bdms SDK 版本号,同时也是 passport 通用参数里的 p_bd */
26830
+ declare const BDMS_SDK_VERSION = "1.0.1.19-fix.01";
26831
+ /**
26832
+ * 生成 a_bogus
26833
+ * @param query 除 a_bogus 之外的完整查询串(未加 `?`,保持实际发送顺序)
26834
+ * @param userAgent 与请求头一致的 UA
26835
+ * @returns a_bogus 参数值(未做 URL 编码)
26836
+ */
26837
+ declare const aBogus: (query: string, userAgent: string) => string;
26838
+ //#endregion
26839
+ //#region src/platform/douyin/passport/cookieJar.d.ts
26840
+ /**
26841
+ * 登录流程用的轻量 CookieJar
26842
+ *
26843
+ * 登录过程会跨 `www.douyin.com` / `login.douyin.com` / `ttwid.bytedance.com` 三个域,
26844
+ * 且同一个 cookie 名会被多次下发(例如 `ttwid` 在换取可信指纹后会被替换、
26845
+ * `sessionid` 在二次验证通过后会被升级)。这里只做一件事:**按下发顺序覆盖同名 cookie**,
26846
+ * 保证最终拿到的永远是最后一次下发的值,同时正确处理服务端的删除指令。
26847
+ *
26848
+ * 不做域/路径隔离:整个登录流程都在抖音自己的域下,隔离反而会漏掉跨子域下发的凭证。
26849
+ *
26850
+ * 另外承载一小部分**本地会话状态**(见 `INTERNAL_PREFIX`):passport 的几个接口对外是
26851
+ * 无状态的,会话全靠 cookie 串在调用之间传递,而 bd-ticket-guard 需要在多次调用之间
26852
+ * 记住自己生成的密钥与服务端签发的票据。这些条目以 `__amagi_` 开头,
26853
+ * `toString()` 不会把它们放进 Cookie 请求头,只有 `serialize()` 才会带上。
26854
+ */
26855
+ /** 本地会话状态的 cookie 名前缀,这些条目永远不会发给服务端 */
26856
+ declare const INTERNAL_PREFIX = "__amagi_";
26857
+ declare class CookieJar {
26858
+ /** Map 保留插入顺序,重复 set 只更新值、不改变位置 */
26859
+ private readonly cookies;
26860
+ /**
26861
+ * @param initial 初始 cookie 串,形如 `a=1; b=2`
26862
+ */
26863
+ constructor(initial?: string);
26864
+ /** 当前持有的 cookie 数量 */
26865
+ get size(): number;
26866
+ /**
26867
+ * 写入一条 cookie
26868
+ * @param name cookie 名
26869
+ * @param value cookie 值
26870
+ */
26871
+ set(name: string, value: string): this;
26872
+ /**
26873
+ * 读取一条 cookie
26874
+ * @param name cookie 名
26875
+ */
26876
+ get(name: string): string | undefined;
26877
+ /**
26878
+ * 是否持有某条 cookie
26879
+ * @param name cookie 名
26880
+ */
26881
+ has(name: string): boolean;
26882
+ /**
26883
+ * 合并一段 `name=value; name=value` 形式的 cookie 串
26884
+ * @param cookieString cookie 串,空值直接忽略
26885
+ */
26886
+ merge(cookieString?: string | null): this;
26887
+ /**
26888
+ * 应用响应的 Set-Cookie 头
26889
+ * @param setCookies 单条或多条 Set-Cookie 原始值
26890
+ */
26891
+ applySetCookie(setCookies?: string | string[] | null): this;
26892
+ /**
26893
+ * 是否已经拿到登录态凭证(`ttwid` 是匿名设备指纹,不算登录)
26894
+ */
26895
+ isLoggedIn(): boolean;
26896
+ /** 序列化为可直接放进 Cookie 请求头的字符串,不含本地会话状态 */
26897
+ toString(): string;
26898
+ /**
26899
+ * 序列化为在两次调用之间传递的会话串,包含本地会话状态
26900
+ *
26901
+ * 登录流程内部用这个;最终落库的登录凭证用 `toString()`,避免把本地密钥写进配置。
26902
+ */
26903
+ serialize(): string;
26904
+ /** 导出为普通对象,便于断言与日志 */
26905
+ toJSON(): Record<string, string>;
26906
+ }
26907
+ //#endregion
26908
+ //#region src/platform/douyin/passport/ticketGuard.d.ts
26909
+ /** 一次登录会话持有的 ticket-guard 状态 */
26910
+ interface TicketGuardState {
26911
+ /** 服务端签发的票据 */
26912
+ ticket: string;
26913
+ /** 票据的时间戳签名 */
26914
+ tsSign: string;
26915
+ /** ECDH 派生出的 HMAC 密钥 */
26916
+ ecdhKey: Buffer;
26917
+ }
26918
+ /**
26919
+ * bd-ticket-guard 会话
26920
+ *
26921
+ * 状态全部读写自传入的 CookieJar,因此与 passport 的无状态调用形态天然兼容。
26922
+ */
26923
+ declare class TicketGuard {
26924
+ private readonly jar;
26925
+ /**
26926
+ * @param jar 当前会话 cookie
26927
+ */
26928
+ constructor(jar: CookieJar);
26929
+ /** 本会话的私钥,缺失时生成一把并写回 CookieJar */
26930
+ private get privateKey();
26931
+ /** 未压缩格式的公钥(base64),即 `bd-ticket-guard-ree-public-key` */
26932
+ get reePublicKey(): string;
26933
+ /** 已签发的票据,未签发时为 undefined */
26934
+ get state(): TicketGuardState | undefined;
26935
+ /**
26936
+ * 在首个 passport 请求之前把公钥交给服务端
26937
+ *
26938
+ * 缺了这一步扫码依然能成功,但服务端不会签发票据,后续请求也就无从携带。
26939
+ */
26940
+ publishPublicKey(): void;
26941
+ /**
26942
+ * 消化响应里可能带回的票据签发结果
26943
+ * @param headers 响应头
26944
+ * @returns 是否收到了新票据
26945
+ */
26946
+ applyServerData(headers: Record<string, unknown>): boolean;
26947
+ /**
26948
+ * 生成本次请求的 bd-ticket-guard 请求头
26949
+ *
26950
+ * 尚未拿到票据时只声明公钥,让服务端有机会签发;拿到之后带完整签名。
26951
+ * @param path 请求路径,不含 query
26952
+ * @param timestamp 秒级时间戳,默认取当前
26953
+ */
26954
+ headers(path: string, timestamp?: number): Record<string, string>;
26955
+ /**
26956
+ * ECDH + HKDF-SHA256 派生 HMAC 密钥
26957
+ * @param clientCert 服务端下发的证书或裸公钥
26958
+ */
26959
+ private deriveEcdhKey;
26960
+ }
26961
+ //#endregion
26962
+ //#region src/platform/douyin/passport/client.d.ts
26963
+ /** 与签名里的浏览器环境保持一致的 UA */
26964
+ declare const PASSPORT_USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36";
26965
+ /** passport 接口的通用响应形状 */
26966
+ interface PassportPayload {
26967
+ message?: string;
26968
+ error_code?: number;
26969
+ description?: string;
26970
+ data?: Record<string, unknown>;
26971
+ }
26972
+ interface PassportResponse<T = PassportPayload> {
26973
+ /** HTTP 状态码 */
26974
+ status: number;
26975
+ /** 原始响应体 */
26976
+ raw: string;
26977
+ /** 解析后的 JSON,解析失败时为空对象 */
26978
+ body: T;
26979
+ /** 合并了本次 Set-Cookie 之后的完整 cookie 串 */
26980
+ cookie: string;
26981
+ }
26982
+ declare class DouyinPassportClient {
26983
+ private readonly requestConfig?;
26984
+ /** 会话 cookie */
26985
+ readonly cookies: CookieJar;
26986
+ /** bd-ticket-guard 设备票据,状态随 cookie 一起流转 */
26987
+ readonly ticketGuard: TicketGuard;
26988
+ /**
26989
+ * @param cookie 已有的会话 cookie 串
26990
+ * @param requestConfig amagi 的请求配置(代理、超时、额外请求头)
26991
+ */
26992
+ constructor(cookie?: string, requestConfig?: RequestConfig | undefined);
26993
+ /** CSRF token:优先用服务端下发的,缺失时本地生成并同步写进 cookie(双提交校验) */
26994
+ private get csrfToken();
26995
+ /**
26996
+ * 初始化登录环境指纹
26997
+ *
26998
+ * 依次请求抖音首页拿 `__ac_nonce`、再向 ttwid 服务注册拿 `ttwid`。两步都是匿名的,
26999
+ * 任意机器、任意系统都能跑;失败不抛错,只会让后续更容易命中风控。
27000
+ */
27001
+ bootstrap(): Promise<void>;
27002
+ /**
27003
+ * 请求 login.douyin.com 的 passport 接口(四重签名 + a_bogus 形态)
27004
+ * @param path 接口路径,如 `/passport/web/get_qrcode/`
27005
+ * @param params 业务参数,并入 query
27006
+ */
27007
+ request<T extends PassportPayload = PassportPayload>(path: string, params?: Record<string, string | number>): Promise<PassportResponse<T>>;
27008
+ /**
27009
+ * 请求 www.douyin.com 的验证页接口(lite 形态:固定 query + 表单 body,无签名)
27010
+ * @param path 接口路径,如 `/passport/web/send_code/`
27011
+ * @param params 业务参数,进 body
27012
+ * @param bizTraceId 业务追踪 ID,同一次验证流程内保持一致
27013
+ */
27014
+ liteRequest<T extends PassportPayload = PassportPayload>(path: string, params: Record<string, string>, bizTraceId: string): Promise<PassportResponse<T>>;
27015
+ /**
27016
+ * 跟随扫码确认后下发的 SSO 跳转链,把最终的登录凭证收进 CookieJar
27017
+ * @param redirectUrl `check_qrconnect` 返回的 redirect_url
27018
+ * @returns 是否拿到登录态 cookie
27019
+ */
27020
+ followSsoRedirect(redirectUrl: string): Promise<boolean>;
27021
+ /** 实际发请求:合并 cookie、消化 Set-Cookie 与 msToken */
27022
+ private send;
27023
+ }
27024
+ //#endregion
27025
+ //#region src/platform/douyin/passport/params.d.ts
27026
+ /**
27027
+ * 逐字节异或 5 后转十六进制,SDK 用它编码参数名列表、验证码与密码
27028
+ * @param input 明文
27029
+ */
27030
+ declare const xor5Hex: (input: string) => string;
27031
+ /** 随机十六进制串,用于 biz_trace_id 一类的追踪 ID */
27032
+ declare const randomHex: (length: number) => string;
27033
+ /** 当日 UTC 12:00 的秒级时间戳,aid-sign 以此为密钥基准 */
27034
+ declare const utcNoonTimestamp: (now?: Date) => number;
27035
+ /**
27036
+ * 计算 sign 与 qs
27037
+ * @param params query 参数(仅排序后的前 10 个参与签名)
27038
+ * @param data body 参数,GET 请求传空对象
27039
+ */
27040
+ declare const makeSignAndQs: (params: Record<string, unknown>, data?: Record<string, unknown>) => {
27041
+ sign: string;
27042
+ qs: string;
27043
+ };
27044
+ /**
27045
+ * 计算 `x-tt-passport-aid-sign` 请求头
27046
+ * @param urlPath 接口路径,如 `/passport/web/get_qrcode/`
27047
+ * @param timestamp 当日 UTC 正午时间戳(秒),默认取当前
27048
+ */
27049
+ declare const makeAidSign: (urlPath: string, timestamp?: number) => string;
27050
+ //#endregion
27051
+ //#region src/platform/douyin/passport/types.d.ts
27052
+ /** 二维码信息,`get_qrcode` 的解析结果 */
27053
+ interface QrcodeInfo {
27054
+ /** 轮询用的二维码令牌 */
27055
+ token: string;
27056
+ /** 二维码承载的内容,优先用它渲染,缺失时回退到 token */
27057
+ content: string;
27058
+ /**
27059
+ * 二维码过期时间,服务端给的是**绝对 Unix 时间戳(秒)**而非时长
27060
+ *
27061
+ * 实测二维码只有约 60 秒有效期,调用方应据此设置扫码等待上限。
27062
+ */
27063
+ expireTime: number;
27064
+ }
27065
+ /** 二次验证上下文 */
27066
+ type VerifyContext = DyPassportVerifyContext;
27067
+ /** 单个验证方式 */
27068
+ type VerifyWay = DyPassportVerifyWay;
27069
+ /** 一次轮询的结果 */
27070
+ type PollResult = DyPassportPollResult;
27071
+ /** 发送短信验证码的结果 */
27072
+ type SendCodeResult = DyPassportSendCodeResult;
27073
+ /** 提交短信验证码的结果 */
27074
+ type ValidateCodeResult = DyPassportValidateCodeResult;
27075
+ //#endregion
27076
+ //#region src/platform/douyin/passport/parser.d.ts
27077
+ /**
27078
+ * 解析 `get_qrcode` 响应
27079
+ * @param payload 服务端响应体
27080
+ * @returns 二维码信息,缺少 token 时返回 null
27081
+ */
27082
+ declare const parseQrcode: (payload: PassportPayload) => QrcodeInfo | null;
27083
+ /**
27084
+ * 解析 `check_qrconnect` 响应为状态机可消费的结果
27085
+ * @param payload 服务端响应体
27086
+ */
27087
+ declare const parsePollResult: (payload: PassportPayload) => PollResult;
27088
+ /**
27089
+ * 解析 `send_code` 响应
27090
+ * @param payload 服务端响应体
27091
+ */
27092
+ declare const parseSendCodeResult: (payload: PassportPayload) => SendCodeResult;
27093
+ /**
27094
+ * 解析 `validate_code` 响应
27095
+ * @param payload 服务端响应体
27096
+ */
27097
+ declare const parseValidateCodeResult: (payload: PassportPayload) => ValidateCodeResult;
27098
+ //#endregion
27099
+ //#region src/platform/douyin/passport/sm3.d.ts
27100
+ /**
27101
+ * SM3 摘要(GM/T 0004-2012),抖音 bdms 签名链使用的变体
27102
+ *
27103
+ * 与标准实现的唯一差异:字符串按 `charCodeAt` 逐字符取字节(非 UTF-8 编码),
27104
+ * 与浏览器里 bdms 的 `strToBytes` 行为一致。签名输入均为 ASCII,实际不会踩到多字节分支,
27105
+ * 但仍保留该分支以保证与浏览器实现逐位一致。
27106
+ */
27107
+ /**
27108
+ * 计算 SM3 摘要
27109
+ * @param message 待摘要的字符串或字节数组
27110
+ * @returns 32 字节摘要
27111
+ */
27112
+ declare const sm3: (message: string | number[]) => number[];
27113
+ /**
27114
+ * 连续两次 SM3(bdms 对 URL 与盐值的处理方式)
27115
+ * @param message 待摘要的字符串或字节数组
27116
+ * @returns 32 字节摘要
27117
+ */
27118
+ declare const sm3Twice: (message: string | number[]) => number[];
27119
+ /**
27120
+ * 十六进制摘要,仅用于测试与排查
27121
+ * @param message 待摘要的字符串或字节数组
27122
+ */
27123
+ declare const sm3Hex: (message: string | number[]) => string;
27124
+ declare namespace index_d_exports {
27125
+ export { BDMS_SDK_VERSION, CookieJar, DouyinPassportClient, INTERNAL_PREFIX, PASSPORT_USER_AGENT, PassportPayload, PassportResponse, PollResult, QrcodeInfo, SendCodeResult, TicketGuard, TicketGuardState, ValidateCodeResult, VerifyContext, VerifyWay, aBogus, makeAidSign, makeSignAndQs, parsePollResult, parseQrcode, parseSendCodeResult, parseValidateCodeResult, randomHex, sm3, sm3Hex, sm3Twice, utcNoonTimestamp, xor5Hex };
27126
+ }
27127
+ //#endregion
27128
+ //#region src/model/fetchers/douyin/auth.d.ts
27129
+ /**
27130
+ * 判断某个验证方式能否用短信验证码流程完成
27131
+ * @param verifyWay 服务端下发的 verify_way
27132
+ */
27133
+ declare const isSmsCodeVerifyWay: (verifyWay: string) => boolean;
27134
+ /**
27135
+ * 以下四个别名对应 `DouyinReturnTypeMap` 里的 passport 条目,保留是为了让调用方
27136
+ * 能按 `Douyin<接口名>` 的习惯直接引用,定义本身只有 ReturnDataType 那一份。
27137
+ */
27138
+ /** 登录二维码 */
27139
+ type DouyinPassportQrcode = DouyinReturnTypeMap['passportQrcode'];
27140
+ /** 二维码状态 */
27141
+ type DouyinPassportQrcodeStatus = DouyinReturnTypeMap['passportQrcodeStatus'];
27142
+ /** 发送短信验证码的结果 */
27143
+ type DouyinPassportSendCode = DouyinReturnTypeMap['passportSendCode'];
27144
+ /** 提交短信验证码的结果 */
27145
+ type DouyinPassportValidateCode = DouyinReturnTypeMap['passportValidateCode'];
27146
+ /** 二维码状态查询参数 */
27147
+ interface DouyinPassportQrcodeStatusOptions extends BaseRequestOptions {
27148
+ /** `requestPassportQrcode` 返回的令牌 */
27149
+ token: string;
27150
+ }
27151
+ /** 发送短信验证码参数 */
27152
+ interface DouyinPassportSendCodeOptions extends BaseRequestOptions {
27153
+ /** 轮询返回 `status: 'verify'` 时给出的验证上下文 */
27154
+ verify: VerifyContext;
27155
+ /** 追踪 ID,不传则自动生成 */
27156
+ biz_trace_id?: string;
27157
+ /**
27158
+ * 本次使用的验证方式
27159
+ *
27160
+ * 不传则从 `verify.verifyWays` 里自动挑一个能收验证码的。服务端对不同账号会给出
27161
+ * 不同的取值(如 `mobile_sms_verify` 或辅助验证的 `assist_mobile_sms_verify`),
27162
+ * 必须原样回传,写死会导致验证失败。
27163
+ */
27164
+ verify_way?: string;
27165
+ }
27166
+ /** 提交短信验证码参数 */
27167
+ interface DouyinPassportValidateCodeOptions extends DouyinPassportSendCodeOptions {
27168
+ /** 用户收到的 6 位验证码明文 */
27169
+ code: string;
27170
+ }
27171
+ /**
27172
+ * 申请抖音扫码登录二维码
27173
+ *
27174
+ * 首次调用会自动完成环境指纹初始化(`__ac_nonce` + `ttwid`),无需额外准备。
27175
+ * @param options - 请求选项 (可选)
27176
+ * @param cookie - 已有的会话 Cookie (可选,续用同一会话时传入)
27177
+ * @param requestConfig - 请求配置 (可选)
27178
+ * @returns 二维码令牌、内容与会话 cookie
27179
+ * @example
27180
+ * ```typescript
27181
+ * const qrcode = await requestPassportQrcode()
27182
+ * console.log(qrcode.data.content) // 拿去生成二维码图片
27183
+ * ```
27184
+ */
27185
+ declare function requestPassportQrcode<M extends TypeMode = 'loose'>(options?: {
27186
+ typeMode?: M;
27187
+ }, cookie?: string, requestConfig?: RequestConfig): Promise<Result<ConditionalReturnType<DouyinReturnTypeMap['passportQrcode'], M>>>;
27188
+ /**
27189
+ * 查询抖音扫码登录二维码的状态
27190
+ *
27191
+ * 状态为 `confirmed` 时会自动跟随 SSO 跳转领取登录凭证,返回的 `cookie` 即完整登录态。
27192
+ * @param options - 二维码状态参数
27193
+ * @param options.token - `requestPassportQrcode` 返回的令牌
27194
+ * @param cookie - 会话 Cookie,必须是申请二维码时返回的那一份
27195
+ * @param requestConfig - 请求配置 (可选)
27196
+ * @returns 扫码状态与最新会话 cookie
27197
+ * @example
27198
+ * ```typescript
27199
+ * const status = await checkPassportQrcode({ token }, cookie)
27200
+ * // new 未扫码 / scanned 已扫待确认 / verify 需二次验证 / confirmed 登录成功 / expired 已过期
27201
+ * console.log(status.data.status)
27202
+ * ```
27203
+ */
27204
+ declare function checkPassportQrcode<M extends TypeMode = 'loose'>(options: DouyinPassportQrcodeStatusOptions & {
27205
+ typeMode?: M;
27206
+ }, cookie?: string, requestConfig?: RequestConfig): Promise<Result<ConditionalReturnType<DouyinReturnTypeMap['passportQrcodeStatus'], M>>>;
27207
+ /**
27208
+ * 向账号绑定手机发送二次验证短信验证码
27209
+ *
27210
+ * 用于轮询返回 `status: 'verify'`(即 `error_code=2046` / `account_flow=verify`)的场景。
27211
+ * @param options - 发码参数
27212
+ * @param options.verify - 轮询返回的验证上下文
27213
+ * @param options.biz_trace_id - 追踪 ID (可选,不传自动生成)
27214
+ * @param cookie - 会话 Cookie
27215
+ * @param requestConfig - 请求配置 (可选)
27216
+ * @returns 脱敏手机号、重发等待秒数与追踪 ID
27217
+ */
27218
+ declare function sendPassportVerifyCode<M extends TypeMode = 'loose'>(options: DouyinPassportSendCodeOptions & {
27219
+ typeMode?: M;
27220
+ }, cookie?: string, requestConfig?: RequestConfig): Promise<Result<ConditionalReturnType<DouyinReturnTypeMap['passportSendCode'], M>>>;
27221
+ /**
27222
+ * 提交二次验证的短信验证码
27223
+ * @param options - 验码参数
27224
+ * @param options.verify - 轮询返回的验证上下文
27225
+ * @param options.code - 用户收到的 6 位验证码明文
27226
+ * @param options.biz_trace_id - 必须与发码时用的是同一个
27227
+ * @param cookie - 会话 Cookie
27228
+ * @param requestConfig - 请求配置 (可选)
27229
+ * @returns 验证结果;`wrongCode` 为 true 表示验证码填错,可以让用户重试
27230
+ */
27231
+ declare function validatePassportVerifyCode<M extends TypeMode = 'loose'>(options: DouyinPassportValidateCodeOptions & {
27232
+ typeMode?: M;
27233
+ }, cookie?: string, requestConfig?: RequestConfig): Promise<Result<ConditionalReturnType<DouyinReturnTypeMap['passportValidateCode'], M>>>;
27234
+ //#endregion
26764
27235
  //#region src/model/fetchers/douyin/types.d.ts
26765
27236
  /** 抖音作品请求参数 */
26766
27237
  interface DouyinWorkOptions extends BaseRequestOptions {
@@ -26916,6 +27387,28 @@ interface IDouyinFetcher {
26916
27387
  * 申请抖音登录二维码
26917
27388
  */
26918
27389
  requestLoginQrcode: MethodOverload<DouyinQrcodeOptions, DouyinReturnTypeMap['loginQrcode']>;
27390
+ /**
27391
+ * 申请抖音 passport 扫码登录二维码
27392
+ *
27393
+ * 与 `requestLoginQrcode`(旧的 sso.douyin.com 形态)不同,这一套能走完整的登录流程:
27394
+ * 取码 → 轮询 → 二次验证 → 下发登录 cookie。
27395
+ *
27396
+ * 登录是有会话的:返回的 `cookie` 需要在后续调用中原样传回,因此这几个方法只在
27397
+ * `douyinFetcher` 上提供,不进绑定了固定 cookie 的 `BoundDouyinFetcher`。
27398
+ */
27399
+ requestPassportQrcode: NoParamMethodOverload<DouyinReturnTypeMap['passportQrcode']>;
27400
+ /**
27401
+ * 查询 passport 扫码登录二维码的状态
27402
+ */
27403
+ checkPassportQrcode: MethodOverload<DouyinPassportQrcodeStatusOptions, DouyinReturnTypeMap['passportQrcodeStatus']>;
27404
+ /**
27405
+ * 向账号绑定手机发送二次验证短信验证码
27406
+ */
27407
+ sendPassportVerifyCode: MethodOverload<DouyinPassportSendCodeOptions, DouyinReturnTypeMap['passportSendCode']>;
27408
+ /**
27409
+ * 提交二次验证的短信验证码
27410
+ */
27411
+ validatePassportVerifyCode: MethodOverload<DouyinPassportValidateCodeOptions, DouyinReturnTypeMap['passportValidateCode']>;
26919
27412
  /**
26920
27413
  * 获取抖音表情列表
26921
27414
  */
@@ -27284,13 +27777,6 @@ interface IBoundBilibiliFetcher {
27284
27777
  fetchUploaderTotalViews: BoundMethodOverload<BilibiliUserOptions, BilibiliReturnTypeMap['uploaderTotalViews']>;
27285
27778
  /** 获取B站动态详情 */
27286
27779
  fetchDynamicDetail: BoundMethodOverload<BilibiliDynamicOptions, BilibiliReturnTypeMap['dynamicDetail']>;
27287
- /**
27288
- * 获取B站动态卡片信息
27289
- * @deprecated v6.1.3 已废弃,B站官方已于 `2025-08-09` 删除原 `dynamic_svr` 接口。
27290
- * 调用将返回错误信息
27291
- * 计划于 v7.0.0 移除。
27292
- */
27293
- fetchDynamicCard: BoundMethodOverload<BilibiliDynamicOptions, BilibiliReturnTypeMap['dynamicCard']>;
27294
27780
  /** 获取B站番剧基本信息 */
27295
27781
  fetchBangumiInfo: BoundMethodOverload<BilibiliBangumiInfoOptions, BilibiliReturnTypeMap['bangumiInfo']>;
27296
27782
  /** 获取B站番剧视频流地址 */
@@ -27774,16 +28260,22 @@ type RequestConfig = Omit<AxiosRequestConfig, 'url' | 'method' | 'data'>;
27774
28260
  * Cookie配置选项接口
27775
28261
  */
27776
28262
  type CookieConfig = {
27777
- /** 抖音Cookie */douyin?: string; /** B站Cookie */
27778
- bilibili?: string; /** 快手Cookie */
27779
- kuaishou?: string; /** 小红书Cookie */
28263
+ /** 抖音Cookie */
28264
+ douyin?: string;
28265
+ /** B站Cookie */
28266
+ bilibili?: string;
28267
+ /** 快手Cookie */
28268
+ kuaishou?: string;
28269
+ /** 小红书Cookie */
27780
28270
  xiaohongshu?: string;
27781
28271
  };
27782
28272
  /**
27783
28273
  * 客户端配置选项接口
27784
28274
  */
27785
28275
  type Options = {
27786
- /** Cookie配置 */cookies?: CookieConfig; /** 请求配置 */
28276
+ /** Cookie配置 */
28277
+ cookies?: CookieConfig;
28278
+ /** 请求配置 */
27787
28279
  request?: Omit<AxiosRequestConfig, 'url' | 'method' | 'data'>;
27788
28280
  };
27789
28281
  /**
@@ -27792,23 +28284,25 @@ type Options = {
27792
28284
  * @returns 包含数据获取方法、服务器启动方法、绑定Cookie的平台工具集和API对象的对象
27793
28285
  */
27794
28286
  declare const createAmagiClient: (options?: Options) => {
27795
- /** 启动本地HTTP服务 */startServer: (port?: number) => express.Application; /** 事件系统 */
28287
+ /** 启动本地HTTP服务 */
28288
+ startServer: (port?: number) => express.Application;
28289
+ /** 事件系统 */
27796
28290
  events: {
27797
28291
  emit<K extends AmagiEventType>(event: K, data: AmagiEventMap[K]): boolean;
27798
- on<K extends AmagiEventType>(event: K, listener: (data: AmagiEventMap[K]) => void): /*elided*/any;
27799
- once<K extends AmagiEventType>(event: K, listener: (data: AmagiEventMap[K]) => void): /*elided*/any;
27800
- off<K extends AmagiEventType>(event: K, listener: (data: AmagiEventMap[K]) => void): /*elided*/any;
28292
+ on<K extends AmagiEventType>(event: K, listener: (data: AmagiEventMap[K]) => void): /*elided*/ any;
28293
+ once<K extends AmagiEventType>(event: K, listener: (data: AmagiEventMap[K]) => void): /*elided*/ any;
28294
+ off<K extends AmagiEventType>(event: K, listener: (data: AmagiEventMap[K]) => void): /*elided*/ any;
27801
28295
  [EventEmitter.captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: any[]): void;
27802
- addListener<K>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/any;
27803
- removeListener<K>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/any;
27804
- removeAllListeners(eventName?: string | symbol | undefined): /*elided*/any;
27805
- setMaxListeners(n: number): /*elided*/any;
28296
+ addListener<K>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/ any;
28297
+ removeListener<K>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/ any;
28298
+ removeAllListeners(eventName?: string | symbol | undefined): /*elided*/ any;
28299
+ setMaxListeners(n: number): /*elided*/ any;
27806
28300
  getMaxListeners(): number;
27807
28301
  listeners<K>(eventName: string | symbol): Function[];
27808
28302
  rawListeners<K>(eventName: string | symbol): Function[];
27809
28303
  listenerCount<K>(eventName: string | symbol, listener?: Function | undefined): number;
27810
- prependListener<K>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/any;
27811
- prependOnceListener<K>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/any;
28304
+ prependListener<K>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/ any;
28305
+ prependOnceListener<K>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/ any;
27812
28306
  eventNames(): (string | symbol)[];
27813
28307
  };
27814
28308
  /**
@@ -27818,20 +28312,20 @@ declare const createAmagiClient: (options?: Options) => {
27818
28312
  */
27819
28313
  on: <K extends AmagiEventType>(event: K, listener: (data: AmagiEventMap[K]) => void) => {
27820
28314
  emit<K_1 extends AmagiEventType>(event: K_1, data: AmagiEventMap[K_1]): boolean;
27821
- on<K_1 extends AmagiEventType>(event: K_1, listener: (data: AmagiEventMap[K_1]) => void): /*elided*/any;
27822
- once<K_1 extends AmagiEventType>(event: K_1, listener: (data: AmagiEventMap[K_1]) => void): /*elided*/any;
27823
- off<K_1 extends AmagiEventType>(event: K_1, listener: (data: AmagiEventMap[K_1]) => void): /*elided*/any;
28315
+ on<K_1 extends AmagiEventType>(event: K_1, listener: (data: AmagiEventMap[K_1]) => void): /*elided*/ any;
28316
+ once<K_1 extends AmagiEventType>(event: K_1, listener: (data: AmagiEventMap[K_1]) => void): /*elided*/ any;
28317
+ off<K_1 extends AmagiEventType>(event: K_1, listener: (data: AmagiEventMap[K_1]) => void): /*elided*/ any;
27824
28318
  [EventEmitter.captureRejectionSymbol]?<K_1>(error: Error, event: string | symbol, ...args: any[]): void;
27825
- addListener<K_1>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/any;
27826
- removeListener<K_1>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/any;
27827
- removeAllListeners(eventName?: string | symbol | undefined): /*elided*/any;
27828
- setMaxListeners(n: number): /*elided*/any;
28319
+ addListener<K_1>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/ any;
28320
+ removeListener<K_1>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/ any;
28321
+ removeAllListeners(eventName?: string | symbol | undefined): /*elided*/ any;
28322
+ setMaxListeners(n: number): /*elided*/ any;
27829
28323
  getMaxListeners(): number;
27830
28324
  listeners<K_1>(eventName: string | symbol): Function[];
27831
28325
  rawListeners<K_1>(eventName: string | symbol): Function[];
27832
28326
  listenerCount<K_1>(eventName: string | symbol, listener?: Function | undefined): number;
27833
- prependListener<K_1>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/any;
27834
- prependOnceListener<K_1>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/any;
28327
+ prependListener<K_1>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/ any;
28328
+ prependOnceListener<K_1>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/ any;
27835
28329
  eventNames(): (string | symbol)[];
27836
28330
  };
27837
28331
  /**
@@ -27841,81 +28335,31 @@ declare const createAmagiClient: (options?: Options) => {
27841
28335
  */
27842
28336
  once: <K extends AmagiEventType>(event: K, listener: (data: AmagiEventMap[K]) => void) => {
27843
28337
  emit<K_1 extends AmagiEventType>(event: K_1, data: AmagiEventMap[K_1]): boolean;
27844
- on<K_1 extends AmagiEventType>(event: K_1, listener: (data: AmagiEventMap[K_1]) => void): /*elided*/any;
27845
- once<K_1 extends AmagiEventType>(event: K_1, listener: (data: AmagiEventMap[K_1]) => void): /*elided*/any;
27846
- off<K_1 extends AmagiEventType>(event: K_1, listener: (data: AmagiEventMap[K_1]) => void): /*elided*/any;
28338
+ on<K_1 extends AmagiEventType>(event: K_1, listener: (data: AmagiEventMap[K_1]) => void): /*elided*/ any;
28339
+ once<K_1 extends AmagiEventType>(event: K_1, listener: (data: AmagiEventMap[K_1]) => void): /*elided*/ any;
28340
+ off<K_1 extends AmagiEventType>(event: K_1, listener: (data: AmagiEventMap[K_1]) => void): /*elided*/ any;
27847
28341
  [EventEmitter.captureRejectionSymbol]?<K_1>(error: Error, event: string | symbol, ...args: any[]): void;
27848
- addListener<K_1>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/any;
27849
- removeListener<K_1>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/any;
27850
- removeAllListeners(eventName?: string | symbol | undefined): /*elided*/any;
27851
- setMaxListeners(n: number): /*elided*/any;
28342
+ addListener<K_1>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/ any;
28343
+ removeListener<K_1>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/ any;
28344
+ removeAllListeners(eventName?: string | symbol | undefined): /*elided*/ any;
28345
+ setMaxListeners(n: number): /*elided*/ any;
27852
28346
  getMaxListeners(): number;
27853
28347
  listeners<K_1>(eventName: string | symbol): Function[];
27854
28348
  rawListeners<K_1>(eventName: string | symbol): Function[];
27855
28349
  listenerCount<K_1>(eventName: string | symbol, listener?: Function | undefined): number;
27856
- prependListener<K_1>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/any;
27857
- prependOnceListener<K_1>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/any;
28350
+ prependListener<K_1>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/ any;
28351
+ prependOnceListener<K_1>(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/ any;
27858
28352
  eventNames(): (string | symbol)[];
27859
- }; /** @deprecated v6 已废弃,请使用 douyin.fetcher 替代 */
27860
- getDouyinData: (..._args: any[]) => never; /** @deprecated v6 已废弃,请使用 bilibili.fetcher 替代 */
27861
- getBilibiliData: (..._args: any[]) => never; /** @deprecated v6 已废弃,请使用 kuaishou.fetcher 替代 */
27862
- getKuaishouData: (..._args: any[]) => never; /** @deprecated v6 已废弃,请使用 xiaohongshu.fetcher 替代 */
27863
- getXiaohongshuData: (..._args: any[]) => never;
28353
+ };
27864
28354
  douyin: {
27865
- /** @deprecated 请使用 fetcher 替代 */api: {
27866
- getSearchData: (..._args: any[]) => never;
27867
- getTextWorkInfo: (..._args: any[]) => never;
27868
- getWorkInfo: (..._args: any[]) => never;
27869
- getVideoWorkInfo: (..._args: any[]) => never;
27870
- getImageAlbumWorkInfo: (..._args: any[]) => never;
27871
- getSlidesWorkInfo: (..._args: any[]) => never;
27872
- getComments: (..._args: any[]) => never;
27873
- getCommentReplies: (..._args: any[]) => never;
27874
- getUserProfile: (..._args: any[]) => never;
27875
- getEmojiList: (..._args: any[]) => never;
27876
- getEmojiProList: (..._args: any[]) => never;
27877
- getUserVideos: (..._args: any[]) => never;
27878
- getMusicInfo: (..._args: any[]) => never;
27879
- getSuggestWords: (..._args: any[]) => never;
27880
- search: (..._args: any[]) => never;
27881
- getLiveRoomInfo: (..._args: any[]) => never;
27882
- getDanmaku: (..._args: any[]) => never;
27883
- invoke: (..._args: any[]) => never;
27884
- }; /** fetcher */
28355
+ /** fetcher */
27885
28356
  fetcher: IBoundDouyinFetcher;
27886
28357
  sign: typeof douyinSign;
28358
+ passport: typeof index_d_exports;
27887
28359
  douyinApiUrls: typeof douyinApiUrls;
27888
28360
  };
27889
28361
  bilibili: {
27890
- /** @deprecated 请使用 fetcher 替代 */api: {
27891
- getVideoInfo: (..._args: any[]) => never;
27892
- getVideoStream: (..._args: any[]) => never;
27893
- getComments: (..._args: any[]) => never;
27894
- getCommentReply: (..._args: any[]) => never;
27895
- getUserProfile: (..._args: any[]) => never;
27896
- getUserDynamic: (..._args: any[]) => never;
27897
- getEmojiList: (..._args: any[]) => never;
27898
- getBangumiInfo: (..._args: any[]) => never;
27899
- getBangumiStream: (..._args: any[]) => never;
27900
- getDynamicInfo: (..._args: any[]) => never;
27901
- getDynamicCard: (..._args: any[]) => never;
27902
- getLiveRoomDetail: (..._args: any[]) => never;
27903
- getLiveRoomInitInfo: (..._args: any[]) => never;
27904
- getLoginBasicInfo: (..._args: any[]) => never;
27905
- getLoginQrcode: (..._args: any[]) => never;
27906
- checkQrcodeStatus: (..._args: any[]) => never;
27907
- getUserTotalPlayCount: (..._args: any[]) => never;
27908
- convertAvToBv: (..._args: any[]) => never;
27909
- convertBvToAv: (..._args: any[]) => never;
27910
- getArticleContent: (..._args: any[]) => never;
27911
- getArticleCard: (..._args: any[]) => never;
27912
- getArticleInfo: (..._args: any[]) => never;
27913
- getColumnInfo: (..._args: any[]) => never;
27914
- getUserProfileDetail: (..._args: any[]) => never;
27915
- applyVoucherCaptcha: (..._args: any[]) => never;
27916
- validateCaptcha: (..._args: any[]) => never;
27917
- getDanmaku: (..._args: any[]) => never;
27918
- }; /** fetcher */
28362
+ /** fetcher */
27919
28363
  fetcher: IBoundBilibiliFetcher;
27920
28364
  sign: {
27921
28365
  wbi_sign: typeof wbi_sign;
@@ -27928,108 +28372,19 @@ declare const createAmagiClient: (options?: Options) => {
27928
28372
  bilibiliApiUrls: typeof bilibiliApiUrls;
27929
28373
  };
27930
28374
  kuaishou: {
27931
- /** @deprecated 请使用 fetcher 替代 */api: {
27932
- getWorkInfo: (..._args: any[]) => never;
27933
- getComments: (..._args: any[]) => never;
27934
- getUserProfile: (..._args: any[]) => never;
27935
- getUserWorkList: (..._args: any[]) => never;
27936
- getLiveRoomInfo: (..._args: any[]) => never;
27937
- getEmojiList: (..._args: any[]) => never;
27938
- }; /** fetcher */
28375
+ /** fetcher */
27939
28376
  fetcher: IBoundKuaishouFetcher;
27940
28377
  sign: typeof kuaishouSign;
27941
28378
  kuaishouApiUrls: typeof kuaishouApiUrls;
27942
28379
  };
27943
28380
  xiaohongshu: {
27944
- /** @deprecated 请使用 fetcher 替代 */api: {
27945
- getHomeFeed: (..._args: any[]) => never;
27946
- getNote: (..._args: any[]) => never;
27947
- getComments: (..._args: any[]) => never;
27948
- getUser: (..._args: any[]) => never;
27949
- getUserNotes: (..._args: any[]) => never;
27950
- getSearchNotes: (..._args: any[]) => never;
27951
- getEmojiList: (..._args: any[]) => never;
27952
- }; /** fetcher */
28381
+ /** fetcher */
27953
28382
  fetcher: IBoundXiaohongshuFetcher;
27954
28383
  sign: typeof xiaohongshuSign;
27955
28384
  xiaohongshuApiUrls: typeof xiaohongshuApiUrls;
27956
28385
  };
27957
28386
  };
27958
28387
  //#endregion
27959
- //#region src/platform/bilibili/BilibiliApi.d.ts
27960
- /**
27961
- * B站相关 API 的命名空间。
27962
- *
27963
- * @deprecated v6 已废弃,请使用 bilibiliFetcher 或 client.bilibili.fetcher 替代
27964
- */
27965
- declare const bilibili: {
27966
- /** @deprecated 请使用 bilibiliFetcher.fetchVideoInfo 替代 */getVideoInfo: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchVideoStreamUrl 替代 */
27967
- getVideoStream: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchComments 替代 */
27968
- getComments: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchCommentReplies 替代 */
27969
- getCommentReply: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchUserCard 替代 */
27970
- getUserProfile: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchUserDynamicList 替代 */
27971
- getUserDynamic: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchEmojiList 替代 */
27972
- getEmojiList: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchBangumiInfo 替代 */
27973
- getBangumiInfo: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchBangumiStreamUrl 替代 */
27974
- getBangumiStream: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchDynamicDetail 替代 */
27975
- getDynamicInfo: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchDynamicCard 替代 */
27976
- getDynamicCard: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchLiveRoomInfo 替代 */
27977
- getLiveRoomDetail: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchLiveRoomInitInfo 替代 */
27978
- getLiveRoomInitInfo: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchLoginStatus 替代 */
27979
- getLoginBasicInfo: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.requestLoginQrcode 替代 */
27980
- getLoginQrcode: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.checkQrcodeStatus 替代 */
27981
- checkQrcodeStatus: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchUploaderTotalViews 替代 */
27982
- getUserTotalPlayCount: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.convertAvToBv 替代 */
27983
- convertAvToBv: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.convertBvToAv 替代 */
27984
- convertBvToAv: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchArticleContent 替代 */
27985
- getArticleContent: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchArticleCards 替代 */
27986
- getArticleCard: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchArticleInfo 替代 */
27987
- getArticleInfo: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchArticleListInfo 替代 */
27988
- getColumnInfo: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchUserSpaceInfo 替代 */
27989
- getUserProfileDetail: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.requestCaptchaFromVoucher 替代 */
27990
- applyVoucherCaptcha: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.validateCaptchaResult 替代 */
27991
- validateCaptcha: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchVideoDanmaku 替代 */
27992
- getDanmaku: (..._args: any[]) => never;
27993
- };
27994
- /**
27995
- * 创建绑定了cookie的B站API对象
27996
- *
27997
- * @deprecated v6 已废弃,请使用 createBoundBilibiliFetcher 替代
27998
- */
27999
- declare const createBoundBilibiliApi: (_cookie: string, _requestConfig: RequestConfig) => {
28000
- /** @deprecated 请使用 bilibiliFetcher.fetchVideoInfo 替代 */getVideoInfo: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchVideoStreamUrl 替代 */
28001
- getVideoStream: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchComments 替代 */
28002
- getComments: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchCommentReplies 替代 */
28003
- getCommentReply: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchUserCard 替代 */
28004
- getUserProfile: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchUserDynamicList 替代 */
28005
- getUserDynamic: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchEmojiList 替代 */
28006
- getEmojiList: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchBangumiInfo 替代 */
28007
- getBangumiInfo: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchBangumiStreamUrl 替代 */
28008
- getBangumiStream: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchDynamicDetail 替代 */
28009
- getDynamicInfo: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchDynamicCard 替代 */
28010
- getDynamicCard: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchLiveRoomInfo 替代 */
28011
- getLiveRoomDetail: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchLiveRoomInitInfo 替代 */
28012
- getLiveRoomInitInfo: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchLoginStatus 替代 */
28013
- getLoginBasicInfo: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.requestLoginQrcode 替代 */
28014
- getLoginQrcode: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.checkQrcodeStatus 替代 */
28015
- checkQrcodeStatus: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchUploaderTotalViews 替代 */
28016
- getUserTotalPlayCount: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.convertAvToBv 替代 */
28017
- convertAvToBv: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.convertBvToAv 替代 */
28018
- convertBvToAv: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchArticleContent 替代 */
28019
- getArticleContent: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchArticleCards 替代 */
28020
- getArticleCard: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchArticleInfo 替代 */
28021
- getArticleInfo: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchArticleListInfo 替代 */
28022
- getColumnInfo: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchUserSpaceInfo 替代 */
28023
- getUserProfileDetail: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.requestCaptchaFromVoucher 替代 */
28024
- applyVoucherCaptcha: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.validateCaptchaResult 替代 */
28025
- validateCaptcha: (..._args: any[]) => never; /** @deprecated 请使用 bilibiliFetcher.fetchVideoDanmaku 替代 */
28026
- getDanmaku: (..._args: any[]) => never;
28027
- };
28028
- /**
28029
- * 绑定cookie的B站API对象类型
28030
- */
28031
- type BoundBilibiliApi = ReturnType<typeof createBoundBilibiliApi>;
28032
- //#endregion
28033
28388
  //#region src/platform/bilibili/getdata.d.ts
28034
28389
  /**
28035
28390
  * 哔哩哔哩API官方HTTP请求错误码
@@ -28120,25 +28475,22 @@ declare const createBilibiliRoutes: (cookie: string, requestConfig?: RequestConf
28120
28475
  //#endregion
28121
28476
  //#region src/platform/bilibili/index.d.ts
28122
28477
  type bilibiliUtilsModel = {
28123
- /** 签名算法相关 */sign: {
28124
- /** WBI签名算法 */wbi_sign: typeof wbi_sign; /** AV号转BV号 */
28125
- av2bv: typeof av2bv; /** BV号转AV号 */
28478
+ /** 签名算法相关 */
28479
+ sign: {
28480
+ /** WBI签名算法 */
28481
+ wbi_sign: typeof wbi_sign;
28482
+ /** AV号转BV号 */
28483
+ av2bv: typeof av2bv;
28484
+ /** BV号转AV号 */
28126
28485
  bv2av: typeof bv2av;
28127
- }; /** 弹幕解析相关 */
28486
+ };
28487
+ /** 弹幕解析相关 */
28128
28488
  danmaku: {
28129
- /** 解析弹幕 protobuf 数据 */parseDmSegMobileReply: typeof parseDmSegMobileReply;
28130
- }; /** 该类下的所有方法只会返回拼接好参数后的 Url 地址,需要手动请求该地址以获取数据 */
28489
+ /** 解析弹幕 protobuf 数据 */
28490
+ parseDmSegMobileReply: typeof parseDmSegMobileReply;
28491
+ };
28492
+ /** 该类下的所有方法只会返回拼接好参数后的 Url 地址,需要手动请求该地址以获取数据 */
28131
28493
  bilibiliApiUrls: typeof bilibiliApiUrls;
28132
- /**
28133
- * B站相关 API 的命名空间。
28134
- *
28135
- * 部分接口可能不需要 Cookie 但建议传递有效的用户 Cookie,以获取更多数据。
28136
- *
28137
- * 提供了一系列方法,用于与B站相关的 API 进行交互。
28138
- *
28139
- * 每个方法都接受参数和 Cookie,返回 Promise,解析为接口返回的原始数据。
28140
- */
28141
- api: typeof bilibili;
28142
28494
  };
28143
28495
  /** B站相关功能模块 (工具集) */
28144
28496
  declare const bilibiliUtils: bilibiliUtilsModel;
@@ -28169,7 +28521,7 @@ declare class douyinSign {
28169
28521
  //#endregion
28170
28522
  //#region src/platform/douyin/API.d.ts
28171
28523
  /** 去除 methodType 字段后的参数类型 */
28172
- type DouyinMethodOptionsWithoutMethodType = { [K in keyof DouyinDataOptionsMap]: OmitMethodType<DouyinDataOptionsMap[K]['opt']> };
28524
+ type DouyinMethodOptionsWithoutMethodType = { [K in keyof DouyinDataOptionsMap]: OmitMethodType<DouyinDataOptionsMap[K]['opt']>; };
28173
28525
  /**
28174
28526
  * 抖音 API URL 构建类
28175
28527
  *
@@ -28222,70 +28574,9 @@ declare class DouyinAPI {
28222
28574
  /** 获取弹幕数据 */
28223
28575
  getDanmakuList(data: DouyinMethodOptionsWithoutMethodType['danmakuList']): string;
28224
28576
  }
28225
- /**
28226
- * 创建 DouyinAPI 实例的工厂函数
28227
- *
28228
- * @param userAgent - 用户代理字符串
28229
- * @returns DouyinAPI 实例
28230
- */
28231
28577
  /** 默认的 DouyinAPI 实例(使用默认浏览器版本 125.0.0.0) */
28232
28578
  declare const douyinApiUrls: DouyinAPI;
28233
28579
  //#endregion
28234
- //#region src/platform/douyin/DouyinApi.d.ts
28235
- /**
28236
- * 封装了所有抖音相关的API请求,采用对象化的方式组织。
28237
- *
28238
- * @deprecated v6 已废弃,请使用 douyinFetcher 或 client.douyin.fetcher 替代
28239
- */
28240
- declare const douyin: {
28241
- /** @deprecated 请使用 douyinFetcher.fetchTextWork 替代 */getTextWorkInfo: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.parseWork 替代 */
28242
- getWorkInfo: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchVideoWork 替代 */
28243
- getVideoWorkInfo: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchImageAlbumWork 替代 */
28244
- getImageAlbumWorkInfo: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchSlidesWork 替代 */
28245
- getSlidesWorkInfo: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchComments 替代 */
28246
- getComments: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchCommentReplies 替代 */
28247
- getCommentReplies: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchUserProfile 替代 */
28248
- getUserProfile: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchEmojiList 替代 */
28249
- getEmojiList: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchDynamicEmojiList 替代 */
28250
- getEmojiProList: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchUserVideoList 替代 */
28251
- getUserVideos: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchMusicInfo 替代 */
28252
- getMusicInfo: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchSuggestWords 替代 */
28253
- getSuggestWords: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.searchContent 替代 */
28254
- search: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchLiveRoomInfo 替代 */
28255
- getLiveRoomInfo: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchDanmakuList 替代 */
28256
- getDanmaku: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher 的具体方法替代 */
28257
- invoke: (..._args: any[]) => never;
28258
- };
28259
- /**
28260
- * 创建绑定了cookie的抖音API对象
28261
- *
28262
- * @deprecated v6 已废弃,请使用 createBoundDouyinFetcher 替代
28263
- */
28264
- declare const createBoundDouyinApi: (_cookie: string, _requestConfig: RequestConfig) => {
28265
- getSearchData: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchTextWork 替代 */
28266
- getTextWorkInfo: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.parseWork 替代 */
28267
- getWorkInfo: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchVideoWork 替代 */
28268
- getVideoWorkInfo: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchImageAlbumWork 替代 */
28269
- getImageAlbumWorkInfo: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchSlidesWork 替代 */
28270
- getSlidesWorkInfo: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchComments 替代 */
28271
- getComments: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchCommentReplies 替代 */
28272
- getCommentReplies: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchUserProfile 替代 */
28273
- getUserProfile: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchEmojiList 替代 */
28274
- getEmojiList: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchDynamicEmojiList 替代 */
28275
- getEmojiProList: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchUserVideoList 替代 */
28276
- getUserVideos: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchMusicInfo 替代 */
28277
- getMusicInfo: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchSuggestWords 替代 */
28278
- getSuggestWords: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.searchContent 替代 */
28279
- search: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchLiveRoomInfo 替代 */
28280
- getLiveRoomInfo: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher.fetchDanmakuList 替代 */
28281
- getDanmaku: (..._args: any[]) => never; /** @deprecated 请使用 douyinFetcher 的具体方法替代 */
28282
- invoke: (..._args: any[]) => never;
28283
- };
28284
- /**
28285
- * 绑定cookie的抖音API对象类型
28286
- */
28287
- type BoundDouyinApi = ReturnType<typeof createBoundDouyinApi>;
28288
- //#endregion
28289
28580
  //#region src/platform/douyin/routes.d.ts
28290
28581
  /**
28291
28582
  * 创建抖音路由
@@ -28297,21 +28588,21 @@ declare const createDouyinRoutes: (cookie: string, requestConfig?: RequestConfig
28297
28588
  //#endregion
28298
28589
  //#region src/platform/douyin/index.d.ts
28299
28590
  type douyinUtilsModel = {
28300
- /** 签名算法相关 */sign: typeof douyinSign;
28591
+ /** 签名算法相关 */
28592
+ sign: typeof douyinSign;
28301
28593
  /**
28302
- * 该类下的所有方法只会返回拼接好参数后的 Url 地址,需要手动请求该地址以获取数据
28594
+ * passport 扫码登录协议(签名、CookieJar、响应解析)
28303
28595
  *
28304
- * 缺少 `a_bougs` 参数,请自行生成拼接
28596
+ * 日常调用请优先用 `douyinFetcher` 上的 `requestPassportQrcode` 等方法,
28597
+ * 这里暴露的是底层构件,便于自行编排或做单元测试。
28305
28598
  */
28306
- douyinApiUrls: typeof douyinApiUrls;
28599
+ passport: typeof index_d_exports;
28307
28600
  /**
28308
- * 封装了所有抖音相关的API请求,采用对象化的方式组织。
28309
- *
28310
- * 提供了一系列方法,用于与抖音相关的 API 进行交互。
28601
+ * 该类下的所有方法只会返回拼接好参数后的 Url 地址,需要手动请求该地址以获取数据
28311
28602
  *
28312
- * 每个方法都接受参数和 Cookie,返回 Promise,解析为接口返回的原始数据。
28603
+ * 缺少 `a_bougs` 参数,请自行生成拼接
28313
28604
  */
28314
- api: typeof douyin;
28605
+ douyinApiUrls: typeof douyinApiUrls;
28315
28606
  };
28316
28607
  /** 抖音相关功能模块 (工具集) */
28317
28608
  declare const douyinUtils: douyinUtilsModel;
@@ -28320,7 +28611,7 @@ declare const douyinUtils: douyinUtilsModel;
28320
28611
  /**
28321
28612
  * 根据 KuaishouMethodOptionsMap 创建一个新的类型,去除每个字段中的 methodType
28322
28613
  */
28323
- type KuaishouMethodOptionsWithoutMethodType = { [K in keyof KuaishouMethodOptionsMap]: OmitMethodType<KuaishouMethodOptionsMap[K]> };
28614
+ type KuaishouMethodOptionsWithoutMethodType = { [K in keyof KuaishouMethodOptionsMap]: OmitMethodType<KuaishouMethodOptionsMap[K]>; };
28324
28615
  type KuaishouUserProfileListRequest = KuaishouMethodOptionsWithoutMethodType['UserProfileParams'] | KuaishouMethodOptionsWithoutMethodType['UserWorkListParams'];
28325
28616
  type KuaishouBaseApiRequest = {
28326
28617
  type: string;
@@ -28598,38 +28889,6 @@ declare class kuaishouSign {
28598
28889
  static signLiveApiRequest(request: KuaishouLiveApiRequest, cookie?: string): KuaishouLiveApiSignature;
28599
28890
  }
28600
28891
  //#endregion
28601
- //#region src/platform/kuaishou/KuaishouApi.d.ts
28602
- /**
28603
- * 快手相关 API 的命名空间。
28604
- *
28605
- * @deprecated v6 已废弃,请使用 kuaishouFetcher 或 client.kuaishou.fetcher 替代
28606
- */
28607
- declare const kuaishou: {
28608
- /** @deprecated 请使用 kuaishouFetcher.fetchVideoWork 替代 */getWorkInfo: (..._args: any[]) => never; /** @deprecated 请使用 kuaishouFetcher.fetchWorkComments 替代 */
28609
- getComments: (..._args: any[]) => never; /** @deprecated 请使用 kuaishouFetcher.fetchUserProfile 替代 */
28610
- getUserProfile: (..._args: any[]) => never; /** @deprecated 请使用 kuaishouFetcher.fetchUserWorkList 替代 */
28611
- getUserWorkList: (..._args: any[]) => never; /** @deprecated 请使用 kuaishouFetcher.fetchLiveRoomInfo 替代 */
28612
- getLiveRoomInfo: (..._args: any[]) => never; /** @deprecated 请使用 kuaishouFetcher.fetchEmojiList 替代 */
28613
- getEmojiList: (..._args: any[]) => never;
28614
- };
28615
- /**
28616
- * 创建绑定了cookie的快手API对象
28617
- *
28618
- * @deprecated v6 已废弃,请使用 createBoundKuaishouFetcher 替代
28619
- */
28620
- declare const createBoundKuaishouApi: (_cookie: string, _requestConfig: RequestConfig) => {
28621
- /** @deprecated 请使用 kuaishouFetcher.fetchVideoWork 替代 */getWorkInfo: (..._args: any[]) => never; /** @deprecated 请使用 kuaishouFetcher.fetchWorkComments 替代 */
28622
- getComments: (..._args: any[]) => never; /** @deprecated 请使用 kuaishouFetcher.fetchUserProfile 替代 */
28623
- getUserProfile: (..._args: any[]) => never; /** @deprecated 请使用 kuaishouFetcher.fetchUserWorkList 替代 */
28624
- getUserWorkList: (..._args: any[]) => never; /** @deprecated 请使用 kuaishouFetcher.fetchLiveRoomInfo 替代 */
28625
- getLiveRoomInfo: (..._args: any[]) => never; /** @deprecated 请使用 kuaishouFetcher.fetchEmojiList 替代 */
28626
- getEmojiList: (..._args: any[]) => never;
28627
- };
28628
- /**
28629
- * 绑定cookie的快手API对象类型
28630
- */
28631
- type BoundKuaishouApi = ReturnType<typeof createBoundKuaishouApi>;
28632
- //#endregion
28633
28892
  //#region src/platform/kuaishou/routes.d.ts
28634
28893
  /**
28635
28894
  * 创建快手路由
@@ -28641,16 +28900,10 @@ declare const createKuaishouRoutes: (cookie: string, requestConfig?: RequestConf
28641
28900
  //#endregion
28642
28901
  //#region src/platform/kuaishou/index.d.ts
28643
28902
  type kuaishouUtilsModel = {
28644
- /** 签名算法相关 */sign: typeof kuaishouSign; /** 该类下的方法只会返回请求描述对象,需要手动请求对应地址以获取数据 */
28903
+ /** 签名算法相关 */
28904
+ sign: typeof kuaishouSign;
28905
+ /** 该类下的方法只会返回请求描述对象,需要手动请求对应地址以获取数据 */
28645
28906
  kuaishouApiUrls: typeof kuaishouApiUrls;
28646
- /**
28647
- * 封装了所有快手相关的API请求,采用对象化的方式组织。
28648
- *
28649
- * 提供了一系列方法,用于与快手相关的 API 进行交互。
28650
- *
28651
- * 每个方法都接受参数和 Cookie,返回 Promise,解析为接口返回的原始数据。
28652
- */
28653
- api: typeof kuaishou;
28654
28907
  };
28655
28908
  /** 快手相关功能模块 (工具集) */
28656
28909
  declare const kuaishouUtils: kuaishouUtilsModel;
@@ -28714,40 +28967,6 @@ declare class xiaohongshuSign {
28714
28967
  static getSearchId: () => string;
28715
28968
  }
28716
28969
  //#endregion
28717
- //#region src/platform/xiaohongshu/XiaohongshuApi.d.ts
28718
- /**
28719
- * 封装了所有小红书相关的API请求,采用对象化的方式组织。
28720
- *
28721
- * @deprecated v6 已废弃,请使用 xiaohongshuFetcher 或 client.xiaohongshu.fetcher 替代
28722
- */
28723
- declare const xiaohongshu: {
28724
- /** @deprecated 请使用 xiaohongshuFetcher.fetchHomeFeed 替代 */getHomeFeed: (..._args: any[]) => never; /** @deprecated 请使用 xiaohongshuFetcher.fetchNoteDetail 替代 */
28725
- getNote: (..._args: any[]) => never; /** @deprecated 请使用 xiaohongshuFetcher.fetchNoteComments 替代 */
28726
- getComments: (..._args: any[]) => never; /** @deprecated 请使用 xiaohongshuFetcher.fetchUserProfile 替代 */
28727
- getUser: (..._args: any[]) => never; /** @deprecated 请使用 xiaohongshuFetcher.fetchUserNoteList 替代 */
28728
- getUserNotes: (..._args: any[]) => never; /** @deprecated 请使用 xiaohongshuFetcher.searchNotes 替代 */
28729
- getSearchNotes: (..._args: any[]) => never; /** @deprecated 请使用 xiaohongshuFetcher.fetchEmojiList 替代 */
28730
- getEmojiList: (..._args: any[]) => never;
28731
- };
28732
- /**
28733
- * 创建绑定了cookie的小红书API对象
28734
- *
28735
- * @deprecated v6 已废弃,请使用 createBoundXiaohongshuFetcher 替代
28736
- */
28737
- declare const createBoundXiaohongshuApi: (_cookie: string, _requestConfig: RequestConfig) => {
28738
- /** @deprecated 请使用 xiaohongshuFetcher.fetchHomeFeed 替代 */getHomeFeed: (..._args: any[]) => never; /** @deprecated 请使用 xiaohongshuFetcher.fetchNoteDetail 替代 */
28739
- getNote: (..._args: any[]) => never; /** @deprecated 请使用 xiaohongshuFetcher.fetchNoteComments 替代 */
28740
- getComments: (..._args: any[]) => never; /** @deprecated 请使用 xiaohongshuFetcher.fetchUserProfile 替代 */
28741
- getUser: (..._args: any[]) => never; /** @deprecated 请使用 xiaohongshuFetcher.fetchUserNoteList 替代 */
28742
- getUserNotes: (..._args: any[]) => never; /** @deprecated 请使用 xiaohongshuFetcher.searchNotes 替代 */
28743
- getSearchNotes: (..._args: any[]) => never; /** @deprecated 请使用 xiaohongshuFetcher.fetchEmojiList 替代 */
28744
- getEmojiList: (..._args: any[]) => never;
28745
- };
28746
- /**
28747
- * 绑定cookie的小红书API对象类型
28748
- */
28749
- type BoundXiaohongshuApi = ReturnType<typeof createBoundXiaohongshuApi>;
28750
- //#endregion
28751
28970
  //#region src/platform/xiaohongshu/routes.d.ts
28752
28971
  /**
28753
28972
  * 创建小红书路由
@@ -28759,88 +28978,16 @@ declare const createXiaohongshuRoutes: (cookie: string, requestConfig?: RequestC
28759
28978
  //#endregion
28760
28979
  //#region src/platform/xiaohongshu/index.d.ts
28761
28980
  type xiaohongshuUtilsModel = {
28762
- /** 签名算法相关 */sign: typeof xiaohongshuSign;
28981
+ /** 签名算法相关 */
28982
+ sign: typeof xiaohongshuSign;
28763
28983
  /**
28764
28984
  * 该类下的所有方法只会返回拼接好参数后的 Url 地址,需要手动请求该地址以获取数据
28765
28985
  */
28766
28986
  xiaohongshuApiUrls: typeof xiaohongshuApiUrls;
28767
- /**
28768
- * 封装了所有小红书相关的API请求,采用对象化的方式组织。
28769
- *
28770
- * 提供了一系列方法,用于与小红书相关的 API 进行交互。
28771
- *
28772
- * 每个方法都接受参数和 Cookie,返回 Promise,解析为接口返回的原始数据。
28773
- */
28774
- api: typeof xiaohongshu;
28775
28987
  };
28776
28988
  /** 小红书相关功能模块 (工具集) */
28777
28989
  declare const xiaohongshuUtils: xiaohongshuUtilsModel;
28778
28990
  //#endregion
28779
- //#region src/model/DataFetchers.d.ts
28780
- /**
28781
- * 获取抖音数据
28782
- *
28783
- * @deprecated v6 已废弃,请使用 douyinFetcher 或 client.douyin.fetcher 替代
28784
- * @throws {DeprecatedApiError} 调用时抛出废弃错误
28785
- *
28786
- * @example
28787
- * ```typescript
28788
- * // 旧用法 (已废弃,会抛出错误)
28789
- * const data = await getDouyinData('videoWork', { aweme_id: '123' }, cookie)
28790
- *
28791
- * // 新用法
28792
- * import { douyinFetcher } from '@ikenxuan/amagi'
28793
- * const data = await douyinFetcher.fetchVideoWork({ aweme_id: '123' }, cookie)
28794
- *
28795
- * // 或使用客户端实例
28796
- * const client = createAmagiClient({ cookies: { douyin: cookie } })
28797
- * const data = await client.douyin.fetcher.fetchVideoWork({ aweme_id: '123' })
28798
- * ```
28799
- */
28800
- declare function getDouyinData(..._args: any[]): never;
28801
- /**
28802
- * 获取B站数据
28803
- *
28804
- * @deprecated v6 已废弃,请使用 bilibiliFetcher 或 client.bilibili.fetcher 替代
28805
- * @throws {DeprecatedApiError} 调用时抛出废弃错误
28806
- *
28807
- * @example
28808
- * ```typescript
28809
- * // 旧用法 (已废弃,会抛出错误)
28810
- * const data = await getBilibiliData('videoInfo', { bvid: 'BV123' }, cookie)
28811
- *
28812
- * // 新用法
28813
- * import { bilibiliFetcher } from '@ikenxuan/amagi'
28814
- * const data = await bilibiliFetcher.fetchVideoInfo({ bvid: 'BV123' }, cookie)
28815
- *
28816
- * // 或使用客户端实例
28817
- * const client = createAmagiClient({ cookies: { bilibili: cookie } })
28818
- * const data = await client.bilibili.fetcher.fetchVideoInfo({ bvid: 'BV123' })
28819
- * ```
28820
- */
28821
- declare function getBilibiliData(..._args: any[]): never;
28822
- /**
28823
- * 获取快手数据
28824
- *
28825
- * @deprecated v6 已废弃,请使用 kuaishouFetcher 或 client.kuaishou.fetcher 替代
28826
- * @throws {DeprecatedApiError} 调用时抛出废弃错误
28827
- *
28828
- * @example
28829
- * ```typescript
28830
- * // 旧用法 (已废弃,会抛出错误)
28831
- * const data = await getKuaishouData('videoWork', { photoId: '123' }, cookie)
28832
- *
28833
- * // 新用法
28834
- * import { kuaishouFetcher } from '@ikenxuan/amagi'
28835
- * const data = await kuaishouFetcher.fetchVideoWork({ photoId: '123' }, cookie)
28836
- *
28837
- * // 或使用客户端实例
28838
- * const client = createAmagiClient({ cookies: { kuaishou: cookie } })
28839
- * const data = await client.kuaishou.fetcher.fetchVideoWork({ photoId: '123' })
28840
- * ```
28841
- */
28842
- declare function getKuaishouData(..._args: any[]): never;
28843
- //#endregion
28844
28991
  //#region src/utils/errors.d.ts
28845
28992
  /**
28846
28993
  * API错误类
@@ -28935,49 +29082,6 @@ declare const getHeadersAndData: <T = any>(config: AxiosRequestConfig, maxRetrie
28935
29082
  data: T;
28936
29083
  } | ErrorResult>;
28937
29084
  //#endregion
28938
- //#region src/model/logger.d.ts
28939
- /**
28940
- * @deprecated v6 已废弃,请使用事件系统替代
28941
- * 初始化 logger 配置 - 此函数现在为空操作
28942
- */
28943
- declare const initLogger: () => void;
28944
- /**
28945
- * @deprecated v6 已废弃,请使用事件系统替代
28946
- * 简化的日志类,仅发射事件,不再依赖 log4js
28947
- */
28948
- declare class SimpleLogger {
28949
- chalk: ChalkInstance;
28950
- red: (text: string) => string;
28951
- green: (text: string) => string;
28952
- yellow: (text: string) => string;
28953
- blue: (text: string) => string;
28954
- magenta: (text: string) => string;
28955
- cyan: (text: string) => string;
28956
- white: (text: string) => string;
28957
- gray: (text: string) => string;
28958
- constructor();
28959
- info(message: any, ...args: any[]): void;
28960
- warn(message: any, ...args: any[]): void;
28961
- error(message: any, ...args: any[]): void;
28962
- mark(message: any, ...args: any[]): void;
28963
- debug(message: any, ...args: any[]): void;
28964
- }
28965
- /**
28966
- * @deprecated v6 已废弃,请使用事件系统替代
28967
- */
28968
- declare const logger: SimpleLogger;
28969
- /**
28970
- * @deprecated v6 已废弃,请使用事件系统替代
28971
- */
28972
- declare const httpLogger: SimpleLogger;
28973
- /**
28974
- * @deprecated v6 已废弃,请使用事件系统监听 http:response 事件
28975
- * 创建一个日志中间件,用于记录特定请求的详细信息
28976
- * @param pathsToLog 指定需要记录日志的请求路径数组如果未提供,则记录所有请求的日志
28977
- * @returns
28978
- */
28979
- declare const logMiddleware: (pathsToLog?: string[]) => express.RequestHandler;
28980
- //#endregion
28981
29085
  //#region src/types/api-spec.d.ts
28982
29086
  /**
28983
29087
  * Amagi v6 API 规范定义
@@ -29049,7 +29153,6 @@ declare const BilibiliMethodMapping: {
29049
29153
  readonly 用户空间详细信息: "fetchUserSpaceInfo";
29050
29154
  readonly 获取UP主总播放量: "fetchUploaderTotalViews";
29051
29155
  readonly 动态详情数据: "fetchDynamicDetail";
29052
- readonly 动态卡片数据: "fetchDynamicCard";
29053
29156
  readonly 番剧基本信息数据: "fetchBangumiInfo";
29054
29157
  readonly 番剧下载信息数据: "fetchBangumiStreamUrl";
29055
29158
  readonly 直播间信息: "fetchLiveRoomInfo";
@@ -29135,7 +29238,6 @@ declare const BilibiliApiRoutes: {
29135
29238
  readonly userSpaceInfo: "/user/space";
29136
29239
  readonly uploaderTotalViews: "/user/total-views";
29137
29240
  readonly dynamicDetail: "/dynamic";
29138
- readonly dynamicCard: "/dynamic/card";
29139
29241
  readonly bangumiInfo: "/bangumi";
29140
29242
  readonly bangumiStream: "/bangumi/stream";
29141
29243
  readonly liveRoomInfo: "/live";
@@ -29186,39 +29288,21 @@ declare function getEnglishMethodName<T extends Platform>(platform: T, chineseMe
29186
29288
  declare function getApiRoute<T extends Platform>(platform: T, methodType: string): string | undefined;
29187
29289
  //#endregion
29188
29290
  //#region src/index.d.ts
29189
- /**
29190
- * @deprecated 请使用 createAmagiClient 替代
29191
- */
29192
- declare const amagiClient: typeof createAmagiClient;
29193
29291
  /** amagi 的构造函数类型 */
29194
29292
  type AmagiConstructor = {
29195
29293
  new (options?: Options): ReturnType<typeof createAmagiClient>;
29196
- (options?: Options): ReturnType<typeof createAmagiClient>; /** 当前版本号 */
29197
- readonly version: string; /** 抖音相关功能模块 (工具集) */
29198
- douyin: typeof douyinUtils; /** B站相关功能模块 (工具集) */
29199
- bilibili: typeof bilibiliUtils; /** 快手相关功能模块 (工具集) */
29200
- kuaishou: typeof kuaishouUtils; /** 小红书相关功能模块 (工具集) */
29294
+ (options?: Options): ReturnType<typeof createAmagiClient>;
29295
+ /** 当前版本号 */
29296
+ readonly version: string;
29297
+ /** 抖音相关功能模块 (工具集) */
29298
+ douyin: typeof douyinUtils;
29299
+ /** B站相关功能模块 (工具集) */
29300
+ bilibili: typeof bilibiliUtils;
29301
+ /** 快手相关功能模块 (工具集) */
29302
+ kuaishou: typeof kuaishouUtils;
29303
+ /** 小红书相关功能模块 (工具集) */
29201
29304
  xiaohongshu: typeof xiaohongshuUtils;
29202
- /**
29203
- * @deprecated v6 已废弃,请使用 douyinFetcher 替代
29204
- * @throws {DeprecatedApiError} 调用时抛出废弃错误
29205
- */
29206
- getDouyinData: (...args: any[]) => never;
29207
- /**
29208
- * @deprecated v6 已废弃,请使用 bilibiliFetcher 替代
29209
- * @throws {DeprecatedApiError} 调用时抛出废弃错误
29210
- */
29211
- getBilibiliData: (...args: any[]) => never;
29212
- /**
29213
- * @deprecated v6 已废弃,请使用 kuaishouFetcher 替代
29214
- * @throws {DeprecatedApiError} 调用时抛出废弃错误
29215
- */
29216
- getKuaishouData: (...args: any[]) => never;
29217
- /**
29218
- * @deprecated v6 已废弃,请使用 xiaohongshuFetcher 替代
29219
- * @throws {DeprecatedApiError} 调用时抛出废弃错误
29220
- */
29221
- getXiaohongshuData: (...args: any[]) => never; /** 事件系统 */
29305
+ /** 事件系统 */
29222
29306
  events: typeof amagiEvents;
29223
29307
  /**
29224
29308
  * 注册事件监听器
@@ -29231,14 +29315,22 @@ type AmagiConstructor = {
29231
29315
  * @param event - 事件名称
29232
29316
  * @param listener - 事件处理函数 (只触发一次)
29233
29317
  */
29234
- once: typeof amagiEvents.once; /** B站数据获取器 (需要传递 cookie) */
29235
- bilibiliFetcher: typeof bilibiliFetcher; /** 抖音数据获取器 (需要传递 cookie) */
29236
- douyinFetcher: typeof douyinFetcher; /** 快手数据获取器 (需要传递 cookie) */
29237
- kuaishouFetcher: typeof kuaishouFetcher; /** 小红书数据获取器 (需要传递 cookie) */
29238
- xiaohongshuFetcher: typeof xiaohongshuFetcher; /** 创建绑定 cookie 的 B站 fetcher */
29239
- createBoundBilibiliFetcher: typeof createBoundBilibiliFetcher; /** 创建绑定 cookie 的抖音 fetcher */
29240
- createBoundDouyinFetcher: typeof createBoundDouyinFetcher; /** 创建绑定 cookie 的快手 fetcher */
29241
- createBoundKuaishouFetcher: typeof createBoundKuaishouFetcher; /** 创建绑定 cookie 的小红书 fetcher */
29318
+ once: typeof amagiEvents.once;
29319
+ /** B站数据获取器 (需要传递 cookie) */
29320
+ bilibiliFetcher: typeof bilibiliFetcher;
29321
+ /** 抖音数据获取器 (需要传递 cookie) */
29322
+ douyinFetcher: typeof douyinFetcher;
29323
+ /** 快手数据获取器 (需要传递 cookie) */
29324
+ kuaishouFetcher: typeof kuaishouFetcher;
29325
+ /** 小红书数据获取器 (需要传递 cookie) */
29326
+ xiaohongshuFetcher: typeof xiaohongshuFetcher;
29327
+ /** 创建绑定 cookie 的 B站 fetcher */
29328
+ createBoundBilibiliFetcher: typeof createBoundBilibiliFetcher;
29329
+ /** 创建绑定 cookie 的抖音 fetcher */
29330
+ createBoundDouyinFetcher: typeof createBoundDouyinFetcher;
29331
+ /** 创建绑定 cookie 的快手 fetcher */
29332
+ createBoundKuaishouFetcher: typeof createBoundKuaishouFetcher;
29333
+ /** 创建绑定 cookie 的小红书 fetcher */
29242
29334
  createBoundXiaohongshuFetcher: typeof createBoundXiaohongshuFetcher;
29243
29335
  };
29244
29336
  /** After instantiation, it can interact with the specified platform API to quickly obtain data. */
@@ -29246,11 +29338,5 @@ declare const CreateApp: AmagiConstructor;
29246
29338
  /** After instantiation, it can interact with the specified platform API to quickly obtain data. */
29247
29339
  declare const Client: typeof CreateApp;
29248
29340
  declare const amagi: typeof Client;
29249
- /*!
29250
- * @ikenxuan/amagi
29251
- * Copyright(c) 2023 ikenxuan
29252
- * GPL-3.0 Licensed
29253
- */
29254
29341
  //#endregion
29255
- export { APIErrorType, AdditionalType, AmagiEventMap, AmagiEventType, type AnonymousFetcherRequestConfig, type ApiEndpoint, ApiError, ApiErrorEventData, ApiResponse, ApiSuccessEventData, ArticleCard, ArticleContent, ArticleInfo, ArticleWork, BaseRequestOptions, BaseResponse, BiliAv2Bv, BiliBangumiVideoInfo, BiliBangumiVideoPlayurlIsLogin, BiliBangumiVideoPlayurlNoLogin, BiliBiliVideoPlayurlNoLogin, BiliBv2AV, BiliCheckQrcode, BiliCommentReply, BiliDynamicCard, BiliDynamicInfo, BiliDynamicInfoUnion, BiliEmojiList, BiliLiveRoomDef, BiliLiveRoomDetail, BiliNewLoginQrcode, BiliOneWork, BiliProtobufDanmaku, BiliUserDynamic, BiliUserFullView, BiliUserLiveStatus, BiliUserProfile, BiliVideoPlayurlIsLogin, BiliWorkComments, BilibiliApiRoutes, type BilibiliApplyCaptchaOptions, BilibiliApplyCaptchaParamsSchema, type BilibiliArticleCardOptions, BilibiliArticleCardParamsSchema, BilibiliArticleInfoParamsSchema, type BilibiliArticleOptions, BilibiliArticleParamsSchema, type BilibiliAv2BvOptions, BilibiliAv2BvParamsSchema, type BilibiliBangumiInfoOptions, BilibiliBangumiInfoParamsSchema, type BilibiliBangumiStreamOptions, BilibiliBangumiStreamParamsSchema, type BilibiliBv2AvOptions, BilibiliBv2AvParamsSchema, BilibiliColumnInfoParamsSchema, BilibiliCommentParamsSchema, type BilibiliCommentRepliesOptions, BilibiliCommentReplyParamsSchema, type BilibiliCommentsOptions, type BilibiliDanmakuOptions, BilibiliDanmakuParamsSchema, BilibiliDataOptions, BilibiliDataOptionsMap, type BilibiliDynamicOptions, BilibiliDynamicParamsSchema, BilibiliEmojiParamsSchema, type BilibiliFetcher, BilibiliFetcherMethodKey, BilibiliFetcherMethods, BilibiliInternalMethodKey, BilibiliInternalMethods, BilibiliLiveParamsSchema, type BilibiliLiveRoomOptions, BilibiliLoginParamsSchema, type BilibiliMethodKey, BilibiliMethodMapping, BilibiliMethodOptMap, BilibiliMethodOptionsMap, BilibiliMethodRoutes, BilibiliMethodToFetcher, BilibiliMethodType, type BilibiliMethodValue, BilibiliQrcodeParamsSchema, type BilibiliQrcodeStatusOptions, BilibiliQrcodeStatusParamsSchema, BilibiliReturnTypeMap, type BilibiliUserOptions, BilibiliUserParamsSchema, type BilibiliValidateCaptchaOptions, BilibiliValidateCaptchaParamsSchema, BilibiliValidationSchemas, BilibiliVideoDownloadParamsSchema, type BilibiliVideoInfoOptions, BilibiliVideoParamsSchema, type BilibiliVideoStreamOptions, BoundBilibiliApi, type BoundBilibiliFetcher, BoundDouyinApi, type BoundDouyinFetcher, BoundKuaishouApi, type BoundKuaishouFetcher, BoundXiaohongshuApi, type BoundXiaohongshuFetcher, ColumnInfo, CommentReply, CommentType, ConditionalReturnType, CookieConfig, CreateApp, DouyinApiRoutes, DouyinCommentParamsSchema, type DouyinCommentRepliesOptions, DouyinCommentReplyParamsSchema, type DouyinCommentsOptions, type DouyinDanmakuOptions, DouyinDanmakuParamsSchema, DouyinDataOptions, DouyinDataOptionsMap, DouyinEmojiListParamsSchema, DouyinEmojiProParamsSchema, type DouyinFetcher, DouyinFetcherMethodKey, DouyinFetcherMethods, DouyinHotWordsParamsSchema, DouyinInternalMethodKey, DouyinInternalMethods, type DouyinLiveRoomOptions, DouyinLiveRoomParamsSchema, type DouyinMethodKey, DouyinMethodMapping, DouyinMethodOptMap, DouyinMethodOptionsMap, DouyinMethodRoutes, DouyinMethodToFetcher, DouyinMethodType, type DouyinMethodValue, type DouyinMusicOptions, DouyinMusicParamsSchema, type DouyinQrcodeOptions, DouyinQrcodeParamsSchema, DouyinReturnTypeMap, type DouyinSearchOptions, DouyinSearchParamsSchema, type DouyinSuggestWordsOptions, type DouyinUserListOptions, DouyinUserListParamsSchema, type DouyinUserOptions, DouyinUserParamsSchema, DouyinValidationSchemas, type DouyinWorkOptions, DouyinWorkParamsSchema, DyDanmakuList, DyEmojiList, DyEmojiProList, DyImageAlbumWork, DyMusicWork, DySearchInfo, DySlidesWork, DySuggestWords, DyUserInfo, DyUserLiveVideos, DyUserPostVideos, DyVideoWork, DyWorkComments, DynamicType, DynamicTypeAV, DynamicTypeArticle, DynamicTypeDraw, DynamicTypeForward, DynamicTypeForwardUnion, DynamicTypeLiveRcmd, DynamicTypeWord, ErrorResult, ExtractTypeMode, FetcherConfig, type FetcherCookieForRequestConfig, type FetcherRequestConfigWithCookie, type FetcherRequestConfigWithoutCookie, HomeFeed, type HttpMethod, HttpRequestEventData, HttpResponseEventData, type IBilibiliFetcher, type IBoundBilibiliFetcher, type IBoundDouyinFetcher, type IBoundKuaishouFetcher, type IBoundXiaohongshuFetcher, type IDouyinFetcher, type IKuaishouFetcher, type IXiaohongshuFetcher, type KsBannedStatus, KsEmojiList, KsLiveRoomInfo, KsOneWork, type KsUserHomeWork, KsUserProfile, type KsUserProfileCounts, type KsUserProfileGameInfo, type KsUserProfileLiveInfo, type KsUserProfileSensitiveInfo, type KsUserProfileUserInfo, KsUserWorkList, type KsVerifiedStatus, KsWorkComments, KuaishouApiRoutes, KuaishouCommentParamsSchema, type KuaishouCommentsOptions, KuaishouDataOptions, KuaishouDataOptionsMap, KuaishouEmojiParamsSchema, type KuaishouFetcher, KuaishouFetcherMethodKey, KuaishouFetcherMethods, type KuaishouGraphqlRequest, KuaishouInternalMethodKey, KuaishouInternalMethods, type KuaishouLiveApiRequest, type KuaishouLiveRoomInfoOptions, KuaishouLiveRoomInfoParamsSchema, type KuaishouMethodKey, KuaishouMethodMapping, KuaishouMethodOptMap, KuaishouMethodOptionsMap, KuaishouMethodRoutes, KuaishouMethodToFetcher, KuaishouMethodType, type KuaishouMethodValue, KuaishouReturnTypeMap, type KuaishouUserProfileOptions, KuaishouUserProfileParamsSchema, type KuaishouUserWorkListOptions, KuaishouUserWorkListParamsSchema, KuaishouValidationSchemas, KuaishouVideoParamsSchema, type KuaishouVideoWorkOptions, LogEventData, MajorType, MethodMaps, NetworkErrorEventData, NetworkRetryEventData, type NetworksConfigType, NoteComments, OmitMethodType, OneNote, Options, type Platform, RequestConfig, Result, SearchInfoGeneralData, SearchInfoUser, SearchInfoVideo, SearchNotes, SuccessResult, TypeControl, TypeMode, ValidationError, XiaohongshuApiRoutes, type XiaohongshuCommentsOptions, XiaohongshuDataOptions, XiaohongshuDataOptionsMap, XiaohongshuEmojiList, type XiaohongshuFetcher, XiaohongshuFetcherMethodKey, XiaohongshuFetcherMethods, type XiaohongshuHomeFeedOptions, XiaohongshuInternalMethodKey, XiaohongshuInternalMethods, type XiaohongshuMethodKey, XiaohongshuMethodMapping, XiaohongshuMethodOptMap, XiaohongshuMethodOptionsMap, XiaohongshuMethodRoutes, XiaohongshuMethodToFetcher, XiaohongshuMethodType, type XiaohongshuMethodValue, type XiaohongshuNoteDetailOptions, XiaohongshuReturnTypeMap, type XiaohongshuSearchNotesOptions, type XiaohongshuUserNotesOptions, XiaohongshuUserProfile, type XiaohongshuUserProfileOptions, XiaohongshuValidationSchemas, amagi, amagiClient, amagiEvents, av2bv, bilibili, bilibiliApiUrls, bilibiliErrorCodeMap, bilibiliFetcher, bilibiliUtils, bv2av, createAmagiClient, createBilibiliRoutes, createBilibiliRoutes as registerBilibiliRoutes, createBoundBilibiliApi, createBoundBilibiliFetcher, createBoundDouyinApi, createBoundDouyinFetcher, createBoundKuaishouApi, createBoundKuaishouFetcher, createBoundXiaohongshuApi, createBoundXiaohongshuFetcher, createDouyinRoutes, createDouyinRoutes as registerDouyinRoutes, createErrorResponse, createKuaishouRoutes, createKuaishouRoutes as registerKuaishouRoutes, createSuccessResponse, createXiaohongshuRoutes, createXiaohongshuRoutes as registerXiaohongshuRoutes, Client as default, douyin, douyinApiUrls, douyinFetcher, douyinSign, douyinUtils, emitApiError, emitApiSuccess, emitHttpRequest, emitHttpResponse, emitLog, emitLogDebug, emitLogError, emitLogInfo, emitLogMark, emitLogWarn, emitNetworkError, emitNetworkRetry, fetchData, fetchResponse, getApiRoute, getBilibiliData, getDouyinData, getEnglishMethodName, getHeadersAndData, getKuaishouData, handleError, httpLogger, initLogger, isNetworkErrorResult, kuaishou, kuaishouApiUrls, kuaishouFetcher, kuaishouSign, kuaishouUtils, logMiddleware, logger, parseDmSegMobileReply, qtparam, toFetcherMethod, validateBilibiliParams, validateDouyinParams, validateKuaishouParams, validateXiaohongshuParams, wbi_sign, xiaohongshu, xiaohongshuApiUrls, xiaohongshuFetcher, xiaohongshuSign, xiaohongshuUtils };
29256
- //# sourceMappingURL=index.d.mts.map
29342
+ export { APIErrorType, AdditionalType, AmagiEventMap, AmagiEventType, type AnonymousFetcherRequestConfig, type ApiEndpoint, ApiError, ApiErrorEventData, ApiSuccessEventData, ArticleCard, ArticleContent, ArticleInfo, ArticleWork, BaseRequestOptions, BaseResponse, BiliAv2Bv, BiliBangumiVideoInfo, BiliBangumiVideoPlayurlIsLogin, BiliBangumiVideoPlayurlNoLogin, BiliBiliVideoPlayurlNoLogin, BiliBv2AV, BiliCheckQrcode, BiliCommentReply, BiliDynamicInfo, BiliDynamicInfoUnion, BiliEmojiList, BiliLiveRoomDef, BiliLiveRoomDetail, BiliNewLoginQrcode, BiliOneWork, BiliProtobufDanmaku, BiliUserDynamic, BiliUserFullView, BiliUserLiveStatus, BiliUserProfile, BiliVideoPlayurlIsLogin, BiliWorkComments, BilibiliApiRoutes, type BilibiliApplyCaptchaOptions, BilibiliApplyCaptchaParamsSchema, type BilibiliArticleCardOptions, BilibiliArticleCardParamsSchema, BilibiliArticleInfoParamsSchema, type BilibiliArticleOptions, BilibiliArticleParamsSchema, type BilibiliAv2BvOptions, BilibiliAv2BvParamsSchema, type BilibiliBangumiInfoOptions, BilibiliBangumiInfoParamsSchema, type BilibiliBangumiStreamOptions, BilibiliBangumiStreamParamsSchema, type BilibiliBv2AvOptions, BilibiliBv2AvParamsSchema, BilibiliColumnInfoParamsSchema, BilibiliCommentParamsSchema, type BilibiliCommentRepliesOptions, BilibiliCommentReplyParamsSchema, type BilibiliCommentsOptions, type BilibiliDanmakuOptions, BilibiliDanmakuParamsSchema, BilibiliDataOptions, BilibiliDataOptionsMap, type BilibiliDynamicOptions, BilibiliDynamicParamsSchema, BilibiliEmojiParamsSchema, type BilibiliFetcher, BilibiliFetcherMethodKey, BilibiliFetcherMethods, BilibiliInternalMethodKey, BilibiliInternalMethods, BilibiliLiveParamsSchema, type BilibiliLiveRoomOptions, BilibiliLoginParamsSchema, type BilibiliMethodKey, BilibiliMethodMapping, BilibiliMethodOptMap, BilibiliMethodOptionsMap, BilibiliMethodRoutes, BilibiliMethodToFetcher, BilibiliMethodType, type BilibiliMethodValue, BilibiliQrcodeParamsSchema, type BilibiliQrcodeStatusOptions, BilibiliQrcodeStatusParamsSchema, BilibiliReturnTypeMap, type BilibiliUserOptions, BilibiliUserParamsSchema, type BilibiliValidateCaptchaOptions, BilibiliValidateCaptchaParamsSchema, BilibiliValidationSchemas, BilibiliVideoDownloadParamsSchema, type BilibiliVideoInfoOptions, BilibiliVideoParamsSchema, type BilibiliVideoStreamOptions, type BoundBilibiliFetcher, type BoundDouyinFetcher, type BoundKuaishouFetcher, type BoundXiaohongshuFetcher, ColumnInfo, CommentReply, CommentType, ConditionalReturnType, CookieConfig, CreateApp, DouyinApiRoutes, DouyinCommentParamsSchema, type DouyinCommentRepliesOptions, DouyinCommentReplyParamsSchema, type DouyinCommentsOptions, type DouyinDanmakuOptions, DouyinDanmakuParamsSchema, DouyinDataOptions, DouyinDataOptionsMap, DouyinEmojiListParamsSchema, DouyinEmojiProParamsSchema, type DouyinFetcher, DouyinFetcherMethodKey, DouyinFetcherMethods, DouyinHotWordsParamsSchema, DouyinInternalMethodKey, DouyinInternalMethods, type DouyinLiveRoomOptions, DouyinLiveRoomParamsSchema, type DouyinMethodKey, DouyinMethodMapping, DouyinMethodOptMap, DouyinMethodOptionsMap, DouyinMethodRoutes, DouyinMethodToFetcher, DouyinMethodType, type DouyinMethodValue, type DouyinMusicOptions, DouyinMusicParamsSchema, type PollResult as DouyinPassportPollResult, type DouyinPassportQrcode, type QrcodeInfo as DouyinPassportQrcodeInfo, type DouyinPassportQrcodeStatus, type DouyinPassportQrcodeStatusOptions, type DouyinPassportSendCode, type DouyinPassportSendCodeOptions, type SendCodeResult as DouyinPassportSendCodeResult, type DouyinPassportValidateCode, type DouyinPassportValidateCodeOptions, type ValidateCodeResult as DouyinPassportValidateCodeResult, type VerifyContext as DouyinPassportVerifyContext, type VerifyWay as DouyinPassportVerifyWay, type DouyinQrcodeOptions, DouyinQrcodeParamsSchema, DouyinReturnTypeMap, type DouyinSearchOptions, DouyinSearchParamsSchema, type DouyinSuggestWordsOptions, type DouyinUserListOptions, DouyinUserListParamsSchema, type DouyinUserOptions, DouyinUserParamsSchema, DouyinValidationSchemas, type DouyinWorkOptions, DouyinWorkParamsSchema, DyDanmakuList, DyEmojiList, DyEmojiProList, DyImageAlbumWork, DyMusicWork, DyPassportPollResult, DyPassportQrcode, DyPassportQrcodeStatus, DyPassportSendCode, DyPassportSendCodeResult, DyPassportValidateCode, DyPassportValidateCodeResult, DyPassportVerifyContext, DyPassportVerifyWay, DySearchInfo, DySlidesWork, DySuggestWords, DyUserInfo, DyUserLiveVideos, DyUserPostVideos, DyVideoWork, DyWorkComments, DynamicType, DynamicTypeAV, DynamicTypeArticle, DynamicTypeDraw, DynamicTypeForward, DynamicTypeForwardUnion, DynamicTypeLiveRcmd, DynamicTypeWord, ErrorResult, ExtractTypeMode, FetcherConfig, type FetcherCookieForRequestConfig, type FetcherRequestConfigWithCookie, type FetcherRequestConfigWithoutCookie, HomeFeed, type HttpMethod, HttpRequestEventData, HttpResponseEventData, type IBilibiliFetcher, type IBoundBilibiliFetcher, type IBoundDouyinFetcher, type IBoundKuaishouFetcher, type IBoundXiaohongshuFetcher, type IDouyinFetcher, type IKuaishouFetcher, type IXiaohongshuFetcher, type KsBannedStatus, KsEmojiList, KsLiveRoomInfo, KsOneWork, type KsUserHomeWork, KsUserProfile, type KsUserProfileCounts, type KsUserProfileGameInfo, type KsUserProfileLiveInfo, type KsUserProfileSensitiveInfo, type KsUserProfileUserInfo, KsUserWorkList, type KsVerifiedStatus, KsWorkComments, KuaishouApiRoutes, KuaishouCommentParamsSchema, type KuaishouCommentsOptions, KuaishouDataOptions, KuaishouDataOptionsMap, KuaishouEmojiParamsSchema, type KuaishouFetcher, KuaishouFetcherMethodKey, KuaishouFetcherMethods, type KuaishouGraphqlRequest, KuaishouInternalMethodKey, KuaishouInternalMethods, type KuaishouLiveApiRequest, type KuaishouLiveRoomInfoOptions, KuaishouLiveRoomInfoParamsSchema, type KuaishouMethodKey, KuaishouMethodMapping, KuaishouMethodOptMap, KuaishouMethodOptionsMap, KuaishouMethodRoutes, KuaishouMethodToFetcher, KuaishouMethodType, type KuaishouMethodValue, KuaishouReturnTypeMap, type KuaishouUserProfileOptions, KuaishouUserProfileParamsSchema, type KuaishouUserWorkListOptions, KuaishouUserWorkListParamsSchema, KuaishouValidationSchemas, KuaishouVideoParamsSchema, type KuaishouVideoWorkOptions, LogEventData, MajorType, MethodMaps, NetworkErrorEventData, NetworkRetryEventData, type NetworksConfigType, NoteComments, OmitMethodType, OneNote, Options, type Platform, RequestConfig, Result, SearchInfoGeneralData, SearchInfoUser, SearchInfoVideo, SearchNotes, SuccessResult, TypeControl, TypeMode, ValidationError, XiaohongshuApiRoutes, type XiaohongshuCommentsOptions, XiaohongshuDataOptions, XiaohongshuDataOptionsMap, XiaohongshuEmojiList, type XiaohongshuFetcher, XiaohongshuFetcherMethodKey, XiaohongshuFetcherMethods, type XiaohongshuHomeFeedOptions, XiaohongshuInternalMethodKey, XiaohongshuInternalMethods, type XiaohongshuMethodKey, XiaohongshuMethodMapping, XiaohongshuMethodOptMap, XiaohongshuMethodOptionsMap, XiaohongshuMethodRoutes, XiaohongshuMethodToFetcher, XiaohongshuMethodType, type XiaohongshuMethodValue, type XiaohongshuNoteDetailOptions, XiaohongshuReturnTypeMap, type XiaohongshuSearchNotesOptions, type XiaohongshuUserNotesOptions, XiaohongshuUserProfile, type XiaohongshuUserProfileOptions, XiaohongshuValidationSchemas, amagi, amagiEvents, av2bv, bilibiliApiUrls, bilibiliErrorCodeMap, bilibiliFetcher, bilibiliUtils, bv2av, checkPassportQrcode, createAmagiClient, createBilibiliRoutes, createBilibiliRoutes as registerBilibiliRoutes, createBoundBilibiliFetcher, createBoundDouyinFetcher, createBoundKuaishouFetcher, createBoundXiaohongshuFetcher, createDouyinRoutes, createDouyinRoutes as registerDouyinRoutes, createErrorResponse, createKuaishouRoutes, createKuaishouRoutes as registerKuaishouRoutes, createSuccessResponse, createXiaohongshuRoutes, createXiaohongshuRoutes as registerXiaohongshuRoutes, Client as default, douyinApiUrls, douyinFetcher, index_d_exports as douyinPassport, douyinSign, douyinUtils, emitApiError, emitApiSuccess, emitHttpRequest, emitHttpResponse, emitLog, emitLogDebug, emitLogError, emitLogInfo, emitLogMark, emitLogWarn, emitNetworkError, emitNetworkRetry, fetchData, fetchResponse, getApiRoute, getEnglishMethodName, getHeadersAndData, handleError, isNetworkErrorResult, isSmsCodeVerifyWay, kuaishouApiUrls, kuaishouFetcher, kuaishouSign, kuaishouUtils, parseDmSegMobileReply, qtparam, requestPassportQrcode, sendPassportVerifyCode, toFetcherMethod, validateBilibiliParams, validateDouyinParams, validateKuaishouParams, validatePassportVerifyCode, validateXiaohongshuParams, wbi_sign, xiaohongshuApiUrls, xiaohongshuFetcher, xiaohongshuSign, xiaohongshuUtils };