@ybgnb/bili-api 0.0.1 → 0.0.3
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/LICENSE +1 -1
- package/dist/index.d.ts +5832 -9
- package/dist/index.js +1 -7
- package/package.json +23 -13
- package/readme.md +2 -1
- package/dist/client/api.d.ts +0 -23
- package/dist/client/api.d.ts.map +0 -1
- package/dist/client/api.js +0 -128
- package/dist/client/api.js.map +0 -1
- package/dist/client/client.d.ts +0 -25
- package/dist/client/client.d.ts.map +0 -1
- package/dist/client/client.js +0 -22
- package/dist/client/client.js.map +0 -1
- package/dist/client/common.d.ts +0 -6
- package/dist/client/common.d.ts.map +0 -1
- package/dist/client/common.js +0 -13
- package/dist/client/common.js.map +0 -1
- package/dist/config/index.d.ts +0 -22
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -32
- package/dist/config/index.js.map +0 -1
- package/dist/error/handle-error.d.ts +0 -6
- package/dist/error/handle-error.d.ts.map +0 -1
- package/dist/error/handle-error.js +0 -32
- package/dist/error/handle-error.js.map +0 -1
- package/dist/error/index.d.ts +0 -40
- package/dist/error/index.d.ts.map +0 -1
- package/dist/error/index.js +0 -79
- package/dist/error/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -704
- package/dist/index.mjs.map +0 -1
- package/dist/index.umd.js +0 -742
- package/dist/index.umd.js.map +0 -1
- package/dist/service/base.d.ts +0 -17
- package/dist/service/base.d.ts.map +0 -1
- package/dist/service/base.js +0 -34
- package/dist/service/base.js.map +0 -1
- package/dist/service/user/index.d.ts +0 -28
- package/dist/service/user/index.d.ts.map +0 -1
- package/dist/service/user/index.js +0 -148
- package/dist/service/user/index.js.map +0 -1
- package/dist/service/user/qrcode-login.d.ts +0 -13
- package/dist/service/user/qrcode-login.d.ts.map +0 -1
- package/dist/service/user/qrcode-login.js +0 -88
- package/dist/service/user/qrcode-login.js.map +0 -1
- package/dist/stores/mixinkey.d.ts +0 -8
- package/dist/stores/mixinkey.d.ts.map +0 -1
- package/dist/stores/mixinkey.js +0 -86
- package/dist/stores/mixinkey.js.map +0 -1
- package/dist/test.d.ts +0 -2
- package/dist/test.d.ts.map +0 -1
- package/dist/test.js +0 -4
- package/dist/test.js.map +0 -1
- package/dist/types/business/auth.d.ts +0 -15
- package/dist/types/business/auth.d.ts.map +0 -1
- package/dist/types/business/auth.js +0 -2
- package/dist/types/business/auth.js.map +0 -1
- package/dist/types/business/level.d.ts +0 -22
- package/dist/types/business/level.d.ts.map +0 -1
- package/dist/types/business/level.js +0 -2
- package/dist/types/business/level.js.map +0 -1
- package/dist/types/business/login.d.ts +0 -35
- package/dist/types/business/login.d.ts.map +0 -1
- package/dist/types/business/login.js +0 -2
- package/dist/types/business/login.js.map +0 -1
- package/dist/types/business/misc.d.ts +0 -9
- package/dist/types/business/misc.d.ts.map +0 -1
- package/dist/types/business/misc.js +0 -2
- package/dist/types/business/misc.js.map +0 -1
- package/dist/types/business/user.d.ts +0 -34
- package/dist/types/business/user.d.ts.map +0 -1
- package/dist/types/business/user.js +0 -10
- package/dist/types/business/user.js.map +0 -1
- package/dist/types/business/vip.d.ts +0 -36
- package/dist/types/business/vip.d.ts.map +0 -1
- package/dist/types/business/vip.js +0 -19
- package/dist/types/business/vip.js.map +0 -1
- package/dist/types/core/client.d.ts +0 -38
- package/dist/types/core/client.d.ts.map +0 -1
- package/dist/types/core/client.js +0 -2
- package/dist/types/core/client.js.map +0 -1
- package/dist/types/core/request.d.ts +0 -87
- package/dist/types/core/request.d.ts.map +0 -1
- package/dist/types/core/request.js +0 -2
- package/dist/types/core/request.js.map +0 -1
- package/dist/types/core/response.d.ts +0 -26
- package/dist/types/core/response.d.ts.map +0 -1
- package/dist/types/core/response.js +0 -2
- package/dist/types/core/response.js.map +0 -1
- package/dist/utils/cookies.d.ts +0 -3
- package/dist/utils/cookies.d.ts.map +0 -1
- package/dist/utils/cookies.js +0 -26
- package/dist/utils/cookies.js.map +0 -1
- package/dist/utils/time.d.ts +0 -3
- package/dist/utils/time.d.ts.map +0 -1
- package/dist/utils/time.js +0 -26
- package/dist/utils/time.js.map +0 -1
- package/dist/utils/url.d.ts +0 -31
- package/dist/utils/url.d.ts.map +0 -1
- package/dist/utils/url.js +0 -93
- package/dist/utils/url.js.map +0 -1
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 用户等级经验信息
|
|
3
|
-
*/
|
|
4
|
-
export interface LevelExp {
|
|
5
|
-
/**
|
|
6
|
-
* 当前等级 (0-6级)
|
|
7
|
-
*/
|
|
8
|
-
current_level: number;
|
|
9
|
-
/**
|
|
10
|
-
* 当前等级起始经验值 (固定为0)
|
|
11
|
-
*/
|
|
12
|
-
current_min: number;
|
|
13
|
-
/**
|
|
14
|
-
* 当前账户经验值
|
|
15
|
-
*/
|
|
16
|
-
current_exp: number;
|
|
17
|
-
/**
|
|
18
|
-
* 升至下一等级所需的总经验值 (非差值)
|
|
19
|
-
*/
|
|
20
|
-
next_exp: number;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=level.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"level.d.ts","sourceRoot":"","sources":["../../../src/types/business/level.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;CACjB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"level.js","sourceRoot":"","sources":["../../../src/types/business/level.ts"],"names":[],"mappings":""}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 登录二维码
|
|
3
|
-
*/
|
|
4
|
-
export interface LoginQRCode {
|
|
5
|
-
url: string;
|
|
6
|
-
qrcode_key: string;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* 二维码登录结果
|
|
10
|
-
*/
|
|
11
|
-
export interface QRCodeLoginResult {
|
|
12
|
-
url: string;
|
|
13
|
-
refresh_token: string;
|
|
14
|
-
code: number;
|
|
15
|
-
timestamp: number;
|
|
16
|
-
message: string;
|
|
17
|
-
setCookie: string[];
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* 二维码登录回调
|
|
21
|
-
*/
|
|
22
|
-
export interface QRCodeLoginCallback {
|
|
23
|
-
onQRCodeReceived: (qrcodeUrl: string) => Promise<void>;
|
|
24
|
-
onStatusChange: (msg: string) => void;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* 二维码登录选项
|
|
28
|
-
*/
|
|
29
|
-
export interface QRCodeLoginOptions {
|
|
30
|
-
updateRequestContext?: boolean;
|
|
31
|
-
autoRefresh?: boolean;
|
|
32
|
-
signal: AbortSignal;
|
|
33
|
-
pollIntervalMs?: number;
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=login.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/types/business/login.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAElC,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAGtD,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAEjC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB,MAAM,EAAE,WAAW,CAAA;IAEnB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/types/business/login.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../src/types/business/misc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAEhC;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../src/types/business/misc.ts"],"names":[],"mappings":""}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 封禁状态配置
|
|
3
|
-
*/
|
|
4
|
-
export declare const SILENCE_STATUS: {
|
|
5
|
-
readonly NORMAL: 0;
|
|
6
|
-
readonly BLOCKED: 1;
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* 封禁状态类型
|
|
10
|
-
*/
|
|
11
|
-
export type SilenceStatus = (typeof SILENCE_STATUS)[keyof typeof SILENCE_STATUS];
|
|
12
|
-
/**
|
|
13
|
-
* bili 用户卡片信息(信息较少)
|
|
14
|
-
*/
|
|
15
|
-
export interface UserCard {
|
|
16
|
-
mid: number;
|
|
17
|
-
name: string;
|
|
18
|
-
face: string;
|
|
19
|
-
sign: string;
|
|
20
|
-
rank: number;
|
|
21
|
-
level: number;
|
|
22
|
-
silence: SilenceStatus;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* bili 用户信息
|
|
26
|
-
*/
|
|
27
|
-
export interface UserInfo extends UserCard {
|
|
28
|
-
sex: '男' | '女' | '保密';
|
|
29
|
-
moral: number;
|
|
30
|
-
following: number;
|
|
31
|
-
follower: number;
|
|
32
|
-
[k: string]: unknown;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=user.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/types/business/user.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,cAAc;;;CAKjB,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAA;AAEhF;;GAEG;AACH,MAAM,WAAW,QAAQ;IAEvB,GAAG,EAAE,MAAM,CAAA;IAEX,IAAI,EAAE,MAAM,CAAA;IAEZ,IAAI,EAAE,MAAM,CAAA;IAEZ,IAAI,EAAE,MAAM,CAAA;IAEZ,IAAI,EAAE,MAAM,CAAA;IAEZ,KAAK,EAAE,MAAM,CAAA;IAEb,OAAO,EAAE,aAAa,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,QAAS,SAAQ,QAAQ;IAExC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAA;IAErB,KAAK,EAAE,MAAM,CAAA;IAEb,SAAS,EAAE,MAAM,CAAA;IAEjB,QAAQ,EAAE,MAAM,CAAA;IAEhB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/types/business/user.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK;IACL,MAAM,EAAE,CAAC;IACT,KAAK;IACL,OAAO,EAAE,CAAC;CACF,CAAA"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { TimestampMs } from './misc.js';
|
|
2
|
-
/**
|
|
3
|
-
* vip 类型配置
|
|
4
|
-
*/
|
|
5
|
-
export declare const VIP_TYPE: {
|
|
6
|
-
readonly NONE: 0;
|
|
7
|
-
readonly MONTH: 1;
|
|
8
|
-
readonly YEAR: 2;
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* vip 类型
|
|
12
|
-
*/
|
|
13
|
-
export type VipType = (typeof VIP_TYPE)[keyof typeof VIP_TYPE];
|
|
14
|
-
/**
|
|
15
|
-
* vip 状态配置
|
|
16
|
-
*/
|
|
17
|
-
export declare const VIP_STATUS: {
|
|
18
|
-
readonly NONE: 0;
|
|
19
|
-
readonly YES: 1;
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* vip 状态类型
|
|
23
|
-
*/
|
|
24
|
-
export type VipStatus = (typeof VIP_STATUS)[keyof typeof VIP_STATUS];
|
|
25
|
-
/**
|
|
26
|
-
* VIP 信息
|
|
27
|
-
*/
|
|
28
|
-
export interface VIP {
|
|
29
|
-
/** 会员类型: 0=无, 1=月度大会员, 2=年度以上大会员 */
|
|
30
|
-
vipType: VipType;
|
|
31
|
-
/** 会员到期时间, 时间戳(毫秒) */
|
|
32
|
-
vipDueDate: TimestampMs;
|
|
33
|
-
/** 大会员状态: 0=无, 1=有 */
|
|
34
|
-
vipStatus: VipStatus;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=vip.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vip.d.ts","sourceRoot":"","sources":["../../../src/types/business/vip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;CAOX,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAA;AAE9D;;GAEG;AACH,eAAO,MAAM,UAAU;;;CAGb,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAA;AAEpE;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAA;IAChB,sBAAsB;IACtB,UAAU,EAAE,WAAW,CAAA;IACvB,sBAAsB;IACtB,SAAS,EAAE,SAAS,CAAA;CACrB"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* vip 类型配置
|
|
3
|
-
*/
|
|
4
|
-
export const VIP_TYPE = {
|
|
5
|
-
// 无
|
|
6
|
-
NONE: 0,
|
|
7
|
-
// 月度大会员
|
|
8
|
-
MONTH: 1,
|
|
9
|
-
// 年度以上大会员
|
|
10
|
-
YEAR: 2,
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* vip 状态配置
|
|
14
|
-
*/
|
|
15
|
-
export const VIP_STATUS = {
|
|
16
|
-
NONE: 0,
|
|
17
|
-
YES: 1,
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=vip.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vip.js","sourceRoot":"","sources":["../../../src/types/business/vip.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI;IACJ,IAAI,EAAE,CAAC;IACP,QAAQ;IACR,KAAK,EAAE,CAAC;IACR,UAAU;IACV,IAAI,EAAE,CAAC;CACC,CAAA;AAOV;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;CACE,CAAA"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import type { RequestContext } from './request.js';
|
|
2
|
-
/**
|
|
3
|
-
* 日志记录的函数参数类型,复用 console
|
|
4
|
-
*/
|
|
5
|
-
export type ConsoleMethod = Console['log'];
|
|
6
|
-
/**
|
|
7
|
-
* bili 客户端日志记录(默认输出到控制台)
|
|
8
|
-
*/
|
|
9
|
-
export type ClientLogging = {
|
|
10
|
-
info: ConsoleMethod;
|
|
11
|
-
debug: ConsoleMethod;
|
|
12
|
-
error: ConsoleMethod;
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* bili 客户端日志级别
|
|
16
|
-
*/
|
|
17
|
-
export type LogLevel = keyof ClientLogging;
|
|
18
|
-
/**
|
|
19
|
-
* bili 客户端的配置
|
|
20
|
-
*/
|
|
21
|
-
export interface BiliClientConfig {
|
|
22
|
-
timeout: number;
|
|
23
|
-
userAgent: string;
|
|
24
|
-
referer: string | ((url: string) => string);
|
|
25
|
-
context?: RequestContext;
|
|
26
|
-
logLevel: LogLevel;
|
|
27
|
-
logging: ClientLogging;
|
|
28
|
-
autoMixinKey: boolean;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* bili 客户端的配置快照(较少信息)
|
|
32
|
-
*/
|
|
33
|
-
export interface BiliClientConfigSnapshot {
|
|
34
|
-
timeout: number;
|
|
35
|
-
userAgent: string;
|
|
36
|
-
context?: Partial<RequestContext>;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/types/core/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAGlD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;AAE1C;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,aAAa,CAAA;IACnB,KAAK,EAAE,aAAa,CAAA;IACpB,KAAK,EAAE,aAAa,CAAA;CACrB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAA;AAE1C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAE/B,OAAO,EAAE,MAAM,CAAA;IAEf,SAAS,EAAE,MAAM,CAAA;IAEjB,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,CAAA;IAE3C,OAAO,CAAC,EAAE,cAAc,CAAA;IAExB,QAAQ,EAAE,QAAQ,CAAA;IAElB,OAAO,EAAE,aAAa,CAAA;IAEtB,YAAY,EAAE,OAAO,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;CAClC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/types/core/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import type { UserCard } from '../business/user.js';
|
|
2
|
-
import type { UserCookie } from '../business/auth.js';
|
|
3
|
-
import type { ApiResponseData, ReturnFormat, ReturnFormatMap } from './response.js';
|
|
4
|
-
/**
|
|
5
|
-
* bili 请求参数
|
|
6
|
-
*/
|
|
7
|
-
export type RequestParams = Record<string, string | number | boolean | null | undefined>;
|
|
8
|
-
/**
|
|
9
|
-
* bili 请求体
|
|
10
|
-
*/
|
|
11
|
-
export type RequestBody = BodyInit;
|
|
12
|
-
/**
|
|
13
|
-
* bili 请求上下文(需要用户信息和cookie)
|
|
14
|
-
*/
|
|
15
|
-
export interface RequestContext {
|
|
16
|
-
userInfo: UserCard;
|
|
17
|
-
userCookie: UserCookie;
|
|
18
|
-
}
|
|
19
|
-
export type RequestMethod = 'GET' | 'POST' | 'PUT' | 'DELETE';
|
|
20
|
-
/**
|
|
21
|
-
* bili 请求配置
|
|
22
|
-
*/
|
|
23
|
-
export interface RequestOptions<QParams extends RequestParams = RequestParams, QData extends RequestBody = RequestBody, RRFormat extends ReturnFormat | undefined = undefined> {
|
|
24
|
-
/**
|
|
25
|
-
* 请求url
|
|
26
|
-
*/
|
|
27
|
-
url: string;
|
|
28
|
-
/**
|
|
29
|
-
* 请求类型
|
|
30
|
-
* @default 'GET'
|
|
31
|
-
*/
|
|
32
|
-
method: RequestMethod;
|
|
33
|
-
/**
|
|
34
|
-
* 查询参数
|
|
35
|
-
*/
|
|
36
|
-
query?: QParams;
|
|
37
|
-
/**
|
|
38
|
-
* 请求体数据
|
|
39
|
-
*/
|
|
40
|
-
data?: QData;
|
|
41
|
-
/**
|
|
42
|
-
* 返回格式
|
|
43
|
-
* @default 'ApiResponseData'
|
|
44
|
-
*/
|
|
45
|
-
returnFormat: RRFormat;
|
|
46
|
-
/**
|
|
47
|
-
* 是否忽略业务失败(rep.data.code !== 0)
|
|
48
|
-
* - true: 不抛出异常
|
|
49
|
-
* - false: 业务失败时抛出异常
|
|
50
|
-
* @default false
|
|
51
|
-
*/
|
|
52
|
-
ignoreBusinessError: boolean;
|
|
53
|
-
/**
|
|
54
|
-
* 是否跳过 WBI 签名
|
|
55
|
-
* - false: 对查询参数进行 WBI 签名
|
|
56
|
-
* - true: 跳过签名
|
|
57
|
-
* @default false
|
|
58
|
-
*/
|
|
59
|
-
skipWbiSign: boolean;
|
|
60
|
-
/**
|
|
61
|
-
* 是否自动添加 CSRF 参数(bili_jct)
|
|
62
|
-
* - 仅在 POST 请求时生效
|
|
63
|
-
* @default true
|
|
64
|
-
*/
|
|
65
|
-
autoCsrf: boolean;
|
|
66
|
-
/**
|
|
67
|
-
* 指定用户ccokie,不使用请求上下文里的用户cookie
|
|
68
|
-
*/
|
|
69
|
-
cookie?: UserCookie;
|
|
70
|
-
/**
|
|
71
|
-
* 取消信号
|
|
72
|
-
*/
|
|
73
|
-
signal?: AbortSignal;
|
|
74
|
-
/**
|
|
75
|
-
* fetch 的初始控制
|
|
76
|
-
*/
|
|
77
|
-
init?: RequestInit;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* bili 请求
|
|
81
|
-
*/
|
|
82
|
-
export type BiliRequest = <RData extends ApiResponseData = ApiResponseData, QParams extends RequestParams = RequestParams, QData extends RequestBody = RequestBody, RRFormat extends ReturnFormat | undefined = undefined>(url: string, options?: Partial<RequestOptions<QParams, QData, RRFormat>>, init?: RequestInit) => Promise<ReturnFormatMap<RData, RRFormat>>;
|
|
83
|
-
/**
|
|
84
|
-
* bili 请求选项快照(较少信息)
|
|
85
|
-
*/
|
|
86
|
-
export type RequestOptionsSnapshot = Pick<RequestOptions, 'url' | 'method' | 'query' | 'data' | 'skipWbiSign' | 'autoCsrf'>;
|
|
87
|
-
//# sourceMappingURL=request.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/types/core/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEnF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;AAExF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAA;AAElC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;CACvB;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAA;AAE7D;;GAEG;AACH,MAAM,WAAW,cAAc,CAC7B,OAAO,SAAS,aAAa,GAAG,aAAa,EAC7C,KAAK,SAAS,WAAW,GAAG,WAAW,EACvC,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,SAAS;IAErD;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,MAAM,EAAE,aAAa,CAAA;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ;;;OAGG;IACH,YAAY,EAAE,QAAQ,CAAA;IACtB;;;;;OAKG;IACH,mBAAmB,EAAE,OAAO,CAAA;IAC5B;;;;;OAKG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,WAAW,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CACxB,KAAK,SAAS,eAAe,GAAG,eAAe,EAC/C,OAAO,SAAS,aAAa,GAAG,aAAa,EAC7C,KAAK,SAAS,WAAW,GAAG,WAAW,EACvC,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,SAAS,EAErD,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,EAC3D,IAAI,CAAC,EAAE,WAAW,KACf,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;AAE9C;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,cAAc,EACd,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,UAAU,CACjE,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/types/core/request.ts"],"names":[],"mappings":""}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* http 原始响应
|
|
3
|
-
*/
|
|
4
|
-
export type RawResponse = Response;
|
|
5
|
-
/**
|
|
6
|
-
* bili 接口响应
|
|
7
|
-
*/
|
|
8
|
-
export interface ApiResponse<D extends ApiResponseData = ApiResponseData> {
|
|
9
|
-
code: number;
|
|
10
|
-
ttl: number;
|
|
11
|
-
message: string;
|
|
12
|
-
data: D;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* bili 接口响应的数据
|
|
16
|
-
*/
|
|
17
|
-
export type ApiResponseData = any;
|
|
18
|
-
/**
|
|
19
|
-
* bili 请求的返回格式,分别对应 HttpResponse、BiliResponse、BiliResponseData
|
|
20
|
-
*/
|
|
21
|
-
export type ReturnFormat = 'RawResponse' | 'ApiResponse' | 'ApiResponseData';
|
|
22
|
-
/**
|
|
23
|
-
* 根据 returnFormat 映射返回格式
|
|
24
|
-
*/
|
|
25
|
-
export type ReturnFormatMap<RData, T extends ReturnFormat | undefined = undefined> = T extends 'RawResponse' ? RawResponse : T extends 'ApiResponse' ? ApiResponse<RData> : T extends 'ApiResponseData' ? RData : T extends undefined ? RData : never;
|
|
26
|
-
//# sourceMappingURL=response.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/types/core/response.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAA;AAElC;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IACtE,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,CAAC,CAAA;CACR;AAED;;GAEG;AAEH,MAAM,MAAM,eAAe,GAAG,GAAG,CAAA;AAEjC;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,aAAa,GAAG,iBAAiB,CAAA;AAE5E;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,SAAS,YAAY,GAAG,SAAS,GAAG,SAAS,IAAI,CAAC,SAAS,aAAa,GACxG,WAAW,GACX,CAAC,SAAS,aAAa,GACrB,WAAW,CAAC,KAAK,CAAC,GAClB,CAAC,SAAS,iBAAiB,GACzB,KAAK,GACL,CAAC,SAAS,SAAS,GACjB,KAAK,GACL,KAAK,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/types/core/response.ts"],"names":[],"mappings":""}
|
package/dist/utils/cookies.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../src/utils/cookies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAE3D,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,UAAU,CA0B/D"}
|
package/dist/utils/cookies.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export function parseUserCookie(setCookie) {
|
|
2
|
-
if (!setCookie)
|
|
3
|
-
throw new Error('setCookie 为空');
|
|
4
|
-
const cookies = [];
|
|
5
|
-
let bili_jct;
|
|
6
|
-
let uid;
|
|
7
|
-
for (const cookie of setCookie) {
|
|
8
|
-
if (cookie) {
|
|
9
|
-
const item = cookie.slice(0, cookie.indexOf(';') + 1);
|
|
10
|
-
cookies.push(item);
|
|
11
|
-
if (item.startsWith('bili_jct=')) {
|
|
12
|
-
bili_jct = item.slice('bili_jct='.length, -1);
|
|
13
|
-
}
|
|
14
|
-
if (item.startsWith('DedeUserID=')) {
|
|
15
|
-
uid = item.slice('DedeUserID='.length, -1);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
if (!bili_jct || !uid)
|
|
20
|
-
throw new Error('setCookie 解析错误,不存在 bili_jct/uid');
|
|
21
|
-
return {
|
|
22
|
-
cookie: cookies.join(' '),
|
|
23
|
-
bili_jct: bili_jct,
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=cookies.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cookies.js","sourceRoot":"","sources":["../../src/utils/cookies.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAAC,SAAmB;IACjD,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;IAE/C,MAAM,OAAO,GAAG,EAAE,CAAA;IAClB,IAAI,QAAQ,CAAA;IACZ,IAAI,GAAG,CAAA;IAEP,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;QAC/B,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;YACrD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAClB,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;YAC/C,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBACnC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IAEzE,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QACzB,QAAQ,EAAE,QAAQ;KACE,CAAA;AACxB,CAAC"}
|
package/dist/utils/time.d.ts
DELETED
package/dist/utils/time.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/utils/time.ts"],"names":[],"mappings":"AACA,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,iBAqBrD;AAGD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,iBAG7E"}
|
package/dist/utils/time.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
// 支持取消的 sleep
|
|
2
|
-
export function sleep(ms, signal) {
|
|
3
|
-
return new Promise((resolve, reject) => {
|
|
4
|
-
if (signal?.aborted)
|
|
5
|
-
return reject(new Error('取消操作'));
|
|
6
|
-
const timer = setTimeout(() => {
|
|
7
|
-
cleanup();
|
|
8
|
-
resolve();
|
|
9
|
-
}, ms);
|
|
10
|
-
const onAbort = () => {
|
|
11
|
-
clearTimeout(timer);
|
|
12
|
-
cleanup();
|
|
13
|
-
reject(new Error('取消操作'));
|
|
14
|
-
};
|
|
15
|
-
const cleanup = () => {
|
|
16
|
-
signal?.removeEventListener('abort', onAbort);
|
|
17
|
-
};
|
|
18
|
-
signal?.addEventListener('abort', onAbort);
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
// 支持取消的随机 sleep
|
|
22
|
-
export function sleepRandom(minMS, maxMS, signal) {
|
|
23
|
-
const ms = Math.random() * (maxMS - minMS) + minMS;
|
|
24
|
-
return sleep(ms, signal);
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=time.js.map
|
package/dist/utils/time.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/utils/time.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,MAAM,UAAU,KAAK,CAAC,EAAU,EAAE,MAAoB;IACpD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,IAAI,MAAM,EAAE,OAAO;YAAE,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QAErD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,OAAO,EAAE,CAAA;YACT,OAAO,EAAE,CAAA;QACX,CAAC,EAAE,EAAE,CAAC,CAAA;QAEN,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,OAAO,EAAE,CAAA;YACT,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QAC3B,CAAC,CAAA;QAED,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC/C,CAAC,CAAA;QAED,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,KAAa,EAAE,MAAoB;IAC5E,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,KAAK,CAAA;IAClD,OAAO,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;AAC1B,CAAC"}
|
package/dist/utils/url.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type { RequestParams } from '../types/core/request.js';
|
|
2
|
-
/**
|
|
3
|
-
* 解析 url
|
|
4
|
-
* @param urlStr
|
|
5
|
-
*/
|
|
6
|
-
export declare function parseURL(urlStr: string): {
|
|
7
|
-
baseUrl: string;
|
|
8
|
-
searchParams: URLSearchParams;
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* 编码 URL 参数
|
|
12
|
-
* @param params 查询参数
|
|
13
|
-
*/
|
|
14
|
-
export declare function encodeURLParams(params: RequestParams): string;
|
|
15
|
-
/**
|
|
16
|
-
* wbi 签名
|
|
17
|
-
* @param params
|
|
18
|
-
*/
|
|
19
|
-
export declare function wbiSign(params: RequestParams): string;
|
|
20
|
-
/**
|
|
21
|
-
* 合并查询参数
|
|
22
|
-
*/
|
|
23
|
-
export declare function mergeParams<QParams = RequestParams>(urlSearchParams: URLSearchParams, params?: QParams): RequestParams;
|
|
24
|
-
/**
|
|
25
|
-
* 处理 url 查询参数
|
|
26
|
-
* @param mergedParams 合并后的查询参数
|
|
27
|
-
* @param skipWbiSign 是否跳过webi签名
|
|
28
|
-
* @return 查询字符串
|
|
29
|
-
*/
|
|
30
|
-
export declare function handleUrlParams(mergedParams: RequestParams, skipWbiSign?: boolean): string;
|
|
31
|
-
//# sourceMappingURL=url.d.ts.map
|
package/dist/utils/url.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../src/utils/url.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAM7D;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM;;;EAUtC;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,UAgBpD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,aAAa,UAK5C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAG,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,OAAO,iBAatG;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAoB1F"}
|
package/dist/utils/url.js
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import md5 from 'md5';
|
|
2
|
-
import { mixinKeyStore } from '../stores/mixinkey.js';
|
|
3
|
-
// URL query 中必须编码的保留字符 (RFC 3986)
|
|
4
|
-
const invalidCharRegex = /[!'()*]/g;
|
|
5
|
-
/**
|
|
6
|
-
* 解析 url
|
|
7
|
-
* @param urlStr
|
|
8
|
-
*/
|
|
9
|
-
export function parseURL(urlStr) {
|
|
10
|
-
try {
|
|
11
|
-
const url = new URL(urlStr);
|
|
12
|
-
return {
|
|
13
|
-
baseUrl: url.origin + url.pathname,
|
|
14
|
-
searchParams: url.searchParams,
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
catch (_) {
|
|
18
|
-
throw new Error('URL 无效');
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* 编码 URL 参数
|
|
23
|
-
* @param params 查询参数
|
|
24
|
-
*/
|
|
25
|
-
export function encodeURLParams(params) {
|
|
26
|
-
return (Object.keys(params)
|
|
27
|
-
// 排序
|
|
28
|
-
.sort()
|
|
29
|
-
// 编码 key 和 value
|
|
30
|
-
.map((key) => {
|
|
31
|
-
const raw = params[key];
|
|
32
|
-
if (raw === undefined || raw === null)
|
|
33
|
-
return '';
|
|
34
|
-
const value = String(raw).replace(invalidCharRegex, '');
|
|
35
|
-
return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
|
|
36
|
-
})
|
|
37
|
-
// 拼接
|
|
38
|
-
.join('&'));
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* wbi 签名
|
|
42
|
-
* @param params
|
|
43
|
-
*/
|
|
44
|
-
export function wbiSign(params) {
|
|
45
|
-
// 先按要求编码
|
|
46
|
-
const query = encodeURLParams(params);
|
|
47
|
-
// 再进行签名
|
|
48
|
-
return query + '&w_rid=' + md5(query + mixinKeyStore.get());
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* 合并查询参数
|
|
52
|
-
*/
|
|
53
|
-
export function mergeParams(urlSearchParams, params) {
|
|
54
|
-
let mergedParams = {};
|
|
55
|
-
if (urlSearchParams.size > 0) {
|
|
56
|
-
// 合并url里的查询参数
|
|
57
|
-
urlSearchParams.forEach((value, key) => {
|
|
58
|
-
mergedParams[key] = value;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
// 处理单独传的查询参数对象
|
|
62
|
-
if (params) {
|
|
63
|
-
mergedParams = { ...mergedParams, ...params };
|
|
64
|
-
}
|
|
65
|
-
return mergedParams;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* 处理 url 查询参数
|
|
69
|
-
* @param mergedParams 合并后的查询参数
|
|
70
|
-
* @param skipWbiSign 是否跳过webi签名
|
|
71
|
-
* @return 查询字符串
|
|
72
|
-
*/
|
|
73
|
-
export function handleUrlParams(mergedParams, skipWbiSign) {
|
|
74
|
-
try {
|
|
75
|
-
if (skipWbiSign || Object.keys(mergedParams).length === 0) {
|
|
76
|
-
// 简单编码即可
|
|
77
|
-
return `${encodeURLParams(mergedParams)}`;
|
|
78
|
-
}
|
|
79
|
-
// 添加 wts
|
|
80
|
-
if (!mergedParams.wts) {
|
|
81
|
-
mergedParams = {
|
|
82
|
-
...mergedParams,
|
|
83
|
-
wts: Math.floor(Date.now() / 1000),
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
// wbi 签名
|
|
87
|
-
return `${wbiSign(mergedParams)}`;
|
|
88
|
-
}
|
|
89
|
-
catch (_) {
|
|
90
|
-
throw new Error('查询参数无效');
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
//# sourceMappingURL=url.js.map
|
package/dist/utils/url.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/utils/url.ts"],"names":[],"mappings":"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"}
|