@ikenxuan/amagi 7.0.0-beta.6 → 7.0.0-beta.8
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.
- package/dist/api-BENpfNA1.d.ts +137 -0
- package/dist/bv2av-DUm4x7as.mjs +52 -0
- package/dist/bv2av-Dw0qrO9g.cjs +63 -0
- package/dist/default/index.cjs +4 -3
- package/dist/default/index.d.ts +3 -2
- package/dist/default/index.mjs +2 -1
- package/dist/{endpoint-CxOrmO8L.d.ts → endpoint-QPR2Pp-S.d.ts} +45 -157
- package/dist/exports/compat.cjs +4 -3
- package/dist/exports/compat.d.ts +7 -5
- package/dist/exports/compat.mjs +2 -1
- package/dist/exports/sign-steps.cjs +1 -1
- package/dist/exports/sign-steps.d.ts +2 -1
- package/dist/exports/sign-steps.mjs +1 -1
- package/dist/exports/signing.cjs +128 -427
- package/dist/exports/signing.d.ts +286 -1
- package/dist/exports/signing.mjs +50 -371
- package/dist/he-CuCIF0C7.cjs +3898 -0
- package/dist/he-q7589Kp7.mjs +3419 -0
- package/dist/{index-Dh29lDYw.d.ts → index-BSNuPU57.d.ts} +36432 -33243
- package/dist/secsdkWebSign-DoqHj52s.d.ts +122 -0
- package/dist/{src-e3JbCbbg.cjs → src-BMmA6XJW.cjs} +582 -175
- package/dist/{src-BHqC-g47.mjs → src-ZHFzJ9Lf.mjs} +566 -147
- package/dist/{steps-BO8NYQHx.cjs → steps-CpeOWLPf.cjs} +9 -1491
- package/dist/{steps-DQlwODdh.mjs → steps-bZrsb4W6.mjs} +2 -1459
- package/package.json +5 -5
- package/dist/tokens-BFqSOfhx.mjs +0 -1001
- package/dist/tokens-DHKAuPVW.cjs +0 -1294
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
//#region src/platforms/kuaishou/api.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* 快手 URL 构造(请求描述)。
|
|
4
|
+
*
|
|
5
|
+
* 参数类型在本文件本地定义,只负责返回请求描述对象,不发起网络请求。
|
|
6
|
+
*
|
|
7
|
+
* `videoWork` / `comments` 两条走 H5 命名空间 —— 见 {@link KUAISHOU_H5_HOST}。
|
|
8
|
+
*
|
|
9
|
+
* ## 几条**没有**实现的接口
|
|
10
|
+
*
|
|
11
|
+
* - **搜索 / 创作者搜索 / 热榜**(`/rest/v/search`、`/rest/v/feed/hot` 一类):
|
|
12
|
+
* 这三个要「浏览器激活过的真实 did」。真实 did 得先在浏览器里走
|
|
13
|
+
* `gdfp.gifshow.com/s/w/c` 完成设备指纹注册,**服务端有账本**,本地造不出来。
|
|
14
|
+
* 实测过 5 种组合(随机 did + 借来的完整风控指纹、服务端刚下发的新 did、
|
|
15
|
+
* 新 did 先走 `system/startup` 预热、Node 侧裸打 `gdfp` 注册……)全部被拒。
|
|
16
|
+
* amagi 的 did 是内部生成的,所以这条**绕不过去**。
|
|
17
|
+
* - **音乐标签页**:可用做法是抓分享页 HTML 解 `INIT_STATE`,而不是打 `tag/music/*`
|
|
18
|
+
* 接口。抓 HTML 解全局变量不属于「接口库」该干的事,不实现。
|
|
19
|
+
* - **相关推荐 `/rest/wd/ugH5App/slide/feed`、搜索热词 `/rest/wd/ugH5App/search/guess`**:
|
|
20
|
+
* 两条都免签、都能做,只是当前没有下游需要,按需再加。
|
|
21
|
+
*
|
|
22
|
+
* 上述实测结论来自 @OduckO 的 kuaishou-parser(GPL-3.0-only):
|
|
23
|
+
* https://github.com/OduckO
|
|
24
|
+
*/
|
|
25
|
+
/** `videoWork` 参数 */
|
|
26
|
+
interface VideoInfoParams {
|
|
27
|
+
/** 作品 ID */
|
|
28
|
+
photoId: string;
|
|
29
|
+
/** 业务标识,H5 分享页恒为 `NEBULA` */
|
|
30
|
+
kpn?: string;
|
|
31
|
+
/** 子业务,空串即可 */
|
|
32
|
+
subBiz?: string;
|
|
33
|
+
/** 以下 8 个 share 字段来自短链展开后的 URL query;直接用 photoId 调用时全传空串 */
|
|
34
|
+
fid?: string;
|
|
35
|
+
efid?: string;
|
|
36
|
+
shareToken?: string;
|
|
37
|
+
shareObjectId?: string;
|
|
38
|
+
shareMethod?: string;
|
|
39
|
+
shareId?: string;
|
|
40
|
+
shareResourceType?: string;
|
|
41
|
+
/** 分享渠道,取短链 query 里的 `cc` */
|
|
42
|
+
shareChannel?: string;
|
|
43
|
+
/** 分享页域名,恒为 `c.kuaishou.com` */
|
|
44
|
+
h5Domain?: string;
|
|
45
|
+
/** 是否长视频 */
|
|
46
|
+
isLongVideo?: boolean;
|
|
47
|
+
}
|
|
48
|
+
/** `comments` 参数 */
|
|
49
|
+
interface CommentParams {
|
|
50
|
+
/** 作品 ID */
|
|
51
|
+
photoId: string;
|
|
52
|
+
/** 分页游标;为空时请求首屏评论 */
|
|
53
|
+
pcursor?: string;
|
|
54
|
+
}
|
|
55
|
+
/** `userProfile` / `liveRoomInfo` 参数 */
|
|
56
|
+
interface UserProfileParams {
|
|
57
|
+
/** 用户主页 principalId,可直接取 profile 页 URL 末段 */
|
|
58
|
+
principalId: string;
|
|
59
|
+
}
|
|
60
|
+
/** `userWorkList` 参数 */
|
|
61
|
+
interface UserWorkListParams {
|
|
62
|
+
/** 用户主页 principalId */
|
|
63
|
+
principalId: string;
|
|
64
|
+
/** 分页游标;为空时请求首屏作品列表 */
|
|
65
|
+
pcursor?: string;
|
|
66
|
+
/** 每页数量,默认 12 */
|
|
67
|
+
count?: number;
|
|
68
|
+
}
|
|
69
|
+
/** `liveRoomInfo` 参数 */
|
|
70
|
+
interface LiveRoomInfoParams {
|
|
71
|
+
/** 直播间 principalId,可直接取 /u/{principalId} URL 末段 */
|
|
72
|
+
principalId: string;
|
|
73
|
+
}
|
|
74
|
+
/** `danmaku` 参数 */
|
|
75
|
+
interface DanmakuParams {
|
|
76
|
+
/** 作品 ID */
|
|
77
|
+
photoId: string;
|
|
78
|
+
/** 窗口起点(毫秒,**含**) */
|
|
79
|
+
positionFromInclude: number;
|
|
80
|
+
/**
|
|
81
|
+
* 窗口终点(毫秒,**排他**)。
|
|
82
|
+
*
|
|
83
|
+
* 与起点的差**必须 < 60000** —— 达到 60000 时接口回 `result: 1` 但
|
|
84
|
+
* `danmakus: []`,不报错、静默给空数组。窗口的收窄由端点负责,这里只描述请求。
|
|
85
|
+
*/
|
|
86
|
+
positionToExclude: number;
|
|
87
|
+
/** 分页游标。弹幕不靠游标翻页(实测恒回 `no_more`),传空串即可 */
|
|
88
|
+
pcursor?: string;
|
|
89
|
+
/** 请求时间戳,前端传 `Date.now()`;不传由构造器补 */
|
|
90
|
+
timestamp?: number;
|
|
91
|
+
}
|
|
92
|
+
type KuaishouBaseApiRequest = {
|
|
93
|
+
type: string;
|
|
94
|
+
url: string;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* 快手 `live_api` 请求描述对象。
|
|
98
|
+
*
|
|
99
|
+
* 除了最终请求地址外,还可以携带 `signPath`,用于声明
|
|
100
|
+
* `__NS_hxfalcon` 实际参与签名的规范路径。
|
|
101
|
+
*/
|
|
102
|
+
type KuaishouLiveApiRequest = KuaishouBaseApiRequest & {
|
|
103
|
+
method: 'GET' | 'POST';
|
|
104
|
+
requiresSign?: boolean;
|
|
105
|
+
signPath?: string;
|
|
106
|
+
body?: Record<string, unknown>;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* 快手 GraphQL 请求描述对象。
|
|
110
|
+
*
|
|
111
|
+
* 该结构只负责描述请求,不负责执行网络请求。
|
|
112
|
+
*/
|
|
113
|
+
type KuaishouGraphqlRequest = KuaishouBaseApiRequest & {
|
|
114
|
+
body: {
|
|
115
|
+
operationName: string;
|
|
116
|
+
variables: Record<string, unknown>;
|
|
117
|
+
query: string;
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* 快手 H5 请求描述对象。
|
|
122
|
+
*
|
|
123
|
+
* 与 `live_api` 的差别:H5 接口一律 POST + JSON body,参数**必须在 body 里**
|
|
124
|
+
* (放 query 会拿到 `result=1` 但 0 条数据),且 body 参与签名。
|
|
125
|
+
*/
|
|
126
|
+
type KuaishouH5Request = KuaishouBaseApiRequest & {
|
|
127
|
+
method: 'POST';
|
|
128
|
+
/** 是否需要 `__NS_hxfalcon`。`ugH5App/*` 那几个免签 */
|
|
129
|
+
requiresSign: boolean;
|
|
130
|
+
/** 规范签名路径(H5 接口与公开路径一致,显式给出便于端点直接透传) */
|
|
131
|
+
signPath: string;
|
|
132
|
+
body: Record<string, unknown>;
|
|
133
|
+
/** 分享页 Referer。H5 接口按分享页来源校验,桌面的 `/new-reco` 不适用 */
|
|
134
|
+
referer: string;
|
|
135
|
+
};
|
|
136
|
+
//#endregion
|
|
137
|
+
export { KuaishouLiveApiRequest as a, UserWorkListParams as c, KuaishouH5Request as i, VideoInfoParams as l, DanmakuParams as n, LiveRoomInfoParams as o, KuaishouGraphqlRequest as r, UserProfileParams as s, CommentParams as t };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
//#region src/platforms/bilibili/sign/bv2av.ts
|
|
2
|
+
const XOR_CODE = 23442827791579n;
|
|
3
|
+
const MASK_CODE = 2251799813685247n;
|
|
4
|
+
const MAX_AID = 1n << 51n;
|
|
5
|
+
const BASE = 58n;
|
|
6
|
+
const data = "FcwAPNKTMug3GV5Lj7EJnHpWsx4tb8haYeviqBz6rkCy12mUSDQX9RdoZf";
|
|
7
|
+
/**
|
|
8
|
+
* av号转bv号
|
|
9
|
+
* @param aid av号
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
const av2bv = (aid) => {
|
|
13
|
+
const bytes = [
|
|
14
|
+
"B",
|
|
15
|
+
"V",
|
|
16
|
+
"1",
|
|
17
|
+
"0",
|
|
18
|
+
"0",
|
|
19
|
+
"0",
|
|
20
|
+
"0",
|
|
21
|
+
"0",
|
|
22
|
+
"0",
|
|
23
|
+
"0",
|
|
24
|
+
"0",
|
|
25
|
+
"0"
|
|
26
|
+
];
|
|
27
|
+
let bvIndex = bytes.length - 1;
|
|
28
|
+
let tmp = (MAX_AID | BigInt(aid)) ^ XOR_CODE;
|
|
29
|
+
while (tmp > 0) {
|
|
30
|
+
bytes[bvIndex] = data[Number(tmp % BigInt(BASE))];
|
|
31
|
+
tmp = tmp / BASE;
|
|
32
|
+
bvIndex -= 1;
|
|
33
|
+
}
|
|
34
|
+
[bytes[3], bytes[9]] = [bytes[9], bytes[3]];
|
|
35
|
+
[bytes[4], bytes[7]] = [bytes[7], bytes[4]];
|
|
36
|
+
return bytes.join("");
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* bv号转av号
|
|
40
|
+
* @param bvid bv号
|
|
41
|
+
* @returns
|
|
42
|
+
*/
|
|
43
|
+
const bv2av = (bvid) => {
|
|
44
|
+
const bvidArr = Array.from(bvid);
|
|
45
|
+
[bvidArr[3], bvidArr[9]] = [bvidArr[9], bvidArr[3]];
|
|
46
|
+
[bvidArr[4], bvidArr[7]] = [bvidArr[7], bvidArr[4]];
|
|
47
|
+
bvidArr.splice(0, 3);
|
|
48
|
+
const tmp = bvidArr.reduce((pre, bvidChar) => pre * BASE + BigInt(data.indexOf(bvidChar)), 0n);
|
|
49
|
+
return Number(tmp & MASK_CODE ^ XOR_CODE);
|
|
50
|
+
};
|
|
51
|
+
//#endregion
|
|
52
|
+
export { bv2av as n, av2bv as t };
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
//#region src/platforms/bilibili/sign/bv2av.ts
|
|
2
|
+
const XOR_CODE = 23442827791579n;
|
|
3
|
+
const MASK_CODE = 2251799813685247n;
|
|
4
|
+
const MAX_AID = 1n << 51n;
|
|
5
|
+
const BASE = 58n;
|
|
6
|
+
const data = "FcwAPNKTMug3GV5Lj7EJnHpWsx4tb8haYeviqBz6rkCy12mUSDQX9RdoZf";
|
|
7
|
+
/**
|
|
8
|
+
* av号转bv号
|
|
9
|
+
* @param aid av号
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
const av2bv = (aid) => {
|
|
13
|
+
const bytes = [
|
|
14
|
+
"B",
|
|
15
|
+
"V",
|
|
16
|
+
"1",
|
|
17
|
+
"0",
|
|
18
|
+
"0",
|
|
19
|
+
"0",
|
|
20
|
+
"0",
|
|
21
|
+
"0",
|
|
22
|
+
"0",
|
|
23
|
+
"0",
|
|
24
|
+
"0",
|
|
25
|
+
"0"
|
|
26
|
+
];
|
|
27
|
+
let bvIndex = bytes.length - 1;
|
|
28
|
+
let tmp = (MAX_AID | BigInt(aid)) ^ XOR_CODE;
|
|
29
|
+
while (tmp > 0) {
|
|
30
|
+
bytes[bvIndex] = data[Number(tmp % BigInt(BASE))];
|
|
31
|
+
tmp = tmp / BASE;
|
|
32
|
+
bvIndex -= 1;
|
|
33
|
+
}
|
|
34
|
+
[bytes[3], bytes[9]] = [bytes[9], bytes[3]];
|
|
35
|
+
[bytes[4], bytes[7]] = [bytes[7], bytes[4]];
|
|
36
|
+
return bytes.join("");
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* bv号转av号
|
|
40
|
+
* @param bvid bv号
|
|
41
|
+
* @returns
|
|
42
|
+
*/
|
|
43
|
+
const bv2av = (bvid) => {
|
|
44
|
+
const bvidArr = Array.from(bvid);
|
|
45
|
+
[bvidArr[3], bvidArr[9]] = [bvidArr[9], bvidArr[3]];
|
|
46
|
+
[bvidArr[4], bvidArr[7]] = [bvidArr[7], bvidArr[4]];
|
|
47
|
+
bvidArr.splice(0, 3);
|
|
48
|
+
const tmp = bvidArr.reduce((pre, bvidChar) => pre * BASE + BigInt(data.indexOf(bvidChar)), 0n);
|
|
49
|
+
return Number(tmp & MASK_CODE ^ XOR_CODE);
|
|
50
|
+
};
|
|
51
|
+
//#endregion
|
|
52
|
+
Object.defineProperty(exports, "av2bv", {
|
|
53
|
+
enumerable: true,
|
|
54
|
+
get: function() {
|
|
55
|
+
return av2bv;
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
Object.defineProperty(exports, "bv2av", {
|
|
59
|
+
enumerable: true,
|
|
60
|
+
get: function() {
|
|
61
|
+
return bv2av;
|
|
62
|
+
}
|
|
63
|
+
});
|
package/dist/default/index.cjs
CHANGED
|
@@ -2,7 +2,8 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_src = require("../src-
|
|
5
|
+
const require_src = require("../src-BMmA6XJW.cjs");
|
|
6
|
+
const require_bv2av = require("../bv2av-Dw0qrO9g.cjs");
|
|
6
7
|
exports.AMAGI_BUS_EVENT_NAMES = require_src.AMAGI_BUS_EVENT_NAMES;
|
|
7
8
|
exports.AdditionalType = require_src.AdditionalType;
|
|
8
9
|
exports.AmagiThrownError = require_src.AmagiThrownError;
|
|
@@ -20,11 +21,11 @@ exports.assertValidBilibiliParams = require_src.assertValidBilibiliParams;
|
|
|
20
21
|
exports.assertValidDouyinParams = require_src.assertValidDouyinParams;
|
|
21
22
|
exports.assertValidKuaishouParams = require_src.assertValidKuaishouParams;
|
|
22
23
|
exports.assertValidXiaohongshuParams = require_src.assertValidXiaohongshuParams;
|
|
23
|
-
exports.av2bv =
|
|
24
|
+
exports.av2bv = require_bv2av.av2bv;
|
|
24
25
|
exports.bilibiliApiUrls = require_src.bilibiliApiUrls;
|
|
25
26
|
exports.bilibiliFetcher = require_src.bilibiliFetcher;
|
|
26
27
|
exports.bilibiliUtils = require_src.bilibiliUtils;
|
|
27
|
-
exports.bv2av =
|
|
28
|
+
exports.bv2av = require_bv2av.bv2av;
|
|
28
29
|
exports.checkPassportQrcode = require_src.checkPassportQrcode;
|
|
29
30
|
exports.createAmagiClient = require_src.createAmagiClient;
|
|
30
31
|
exports.createBilibiliRoutes = require_src.createBilibiliRoutes;
|
package/dist/default/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { $ as
|
|
2
|
-
import { _ as
|
|
1
|
+
import { $ as LogEventData, $a as MusicInfoError, $i as NoteDetailError, $n as KsUserProfileUserInfo, $o as UserCardError, $r as DynamicTypeAV, $s as DyPassportSendCode, $t as Credential, A as xiaohongshuUtils, Aa as UserRecommendListSuccess, An as KuaishouDataOptions, Ao as CommentsSuccess$1, Ar as BiliWorkComments, As as CommentRepliesSuccess, At as DouyinStaticFetcher, B as createDouyinRoutes, Ba as SuggestWords, Bn as OneNote, Bo as VideoDanmaku, Br as BiliLoginStatus, Bs as ArticleInfo$1, Bt as SuccessBilibiliFetcher, C as validateBilibiliParams, Ca as VideoWorkError, Ci as DouyinMethodType, Co as DynamicEmojiListError, Cr as DyEmojiResourceMeta, Cs as DynamicDetailError, Ct as BoundKuaishouFetcher, D as ApiError, Da as UserVideoListSuccess, Di as BilibiliMethodOptMap, Dn as BilibiliDataOptionsMap, Do as DanmakuListSuccess, Dr as CommentReply, Ds as CommentsSuccess, Dt as kuaishouFetcher, E as validateXiaohongshuParams, Ea as UserVideoListError, Ei as BilibiliMethodType, En as BilibiliDataOptions, Eo as DanmakuListError, Er as DyDanmakuList, Es as CommentsError, Et as createBoundKuaishouFetcher, F as kuaishouSign, Fa as UserFavoriteListError, Fn as XiaohongshuReturnTypeMap, Fo as VideoStreamError, Fr as BiliUserFullView, Fs as BangumiInfoError, Ft as requestPassportQrcode, G as parseDmSegMobileReply, Ga as SlidesWorkSuccess, Gn as KsUserWorkList, Go as UserSpaceInfoSuccess, Gr as BiliDynamicInfoUnion, Gs as ArticleContentSuccess, Gt as AmagiRequestConfig, H as bilibiliUtils, Ha as SuggestWordsSuccess, Hn as HomeFeed, Ho as VideoDanmakuSuccess, Hr as BiliLiveRoomDetail, Hs as ArticleInfoSuccess, Ht as createBoundBilibiliFetcher, I as KuaishouGraphqlRequest, Ia as UserFavoriteListSuccess, In as XiaohongshuUserProfile, Io as VideoStreamSuccess, Ir as BiliUserDynamic, Is as BangumiInfoSuccess, It as sendPassportVerifyCode, J as AmagiEventType, Ja as SearchSuccess, Ji as UserProfileSuccess$1, Jn as KsBannedStatus, Jo as UserLiveStatusSuccess, Jr as DynamicTypeWord, Js as ArticleCardsSuccess, Jt as AmagiBusEventMap, K as wbi_sign, Ka as Search, Ki as UserProfile$1, Kn as KsUserProfile, Ko as UserLiveStatus, Kr as AdditionalType, Ks as ArticleCards, Kt as AmagiRequestMethod, L as KuaishouLiveApiRequest, La as TextWork, Ln as XiaohongshuUserNoteList, Lo as VideoInfo, Lr as BiliProtobufDanmaku, Ls as ArticleListInfo, Lt as validatePassportVerifyCode, M as xiaohongshuSign, Ma as UserProfileError, Mn as OmitMethodType, Mo as CommentRepliesError$1, Mr as BiliVideoPlayurlIsLogin, Ms as BangumiStreamError, Mt as createBoundDouyinFetcher, N as kuaishouUtils, Na as UserProfileSuccess, Nn as XiaohongshuDataOptions, No as CommentRepliesSuccess$1, Nr as BiliUserProfile, Ns as BangumiStreamSuccess, Nt as douyinFetcher, O as ValidationError, Oa as UserRecommendList, Oi as BilibiliMethodOptionsMap, On as DouyinDataOptions, Oo as Comments$1, Or as ArticleWork, Os as CommentReplies, Ot as BoundDouyinFetcher, P as createKuaishouRoutes, Pa as UserFavoriteList, Pn as XiaohongshuDataOptionsMap, Po as VideoStream, Pr as BiliUserLiveStatus, Ps as BangumiInfo, Pt as checkPassportQrcode, Q as HttpResponseEventData, Qa as MusicInfo, Qi as NoteDetail, Qn as KsUserProfileSensitiveInfo, Qo as UserCard, Qr as DynamicTypeDraw, Qs as DyPassportQrcodeStatus, Qt as ChallengeAnswer, R as kuaishouApiUrls, Ra as TextWorkError, Rn as XiaohongshuEmojiList, Ro as VideoInfoError, Rr as BiliOneWork, Rs as ArticleListInfoError, Rt as BilibiliFetcher, S as createSuccessResponse, Sa as VideoWork, Si as KuaishouMethodOptionsMap, So as DynamicEmojiList, Sr as DyGuestMusicAwemeList, Ss as DynamicDetail, St as xiaohongshuFetcher, T as validateKuaishouParams, Ta as UserVideoList, Ti as DouyinMethodOptionsMap, Tn as APIErrorType, To as DanmakuList, Tr as DyEmojiList, Ts as Comments, Tt as SuccessKuaishouFetcher, U as createBilibiliRoutes, Ua as SlidesWork, Un as KuaishouReturnTypeMap, Uo as UserSpaceInfo, Ur as BiliLiveRoomDef, Us as ArticleContent$1, Ut as AmagiAxiosTrack, V as douyinSign, Va as SuggestWordsError, Vn as NoteComments, Vo as VideoDanmakuError, Vr as BiliCheckQrcode, Vs as ArticleInfoError, Vt as bilibiliFetcher, W as qtparam, Wa as SlidesWorkError, Wn as KsWorkComments, Wo as UserSpaceInfoError, Wr as BiliDynamicInfo, Ws as ArticleContentError, Wt as AmagiRequest, X as ApiSuccessEventData, Xa as ParseWorkError, Xi as SearchNotesError, Xn as KsUserProfileGameInfo, Xo as UserDynamicListError, Xr as DynamicTypeForward, Xs as DyPassportPollResult, Xt as EventBus, Y as ApiErrorEventData, Ya as ParseWork, Yi as SearchNotes$1, Yn as KsUserProfileCounts, Yo as UserDynamicList, Yr as DynamicTypeLiveRcmd, Ys as index_d_exports, Yt as AmagiBusEventName, Z as HttpRequestEventData, Za as ParseWorkSuccess, Zi as SearchNotesSuccess, Zn as KsUserProfileLiveInfo, Zo as UserDynamicListSuccess, Zr as DynamicTypeForwardUnion, Zs as DyPassportQrcode, Zt as CaptchaChallenge, _ as assertValidBilibiliParams, _a as DanmakuListError$1, _i as XiaohongshuMethodOptionsMap, _n as AmagiRequestOptions, _o as EmojiResourceMetaError, _r as DyMusicWork, _s as LiveRoomInfoError, _t as createClient, a as KUAISHOU_PC_CAPTCHA_RESULT, aa as HomeFeedError, ai as BiliEmojiList, an as QrcodeLoginStrategy, ao as ImageAlbumWorkError, ar as DouyinReturnTypeMap, as as QrcodeStatusError, at as emitHttpRequest, b as assertValidXiaohongshuParams, ba as CommentsError$2, bi as KuaishouMethodType, bo as EmojiListError$1, br as DyGuestUserInfo, bs as EmojiListError, bt as XiaohongshuFetcher, c as CookieConfig, ca as EmojiListError$3, ci as BiliBangumiVideoInfo, cn as WatchHandlers, co as GuestUserInfoError, cr as DyVideoWork, cs as LoginStatusError, ct as emitLogDebug, d as createAmagiClient, da as VideoWorkError$1, di as ArticleContent, dn as AmagiResult, do as GuestMusicInfoError, dr as DyUserInfo, ds as LoginQrcodeError, dt as emitLogMark, ea as NoteDetailSuccess, ec as DyPassportSendCodeResult, ei as DynamicTypeArticle, en as LoginChallenge, eo as MusicInfoSuccess, er as KsVerifiedStatus, es as UserCardSuccess, et as NetworkErrorEventData, f as douyinApiUrls, fa as VideoWorkSuccess$1, fi as ArticleCard, fn as AmagiSuccess, fo as GuestMusicInfoSuccess, fr as DySuggestWords, fs as LoginQrcodeSuccess, ft as emitLogWarn, g as isNetworkErrorResult, ga as DanmakuList$1, gi as XiaohongshuMethodOptMap, gn as unwrap, go as EmojiResourceMeta, gr as SearchInfoGeneralData, gs as LiveRoomInfo, gt as FacadeServerOptions, h as fetchResponse, ha as EmojiListSuccess$2, hi as xiaohongshuApiUrls, hn as isSuccess, ho as GuestMusicAwemeListSuccess, hr as SearchInfoUser, hs as LiveRoomInitSuccess, ht as ClientOptions, i as KUAISHOU_H5_CAPTCHA_RESULT, ia as HomeFeed$1, ic as DyPassportVerifyWay, ii as BiliCommentReply, in as Qrcode, io as ImageAlbumWork, ir as KsDanmaku, is as QrcodeStatus, it as emitApiSuccess, j as createXiaohongshuRoutes, ja as UserProfile, ji as CommentType, jn as KuaishouDataOptionsMap, jo as CommentReplies$1, jr as BiliBiliVideoPlayurlNoLogin, js as BangumiStream, jt as SuccessDouyinFetcher, k as handleError, ka as UserRecommendListError, kn as DouyinDataOptionsMap, ko as CommentsError$1, kr as BilibiliReturnTypeMap, ks as CommentRepliesError, kt as DouyinFetcher, l as Options, la as EmojiListSuccess$3, li as BiliAv2Bv, ln as WatchOptions, lo as GuestUserInfoSuccess, lr as DyUserPostVideos, ls as LoginStatusSuccess, lt as emitLogError, m as fetchData, ma as EmojiListError$2, mn as isFailure, mo as GuestMusicAwemeListError, mr as SearchInfoVideo, ms as LiveRoomInitError, mt as emitNetworkRetry, n as CreateApp, na as NoteCommentsError, nc as DyPassportValidateCodeResult, ni as ColumnInfo, nn as LoginSession, no as LiveRoomInfoError$1, nr as KsLiveRoomInfo, ns as UploaderTotalViewsError, nt as amagiEvents, o as KuaishouCaptchaChallenge, oa as HomeFeedSuccess, oi as BiliBangumiVideoPlayurlNoLogin, on as SessionCtx, oo as ImageAlbumWorkSuccess, or as DySearchInfo, os as QrcodeStatusSuccess, ot as emitHttpResponse, p as bilibiliApiUrls, pa as EmojiList$2, pi as NetworksConfigType, pn as AmagiThrownError, po as GuestMusicAwemeList, pr as DySlidesWork, ps as LiveRoomInit, pt as emitNetworkError, q as AmagiEventMap, qa as SearchError, qi as UserProfileError$1, qn as KsUserHomeWork, qo as UserLiveStatusError, qr as MajorType, qs as ArticleCardsError, qt as AMAGI_BUS_EVENT_NAMES, r as amagi, ra as NoteCommentsSuccess, rc as DyPassportVerifyContext, ri as BiliBv2AV, rn as LoginState, ro as LiveRoomInfoSuccess$1, rr as KsEmojiList, rs as UploaderTotalViewsSuccess, rt as emitApiError, s as parseKuaishouCaptcha, sa as EmojiList$3, si as BiliBangumiVideoPlayurlIsLogin, sn as SmsChallenge, so as GuestUserInfo, sr as DyWorkComments, ss as LoginStatus, st as emitLog, t as Client, ta as NoteComments$1, tc as DyPassportValidateCode, ti as DynamicType, tn as LoginNamespace, to as LiveRoomInfo$1, tr as KsOneWork, ts as UploaderTotalViews, tt as NetworkRetryEventData, u as RequestConfig, ua as VideoWork$1, ui as ArticleInfo, un as AmagiFailure, uo as GuestMusicInfo, ur as DyUserLiveVideos, us as LoginQrcode, ut as emitLogInfo, v as assertValidDouyinParams, va as DanmakuListSuccess$1, vo as EmojiResourceMetaSuccess, vr as DyLoginQrcode, vs as LiveRoomInfoSuccess, vt as BoundXiaohongshuFetcher, w as validateDouyinParams, wa as VideoWorkSuccess, wi as DouyinMethodOptMap, wo as DynamicEmojiListSuccess, wr as DyEmojiProList, ws as DynamicDetailSuccess, wt as KuaishouFetcher, x as createErrorResponse, xa as CommentsSuccess$2, xi as KuaishouMethodOptMap, xo as EmojiListSuccess$1, xr as DyGuestMusicInfo, xs as EmojiListSuccess, xt as createBoundXiaohongshuFetcher, y as assertValidKuaishouParams, ya as Comments$2, yo as EmojiList$1, yr as DyImageAlbumWork, ys as EmojiList, yt as SuccessXiaohongshuFetcher, z as douyinUtils, za as TextWorkSuccess, zn as SearchNotes, zo as VideoInfoSuccess, zr as BiliNewLoginQrcode, zs as ArticleListInfoSuccess, zt as BoundBilibiliFetcher } from "../index-BSNuPU57.js";
|
|
2
|
+
import { _ as AmagiErrorCode, b as ValidationIssue, f as AmagiMeta, g as AmagiError, h as Platform, m as TraceReason, p as RequestTrace, v as ErrorKind, y as RiskChallenge } from "../endpoint-QPR2Pp-S.js";
|
|
3
|
+
import { d as av2bv, f as bv2av } from "../secsdkWebSign-DoqHj52s.js";
|
|
3
4
|
export { AMAGI_BUS_EVENT_NAMES, APIErrorType, AdditionalType, type AmagiAxiosTrack, type AmagiBusEventMap, type AmagiBusEventName, type AmagiError, type AmagiErrorCode, AmagiEventMap, AmagiEventType, type AmagiFailure, type AmagiMeta, type AmagiRequest, type AmagiRequestConfig, type AmagiRequestMethod, type AmagiRequestOptions, type AmagiResult, type AmagiSuccess, AmagiThrownError, ApiError, ApiErrorEventData, ApiSuccessEventData, ArticleCard, ArticleContent, ArticleInfo, ArticleWork, BiliAv2Bv, BiliBangumiVideoInfo, BiliBangumiVideoPlayurlIsLogin, BiliBangumiVideoPlayurlNoLogin, BiliBiliVideoPlayurlNoLogin, BiliBv2AV, BiliCheckQrcode, BiliCommentReply, BiliDynamicInfo, BiliDynamicInfoUnion, BiliEmojiList, BiliLiveRoomDef, BiliLiveRoomDetail, BiliLoginStatus, BiliNewLoginQrcode, BiliOneWork, BiliProtobufDanmaku, BiliUserDynamic, BiliUserFullView, BiliUserLiveStatus, BiliUserProfile, BiliVideoPlayurlIsLogin, BiliWorkComments, type ArticleCards as BilibiliArticleCardsResponse, type ArticleCardsError as BilibiliArticleCardsResponseError, type ArticleCardsSuccess as BilibiliArticleCardsResponseSuccess, type ArticleContent$1 as BilibiliArticleContentResponse, type ArticleContentError as BilibiliArticleContentResponseError, type ArticleContentSuccess as BilibiliArticleContentResponseSuccess, type ArticleInfo$1 as BilibiliArticleInfoResponse, type ArticleInfoError as BilibiliArticleInfoResponseError, type ArticleInfoSuccess as BilibiliArticleInfoResponseSuccess, type ArticleListInfo as BilibiliArticleListInfoResponse, type ArticleListInfoError as BilibiliArticleListInfoResponseError, type ArticleListInfoSuccess as BilibiliArticleListInfoResponseSuccess, type BangumiInfo as BilibiliBangumiInfoResponse, type BangumiInfoError as BilibiliBangumiInfoResponseError, type BangumiInfoSuccess as BilibiliBangumiInfoResponseSuccess, type BangumiStream as BilibiliBangumiStreamResponse, type BangumiStreamError as BilibiliBangumiStreamResponseError, type BangumiStreamSuccess as BilibiliBangumiStreamResponseSuccess, type CommentReplies as BilibiliCommentRepliesResponse, type CommentRepliesError as BilibiliCommentRepliesResponseError, type CommentRepliesSuccess as BilibiliCommentRepliesResponseSuccess, type Comments as BilibiliCommentsResponse, type CommentsError as BilibiliCommentsResponseError, type CommentsSuccess as BilibiliCommentsResponseSuccess, BilibiliDataOptions, BilibiliDataOptionsMap, type DynamicDetail as BilibiliDynamicDetailResponse, type DynamicDetailError as BilibiliDynamicDetailResponseError, type DynamicDetailSuccess as BilibiliDynamicDetailResponseSuccess, type EmojiList as BilibiliEmojiListResponse, type EmojiListError as BilibiliEmojiListResponseError, type EmojiListSuccess as BilibiliEmojiListResponseSuccess, type BilibiliFetcher, type LiveRoomInfo as BilibiliLiveRoomInfoResponse, type LiveRoomInfoError as BilibiliLiveRoomInfoResponseError, type LiveRoomInfoSuccess as BilibiliLiveRoomInfoResponseSuccess, type LiveRoomInit as BilibiliLiveRoomInitResponse, type LiveRoomInitError as BilibiliLiveRoomInitResponseError, type LiveRoomInitSuccess as BilibiliLiveRoomInitResponseSuccess, type LoginQrcode as BilibiliLoginQrcodeResponse, type LoginQrcodeError as BilibiliLoginQrcodeResponseError, type LoginQrcodeSuccess as BilibiliLoginQrcodeResponseSuccess, type LoginStatus as BilibiliLoginStatusResponse, type LoginStatusError as BilibiliLoginStatusResponseError, type LoginStatusSuccess as BilibiliLoginStatusResponseSuccess, BilibiliMethodOptMap, BilibiliMethodOptionsMap, type BilibiliMethodType, type QrcodeStatus as BilibiliQrcodeStatusResponse, type QrcodeStatusError as BilibiliQrcodeStatusResponseError, type QrcodeStatusSuccess as BilibiliQrcodeStatusResponseSuccess, BilibiliReturnTypeMap, type UploaderTotalViews as BilibiliUploaderTotalViewsResponse, type UploaderTotalViewsError as BilibiliUploaderTotalViewsResponseError, type UploaderTotalViewsSuccess as BilibiliUploaderTotalViewsResponseSuccess, type UserCard as BilibiliUserCardResponse, type UserCardError as BilibiliUserCardResponseError, type UserCardSuccess as BilibiliUserCardResponseSuccess, type UserDynamicList as BilibiliUserDynamicListResponse, type UserDynamicListError as BilibiliUserDynamicListResponseError, type UserDynamicListSuccess as BilibiliUserDynamicListResponseSuccess, type UserLiveStatus as BilibiliUserLiveStatusResponse, type UserLiveStatusError as BilibiliUserLiveStatusResponseError, type UserLiveStatusSuccess as BilibiliUserLiveStatusResponseSuccess, type UserSpaceInfo as BilibiliUserSpaceInfoResponse, type UserSpaceInfoError as BilibiliUserSpaceInfoResponseError, type UserSpaceInfoSuccess as BilibiliUserSpaceInfoResponseSuccess, type VideoDanmaku as BilibiliVideoDanmakuResponse, type VideoDanmakuError as BilibiliVideoDanmakuResponseError, type VideoDanmakuSuccess as BilibiliVideoDanmakuResponseSuccess, type VideoInfo as BilibiliVideoInfoResponse, type VideoInfoError as BilibiliVideoInfoResponseError, type VideoInfoSuccess as BilibiliVideoInfoResponseSuccess, type VideoStream as BilibiliVideoStreamResponse, type VideoStreamError as BilibiliVideoStreamResponseError, type VideoStreamSuccess as BilibiliVideoStreamResponseSuccess, type BoundBilibiliFetcher, type BoundDouyinFetcher, type BoundKuaishouFetcher, type BoundXiaohongshuFetcher, type CaptchaChallenge, type ChallengeAnswer, type ClientOptions, ColumnInfo, CommentReply, CommentType, CookieConfig, CreateApp, type Credential, type CommentReplies$1 as DouyinCommentRepliesResponse, type CommentRepliesError$1 as DouyinCommentRepliesResponseError, type CommentRepliesSuccess$1 as DouyinCommentRepliesResponseSuccess, type Comments$1 as DouyinCommentsResponse, type CommentsError$1 as DouyinCommentsResponseError, type CommentsSuccess$1 as DouyinCommentsResponseSuccess, type DanmakuList as DouyinDanmakuListResponse, type DanmakuListError as DouyinDanmakuListResponseError, type DanmakuListSuccess as DouyinDanmakuListResponseSuccess, DouyinDataOptions, DouyinDataOptionsMap, type DynamicEmojiList as DouyinDynamicEmojiListResponse, type DynamicEmojiListError as DouyinDynamicEmojiListResponseError, type DynamicEmojiListSuccess as DouyinDynamicEmojiListResponseSuccess, type EmojiList$1 as DouyinEmojiListResponse, type EmojiListError$1 as DouyinEmojiListResponseError, type EmojiListSuccess$1 as DouyinEmojiListResponseSuccess, type EmojiResourceMeta as DouyinEmojiResourceMetaResponse, type EmojiResourceMetaError as DouyinEmojiResourceMetaResponseError, type EmojiResourceMetaSuccess as DouyinEmojiResourceMetaResponseSuccess, type DouyinFetcher, type GuestMusicAwemeList as DouyinGuestMusicAwemeListResponse, type GuestMusicAwemeListError as DouyinGuestMusicAwemeListResponseError, type GuestMusicAwemeListSuccess as DouyinGuestMusicAwemeListResponseSuccess, type GuestMusicInfo as DouyinGuestMusicInfoResponse, type GuestMusicInfoError as DouyinGuestMusicInfoResponseError, type GuestMusicInfoSuccess as DouyinGuestMusicInfoResponseSuccess, type GuestUserInfo as DouyinGuestUserInfoResponse, type GuestUserInfoError as DouyinGuestUserInfoResponseError, type GuestUserInfoSuccess as DouyinGuestUserInfoResponseSuccess, type ImageAlbumWork as DouyinImageAlbumWorkResponse, type ImageAlbumWorkError as DouyinImageAlbumWorkResponseError, type ImageAlbumWorkSuccess as DouyinImageAlbumWorkResponseSuccess, type LiveRoomInfo$1 as DouyinLiveRoomInfoResponse, type LiveRoomInfoError$1 as DouyinLiveRoomInfoResponseError, type LiveRoomInfoSuccess$1 as DouyinLiveRoomInfoResponseSuccess, DouyinMethodOptMap, DouyinMethodOptionsMap, type DouyinMethodType, type MusicInfo as DouyinMusicInfoResponse, type MusicInfoError as DouyinMusicInfoResponseError, type MusicInfoSuccess as DouyinMusicInfoResponseSuccess, type ParseWork as DouyinParseWorkResponse, type ParseWorkError as DouyinParseWorkResponseError, type ParseWorkSuccess as DouyinParseWorkResponseSuccess, DouyinReturnTypeMap, type Search as DouyinSearchResponse, type SearchError as DouyinSearchResponseError, type SearchSuccess as DouyinSearchResponseSuccess, type SlidesWork as DouyinSlidesWorkResponse, type SlidesWorkError as DouyinSlidesWorkResponseError, type SlidesWorkSuccess as DouyinSlidesWorkResponseSuccess, type DouyinStaticFetcher, type SuggestWords as DouyinSuggestWordsResponse, type SuggestWordsError as DouyinSuggestWordsResponseError, type SuggestWordsSuccess as DouyinSuggestWordsResponseSuccess, type TextWork as DouyinTextWorkResponse, type TextWorkError as DouyinTextWorkResponseError, type TextWorkSuccess as DouyinTextWorkResponseSuccess, type UserFavoriteList as DouyinUserFavoriteListResponse, type UserFavoriteListError as DouyinUserFavoriteListResponseError, type UserFavoriteListSuccess as DouyinUserFavoriteListResponseSuccess, type UserProfile as DouyinUserProfileResponse, type UserProfileError as DouyinUserProfileResponseError, type UserProfileSuccess as DouyinUserProfileResponseSuccess, type UserRecommendList as DouyinUserRecommendListResponse, type UserRecommendListError as DouyinUserRecommendListResponseError, type UserRecommendListSuccess as DouyinUserRecommendListResponseSuccess, type UserVideoList as DouyinUserVideoListResponse, type UserVideoListError as DouyinUserVideoListResponseError, type UserVideoListSuccess as DouyinUserVideoListResponseSuccess, type VideoWork as DouyinVideoWorkResponse, type VideoWorkError as DouyinVideoWorkResponseError, type VideoWorkSuccess as DouyinVideoWorkResponseSuccess, DyDanmakuList, DyEmojiList, DyEmojiProList, DyEmojiResourceMeta, DyGuestMusicAwemeList, DyGuestMusicInfo, DyGuestUserInfo, DyImageAlbumWork, DyLoginQrcode, DyMusicWork, DyPassportPollResult, DyPassportQrcode, DyPassportQrcodeStatus, DyPassportSendCode, DyPassportSendCodeResult, DyPassportValidateCode, DyPassportValidateCodeResult, DyPassportVerifyContext, DyPassportVerifyWay, DySearchInfo, DySlidesWork, DySuggestWords, DyUserInfo, DyUserLiveVideos, DyUserPostVideos, DyVideoWork, DyWorkComments, DynamicType, DynamicTypeAV, DynamicTypeArticle, DynamicTypeDraw, DynamicTypeForward, DynamicTypeForwardUnion, DynamicTypeLiveRcmd, DynamicTypeWord, type ErrorKind, type EventBus, type FacadeServerOptions, HomeFeed, HttpRequestEventData, HttpResponseEventData, KUAISHOU_H5_CAPTCHA_RESULT, KUAISHOU_PC_CAPTCHA_RESULT, type KsBannedStatus, KsDanmaku, KsEmojiList, KsLiveRoomInfo, KsOneWork, type KsUserHomeWork, KsUserProfile, type KsUserProfileCounts, type KsUserProfileGameInfo, type KsUserProfileLiveInfo, type KsUserProfileSensitiveInfo, type KsUserProfileUserInfo, KsUserWorkList, type KsVerifiedStatus, KsWorkComments, type KuaishouCaptchaChallenge, type Comments$2 as KuaishouCommentsResponse, type CommentsError$2 as KuaishouCommentsResponseError, type CommentsSuccess$2 as KuaishouCommentsResponseSuccess, type DanmakuList$1 as KuaishouDanmakuListResponse, type DanmakuListError$1 as KuaishouDanmakuListResponseError, type DanmakuListSuccess$1 as KuaishouDanmakuListResponseSuccess, KuaishouDataOptions, KuaishouDataOptionsMap, type EmojiList$2 as KuaishouEmojiListResponse, type EmojiListError$2 as KuaishouEmojiListResponseError, type EmojiListSuccess$2 as KuaishouEmojiListResponseSuccess, type KuaishouFetcher, type KuaishouGraphqlRequest, type KuaishouLiveApiRequest, KuaishouMethodOptMap, KuaishouMethodOptionsMap, type KuaishouMethodType, KuaishouReturnTypeMap, type VideoWork$1 as KuaishouVideoWorkResponse, type VideoWorkError$1 as KuaishouVideoWorkResponseError, type VideoWorkSuccess$1 as KuaishouVideoWorkResponseSuccess, LogEventData, type LoginChallenge, type LoginNamespace, type LoginSession, type LoginState, MajorType, NetworkErrorEventData, NetworkRetryEventData, type NetworksConfigType, NoteComments, OmitMethodType, OneNote, Options, type Platform, type Qrcode, type QrcodeLoginStrategy, RequestConfig, type RequestTrace, type RiskChallenge, SearchInfoGeneralData, SearchInfoUser, SearchInfoVideo, SearchNotes, type SessionCtx, type SmsChallenge, type SuccessBilibiliFetcher, type SuccessDouyinFetcher, type SuccessKuaishouFetcher, type SuccessXiaohongshuFetcher, type TraceReason, ValidationError, type ValidationIssue, type WatchHandlers, type WatchOptions, XiaohongshuDataOptions, XiaohongshuDataOptionsMap, XiaohongshuEmojiList, type EmojiList$3 as XiaohongshuEmojiListResponse, type EmojiListError$3 as XiaohongshuEmojiListResponseError, type EmojiListSuccess$3 as XiaohongshuEmojiListResponseSuccess, type XiaohongshuFetcher, type HomeFeed$1 as XiaohongshuHomeFeedResponse, type HomeFeedError as XiaohongshuHomeFeedResponseError, type HomeFeedSuccess as XiaohongshuHomeFeedResponseSuccess, XiaohongshuMethodOptMap, XiaohongshuMethodOptionsMap, type NoteComments$1 as XiaohongshuNoteCommentsResponse, type NoteCommentsError as XiaohongshuNoteCommentsResponseError, type NoteCommentsSuccess as XiaohongshuNoteCommentsResponseSuccess, type NoteDetail as XiaohongshuNoteDetailResponse, type NoteDetailError as XiaohongshuNoteDetailResponseError, type NoteDetailSuccess as XiaohongshuNoteDetailResponseSuccess, XiaohongshuReturnTypeMap, type SearchNotes$1 as XiaohongshuSearchNotesResponse, type SearchNotesError as XiaohongshuSearchNotesResponseError, type SearchNotesSuccess as XiaohongshuSearchNotesResponseSuccess, XiaohongshuUserNoteList, XiaohongshuUserProfile, type UserProfile$1 as XiaohongshuUserProfileResponse, type UserProfileError$1 as XiaohongshuUserProfileResponseError, type UserProfileSuccess$1 as XiaohongshuUserProfileResponseSuccess, amagi, amagiEvents, assertValidBilibiliParams, assertValidDouyinParams, assertValidKuaishouParams, assertValidXiaohongshuParams, av2bv, bilibiliApiUrls, bilibiliFetcher, bilibiliUtils, bv2av, checkPassportQrcode, createAmagiClient, createBilibiliRoutes, createBoundBilibiliFetcher, createBoundDouyinFetcher, createBoundKuaishouFetcher, createBoundXiaohongshuFetcher, createClient, createDouyinRoutes, createErrorResponse, createKuaishouRoutes, createSuccessResponse, createXiaohongshuRoutes, Client as default, douyinApiUrls, douyinFetcher, index_d_exports as douyinPassport, douyinSign, douyinUtils, emitApiError, emitApiSuccess, emitHttpRequest, emitHttpResponse, emitLog, emitLogDebug, emitLogError, emitLogInfo, emitLogMark, emitLogWarn, emitNetworkError, emitNetworkRetry, fetchData, fetchResponse, handleError, isFailure, isNetworkErrorResult, isSuccess, kuaishouApiUrls, kuaishouFetcher, kuaishouSign, kuaishouUtils, parseDmSegMobileReply, parseKuaishouCaptcha, qtparam, requestPassportQrcode, sendPassportVerifyCode, unwrap, validateBilibiliParams, validateDouyinParams, validateKuaishouParams, validatePassportVerifyCode, validateXiaohongshuParams, wbi_sign, xiaohongshuApiUrls, xiaohongshuFetcher, xiaohongshuSign, xiaohongshuUtils };
|
package/dist/default/index.mjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import { $ as unwrap, A as douyinFetcher, B as xiaohongshuSign, C as ValidationError, Ct as parseDmSegMobileReply, D as createBoundKuaishouFetcher, E as xiaohongshuFetcher, F as bilibiliFetcher, G as createDouyinRoutes, H as createKuaishouRoutes, I as createBoundBilibiliFetcher, J as bilibiliUtils, K as passport_exports, L as createClient, M as requestPassportQrcode, N as sendPassportVerifyCode, O as kuaishouFetcher, P as validatePassportVerifyCode, Q as isSuccess, R as xiaohongshuUtils, S as ApiError, St as emitNetworkRetry, T as createBoundXiaohongshuFetcher,
|
|
1
|
+
import { $ as unwrap, A as douyinFetcher, B as xiaohongshuSign, C as ValidationError, Ct as parseDmSegMobileReply, D as createBoundKuaishouFetcher, E as xiaohongshuFetcher, F as bilibiliFetcher, G as createDouyinRoutes, H as createKuaishouRoutes, I as createBoundBilibiliFetcher, J as bilibiliUtils, K as passport_exports, L as createClient, M as requestPassportQrcode, N as sendPassportVerifyCode, O as kuaishouFetcher, P as validatePassportVerifyCode, Q as isSuccess, R as xiaohongshuUtils, S as ApiError, St as emitNetworkRetry, T as createBoundXiaohongshuFetcher, U as kuaishouSign, V as kuaishouUtils, W as douyinUtils, X as AmagiThrownError, Y as createBilibiliRoutes, Z as isFailure, _ as validateBilibiliParams, _t as emitLogError, a as AdditionalType, at as wbi_sign, b as validateXiaohongshuParams, bt as emitLogWarn, c as createAmagiClient, ct as fetchResponse, d as assertValidBilibiliParams, dt as emitApiError, et as AMAGI_BUS_EVENT_NAMES, f as assertValidDouyinParams, ft as emitApiSuccess, g as createSuccessResponse, gt as emitLogDebug, h as createErrorResponse, ht as emitLog, i as DynamicType, it as qtparam, j as checkPassportQrcode, k as createBoundDouyinFetcher, l as kuaishouApiUrls, lt as isNetworkErrorResult, m as assertValidXiaohongshuParams, mt as emitHttpResponse, n as CreateApp, nt as KUAISHOU_PC_CAPTCHA_RESULT, o as MajorType, ot as bilibiliApiUrls, p as assertValidKuaishouParams, pt as emitHttpRequest, q as douyinSign, r as amagi, rt as parseKuaishouCaptcha, s as CommentType, st as fetchData, t as Client, tt as KUAISHOU_H5_CAPTCHA_RESULT, u as douyinApiUrls, ut as amagiEvents, v as validateDouyinParams, vt as emitLogInfo, w as handleError, x as xiaohongshuApiUrls, xt as emitNetworkError, y as validateKuaishouParams, yt as emitLogMark, z as createXiaohongshuRoutes } from "../src-ZHFzJ9Lf.mjs";
|
|
2
|
+
import { n as bv2av, t as av2bv } from "../bv2av-DUm4x7as.mjs";
|
|
2
3
|
export { AMAGI_BUS_EVENT_NAMES, AdditionalType, AmagiThrownError, ApiError, CommentType, CreateApp, DynamicType, KUAISHOU_H5_CAPTCHA_RESULT, KUAISHOU_PC_CAPTCHA_RESULT, MajorType, ValidationError, amagi, amagiEvents, assertValidBilibiliParams, assertValidDouyinParams, assertValidKuaishouParams, assertValidXiaohongshuParams, av2bv, bilibiliApiUrls, bilibiliFetcher, bilibiliUtils, bv2av, checkPassportQrcode, createAmagiClient, createBilibiliRoutes, createBoundBilibiliFetcher, createBoundDouyinFetcher, createBoundKuaishouFetcher, createBoundXiaohongshuFetcher, createClient, createDouyinRoutes, createErrorResponse, createKuaishouRoutes, createSuccessResponse, createXiaohongshuRoutes, Client as default, douyinApiUrls, douyinFetcher, passport_exports as douyinPassport, douyinSign, douyinUtils, emitApiError, emitApiSuccess, emitHttpRequest, emitHttpResponse, emitLog, emitLogDebug, emitLogError, emitLogInfo, emitLogMark, emitLogWarn, emitNetworkError, emitNetworkRetry, fetchData, fetchResponse, handleError, isFailure, isNetworkErrorResult, isSuccess, kuaishouApiUrls, kuaishouFetcher, kuaishouSign, kuaishouUtils, parseDmSegMobileReply, parseKuaishouCaptcha, qtparam, requestPassportQrcode, sendPassportVerifyCode, unwrap, validateBilibiliParams, validateDouyinParams, validateKuaishouParams, validatePassportVerifyCode, validateXiaohongshuParams, wbi_sign, xiaohongshuApiUrls, xiaohongshuFetcher, xiaohongshuSign, xiaohongshuUtils };
|
|
@@ -159,159 +159,6 @@ interface RawResponse {
|
|
|
159
159
|
url: string;
|
|
160
160
|
}
|
|
161
161
|
//#endregion
|
|
162
|
-
//#region src/platforms/kuaishou/api.d.ts
|
|
163
|
-
/**
|
|
164
|
-
* 快手 URL 构造(请求描述)。
|
|
165
|
-
*
|
|
166
|
-
* 参数类型在本文件本地定义,只负责返回请求描述对象,不发起网络请求。
|
|
167
|
-
*
|
|
168
|
-
* `videoWork` / `comments` 两条走 H5 命名空间 —— 见 {@link KUAISHOU_H5_HOST}。
|
|
169
|
-
*
|
|
170
|
-
* ## 几条**没有**实现的接口
|
|
171
|
-
*
|
|
172
|
-
* - **搜索 / 创作者搜索 / 热榜**(`/rest/v/search`、`/rest/v/feed/hot` 一类):
|
|
173
|
-
* 这三个要「浏览器激活过的真实 did」。真实 did 得先在浏览器里走
|
|
174
|
-
* `gdfp.gifshow.com/s/w/c` 完成设备指纹注册,**服务端有账本**,本地造不出来。
|
|
175
|
-
* 实测过 5 种组合(随机 did + 借来的完整风控指纹、服务端刚下发的新 did、
|
|
176
|
-
* 新 did 先走 `system/startup` 预热、Node 侧裸打 `gdfp` 注册……)全部被拒。
|
|
177
|
-
* amagi 的 did 是内部生成的,所以这条**绕不过去**。
|
|
178
|
-
* - **音乐标签页**:可用做法是抓分享页 HTML 解 `INIT_STATE`,而不是打 `tag/music/*`
|
|
179
|
-
* 接口。抓 HTML 解全局变量不属于「接口库」该干的事,不实现。
|
|
180
|
-
* - **相关推荐 `/rest/wd/ugH5App/slide/feed`、搜索热词 `/rest/wd/ugH5App/search/guess`**:
|
|
181
|
-
* 两条都免签、都能做,只是当前没有下游需要,按需再加。
|
|
182
|
-
*
|
|
183
|
-
* 上述实测结论来自 @OduckO 的 kuaishou-parser(GPL-3.0-only):
|
|
184
|
-
* https://github.com/OduckO
|
|
185
|
-
*/
|
|
186
|
-
/** `videoWork` 参数 */
|
|
187
|
-
interface VideoInfoParams {
|
|
188
|
-
/** 作品 ID */
|
|
189
|
-
photoId: string;
|
|
190
|
-
/** 业务标识,H5 分享页恒为 `NEBULA` */
|
|
191
|
-
kpn?: string;
|
|
192
|
-
/** 子业务,空串即可 */
|
|
193
|
-
subBiz?: string;
|
|
194
|
-
/** 以下 8 个 share 字段来自短链展开后的 URL query;直接用 photoId 调用时全传空串 */
|
|
195
|
-
fid?: string;
|
|
196
|
-
efid?: string;
|
|
197
|
-
shareToken?: string;
|
|
198
|
-
shareObjectId?: string;
|
|
199
|
-
shareMethod?: string;
|
|
200
|
-
shareId?: string;
|
|
201
|
-
shareResourceType?: string;
|
|
202
|
-
/** 分享渠道,取短链 query 里的 `cc` */
|
|
203
|
-
shareChannel?: string;
|
|
204
|
-
/** 分享页域名,恒为 `c.kuaishou.com` */
|
|
205
|
-
h5Domain?: string;
|
|
206
|
-
/** 是否长视频 */
|
|
207
|
-
isLongVideo?: boolean;
|
|
208
|
-
}
|
|
209
|
-
/** `comments` 参数 */
|
|
210
|
-
interface CommentParams {
|
|
211
|
-
/** 作品 ID */
|
|
212
|
-
photoId: string;
|
|
213
|
-
/** 分页游标;为空时请求首屏评论 */
|
|
214
|
-
pcursor?: string;
|
|
215
|
-
}
|
|
216
|
-
/** `userProfile` / `liveRoomInfo` 参数 */
|
|
217
|
-
interface UserProfileParams {
|
|
218
|
-
/** 用户主页 principalId,可直接取 profile 页 URL 末段 */
|
|
219
|
-
principalId: string;
|
|
220
|
-
}
|
|
221
|
-
/** `userWorkList` 参数 */
|
|
222
|
-
interface UserWorkListParams {
|
|
223
|
-
/** 用户主页 principalId */
|
|
224
|
-
principalId: string;
|
|
225
|
-
/** 分页游标;为空时请求首屏作品列表 */
|
|
226
|
-
pcursor?: string;
|
|
227
|
-
/** 每页数量,默认 12 */
|
|
228
|
-
count?: number;
|
|
229
|
-
}
|
|
230
|
-
/** `liveRoomInfo` 参数 */
|
|
231
|
-
interface LiveRoomInfoParams {
|
|
232
|
-
/** 直播间 principalId,可直接取 /u/{principalId} URL 末段 */
|
|
233
|
-
principalId: string;
|
|
234
|
-
}
|
|
235
|
-
/** `danmaku` 参数 */
|
|
236
|
-
interface DanmakuParams {
|
|
237
|
-
/** 作品 ID */
|
|
238
|
-
photoId: string;
|
|
239
|
-
/** 窗口起点(毫秒,**含**) */
|
|
240
|
-
positionFromInclude: number;
|
|
241
|
-
/**
|
|
242
|
-
* 窗口终点(毫秒,**排他**)。
|
|
243
|
-
*
|
|
244
|
-
* 与起点的差**必须 < 60000** —— 达到 60000 时接口回 `result: 1` 但
|
|
245
|
-
* `danmakus: []`,不报错、静默给空数组。窗口的收窄由端点负责,这里只描述请求。
|
|
246
|
-
*/
|
|
247
|
-
positionToExclude: number;
|
|
248
|
-
/** 分页游标。弹幕不靠游标翻页(实测恒回 `no_more`),传空串即可 */
|
|
249
|
-
pcursor?: string;
|
|
250
|
-
/** 请求时间戳,前端传 `Date.now()`;不传由构造器补 */
|
|
251
|
-
timestamp?: number;
|
|
252
|
-
}
|
|
253
|
-
type KuaishouBaseApiRequest = {
|
|
254
|
-
type: string;
|
|
255
|
-
url: string;
|
|
256
|
-
};
|
|
257
|
-
/**
|
|
258
|
-
* 快手 `live_api` 请求描述对象。
|
|
259
|
-
*
|
|
260
|
-
* 除了最终请求地址外,还可以携带 `signPath`,用于声明
|
|
261
|
-
* `__NS_hxfalcon` 实际参与签名的规范路径。
|
|
262
|
-
*/
|
|
263
|
-
type KuaishouLiveApiRequest = KuaishouBaseApiRequest & {
|
|
264
|
-
method: 'GET' | 'POST';
|
|
265
|
-
requiresSign?: boolean;
|
|
266
|
-
signPath?: string;
|
|
267
|
-
body?: Record<string, unknown>;
|
|
268
|
-
};
|
|
269
|
-
/**
|
|
270
|
-
* 快手 GraphQL 请求描述对象。
|
|
271
|
-
*
|
|
272
|
-
* 该结构只负责描述请求,不负责执行网络请求。
|
|
273
|
-
*/
|
|
274
|
-
type KuaishouGraphqlRequest = KuaishouBaseApiRequest & {
|
|
275
|
-
body: {
|
|
276
|
-
operationName: string;
|
|
277
|
-
variables: Record<string, unknown>;
|
|
278
|
-
query: string;
|
|
279
|
-
};
|
|
280
|
-
};
|
|
281
|
-
/**
|
|
282
|
-
* 快手 H5 请求描述对象。
|
|
283
|
-
*
|
|
284
|
-
* 与 `live_api` 的差别:H5 接口一律 POST + JSON body,参数**必须在 body 里**
|
|
285
|
-
* (放 query 会拿到 `result=1` 但 0 条数据),且 body 参与签名。
|
|
286
|
-
*/
|
|
287
|
-
type KuaishouH5Request = KuaishouBaseApiRequest & {
|
|
288
|
-
method: 'POST';
|
|
289
|
-
/** 是否需要 `__NS_hxfalcon`。`ugH5App/*` 那几个免签 */
|
|
290
|
-
requiresSign: boolean;
|
|
291
|
-
/** 规范签名路径(H5 接口与公开路径一致,显式给出便于端点直接透传) */
|
|
292
|
-
signPath: string;
|
|
293
|
-
body: Record<string, unknown>;
|
|
294
|
-
/** 分享页 Referer。H5 接口按分享页来源校验,桌面的 `/new-reco` 不适用 */
|
|
295
|
-
referer: string;
|
|
296
|
-
};
|
|
297
|
-
//#endregion
|
|
298
|
-
//#region src/contracts/platform.d.ts
|
|
299
|
-
/**
|
|
300
|
-
* 平台契约。
|
|
301
|
-
*
|
|
302
|
-
* `contracts/` 是零依赖叶子层:本目录下的模块不 import 仓库内任何其他模块,
|
|
303
|
-
* 所以任何层都可以依赖它而不引入 import 环。
|
|
304
|
-
*/
|
|
305
|
-
/**
|
|
306
|
-
* amagi 支持的平台清单。
|
|
307
|
-
*
|
|
308
|
-
* `Platform` 联合类型由这个数组推导而来,两者不可能漂移 ——
|
|
309
|
-
* 新增平台只需在这里加一项。数组顺序即对外文档与遍历顺序。
|
|
310
|
-
*/
|
|
311
|
-
declare const PLATFORMS: readonly ['douyin', 'bilibili', 'kuaishou', 'xiaohongshu'];
|
|
312
|
-
/** amagi 支持的平台 */
|
|
313
|
-
type Platform = (typeof PLATFORMS)[number];
|
|
314
|
-
//#endregion
|
|
315
162
|
//#region src/contracts/error.d.ts
|
|
316
163
|
/**
|
|
317
164
|
* 错误契约。
|
|
@@ -357,7 +204,7 @@ type ErrorKind =
|
|
|
357
204
|
* 用字符串字面量联合而不是 `enum`:`enum` 的 `Object.values()` 会带出反向映射键,
|
|
358
205
|
* 且拿平台返回的数字码去比时容易出现 `'-101'` 与 `-101` 对不上的静默错配。
|
|
359
206
|
*/
|
|
360
|
-
type AmagiErrorCode = 'PARAM_INVALID' | 'PARAM_MISSING' | 'COOKIE_MISSING' | 'COOKIE_EXPIRED' | 'LOGIN_REQUIRED' | 'RATE_LIMITED' | 'RISK_CONTROL' | 'CAPTCHA_REQUIRED' | 'NOT_FOUND' | 'DELETED' | 'PRIVATE' | 'GEO_RESTRICTED' | 'PAID_CONTENT' | 'PLATFORM_ERROR' | 'PLATFORM_UNAVAILABLE' | 'NETWORK_ERROR' | 'TIMEOUT' | 'EMPTY_RESPONSE' | 'DECODE_FAILED' | 'ANTIBOT_PAGE' | 'INTERNAL_ERROR' | 'UNKNOWN_ERROR';
|
|
207
|
+
type AmagiErrorCode = 'PARAM_INVALID' | 'PARAM_MISSING' | 'COOKIE_MISSING' | 'COOKIE_EXPIRED' | 'LOGIN_REQUIRED' | 'RATE_LIMITED' | 'RISK_CONTROL' | 'CAPTCHA_REQUIRED' | 'SIGNATURE_REFUSED' | 'NOT_FOUND' | 'DELETED' | 'PRIVATE' | 'GEO_RESTRICTED' | 'PAID_CONTENT' | 'PLATFORM_ERROR' | 'PLATFORM_UNAVAILABLE' | 'NETWORK_ERROR' | 'TIMEOUT' | 'EMPTY_RESPONSE' | 'DECODE_FAILED' | 'ANTIBOT_PAGE' | 'INTERNAL_ERROR' | 'UNKNOWN_ERROR';
|
|
361
208
|
/** `kind === 'validation'` 时的字段级错误 */
|
|
362
209
|
interface ValidationIssue {
|
|
363
210
|
/** 点号路径,如 `'verify.stdParams.token'` */
|
|
@@ -452,6 +299,23 @@ interface RiskChallenge {
|
|
|
452
299
|
result?: string | number;
|
|
453
300
|
}
|
|
454
301
|
//#endregion
|
|
302
|
+
//#region src/contracts/platform.d.ts
|
|
303
|
+
/**
|
|
304
|
+
* 平台契约。
|
|
305
|
+
*
|
|
306
|
+
* `contracts/` 是零依赖叶子层:本目录下的模块不 import 仓库内任何其他模块,
|
|
307
|
+
* 所以任何层都可以依赖它而不引入 import 环。
|
|
308
|
+
*/
|
|
309
|
+
/**
|
|
310
|
+
* amagi 支持的平台清单。
|
|
311
|
+
*
|
|
312
|
+
* `Platform` 联合类型由这个数组推导而来,两者不可能漂移 ——
|
|
313
|
+
* 新增平台只需在这里加一项。数组顺序即对外文档与遍历顺序。
|
|
314
|
+
*/
|
|
315
|
+
declare const PLATFORMS: readonly ['douyin', 'bilibili', 'kuaishou', 'xiaohongshu'];
|
|
316
|
+
/** amagi 支持的平台 */
|
|
317
|
+
type Platform = (typeof PLATFORMS)[number];
|
|
318
|
+
//#endregion
|
|
455
319
|
//#region src/contracts/meta.d.ts
|
|
456
320
|
/**
|
|
457
321
|
* 可观测性契约。
|
|
@@ -770,9 +634,33 @@ interface EndpointDef<TParams extends zod.ZodType, TData, TSign extends string =
|
|
|
770
634
|
type AnyEndpointDef = EndpointDef<any, any, any, any, any>;
|
|
771
635
|
/** 一个平台的端点注册表:端点短名 → 声明 */
|
|
772
636
|
type Registry = Record<string, AnyEndpointDef>;
|
|
773
|
-
/**
|
|
774
|
-
type
|
|
637
|
+
/** 取端点的参数 schema 类型 */
|
|
638
|
+
type ParamsSchemaOf<D> = D extends EndpointDef<infer P, unknown, any, any, any> ? P : never;
|
|
639
|
+
/** 取端点「校验后的参数」类型(对应 `zod.infer`)——build / merge / nextParams 取它 */
|
|
640
|
+
type ParsedOf<D> = D extends EndpointDef<infer P, unknown, any, any, any> ? zod.infer<P> : never;
|
|
641
|
+
/** 内部参数的 phantom 品牌键。只存在于类型里;运行时由 `.meta()` 携带同一标记 */
|
|
642
|
+
declare const InternalBrand: unique symbol;
|
|
643
|
+
/**
|
|
644
|
+
* 内部参数的 schema 类型:`internalParam()` 的返回。
|
|
645
|
+
*
|
|
646
|
+
* 交叉出来的品牌是 phantom —— schema 的运行时行为不变,`zod.infer` 读到的
|
|
647
|
+
* `output` / `input` 也不受影响(品牌键上没有这些属性,TS 从 S 侧解析)。
|
|
648
|
+
*/
|
|
649
|
+
type InternalParam<S extends zod.ZodType> = S & {
|
|
650
|
+
readonly [InternalBrand]: true;
|
|
651
|
+
};
|
|
652
|
+
/** 从 params schema 的 shape 里筛出内部参数的键名(类型层,读 phantom 品牌) */
|
|
653
|
+
type InternalKeysOf<S> = S extends zod.ZodObject<infer Shape> ? { [K in keyof Shape]-?: Shape[K] extends {
|
|
654
|
+
readonly [InternalBrand]: true;
|
|
655
|
+
} ? K : never; }[keyof Shape] : never;
|
|
656
|
+
/**
|
|
657
|
+
* 调用方能传的参数:校验后的形状挖掉内部参数。
|
|
658
|
+
*
|
|
659
|
+
* fetcher / 静态 fetcher 的 options 取它。`ParsedOf` 仍归 build / merge / nextParams
|
|
660
|
+
* —— 它们要读写内部参数(翻页游标这类),URL 构造器同样取完整形状。
|
|
661
|
+
*/
|
|
662
|
+
type PublicParamsOf<D> = Omit<ParsedOf<D>, InternalKeysOf<ParamsSchemaOf<D>>>;
|
|
775
663
|
/** 取端点的响应数据类型 */
|
|
776
664
|
type DataOf<D> = D extends EndpointDef<any, infer T, any, any, any> ? T : never;
|
|
777
665
|
//#endregion
|
|
778
|
-
export { RequestSpec as
|
|
666
|
+
export { RequestSpec as C, RequestConfig as S, AmagiErrorCode as _, ParsedOf as a, ValidationIssue as b, SignDecl as c, SignStep as d, AmagiMeta as f, AmagiError as g, Platform as h, InternalParam as i, SignFn as l, TraceReason as m, DataOf as n, PublicParamsOf as o, RequestTrace as p, EndpointDef as r, Registry as s, AnyEndpointDef as t, SignPhase as u, ErrorKind as v, RawResponse as x, RiskChallenge as y };
|
package/dist/exports/compat.cjs
CHANGED
|
@@ -2,7 +2,8 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_src = require("../src-
|
|
5
|
+
const require_src = require("../src-BMmA6XJW.cjs");
|
|
6
|
+
const require_bv2av = require("../bv2av-Dw0qrO9g.cjs");
|
|
6
7
|
//#region src/exports/compat.ts
|
|
7
8
|
/** 模块级只执行一次的迁移提示(不刷屏) */
|
|
8
9
|
require_src.emitLogWarn("[@ikenxuan/amagi/compat] 你正在使用 v6 兼容入口;v7 迁移说明见 https://github.com/ikenxuan/amagi (v8 将移除 compat)");
|
|
@@ -189,12 +190,12 @@ exports.assertValidBilibiliParams = require_src.assertValidBilibiliParams;
|
|
|
189
190
|
exports.assertValidDouyinParams = require_src.assertValidDouyinParams;
|
|
190
191
|
exports.assertValidKuaishouParams = require_src.assertValidKuaishouParams;
|
|
191
192
|
exports.assertValidXiaohongshuParams = require_src.assertValidXiaohongshuParams;
|
|
192
|
-
exports.av2bv =
|
|
193
|
+
exports.av2bv = require_bv2av.av2bv;
|
|
193
194
|
exports.bilibiliApiUrls = require_src.bilibiliApiUrls;
|
|
194
195
|
exports.bilibiliFetcher = compatBilibiliFetcher;
|
|
195
196
|
exports.compatBilibiliFetcher = compatBilibiliFetcher;
|
|
196
197
|
exports.bilibiliUtils = require_src.bilibiliUtils;
|
|
197
|
-
exports.bv2av =
|
|
198
|
+
exports.bv2av = require_bv2av.bv2av;
|
|
198
199
|
exports.checkPassportQrcode = require_src.checkPassportQrcode;
|
|
199
200
|
exports.compatCreateBoundBilibiliFetcher = compatCreateBoundBilibiliFetcher;
|
|
200
201
|
exports.createBoundBilibiliFetcher = compatCreateBoundBilibiliFetcher;
|