@ybgnb/bili-api 0.0.2 → 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 -71
- package/dist/index.js +1 -71
- package/package.json +20 -15
- package/readme.md +2 -1
- package/dist/api/base.d.ts +0 -35
- package/dist/api/base.d.ts.map +0 -1
- package/dist/api/base.js +0 -184
- package/dist/api/base.js.map +0 -1
- package/dist/api/page/page.d.ts +0 -35
- package/dist/api/page/page.d.ts.map +0 -1
- package/dist/api/page/page.js +0 -102
- package/dist/api/page/page.js.map +0 -1
- package/dist/api/page/strategies/base.d.ts +0 -30
- package/dist/api/page/strategies/base.d.ts.map +0 -1
- package/dist/api/page/strategies/base.js +0 -9
- package/dist/api/page/strategies/base.js.map +0 -1
- package/dist/api/page/strategies/has-more.d.ts +0 -15
- package/dist/api/page/strategies/has-more.d.ts.map +0 -1
- package/dist/api/page/strategies/has-more.js +0 -26
- package/dist/api/page/strategies/has-more.js.map +0 -1
- package/dist/api/page/strategies/list.d.ts +0 -12
- package/dist/api/page/strategies/list.d.ts.map +0 -1
- package/dist/api/page/strategies/list.js +0 -31
- package/dist/api/page/strategies/list.js.map +0 -1
- package/dist/api/page/strategies/total.d.ts +0 -12
- package/dist/api/page/strategies/total.d.ts.map +0 -1
- package/dist/api/page/strategies/total.js +0 -33
- package/dist/api/page/strategies/total.js.map +0 -1
- package/dist/api/with-api.d.ts +0 -18
- package/dist/api/with-api.d.ts.map +0 -1
- package/dist/api/with-api.js +0 -32
- package/dist/api/with-api.js.map +0 -1
- package/dist/client/client.d.ts +0 -87
- package/dist/client/client.d.ts.map +0 -1
- package/dist/client/client.js +0 -48
- 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/config.d.ts +0 -26
- package/dist/config/config.d.ts.map +0 -1
- package/dist/config/config.js +0 -37
- package/dist/config/config.js.map +0 -1
- package/dist/error/error.d.ts +0 -40
- package/dist/error/error.d.ts.map +0 -1
- package/dist/error/error.js +0 -79
- package/dist/error/error.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/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/service/archive/archive.d.ts +0 -13
- package/dist/service/archive/archive.d.ts.map +0 -1
- package/dist/service/archive/archive.js +0 -71
- package/dist/service/archive/archive.js.map +0 -1
- package/dist/service/bangumi/follow.d.ts +0 -57
- package/dist/service/bangumi/follow.d.ts.map +0 -1
- package/dist/service/bangumi/follow.js +0 -154
- package/dist/service/bangumi/follow.js.map +0 -1
- package/dist/service/base.d.ts +0 -15
- package/dist/service/base.d.ts.map +0 -1
- package/dist/service/base.js +0 -27
- package/dist/service/base.js.map +0 -1
- package/dist/service/fav/collection.d.ts +0 -45
- package/dist/service/fav/collection.d.ts.map +0 -1
- package/dist/service/fav/collection.js +0 -134
- package/dist/service/fav/collection.js.map +0 -1
- package/dist/service/fav/fav.d.ts +0 -118
- package/dist/service/fav/fav.d.ts.map +0 -1
- package/dist/service/fav/fav.js +0 -319
- package/dist/service/fav/fav.js.map +0 -1
- package/dist/service/fav/helper.d.ts +0 -10
- package/dist/service/fav/helper.d.ts.map +0 -1
- package/dist/service/fav/helper.js +0 -29
- package/dist/service/fav/helper.js.map +0 -1
- package/dist/service/fav/opus.d.ts +0 -48
- package/dist/service/fav/opus.d.ts.map +0 -1
- package/dist/service/fav/opus.js +0 -160
- package/dist/service/fav/opus.js.map +0 -1
- package/dist/service/fav/page/opus.d.ts +0 -15
- package/dist/service/fav/page/opus.d.ts.map +0 -1
- package/dist/service/fav/page/opus.js +0 -24
- package/dist/service/fav/page/opus.js.map +0 -1
- package/dist/service/history/history.d.ts +0 -48
- package/dist/service/history/history.d.ts.map +0 -1
- package/dist/service/history/history.js +0 -139
- package/dist/service/history/history.js.map +0 -1
- package/dist/service/history/page.d.ts +0 -14
- package/dist/service/history/page.d.ts.map +0 -1
- package/dist/service/history/page.js +0 -40
- package/dist/service/history/page.js.map +0 -1
- package/dist/service/message/message.d.ts +0 -137
- package/dist/service/message/message.d.ts.map +0 -1
- package/dist/service/message/message.js +0 -328
- package/dist/service/message/message.js.map +0 -1
- package/dist/service/message/page/at.d.ts +0 -15
- package/dist/service/message/page/at.d.ts.map +0 -1
- package/dist/service/message/page/at.js +0 -34
- package/dist/service/message/page/at.js.map +0 -1
- package/dist/service/message/page/like.d.ts +0 -15
- package/dist/service/message/page/like.d.ts.map +0 -1
- package/dist/service/message/page/like.js +0 -34
- package/dist/service/message/page/like.js.map +0 -1
- package/dist/service/message/page/reply.d.ts +0 -15
- package/dist/service/message/page/reply.d.ts.map +0 -1
- package/dist/service/message/page/reply.js +0 -34
- package/dist/service/message/page/reply.js.map +0 -1
- package/dist/service/message/page/system.d.ts +0 -15
- package/dist/service/message/page/system.d.ts.map +0 -1
- package/dist/service/message/page/system.js +0 -33
- package/dist/service/message/page/system.js.map +0 -1
- package/dist/service/relation/relation.d.ts +0 -190
- package/dist/service/relation/relation.d.ts.map +0 -1
- package/dist/service/relation/relation.js +0 -481
- package/dist/service/relation/relation.js.map +0 -1
- package/dist/service/session/page.d.ts +0 -16
- package/dist/service/session/page.d.ts.map +0 -1
- package/dist/service/session/page.js +0 -35
- package/dist/service/session/page.js.map +0 -1
- package/dist/service/session/session.d.ts +0 -48
- package/dist/service/session/session.d.ts.map +0 -1
- package/dist/service/session/session.js +0 -167
- package/dist/service/session/session.js.map +0 -1
- package/dist/service/session/settings.d.ts +0 -56
- package/dist/service/session/settings.d.ts.map +0 -1
- package/dist/service/session/settings.js +0 -219
- package/dist/service/session/settings.js.map +0 -1
- package/dist/service/space/archive.d.ts +0 -34
- package/dist/service/space/archive.d.ts.map +0 -1
- package/dist/service/space/archive.js +0 -102
- package/dist/service/space/archive.js.map +0 -1
- package/dist/service/space/page/search.d.ts +0 -16
- package/dist/service/space/page/search.d.ts.map +0 -1
- package/dist/service/space/page/search.js +0 -33
- package/dist/service/space/page/search.js.map +0 -1
- package/dist/service/toview/page.d.ts +0 -15
- package/dist/service/toview/page.d.ts.map +0 -1
- package/dist/service/toview/page.js +0 -31
- package/dist/service/toview/page.js.map +0 -1
- package/dist/service/toview/toview.d.ts +0 -56
- package/dist/service/toview/toview.d.ts.map +0 -1
- package/dist/service/toview/toview.js +0 -177
- package/dist/service/toview/toview.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/service/user/user.d.ts +0 -34
- package/dist/service/user/user.d.ts.map +0 -1
- package/dist/service/user/user.js +0 -163
- package/dist/service/user/user.js.map +0 -1
- package/dist/stores/mixinkey.d.ts +0 -9
- 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/types/core/client.d.ts +0 -43
- 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/page.d.ts +0 -43
- package/dist/types/core/page.d.ts.map +0 -1
- package/dist/types/core/page.js +0 -2
- package/dist/types/core/page.js.map +0 -1
- package/dist/types/core/request.d.ts +0 -106
- package/dist/types/core/request.d.ts.map +0 -1
- package/dist/types/core/request.js +0 -3
- 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/types/core/type-helpers.d.ts +0 -12
- package/dist/types/core/type-helpers.d.ts.map +0 -1
- package/dist/types/core/type-helpers.js +0 -7
- package/dist/types/core/type-helpers.js.map +0 -1
- package/dist/types/modules/archive/part.d.ts +0 -31
- package/dist/types/modules/archive/part.d.ts.map +0 -1
- package/dist/types/modules/archive/part.js +0 -2
- package/dist/types/modules/archive/part.js.map +0 -1
- package/dist/types/modules/bangumi/bangumi.d.ts +0 -64
- package/dist/types/modules/bangumi/bangumi.d.ts.map +0 -1
- package/dist/types/modules/bangumi/bangumi.js +0 -29
- package/dist/types/modules/bangumi/bangumi.js.map +0 -1
- package/dist/types/modules/business/business.d.ts +0 -41
- package/dist/types/modules/business/business.d.ts.map +0 -1
- package/dist/types/modules/business/business.js +0 -31
- package/dist/types/modules/business/business.js.map +0 -1
- package/dist/types/modules/device/device.d.ts +0 -15
- package/dist/types/modules/device/device.d.ts.map +0 -1
- package/dist/types/modules/device/device.js +0 -11
- package/dist/types/modules/device/device.js.map +0 -1
- package/dist/types/modules/fav/collection.d.ts +0 -24
- package/dist/types/modules/fav/collection.d.ts.map +0 -1
- package/dist/types/modules/fav/collection.js +0 -2
- package/dist/types/modules/fav/collection.js.map +0 -1
- package/dist/types/modules/fav/fav.d.ts +0 -104
- package/dist/types/modules/fav/fav.d.ts.map +0 -1
- package/dist/types/modules/fav/fav.js +0 -2
- package/dist/types/modules/fav/fav.js.map +0 -1
- package/dist/types/modules/fav/folder.d.ts +0 -61
- package/dist/types/modules/fav/folder.d.ts.map +0 -1
- package/dist/types/modules/fav/folder.js +0 -2
- package/dist/types/modules/fav/folder.js.map +0 -1
- package/dist/types/modules/fav/opus.d.ts +0 -31
- package/dist/types/modules/fav/opus.d.ts.map +0 -1
- package/dist/types/modules/fav/opus.js +0 -2
- package/dist/types/modules/fav/opus.js.map +0 -1
- package/dist/types/modules/history/history.d.ts +0 -111
- package/dist/types/modules/history/history.d.ts.map +0 -1
- package/dist/types/modules/history/history.js +0 -2
- package/dist/types/modules/history/history.js.map +0 -1
- package/dist/types/modules/message/at.d.ts +0 -46
- package/dist/types/modules/message/at.d.ts.map +0 -1
- package/dist/types/modules/message/at.js +0 -2
- package/dist/types/modules/message/at.js.map +0 -1
- package/dist/types/modules/message/business.d.ts +0 -56
- package/dist/types/modules/message/business.d.ts.map +0 -1
- package/dist/types/modules/message/business.js +0 -43
- package/dist/types/modules/message/business.js.map +0 -1
- package/dist/types/modules/message/like.d.ts +0 -53
- package/dist/types/modules/message/like.d.ts.map +0 -1
- package/dist/types/modules/message/like.js +0 -2
- package/dist/types/modules/message/like.js.map +0 -1
- package/dist/types/modules/message/message.d.ts +0 -75
- package/dist/types/modules/message/message.d.ts.map +0 -1
- package/dist/types/modules/message/message.js +0 -2
- package/dist/types/modules/message/message.js.map +0 -1
- package/dist/types/modules/message/reply.d.ts +0 -59
- package/dist/types/modules/message/reply.d.ts.map +0 -1
- package/dist/types/modules/message/reply.js +0 -2
- package/dist/types/modules/message/reply.js.map +0 -1
- package/dist/types/modules/message/settings.d.ts +0 -172
- package/dist/types/modules/message/settings.d.ts.map +0 -1
- package/dist/types/modules/message/settings.js +0 -14
- package/dist/types/modules/message/settings.js.map +0 -1
- package/dist/types/modules/message/system.d.ts +0 -45
- package/dist/types/modules/message/system.d.ts.map +0 -1
- package/dist/types/modules/message/system.js +0 -2
- package/dist/types/modules/message/system.js.map +0 -1
- package/dist/types/modules/misc.d.ts +0 -9
- package/dist/types/modules/misc.d.ts.map +0 -1
- package/dist/types/modules/misc.js +0 -2
- package/dist/types/modules/misc.js.map +0 -1
- package/dist/types/modules/opus/opus.d.ts +0 -10
- package/dist/types/modules/opus/opus.d.ts.map +0 -1
- package/dist/types/modules/opus/opus.js +0 -2
- package/dist/types/modules/opus/opus.js.map +0 -1
- package/dist/types/modules/session/session.d.ts +0 -133
- package/dist/types/modules/session/session.d.ts.map +0 -1
- package/dist/types/modules/session/session.js +0 -2
- package/dist/types/modules/session/session.js.map +0 -1
- package/dist/types/modules/session/source.d.ts +0 -107
- package/dist/types/modules/session/source.d.ts.map +0 -1
- package/dist/types/modules/session/source.js +0 -96
- package/dist/types/modules/session/source.js.map +0 -1
- package/dist/types/modules/space/archive.d.ts +0 -75
- package/dist/types/modules/space/archive.d.ts.map +0 -1
- package/dist/types/modules/space/archive.js +0 -2
- package/dist/types/modules/space/archive.js.map +0 -1
- package/dist/types/modules/space/collection.d.ts +0 -51
- package/dist/types/modules/space/collection.d.ts.map +0 -1
- package/dist/types/modules/space/collection.js +0 -2
- package/dist/types/modules/space/collection.js.map +0 -1
- package/dist/types/modules/space/search.d.ts +0 -59
- package/dist/types/modules/space/search.d.ts.map +0 -1
- package/dist/types/modules/space/search.js +0 -2
- package/dist/types/modules/space/search.js.map +0 -1
- package/dist/types/modules/space/space.d.ts +0 -2
- package/dist/types/modules/space/space.d.ts.map +0 -1
- package/dist/types/modules/space/space.js +0 -2
- package/dist/types/modules/space/space.js.map +0 -1
- package/dist/types/modules/toview/toview.d.ts +0 -57
- package/dist/types/modules/toview/toview.d.ts.map +0 -1
- package/dist/types/modules/toview/toview.js +0 -2
- package/dist/types/modules/toview/toview.js.map +0 -1
- package/dist/types/modules/user/auth.d.ts +0 -25
- package/dist/types/modules/user/auth.d.ts.map +0 -1
- package/dist/types/modules/user/auth.js +0 -2
- package/dist/types/modules/user/auth.js.map +0 -1
- package/dist/types/modules/user/level.d.ts +0 -22
- package/dist/types/modules/user/level.d.ts.map +0 -1
- package/dist/types/modules/user/level.js +0 -2
- package/dist/types/modules/user/level.js.map +0 -1
- package/dist/types/modules/user/login.d.ts +0 -35
- package/dist/types/modules/user/login.d.ts.map +0 -1
- package/dist/types/modules/user/login.js +0 -2
- package/dist/types/modules/user/login.js.map +0 -1
- package/dist/types/modules/user/relation.d.ts +0 -136
- package/dist/types/modules/user/relation.d.ts.map +0 -1
- package/dist/types/modules/user/relation.js +0 -89
- package/dist/types/modules/user/relation.js.map +0 -1
- package/dist/types/modules/user/user.d.ts +0 -46
- package/dist/types/modules/user/user.d.ts.map +0 -1
- package/dist/types/modules/user/user.js +0 -10
- package/dist/types/modules/user/user.js.map +0 -1
- package/dist/types/modules/vip/vip.d.ts +0 -36
- package/dist/types/modules/vip/vip.d.ts.map +0 -1
- package/dist/types/modules/vip/vip.js +0 -19
- package/dist/types/modules/vip/vip.js.map +0 -1
- package/dist/utils/arr.d.ts +0 -2
- package/dist/utils/arr.d.ts.map +0 -1
- package/dist/utils/arr.js +0 -4
- package/dist/utils/arr.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 -32
- package/dist/utils/url.d.ts.map +0 -1
- package/dist/utils/url.js +0 -91
- package/dist/utils/url.js.map +0 -1
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { BasePageStrategy } from '../../../api/page/strategies/base.js';
|
|
2
|
-
import { isEmptyArr } from '../../../utils/arr.js';
|
|
3
|
-
/**
|
|
4
|
-
* 空间稿件搜索的分页策略(基于游标)
|
|
5
|
-
*/
|
|
6
|
-
export class SpaceVPageStrategy extends BasePageStrategy {
|
|
7
|
-
constructor(options) {
|
|
8
|
-
super({ pageSize: 40, ...options });
|
|
9
|
-
}
|
|
10
|
-
hasNextPage(nextPageNum, list, lastResponse) {
|
|
11
|
-
if (lastResponse !== null) {
|
|
12
|
-
// 前一次的请求数据为空
|
|
13
|
-
if (lastResponse.data == null) {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
const data = lastResponse.data;
|
|
17
|
-
const page = data.page;
|
|
18
|
-
if (isEmptyArr(data.list.vlist) || page.count <= list.length || page.count <= page.pn * page.ps) {
|
|
19
|
-
// 前一次的分页数据为空
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
updateNextPageParams(nextPageNum, queryParams, _list, _lastResponse) {
|
|
26
|
-
queryParams['ps'] = this.options.pageSize;
|
|
27
|
-
queryParams['pn'] = nextPageNum;
|
|
28
|
-
}
|
|
29
|
-
getList(response) {
|
|
30
|
-
return response.data.list.vlist;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=search.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../src/service/space/page/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAKvE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAGlD;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IACtD,YAAY,OAA8B;QACxC,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;IACrC,CAAC;IAED,WAAW,CACT,WAAmB,EACnB,IAAS,EACT,YAAoC;QAEpC,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,aAAa;YACb,IAAI,YAAY,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAA;YACd,CAAC;YAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAqC,CAAA;YAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;YACtB,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;gBAChG,aAAa;gBACb,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,oBAAoB,CAClB,WAAmB,EACnB,WAA0B,EAC1B,KAAU,EACV,aAAqC;QAErC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAA;QACzC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAA;IACjC,CAAC;IAED,OAAO,CACL,QAAyB;QAEzB,OAAQ,QAAQ,CAAC,IAAsC,CAAC,IAAI,CAAC,KAAY,CAAA;IAC3E,CAAC;CACF"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { ToViewItem, ToViewListResult } from '../../types/modules/toview/toview.js';
|
|
2
|
-
import { BasePageStrategy } from '../../api/page/strategies/base.js';
|
|
3
|
-
import type { ApiResponse, ApiResponseData } from '../../types/core/response.js';
|
|
4
|
-
import type { RequestParams } from '../../types/core/request.js';
|
|
5
|
-
import type { PageOptions } from '../../types/core/page.js';
|
|
6
|
-
/**
|
|
7
|
-
* 稍后再看的分页策略(基于游标)
|
|
8
|
-
*/
|
|
9
|
-
export declare class ToViewPageStrategy extends BasePageStrategy {
|
|
10
|
-
constructor(options?: Partial<PageOptions>);
|
|
11
|
-
hasNextPage<D extends ApiResponseData = ToViewItem, RD extends ApiResponseData = ToViewListResult>(nextPageNum: number, list: D[], lastResponse: ApiResponse<RD> | null): boolean;
|
|
12
|
-
updateNextPageParams<D extends ApiResponseData = ToViewItem, RD extends ApiResponseData = ToViewListResult>(nextPageNum: number, queryParams: RequestParams, _list: D[], _lastResponse: ApiResponse<RD> | null): void;
|
|
13
|
-
getList<D extends ApiResponseData = ToViewItem, RD extends ApiResponseData = ToViewListResult>(response: ApiResponse<RD>): D[];
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=page.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../src/service/toview/page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAE3D;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,gBAAgB;gBAC1C,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAI1C,WAAW,CAAC,CAAC,SAAS,eAAe,GAAG,UAAU,EAAE,EAAE,SAAS,eAAe,GAAG,gBAAgB,EAC/F,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,CAAC,EAAE,EACT,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI;IAkBtC,oBAAoB,CAAC,CAAC,SAAS,eAAe,GAAG,UAAU,EAAE,EAAE,SAAS,eAAe,GAAG,gBAAgB,EACxG,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,aAAa,EAC1B,KAAK,EAAE,CAAC,EAAE,EACV,aAAa,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,GACpC,IAAI;IAKP,OAAO,CAAC,CAAC,SAAS,eAAe,GAAG,UAAU,EAAE,EAAE,SAAS,eAAe,GAAG,gBAAgB,EAC3F,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,GACxB,CAAC,EAAE;CAGP"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { BasePageStrategy } from '../../api/page/strategies/base.js';
|
|
2
|
-
/**
|
|
3
|
-
* 稍后再看的分页策略(基于游标)
|
|
4
|
-
*/
|
|
5
|
-
export class ToViewPageStrategy extends BasePageStrategy {
|
|
6
|
-
constructor(options) {
|
|
7
|
-
super({ pageSize: 20, ...options });
|
|
8
|
-
}
|
|
9
|
-
hasNextPage(nextPageNum, list, lastResponse) {
|
|
10
|
-
if (lastResponse !== null) {
|
|
11
|
-
// 前一次的请求数据为空
|
|
12
|
-
if (lastResponse.data == null) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
// 前一次的分页数据为空
|
|
16
|
-
const data = lastResponse.data;
|
|
17
|
-
if (data.count <= list.length || data.list.length === 0) {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return true;
|
|
22
|
-
}
|
|
23
|
-
updateNextPageParams(nextPageNum, queryParams, _list, _lastResponse) {
|
|
24
|
-
queryParams['ps'] = this.options.pageSize;
|
|
25
|
-
queryParams['pn'] = nextPageNum;
|
|
26
|
-
}
|
|
27
|
-
getList(response) {
|
|
28
|
-
return response.data.list;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=page.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/service/toview/page.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAKpE;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IACtD,YAAY,OAA8B;QACxC,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;IACrC,CAAC;IAED,WAAW,CACT,WAAmB,EACnB,IAAS,EACT,YAAoC;QAEpC,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,aAAa;YACb,IAAI,YAAY,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAA;YACd,CAAC;YAED,aAAa;YACb,MAAM,IAAI,GAAG,YAAY,CAAC,IAAmC,CAAA;YAC7D,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxD,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,oBAAoB,CAClB,WAAmB,EACnB,WAA0B,EAC1B,KAAU,EACV,aAAqC;QAErC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAA;QACzC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAA;IACjC,CAAC;IAED,OAAO,CACL,QAAyB;QAEzB,OAAQ,QAAQ,CAAC,IAAoC,CAAC,IAAW,CAAA;IACnE,CAAC;CACF"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { BaseService } from '../base.js';
|
|
2
|
-
import type { BizRequestOptions } from '../../types/core/request.js';
|
|
3
|
-
import type { ToViewItem } from '../../types/modules/toview/toview.js';
|
|
4
|
-
import type { OnPageFetched, PageOptions } from '../../types/core/page.js';
|
|
5
|
-
/**
|
|
6
|
-
* 稍后再看服务
|
|
7
|
-
*/
|
|
8
|
-
export declare class ToViewService extends BaseService {
|
|
9
|
-
/**
|
|
10
|
-
* 构建分页器(公共逻辑)
|
|
11
|
-
* @param pageOptions 分页选项
|
|
12
|
-
* @param bizOptions 业务请求选项
|
|
13
|
-
* @protected
|
|
14
|
-
*/
|
|
15
|
-
protected buildPager(pageOptions?: PageOptions, bizOptions?: BizRequestOptions): import("../../index.js").PageApi<ToViewItem, ToViewItem[]>;
|
|
16
|
-
/**
|
|
17
|
-
* 获取稍后再看列表(单个分页数据)
|
|
18
|
-
* @param pageOptions 分页选项
|
|
19
|
-
* @param bizOptions 业务请求选项
|
|
20
|
-
*/
|
|
21
|
-
fetchPage(pageOptions?: PageOptions, bizOptions?: BizRequestOptions): Promise<ToViewItem[] | null>;
|
|
22
|
-
/**
|
|
23
|
-
* 获取稍后再看列表(循环获取所有分页数据)
|
|
24
|
-
* @param pageOptions 分页选项
|
|
25
|
-
* @param onPageFetched 分页数据获取后的回调函数
|
|
26
|
-
* @param bizOptions 业务请求选项
|
|
27
|
-
*/
|
|
28
|
-
fetchAll(pageOptions?: PageOptions, onPageFetched?: OnPageFetched, bizOptions?: BizRequestOptions): Promise<ToViewItem[]>;
|
|
29
|
-
/**
|
|
30
|
-
* 添加视频到稍后再看
|
|
31
|
-
*/
|
|
32
|
-
addToView(aid: number, options?: BizRequestOptions): Promise<void>;
|
|
33
|
-
/**
|
|
34
|
-
* 添加频道中所有视频到稍后再看
|
|
35
|
-
*/
|
|
36
|
-
addAllToView(aidOrBvid: number | string, options?: BizRequestOptions): Promise<void>;
|
|
37
|
-
/**
|
|
38
|
-
* 删除稍后再看视频
|
|
39
|
-
* @param aid 目标记录的avid
|
|
40
|
-
* @param options
|
|
41
|
-
*/
|
|
42
|
-
delToView(aid: number[], options?: BizRequestOptions): Promise<void>;
|
|
43
|
-
/**
|
|
44
|
-
* 清空稍后再看视频
|
|
45
|
-
* @param clean_type 清理类型 0:删除所有 2:删除已观看
|
|
46
|
-
* @param options
|
|
47
|
-
*/
|
|
48
|
-
clearToView(clean_type: 0 | 2, options?: BizRequestOptions): Promise<void>;
|
|
49
|
-
/**
|
|
50
|
-
* 批量移动到收藏夹
|
|
51
|
-
* @param mediaIds 视频稿件:视频稿件avid<br />音频:音频auid<br />视频合集:视频合集id
|
|
52
|
-
* @param favId 收藏夹id
|
|
53
|
-
*/
|
|
54
|
-
moveFavFolder(mediaIds: number[], favId: number): Promise<void>;
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=toview.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toview.d.ts","sourceRoot":"","sources":["../../../src/service/toview/toview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAA;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAG1E;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAC5C;;;;;OAKG;IACH,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,iBAAiB;IAmB9E;;;;OAIG;IAEG,SAAS,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,iBAAiB;IAIzE;;;;;OAKG;IAEG,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,iBAAiB;IAIvG;;OAEG;IAEG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB;IASxD;;OAEG;IAEG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAS1E;;;;OAIG;IAEG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAS1D;;;;OAIG;IAEG,WAAW,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAShE;;;;OAIG;IAEG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM;CAQtD"}
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
2
|
-
var useValue = arguments.length > 2;
|
|
3
|
-
for (var i = 0; i < initializers.length; i++) {
|
|
4
|
-
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
5
|
-
}
|
|
6
|
-
return useValue ? value : void 0;
|
|
7
|
-
};
|
|
8
|
-
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
9
|
-
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
10
|
-
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
11
|
-
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
12
|
-
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
13
|
-
var _, done = false;
|
|
14
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
15
|
-
var context = {};
|
|
16
|
-
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
17
|
-
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
18
|
-
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
19
|
-
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
20
|
-
if (kind === "accessor") {
|
|
21
|
-
if (result === void 0) continue;
|
|
22
|
-
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
23
|
-
if (_ = accept(result.get)) descriptor.get = _;
|
|
24
|
-
if (_ = accept(result.set)) descriptor.set = _;
|
|
25
|
-
if (_ = accept(result.init)) initializers.unshift(_);
|
|
26
|
-
}
|
|
27
|
-
else if (_ = accept(result)) {
|
|
28
|
-
if (kind === "field") initializers.unshift(_);
|
|
29
|
-
else descriptor[key] = _;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
33
|
-
done = true;
|
|
34
|
-
};
|
|
35
|
-
import { BaseService } from '../base.js';
|
|
36
|
-
import { CatchError } from '../../error/handle-error.js';
|
|
37
|
-
import { ToViewPageStrategy } from './page.js';
|
|
38
|
-
/**
|
|
39
|
-
* 稍后再看服务
|
|
40
|
-
*/
|
|
41
|
-
let ToViewService = (() => {
|
|
42
|
-
var _a;
|
|
43
|
-
let _classSuper = BaseService;
|
|
44
|
-
let _instanceExtraInitializers = [];
|
|
45
|
-
let _fetchPage_decorators;
|
|
46
|
-
let _fetchAll_decorators;
|
|
47
|
-
let _addToView_decorators;
|
|
48
|
-
let _addAllToView_decorators;
|
|
49
|
-
let _delToView_decorators;
|
|
50
|
-
let _clearToView_decorators;
|
|
51
|
-
let _moveFavFolder_decorators;
|
|
52
|
-
return _a = class ToViewService extends _classSuper {
|
|
53
|
-
/**
|
|
54
|
-
* 构建分页器(公共逻辑)
|
|
55
|
-
* @param pageOptions 分页选项
|
|
56
|
-
* @param bizOptions 业务请求选项
|
|
57
|
-
* @protected
|
|
58
|
-
*/
|
|
59
|
-
buildPager(pageOptions, bizOptions) {
|
|
60
|
-
return this.createPager('https://api.bilibili.com/x/v2/history/toview/web', new ToViewPageStrategy(pageOptions), {
|
|
61
|
-
query: {
|
|
62
|
-
viewed: 0,
|
|
63
|
-
asc: false,
|
|
64
|
-
key: '',
|
|
65
|
-
need_split: true,
|
|
66
|
-
build: 0,
|
|
67
|
-
platform: 'web',
|
|
68
|
-
mobi_app: 'web',
|
|
69
|
-
},
|
|
70
|
-
...bizOptions,
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* 获取稍后再看列表(单个分页数据)
|
|
75
|
-
* @param pageOptions 分页选项
|
|
76
|
-
* @param bizOptions 业务请求选项
|
|
77
|
-
*/
|
|
78
|
-
async fetchPage(pageOptions, bizOptions) {
|
|
79
|
-
return await this.buildPager(pageOptions, bizOptions).fetchNext();
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* 获取稍后再看列表(循环获取所有分页数据)
|
|
83
|
-
* @param pageOptions 分页选项
|
|
84
|
-
* @param onPageFetched 分页数据获取后的回调函数
|
|
85
|
-
* @param bizOptions 业务请求选项
|
|
86
|
-
*/
|
|
87
|
-
async fetchAll(pageOptions, onPageFetched, bizOptions) {
|
|
88
|
-
return await this.buildPager(pageOptions, bizOptions).fetchAllPage(onPageFetched);
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* 添加视频到稍后再看
|
|
92
|
-
*/
|
|
93
|
-
async addToView(aid, options) {
|
|
94
|
-
await this.save('https://api.bilibili.com/x/v2/history/toview/add', {
|
|
95
|
-
data: {
|
|
96
|
-
aid: aid,
|
|
97
|
-
},
|
|
98
|
-
...options,
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* 添加频道中所有视频到稍后再看
|
|
103
|
-
*/
|
|
104
|
-
async addAllToView(aidOrBvid, options) {
|
|
105
|
-
await this.save('https://space.bilibili.com/ajax/channel/addAllToView', {
|
|
106
|
-
data: {
|
|
107
|
-
...(typeof aidOrBvid === 'string' ? { bvid: aidOrBvid } : { aid: aidOrBvid }),
|
|
108
|
-
},
|
|
109
|
-
...options,
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* 删除稍后再看视频
|
|
114
|
-
* @param aid 目标记录的avid
|
|
115
|
-
* @param options
|
|
116
|
-
*/
|
|
117
|
-
async delToView(aid, options) {
|
|
118
|
-
await this.save('https://api.bilibili.com/x/v2/history/toview/v2/dels', {
|
|
119
|
-
data: {
|
|
120
|
-
resources: aid.join(','),
|
|
121
|
-
},
|
|
122
|
-
...options,
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* 清空稍后再看视频
|
|
127
|
-
* @param clean_type 清理类型 0:删除所有 2:删除已观看
|
|
128
|
-
* @param options
|
|
129
|
-
*/
|
|
130
|
-
async clearToView(clean_type, options) {
|
|
131
|
-
await this.save('https://api.bilibili.com/x/v2/history/toview/clear', {
|
|
132
|
-
data: {
|
|
133
|
-
clean_type: clean_type,
|
|
134
|
-
},
|
|
135
|
-
...options,
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* 批量移动到收藏夹
|
|
140
|
-
* @param mediaIds 视频稿件:视频稿件avid<br />音频:音频auid<br />视频合集:视频合集id
|
|
141
|
-
* @param favId 收藏夹id
|
|
142
|
-
*/
|
|
143
|
-
async moveFavFolder(mediaIds, favId) {
|
|
144
|
-
await this.save('https://api.bilibili.com/x/v2/history/toview/move', {
|
|
145
|
-
data: {
|
|
146
|
-
resources: mediaIds.join(','),
|
|
147
|
-
tar_media_id: favId,
|
|
148
|
-
},
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
constructor() {
|
|
152
|
-
super(...arguments);
|
|
153
|
-
__runInitializers(this, _instanceExtraInitializers);
|
|
154
|
-
}
|
|
155
|
-
},
|
|
156
|
-
(() => {
|
|
157
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
158
|
-
_fetchPage_decorators = [CatchError()];
|
|
159
|
-
_fetchAll_decorators = [CatchError()];
|
|
160
|
-
_addToView_decorators = [CatchError()];
|
|
161
|
-
_addAllToView_decorators = [CatchError()];
|
|
162
|
-
_delToView_decorators = [CatchError()];
|
|
163
|
-
_clearToView_decorators = [CatchError()];
|
|
164
|
-
_moveFavFolder_decorators = [CatchError()];
|
|
165
|
-
__esDecorate(_a, null, _fetchPage_decorators, { kind: "method", name: "fetchPage", static: false, private: false, access: { has: obj => "fetchPage" in obj, get: obj => obj.fetchPage }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
166
|
-
__esDecorate(_a, null, _fetchAll_decorators, { kind: "method", name: "fetchAll", static: false, private: false, access: { has: obj => "fetchAll" in obj, get: obj => obj.fetchAll }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
167
|
-
__esDecorate(_a, null, _addToView_decorators, { kind: "method", name: "addToView", static: false, private: false, access: { has: obj => "addToView" in obj, get: obj => obj.addToView }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
168
|
-
__esDecorate(_a, null, _addAllToView_decorators, { kind: "method", name: "addAllToView", static: false, private: false, access: { has: obj => "addAllToView" in obj, get: obj => obj.addAllToView }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
169
|
-
__esDecorate(_a, null, _delToView_decorators, { kind: "method", name: "delToView", static: false, private: false, access: { has: obj => "delToView" in obj, get: obj => obj.delToView }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
170
|
-
__esDecorate(_a, null, _clearToView_decorators, { kind: "method", name: "clearToView", static: false, private: false, access: { has: obj => "clearToView" in obj, get: obj => obj.clearToView }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
171
|
-
__esDecorate(_a, null, _moveFavFolder_decorators, { kind: "method", name: "moveFavFolder", static: false, private: false, access: { has: obj => "moveFavFolder" in obj, get: obj => obj.moveFavFolder }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
172
|
-
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
173
|
-
})(),
|
|
174
|
-
_a;
|
|
175
|
-
})();
|
|
176
|
-
export { ToViewService };
|
|
177
|
-
//# sourceMappingURL=toview.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toview.js","sourceRoot":"","sources":["../../../src/service/toview/toview.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { UserService } from './user.js';
|
|
2
|
-
import type { QRCodeLoginCallback, QRCodeLoginOptions } from '../../types/modules/user/login.js';
|
|
3
|
-
import type { RequestContext } from '../../types/core/request.js';
|
|
4
|
-
/**
|
|
5
|
-
* 通过二维码登录
|
|
6
|
-
*
|
|
7
|
-
* @param userService - 用户服务实例
|
|
8
|
-
* @param callback - 状态回调接口
|
|
9
|
-
* @param loginOptions - 可选配置(自动刷新、更新上下文、取消信号等)
|
|
10
|
-
* @returns 登录成功后的请求上下文
|
|
11
|
-
*/
|
|
12
|
-
export declare function loginUserWithQRCode(userService: UserService, callback: QRCodeLoginCallback, loginOptions?: QRCodeLoginOptions): Promise<RequestContext>;
|
|
13
|
-
//# sourceMappingURL=qrcode-login.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qrcode-login.d.ts","sourceRoot":"","sources":["../../../src/service/user/qrcode-login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAChG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAGjE;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,mBAAmB,EAC7B,YAAY,CAAC,EAAE,kBAAkB,GAChC,OAAO,CAAC,cAAc,CAAC,CAsFzB"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { BiliAbortError, BiliError } from '../../error/error.js';
|
|
2
|
-
/**
|
|
3
|
-
* 通过二维码登录
|
|
4
|
-
*
|
|
5
|
-
* @param userService - 用户服务实例
|
|
6
|
-
* @param callback - 状态回调接口
|
|
7
|
-
* @param loginOptions - 可选配置(自动刷新、更新上下文、取消信号等)
|
|
8
|
-
* @returns 登录成功后的请求上下文
|
|
9
|
-
*/
|
|
10
|
-
export async function loginUserWithQRCode(userService, callback, loginOptions) {
|
|
11
|
-
const options = {
|
|
12
|
-
updateRequestContext: true,
|
|
13
|
-
autoRefresh: true,
|
|
14
|
-
pollIntervalMs: 12233,
|
|
15
|
-
...loginOptions,
|
|
16
|
-
};
|
|
17
|
-
// --- 取消信号合并:外部传入 + 3分钟强制超时 ---
|
|
18
|
-
const internalTimeout = AbortSignal.timeout(3 * 60 * 1000);
|
|
19
|
-
const signal = options.signal ? AbortSignal.any([options.signal, internalTimeout]) : internalTimeout;
|
|
20
|
-
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
21
|
-
// 安全调用状态回调
|
|
22
|
-
const safeStatusChange = (msg) => {
|
|
23
|
-
try {
|
|
24
|
-
callback.onStatusChange(msg);
|
|
25
|
-
}
|
|
26
|
-
catch (err) {
|
|
27
|
-
userService.logging.error('[QRCodeLogin] onStatusChange callback error:', err);
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
// 安全调用二维码回调
|
|
31
|
-
const safeQRCodeReceived = async (url) => {
|
|
32
|
-
try {
|
|
33
|
-
await callback.onQRCodeReceived(url);
|
|
34
|
-
}
|
|
35
|
-
catch (err) {
|
|
36
|
-
userService.logging.error('[QRCodeLogin] onQRCodeReceived callback error:', err);
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
try {
|
|
40
|
-
while (!signal.aborted) {
|
|
41
|
-
safeStatusChange('正在获取登录二维码...');
|
|
42
|
-
const qrCode = await userService.getLoginQRCode(loginOptions);
|
|
43
|
-
if (!qrCode?.url || !qrCode?.qrcode_key) {
|
|
44
|
-
throw new Error('未能获取有效的二维码数据');
|
|
45
|
-
}
|
|
46
|
-
await safeQRCodeReceived(qrCode.url);
|
|
47
|
-
safeStatusChange('请使用手机 App 扫码登录...');
|
|
48
|
-
// 二维码是否过期
|
|
49
|
-
let isQRCodeExpired = false;
|
|
50
|
-
while (!signal.aborted && !isQRCodeExpired) {
|
|
51
|
-
const result = await userService.getQRCodeLoginResult(qrCode.qrcode_key, loginOptions);
|
|
52
|
-
safeStatusChange(result.message);
|
|
53
|
-
switch (result.code) {
|
|
54
|
-
case 0: // 登录成功
|
|
55
|
-
safeStatusChange('扫码成功,正在同步用户信息...');
|
|
56
|
-
return await userService.initLoginSession(result.setCookie, options.updateRequestContext, loginOptions);
|
|
57
|
-
case 86038: // 二维码失效
|
|
58
|
-
if (options.autoRefresh) {
|
|
59
|
-
safeStatusChange('二维码已失效,正在自动刷新...');
|
|
60
|
-
isQRCodeExpired = true;
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
throw new BiliError(userService.clientConfig, '二维码已失效');
|
|
64
|
-
}
|
|
65
|
-
break;
|
|
66
|
-
default:
|
|
67
|
-
// 其他状态(未扫码、已扫码待确认等)继续轮询
|
|
68
|
-
await sleep(options.pollIntervalMs);
|
|
69
|
-
break;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
catch (err) {
|
|
75
|
-
if (options.signal?.aborted) {
|
|
76
|
-
safeStatusChange('取消登录');
|
|
77
|
-
throw new Error('取消登录');
|
|
78
|
-
}
|
|
79
|
-
else if (signal.aborted || err instanceof BiliAbortError) {
|
|
80
|
-
const reason = '登录超时';
|
|
81
|
-
safeStatusChange(reason);
|
|
82
|
-
throw new Error(reason);
|
|
83
|
-
}
|
|
84
|
-
throw err;
|
|
85
|
-
}
|
|
86
|
-
throw new Error('登录流程异常终止');
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=qrcode-login.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qrcode-login.js","sourceRoot":"","sources":["../../../src/service/user/qrcode-login.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { LoginQRCode, QRCodeLoginCallback, QRCodeLoginOptions, QRCodeLoginResult } from '../../types/modules/user/login.js';
|
|
2
|
-
import type { BizRequestOptions, RequestContext } from '../../types/core/request.js';
|
|
3
|
-
import type { Buvids, UserCookie } from '../../types/modules/user/auth.js';
|
|
4
|
-
import type { UpStat, UserCard, UserInfo } from '../../types/modules/user/user.js';
|
|
5
|
-
import { BaseService } from '../base.js';
|
|
6
|
-
/**
|
|
7
|
-
* 用户服务
|
|
8
|
-
*/
|
|
9
|
-
export declare class UserService extends BaseService {
|
|
10
|
-
/**
|
|
11
|
-
* 获取登录二维码
|
|
12
|
-
*/
|
|
13
|
-
getLoginQRCode(options?: BizRequestOptions): Promise<LoginQRCode>;
|
|
14
|
-
/**
|
|
15
|
-
* 获取二维码登录结果
|
|
16
|
-
*/
|
|
17
|
-
getQRCodeLoginResult(qrcode_key: string, options?: BizRequestOptions): Promise<QRCodeLoginResult>;
|
|
18
|
-
loginWithQRCode(callback: QRCodeLoginCallback, loginOptions?: QRCodeLoginOptions): Promise<RequestContext>;
|
|
19
|
-
getBuvids(options?: BizRequestOptions): Promise<Buvids>;
|
|
20
|
-
getMyInfo(cookie?: UserCookie, options?: BizRequestOptions): Promise<UserInfo>;
|
|
21
|
-
/**
|
|
22
|
-
* 登录后初始化(cookie / 用户信息等)
|
|
23
|
-
*/
|
|
24
|
-
initLoginSession(setCookie: string[], updateRequestContext?: boolean, options?: BizRequestOptions): Promise<RequestContext>;
|
|
25
|
-
/**
|
|
26
|
-
* 批量获取用户基础信息(最多50个)
|
|
27
|
-
*/
|
|
28
|
-
getUserCards(uids: number[], options?: BizRequestOptions): Promise<(UserCard | null)[]>;
|
|
29
|
-
/**
|
|
30
|
-
* 获取UP主状态数
|
|
31
|
-
*/
|
|
32
|
-
getUpStat(mid: number, options?: BizRequestOptions): Promise<UpStat>;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=user.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/service/user/user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,mCAAmC,CAAA;AAE1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACpF,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAE1E,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAElF,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC;;GAEG;AACH,qBAAa,WAAY,SAAQ,WAAW;IAC1C;;OAEG;IAEH,cAAc,CAAC,OAAO,CAAC,EAAE,iBAAiB;IAI1C;;OAEG;IAEG,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiBjG,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,YAAY,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;IAKhH,SAAS,CAAC,OAAO,CAAC,EAAE,iBAAiB;IAKrC,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAO1D;;OAEG;IAEG,gBAAgB,CACpB,SAAS,EAAE,MAAM,EAAE,EACnB,oBAAoB,GAAE,OAAc,EACpC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,cAAc,CAAC;IAwB1B;;OAEG;IAEG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAW9D;;OAEG;IAEG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB;CAQzD"}
|