@ikenxuan/amagi 5.4.1 → 5.5.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.
@@ -6,6 +6,7 @@ import fs from 'fs';
6
6
  import axios, { AxiosError } from 'axios';
7
7
  import crypto from 'crypto';
8
8
  import { z } from 'zod';
9
+ import { Xhshow } from '@ikenxuan/xhshow-ts';
9
10
  import express, { Router } from 'express';
10
11
 
11
12
  /*!
@@ -340,6 +341,16 @@ var kuaishouAPIErrorCode = /* @__PURE__ */ ((kuaishouAPIErrorCode2) => {
340
341
  kuaishouAPIErrorCode2["UNKNOWN"] = "UNKNOWN_ERROR" /* UNKNOWN */;
341
342
  return kuaishouAPIErrorCode2;
342
343
  })(kuaishouAPIErrorCode || {});
344
+ var xiaohongshuAPIErrorCode = /* @__PURE__ */ ((xiaohongshuAPIErrorCode2) => {
345
+ xiaohongshuAPIErrorCode2["COOKIE"] = "INVALID_COOKIE";
346
+ xiaohongshuAPIErrorCode2["UNKNOWN"] = "UNKNOWN_ERROR" /* UNKNOWN */;
347
+ xiaohongshuAPIErrorCode2[xiaohongshuAPIErrorCode2["ILLEGAL_REQUEST"] = 500] = "ILLEGAL_REQUEST";
348
+ xiaohongshuAPIErrorCode2[xiaohongshuAPIErrorCode2["ACCOUNT_ABNORMAL"] = 300011] = "ACCOUNT_ABNORMAL";
349
+ xiaohongshuAPIErrorCode2[xiaohongshuAPIErrorCode2["NETWORK_ERROR"] = 300012] = "NETWORK_ERROR";
350
+ xiaohongshuAPIErrorCode2[xiaohongshuAPIErrorCode2["FREQUENCY_ERROR"] = 300013] = "FREQUENCY_ERROR";
351
+ xiaohongshuAPIErrorCode2[xiaohongshuAPIErrorCode2["BROWSER_ERROR"] = 300015] = "BROWSER_ERROR";
352
+ return xiaohongshuAPIErrorCode2;
353
+ })(xiaohongshuAPIErrorCode || {});
343
354
  var mixinKeyEncTab = [
344
355
  46,
345
356
  47,
@@ -531,6 +542,27 @@ var getKuaishouDefaultConfig = (cookie, requestConfig) => {
531
542
  }
532
543
  };
533
544
  };
545
+ var getXiaohongshuDefaultConfig = (cookie) => {
546
+ return {
547
+ headers: {
548
+ "accept": "application/json, text/plain, */*",
549
+ "accept-language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
550
+ "cache-control": "no-cache",
551
+ "content-type": "application/json;charset=UTF-8",
552
+ "pragma": "no-cache",
553
+ "priority": "u=1, i",
554
+ "referer": "https://www.xiaohongshu.com/",
555
+ "sec-ch-ua": '"Microsoft Edge";v="141", "Not?A_Brand";v="8", "Chromium";v="141"',
556
+ "sec-ch-ua-mobile": "?0",
557
+ "sec-ch-ua-platform": '"Windows"',
558
+ "sec-fetch-dest": "empty",
559
+ "sec-fetch-mode": "cors",
560
+ "sec-fetch-site": "same-site",
561
+ "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0",
562
+ "cookie": cookie || ""
563
+ }
564
+ };
565
+ };
534
566
 
535
567
  // src/platform/bilibili/getdata.ts
536
568
  var fetchBilibili = async (data2, cookie, requestConfig) => {
@@ -2327,75 +2359,84 @@ var GlobalGetData3 = async (type, options) => {
2327
2359
  };
2328
2360
  function smartNumber(errorMessage, minValue = 1, isInteger = false) {
2329
2361
  if (isInteger) {
2330
- return z.coerce.number({ required_error: errorMessage }).int(`${errorMessage.replace("\u4E0D\u80FD\u4E3A\u7A7A", "")}\u5FC5\u987B\u662F\u6574\u6570\uFF0C\u4E0D\u80FD\u5305\u542B\u5C0F\u6570`).min(minValue, `${errorMessage.replace("\u4E0D\u80FD\u4E3A\u7A7A", "")}\u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E${minValue}`);
2362
+ return z.coerce.number({ error: errorMessage }).int({ error: `${errorMessage.replace("\u4E0D\u80FD\u4E3A\u7A7A", "")}\u5FC5\u987B\u662F\u6574\u6570\uFF0C\u4E0D\u80FD\u5305\u542B\u5C0F\u6570` }).min(minValue, { error: `${errorMessage.replace("\u4E0D\u80FD\u4E3A\u7A7A", "")}\u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E${minValue}` });
2331
2363
  } else {
2332
- return z.coerce.number({ required_error: errorMessage }).min(minValue, `${errorMessage.replace("\u4E0D\u80FD\u4E3A\u7A7A", "")}\u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E${minValue}`);
2364
+ return z.coerce.number({ error: errorMessage }).min(minValue, { error: `${errorMessage.replace("\u4E0D\u80FD\u4E3A\u7A7A", "")}\u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E${minValue}` });
2333
2365
  }
2334
2366
  }
2335
2367
  var smartPositiveInteger = (errorMessage) => {
2336
2368
  return smartNumber(errorMessage, 1, true);
2337
2369
  };
2370
+ var extractCreatorInfoFromHtml = (html) => {
2371
+ var _a;
2372
+ const match = html.match(/<script>window\.__INITIAL_STATE__=(.+)<\/script>/m);
2373
+ if (!match) {
2374
+ return null;
2375
+ }
2376
+ try {
2377
+ const jsonStr = match[1].replace(/:undefined/g, ":null");
2378
+ const info = JSON.parse(jsonStr);
2379
+ return ((_a = info == null ? void 0 : info.user) == null ? void 0 : _a.userPageData) || null;
2380
+ } catch (error) {
2381
+ console.error("\u89E3\u6790\u7528\u6237\u4FE1\u606F\u5931\u8D25:", error);
2382
+ return null;
2383
+ }
2384
+ };
2338
2385
 
2339
2386
  // src/validation/douyin.ts
2340
2387
  var DouyinWorkParamsSchema = z.object({
2341
2388
  methodType: z.enum(["\u6587\u5B57\u4F5C\u54C1\u6570\u636E", "\u89C6\u9891\u4F5C\u54C1\u6570\u636E", "\u56FE\u96C6\u4F5C\u54C1\u6570\u636E", "\u5408\u8F91\u4F5C\u54C1\u6570\u636E", "\u805A\u5408\u89E3\u6790"], {
2342
- invalid_type_error: "\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F\u6307\u5B9A\u7684\u679A\u4E3E\u503C\u4E4B\u4E00",
2343
- required_error: "\u65B9\u6CD5\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A"
2389
+ error: "\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F\u6307\u5B9A\u7684\u679A\u4E3E\u503C\u4E4B\u4E00"
2344
2390
  }),
2345
- aweme_id: z.string({ required_error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u89C6\u9891ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A")
2391
+ aweme_id: z.string({ error: "\u89C6\u9891ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, { error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A" })
2346
2392
  });
2347
2393
  var DouyinCommentParamsSchema = z.object({
2348
- methodType: z.literal("\u8BC4\u8BBA\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u8BC4\u8BBA\u6570\u636E"' }),
2349
- aweme_id: z.string({ required_error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u89C6\u9891ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A"),
2394
+ methodType: z.literal("\u8BC4\u8BBA\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u8BC4\u8BBA\u6570\u636E"' }),
2395
+ aweme_id: z.string({ error: "\u89C6\u9891ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, { error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A" }),
2350
2396
  number: smartPositiveInteger("\u8BC4\u8BBA\u6570\u91CF\u5FC5\u987B\u662F\u6B63\u6574\u6570").optional().default(50),
2351
- cursor: z.coerce.number({ invalid_type_error: "\u6E38\u6807\u5FC5\u987B\u662F\u6570\u5B57" }).int({ message: "\u6E38\u6807\u5FC5\u987B\u662F\u6574\u6570" }).min(0, "\u6E38\u6807\u4E0D\u80FD\u5C0F\u4E8E0").default(0).optional()
2397
+ cursor: z.coerce.number({ error: "\u6E38\u6807\u5FC5\u987B\u662F\u6570\u5B57" }).int({ error: "\u6E38\u6807\u5FC5\u987B\u662F\u6574\u6570" }).min(0, { error: "\u6E38\u6807\u4E0D\u80FD\u5C0F\u4E8E0" }).default(0).optional()
2352
2398
  });
2353
2399
  var DouyinSearchParamsSchema = z.object({
2354
2400
  methodType: z.enum(["\u70ED\u70B9\u8BCD\u6570\u636E", "\u641C\u7D22\u6570\u636E"], {
2355
- invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u70ED\u70B9\u8BCD\u6570\u636E"\u6216"\u641C\u7D22\u6570\u636E"',
2356
- required_error: "\u65B9\u6CD5\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A"
2401
+ error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u70ED\u70B9\u8BCD\u6570\u636E"\u6216"\u641C\u7D22\u6570\u636E"'
2357
2402
  }),
2358
- query: z.string({ required_error: "\u641C\u7D22\u8BCD\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u641C\u7D22\u8BCD\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u641C\u7D22\u8BCD\u4E0D\u80FD\u4E3A\u7A7A"),
2403
+ query: z.string({ error: "\u641C\u7D22\u8BCD\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, { error: "\u641C\u7D22\u8BCD\u4E0D\u80FD\u4E3A\u7A7A" }),
2359
2404
  number: smartPositiveInteger("\u641C\u7D22\u6570\u91CF\u5FC5\u987B\u662F\u6B63\u6574\u6570").optional().default(10),
2360
- search_id: z.string({ invalid_type_error: "\u641C\u7D22ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).optional()
2405
+ search_id: z.string({ error: "\u641C\u7D22ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).optional()
2361
2406
  });
2362
2407
  var DouyinCommentReplyParamsSchema = z.object({
2363
- methodType: z.literal("\u6307\u5B9A\u8BC4\u8BBA\u56DE\u590D\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u6307\u5B9A\u8BC4\u8BBA\u56DE\u590D\u6570\u636E"' }),
2364
- aweme_id: z.string({ required_error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u89C6\u9891ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A"),
2365
- comment_id: z.string({ required_error: "\u8BC4\u8BBAID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u8BC4\u8BBAID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u8BC4\u8BBAID\u4E0D\u80FD\u4E3A\u7A7A"),
2408
+ methodType: z.literal("\u6307\u5B9A\u8BC4\u8BBA\u56DE\u590D\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u6307\u5B9A\u8BC4\u8BBA\u56DE\u590D\u6570\u636E"' }),
2409
+ aweme_id: z.string({ error: "\u89C6\u9891ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, { error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A" }),
2410
+ comment_id: z.string({ error: "\u8BC4\u8BBAID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, { error: "\u8BC4\u8BBAID\u4E0D\u80FD\u4E3A\u7A7A" }),
2366
2411
  number: smartPositiveInteger("\u8BC4\u8BBA\u6570\u91CF\u5FC5\u987B\u662F\u6B63\u6574\u6570").optional().default(5),
2367
- cursor: z.coerce.number({ invalid_type_error: "\u6E38\u6807\u5FC5\u987B\u662F\u6570\u5B57" }).int({ message: "\u6E38\u6807\u5FC5\u987B\u662F\u6574\u6570" }).min(0, "\u6E38\u6807\u4E0D\u80FD\u5C0F\u4E8E0").default(0).optional()
2412
+ cursor: z.coerce.number({ error: "\u6E38\u6807\u5FC5\u987B\u662F\u6570\u5B57" }).int({ error: "\u6E38\u6807\u5FC5\u987B\u662F\u6574\u6570" }).min(0, { error: "\u6E38\u6807\u4E0D\u80FD\u5C0F\u4E8E0" }).default(0).optional()
2368
2413
  });
2369
2414
  var DouyinUserParamsSchema = z.object({
2370
2415
  methodType: z.enum(["\u7528\u6237\u4E3B\u9875\u6570\u636E", "\u7528\u6237\u4E3B\u9875\u89C6\u9891\u5217\u8868\u6570\u636E", "\u76F4\u64AD\u95F4\u4FE1\u606F\u6570\u636E"], {
2371
- invalid_type_error: "\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F\u6307\u5B9A\u7684\u679A\u4E3E\u503C\u4E4B\u4E00",
2372
- required_error: "\u65B9\u6CD5\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A"
2416
+ error: "\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F\u6307\u5B9A\u7684\u679A\u4E3E\u503C\u4E4B\u4E00"
2373
2417
  }),
2374
- sec_uid: z.string({ required_error: "\u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u7528\u6237ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A")
2418
+ sec_uid: z.string({ error: "\u7528\u6237ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, { error: "\u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A" })
2375
2419
  });
2376
2420
  var DouyinMusicParamsSchema = z.object({
2377
- methodType: z.literal("\u97F3\u4E50\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u97F3\u4E50\u6570\u636E"' }),
2378
- music_id: z.string({ required_error: "\u97F3\u4E50ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u97F3\u4E50ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u97F3\u4E50ID\u4E0D\u80FD\u4E3A\u7A7A")
2421
+ methodType: z.literal("\u97F3\u4E50\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u97F3\u4E50\u6570\u636E"' }),
2422
+ music_id: z.string({ error: "\u97F3\u4E50ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, { error: "\u97F3\u4E50ID\u4E0D\u80FD\u4E3A\u7A7A" })
2379
2423
  });
2380
2424
  var DouyinQrcodeParamsSchema = z.object({
2381
- methodType: z.literal("\u7533\u8BF7\u4E8C\u7EF4\u7801\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u7533\u8BF7\u4E8C\u7EF4\u7801\u6570\u636E"' }),
2382
- verify_fp: z.string({ required_error: "fp\u6307\u7EB9\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "fp\u6307\u7EB9\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "fp\u6307\u7EB9\u4E0D\u80FD\u4E3A\u7A7A")
2425
+ methodType: z.literal("\u7533\u8BF7\u4E8C\u7EF4\u7801\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u7533\u8BF7\u4E8C\u7EF4\u7801\u6570\u636E"' }),
2426
+ verify_fp: z.string({ error: "fp\u6307\u7EB9\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, { error: "fp\u6307\u7EB9\u4E0D\u80FD\u4E3A\u7A7A" })
2383
2427
  });
2384
2428
  var DouyinEmojiListParamsSchema = z.object({
2385
- methodType: z.literal("Emoji\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"Emoji\u6570\u636E"' })
2429
+ methodType: z.literal("Emoji\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"Emoji\u6570\u636E"' })
2386
2430
  });
2387
2431
  var DouyinEmojiProParamsSchema = z.object({
2388
- methodType: z.literal("\u52A8\u6001\u8868\u60C5\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u52A8\u6001\u8868\u60C5\u6570\u636E"' })
2432
+ methodType: z.literal("\u52A8\u6001\u8868\u60C5\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u52A8\u6001\u8868\u60C5\u6570\u636E"' })
2389
2433
  });
2390
2434
  var DouyinDanmakuParamsSchema = z.object({
2391
- methodType: z.literal("\u5F39\u5E55\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u5F39\u5E55\u6570\u636E"' }),
2392
- aweme_id: z.string({ required_error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u89C6\u9891ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A"),
2393
- start_time: z.coerce.number({ invalid_type_error: "\u5F00\u59CB\u65F6\u95F4\u5FC5\u987B\u662F\u6570\u5B57" }).int({ message: "\u5F00\u59CB\u65F6\u95F4\u5FC5\u987B\u662F\u6574\u6570" }).min(0, "\u5F00\u59CB\u65F6\u95F4\u4E0D\u80FD\u5C0F\u4E8E0").optional(),
2394
- end_time: z.coerce.number({ invalid_type_error: "\u7ED3\u675F\u65F6\u95F4\u5FC5\u987B\u662F\u6570\u5B57" }).int({ message: "\u7ED3\u675F\u65F6\u95F4\u5FC5\u987B\u662F\u6574\u6570" }).min(0, "\u7ED3\u675F\u65F6\u95F4\u4E0D\u80FD\u5C0F\u4E8E0").optional(),
2395
- duration: z.number({
2396
- required_error: "\u89C6\u9891\u65F6\u957F\u4E0D\u80FD\u4E3A\u7A7A",
2397
- invalid_type_error: "\u89C6\u9891\u65F6\u957F\u5FC5\u987B\u662F\u6570\u5B57"
2398
- }).int({ message: "\u89C6\u9891\u65F6\u957F\u5FC5\u987B\u662F\u6574\u6570" }).min(0, "\u89C6\u9891\u65F6\u957F\u4E0D\u80FD\u5C0F\u4E8E0")
2435
+ methodType: z.literal("\u5F39\u5E55\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u5F39\u5E55\u6570\u636E"' }),
2436
+ aweme_id: z.string({ error: "\u89C6\u9891ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, { error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A" }),
2437
+ start_time: z.coerce.number({ error: "\u5F00\u59CB\u65F6\u95F4\u5FC5\u987B\u662F\u6570\u5B57" }).int({ error: "\u5F00\u59CB\u65F6\u95F4\u5FC5\u987B\u662F\u6574\u6570" }).min(0, { error: "\u5F00\u59CB\u65F6\u95F4\u4E0D\u80FD\u5C0F\u4E8E0" }).optional(),
2438
+ end_time: z.coerce.number({ error: "\u7ED3\u675F\u65F6\u95F4\u5FC5\u987B\u662F\u6570\u5B57" }).int({ error: "\u7ED3\u675F\u65F6\u95F4\u5FC5\u987B\u662F\u6574\u6570" }).min(0, { error: "\u7ED3\u675F\u65F6\u95F4\u4E0D\u80FD\u5C0F\u4E8E0" }).optional(),
2439
+ duration: z.number({ error: "\u89C6\u9891\u65F6\u957F\u5FC5\u987B\u662F\u6570\u5B57" }).int({ error: "\u89C6\u9891\u65F6\u957F\u5FC5\u987B\u662F\u6574\u6570" }).min(0, { error: "\u89C6\u9891\u65F6\u957F\u4E0D\u80FD\u5C0F\u4E8E0" })
2399
2440
  }).refine(
2400
2441
  (data2) => {
2401
2442
  if (data2.end_time !== void 0) {
@@ -2404,7 +2445,7 @@ var DouyinDanmakuParamsSchema = z.object({
2404
2445
  return true;
2405
2446
  },
2406
2447
  {
2407
- message: "\u83B7\u53D6\u5F39\u5E55\u533A\u95F4\u7684\u7ED3\u675F\u65F6\u95F4\u4E0D\u80FD\u8D85\u8FC7\u89C6\u9891\u603B\u65F6\u957F",
2448
+ error: "\u83B7\u53D6\u5F39\u5E55\u533A\u95F4\u7684\u7ED3\u675F\u65F6\u95F4\u4E0D\u80FD\u8D85\u8FC7\u89C6\u9891\u603B\u65F6\u957F",
2408
2449
  path: ["end_time"]
2409
2450
  }
2410
2451
  ).refine(
@@ -2415,7 +2456,7 @@ var DouyinDanmakuParamsSchema = z.object({
2415
2456
  return true;
2416
2457
  },
2417
2458
  {
2418
- message: "\u83B7\u53D6\u5F39\u5E55\u533A\u95F4\u7684\u5F00\u59CB\u65F6\u95F4\u5FC5\u987B\u5C0F\u4E8E\u7ED3\u675F\u65F6\u95F4",
2459
+ error: "\u83B7\u53D6\u5F39\u5E55\u533A\u95F4\u7684\u5F00\u59CB\u65F6\u95F4\u5FC5\u987B\u5C0F\u4E8E\u7ED3\u675F\u65F6\u95F4",
2419
2460
  path: ["start_time"]
2420
2461
  }
2421
2462
  );
@@ -2439,84 +2480,78 @@ var DouyinValidationSchemas2 = {
2439
2480
  "\u5F39\u5E55\u6570\u636E": DouyinDanmakuParamsSchema
2440
2481
  };
2441
2482
  var BilibiliVideoParamsSchema = z.object({
2442
- methodType: z.literal("\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E"' }),
2443
- bvid: z.string({ required_error: "BVID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "BVID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "BVID\u4E0D\u80FD\u4E3A\u7A7A")
2483
+ methodType: z.literal("\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E"' }),
2484
+ bvid: z.string({ error: "BVID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, { error: "BVID\u4E0D\u80FD\u4E3A\u7A7A" })
2444
2485
  });
2445
2486
  var BilibiliVideoDownloadParamsSchema = z.object({
2446
- methodType: z.literal("\u5355\u4E2A\u89C6\u9891\u4E0B\u8F7D\u4FE1\u606F\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u5355\u4E2A\u89C6\u9891\u4E0B\u8F7D\u4FE1\u606F\u6570\u636E"' }),
2487
+ methodType: z.literal("\u5355\u4E2A\u89C6\u9891\u4E0B\u8F7D\u4FE1\u606F\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u5355\u4E2A\u89C6\u9891\u4E0B\u8F7D\u4FE1\u606F\u6570\u636E"' }),
2447
2488
  avid: smartNumber("AVID\u4E0D\u80FD\u4E3A\u7A7A", 1, true),
2448
2489
  cid: smartNumber("CID\u4E0D\u80FD\u4E3A\u7A7A", 1, true)
2449
2490
  });
2450
2491
  var BilibiliCommentParamsSchema = z.object({
2451
- methodType: z.literal("\u8BC4\u8BBA\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u8BC4\u8BBA\u6570\u636E"' }),
2452
- oid: z.string({ required_error: "OID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "OID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "OID\u4E0D\u80FD\u4E3A\u7A7A"),
2492
+ methodType: z.literal("\u8BC4\u8BBA\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u8BC4\u8BBA\u6570\u636E"' }),
2493
+ oid: z.string({ error: "OID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, { error: "OID\u4E0D\u80FD\u4E3A\u7A7A" }),
2453
2494
  type: smartNumber("\u8BC4\u8BBA\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A", 1, true).refine(
2454
2495
  (val) => [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33].includes(val),
2455
- { message: "\u65E0\u6548\u7684\u8BC4\u8BBA\u533A\u7C7B\u578B" }
2496
+ { error: "\u65E0\u6548\u7684\u8BC4\u8BBA\u533A\u7C7B\u578B" }
2456
2497
  ),
2457
- number: z.coerce.number({ invalid_type_error: "\u8BC4\u8BBA\u6570\u91CF\u5FC5\u987B\u662F\u6570\u5B57" }).int({ message: "\u8BC4\u8BBA\u6570\u91CF\u5FC5\u987B\u662F\u6574\u6570" }).positive({ message: "\u8BC4\u8BBA\u6570\u91CF\u5FC5\u987B\u662F\u6B63\u6570" }).default(20).optional(),
2458
- pn: z.coerce.number({ invalid_type_error: "\u9875\u7801\u5FC5\u987B\u662F\u6570\u5B57" }).int({ message: "\u9875\u7801\u5FC5\u987B\u662F\u6574\u6570" }).positive({ message: "\u9875\u7801\u5FC5\u987B\u662F\u6B63\u6570" }).default(1).optional()
2498
+ number: z.coerce.number({ error: "\u8BC4\u8BBA\u6570\u91CF\u5FC5\u987B\u662F\u6570\u5B57" }).int({ error: "\u8BC4\u8BBA\u6570\u91CF\u5FC5\u987B\u662F\u6574\u6570" }).positive({ error: "\u8BC4\u8BBA\u6570\u91CF\u5FC5\u987B\u662F\u6B63\u6570" }).default(20).optional(),
2499
+ pn: z.coerce.number({ error: "\u9875\u7801\u5FC5\u987B\u662F\u6570\u5B57" }).int({ error: "\u9875\u7801\u5FC5\u987B\u662F\u6574\u6570" }).positive({ error: "\u9875\u7801\u5FC5\u987B\u662F\u6B63\u6570" }).default(1).optional()
2459
2500
  });
2460
2501
  var BilibiliUserParamsSchema = z.object({
2461
2502
  methodType: z.enum(["\u7528\u6237\u4E3B\u9875\u6570\u636E", "\u7528\u6237\u4E3B\u9875\u52A8\u6001\u5217\u8868\u6570\u636E", "\u83B7\u53D6UP\u4E3B\u603B\u64AD\u653E\u91CF"], {
2462
- invalid_type_error: "\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F\u6307\u5B9A\u7684\u679A\u4E3E\u503C\u4E4B\u4E00",
2463
- required_error: "\u65B9\u6CD5\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A"
2503
+ error: "\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F\u6307\u5B9A\u7684\u679A\u4E3E\u503C\u4E4B\u4E00"
2464
2504
  }),
2465
2505
  host_mid: smartNumber("UP\u4E3BUID\u4E0D\u80FD\u4E3A\u7A7A", 1, true)
2466
2506
  });
2467
2507
  var BilibiliEmojiParamsSchema = z.object({
2468
- methodType: z.literal("Emoji\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"Emoji\u6570\u636E"' })
2508
+ methodType: z.literal("Emoji\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"Emoji\u6570\u636E"' })
2469
2509
  });
2470
2510
  var BilibiliBangumiInfoParamsSchema = z.object({
2471
- methodType: z.literal("\u756A\u5267\u57FA\u672C\u4FE1\u606F\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u756A\u5267\u57FA\u672C\u4FE1\u606F\u6570\u636E"' }),
2472
- ep_id: z.string({ invalid_type_error: "\u756A\u5267EP ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u756A\u5267EP ID\u4E0D\u80FD\u4E3A\u7A7A").optional(),
2473
- season_id: z.string({ invalid_type_error: "\u756A\u5267\u5B63\u5EA6ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).optional()
2511
+ methodType: z.literal("\u756A\u5267\u57FA\u672C\u4FE1\u606F\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u756A\u5267\u57FA\u672C\u4FE1\u606F\u6570\u636E"' }),
2512
+ ep_id: z.string({ error: "\u756A\u5267EP ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, { error: "\u756A\u5267EP ID\u4E0D\u80FD\u4E3A\u7A7A" }).optional(),
2513
+ season_id: z.string({ error: "\u756A\u5267\u5B63\u5EA6ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).optional()
2474
2514
  }).refine(
2475
2515
  (data2) => data2.ep_id || data2.season_id,
2476
2516
  {
2477
- message: "ep_id \u548C season_id \u81F3\u5C11\u9700\u8981\u63D0\u4F9B\u4E00\u4E2A",
2517
+ error: "ep_id \u548C season_id \u81F3\u5C11\u9700\u8981\u63D0\u4F9B\u4E00\u4E2A",
2478
2518
  path: ["ep_id"]
2479
2519
  }
2480
2520
  );
2481
2521
  var BilibiliBangumiStreamParamsSchema = z.object({
2482
- methodType: z.literal("\u756A\u5267\u4E0B\u8F7D\u4FE1\u606F\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u756A\u5267\u4E0B\u8F7D\u4FE1\u606F\u6570\u636E"' }),
2522
+ methodType: z.literal("\u756A\u5267\u4E0B\u8F7D\u4FE1\u606F\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u756A\u5267\u4E0B\u8F7D\u4FE1\u606F\u6570\u636E"' }),
2483
2523
  cid: smartNumber("CID\u4E0D\u80FD\u4E3A\u7A7A", 1, true),
2484
- ep_id: z.string({ required_error: "\u756A\u5267EP ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u756A\u5267EP ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u756A\u5267EP ID\u4E0D\u80FD\u4E3A\u7A7A")
2524
+ ep_id: z.string({ error: "\u756A\u5267EP ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, { error: "\u756A\u5267EP ID\u4E0D\u80FD\u4E3A\u7A7A" })
2485
2525
  });
2486
2526
  var BilibiliDynamicParamsSchema = z.object({
2487
2527
  methodType: z.enum(["\u52A8\u6001\u8BE6\u60C5\u6570\u636E", "\u52A8\u6001\u5361\u7247\u6570\u636E"], {
2488
- invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u52A8\u6001\u8BE6\u60C5\u6570\u636E"\u6216"\u52A8\u6001\u5361\u7247\u6570\u636E"',
2489
- required_error: "\u65B9\u6CD5\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A"
2528
+ error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u52A8\u6001\u8BE6\u60C5\u6570\u636E"\u6216"\u52A8\u6001\u5361\u7247\u6570\u636E"'
2490
2529
  }),
2491
- dynamic_id: z.string({ required_error: "\u52A8\u6001ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u52A8\u6001ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u52A8\u6001ID\u4E0D\u80FD\u4E3A\u7A7A")
2530
+ dynamic_id: z.string({ error: "\u52A8\u6001ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, { error: "\u52A8\u6001ID\u4E0D\u80FD\u4E3A\u7A7A" })
2492
2531
  });
2493
2532
  var BilibiliLiveParamsSchema = z.object({
2494
2533
  methodType: z.enum(["\u76F4\u64AD\u95F4\u4FE1\u606F", "\u76F4\u64AD\u95F4\u521D\u59CB\u5316\u4FE1\u606F"], {
2495
- invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u76F4\u64AD\u95F4\u4FE1\u606F"\u6216"\u76F4\u64AD\u95F4\u521D\u59CB\u5316\u4FE1\u606F"',
2496
- required_error: "\u65B9\u6CD5\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A"
2534
+ error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u76F4\u64AD\u95F4\u4FE1\u606F"\u6216"\u76F4\u64AD\u95F4\u521D\u59CB\u5316\u4FE1\u606F"'
2497
2535
  }),
2498
- room_id: z.string({ required_error: "\u76F4\u64AD\u95F4ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u76F4\u64AD\u95F4ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u76F4\u64AD\u95F4ID\u4E0D\u80FD\u4E3A\u7A7A")
2536
+ room_id: z.string({ error: "\u76F4\u64AD\u95F4ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, { error: "\u76F4\u64AD\u95F4ID\u4E0D\u80FD\u4E3A\u7A7A" })
2499
2537
  });
2500
2538
  var BilibiliLoginParamsSchema = z.object({
2501
- methodType: z.literal("\u767B\u5F55\u57FA\u672C\u4FE1\u606F", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u767B\u5F55\u57FA\u672C\u4FE1\u606F"' })
2539
+ methodType: z.literal("\u767B\u5F55\u57FA\u672C\u4FE1\u606F", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u767B\u5F55\u57FA\u672C\u4FE1\u606F"' })
2502
2540
  });
2503
2541
  var BilibiliQrcodeParamsSchema = z.object({
2504
- methodType: z.literal("\u7533\u8BF7\u4E8C\u7EF4\u7801", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u7533\u8BF7\u4E8C\u7EF4\u7801"' })
2542
+ methodType: z.literal("\u7533\u8BF7\u4E8C\u7EF4\u7801", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u7533\u8BF7\u4E8C\u7EF4\u7801"' })
2505
2543
  });
2506
2544
  var BilibiliQrcodeStatusParamsSchema = z.object({
2507
- methodType: z.literal("\u4E8C\u7EF4\u7801\u72B6\u6001", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u4E8C\u7EF4\u7801\u72B6\u6001"' }),
2508
- qrcode_key: z.string({ required_error: "\u4E8C\u7EF4\u7801key\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u4E8C\u7EF4\u7801key\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u4E8C\u7EF4\u7801key\u4E0D\u80FD\u4E3A\u7A7A")
2545
+ methodType: z.literal("\u4E8C\u7EF4\u7801\u72B6\u6001", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u4E8C\u7EF4\u7801\u72B6\u6001"' }),
2546
+ qrcode_key: z.string({ error: "\u4E8C\u7EF4\u7801key\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, { error: "\u4E8C\u7EF4\u7801key\u4E0D\u80FD\u4E3A\u7A7A" })
2509
2547
  });
2510
2548
  var BilibiliAv2BvParamsSchema = z.object({
2511
- methodType: z.literal("AV\u8F6CBV", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"AV\u8F6CBV"' }),
2512
- avid: z.coerce.number({
2513
- required_error: "AVID\u4E0D\u80FD\u4E3A\u7A7A",
2514
- invalid_type_error: "AVID\u5FC5\u987B\u662F\u6570\u5B57"
2515
- }).int({ message: "AVID\u5FC5\u987B\u662F\u6574\u6570" }).positive({ message: "AVID\u5FC5\u987B\u662F\u6B63\u6570" })
2549
+ methodType: z.literal("AV\u8F6CBV", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"AV\u8F6CBV"' }),
2550
+ avid: z.coerce.number({ error: "AVID\u5FC5\u987B\u662F\u6570\u5B57" }).int({ error: "AVID\u5FC5\u987B\u662F\u6574\u6570" }).positive({ error: "AVID\u5FC5\u987B\u662F\u6B63\u6570" })
2516
2551
  });
2517
2552
  var BilibiliBv2AvParamsSchema = z.object({
2518
- methodType: z.literal("BV\u8F6CAV", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"BV\u8F6CAV"' }),
2519
- bvid: z.string({ required_error: "BVID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "BVID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "BVID\u4E0D\u80FD\u4E3A\u7A7A")
2553
+ methodType: z.literal("BV\u8F6CAV", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"BV\u8F6CAV"' }),
2554
+ bvid: z.string({ error: "BVID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, { error: "BVID\u4E0D\u80FD\u4E3A\u7A7A" })
2520
2555
  });
2521
2556
  var BilibiliValidationSchemas2 = {
2522
2557
  "\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E": BilibiliVideoParamsSchema,
@@ -2539,21 +2574,307 @@ var BilibiliValidationSchemas2 = {
2539
2574
  "BV\u8F6CAV": BilibiliBv2AvParamsSchema
2540
2575
  };
2541
2576
  var KuaishouVideoParamsSchema = z.object({
2542
- methodType: z.literal("\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E"' }),
2543
- photoId: z.string({ required_error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u89C6\u9891ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A")
2577
+ methodType: z.literal("\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E"' }),
2578
+ photoId: z.string({ error: "\u89C6\u9891ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, { error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A" })
2544
2579
  });
2545
2580
  var KuaishouCommentParamsSchema = z.object({
2546
- methodType: z.literal("\u8BC4\u8BBA\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u8BC4\u8BBA\u6570\u636E"' }),
2547
- photoId: z.string({ required_error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u89C6\u9891ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A")
2581
+ methodType: z.literal("\u8BC4\u8BBA\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u8BC4\u8BBA\u6570\u636E"' }),
2582
+ photoId: z.string({ error: "\u89C6\u9891ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, { error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A" })
2548
2583
  });
2549
2584
  var KuaishouEmojiParamsSchema = z.object({
2550
- methodType: z.literal("Emoji\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"Emoji\u6570\u636E"' })
2585
+ methodType: z.literal("Emoji\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"Emoji\u6570\u636E"' })
2551
2586
  });
2552
2587
  var KuaishouValidationSchemas2 = {
2553
2588
  "\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E": KuaishouVideoParamsSchema,
2554
2589
  "\u8BC4\u8BBA\u6570\u636E": KuaishouCommentParamsSchema,
2555
2590
  "Emoji\u6570\u636E": KuaishouEmojiParamsSchema
2556
2591
  };
2592
+ var xiaohongshuSign = class {
2593
+ static client = new Xhshow();
2594
+ /**
2595
+ * 生成GET请求的X-S签名
2596
+ * @param path - API路径
2597
+ * @param a1Cookie - a1 cookie值
2598
+ * @param clientType - 客户端类型,默认为 'xhs-pc-web'
2599
+ * @param params - 查询参数对象
2600
+ * @returns X-S签名
2601
+ */
2602
+ static generateXSGet(path2, a1Cookie, clientType = "xhs-pc-web", params = {}) {
2603
+ return this.client.signXsGet(path2, a1Cookie, clientType, params);
2604
+ }
2605
+ /**
2606
+ * 生成POST请求的X-S签名
2607
+ * @param path - API路径
2608
+ * @param a1Cookie - a1 cookie值
2609
+ * @param clientType - 客户端类型,默认为 'xhs-pc-web'
2610
+ * @param body - 请求体对象
2611
+ * @returns X-S签名
2612
+ */
2613
+ static generateXSPost(path2, a1Cookie, clientType = "xhs-pc-web", body = {}) {
2614
+ return this.client.signXsPost(path2, a1Cookie, clientType, body);
2615
+ }
2616
+ /**
2617
+ * 生成X-S签名(兼容旧接口)
2618
+ * @param url - 请求URL
2619
+ * @param body - 请求体
2620
+ * @param userAgent - User-Agent(暂未使用)
2621
+ * @param method - 请求方法,默认为 'POST'
2622
+ * @param a1Cookie - a1 cookie值
2623
+ * @returns X-S签名
2624
+ */
2625
+ static generateXS(url, body, userAgent, method = "POST", a1Cookie = "") {
2626
+ try {
2627
+ const urlObj = new URL(url);
2628
+ const path2 = urlObj.pathname + urlObj.search;
2629
+ if (method.toUpperCase() === "GET") {
2630
+ const params = typeof body === "object" ? body : {};
2631
+ return this.generateXSGet(path2, a1Cookie, "xhs-pc-web", params);
2632
+ } else {
2633
+ const requestBody = typeof body === "object" ? body : {};
2634
+ return this.generateXSPost(path2, a1Cookie, "xhs-pc-web", requestBody);
2635
+ }
2636
+ } catch (error) {
2637
+ console.error("\u751F\u6210X-S\u7B7E\u540D\u5931\u8D25:", error);
2638
+ throw new Error(`\u7B7E\u540D\u751F\u6210\u5931\u8D25: ${error}`);
2639
+ }
2640
+ }
2641
+ /**
2642
+ * 生成X-S-Common参数
2643
+ * @param length - 长度
2644
+ * @returns Base64编码的随机字符串
2645
+ */
2646
+ static generateXSCommon(length = 945) {
2647
+ return crypto.randomBytes(length).toString("base64").replace(/=+$/, "");
2648
+ }
2649
+ /**
2650
+ * 生成X-T时间戳
2651
+ * @returns 当前时间戳字符串
2652
+ */
2653
+ static generateXT() {
2654
+ return Date.now().toString();
2655
+ }
2656
+ /**
2657
+ * 生成X-B3-Traceid
2658
+ * @returns 16位随机字符串
2659
+ */
2660
+ static generateXB3Traceid() {
2661
+ return Array.from({ length: 16 }, () => "abcdef0123456789"[Math.floor(Math.random() * 16)]).join("");
2662
+ }
2663
+ /**
2664
+ * 从cookie字符串中提取a1值
2665
+ * @param cookieString - 完整的cookie字符串
2666
+ * @returns a1 cookie值
2667
+ */
2668
+ static extractA1FromCookie(cookieString) {
2669
+ const match = cookieString.match(/a1=([^;]+)/);
2670
+ return match ? match[1] : "";
2671
+ }
2672
+ /**
2673
+ * 生成搜索ID
2674
+ * @returns 搜索ID字符串
2675
+ */
2676
+ static getSearchId = () => (BigInt(Date.now()) << 64n) + BigInt(Math.floor(Math.random() * 2147483646)).toString(36);
2677
+ };
2678
+
2679
+ // src/platform/xiaohongshu/API.ts
2680
+ var SearchSortType = /* @__PURE__ */ ((SearchSortType2) => {
2681
+ SearchSortType2["GENERAL"] = "general";
2682
+ SearchSortType2["MOST_POPULAR"] = "popularity_descending";
2683
+ SearchSortType2["LATEST"] = "time_descending";
2684
+ return SearchSortType2;
2685
+ })(SearchSortType || {});
2686
+ var SearchNoteType = /* @__PURE__ */ ((SearchNoteType2) => {
2687
+ SearchNoteType2[SearchNoteType2["ALL"] = 0] = "ALL";
2688
+ SearchNoteType2[SearchNoteType2["VIDEO"] = 1] = "VIDEO";
2689
+ SearchNoteType2[SearchNoteType2["IMAGE"] = 2] = "IMAGE";
2690
+ return SearchNoteType2;
2691
+ })(SearchNoteType || {});
2692
+ var buildQueryString2 = (params) => {
2693
+ return Object.entries(params).filter(([_, value]) => value !== void 0 && value !== null).map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`).join("&");
2694
+ };
2695
+ var xiaohongshuApiUrls = {
2696
+ /**
2697
+ * 获取首页推荐数据的接口地址
2698
+ * @param data - 请求参数
2699
+ * @returns 完整的接口URL
2700
+ */
2701
+ \u9996\u9875\u63A8\u8350\u6570\u636E(data2 = {}) {
2702
+ return {
2703
+ apiPath: "/api/sns/web/v1/homefeed",
2704
+ Url: "https://edith.xiaohongshu.com/api/sns/web/v1/homefeed",
2705
+ Body: {
2706
+ cursor_score: data2.cursor_score || "1.7599348899670024E9",
2707
+ num: data2.num || 33,
2708
+ refresh_type: data2.refresh_type || 3,
2709
+ note_index: data2.note_index || 33,
2710
+ category: data2.category || "homefeed_recommend",
2711
+ search_key: data2.search_key || "",
2712
+ image_formats: ["jpg", "webp", "avif"]
2713
+ }
2714
+ };
2715
+ },
2716
+ /**
2717
+ * 获取单个笔记数据的接口地址
2718
+ * @param data - 请求参数
2719
+ * @returns 完整的接口URL
2720
+ */
2721
+ \u5355\u4E2A\u7B14\u8BB0\u6570\u636E(data2) {
2722
+ return {
2723
+ apiPath: "/api/sns/web/v1/feed",
2724
+ Url: "https://edith.xiaohongshu.com/api/sns/web/v1/feed",
2725
+ Body: {
2726
+ source_note_id: data2.note_id,
2727
+ image_formats: ["jpg", "webp", "avif"],
2728
+ extra: {
2729
+ need_body_topic: "1"
2730
+ },
2731
+ xsec_source: "pc_feed",
2732
+ xsec_token: data2.xsec_token
2733
+ }
2734
+ };
2735
+ },
2736
+ /**
2737
+ * 获取评论数据的接口地址
2738
+ * @param data - 请求参数
2739
+ * @returns 完整的接口URL
2740
+ */
2741
+ \u8BC4\u8BBA\u6570\u636E(data2) {
2742
+ const baseUrl = "https://edith.xiaohongshu.com/api/sns/web/v2/comment/page";
2743
+ const params = {
2744
+ note_id: data2.note_id,
2745
+ cursor: data2.cursor || "",
2746
+ image_formats: ["jpg", "webp", "avif"].join(","),
2747
+ xsec_token: data2.xsec_token
2748
+ };
2749
+ return {
2750
+ apiPath: "/api/sns/web/v2/comment/page",
2751
+ Url: `${baseUrl}?${buildQueryString2(params)}`
2752
+ };
2753
+ },
2754
+ /**
2755
+ * 获取用户数据的接口地址
2756
+ * @param data - 请求参数
2757
+ * @returns 完整的接口URL
2758
+ */
2759
+ \u7528\u6237\u6570\u636E(data2) {
2760
+ return {
2761
+ apiPath: "/api/sns/web/v1/user/otherinfo",
2762
+ Url: `https://www.xiaohongshu.com/user/profile/${data2.user_id}`
2763
+ };
2764
+ },
2765
+ /**
2766
+ * 获取用户笔记数据的接口地址
2767
+ * @param data - 请求参数
2768
+ * @returns 完整的接口URL
2769
+ */
2770
+ \u7528\u6237\u7B14\u8BB0\u6570\u636E(data2) {
2771
+ const baseUrl = "https://edith.xiaohongshu.com/api/sns/web/v1/user_posted";
2772
+ const params = {
2773
+ user_id: data2.user_id,
2774
+ cursor: data2.cursor || "",
2775
+ num: data2.num || 30,
2776
+ image_formats: ["jpg", "webp", "avif"].join(","),
2777
+ xsec_source: "pc_feed"
2778
+ };
2779
+ return {
2780
+ apiPath: "/api/sns/web/v1/user_posted",
2781
+ Url: `${baseUrl}?${buildQueryString2(params)}`
2782
+ };
2783
+ },
2784
+ /**
2785
+ * 获取笔记表情列表的接口地址
2786
+ * @param data - 请求参数
2787
+ * @returns 完整的接口URL
2788
+ */
2789
+ \u8868\u60C5\u5217\u8868(data2) {
2790
+ return {
2791
+ apiPath: "/api/im/redmoji/detail",
2792
+ Url: "https://edith.xiaohongshu.com/api/im/redmoji/detail"
2793
+ };
2794
+ },
2795
+ /**
2796
+ * 搜索笔记的接口地址
2797
+ * @param data - 请求参数
2798
+ * @returns 完整的接口URL
2799
+ */
2800
+ \u641C\u7D22\u7B14\u8BB0(data2) {
2801
+ return {
2802
+ apiPath: "/api/sns/web/v1/search/notes",
2803
+ Body: {
2804
+ keyword: data2.keyword,
2805
+ page: data2.page || 1,
2806
+ page_size: data2.page_size || 20,
2807
+ sort: "general" /* GENERAL */,
2808
+ note_type: 0 /* ALL */,
2809
+ search_id: xiaohongshuSign.getSearchId(),
2810
+ image_formats: ["jpg", "webp", "avif"]
2811
+ },
2812
+ Url: "https://edith.xiaohongshu.com/api/sns/web/v1/search/notes"
2813
+ };
2814
+ }
2815
+ };
2816
+ var createXiaohongshuApiUrls = () => {
2817
+ return xiaohongshuApiUrls;
2818
+ };
2819
+ var SearchSortTypeValues = Object.values(SearchSortType).filter((v) => typeof v === "string");
2820
+ var SearchNoteTypeValues = Object.values(SearchNoteType).filter((v) => typeof v === "string");
2821
+ var HomeFeedParamsSchema = z.object({
2822
+ methodType: z.literal("\u9996\u9875\u63A8\u8350\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u9996\u9875\u63A8\u8350\u6570\u636E"' }),
2823
+ cursor_score: z.string({ error: "cursor_score\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).optional(),
2824
+ num: z.number({ error: "\u6570\u91CF\u5FC5\u987B\u662F\u6570\u5B57" }).min(1, { error: "\u6570\u91CF\u4E0D\u80FD\u5C0F\u4E8E1" }).max(100, { error: "\u6570\u91CF\u4E0D\u80FD\u5927\u4E8E100" }).optional(),
2825
+ refresh_type: z.number({ error: "refresh_type\u5FC5\u987B\u662F\u6570\u5B57" }).optional(),
2826
+ note_index: z.number({ error: "note_index\u5FC5\u987B\u662F\u6570\u5B57" }).optional(),
2827
+ category: z.string({ error: "category\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).optional(),
2828
+ search_key: z.string({ error: "search_key\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).optional()
2829
+ });
2830
+ var NoteParamsSchema = z.object({
2831
+ methodType: z.literal("\u5355\u4E2A\u7B14\u8BB0\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u5355\u4E2A\u7B14\u8BB0\u6570\u636E"' }),
2832
+ note_id: z.string({ error: "note_id\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }),
2833
+ xsec_token: z.string({ error: "xsec_token\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" })
2834
+ });
2835
+ var CommentParamsSchema = z.object({
2836
+ methodType: z.literal("\u8BC4\u8BBA\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u8BC4\u8BBA\u6570\u636E"' }),
2837
+ note_id: z.string({ error: "note_id\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }),
2838
+ cursor: z.string({ error: "cursor\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).optional(),
2839
+ xsec_token: z.string({ error: "xsec_token\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" })
2840
+ });
2841
+ var UserParamsSchema = z.object({
2842
+ methodType: z.literal("\u7528\u6237\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u7528\u6237\u6570\u636E"' }),
2843
+ user_id: z.string({ error: "user_id\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" })
2844
+ });
2845
+ var UserNoteParamsSchema = z.object({
2846
+ methodType: z.literal("\u7528\u6237\u7B14\u8BB0\u6570\u636E", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u7528\u6237\u7B14\u8BB0\u6570\u636E"' }),
2847
+ user_id: z.string({ error: "user_id\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }),
2848
+ cursor: z.string({ error: "cursor\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).optional(),
2849
+ num: z.number({ error: "\u6570\u91CF\u5FC5\u987B\u662F\u6570\u5B57" }).min(1, { error: "\u6570\u91CF\u4E0D\u80FD\u5C0F\u4E8E1" }).max(100, { error: "\u6570\u91CF\u4E0D\u80FD\u5927\u4E8E100" }).optional()
2850
+ });
2851
+ var EmojiListParamsSchema = z.object({
2852
+ methodType: z.literal("\u8868\u60C5\u5217\u8868", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u8868\u60C5\u5217\u8868"' })
2853
+ });
2854
+ var SearchNoteParamsSchema = z.object({
2855
+ methodType: z.literal("\u641C\u7D22\u7B14\u8BB0", { error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u641C\u7D22\u7B14\u8BB0"' }),
2856
+ keyword: z.string({ error: "keyword\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }),
2857
+ page: z.number({ error: "page\u5FC5\u987B\u662F\u6570\u5B57" }).min(1, { error: "page\u4E0D\u80FD\u5C0F\u4E8E1" }).optional(),
2858
+ page_size: z.number({ error: "page_size\u5FC5\u987B\u662F\u6570\u5B57" }).min(1, { error: "page_size\u4E0D\u80FD\u5C0F\u4E8E1" }).max(100, { error: "page_size\u4E0D\u80FD\u5927\u4E8E100" }).optional(),
2859
+ sort: z.enum(SearchSortTypeValues, { error: "\u6392\u5E8F\u7C7B\u578B\u4E0D\u5408\u6CD5" }).optional(),
2860
+ note_type: z.enum(SearchNoteTypeValues, { error: "\u7B14\u8BB0\u7C7B\u578B\u4E0D\u5408\u6CD5" }).optional()
2861
+ });
2862
+ var XiaohongshuValidationSchemas = {
2863
+ \u9996\u9875\u63A8\u8350\u6570\u636E: HomeFeedParamsSchema,
2864
+ \u5355\u4E2A\u7B14\u8BB0\u6570\u636E: NoteParamsSchema,
2865
+ \u8BC4\u8BBA\u6570\u636E: CommentParamsSchema,
2866
+ \u7528\u6237\u6570\u636E: UserParamsSchema,
2867
+ \u7528\u6237\u7B14\u8BB0\u6570\u636E: UserNoteParamsSchema,
2868
+ \u8868\u60C5\u5217\u8868: EmojiListParamsSchema,
2869
+ \u641C\u7D22\u7B14\u8BB0: SearchNoteParamsSchema
2870
+ };
2871
+ var validateXiaohongshuParams = (methodType, params) => {
2872
+ const schema = XiaohongshuValidationSchemas[methodType];
2873
+ const validated = schema.parse(
2874
+ typeof params === "object" && params !== null ? { methodType, ...params } : { methodType, params }
2875
+ );
2876
+ return validated;
2877
+ };
2557
2878
 
2558
2879
  // src/validation/index.ts
2559
2880
  var validateDouyinParams = (methodType, params) => {
@@ -2596,6 +2917,210 @@ var createErrorResponse = (error, message, code = 500) => {
2596
2917
  };
2597
2918
  };
2598
2919
 
2920
+ // src/platform/xiaohongshu/getdata.ts
2921
+ var XiaohongshuData = async (data2, cookie, requestConfig) => {
2922
+ const defHeaders = getXiaohongshuDefaultConfig(cookie)["headers"];
2923
+ const baseRequestConfig = {
2924
+ method: "POST",
2925
+ timeout: 1e4,
2926
+ ...requestConfig,
2927
+ headers: {
2928
+ ...defHeaders,
2929
+ ...{}
2930
+ }
2931
+ };
2932
+ const xiaohongshuApiUrls2 = createXiaohongshuApiUrls();
2933
+ switch (data2.methodType) {
2934
+ case "\u9996\u9875\u63A8\u8350\u6570\u636E": {
2935
+ const homeFeedData = await GlobalGetData4(data2.methodType, {
2936
+ ...baseRequestConfig,
2937
+ url: xiaohongshuApiUrls2.\u9996\u9875\u63A8\u8350\u6570\u636E(data2).Url,
2938
+ data: JSON.stringify(xiaohongshuApiUrls2.\u9996\u9875\u63A8\u8350\u6570\u636E(data2).Body),
2939
+ headers: {
2940
+ ...baseRequestConfig.headers,
2941
+ "x-s": xiaohongshuSign.generateXSPost(
2942
+ xiaohongshuApiUrls2.\u9996\u9875\u63A8\u8350\u6570\u636E(data2).apiPath,
2943
+ xiaohongshuSign.extractA1FromCookie(cookie || ""),
2944
+ "xhs-pc-web",
2945
+ xiaohongshuApiUrls2.\u9996\u9875\u63A8\u8350\u6570\u636E(data2).Body
2946
+ ),
2947
+ "x-s-common": xiaohongshuSign.generateXSCommon(),
2948
+ "x-t": xiaohongshuSign.generateXT()
2949
+ }
2950
+ });
2951
+ return homeFeedData;
2952
+ }
2953
+ case "\u5355\u4E2A\u7B14\u8BB0\u6570\u636E": {
2954
+ const noteData = await GlobalGetData4(data2.methodType, {
2955
+ ...baseRequestConfig,
2956
+ url: xiaohongshuApiUrls2.\u5355\u4E2A\u7B14\u8BB0\u6570\u636E(data2).Url,
2957
+ data: xiaohongshuApiUrls2.\u5355\u4E2A\u7B14\u8BB0\u6570\u636E(data2).Body,
2958
+ headers: {
2959
+ ...baseRequestConfig.headers,
2960
+ "x-s": xiaohongshuSign.generateXSPost(
2961
+ xiaohongshuApiUrls2.\u5355\u4E2A\u7B14\u8BB0\u6570\u636E(data2).apiPath,
2962
+ xiaohongshuSign.extractA1FromCookie(cookie || ""),
2963
+ "xhs-pc-web",
2964
+ xiaohongshuApiUrls2.\u5355\u4E2A\u7B14\u8BB0\u6570\u636E(data2).Body
2965
+ ),
2966
+ "x-s-common": xiaohongshuSign.generateXSCommon(),
2967
+ "x-t": xiaohongshuSign.generateXT()
2968
+ }
2969
+ });
2970
+ return noteData;
2971
+ }
2972
+ case "\u8BC4\u8BBA\u6570\u636E": {
2973
+ const baseRequestConfig2 = {
2974
+ method: "GET",
2975
+ timeout: 1e4,
2976
+ ...requestConfig,
2977
+ headers: {
2978
+ ...defHeaders,
2979
+ ...{}
2980
+ }
2981
+ };
2982
+ const commentData = await GlobalGetData4(data2.methodType, {
2983
+ ...baseRequestConfig2,
2984
+ url: xiaohongshuApiUrls2.\u8BC4\u8BBA\u6570\u636E(data2).Url,
2985
+ headers: {
2986
+ ...baseRequestConfig2.headers,
2987
+ "x-s": xiaohongshuSign.generateXSGet(
2988
+ xiaohongshuApiUrls2.\u8BC4\u8BBA\u6570\u636E(data2).apiPath,
2989
+ xiaohongshuSign.extractA1FromCookie(cookie || ""),
2990
+ "xhs-pc-web"
2991
+ ),
2992
+ "x-s-common": xiaohongshuSign.generateXSCommon(),
2993
+ "x-t": xiaohongshuSign.generateXT()
2994
+ }
2995
+ });
2996
+ return commentData;
2997
+ }
2998
+ case "\u7528\u6237\u6570\u636E": {
2999
+ const baseRequestConfig2 = {
3000
+ method: "GET",
3001
+ timeout: 1e4,
3002
+ ...requestConfig,
3003
+ headers: {
3004
+ ...defHeaders,
3005
+ ...{}
3006
+ }
3007
+ };
3008
+ const userData = await GlobalGetData4(data2.methodType, {
3009
+ ...baseRequestConfig2,
3010
+ url: xiaohongshuApiUrls2.\u7528\u6237\u6570\u636E(data2).Url,
3011
+ headers: {
3012
+ ...baseRequestConfig2.headers,
3013
+ "x-s": xiaohongshuSign.generateXSGet(
3014
+ xiaohongshuApiUrls2.\u7528\u6237\u6570\u636E(data2).apiPath,
3015
+ xiaohongshuSign.extractA1FromCookie(cookie || ""),
3016
+ "xhs-pc-web"
3017
+ ),
3018
+ "x-s-common": xiaohongshuSign.generateXSCommon(),
3019
+ "x-t": xiaohongshuSign.generateXT()
3020
+ }
3021
+ });
3022
+ const pageData = extractCreatorInfoFromHtml(userData);
3023
+ return {
3024
+ code: 0,
3025
+ data: pageData,
3026
+ msg: "\u6210\u529F"
3027
+ };
3028
+ }
3029
+ case "\u7528\u6237\u7B14\u8BB0\u6570\u636E": {
3030
+ const userNoteData = await GlobalGetData4(data2.methodType, {
3031
+ ...baseRequestConfig,
3032
+ method: "GET",
3033
+ url: xiaohongshuApiUrls2.\u7528\u6237\u7B14\u8BB0\u6570\u636E(data2).Url,
3034
+ headers: {
3035
+ ...baseRequestConfig.headers,
3036
+ "x-b3-traceid": xiaohongshuSign.generateXB3Traceid(),
3037
+ "x-s": xiaohongshuSign.generateXSGet(
3038
+ xiaohongshuApiUrls2.\u7528\u6237\u7B14\u8BB0\u6570\u636E(data2).apiPath,
3039
+ xiaohongshuSign.extractA1FromCookie(cookie || ""),
3040
+ "xhs-pc-web"
3041
+ ),
3042
+ "x-s-common": xiaohongshuSign.generateXSCommon(),
3043
+ "x-t": xiaohongshuSign.generateXT()
3044
+ }
3045
+ });
3046
+ return userNoteData;
3047
+ }
3048
+ case "\u8868\u60C5\u5217\u8868": {
3049
+ const baseRequestConfig2 = {
3050
+ method: "GET",
3051
+ timeout: 1e4,
3052
+ ...requestConfig,
3053
+ headers: {
3054
+ ...defHeaders,
3055
+ ...{}
3056
+ }
3057
+ };
3058
+ const emojiListData = await GlobalGetData4(data2.methodType, {
3059
+ ...baseRequestConfig2,
3060
+ url: xiaohongshuApiUrls2.\u8868\u60C5\u5217\u8868(data2).Url,
3061
+ headers: {
3062
+ ...baseRequestConfig2.headers,
3063
+ "x-s": xiaohongshuSign.generateXSGet(
3064
+ xiaohongshuApiUrls2.\u8868\u60C5\u5217\u8868(data2).apiPath,
3065
+ xiaohongshuSign.extractA1FromCookie(cookie || ""),
3066
+ "xhs-pc-web"
3067
+ ),
3068
+ "x-s-common": xiaohongshuSign.generateXSCommon(),
3069
+ "x-t": xiaohongshuSign.generateXT()
3070
+ }
3071
+ });
3072
+ return emojiListData;
3073
+ }
3074
+ case "\u641C\u7D22\u7B14\u8BB0": {
3075
+ const searchNoteData = await GlobalGetData4(data2.methodType, {
3076
+ ...baseRequestConfig,
3077
+ url: xiaohongshuApiUrls2.\u641C\u7D22\u7B14\u8BB0(data2).Url,
3078
+ data: xiaohongshuApiUrls2.\u641C\u7D22\u7B14\u8BB0(data2).Body,
3079
+ headers: {
3080
+ ...baseRequestConfig.headers,
3081
+ "x-s": xiaohongshuSign.generateXSPost(
3082
+ xiaohongshuApiUrls2.\u641C\u7D22\u7B14\u8BB0(data2).apiPath,
3083
+ xiaohongshuSign.extractA1FromCookie(cookie || ""),
3084
+ "xhs-pc-web"
3085
+ ),
3086
+ "x-s-common": xiaohongshuSign.generateXSCommon(),
3087
+ "x-t": xiaohongshuSign.generateXT()
3088
+ }
3089
+ });
3090
+ return searchNoteData;
3091
+ }
3092
+ default:
3093
+ throw new Error(`\u672A\u77E5\u7684\u5C0F\u7EA2\u4E66\u6570\u636E\u63A5\u53E3: \u300C${logger.red(data2.methodType)}\u300D`);
3094
+ }
3095
+ };
3096
+ var GlobalGetData4 = async (methodType, config) => {
3097
+ var _a;
3098
+ try {
3099
+ const response = await fetchData(config);
3100
+ if (typeof response === "string" && response.includes("<html>")) {
3101
+ return response;
3102
+ }
3103
+ if (response.code !== 0) {
3104
+ throw new Error(`API\u8BF7\u6C42\u5931\u8D25: ${((_a = response.data) == null ? void 0 : _a.msg) || "\u672A\u77E5\u9519\u8BEF"}`);
3105
+ }
3106
+ return response;
3107
+ } catch (error) {
3108
+ logger.error(`\u5C0F\u7EA2\u4E66API\u8BF7\u6C42\u5931\u8D25 [${methodType}]:`, error.message);
3109
+ const errorDetail = {
3110
+ errorDescription: error.message || "\u672A\u77E5\u9519\u8BEF",
3111
+ requestType: methodType,
3112
+ requestUrl: config.url || ""
3113
+ };
3114
+ return {
3115
+ code: 500,
3116
+ message: "error",
3117
+ data: null,
3118
+ amagiError: errorDetail,
3119
+ amagiMessage: `\u5C0F\u7EA2\u4E66API\u8BF7\u6C42\u5931\u8D25: ${error.message}`
3120
+ };
3121
+ }
3122
+ };
3123
+
2599
3124
  // src/model/DataFetchers.ts
2600
3125
  async function getDouyinData(methodType, optionsOrCookie, cookieOrOptions, requestConfig) {
2601
3126
  try {
@@ -2678,6 +3203,32 @@ async function getKuaishouData(methodType, optionsOrCookie, cookieOrOptions, req
2678
3203
  throw new Error(`\u5FEB\u624B\u6570\u636E\u83B7\u53D6\u5931\u8D25: ${errorMessage}`);
2679
3204
  }
2680
3205
  }
3206
+ async function getXiaohongshuData(methodType, optionsOrCookie, cookieOrOptions, requestConfig) {
3207
+ try {
3208
+ let options;
3209
+ let cookie;
3210
+ if (typeof optionsOrCookie === "string") {
3211
+ cookie = optionsOrCookie;
3212
+ options = cookieOrOptions;
3213
+ } else {
3214
+ options = optionsOrCookie;
3215
+ cookie = cookieOrOptions;
3216
+ }
3217
+ const { typeMode: _, ...validationOptions } = options || {};
3218
+ const validatedParams = validateXiaohongshuParams(methodType, validationOptions);
3219
+ const apiParams = {
3220
+ ...validatedParams
3221
+ };
3222
+ const rawData = await XiaohongshuData(apiParams, cookie);
3223
+ if (rawData.code && Object.values(xiaohongshuAPIErrorCode).includes(rawData.code)) {
3224
+ return createErrorResponse(rawData.amagiError, "\u5C0F\u7EA2\u4E66\u6570\u636E\u83B7\u53D6\u5931\u8D25");
3225
+ }
3226
+ return createSuccessResponse(rawData, "\u83B7\u53D6\u6210\u529F", 200);
3227
+ } catch (error) {
3228
+ const errorMessage = error instanceof Error ? error.message : "\u672A\u77E5\u9519\u8BEF";
3229
+ throw new Error(`\u5C0F\u7EA2\u4E66\u6570\u636E\u83B7\u53D6\u5931\u8D25: ${errorMessage}`);
3230
+ }
3231
+ }
2681
3232
 
2682
3233
  // src/platform/bilibili/BilibiliApi.ts
2683
3234
  var createBilibiliApiMethod = (methodType) => {
@@ -2968,7 +3519,7 @@ var ValidationError = class _ValidationError extends Error {
2968
3519
  * @returns 验证错误实例
2969
3520
  */
2970
3521
  static fromZodError(zodError, requestPath) {
2971
- const errors = zodError.errors.map((err) => ({
3522
+ const errors = zodError.issues.map((err) => ({
2972
3523
  field: err.path.join("."),
2973
3524
  message: err.message
2974
3525
  }));
@@ -3024,6 +3575,7 @@ var createValidationMiddleware = (validateFn, methodType) => {
3024
3575
  var createDouyinValidationMiddleware = (methodType) => createValidationMiddleware(validateDouyinParams, methodType);
3025
3576
  var createBilibiliValidationMiddleware = (methodType) => createValidationMiddleware(validateBilibiliParams, methodType);
3026
3577
  var createKuaishouValidationMiddleware = (methodType) => createValidationMiddleware(validateKuaishouParams, methodType);
3578
+ var createXiaohongshuValidationMiddleware = (methodType) => createValidationMiddleware(validateXiaohongshuParams, methodType);
3027
3579
  var createBilibiliRouteHandler = (dataFetcher, methodType, cookie, requestConfig = getBilibiliDefaultConfig(cookie)) => {
3028
3580
  return async (req, res) => {
3029
3581
  try {
@@ -3573,11 +4125,184 @@ var kuaishouUtils = {
3573
4125
  kuaishouApiUrls,
3574
4126
  api: kuaishou
3575
4127
  };
4128
+
4129
+ // src/platform/xiaohongshu/XiaohongshuApi.ts
4130
+ var createXiaohongshuApiMethod = (methodType) => {
4131
+ return async (options, cookie, requestConfig) => {
4132
+ return await getXiaohongshuData(methodType, options, cookie);
4133
+ };
4134
+ };
4135
+ var createBoundXiaohongshuApiMethod = (methodType, cookie, requestConfig) => {
4136
+ return async (options) => {
4137
+ return await getXiaohongshuData(methodType, options, cookie);
4138
+ };
4139
+ };
4140
+ var xiaohongshu = {
4141
+ /**
4142
+ * 获取首页推荐数据
4143
+ * @param options 请求参数,包含分页和过滤选项
4144
+ * @param cookie 有效的用户 Cookie
4145
+ * @returns 统一格式的API响应,包含首页推荐笔记列表
4146
+ */
4147
+ getHomeFeed: createXiaohongshuApiMethod("\u9996\u9875\u63A8\u8350\u6570\u636E"),
4148
+ /**
4149
+ * 获取单个笔记数据
4150
+ * @param options 请求参数,包含笔记ID
4151
+ * @param cookie 有效的用户 Cookie
4152
+ * @returns 统一格式的API响应,包含指定笔记的详细信息
4153
+ */
4154
+ getNote: createXiaohongshuApiMethod("\u5355\u4E2A\u7B14\u8BB0\u6570\u636E"),
4155
+ /**
4156
+ * 获取评论数据
4157
+ * @param options 请求参数,包含笔记ID和分页选项
4158
+ * @param cookie 有效的用户 Cookie
4159
+ * @returns 统一格式的API响应,包含指定笔记的评论列表
4160
+ */
4161
+ getComments: createXiaohongshuApiMethod("\u8BC4\u8BBA\u6570\u636E"),
4162
+ /**
4163
+ * 获取用户数据
4164
+ * @param options 请求参数,包含用户ID
4165
+ * @param cookie 有效的用户 Cookie
4166
+ * @returns 统一格式的API响应,包含指定用户的详细信息
4167
+ */
4168
+ getUser: createXiaohongshuApiMethod("\u7528\u6237\u6570\u636E"),
4169
+ /**
4170
+ * 获取用户笔记数据
4171
+ * @param options 请求参数,包含用户ID和分页选项
4172
+ * @param cookie 有效的用户 Cookie
4173
+ * @returns 统一格式的API响应,包含指定用户的笔记列表
4174
+ */
4175
+ getUserNotes: createXiaohongshuApiMethod("\u7528\u6237\u7B14\u8BB0\u6570\u636E"),
4176
+ /**
4177
+ * 获取搜索笔记数据
4178
+ * @param options 请求参数,包含搜索关键词和分页选项
4179
+ * @param cookie 有效的用户 Cookie
4180
+ * @returns 统一格式的API响应,包含搜索到的笔记列表
4181
+ */
4182
+ getSearchNotes: createXiaohongshuApiMethod("\u641C\u7D22\u7B14\u8BB0"),
4183
+ /**
4184
+ * 获取表情列表数据
4185
+ * @param options 请求参数,包含分页和过滤选项
4186
+ * @param cookie 有效的用户 Cookie
4187
+ * @returns 统一格式的API响应,包含表情列表
4188
+ */
4189
+ getEmojiList: createXiaohongshuApiMethod("\u8868\u60C5\u5217\u8868")
4190
+ };
4191
+ var createBoundXiaohongshuApi = (cookie, requestConfig) => {
4192
+ return {
4193
+ /**
4194
+ * 获取首页推荐数据
4195
+ * @param options 请求参数,包含分页和过滤选项
4196
+ * @returns 统一格式的API响应,包含首页推荐笔记列表
4197
+ */
4198
+ getHomeFeed: createBoundXiaohongshuApiMethod("\u9996\u9875\u63A8\u8350\u6570\u636E", cookie),
4199
+ /**
4200
+ * 获取单个笔记数据
4201
+ * @param options 请求参数,包含笔记ID
4202
+ * @returns 统一格式的API响应,包含指定笔记的详细信息
4203
+ */
4204
+ getNote: createBoundXiaohongshuApiMethod("\u5355\u4E2A\u7B14\u8BB0\u6570\u636E", cookie),
4205
+ /**
4206
+ * 获取评论数据
4207
+ * @param options 请求参数,包含笔记ID和分页选项
4208
+ * @returns 统一格式的API响应,包含指定笔记的评论列表
4209
+ */
4210
+ getComments: createBoundXiaohongshuApiMethod("\u8BC4\u8BBA\u6570\u636E", cookie),
4211
+ /**
4212
+ * 获取用户数据
4213
+ * @param options 请求参数,包含用户ID
4214
+ * @returns 统一格式的API响应,包含指定用户的详细信息
4215
+ */
4216
+ getUser: createBoundXiaohongshuApiMethod("\u7528\u6237\u6570\u636E", cookie),
4217
+ /**
4218
+ * 获取用户笔记数据
4219
+ * @param options 请求参数,包含用户ID和分页选项
4220
+ * @returns 统一格式的API响应,包含指定用户的笔记列表
4221
+ */
4222
+ getUserNotes: createBoundXiaohongshuApiMethod("\u7528\u6237\u7B14\u8BB0\u6570\u636E", cookie),
4223
+ /**
4224
+ * 获取搜索笔记数据
4225
+ * @param options 请求参数,包含搜索关键词和分页选项
4226
+ * @returns 统一格式的API响应,包含搜索到的笔记列表
4227
+ */
4228
+ getSearchNotes: createBoundXiaohongshuApiMethod("\u641C\u7D22\u7B14\u8BB0", cookie),
4229
+ /**
4230
+ * 获取表情列表数据
4231
+ * @param options 请求参数,包含分页和过滤选项
4232
+ * @returns 统一格式的API响应,包含表情列表
4233
+ */
4234
+ getEmojiList: createBoundXiaohongshuApiMethod("\u8868\u60C5\u5217\u8868", cookie)
4235
+ };
4236
+ };
4237
+ var createXiaohongshuRouteHandler = (dataFetcher, methodType, cookie, requestConfig = getXiaohongshuDefaultConfig(cookie)) => {
4238
+ return async (req, res) => {
4239
+ try {
4240
+ const result = await dataFetcher(methodType, req.validatedParams, cookie, requestConfig);
4241
+ res.json({
4242
+ ...result,
4243
+ requestPath: req.originalUrl
4244
+ });
4245
+ } catch (error) {
4246
+ const errorResponse = handleError(error);
4247
+ res.status(errorResponse.code || 500).json({
4248
+ ...errorResponse,
4249
+ requestPath: req.originalUrl
4250
+ });
4251
+ }
4252
+ };
4253
+ };
4254
+ var createXiaohongshuRoutes = (cookie, requestConfig = getXiaohongshuDefaultConfig(cookie)) => {
4255
+ const router = Router();
4256
+ router.get(
4257
+ "/fetch_home_feed",
4258
+ createXiaohongshuValidationMiddleware("\u9996\u9875\u63A8\u8350\u6570\u636E"),
4259
+ createXiaohongshuRouteHandler(getXiaohongshuData, "\u9996\u9875\u63A8\u8350\u6570\u636E", cookie, requestConfig)
4260
+ );
4261
+ router.get(
4262
+ "/fetch_one_note",
4263
+ createXiaohongshuValidationMiddleware("\u5355\u4E2A\u7B14\u8BB0\u6570\u636E"),
4264
+ createXiaohongshuRouteHandler(getXiaohongshuData, "\u5355\u4E2A\u7B14\u8BB0\u6570\u636E", cookie, requestConfig)
4265
+ );
4266
+ router.get(
4267
+ "/fetch_note_comments",
4268
+ createXiaohongshuValidationMiddleware("\u8BC4\u8BBA\u6570\u636E"),
4269
+ createXiaohongshuRouteHandler(getXiaohongshuData, "\u8BC4\u8BBA\u6570\u636E", cookie, requestConfig)
4270
+ );
4271
+ router.get(
4272
+ "/fetch_user_profile",
4273
+ createXiaohongshuValidationMiddleware("\u7528\u6237\u6570\u636E"),
4274
+ createXiaohongshuRouteHandler(getXiaohongshuData, "\u7528\u6237\u6570\u636E", cookie, requestConfig)
4275
+ );
4276
+ router.get(
4277
+ "/fetch_user_notes",
4278
+ createXiaohongshuValidationMiddleware("\u7528\u6237\u7B14\u8BB0\u6570\u636E"),
4279
+ createXiaohongshuRouteHandler(getXiaohongshuData, "\u7528\u6237\u7B14\u8BB0\u6570\u636E", cookie, requestConfig)
4280
+ );
4281
+ router.get(
4282
+ "/fetch_emoji_list",
4283
+ createXiaohongshuValidationMiddleware("\u8868\u60C5\u5217\u8868"),
4284
+ createXiaohongshuRouteHandler(getXiaohongshuData, "\u8868\u60C5\u5217\u8868", cookie, requestConfig)
4285
+ );
4286
+ router.get(
4287
+ "/fetch_search_notes",
4288
+ createXiaohongshuValidationMiddleware("\u641C\u7D22\u7B14\u8BB0"),
4289
+ createXiaohongshuRouteHandler(getXiaohongshuData, "\u641C\u7D22\u7B14\u8BB0", cookie, requestConfig)
4290
+ );
4291
+ return router;
4292
+ };
4293
+
4294
+ // src/platform/xiaohongshu/index.ts
4295
+ var xiaohongshuUtils = {
4296
+ sign: xiaohongshuSign,
4297
+ xiaohongshuApiUrls,
4298
+ api: xiaohongshu
4299
+ };
3576
4300
  var createAmagiClient = (options) => {
3577
- var _a, _b, _c;
4301
+ var _a, _b, _c, _d;
3578
4302
  const douyinCookie = ((_a = options == null ? void 0 : options.cookies) == null ? void 0 : _a.douyin) ?? "";
3579
4303
  const bilibiliCookie = ((_b = options == null ? void 0 : options.cookies) == null ? void 0 : _b.bilibili) ?? "";
3580
4304
  const kuaishouCookie = ((_c = options == null ? void 0 : options.cookies) == null ? void 0 : _c.kuaishou) ?? "";
4305
+ const xiaohongshuCookie = ((_d = options == null ? void 0 : options.cookies) == null ? void 0 : _d.xiaohongshu) ?? "";
3581
4306
  const requestConfig = (options == null ? void 0 : options.request) ?? {};
3582
4307
  const startServer = (port = 4567) => {
3583
4308
  const app = express();
@@ -3592,6 +4317,7 @@ var createAmagiClient = (options) => {
3592
4317
  app.use("/api/douyin", createDouyinRoutes(douyinCookie, requestConfig));
3593
4318
  app.use("/api/bilibili", createBilibiliRoutes(bilibiliCookie, requestConfig));
3594
4319
  app.use("/api/kuaishou", createKuaishouRoutes(kuaishouCookie, requestConfig));
4320
+ app.use("/api/xiaohongshu", createXiaohongshuRoutes(xiaohongshuCookie, requestConfig));
3595
4321
  app.listen(port, "::", () => {
3596
4322
  logger.mark(`Amagi server listening on ${logger.green(`http://localhost:${port}`)} ${logger.yellow("API docs: https://amagi.apifox.cn ")}`);
3597
4323
  });
@@ -3606,12 +4332,16 @@ var createAmagiClient = (options) => {
3606
4332
  const getKuaishouDataWithCookie = async (methodType, options2) => {
3607
4333
  return await getKuaishouData(methodType, options2, kuaishouCookie);
3608
4334
  };
4335
+ const getXiaohongshuDataWithCookie = async (methodType, options2) => {
4336
+ return await getXiaohongshuData(methodType, options2, xiaohongshuCookie);
4337
+ };
3609
4338
  return {
3610
4339
  /** 启动本地HTTP服务 */
3611
4340
  startServer,
3612
4341
  getDouyinData: getDouyinDataWithCookie,
3613
4342
  getBilibiliData: getBilibiliDataWithCookie,
3614
4343
  getKuaishouData: getKuaishouDataWithCookie,
4344
+ getXiaohongshuData: getXiaohongshuDataWithCookie,
3615
4345
  douyin: {
3616
4346
  ...douyinUtils,
3617
4347
  /** 绑定了cookie和请求配置的抖音API对象,调用时不需要传递cookie */
@@ -3626,6 +4356,11 @@ var createAmagiClient = (options) => {
3626
4356
  ...kuaishouUtils,
3627
4357
  /** 绑定了cookie和请求配置的快手API对象,调用时不需要传递cookie */
3628
4358
  api: createBoundKuaishouApi(kuaishouCookie)
4359
+ },
4360
+ xiaohongshu: {
4361
+ ...xiaohongshuUtils,
4362
+ /** 绑定了cookie和请求配置的小红书API对象,调用时不需要传递cookie */
4363
+ api: createBoundXiaohongshuApi(xiaohongshuCookie)
3629
4364
  }
3630
4365
  };
3631
4366
  };
@@ -3686,9 +4421,11 @@ function CreateAmagiApp(options = {}) {
3686
4421
  CreateAmagiApp.douyin = douyinUtils;
3687
4422
  CreateAmagiApp.bilibili = bilibiliUtils;
3688
4423
  CreateAmagiApp.kuaishou = kuaishouUtils;
4424
+ CreateAmagiApp.xiaohongshu = xiaohongshuUtils;
3689
4425
  CreateAmagiApp.getDouyinData = getDouyinData;
3690
4426
  CreateAmagiApp.getBilibiliData = getBilibiliData;
3691
4427
  CreateAmagiApp.getKuaishouData = getKuaishouData;
4428
+ CreateAmagiApp.getXiaohongshuData = getXiaohongshuData;
3692
4429
  var CreateApp = CreateAmagiApp;
3693
4430
  var Client = CreateApp;
3694
4431
  var amagi = Client;
@@ -3698,4 +4435,4 @@ var amagi = Client;
3698
4435
  * GPL-3.0 Licensed
3699
4436
  */
3700
4437
 
3701
- export { AdditionalType, ApiError, BilibiliAv2BvParamsSchema, BilibiliBangumiInfoParamsSchema, BilibiliBangumiStreamParamsSchema, BilibiliBv2AvParamsSchema, BilibiliCommentParamsSchema, BilibiliDynamicParamsSchema, BilibiliEmojiParamsSchema, BilibiliLiveParamsSchema, BilibiliLoginParamsSchema, BilibiliQrcodeParamsSchema, BilibiliQrcodeStatusParamsSchema, BilibiliUserParamsSchema, BilibiliValidationSchemas2 as BilibiliValidationSchemas, BilibiliVideoDownloadParamsSchema, BilibiliVideoParamsSchema, CreateApp, DouyinCommentParamsSchema, DouyinCommentReplyParamsSchema, DouyinDanmakuParamsSchema, DouyinEmojiListParamsSchema, DouyinEmojiProParamsSchema, DouyinMusicParamsSchema, DouyinQrcodeParamsSchema, DouyinSearchParamsSchema, DouyinUserParamsSchema, DouyinValidationSchemas2 as DouyinValidationSchemas, DouyinWorkParamsSchema, DynamicType, KuaishouCommentParamsSchema, KuaishouEmojiParamsSchema, KuaishouValidationSchemas2 as KuaishouValidationSchemas, KuaishouVideoParamsSchema, MajorType, ValidationError, amagi, amagiClient, av2bv, bilibili, bilibiliApiUrls, bilibiliErrorCodeMap, bilibiliUtils, bv2av, createAmagiClient, createBilibiliRoutes, createBoundBilibiliApi, createBoundDouyinApi, createBoundKuaishouApi, createDouyinRoutes, createErrorResponse, createKuaishouRoutes, createSuccessResponse, Client as default, douyin, douyinApiUrls, douyinSign, douyinUtils, fetchData, fetchResponse, getBilibiliData, getDouyinData, getHeadersAndData, getKuaishouData, handleError, httpLogger, kuaishou, kuaishouApiUrls, kuaishouUtils, logMiddleware, logger, qtparam, createBilibiliRoutes as registerBilibiliRoutes, createDouyinRoutes as registerDouyinRoutes, createKuaishouRoutes as registerKuaishouRoutes, validateBilibiliParams, validateDouyinParams, validateKuaishouParams, wbi_sign };
4438
+ export { AdditionalType, ApiError, BilibiliAv2BvParamsSchema, BilibiliBangumiInfoParamsSchema, BilibiliBangumiStreamParamsSchema, BilibiliBv2AvParamsSchema, BilibiliCommentParamsSchema, BilibiliDynamicParamsSchema, BilibiliEmojiParamsSchema, BilibiliLiveParamsSchema, BilibiliLoginParamsSchema, BilibiliQrcodeParamsSchema, BilibiliQrcodeStatusParamsSchema, BilibiliUserParamsSchema, BilibiliValidationSchemas2 as BilibiliValidationSchemas, BilibiliVideoDownloadParamsSchema, BilibiliVideoParamsSchema, CreateApp, DouyinCommentParamsSchema, DouyinCommentReplyParamsSchema, DouyinDanmakuParamsSchema, DouyinEmojiListParamsSchema, DouyinEmojiProParamsSchema, DouyinMusicParamsSchema, DouyinQrcodeParamsSchema, DouyinSearchParamsSchema, DouyinUserParamsSchema, DouyinValidationSchemas2 as DouyinValidationSchemas, DouyinWorkParamsSchema, DynamicType, KuaishouCommentParamsSchema, KuaishouEmojiParamsSchema, KuaishouValidationSchemas2 as KuaishouValidationSchemas, KuaishouVideoParamsSchema, MajorType, ValidationError, XiaohongshuValidationSchemas, amagi, amagiClient, av2bv, bilibili, bilibiliApiUrls, bilibiliErrorCodeMap, bilibiliUtils, bv2av, createAmagiClient, createBilibiliRoutes, createBoundBilibiliApi, createBoundDouyinApi, createBoundKuaishouApi, createBoundXiaohongshuApi, createDouyinRoutes, createErrorResponse, createKuaishouRoutes, createSuccessResponse, createXiaohongshuRoutes, Client as default, douyin, douyinApiUrls, douyinSign, douyinUtils, fetchData, fetchResponse, getBilibiliData, getDouyinData, getHeadersAndData, getKuaishouData, handleError, httpLogger, kuaishou, kuaishouApiUrls, kuaishouUtils, logMiddleware, logger, qtparam, createBilibiliRoutes as registerBilibiliRoutes, createDouyinRoutes as registerDouyinRoutes, createKuaishouRoutes as registerKuaishouRoutes, createXiaohongshuRoutes as registerXiaohongshuRoutes, validateBilibiliParams, validateDouyinParams, validateKuaishouParams, validateXiaohongshuParams, wbi_sign, xiaohongshu, xiaohongshuApiUrls, xiaohongshuSign, xiaohongshuUtils };