@ikenxuan/amagi 2.3.0 → 3.0.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.
Files changed (55) hide show
  1. package/README.md +34 -32
  2. package/lib/business/bilibili/API.d.ts +13 -13
  3. package/lib/business/bilibili/API.js +1 -1
  4. package/lib/business/bilibili/getdata.d.ts +1 -1
  5. package/lib/business/bilibili/getdata.js +1 -1
  6. package/lib/business/bilibili/result.d.ts +2 -2
  7. package/lib/business/bilibili/result.js +15 -6
  8. package/lib/business/bilibili/sign/wbi.js +3 -3
  9. package/lib/business/douyin/API.d.ts +12 -12
  10. package/lib/business/douyin/API.js +1 -1
  11. package/lib/business/douyin/getdata.d.ts +1 -1
  12. package/lib/business/douyin/getdata.js +8 -1
  13. package/lib/business/douyin/result.d.ts +1 -1
  14. package/lib/business/douyin/result.js +3 -1
  15. package/lib/business/index.d.ts +1 -0
  16. package/lib/business/index.js +2 -1
  17. package/lib/business/xiaohongshu/AIP.d.ts +14 -0
  18. package/lib/business/xiaohongshu/AIP.js +17 -0
  19. package/lib/business/xiaohongshu/getdata.d.ts +13 -0
  20. package/lib/business/xiaohongshu/getdata.js +58 -0
  21. package/lib/business/xiaohongshu/index.d.ts +5 -0
  22. package/lib/business/xiaohongshu/index.js +6 -0
  23. package/lib/business/xiaohongshu/result.d.ts +9 -0
  24. package/lib/business/xiaohongshu/result.js +19 -0
  25. package/lib/business/xiaohongshu/sign/generateX_S.d.ts +2 -0
  26. package/lib/business/xiaohongshu/sign/generateX_S.js +207 -0
  27. package/lib/business/xiaohongshu/sign/generateX_S_Common.d.ts +6 -0
  28. package/lib/business/xiaohongshu/sign/generateX_S_Common.js +141 -0
  29. package/lib/business/xiaohongshu/sign/index.d.ts +16 -0
  30. package/lib/business/xiaohongshu/sign/index.js +29 -0
  31. package/lib/index.d.ts +1 -19
  32. package/lib/index.js +2 -26
  33. package/lib/model/DataFetchers.d.ts +40 -0
  34. package/lib/model/DataFetchers.js +50 -0
  35. package/lib/model/index.d.ts +3 -3
  36. package/lib/model/index.js +4 -4
  37. package/lib/model/logger.d.ts +1 -1
  38. package/lib/model/logger.js +2 -2
  39. package/lib/model/networks.d.ts +1 -1
  40. package/lib/model/networks.js +7 -4
  41. package/lib/server/client.d.ts +26 -31
  42. package/lib/server/client.js +15 -30
  43. package/lib/server/listen.d.ts +5 -0
  44. package/lib/server/listen.js +7 -2
  45. package/lib/test.d.ts +1 -0
  46. package/lib/test.js +17 -0
  47. package/lib/types/BilibiliAPIParams.d.ts +35 -11
  48. package/lib/types/DataType.d.ts +8 -1
  49. package/lib/types/DouyinAPIParams.d.ts +39 -5
  50. package/lib/types/OptionsType.d.ts +18 -4
  51. package/lib/types/XiaohongshuAPIParams.d.ts +13 -0
  52. package/lib/types/XiaohongshuAPIParams.js +2 -0
  53. package/lib/types/index.d.ts +9 -8
  54. package/lib/types/index.js +1 -1
  55. package/package.json +11 -11
@@ -0,0 +1,9 @@
1
+ import { XiaohongshuDataType, XiaohongshuOptionsType, GetDataResponseType } from '../../types/index.js';
2
+ interface configParams {
3
+ /** 请求数据的类型 */
4
+ type: keyof typeof XiaohongshuDataType;
5
+ /** 小红书用户ck */
6
+ cookie: string;
7
+ }
8
+ export default function XiaohongshuResult(config?: configParams, options?: XiaohongshuOptionsType): Promise<GetDataResponseType>;
9
+ export {};
@@ -0,0 +1,19 @@
1
+ import { XiaohongshuData } from '../../business/xiaohongshu/index.js';
2
+ export default async function XiaohongshuResult(config = { cookie: '' }, options = {}) {
3
+ let result;
4
+ switch (config.type) {
5
+ case "\u5355\u4E2A\u7B14\u8BB0" /* XiaohongshuDataType.单个笔记 */: {
6
+ result = await new XiaohongshuData(config.type, config.cookie).GetData(options);
7
+ break;
8
+ }
9
+ default:
10
+ result = '';
11
+ break;
12
+ }
13
+ return {
14
+ code: result !== false && result !== '' ? 200 : 503,
15
+ message: result !== false && result !== '' ? 'success' : 'error',
16
+ data: result !== false && result !== '' ? result : null
17
+ };
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2J1c2luZXNzL3hpYW9ob25nc2h1L3Jlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFRNUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFVBQVUsaUJBQWlCLENBQzdDLFNBQXVCLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBa0IsRUFDckQsVUFBVSxFQUE0QjtJQUV0QyxJQUFJLE1BQVcsQ0FBQTtJQUNmLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BCLDhEQUE2QixDQUFDLENBQUMsQ0FBQztZQUM5QixNQUFNLEdBQUcsTUFBTSxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDL0UsTUFBSztRQUNQLENBQUM7UUFFRDtZQUNFLE1BQU0sR0FBRyxFQUFFLENBQUE7WUFDWCxNQUFLO0lBQ1QsQ0FBQztJQUNELE9BQU87UUFDTCxJQUFJLEVBQUUsTUFBTSxLQUFLLEtBQUssSUFBSSxNQUFNLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUc7UUFDbkQsT0FBTyxFQUFFLE1BQU0sS0FBSyxLQUFLLElBQUksTUFBTSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPO1FBQ2hFLElBQUksRUFBRSxNQUFNLEtBQUssS0FBSyxJQUFJLE1BQU0sS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSTtLQUN4RCxDQUFBO0FBRUgsQ0FBQyJ9
@@ -0,0 +1,2 @@
1
+ export declare function getPayload(base64String: string): string;
2
+ export declare function generateX_S(url: string, cookie: string, body?: any): string;
@@ -0,0 +1,207 @@
1
+ import crypto from 'crypto';
2
+ let key = [187050025, 472920585, 186915882, 876157969, 255199502, 806945584, 220596020, 958210835, 757275681,
3
+ 940378667, 489892883, 705504304, 354103316, 688857884, 890312192, 219096591, 622400037, 254088489,
4
+ 907618332, 52759587, 907877143, 53870614, 839463457, 389417746, 975774727, 372382245, 437136414,
5
+ 909246726, 168694017, 473575703, 52697872, 1010440969
6
+ ];
7
+ function des(key, message, encrypt, mode, iv, padding) {
8
+ if (encrypt) //如果是加密的话,首先转换编码
9
+ message = unescape(encodeURIComponent(message));
10
+ //declaring this locally speeds things up a bit
11
+ const spfunction1 = new Array(0x1010400, 0, 0x10000, 0x1010404, 0x1010004, 0x10404, 0x4, 0x10000, 0x400, 0x1010400, 0x1010404, 0x400, 0x1000404, 0x1010004, 0x1000000, 0x4, 0x404, 0x1000400, 0x1000400, 0x10400, 0x10400, 0x1010000, 0x1010000, 0x1000404, 0x10004, 0x1000004, 0x1000004, 0x10004, 0, 0x404, 0x10404, 0x1000000, 0x10000, 0x1010404, 0x4, 0x1010000, 0x1010400, 0x1000000, 0x1000000, 0x400, 0x1010004, 0x10000, 0x10400, 0x1000004, 0x400, 0x4, 0x1000404, 0x10404, 0x1010404, 0x10004, 0x1010000, 0x1000404, 0x1000004, 0x404, 0x10404, 0x1010400, 0x404, 0x1000400, 0x1000400, 0, 0x10004, 0x10400, 0, 0x1010004);
12
+ const spfunction2 = new Array(-0x7fef7fe0, -0x7fff8000, 0x8000, 0x108020, 0x100000, 0x20, -0x7fefffe0, -0x7fff7fe0, -0x7fffffe0, -0x7fef7fe0, -0x7fef8000, -0x80000000, -0x7fff8000, 0x100000, 0x20, -0x7fefffe0, 0x108000, 0x100020, -0x7fff7fe0, 0, -0x80000000, 0x8000, 0x108020, -0x7ff00000, 0x100020, -0x7fffffe0, 0, 0x108000, 0x8020, -0x7fef8000, -0x7ff00000, 0x8020, 0, 0x108020, -0x7fefffe0, 0x100000, -0x7fff7fe0, -0x7ff00000, -0x7fef8000, 0x8000, -0x7ff00000, -0x7fff8000, 0x20, -0x7fef7fe0, 0x108020, 0x20, 0x8000, -0x80000000, 0x8020, -0x7fef8000, 0x100000, -0x7fffffe0, 0x100020, -0x7fff7fe0, -0x7fffffe0, 0x100020, 0x108000, 0, -0x7fff8000, 0x8020, -0x80000000, -0x7fefffe0, -0x7fef7fe0, 0x108000);
13
+ const spfunction3 = new Array(0x208, 0x8020200, 0, 0x8020008, 0x8000200, 0, 0x20208, 0x8000200, 0x20008, 0x8000008, 0x8000008, 0x20000, 0x8020208, 0x20008, 0x8020000, 0x208, 0x8000000, 0x8, 0x8020200, 0x200, 0x20200, 0x8020000, 0x8020008, 0x20208, 0x8000208, 0x20200, 0x20000, 0x8000208, 0x8, 0x8020208, 0x200, 0x8000000, 0x8020200, 0x8000000, 0x20008, 0x208, 0x20000, 0x8020200, 0x8000200, 0, 0x200, 0x20008, 0x8020208, 0x8000200, 0x8000008, 0x200, 0, 0x8020008, 0x8000208, 0x20000, 0x8000000, 0x8020208, 0x8, 0x20208, 0x20200, 0x8000008, 0x8020000, 0x8000208, 0x208, 0x8020000, 0x20208, 0x8, 0x8020008, 0x20200);
14
+ const spfunction4 = new Array(0x802001, 0x2081, 0x2081, 0x80, 0x802080, 0x800081, 0x800001, 0x2001, 0, 0x802000, 0x802000, 0x802081, 0x81, 0, 0x800080, 0x800001, 0x1, 0x2000, 0x800000, 0x802001, 0x80, 0x800000, 0x2001, 0x2080, 0x800081, 0x1, 0x2080, 0x800080, 0x2000, 0x802080, 0x802081, 0x81, 0x800080, 0x800001, 0x802000, 0x802081, 0x81, 0, 0, 0x802000, 0x2080, 0x800080, 0x800081, 0x1, 0x802001, 0x2081, 0x2081, 0x80, 0x802081, 0x81, 0x1, 0x2000, 0x800001, 0x2001, 0x802080, 0x800081, 0x2001, 0x2080, 0x800000, 0x802001, 0x80, 0x800000, 0x2000, 0x802080);
15
+ const spfunction5 = new Array(0x100, 0x2080100, 0x2080000, 0x42000100, 0x80000, 0x100, 0x40000000, 0x2080000, 0x40080100, 0x80000, 0x2000100, 0x40080100, 0x42000100, 0x42080000, 0x80100, 0x40000000, 0x2000000, 0x40080000, 0x40080000, 0, 0x40000100, 0x42080100, 0x42080100, 0x2000100, 0x42080000, 0x40000100, 0, 0x42000000, 0x2080100, 0x2000000, 0x42000000, 0x80100, 0x80000, 0x42000100, 0x100, 0x2000000, 0x40000000, 0x2080000, 0x42000100, 0x40080100, 0x2000100, 0x40000000, 0x42080000, 0x2080100, 0x40080100, 0x100, 0x2000000, 0x42080000, 0x42080100, 0x80100, 0x42000000, 0x42080100, 0x2080000, 0, 0x40080000, 0x42000000, 0x80100, 0x2000100, 0x40000100, 0x80000, 0, 0x40080000, 0x2080100, 0x40000100);
16
+ const spfunction6 = new Array(0x20000010, 0x20400000, 0x4000, 0x20404010, 0x20400000, 0x10, 0x20404010, 0x400000, 0x20004000, 0x404010, 0x400000, 0x20000010, 0x400010, 0x20004000, 0x20000000, 0x4010, 0, 0x400010, 0x20004010, 0x4000, 0x404000, 0x20004010, 0x10, 0x20400010, 0x20400010, 0, 0x404010, 0x20404000, 0x4010, 0x404000, 0x20404000, 0x20000000, 0x20004000, 0x10, 0x20400010, 0x404000, 0x20404010, 0x400000, 0x4010, 0x20000010, 0x400000, 0x20004000, 0x20000000, 0x4010, 0x20000010, 0x20404010, 0x404000, 0x20400000, 0x404010, 0x20404000, 0, 0x20400010, 0x10, 0x4000, 0x20400000, 0x404010, 0x4000, 0x400010, 0x20004010, 0, 0x20404000, 0x20000000, 0x400010, 0x20004010);
17
+ const spfunction7 = new Array(0x200000, 0x4200002, 0x4000802, 0, 0x800, 0x4000802, 0x200802, 0x4200800, 0x4200802, 0x200000, 0, 0x4000002, 0x2, 0x4000000, 0x4200002, 0x802, 0x4000800, 0x200802, 0x200002, 0x4000800, 0x4000002, 0x4200000, 0x4200800, 0x200002, 0x4200000, 0x800, 0x802, 0x4200802, 0x200800, 0x2, 0x4000000, 0x200800, 0x4000000, 0x200800, 0x200000, 0x4000802, 0x4000802, 0x4200002, 0x4200002, 0x2, 0x200002, 0x4000000, 0x4000800, 0x200000, 0x4200800, 0x802, 0x200802, 0x4200800, 0x802, 0x4000002, 0x4200802, 0x4200000, 0x200800, 0, 0x2, 0x4200802, 0, 0x200802, 0x4200000, 0x800, 0x4000002, 0x4000800, 0x800, 0x200002);
18
+ const spfunction8 = new Array(0x10001040, 0x1000, 0x40000, 0x10041040, 0x10000000, 0x10001040, 0x40, 0x10000000, 0x40040, 0x10040000, 0x10041040, 0x41000, 0x10041000, 0x41040, 0x1000, 0x40, 0x10040000, 0x10000040, 0x10001000, 0x1040, 0x41000, 0x40040, 0x10040040, 0x10041000, 0x1040, 0, 0, 0x10040040, 0x10000040, 0x10001000, 0x41040, 0x40000, 0x41040, 0x40000, 0x10041000, 0x1000, 0x40, 0x10040040, 0x1000, 0x41040, 0x10001000, 0x40, 0x10000040, 0x10040000, 0x10040040, 0x10000000, 0x40000, 0x10001040, 0, 0x10041040, 0x40040, 0x10000040, 0x10040000, 0x10001000, 0x10001040, 0, 0x10041040, 0x41000, 0x41000, 0x1040, 0x1040, 0x40040, 0x10000000, 0x10041000);
19
+ // create the 16 or 48 subkeys we will need
20
+ // var keys = des_createKeys(key)
21
+ const keys = key;
22
+ let m = 0, i, j, temp, temp2, right1, right2, left, right, looping;
23
+ let cbcleft, cbcleft2, cbcright, cbcright2;
24
+ let endloop, loopinc;
25
+ let len = message.length;
26
+ let chunk = 0;
27
+ //set up the loops for single and triple des
28
+ var iterations = keys.length == 32 ? 3 : 9; //single or triple des
29
+ if (iterations == 3) {
30
+ looping = encrypt ? new Array(0, 32, 2) : new Array(30, -2, -2);
31
+ }
32
+ else {
33
+ looping = encrypt ? new Array(0, 32, 2, 62, 30, -2, 64, 96, 2) : new Array(94, 62, -2, 32, 64, 2, 30, -2, -2);
34
+ }
35
+ //pad the message depending on the padding parameter
36
+ if (padding == 2)
37
+ message += " "; //pad the message with spaces
38
+ else if (padding == 1) {
39
+ if (encrypt) {
40
+ temp = 8 - (len % 8);
41
+ message += String.fromCharCode(temp, temp, temp, temp, temp, temp, temp, temp);
42
+ if (temp === 8)
43
+ len += 8;
44
+ }
45
+ } //PKCS7 padding
46
+ else if (!padding)
47
+ message += "\0\0\0\0\0\0\0\0"; //pad the message out with null bytes
48
+ //store the result here
49
+ var result = "";
50
+ var tempresult = "";
51
+ if (mode == 1) { //CBC mode
52
+ cbcleft = (iv.charCodeAt(m++) << 24) | (iv.charCodeAt(m++) << 16) | (iv.charCodeAt(m++) << 8) | iv.charCodeAt(m++);
53
+ cbcright = (iv.charCodeAt(m++) << 24) | (iv.charCodeAt(m++) << 16) | (iv.charCodeAt(m++) << 8) | iv.charCodeAt(m++);
54
+ m = 0;
55
+ }
56
+ //loop through each 64 bit chunk of the message
57
+ while (m < len) {
58
+ left = (message.charCodeAt(m++) << 24) | (message.charCodeAt(m++) << 16) | (message.charCodeAt(m++) << 8) | message.charCodeAt(m++);
59
+ right = (message.charCodeAt(m++) << 24) | (message.charCodeAt(m++) << 16) | (message.charCodeAt(m++) << 8) | message.charCodeAt(m++);
60
+ //for Cipher Block Chaining mode, xor the message with the previous result
61
+ if (mode == 1) {
62
+ if (encrypt) {
63
+ left ^= cbcleft;
64
+ right ^= cbcright;
65
+ }
66
+ else {
67
+ cbcleft2 = cbcleft;
68
+ cbcright2 = cbcright;
69
+ cbcleft = left;
70
+ cbcright = right;
71
+ }
72
+ }
73
+ //first each 64 but chunk of the message must be permuted according to IP
74
+ temp = ((left >>> 4) ^ right) & 0x0f0f0f0f;
75
+ right ^= temp;
76
+ left ^= (temp << 4);
77
+ temp = ((left >>> 16) ^ right) & 0x0000ffff;
78
+ right ^= temp;
79
+ left ^= (temp << 16);
80
+ temp = ((right >>> 2) ^ left) & 0x33333333;
81
+ left ^= temp;
82
+ right ^= (temp << 2);
83
+ temp = ((right >>> 8) ^ left) & 0x00ff00ff;
84
+ left ^= temp;
85
+ right ^= (temp << 8);
86
+ temp = ((left >>> 1) ^ right) & 0x55555555;
87
+ right ^= temp;
88
+ left ^= (temp << 1);
89
+ left = ((left << 1) | (left >>> 31));
90
+ right = ((right << 1) | (right >>> 31));
91
+ //do this either 1 or 3 times for each chunk of the message
92
+ for (j = 0; j < iterations; j += 3) {
93
+ endloop = looping[j + 1];
94
+ loopinc = looping[j + 2];
95
+ //now go through and perform the encryption or decryption
96
+ for (i = looping[j]; i != endloop; i += loopinc) { //for efficiency
97
+ right1 = right ^ keys[i];
98
+ right2 = ((right >>> 4) | (right << 28)) ^ keys[i + 1];
99
+ //the result is attained by passing these bytes through the S selection functions
100
+ temp = left;
101
+ left = right;
102
+ right = temp ^ (spfunction2[(right1 >>> 24) & 0x3f] | spfunction4[(right1 >>> 16) & 0x3f]
103
+ | spfunction6[(right1 >>> 8) & 0x3f] | spfunction8[right1 & 0x3f]
104
+ | spfunction1[(right2 >>> 24) & 0x3f] | spfunction3[(right2 >>> 16) & 0x3f]
105
+ | spfunction5[(right2 >>> 8) & 0x3f] | spfunction7[right2 & 0x3f]);
106
+ }
107
+ temp = left;
108
+ left = right;
109
+ right = temp; //unreverse left and right
110
+ } //for either 1 or 3 iterations
111
+ //move then each one bit to the right
112
+ left = ((left >>> 1) | (left << 31));
113
+ right = ((right >>> 1) | (right << 31));
114
+ //now perform IP-1, which is IP in the opposite direction
115
+ temp = ((left >>> 1) ^ right) & 0x55555555;
116
+ right ^= temp;
117
+ left ^= (temp << 1);
118
+ temp = ((right >>> 8) ^ left) & 0x00ff00ff;
119
+ left ^= temp;
120
+ right ^= (temp << 8);
121
+ temp = ((right >>> 2) ^ left) & 0x33333333;
122
+ left ^= temp;
123
+ right ^= (temp << 2);
124
+ temp = ((left >>> 16) ^ right) & 0x0000ffff;
125
+ right ^= temp;
126
+ left ^= (temp << 16);
127
+ temp = ((left >>> 4) ^ right) & 0x0f0f0f0f;
128
+ right ^= temp;
129
+ left ^= (temp << 4);
130
+ //for Cipher Block Chaining mode, xor the message with the previous result
131
+ if (mode == 1) {
132
+ if (encrypt) {
133
+ cbcleft = left;
134
+ cbcright = right;
135
+ }
136
+ else {
137
+ left ^= cbcleft2;
138
+ right ^= cbcright2;
139
+ }
140
+ }
141
+ // tempresult += String.fromCharCode((left >>> 24), ((left >>> 16) & 0xff), ((left >>> 8) & 0xff), (left & 0xff), (right >>> 24), ((right >>> 16) & 0xff), ((right >>> 8) & 0xff), (right & 0xff))
142
+ tempresult += String.fromCharCode(left >>> 24);
143
+ tempresult += String.fromCharCode((left >>> 16) & 255);
144
+ tempresult += String.fromCharCode((left >>> 8) & 255);
145
+ tempresult += String.fromCharCode(left & 255);
146
+ tempresult += String.fromCharCode(right >>> 24);
147
+ tempresult += String.fromCharCode((right >>> 16) & 255);
148
+ tempresult += String.fromCharCode((right >>> 8) & 255);
149
+ tempresult += String.fromCharCode(right & 255);
150
+ chunk += 8;
151
+ if (chunk == 512) {
152
+ result += tempresult;
153
+ tempresult = "";
154
+ chunk = 0;
155
+ }
156
+ } //for every 8 characters, or 64 bits in the message
157
+ //return the result as an array
158
+ result += tempresult;
159
+ result = result.replace(/\\0*$/g, "");
160
+ if (!encrypt) { //如果是解密的话,解密结束后对PKCS7 padding进行解码,并转换成utf-8编码
161
+ if (padding === 1) { //PKCS7 padding解码
162
+ let len = result.length, paddingChars = 0;
163
+ len && (paddingChars = result.charCodeAt(len - 1));
164
+ (paddingChars <= 8) && (result = result.substring(0, len - paddingChars));
165
+ }
166
+ //转换成UTF-8编码
167
+ result = decodeURIComponent(escape(result));
168
+ }
169
+ return result;
170
+ } //end of des
171
+ export function getPayload(base64String) {
172
+ let result = '';
173
+ for (let char of des(key, base64String, true, 0, '', 0)) {
174
+ let n = char.charCodeAt(0);
175
+ result += (n >> 4).toString(16);
176
+ result += (n & 15).toString(16);
177
+ }
178
+ return result;
179
+ }
180
+ export function generateX_S(url, cookie, body) {
181
+ const P = new URL(url);
182
+ let extra = '';
183
+ if (body) {
184
+ extra = JSON.stringify(body);
185
+ }
186
+ else {
187
+ extra = '';
188
+ }
189
+ const params = {
190
+ x1: crypto.createHash('md5').update(`url=${P.pathname}${extra}`).digest('hex'), // 直接使用路径部分
191
+ x2: '0|0|0|1|0|0|1|0|0|0|1|0|0|0|0', // 固定值
192
+ x3: cookie.includes('a1=') ? cookie.split('a1=')[1].split(';')[0] : 'undefined', // 从cookie中获取a1
193
+ x4: String(Date.now()) // 当前时间戳
194
+ };
195
+ // 使用 Object.entries 将对象转换为键值对数组,然后使用 join 方法构建查询字符串
196
+ const payloadParts = Object.entries(params).map(([key, value]) => `${key}=${value}`);
197
+ const mergeplst = payloadParts.join(';');
198
+ const origin = {
199
+ signSvn: '55',
200
+ signType: 'x2',
201
+ appId: 'xhs-pc-web',
202
+ signVersion: '1',
203
+ payload: getPayload(mergeplst)
204
+ };
205
+ return 'XYW_' + btoa(JSON.stringify(origin)) + '=';
206
+ }
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVYX1MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYnVzaW5lc3MveGlhb2hvbmdzaHUvc2lnbi9nZW5lcmF0ZVhfUy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUE7QUFFM0IsSUFBSSxHQUFHLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVM7SUFDMUcsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTO0lBQ2pHLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUztJQUMvRixTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsVUFBVTtDQUN0RCxDQUFBO0FBRUQsU0FBUyxHQUFHLENBQUUsR0FBYSxFQUFFLE9BQVksRUFBRSxPQUFnQixFQUFFLElBQXdCLEVBQUUsRUFBVSxFQUFFLE9BQTJCO0lBQzVILElBQUksT0FBTyxFQUFFLGdCQUFnQjtRQUMzQixPQUFPLEdBQUcsUUFBUSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDakQsK0NBQStDO0lBQy9DLE1BQU0sV0FBVyxHQUFHLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ3JtQixNQUFNLFdBQVcsR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDanNCLE1BQU0sV0FBVyxHQUFHLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ3JtQixNQUFNLFdBQVcsR0FBRyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUM3aUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUE7SUFDN3JCLE1BQU0sV0FBVyxHQUFHLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFBO0lBQ2pxQixNQUFNLFdBQVcsR0FBRyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUNybkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxV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
@@ -0,0 +1,6 @@
1
+ export declare function xsCommon(t: {
2
+ a1: any;
3
+ x_t: number;
4
+ x_s: string;
5
+ fingerprint: any;
6
+ }): string;
@@ -0,0 +1,141 @@
1
+ export function xsCommon(t) {
2
+ const k = {
3
+ s0: 5,
4
+ s1: "",
5
+ x0: "1",
6
+ x1: "3.7.8-2",
7
+ x2: "Windows",
8
+ x3: "xhs-pc-web",
9
+ x4: "4.34.0",
10
+ x5: t.a1, // a1 的值
11
+ x6: t.x_t, // x-t 的值
12
+ x7: t.x_s, // x-s的值
13
+ x8: t.fingerprint, // 浏览器指纹,可以写死
14
+ x9: mrc(''.concat(String(t.x_t)).concat(t.x_s).concat(t.fingerprint)),
15
+ x10: 1
16
+ };
17
+ const utf8 = encodeUtf8(JSON.stringify(k));
18
+ return b64Encode(new Uint8Array(utf8));
19
+ }
20
+ function mrc(e) {
21
+ const ie = [
22
+ 0, 1996959894, 3993919788, 2567524794, 124634137, 1886057615, 3915621685,
23
+ 2657392035, 249268274, 2044508324, 3772115230, 2547177864, 162941995,
24
+ 2125561021, 3887607047, 2428444049, 498536548, 1789927666, 4089016648,
25
+ 2227061214, 450548861, 1843258603, 4107580753, 2211677639, 325883990,
26
+ 1684777152, 4251122042, 2321926636, 335633487, 1661365465, 4195302755,
27
+ 2366115317, 997073096, 1281953886, 3579855332, 2724688242, 1006888145,
28
+ 1258607687, 3524101629, 2768942443, 901097722, 1119000684, 3686517206,
29
+ 2898065728, 853044451, 1172266101, 3705015759, 2882616665, 651767980,
30
+ 1373503546, 3369554304, 3218104598, 565507253, 1454621731, 3485111705,
31
+ 3099436303, 671266974, 1594198024, 3322730930, 2970347812, 795835527,
32
+ 1483230225, 3244367275, 3060149565, 1994146192, 31158534, 2563907772,
33
+ 4023717930, 1907459465, 112637215, 2680153253, 3904427059, 2013776290,
34
+ 251722036, 2517215374, 3775830040, 2137656763, 141376813, 2439277719,
35
+ 3865271297, 1802195444, 476864866, 2238001368, 4066508878, 1812370925,
36
+ 453092731, 2181625025, 4111451223, 1706088902, 314042704, 2344532202,
37
+ 4240017532, 1658658271, 366619977, 2362670323, 4224994405, 1303535960,
38
+ 984961486, 2747007092, 3569037538, 1256170817, 1037604311, 2765210733,
39
+ 3554079995, 1131014506, 879679996, 2909243462, 3663771856, 1141124467,
40
+ 855842277, 2852801631, 3708648649, 1342533948, 654459306, 3188396048,
41
+ 3373015174, 1466479909, 544179635, 3110523913, 3462522015, 1591671054,
42
+ 702138776, 2966460450, 3352799412, 1504918807, 783551873, 3082640443,
43
+ 3233442989, 3988292384, 2596254646, 62317068, 1957810842, 3939845945,
44
+ 2647816111, 81470997, 1943803523, 3814918930, 2489596804, 225274430,
45
+ 2053790376, 3826175755, 2466906013, 167816743, 2097651377, 4027552580,
46
+ 2265490386, 503444072, 1762050814, 4150417245, 2154129355, 426522225,
47
+ 1852507879, 4275313526, 2312317920, 282753626, 1742555852, 4189708143,
48
+ 2394877945, 397917763, 1622183637, 3604390888, 2714866558, 953729732,
49
+ 1340076626, 3518719985, 2797360999, 1068828381, 1219638859, 3624741850,
50
+ 2936675148, 906185462, 1090812512, 3747672003, 2825379669, 829329135,
51
+ 1181335161, 3412177804, 3160834842, 628085408, 1382605366, 3423369109,
52
+ 3138078467, 570562233, 1426400815, 3317316542, 2998733608, 733239954,
53
+ 1555261956, 3268935591, 3050360625, 752459403, 1541320221, 2607071920,
54
+ 3965973030, 1969922972, 40735498, 2617837225, 3943577151, 1913087877,
55
+ 83908371, 2512341634, 3803740692, 2075208622, 213261112, 2463272603,
56
+ 3855990285, 2094854071, 198958881, 2262029012, 4057260610, 1759359992,
57
+ 534414190, 2176718541, 4139329115, 1873836001, 414664567, 2282248934,
58
+ 4279200368, 1711684554, 285281116, 2405801727, 4167216745, 1634467795,
59
+ 376229701, 2685067896, 3608007406, 1308918612, 956543938, 2808555105,
60
+ 3495958263, 1231636301, 1047427035, 2932959818, 3654703836, 1088359270,
61
+ 936918000, 2847714899, 3736837829, 1202900863, 817233897, 3183342108,
62
+ 3401237130, 1404277552, 615818150, 3134207493, 3453421203, 1423857449,
63
+ 601450431, 3009837614, 3294710456, 1567103746, 711928724, 3020668471,
64
+ 3272380065, 1510334235, 755167117,
65
+ ];
66
+ let o = -1;
67
+ function right_without_sign(num, bit = 0) {
68
+ const val = (num >>> bit) & 0xFFFFFFFF; // 无符号右移,确保32位无符号整数
69
+ const MAX32INT = 4294967295;
70
+ return (val + (MAX32INT + 1)) % (2 * (MAX32INT + 1)) - MAX32INT - 1;
71
+ }
72
+ for (let n = 0; n < 57; n++) {
73
+ o = ie[(o & 255) ^ e.charCodeAt(n)] ^ right_without_sign(o, 8);
74
+ }
75
+ return o ^ -1 ^ 3988292384;
76
+ }
77
+ function encodeUtf8(e) {
78
+ const b = [];
79
+ let m = encodeURIComponent(e);
80
+ m = m.replace(/%20/g, "+") // 替换空格
81
+ .replace(/[!'()*]/g, (char) => `%${char.charCodeAt(0).toString(16).toUpperCase()}`);
82
+ let w = 0;
83
+ while (w < m.length) {
84
+ const T = m[w];
85
+ if (T === "%") {
86
+ const E = m[w + 1] + m[w + 2];
87
+ const S = parseInt(E, 16);
88
+ b.push(S);
89
+ w += 2;
90
+ }
91
+ else {
92
+ b.push(T.charCodeAt(0));
93
+ }
94
+ w += 1;
95
+ }
96
+ return b;
97
+ }
98
+ const lookup = [
99
+ "Z", "m", "s", "e", "r", "b", "B", "o", "H", "Q", "t",
100
+ "N", "P", "+", "w", "O", "c", "z", "a", "/", "L", "p",
101
+ "n", "g", "G", "8", "y", "J", "q", "4", "2", "K", "W",
102
+ "Y", "j", "0", "D", "S", "f", "d", "i", "k", "x", "3",
103
+ "V", "T", "1", "6", "I", "l", "U", "A", "F", "M", "9",
104
+ "7", "h", "E", "C", "v", "u", "R", "X", "5",
105
+ ];
106
+ function b64Encode(e) {
107
+ const P = e.length;
108
+ const W = P % 3;
109
+ const U = [];
110
+ const z = 16383;
111
+ let H = 0;
112
+ const Z = P - W;
113
+ while (H < Z) {
114
+ U.push(encodeChunk(e, H, H + z > Z ? Z : H + z));
115
+ H += z;
116
+ }
117
+ if (W === 1) {
118
+ const F = e[P - 1];
119
+ U.push(lookup[F >> 2] + lookup[(F << 4) & 63] + "==");
120
+ }
121
+ else if (W === 2) {
122
+ const F = (e[P - 2] << 8) + e[P - 1];
123
+ U.push(lookup[F >> 10] + lookup[(F >> 4) & 63] + lookup[(F << 2) & 63] + "=");
124
+ }
125
+ return U.join('');
126
+ }
127
+ function encodeChunk(e, t, r) {
128
+ const m = [];
129
+ for (let b = t; b < r; b += 3) {
130
+ const n = (16711680 & (e[b] << 16)) + ((e[b + 1] << 8) & 65280) + (e[b + 2] & 255);
131
+ m.push(tripletToBase64(n));
132
+ }
133
+ return m.join('');
134
+ }
135
+ function tripletToBase64(e) {
136
+ return (lookup[(e >> 18) & 63] +
137
+ lookup[(e >> 12) & 63] +
138
+ lookup[(e >> 6) & 63] +
139
+ lookup[e & 63]);
140
+ }
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVYX1NfQ29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2J1c2luZXNzL3hpYW9ob25nc2h1L3NpZ24vZ2VuZXJhdGVYX1NfQ29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxRQUFRLENBQUUsQ0FBMEQ7SUFDbEYsTUFBTSxDQUFDLEdBQUc7UUFDUixFQUFFLEVBQUUsQ0FBQztRQUNMLEVBQUUsRUFBRSxFQUFFO1FBQ04sRUFBRSxFQUFFLEdBQUc7UUFDUCxFQUFFLEVBQUUsU0FBUztRQUNiLEVBQUUsRUFBRSxTQUFTO1FBQ2IsRUFBRSxFQUFFLFlBQVk7UUFDaEIsRUFBRSxFQUFFLFFBQVE7UUFDWixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxRQUFRO1FBQ2xCLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFHLFNBQVM7UUFDckIsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUTtRQUNuQixFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxhQUFhO1FBQ2hDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JFLEdBQUcsRUFBRSxDQUFDO0tBQ1AsQ0FBQTtJQUNELE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDMUMsT0FBTyxTQUFTLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtBQUN4QyxDQUFDO0FBRUQsU0FBUyxHQUFHLENBQUUsQ0FBUztJQUNyQixNQUFNLEVBQUUsR0FBYTtRQUNuQixDQUFDLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVO1FBQ3hFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUztRQUNwRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVU7UUFDckUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTO1FBQ3BFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVTtRQUNyRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7UUFDckUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVO1FBQ3JFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUztRQUNwRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVU7UUFDckUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTO1FBQ3BFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVTtRQUNwRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7UUFDckUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVO1FBQ3BFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtRQUNyRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVU7UUFDcEUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1FBQ3JFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtRQUNyRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7UUFDckUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVO1FBQ3BFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtRQUNyRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVU7UUFDcEUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVO1FBQ3BFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUztRQUNuRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVU7UUFDckUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTO1FBQ3BFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVTtRQUNyRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVM7UUFDcEUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1FBQ3RFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUztRQUNwRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVU7UUFDckUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTO1FBQ3BFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVTtRQUNyRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7UUFDcEUsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVO1FBQ25FLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtRQUNyRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVU7UUFDcEUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1FBQ3JFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVTtRQUNwRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7UUFDdEUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVO1FBQ3BFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtRQUNyRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVU7UUFDcEUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTO0tBQ2xDLENBQUE7SUFDRCxJQUFJLENBQUMsR0FBVyxDQUFDLENBQUMsQ0FBQTtJQUVsQixTQUFTLGtCQUFrQixDQUFFLEdBQVcsRUFBRSxNQUFjLENBQUM7UUFDdkQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFBLENBQUMsbUJBQW1CO1FBQzFELE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQTtRQUMzQixPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFBO0lBQ3JFLENBQUM7SUFFRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ2hFLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUE7QUFDNUIsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFFLENBQVM7SUFDNUIsTUFBTSxDQUFDLEdBQWEsRUFBRSxDQUFBO0lBQ3RCLElBQUksQ0FBQyxHQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRTdCLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPO1NBQy9CLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRXJGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNkLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtZQUM3QixNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1lBQ3pCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDVCxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ1IsQ0FBQzthQUFNLENBQUM7WUFDTixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN6QixDQUFDO1FBQ0QsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNSLENBQUM7SUFFRCxPQUFPLENBQUMsQ0FBQTtBQUNWLENBQUM7QUFFRCxNQUFNLE1BQU0sR0FBRztJQUNiLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBQ3JELEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBQ3JELEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBQ3JELEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBQ3JELEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBQ3JELEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztDQUM1QyxDQUFBO0FBRUQsU0FBUyxTQUFTLENBQUUsQ0FBYTtJQUMvQixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFBO0lBQ2xCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDZixNQUFNLENBQUMsR0FBYSxFQUFFLENBQUE7SUFDdEIsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFBO0lBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ1QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUVmLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2IsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNoRCxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ1IsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ1osTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNsQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ3ZELENBQUM7U0FBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNuQixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNwQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQTtJQUMvRSxDQUFDO0lBRUQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQ25CLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBRSxDQUFhLEVBQUUsQ0FBUyxFQUFFLENBQVM7SUFDdkQsTUFBTSxDQUFDLEdBQWEsRUFBRSxDQUFBO0lBQ3RCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFBO1FBQ2xGLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDNUIsQ0FBQztJQUNELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUNuQixDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUUsQ0FBUztJQUNqQyxPQUFPLENBQ0wsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN0QixNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDckIsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FDZixDQUFBO0FBQ0gsQ0FBQyJ9
@@ -0,0 +1,16 @@
1
+ declare class S {
2
+ x_b3_traceid(): string;
3
+ /**
4
+ *
5
+ * @param url 接口地址
6
+ * @param cookie 小红书用户 ck
7
+ * @returns
8
+ */
9
+ x_s(url: string, cookie: string, body?: any): string;
10
+ x_s_common(data: {
11
+ x_s: string;
12
+ cookie: string;
13
+ }): string;
14
+ }
15
+ export declare const XiaohongshuSign: S;
16
+ export {};
@@ -0,0 +1,29 @@
1
+ import { generateX_S } from './generateX_S.js';
2
+ // @ts-ignore
3
+ import { xsCommon } from './generateX_S_Common.js';
4
+ class S {
5
+ x_b3_traceid() {
6
+ for (var t = "", e = 0; e < 16; e++)
7
+ t += "abcdef0123456789".charAt(Math.floor(16 * Math.random()));
8
+ return t;
9
+ }
10
+ /**
11
+ *
12
+ * @param url 接口地址
13
+ * @param cookie 小红书用户 ck
14
+ * @returns
15
+ */
16
+ x_s(url, cookie, body) {
17
+ return generateX_S(url, cookie, body);
18
+ }
19
+ x_s_common(data) {
20
+ return xsCommon({
21
+ x_t: Date.now(),
22
+ x_s: data.x_s,
23
+ a1: data.cookie.includes('a1=') ? data.cookie.split('a1=')[1].split(';')[0] : 'undefined',
24
+ fingerprint: 'I38rHdgsjopgIvesdVwgIC+oIELmBZ5e3VwXLgFTIxS3bqwErFeexd0ekncAzMFYnqthIhJed9MDKutRI3KsYorWHPtGrbV0P9WfIi/eWc6eYqtyQApPI37ekmR1QL+5Ii6sdnoeSfqYHqwl2qt5B0DoIx+PGDi/sVtkIxdsxuwr4qtiIkrwIi/skcc3I3VvIC7sYuwXq9qtpFveDSJsSPwXIEvsiVtJOPw8BuwfPpdeTDWOIx4VIiu1ZPwbPutXIvlaLb/s3qtxIxes1VwHIkumIkIyejgsY/WTge7eSqte/D7sDcpipedeYrDtIC6eDVw2IENsSqtlnlSuNjVtIvoekqwMgbOe1eY2IESPIhhgQdIUI38PqW88IizuBVwMIvGF4B6sdcNskVwVIC7eWo7sYeSqIk5eTDmY2uwjIhJs6f0s3SgeiVt/c9deYqwCICMyL/0efPwELnOsSVwBI3T2I3kkouw+gVwesBZ/yLOsYeOeVPwyIh7sjg6exmSuIENejlOe3dhkIiJsTVt0IkLdPuwJ2qw0ICvs6qwAIiNs3uw5Ikvsdqt5wuwLoVw7IvrEIxWcGnFD4IvexPtIIhDrIi6eDVwgbmm2Ls5sjjY6IiLoJqtPmVwvIv7exVtf+ree1lJsVrMZIE0s37JskutnpPwHIvKe0qwUIi5eTAubICdeS9oeDVtlIxds6uwTG7QBIEr4IvesxMgeka/ejDesYPtQIiM7ICcDcuwzICIJI33sVzbIy7OsWqw+IhpcbuwFJWesYpKeSuwprVwZIxkAIiqynPwtqPtNIv5sSM5siPt+sVwBICEYLPt1'
25
+ });
26
+ }
27
+ }
28
+ export const XiaohongshuSign = new S();
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYnVzaW5lc3MveGlhb2hvbmdzaHUvc2lnbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzNDLGFBQWE7QUFDYixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDbEQsTUFBTSxDQUFDO0lBQ0wsWUFBWTtRQUNWLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDakMsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ2hFLE9BQU8sQ0FBQyxDQUFBO0lBQ1YsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsR0FBRyxDQUFFLEdBQVcsRUFBRSxNQUFjLEVBQUUsSUFBVTtRQUMxQyxPQUFPLFdBQVcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBRXZDLENBQUM7SUFFRCxVQUFVLENBQUUsSUFBcUM7UUFDL0MsT0FBTyxRQUFRLENBQUM7WUFDZCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNmLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXO1lBQ3pGLFdBQVcsRUFBRSw4ekJBQTh6QjtTQUM1MEIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUEifQ==
package/lib/index.d.ts CHANGED
@@ -2,23 +2,5 @@ export * from "./business/index.js";
2
2
  export * from "./model/index.js";
3
3
  export * from "./server/index.js";
4
4
  export * from "./types/index.js";
5
+ import { amagi } from "./server/index.js";
5
6
  export { amagi as Amagi, amagi as default };
6
- import { client } from "./server/index.js";
7
- import { DouyinDataType, DouyinOptionsType, BilibiliDataType, BilibiliOptionsType } from './types/index.js';
8
- declare const amagi: typeof client;
9
- /**
10
- *
11
- * @param type 请求数据类型
12
- * @param cookie 抖音用户 ck
13
- * @param options 请求参数,是一个对象
14
- * @returns 返回接口的原始数据
15
- */
16
- export declare const GetDouyinData: (type: keyof typeof DouyinDataType, cookie?: string, options?: DouyinOptionsType) => Promise<any>;
17
- /**
18
- *
19
- * @param type 请求数据类型
20
- * @param cookie bilibili 用户 ck
21
- * @param options 请求参数,是一个对象
22
- * @returns 返回接口的原始数据
23
- */
24
- export declare const GetBilibiliData: (type: keyof typeof BilibiliDataType, cookie?: string, options?: BilibiliOptionsType) => Promise<any>;
package/lib/index.js CHANGED
@@ -2,30 +2,6 @@ export * from "./business/index.js";
2
2
  export * from "./model/index.js";
3
3
  export * from "./server/index.js";
4
4
  export * from "./types/index.js";
5
+ import { amagi } from "./server/index.js";
5
6
  export { amagi as Amagi, amagi as default };
6
- import { DouyinResult, BilibiliResult } from './business/index.js';
7
- import { client } from "./server/index.js";
8
- const amagi = client;
9
- /**
10
- *
11
- * @param type 请求数据类型
12
- * @param cookie 抖音用户 ck
13
- * @param options 请求参数,是一个对象
14
- * @returns 返回接口的原始数据
15
- */
16
- export const GetDouyinData = async (type, cookie = '', options = {}) => {
17
- const data = await DouyinResult({ type, cookie }, options);
18
- return data.data;
19
- };
20
- /**
21
- *
22
- * @param type 请求数据类型
23
- * @param cookie bilibili 用户 ck
24
- * @param options 请求参数,是一个对象
25
- * @returns 返回接口的原始数据
26
- */
27
- export const GetBilibiliData = async (type, cookie = '', options = {}) => {
28
- const data = await BilibiliResult({ type, cookie }, options);
29
- return data.data;
30
- };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLGFBQWEsQ0FBQTtBQUMzQixjQUFjLGNBQWMsQ0FBQTtBQUM1QixjQUFjLGFBQWEsQ0FBQTtBQUMzQixPQUFPLEVBQUUsS0FBSyxJQUFJLEtBQUssRUFBRSxLQUFLLElBQUksT0FBTyxFQUFFLENBQUE7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBR3JDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQTtBQUVwQjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsS0FBSyxFQUFFLElBQWlDLEVBQUUsU0FBUyxFQUFZLEVBQUUsVUFBVSxFQUF1QixFQUFnQixFQUFFO0lBQy9JLE1BQU0sSUFBSSxHQUFHLE1BQU0sWUFBWSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQzFELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQTtBQUNsQixDQUFDLENBQUE7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsS0FBSyxFQUFFLElBQW1DLEVBQUUsU0FBUyxFQUFZLEVBQUUsVUFBVSxFQUF5QixFQUFnQixFQUFFO0lBQ3JKLE1BQU0sSUFBSSxHQUFHLE1BQU0sY0FBYyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQzVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQTtBQUNsQixDQUFDLENBQUEifQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLGFBQWEsQ0FBQTtBQUMzQixjQUFjLGNBQWMsQ0FBQTtBQUM1QixjQUFjLGFBQWEsQ0FBQTtBQUUzQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3BDLE9BQU8sRUFBRSxLQUFLLElBQUksS0FBSyxFQUFFLEtBQUssSUFBSSxPQUFPLEVBQUUsQ0FBQSJ9
@@ -0,0 +1,40 @@
1
+ import { DouyinDataOptionsMap, BilibiliDataOptionsMap, XiaohongshuDataOptionsMap } from '../types/index.js'
2
+ /**
3
+ * 获取抖音数据
4
+ * @param type 请求数据类型
5
+ * @param cookie 抖音用户 ck
6
+ * @param options 请求参数,是一个对象
7
+ * @returns 返回接口的原始数据
8
+ */
9
+ export declare const getDouyinData: <T extends keyof DouyinDataOptionsMap>(type: T, cookie?: string, options?: DouyinDataOptionsMap[T]) => Promise<any>
10
+ /**
11
+ * 获取B站数据
12
+ * @param type 请求数据类型
13
+ * @param cookie bilibili 用户 ck
14
+ * @param options 请求参数,是一个对象
15
+ * @returns 返回接口的原始数据
16
+ */
17
+ export declare const getBilibiliData: <T extends keyof BilibiliDataOptionsMap>(type: T, cookie?: string, options?: BilibiliDataOptionsMap[T]) => Promise<any>
18
+ /**
19
+ * 获取小红书数据
20
+ * @param type 请求数据类型
21
+ * @param cookie 小红书用户 ck
22
+ * @param options 请求参数,是一个对象
23
+ * @returns 返回接口的原始数据
24
+ */
25
+ export declare const getXiaohongshuData: <T extends keyof XiaohongshuDataOptionsMap>(type: T, cookie: string | undefined, options: XiaohongshuDataOptionsMap[T]) => Promise<any>
26
+ /**
27
+ * 已废弃,请直接使用 getDouyinData 方法
28
+ * @deprecated
29
+ */
30
+ export declare const GetDouyinData: <T extends keyof DouyinDataOptionsMap>(type: T, cookie?: string, options?: DouyinDataOptionsMap[T]) => Promise<any>
31
+ /**
32
+ * 已废弃,请直接使用 getBilibiliData 方法
33
+ * @deprecated
34
+ */
35
+ export declare const GetBilibiliData: <T extends keyof BilibiliDataOptionsMap>(type: T, cookie?: string, options?: BilibiliDataOptionsMap[T]) => Promise<any>
36
+ /**
37
+ * 已废弃,请直接使用 getXiaohongshuData 方法
38
+ * @deprecated
39
+ */
40
+ export declare const GetXiaohongshuData: <T extends keyof XiaohongshuDataOptionsMap>(type: T, cookie: string | undefined, options: XiaohongshuDataOptionsMap[T]) => Promise<any>