@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.
Files changed (329) hide show
  1. package/dist/api/base.d.ts +35 -0
  2. package/dist/api/base.d.ts.map +1 -0
  3. package/dist/api/base.js +184 -0
  4. package/dist/api/base.js.map +1 -0
  5. package/dist/api/page/page.d.ts +35 -0
  6. package/dist/api/page/page.d.ts.map +1 -0
  7. package/dist/api/page/page.js +102 -0
  8. package/dist/api/page/page.js.map +1 -0
  9. package/dist/api/page/strategies/base.d.ts +30 -0
  10. package/dist/api/page/strategies/base.d.ts.map +1 -0
  11. package/dist/api/page/strategies/base.js +9 -0
  12. package/dist/api/page/strategies/base.js.map +1 -0
  13. package/dist/api/page/strategies/has-more.d.ts +15 -0
  14. package/dist/api/page/strategies/has-more.d.ts.map +1 -0
  15. package/dist/api/page/strategies/has-more.js +26 -0
  16. package/dist/api/page/strategies/has-more.js.map +1 -0
  17. package/dist/api/page/strategies/list.d.ts +12 -0
  18. package/dist/api/page/strategies/list.d.ts.map +1 -0
  19. package/dist/api/page/strategies/list.js +31 -0
  20. package/dist/api/page/strategies/list.js.map +1 -0
  21. package/dist/api/page/strategies/total.d.ts +12 -0
  22. package/dist/api/page/strategies/total.d.ts.map +1 -0
  23. package/dist/api/page/strategies/total.js +33 -0
  24. package/dist/api/page/strategies/total.js.map +1 -0
  25. package/dist/api/with-api.d.ts +18 -0
  26. package/dist/api/with-api.d.ts.map +1 -0
  27. package/dist/api/with-api.js +32 -0
  28. package/dist/api/with-api.js.map +1 -0
  29. package/dist/client/client.d.ts +66 -4
  30. package/dist/client/client.d.ts.map +1 -1
  31. package/dist/client/client.js +31 -5
  32. package/dist/client/client.js.map +1 -1
  33. package/dist/config/{index.d.ts → config.d.ts} +7 -3
  34. package/dist/config/config.d.ts.map +1 -0
  35. package/dist/config/{index.js → config.js} +7 -2
  36. package/dist/config/config.js.map +1 -0
  37. package/dist/error/{index.d.ts → error.d.ts} +8 -8
  38. package/dist/error/error.d.ts.map +1 -0
  39. package/dist/error/{index.js → error.js} +3 -3
  40. package/dist/error/error.js.map +1 -0
  41. package/dist/index.d.ts +70 -8
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +70 -6
  44. package/dist/index.js.map +1 -1
  45. package/dist/service/archive/archive.d.ts +13 -0
  46. package/dist/service/archive/archive.d.ts.map +1 -0
  47. package/dist/service/archive/archive.js +71 -0
  48. package/dist/service/archive/archive.js.map +1 -0
  49. package/dist/service/bangumi/follow.d.ts +57 -0
  50. package/dist/service/bangumi/follow.d.ts.map +1 -0
  51. package/dist/service/bangumi/follow.js +154 -0
  52. package/dist/service/bangumi/follow.js.map +1 -0
  53. package/dist/service/base.d.ts +5 -7
  54. package/dist/service/base.d.ts.map +1 -1
  55. package/dist/service/base.js +7 -14
  56. package/dist/service/base.js.map +1 -1
  57. package/dist/service/fav/collection.d.ts +45 -0
  58. package/dist/service/fav/collection.d.ts.map +1 -0
  59. package/dist/service/fav/collection.js +134 -0
  60. package/dist/service/fav/collection.js.map +1 -0
  61. package/dist/service/fav/fav.d.ts +118 -0
  62. package/dist/service/fav/fav.d.ts.map +1 -0
  63. package/dist/service/fav/fav.js +319 -0
  64. package/dist/service/fav/fav.js.map +1 -0
  65. package/dist/service/fav/helper.d.ts +10 -0
  66. package/dist/service/fav/helper.d.ts.map +1 -0
  67. package/dist/service/fav/helper.js +29 -0
  68. package/dist/service/fav/helper.js.map +1 -0
  69. package/dist/service/fav/opus.d.ts +48 -0
  70. package/dist/service/fav/opus.d.ts.map +1 -0
  71. package/dist/service/fav/opus.js +160 -0
  72. package/dist/service/fav/opus.js.map +1 -0
  73. package/dist/service/fav/page/opus.d.ts +15 -0
  74. package/dist/service/fav/page/opus.d.ts.map +1 -0
  75. package/dist/service/fav/page/opus.js +24 -0
  76. package/dist/service/fav/page/opus.js.map +1 -0
  77. package/dist/service/history/history.d.ts +48 -0
  78. package/dist/service/history/history.d.ts.map +1 -0
  79. package/dist/service/history/history.js +139 -0
  80. package/dist/service/history/history.js.map +1 -0
  81. package/dist/service/history/page.d.ts +14 -0
  82. package/dist/service/history/page.d.ts.map +1 -0
  83. package/dist/service/history/page.js +40 -0
  84. package/dist/service/history/page.js.map +1 -0
  85. package/dist/service/message/message.d.ts +137 -0
  86. package/dist/service/message/message.d.ts.map +1 -0
  87. package/dist/service/message/message.js +328 -0
  88. package/dist/service/message/message.js.map +1 -0
  89. package/dist/service/message/page/at.d.ts +15 -0
  90. package/dist/service/message/page/at.d.ts.map +1 -0
  91. package/dist/service/message/page/at.js +34 -0
  92. package/dist/service/message/page/at.js.map +1 -0
  93. package/dist/service/message/page/like.d.ts +15 -0
  94. package/dist/service/message/page/like.d.ts.map +1 -0
  95. package/dist/service/message/page/like.js +34 -0
  96. package/dist/service/message/page/like.js.map +1 -0
  97. package/dist/service/message/page/reply.d.ts +15 -0
  98. package/dist/service/message/page/reply.d.ts.map +1 -0
  99. package/dist/service/message/page/reply.js +34 -0
  100. package/dist/service/message/page/reply.js.map +1 -0
  101. package/dist/service/message/page/system.d.ts +15 -0
  102. package/dist/service/message/page/system.d.ts.map +1 -0
  103. package/dist/service/message/page/system.js +33 -0
  104. package/dist/service/message/page/system.js.map +1 -0
  105. package/dist/service/relation/relation.d.ts +190 -0
  106. package/dist/service/relation/relation.d.ts.map +1 -0
  107. package/dist/service/relation/relation.js +481 -0
  108. package/dist/service/relation/relation.js.map +1 -0
  109. package/dist/service/session/page.d.ts +16 -0
  110. package/dist/service/session/page.d.ts.map +1 -0
  111. package/dist/service/session/page.js +35 -0
  112. package/dist/service/session/page.js.map +1 -0
  113. package/dist/service/session/session.d.ts +48 -0
  114. package/dist/service/session/session.d.ts.map +1 -0
  115. package/dist/service/session/session.js +167 -0
  116. package/dist/service/session/session.js.map +1 -0
  117. package/dist/service/session/settings.d.ts +56 -0
  118. package/dist/service/session/settings.d.ts.map +1 -0
  119. package/dist/service/session/settings.js +219 -0
  120. package/dist/service/session/settings.js.map +1 -0
  121. package/dist/service/space/archive.d.ts +34 -0
  122. package/dist/service/space/archive.d.ts.map +1 -0
  123. package/dist/service/space/archive.js +102 -0
  124. package/dist/service/space/archive.js.map +1 -0
  125. package/dist/service/space/page/search.d.ts +16 -0
  126. package/dist/service/space/page/search.d.ts.map +1 -0
  127. package/dist/service/space/page/search.js +33 -0
  128. package/dist/service/space/page/search.js.map +1 -0
  129. package/dist/service/toview/page.d.ts +15 -0
  130. package/dist/service/toview/page.d.ts.map +1 -0
  131. package/dist/service/toview/page.js +31 -0
  132. package/dist/service/toview/page.js.map +1 -0
  133. package/dist/service/toview/toview.d.ts +56 -0
  134. package/dist/service/toview/toview.d.ts.map +1 -0
  135. package/dist/service/toview/toview.js +177 -0
  136. package/dist/service/toview/toview.js.map +1 -0
  137. package/dist/service/user/qrcode-login.d.ts +2 -2
  138. package/dist/service/user/qrcode-login.d.ts.map +1 -1
  139. package/dist/service/user/qrcode-login.js +4 -4
  140. package/dist/service/user/qrcode-login.js.map +1 -1
  141. package/dist/service/user/user.d.ts +34 -0
  142. package/dist/service/user/user.d.ts.map +1 -0
  143. package/dist/service/user/{index.js → user.js} +38 -23
  144. package/dist/service/user/user.js.map +1 -0
  145. package/dist/stores/mixinkey.d.ts +1 -0
  146. package/dist/stores/mixinkey.d.ts.map +1 -1
  147. package/dist/stores/mixinkey.js +2 -2
  148. package/dist/stores/mixinkey.js.map +1 -1
  149. package/dist/types/core/client.d.ts +6 -1
  150. package/dist/types/core/client.d.ts.map +1 -1
  151. package/dist/types/core/client.js +1 -1
  152. package/dist/types/core/client.js.map +1 -1
  153. package/dist/types/core/page.d.ts +43 -0
  154. package/dist/types/core/page.d.ts.map +1 -0
  155. package/dist/types/core/page.js +2 -0
  156. package/dist/types/core/page.js.map +1 -0
  157. package/dist/types/core/request.d.ts +26 -7
  158. package/dist/types/core/request.d.ts.map +1 -1
  159. package/dist/types/core/request.js +1 -0
  160. package/dist/types/core/request.js.map +1 -1
  161. package/dist/types/core/type-helpers.d.ts +12 -0
  162. package/dist/types/core/type-helpers.d.ts.map +1 -0
  163. package/dist/types/core/type-helpers.js +7 -0
  164. package/dist/types/core/type-helpers.js.map +1 -0
  165. package/dist/types/modules/archive/part.d.ts +31 -0
  166. package/dist/types/modules/archive/part.d.ts.map +1 -0
  167. package/dist/types/modules/archive/part.js +2 -0
  168. package/dist/types/modules/archive/part.js.map +1 -0
  169. package/dist/types/modules/bangumi/bangumi.d.ts +64 -0
  170. package/dist/types/modules/bangumi/bangumi.d.ts.map +1 -0
  171. package/dist/types/modules/bangumi/bangumi.js +29 -0
  172. package/dist/types/modules/bangumi/bangumi.js.map +1 -0
  173. package/dist/types/modules/business/business.d.ts +41 -0
  174. package/dist/types/modules/business/business.d.ts.map +1 -0
  175. package/dist/types/modules/business/business.js +31 -0
  176. package/dist/types/modules/business/business.js.map +1 -0
  177. package/dist/types/modules/device/device.d.ts +15 -0
  178. package/dist/types/modules/device/device.d.ts.map +1 -0
  179. package/dist/types/modules/device/device.js +11 -0
  180. package/dist/types/modules/device/device.js.map +1 -0
  181. package/dist/types/modules/fav/collection.d.ts +24 -0
  182. package/dist/types/modules/fav/collection.d.ts.map +1 -0
  183. package/dist/types/modules/fav/collection.js +2 -0
  184. package/dist/types/modules/fav/collection.js.map +1 -0
  185. package/dist/types/modules/fav/fav.d.ts +104 -0
  186. package/dist/types/modules/fav/fav.d.ts.map +1 -0
  187. package/dist/types/modules/fav/fav.js +2 -0
  188. package/dist/types/modules/fav/fav.js.map +1 -0
  189. package/dist/types/modules/fav/folder.d.ts +61 -0
  190. package/dist/types/modules/fav/folder.d.ts.map +1 -0
  191. package/dist/types/modules/fav/folder.js +2 -0
  192. package/dist/types/modules/fav/folder.js.map +1 -0
  193. package/dist/types/modules/fav/opus.d.ts +31 -0
  194. package/dist/types/modules/fav/opus.d.ts.map +1 -0
  195. package/dist/types/modules/fav/opus.js +2 -0
  196. package/dist/types/modules/fav/opus.js.map +1 -0
  197. package/dist/types/modules/history/history.d.ts +111 -0
  198. package/dist/types/modules/history/history.d.ts.map +1 -0
  199. package/dist/types/modules/history/history.js +2 -0
  200. package/dist/types/modules/history/history.js.map +1 -0
  201. package/dist/types/modules/message/at.d.ts +46 -0
  202. package/dist/types/modules/message/at.d.ts.map +1 -0
  203. package/dist/types/modules/message/at.js +2 -0
  204. package/dist/types/modules/message/at.js.map +1 -0
  205. package/dist/types/modules/message/business.d.ts +56 -0
  206. package/dist/types/modules/message/business.d.ts.map +1 -0
  207. package/dist/types/modules/message/business.js +43 -0
  208. package/dist/types/modules/message/business.js.map +1 -0
  209. package/dist/types/modules/message/like.d.ts +53 -0
  210. package/dist/types/modules/message/like.d.ts.map +1 -0
  211. package/dist/types/modules/message/like.js +2 -0
  212. package/dist/types/modules/message/like.js.map +1 -0
  213. package/dist/types/modules/message/message.d.ts +75 -0
  214. package/dist/types/modules/message/message.d.ts.map +1 -0
  215. package/dist/types/modules/message/message.js +2 -0
  216. package/dist/types/modules/message/message.js.map +1 -0
  217. package/dist/types/modules/message/reply.d.ts +59 -0
  218. package/dist/types/modules/message/reply.d.ts.map +1 -0
  219. package/dist/types/modules/message/reply.js +2 -0
  220. package/dist/types/modules/message/reply.js.map +1 -0
  221. package/dist/types/modules/message/settings.d.ts +172 -0
  222. package/dist/types/modules/message/settings.d.ts.map +1 -0
  223. package/dist/types/modules/message/settings.js +14 -0
  224. package/dist/types/modules/message/settings.js.map +1 -0
  225. package/dist/types/modules/message/system.d.ts +45 -0
  226. package/dist/types/modules/message/system.d.ts.map +1 -0
  227. package/dist/types/modules/message/system.js +2 -0
  228. package/dist/types/modules/message/system.js.map +1 -0
  229. package/dist/types/modules/misc.d.ts.map +1 -0
  230. package/dist/types/{business → modules}/misc.js.map +1 -1
  231. package/dist/types/modules/opus/opus.d.ts +10 -0
  232. package/dist/types/modules/opus/opus.d.ts.map +1 -0
  233. package/dist/types/modules/opus/opus.js +2 -0
  234. package/dist/types/modules/opus/opus.js.map +1 -0
  235. package/dist/types/modules/session/session.d.ts +133 -0
  236. package/dist/types/modules/session/session.d.ts.map +1 -0
  237. package/dist/types/modules/session/session.js +2 -0
  238. package/dist/types/modules/session/session.js.map +1 -0
  239. package/dist/types/modules/session/source.d.ts +107 -0
  240. package/dist/types/modules/session/source.d.ts.map +1 -0
  241. package/dist/types/modules/session/source.js +96 -0
  242. package/dist/types/modules/session/source.js.map +1 -0
  243. package/dist/types/modules/space/archive.d.ts +75 -0
  244. package/dist/types/modules/space/archive.d.ts.map +1 -0
  245. package/dist/types/modules/space/archive.js +2 -0
  246. package/dist/types/modules/space/archive.js.map +1 -0
  247. package/dist/types/modules/space/collection.d.ts +51 -0
  248. package/dist/types/modules/space/collection.d.ts.map +1 -0
  249. package/dist/types/modules/space/collection.js +2 -0
  250. package/dist/types/modules/space/collection.js.map +1 -0
  251. package/dist/types/modules/space/search.d.ts +59 -0
  252. package/dist/types/modules/space/search.d.ts.map +1 -0
  253. package/dist/types/modules/space/search.js +2 -0
  254. package/dist/types/modules/space/search.js.map +1 -0
  255. package/dist/types/modules/space/space.d.ts +2 -0
  256. package/dist/types/modules/space/space.d.ts.map +1 -0
  257. package/dist/types/modules/space/space.js +2 -0
  258. package/dist/types/modules/space/space.js.map +1 -0
  259. package/dist/types/modules/toview/toview.d.ts +57 -0
  260. package/dist/types/modules/toview/toview.d.ts.map +1 -0
  261. package/dist/types/modules/toview/toview.js +2 -0
  262. package/dist/types/modules/toview/toview.js.map +1 -0
  263. package/dist/types/modules/user/auth.d.ts +25 -0
  264. package/dist/types/modules/user/auth.d.ts.map +1 -0
  265. package/dist/types/{business → modules/user}/auth.js.map +1 -1
  266. package/dist/types/{business → modules/user}/level.d.ts +4 -4
  267. package/dist/types/modules/user/level.d.ts.map +1 -0
  268. package/dist/types/modules/user/level.js.map +1 -0
  269. package/dist/types/{business → modules/user}/login.d.ts +3 -3
  270. package/dist/types/modules/user/login.d.ts.map +1 -0
  271. package/dist/types/modules/user/login.js.map +1 -0
  272. package/dist/types/modules/user/relation.d.ts +136 -0
  273. package/dist/types/modules/user/relation.d.ts.map +1 -0
  274. package/dist/types/modules/user/relation.js +89 -0
  275. package/dist/types/modules/user/relation.js.map +1 -0
  276. package/dist/types/{business → modules/user}/user.d.ts +14 -2
  277. package/dist/types/modules/user/user.d.ts.map +1 -0
  278. package/dist/types/{business → modules/user}/user.js +1 -1
  279. package/dist/types/modules/user/user.js.map +1 -0
  280. package/dist/types/{business → modules/vip}/vip.d.ts +5 -5
  281. package/dist/types/modules/vip/vip.d.ts.map +1 -0
  282. package/dist/types/{business → modules/vip}/vip.js +2 -2
  283. package/dist/types/modules/vip/vip.js.map +1 -0
  284. package/dist/utils/arr.d.ts +2 -0
  285. package/dist/utils/arr.d.ts.map +1 -0
  286. package/dist/utils/arr.js +4 -0
  287. package/dist/utils/arr.js.map +1 -0
  288. package/dist/utils/cookies.d.ts +1 -1
  289. package/dist/utils/cookies.d.ts.map +1 -1
  290. package/dist/utils/url.d.ts +4 -3
  291. package/dist/utils/url.d.ts.map +1 -1
  292. package/dist/utils/url.js +14 -16
  293. package/dist/utils/url.js.map +1 -1
  294. package/package.json +10 -5
  295. package/dist/client/api.d.ts +0 -23
  296. package/dist/client/api.d.ts.map +0 -1
  297. package/dist/client/api.js +0 -128
  298. package/dist/client/api.js.map +0 -1
  299. package/dist/config/index.d.ts.map +0 -1
  300. package/dist/config/index.js.map +0 -1
  301. package/dist/error/index.d.ts.map +0 -1
  302. package/dist/error/index.js.map +0 -1
  303. package/dist/index.mjs +0 -704
  304. package/dist/index.mjs.map +0 -1
  305. package/dist/index.umd.js +0 -742
  306. package/dist/index.umd.js.map +0 -1
  307. package/dist/service/user/index.d.ts +0 -28
  308. package/dist/service/user/index.d.ts.map +0 -1
  309. package/dist/service/user/index.js.map +0 -1
  310. package/dist/test.d.ts +0 -2
  311. package/dist/test.d.ts.map +0 -1
  312. package/dist/test.js +0 -4
  313. package/dist/test.js.map +0 -1
  314. package/dist/types/business/auth.d.ts +0 -15
  315. package/dist/types/business/auth.d.ts.map +0 -1
  316. package/dist/types/business/level.d.ts.map +0 -1
  317. package/dist/types/business/level.js.map +0 -1
  318. package/dist/types/business/login.d.ts.map +0 -1
  319. package/dist/types/business/login.js.map +0 -1
  320. package/dist/types/business/misc.d.ts.map +0 -1
  321. package/dist/types/business/user.d.ts.map +0 -1
  322. package/dist/types/business/user.js.map +0 -1
  323. package/dist/types/business/vip.d.ts.map +0 -1
  324. package/dist/types/business/vip.js.map +0 -1
  325. /package/dist/types/{business → modules}/misc.d.ts +0 -0
  326. /package/dist/types/{business → modules}/misc.js +0 -0
  327. /package/dist/types/{business → modules/user}/auth.js +0 -0
  328. /package/dist/types/{business → modules/user}/level.js +0 -0
  329. /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 './index.js';
2
- import type { QRCodeLoginCallback, QRCodeLoginOptions } from '../../types/business/login.js';
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,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAC5F,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
+ {"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/index.js';
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(signal);
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, signal);
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, signal);
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,MAAM,CAAC,CAAA;YACvD,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;YACjC,CAAC;YAED,MAAM,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACpC,gBAAgB,CAAC,mBAAmB,CAAC,CAAA;YAErC,UAAU;YACV,IAAI,eAAe,GAAG,KAAK,CAAA;YAE3B,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;gBAChF,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBAEhC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAK,CAAC,EAAE,OAAO;wBACb,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;wBACpC,OAAO,MAAM,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAA;oBAEnG,KAAK,KAAK,EAAE,QAAQ;wBAClB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;4BACxB,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;4BACpC,eAAe,GAAG,IAAI,CAAA;wBACxB,CAAC;6BAAM,CAAC;4BACN,MAAM,IAAI,SAAS,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;wBACzD,CAAC;wBACD,MAAK;oBAEP;wBACE,wBAAwB;wBACxB,MAAM,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;wBACnC,MAAK;gBACT,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YAC5B,gBAAgB,CAAC,MAAM,CAAC,CAAA;YACxB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;QACzB,CAAC;aAAM,IAAI,MAAM,CAAC,OAAO,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;YAC3D,MAAM,MAAM,GAAG,MAAM,CAAA;YACrB,gBAAgB,CAAC,MAAM,CAAC,CAAA;YACxB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;QACzB,CAAC;QAED,MAAM,GAAG,CAAA;IACX,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA;AAC7B,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 _getUserInfo_decorators;
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(signal) {
55
- return this.api.request(`https://passport.bilibili.com/x/passport-login/web/qrcode/generate`, {
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, signal) {
63
- const response = await this.api.request('https://passport.bilibili.com/x/passport-login/web/qrcode/poll', {
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
- signal: signal,
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(signal) {
81
- return this.api.request('https://api.bilibili.com/x/frontend/finger/spi', { signal });
82
+ getBuvids(options) {
83
+ return this.get('https://api.bilibili.com/x/frontend/finger/spi', options);
82
84
  }
83
- getUserInfo(cookie, signal) {
84
- return this.api.request('https://api.bilibili.com/x/space/myinfo', {
85
+ getMyInfo(cookie, options) {
86
+ return this.get('https://api.bilibili.com/x/space/myinfo', {
85
87
  cookie,
86
- signal,
88
+ ...options,
87
89
  });
88
90
  }
89
91
  /**
90
92
  * 登录后初始化(cookie / 用户信息等)
91
93
  */
92
- async initLoginSession(setCookie, updateRequestContext = true, signal) {
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(signal);
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.getUserInfo(userCookie, signal);
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.api.request('https://api.vc.bilibili.com/account/v1/user/cards', {
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
- _getUserInfo_decorators = [CatchError()];
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, _getUserInfo_decorators, { kind: "method", name: "getUserInfo", static: false, private: false, access: { has: obj => "getUserInfo" in obj, get: obj => obj.getUserInfo }, metadata: _metadata }, null, _instanceExtraInitializers);
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=index.js.map
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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"}
@@ -5,4 +5,5 @@ export declare const mixinKeyStore: {
5
5
  get: () => Promise<string>;
6
6
  setAutoRefresh(isAutoRefresh: boolean): void;
7
7
  };
8
+ export declare const generateMixinKey: (imgKey: string, subKey: string) => string;
8
9
  //# sourceMappingURL=mixinkey.d.ts.map
@@ -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"}
@@ -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(`初始化 MixinKey:${mixinKey}`);
78
+ getCommonBiliClient().logging.info(`初始化 imgKey=${imgKey} subKey=${subKey} mixinKey=${mixinKey}`);
79
79
  wbiKeyLastUpdatedAt = now;
80
80
  }
81
81
  catch (err) {