@ybgnb/bili-api 0.0.1 → 0.0.2
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/base.d.ts +35 -0
- package/dist/api/base.d.ts.map +1 -0
- package/dist/api/base.js +184 -0
- package/dist/api/base.js.map +1 -0
- package/dist/api/page/page.d.ts +35 -0
- package/dist/api/page/page.d.ts.map +1 -0
- package/dist/api/page/page.js +102 -0
- package/dist/api/page/page.js.map +1 -0
- package/dist/api/page/strategies/base.d.ts +30 -0
- package/dist/api/page/strategies/base.d.ts.map +1 -0
- package/dist/api/page/strategies/base.js +9 -0
- package/dist/api/page/strategies/base.js.map +1 -0
- package/dist/api/page/strategies/has-more.d.ts +15 -0
- package/dist/api/page/strategies/has-more.d.ts.map +1 -0
- package/dist/api/page/strategies/has-more.js +26 -0
- package/dist/api/page/strategies/has-more.js.map +1 -0
- package/dist/api/page/strategies/list.d.ts +12 -0
- package/dist/api/page/strategies/list.d.ts.map +1 -0
- package/dist/api/page/strategies/list.js +31 -0
- package/dist/api/page/strategies/list.js.map +1 -0
- package/dist/api/page/strategies/total.d.ts +12 -0
- package/dist/api/page/strategies/total.d.ts.map +1 -0
- package/dist/api/page/strategies/total.js +33 -0
- package/dist/api/page/strategies/total.js.map +1 -0
- package/dist/api/with-api.d.ts +18 -0
- package/dist/api/with-api.d.ts.map +1 -0
- package/dist/api/with-api.js +32 -0
- package/dist/api/with-api.js.map +1 -0
- package/dist/client/client.d.ts +66 -4
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +31 -5
- package/dist/client/client.js.map +1 -1
- package/dist/config/{index.d.ts → config.d.ts} +7 -3
- package/dist/config/config.d.ts.map +1 -0
- package/dist/config/{index.js → config.js} +7 -2
- package/dist/config/config.js.map +1 -0
- package/dist/error/{index.d.ts → error.d.ts} +8 -8
- package/dist/error/error.d.ts.map +1 -0
- package/dist/error/{index.js → error.js} +3 -3
- package/dist/error/error.js.map +1 -0
- package/dist/index.d.ts +70 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +70 -6
- package/dist/index.js.map +1 -1
- package/dist/service/archive/archive.d.ts +13 -0
- package/dist/service/archive/archive.d.ts.map +1 -0
- package/dist/service/archive/archive.js +71 -0
- package/dist/service/archive/archive.js.map +1 -0
- package/dist/service/bangumi/follow.d.ts +57 -0
- package/dist/service/bangumi/follow.d.ts.map +1 -0
- package/dist/service/bangumi/follow.js +154 -0
- package/dist/service/bangumi/follow.js.map +1 -0
- package/dist/service/base.d.ts +5 -7
- package/dist/service/base.d.ts.map +1 -1
- package/dist/service/base.js +7 -14
- package/dist/service/base.js.map +1 -1
- package/dist/service/fav/collection.d.ts +45 -0
- package/dist/service/fav/collection.d.ts.map +1 -0
- package/dist/service/fav/collection.js +134 -0
- package/dist/service/fav/collection.js.map +1 -0
- package/dist/service/fav/fav.d.ts +118 -0
- package/dist/service/fav/fav.d.ts.map +1 -0
- package/dist/service/fav/fav.js +319 -0
- package/dist/service/fav/fav.js.map +1 -0
- package/dist/service/fav/helper.d.ts +10 -0
- package/dist/service/fav/helper.d.ts.map +1 -0
- package/dist/service/fav/helper.js +29 -0
- package/dist/service/fav/helper.js.map +1 -0
- package/dist/service/fav/opus.d.ts +48 -0
- package/dist/service/fav/opus.d.ts.map +1 -0
- package/dist/service/fav/opus.js +160 -0
- package/dist/service/fav/opus.js.map +1 -0
- package/dist/service/fav/page/opus.d.ts +15 -0
- package/dist/service/fav/page/opus.d.ts.map +1 -0
- package/dist/service/fav/page/opus.js +24 -0
- package/dist/service/fav/page/opus.js.map +1 -0
- package/dist/service/history/history.d.ts +48 -0
- package/dist/service/history/history.d.ts.map +1 -0
- package/dist/service/history/history.js +139 -0
- package/dist/service/history/history.js.map +1 -0
- package/dist/service/history/page.d.ts +14 -0
- package/dist/service/history/page.d.ts.map +1 -0
- package/dist/service/history/page.js +40 -0
- package/dist/service/history/page.js.map +1 -0
- package/dist/service/message/message.d.ts +137 -0
- package/dist/service/message/message.d.ts.map +1 -0
- package/dist/service/message/message.js +328 -0
- package/dist/service/message/message.js.map +1 -0
- package/dist/service/message/page/at.d.ts +15 -0
- package/dist/service/message/page/at.d.ts.map +1 -0
- package/dist/service/message/page/at.js +34 -0
- package/dist/service/message/page/at.js.map +1 -0
- package/dist/service/message/page/like.d.ts +15 -0
- package/dist/service/message/page/like.d.ts.map +1 -0
- package/dist/service/message/page/like.js +34 -0
- package/dist/service/message/page/like.js.map +1 -0
- package/dist/service/message/page/reply.d.ts +15 -0
- package/dist/service/message/page/reply.d.ts.map +1 -0
- package/dist/service/message/page/reply.js +34 -0
- package/dist/service/message/page/reply.js.map +1 -0
- package/dist/service/message/page/system.d.ts +15 -0
- package/dist/service/message/page/system.d.ts.map +1 -0
- package/dist/service/message/page/system.js +33 -0
- package/dist/service/message/page/system.js.map +1 -0
- package/dist/service/relation/relation.d.ts +190 -0
- package/dist/service/relation/relation.d.ts.map +1 -0
- package/dist/service/relation/relation.js +481 -0
- package/dist/service/relation/relation.js.map +1 -0
- package/dist/service/session/page.d.ts +16 -0
- package/dist/service/session/page.d.ts.map +1 -0
- package/dist/service/session/page.js +35 -0
- package/dist/service/session/page.js.map +1 -0
- package/dist/service/session/session.d.ts +48 -0
- package/dist/service/session/session.d.ts.map +1 -0
- package/dist/service/session/session.js +167 -0
- package/dist/service/session/session.js.map +1 -0
- package/dist/service/session/settings.d.ts +56 -0
- package/dist/service/session/settings.d.ts.map +1 -0
- package/dist/service/session/settings.js +219 -0
- package/dist/service/session/settings.js.map +1 -0
- package/dist/service/space/archive.d.ts +34 -0
- package/dist/service/space/archive.d.ts.map +1 -0
- package/dist/service/space/archive.js +102 -0
- package/dist/service/space/archive.js.map +1 -0
- package/dist/service/space/page/search.d.ts +16 -0
- package/dist/service/space/page/search.d.ts.map +1 -0
- package/dist/service/space/page/search.js +33 -0
- package/dist/service/space/page/search.js.map +1 -0
- package/dist/service/toview/page.d.ts +15 -0
- package/dist/service/toview/page.d.ts.map +1 -0
- package/dist/service/toview/page.js +31 -0
- package/dist/service/toview/page.js.map +1 -0
- package/dist/service/toview/toview.d.ts +56 -0
- package/dist/service/toview/toview.d.ts.map +1 -0
- package/dist/service/toview/toview.js +177 -0
- package/dist/service/toview/toview.js.map +1 -0
- package/dist/service/user/qrcode-login.d.ts +2 -2
- package/dist/service/user/qrcode-login.d.ts.map +1 -1
- package/dist/service/user/qrcode-login.js +4 -4
- package/dist/service/user/qrcode-login.js.map +1 -1
- package/dist/service/user/user.d.ts +34 -0
- package/dist/service/user/user.d.ts.map +1 -0
- package/dist/service/user/{index.js → user.js} +38 -23
- package/dist/service/user/user.js.map +1 -0
- package/dist/stores/mixinkey.d.ts +1 -0
- package/dist/stores/mixinkey.d.ts.map +1 -1
- package/dist/stores/mixinkey.js +2 -2
- package/dist/stores/mixinkey.js.map +1 -1
- package/dist/types/core/client.d.ts +6 -1
- package/dist/types/core/client.d.ts.map +1 -1
- package/dist/types/core/client.js +1 -1
- package/dist/types/core/client.js.map +1 -1
- package/dist/types/core/page.d.ts +43 -0
- package/dist/types/core/page.d.ts.map +1 -0
- package/dist/types/core/page.js +2 -0
- package/dist/types/core/page.js.map +1 -0
- package/dist/types/core/request.d.ts +26 -7
- package/dist/types/core/request.d.ts.map +1 -1
- package/dist/types/core/request.js +1 -0
- package/dist/types/core/request.js.map +1 -1
- package/dist/types/core/type-helpers.d.ts +12 -0
- package/dist/types/core/type-helpers.d.ts.map +1 -0
- package/dist/types/core/type-helpers.js +7 -0
- package/dist/types/core/type-helpers.js.map +1 -0
- package/dist/types/modules/archive/part.d.ts +31 -0
- package/dist/types/modules/archive/part.d.ts.map +1 -0
- package/dist/types/modules/archive/part.js +2 -0
- package/dist/types/modules/archive/part.js.map +1 -0
- package/dist/types/modules/bangumi/bangumi.d.ts +64 -0
- package/dist/types/modules/bangumi/bangumi.d.ts.map +1 -0
- package/dist/types/modules/bangumi/bangumi.js +29 -0
- package/dist/types/modules/bangumi/bangumi.js.map +1 -0
- package/dist/types/modules/business/business.d.ts +41 -0
- package/dist/types/modules/business/business.d.ts.map +1 -0
- package/dist/types/modules/business/business.js +31 -0
- package/dist/types/modules/business/business.js.map +1 -0
- package/dist/types/modules/device/device.d.ts +15 -0
- package/dist/types/modules/device/device.d.ts.map +1 -0
- package/dist/types/modules/device/device.js +11 -0
- package/dist/types/modules/device/device.js.map +1 -0
- package/dist/types/modules/fav/collection.d.ts +24 -0
- package/dist/types/modules/fav/collection.d.ts.map +1 -0
- package/dist/types/modules/fav/collection.js +2 -0
- package/dist/types/modules/fav/collection.js.map +1 -0
- package/dist/types/modules/fav/fav.d.ts +104 -0
- package/dist/types/modules/fav/fav.d.ts.map +1 -0
- package/dist/types/modules/fav/fav.js +2 -0
- package/dist/types/modules/fav/fav.js.map +1 -0
- package/dist/types/modules/fav/folder.d.ts +61 -0
- package/dist/types/modules/fav/folder.d.ts.map +1 -0
- package/dist/types/modules/fav/folder.js +2 -0
- package/dist/types/modules/fav/folder.js.map +1 -0
- package/dist/types/modules/fav/opus.d.ts +31 -0
- package/dist/types/modules/fav/opus.d.ts.map +1 -0
- package/dist/types/modules/fav/opus.js +2 -0
- package/dist/types/modules/fav/opus.js.map +1 -0
- package/dist/types/modules/history/history.d.ts +111 -0
- package/dist/types/modules/history/history.d.ts.map +1 -0
- package/dist/types/modules/history/history.js +2 -0
- package/dist/types/modules/history/history.js.map +1 -0
- package/dist/types/modules/message/at.d.ts +46 -0
- package/dist/types/modules/message/at.d.ts.map +1 -0
- package/dist/types/modules/message/at.js +2 -0
- package/dist/types/modules/message/at.js.map +1 -0
- package/dist/types/modules/message/business.d.ts +56 -0
- package/dist/types/modules/message/business.d.ts.map +1 -0
- package/dist/types/modules/message/business.js +43 -0
- package/dist/types/modules/message/business.js.map +1 -0
- package/dist/types/modules/message/like.d.ts +53 -0
- package/dist/types/modules/message/like.d.ts.map +1 -0
- package/dist/types/modules/message/like.js +2 -0
- package/dist/types/modules/message/like.js.map +1 -0
- package/dist/types/modules/message/message.d.ts +75 -0
- package/dist/types/modules/message/message.d.ts.map +1 -0
- package/dist/types/modules/message/message.js +2 -0
- package/dist/types/modules/message/message.js.map +1 -0
- package/dist/types/modules/message/reply.d.ts +59 -0
- package/dist/types/modules/message/reply.d.ts.map +1 -0
- package/dist/types/modules/message/reply.js +2 -0
- package/dist/types/modules/message/reply.js.map +1 -0
- package/dist/types/modules/message/settings.d.ts +172 -0
- package/dist/types/modules/message/settings.d.ts.map +1 -0
- package/dist/types/modules/message/settings.js +14 -0
- package/dist/types/modules/message/settings.js.map +1 -0
- package/dist/types/modules/message/system.d.ts +45 -0
- package/dist/types/modules/message/system.d.ts.map +1 -0
- package/dist/types/modules/message/system.js +2 -0
- package/dist/types/modules/message/system.js.map +1 -0
- package/dist/types/modules/misc.d.ts.map +1 -0
- package/dist/types/{business → modules}/misc.js.map +1 -1
- package/dist/types/modules/opus/opus.d.ts +10 -0
- package/dist/types/modules/opus/opus.d.ts.map +1 -0
- package/dist/types/modules/opus/opus.js +2 -0
- package/dist/types/modules/opus/opus.js.map +1 -0
- package/dist/types/modules/session/session.d.ts +133 -0
- package/dist/types/modules/session/session.d.ts.map +1 -0
- package/dist/types/modules/session/session.js +2 -0
- package/dist/types/modules/session/session.js.map +1 -0
- package/dist/types/modules/session/source.d.ts +107 -0
- package/dist/types/modules/session/source.d.ts.map +1 -0
- package/dist/types/modules/session/source.js +96 -0
- package/dist/types/modules/session/source.js.map +1 -0
- package/dist/types/modules/space/archive.d.ts +75 -0
- package/dist/types/modules/space/archive.d.ts.map +1 -0
- package/dist/types/modules/space/archive.js +2 -0
- package/dist/types/modules/space/archive.js.map +1 -0
- package/dist/types/modules/space/collection.d.ts +51 -0
- package/dist/types/modules/space/collection.d.ts.map +1 -0
- package/dist/types/modules/space/collection.js +2 -0
- package/dist/types/modules/space/collection.js.map +1 -0
- package/dist/types/modules/space/search.d.ts +59 -0
- package/dist/types/modules/space/search.d.ts.map +1 -0
- package/dist/types/modules/space/search.js +2 -0
- package/dist/types/modules/space/search.js.map +1 -0
- package/dist/types/modules/space/space.d.ts +2 -0
- package/dist/types/modules/space/space.d.ts.map +1 -0
- package/dist/types/modules/space/space.js +2 -0
- package/dist/types/modules/space/space.js.map +1 -0
- package/dist/types/modules/toview/toview.d.ts +57 -0
- package/dist/types/modules/toview/toview.d.ts.map +1 -0
- package/dist/types/modules/toview/toview.js +2 -0
- package/dist/types/modules/toview/toview.js.map +1 -0
- package/dist/types/modules/user/auth.d.ts +25 -0
- package/dist/types/modules/user/auth.d.ts.map +1 -0
- package/dist/types/{business → modules/user}/auth.js.map +1 -1
- package/dist/types/{business → modules/user}/level.d.ts +4 -4
- package/dist/types/modules/user/level.d.ts.map +1 -0
- package/dist/types/modules/user/level.js.map +1 -0
- package/dist/types/{business → modules/user}/login.d.ts +3 -3
- package/dist/types/modules/user/login.d.ts.map +1 -0
- package/dist/types/modules/user/login.js.map +1 -0
- package/dist/types/modules/user/relation.d.ts +136 -0
- package/dist/types/modules/user/relation.d.ts.map +1 -0
- package/dist/types/modules/user/relation.js +89 -0
- package/dist/types/modules/user/relation.js.map +1 -0
- package/dist/types/{business → modules/user}/user.d.ts +14 -2
- package/dist/types/modules/user/user.d.ts.map +1 -0
- package/dist/types/{business → modules/user}/user.js +1 -1
- package/dist/types/modules/user/user.js.map +1 -0
- package/dist/types/{business → modules/vip}/vip.d.ts +5 -5
- package/dist/types/modules/vip/vip.d.ts.map +1 -0
- package/dist/types/{business → modules/vip}/vip.js +2 -2
- package/dist/types/modules/vip/vip.js.map +1 -0
- package/dist/utils/arr.d.ts +2 -0
- package/dist/utils/arr.d.ts.map +1 -0
- package/dist/utils/arr.js +4 -0
- package/dist/utils/arr.js.map +1 -0
- package/dist/utils/cookies.d.ts +1 -1
- package/dist/utils/cookies.d.ts.map +1 -1
- package/dist/utils/url.d.ts +4 -3
- package/dist/utils/url.d.ts.map +1 -1
- package/dist/utils/url.js +14 -16
- package/dist/utils/url.js.map +1 -1
- package/package.json +10 -5
- 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/config/index.d.ts.map +0 -1
- package/dist/config/index.js.map +0 -1
- package/dist/error/index.d.ts.map +0 -1
- package/dist/error/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/user/index.d.ts +0 -28
- package/dist/service/user/index.d.ts.map +0 -1
- package/dist/service/user/index.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/level.d.ts.map +0 -1
- package/dist/types/business/level.js.map +0 -1
- package/dist/types/business/login.d.ts.map +0 -1
- package/dist/types/business/login.js.map +0 -1
- package/dist/types/business/misc.d.ts.map +0 -1
- package/dist/types/business/user.d.ts.map +0 -1
- package/dist/types/business/user.js.map +0 -1
- package/dist/types/business/vip.d.ts.map +0 -1
- package/dist/types/business/vip.js.map +0 -1
- /package/dist/types/{business → modules}/misc.d.ts +0 -0
- /package/dist/types/{business → modules}/misc.js +0 -0
- /package/dist/types/{business → modules/user}/auth.js +0 -0
- /package/dist/types/{business → modules/user}/level.js +0 -0
- /package/dist/types/{business → modules/user}/login.js +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,177 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toview.js","sourceRoot":"","sources":["../../../src/service/toview/toview.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { UserService } from './
|
|
2
|
-
import type { QRCodeLoginCallback, QRCodeLoginOptions } from '../../types/
|
|
1
|
+
import type { UserService } from './user.js';
|
|
2
|
+
import type { QRCodeLoginCallback, QRCodeLoginOptions } from '../../types/modules/user/login.js';
|
|
3
3
|
import type { RequestContext } from '../../types/core/request.js';
|
|
4
4
|
/**
|
|
5
5
|
* 通过二维码登录
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,4 +1,4 @@
|
|
|
1
|
-
import { BiliAbortError, BiliError } from '../../error/
|
|
1
|
+
import { BiliAbortError, BiliError } from '../../error/error.js';
|
|
2
2
|
/**
|
|
3
3
|
* 通过二维码登录
|
|
4
4
|
*
|
|
@@ -39,7 +39,7 @@ export async function loginUserWithQRCode(userService, callback, loginOptions) {
|
|
|
39
39
|
try {
|
|
40
40
|
while (!signal.aborted) {
|
|
41
41
|
safeStatusChange('正在获取登录二维码...');
|
|
42
|
-
const qrCode = await userService.getLoginQRCode(
|
|
42
|
+
const qrCode = await userService.getLoginQRCode(loginOptions);
|
|
43
43
|
if (!qrCode?.url || !qrCode?.qrcode_key) {
|
|
44
44
|
throw new Error('未能获取有效的二维码数据');
|
|
45
45
|
}
|
|
@@ -48,12 +48,12 @@ export async function loginUserWithQRCode(userService, callback, loginOptions) {
|
|
|
48
48
|
// 二维码是否过期
|
|
49
49
|
let isQRCodeExpired = false;
|
|
50
50
|
while (!signal.aborted && !isQRCodeExpired) {
|
|
51
|
-
const result = await userService.getQRCodeLoginResult(qrCode.qrcode_key,
|
|
51
|
+
const result = await userService.getQRCodeLoginResult(qrCode.qrcode_key, loginOptions);
|
|
52
52
|
safeStatusChange(result.message);
|
|
53
53
|
switch (result.code) {
|
|
54
54
|
case 0: // 登录成功
|
|
55
55
|
safeStatusChange('扫码成功,正在同步用户信息...');
|
|
56
|
-
return await userService.initLoginSession(result.setCookie, options.updateRequestContext,
|
|
56
|
+
return await userService.initLoginSession(result.setCookie, options.updateRequestContext, loginOptions);
|
|
57
57
|
case 86038: // 二维码失效
|
|
58
58
|
if (options.autoRefresh) {
|
|
59
59
|
safeStatusChange('二维码已失效,正在自动刷新...');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qrcode-login.js","sourceRoot":"","sources":["../../../src/service/user/qrcode-login.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEhE;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAAwB,EACxB,QAA6B,EAC7B,YAAiC;IAEjC,MAAM,OAAO,GAAG;QACd,oBAAoB,EAAE,IAAI;QAC1B,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,KAAK;QACrB,GAAG,YAAY;KAChB,CAAA;IAED,gCAAgC;IAChC,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAA;IAEpG,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;IAE/E,WAAW;IACX,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,GAAG,CAAC,CAAA;QAChF,CAAC;IACH,CAAC,CAAA;IAED,YAAY;IACZ,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;QAC/C,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,GAAG,CAAC,CAAA;QAClF,CAAC;IACH,CAAC,CAAA;IAED,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,gBAAgB,CAAC,cAAc,CAAC,CAAA;YAEhC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"qrcode-login.js","sourceRoot":"","sources":["../../../src/service/user/qrcode-login.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -32,10 +32,13 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
|
|
|
32
32
|
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
33
33
|
done = true;
|
|
34
34
|
};
|
|
35
|
-
import { BaseService } from '../base.js';
|
|
36
35
|
import { CatchError } from '../../error/handle-error.js';
|
|
37
36
|
import { loginUserWithQRCode } from './qrcode-login.js';
|
|
38
37
|
import { parseUserCookie } from '../../utils/cookies.js';
|
|
38
|
+
import { BaseService } from '../base.js';
|
|
39
|
+
/**
|
|
40
|
+
* 用户服务
|
|
41
|
+
*/
|
|
39
42
|
let UserService = (() => {
|
|
40
43
|
var _a;
|
|
41
44
|
let _classSuper = BaseService;
|
|
@@ -44,29 +47,28 @@ let UserService = (() => {
|
|
|
44
47
|
let _getQRCodeLoginResult_decorators;
|
|
45
48
|
let _loginWithQRCode_decorators;
|
|
46
49
|
let _getBuvids_decorators;
|
|
47
|
-
let
|
|
50
|
+
let _getMyInfo_decorators;
|
|
48
51
|
let _initLoginSession_decorators;
|
|
49
52
|
let _getUserCards_decorators;
|
|
53
|
+
let _getUpStat_decorators;
|
|
50
54
|
return _a = class UserService extends _classSuper {
|
|
51
55
|
/**
|
|
52
56
|
* 获取登录二维码
|
|
53
57
|
*/
|
|
54
|
-
getLoginQRCode(
|
|
55
|
-
return this.
|
|
56
|
-
signal,
|
|
57
|
-
});
|
|
58
|
+
getLoginQRCode(options) {
|
|
59
|
+
return this.get(`https://passport.bilibili.com/x/passport-login/web/qrcode/generate`, options);
|
|
58
60
|
}
|
|
59
61
|
/**
|
|
60
62
|
* 获取二维码登录结果
|
|
61
63
|
*/
|
|
62
|
-
async getQRCodeLoginResult(qrcode_key,
|
|
63
|
-
const response = await this.
|
|
64
|
+
async getQRCodeLoginResult(qrcode_key, options) {
|
|
65
|
+
const response = await this.get('https://passport.bilibili.com/x/passport-login/web/qrcode/poll', {
|
|
64
66
|
query: {
|
|
65
67
|
qrcode_key,
|
|
66
68
|
},
|
|
67
69
|
skipWbiSign: true,
|
|
68
70
|
returnFormat: 'RawResponse',
|
|
69
|
-
|
|
71
|
+
...options,
|
|
70
72
|
});
|
|
71
73
|
const apiResponse = await response.json();
|
|
72
74
|
return {
|
|
@@ -77,25 +79,25 @@ let UserService = (() => {
|
|
|
77
79
|
async loginWithQRCode(callback, loginOptions) {
|
|
78
80
|
return loginUserWithQRCode(this, callback, loginOptions);
|
|
79
81
|
}
|
|
80
|
-
getBuvids(
|
|
81
|
-
return this.
|
|
82
|
+
getBuvids(options) {
|
|
83
|
+
return this.get('https://api.bilibili.com/x/frontend/finger/spi', options);
|
|
82
84
|
}
|
|
83
|
-
|
|
84
|
-
return this.
|
|
85
|
+
getMyInfo(cookie, options) {
|
|
86
|
+
return this.get('https://api.bilibili.com/x/space/myinfo', {
|
|
85
87
|
cookie,
|
|
86
|
-
|
|
88
|
+
...options,
|
|
87
89
|
});
|
|
88
90
|
}
|
|
89
91
|
/**
|
|
90
92
|
* 登录后初始化(cookie / 用户信息等)
|
|
91
93
|
*/
|
|
92
|
-
async initLoginSession(setCookie, updateRequestContext = true,
|
|
94
|
+
async initLoginSession(setCookie, updateRequestContext = true, options) {
|
|
93
95
|
this.logging.info(`初始化用户数据...`);
|
|
94
96
|
const userCookie = parseUserCookie(setCookie);
|
|
95
97
|
// 完善cookie
|
|
96
|
-
const { b_3, b_4 } = await this.getBuvids(
|
|
98
|
+
const { b_3, b_4 } = await this.getBuvids(options);
|
|
97
99
|
userCookie.cookie = `${userCookie.cookie} buvid3=${b_3}; buvid4=${b_4}; `;
|
|
98
|
-
const userInfo = await this.
|
|
100
|
+
const userInfo = await this.getMyInfo(userCookie, options);
|
|
99
101
|
const context = {
|
|
100
102
|
userCookie: userCookie,
|
|
101
103
|
userInfo: userInfo,
|
|
@@ -108,17 +110,28 @@ let UserService = (() => {
|
|
|
108
110
|
}
|
|
109
111
|
/**
|
|
110
112
|
* 批量获取用户基础信息(最多50个)
|
|
111
|
-
* @param uids
|
|
112
113
|
*/
|
|
113
|
-
async getUserCards(uids) {
|
|
114
|
-
const users = await this.
|
|
114
|
+
async getUserCards(uids, options) {
|
|
115
|
+
const users = await this.get('https://api.vc.bilibili.com/account/v1/user/cards', {
|
|
115
116
|
query: {
|
|
116
117
|
uids: uids.join(','),
|
|
117
118
|
},
|
|
119
|
+
...options,
|
|
118
120
|
});
|
|
119
121
|
// 返回的是乱序的,这里重新按照刷入的id排序
|
|
120
122
|
return uids.map((id) => users.find((item) => item.mid === id) ?? null);
|
|
121
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* 获取UP主状态数
|
|
126
|
+
*/
|
|
127
|
+
async getUpStat(mid, options) {
|
|
128
|
+
return await this.get('https://api.bilibili.com/x/space/upstat', {
|
|
129
|
+
query: {
|
|
130
|
+
mid: mid,
|
|
131
|
+
},
|
|
132
|
+
...options,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
122
135
|
constructor() {
|
|
123
136
|
super(...arguments);
|
|
124
137
|
__runInitializers(this, _instanceExtraInitializers);
|
|
@@ -130,19 +143,21 @@ let UserService = (() => {
|
|
|
130
143
|
_getQRCodeLoginResult_decorators = [CatchError()];
|
|
131
144
|
_loginWithQRCode_decorators = [CatchError()];
|
|
132
145
|
_getBuvids_decorators = [CatchError()];
|
|
133
|
-
|
|
146
|
+
_getMyInfo_decorators = [CatchError()];
|
|
134
147
|
_initLoginSession_decorators = [CatchError()];
|
|
135
148
|
_getUserCards_decorators = [CatchError()];
|
|
149
|
+
_getUpStat_decorators = [CatchError()];
|
|
136
150
|
__esDecorate(_a, null, _getLoginQRCode_decorators, { kind: "method", name: "getLoginQRCode", static: false, private: false, access: { has: obj => "getLoginQRCode" in obj, get: obj => obj.getLoginQRCode }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
137
151
|
__esDecorate(_a, null, _getQRCodeLoginResult_decorators, { kind: "method", name: "getQRCodeLoginResult", static: false, private: false, access: { has: obj => "getQRCodeLoginResult" in obj, get: obj => obj.getQRCodeLoginResult }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
138
152
|
__esDecorate(_a, null, _loginWithQRCode_decorators, { kind: "method", name: "loginWithQRCode", static: false, private: false, access: { has: obj => "loginWithQRCode" in obj, get: obj => obj.loginWithQRCode }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
139
153
|
__esDecorate(_a, null, _getBuvids_decorators, { kind: "method", name: "getBuvids", static: false, private: false, access: { has: obj => "getBuvids" in obj, get: obj => obj.getBuvids }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
140
|
-
__esDecorate(_a, null,
|
|
154
|
+
__esDecorate(_a, null, _getMyInfo_decorators, { kind: "method", name: "getMyInfo", static: false, private: false, access: { has: obj => "getMyInfo" in obj, get: obj => obj.getMyInfo }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
141
155
|
__esDecorate(_a, null, _initLoginSession_decorators, { kind: "method", name: "initLoginSession", static: false, private: false, access: { has: obj => "initLoginSession" in obj, get: obj => obj.initLoginSession }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
142
156
|
__esDecorate(_a, null, _getUserCards_decorators, { kind: "method", name: "getUserCards", static: false, private: false, access: { has: obj => "getUserCards" in obj, get: obj => obj.getUserCards }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
157
|
+
__esDecorate(_a, null, _getUpStat_decorators, { kind: "method", name: "getUpStat", static: false, private: false, access: { has: obj => "getUpStat" in obj, get: obj => obj.getUpStat }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
143
158
|
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
144
159
|
})(),
|
|
145
160
|
_a;
|
|
146
161
|
})();
|
|
147
162
|
export { UserService };
|
|
148
|
-
//# sourceMappingURL=
|
|
163
|
+
//# sourceMappingURL=user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/service/user/user.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mixinkey.d.ts","sourceRoot":"","sources":["../../src/stores/mixinkey.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,eAAO,MAAM,aAAa;;kCAaM,OAAO;CAGtC,CAAA"}
|
|
1
|
+
{"version":3,"file":"mixinkey.d.ts","sourceRoot":"","sources":["../../src/stores/mixinkey.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,eAAO,MAAM,aAAa;;kCAaM,OAAO;CAGtC,CAAA;AAeD,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,EAAE,QAAQ,MAAM,WAM9D,CAAA"}
|
package/dist/stores/mixinkey.js
CHANGED
|
@@ -40,7 +40,7 @@ const mixinKeyEncTab = [
|
|
|
40
40
|
44, 52,
|
|
41
41
|
];
|
|
42
42
|
// 生成 MixinKey
|
|
43
|
-
const generateMixinKey = (imgKey, subKey) => {
|
|
43
|
+
export const generateMixinKey = (imgKey, subKey) => {
|
|
44
44
|
const raw_wbi_key = imgKey + subKey;
|
|
45
45
|
return mixinKeyEncTab
|
|
46
46
|
.map((n) => raw_wbi_key[n])
|
|
@@ -75,7 +75,7 @@ const updateMixinKey = async () => {
|
|
|
75
75
|
const imgKey = getKey(nav.wbi_img.img_url);
|
|
76
76
|
const subKey = getKey(nav.wbi_img.sub_url);
|
|
77
77
|
mixinKey = generateMixinKey(imgKey, subKey);
|
|
78
|
-
getCommonBiliClient().logging.info(`初始化
|
|
78
|
+
getCommonBiliClient().logging.info(`初始化 imgKey=${imgKey} subKey=${subKey} mixinKey=${mixinKey}`);
|
|
79
79
|
wbiKeyLastUpdatedAt = now;
|
|
80
80
|
}
|
|
81
81
|
catch (err) {
|