返回提交历史
Modified
README.md
+1
-0
Added
manga/Season.md
+439
-0
XFEstudio/bilibili-API-collect
Create Season.md 漫画赛季 (#539)
* Create season.md * Create Season.md * Update README.md * Update Season.md
4a63471
代码差异
2 个文件
+440
-0
@@ -205,6 +205,7 @@ PS:所有 rest api 均可使用 https,文档中为了统一写作`http` (除
205
205
- [x] [签到](manga/ClockIn.md)
206
206
- [x] [积分商城](manga/point_shop.md)
207
207
- [x] [漫画操作](manga/Comic.md)
208
- [x] [漫画赛季](manga/Season.md)
208
209
- [x] [漫读券/已购相关](manga/User.md)
209
210
- [x] [下载](manga/Download.md)
210
211
- [x] [data.index解析](manga/index_file.md)
@@ -0,0 +1,439 @@
1
# 漫画赛季
2
3
- [漫画赛季](#漫画赛季)
4
- [获取赛季信息](#获取赛季信息)
5
- [赛季奖励领取](#赛季奖励领取)
6
7
_漫画赛季仅在 app 端可见,但可以使用 Cookie 鉴权_
8
9
## 获取赛季信息
10
11
> https://manga.bilibili.com/twirp/user.v1.Season/GetSeasonInfo
12
13
_请求方式:POST_
14
15
接口不鉴权可查看基本信息,鉴权后可查看赛季个人信息和赛季规则。
16
17
认证方式:Cookie(SESSDATA)/ APP
18
19
**json 回复:**
20
21
根对象:
22
23
| 字段 | 类型 | 内容 | 备注 |
24
| ---- | ---- | -------- | ---- |
25
| code | num | 返回值 | |
26
| msg | str | 错误信息 | |
27
| data | obj | 信息本体 | |
28
29
`data` 对象:
30
31
| 字段 | 类型 | 内容 | 备注 |
32
| ------------------ | ----- | ------------------ | -------------------------- |
33
| current_time | str | 当前时间字符串 | ISO 8601 |
34
| start_time | str | 赛季开始 | ISO 8601 |
35
| end_time | str | 赛季结束 | ISO 8601 |
36
| remain_amount | num | 拥有积分 | 未登录为 `0` |
37
| season_id | str | 第几个赛季 | |
38
| tasks | array | 待领取奖励的任务 | 未登录/没有可领取时为 `[]` |
39
| welfare | array | 赛季奖励 | |
40
| next | obj | 未知 | 未登录为 `null` |
41
| cover | str | 版头图片 | |
42
| today_tasks | array | 今日的任务完成情况 | |
43
| text | obj | 赛季相关文案 | 未登录为 `null` |
44
| season_clock_in | obj | | |
45
| announcement | obj | 未知 | 未登录为 `null` |
46
| lottery | obj | | |
47
| mission_point_rate | str | | |
48
| season_title | str | 赛季标题 | |
49
| point_rate | obj | | |
50
| rank | obj | | |
51
52
`data` 对象的 `rank`:
53
54
| 字段 | 类型 | 内容 | 备注 |
55
| ---------- | ---- | ----- | ---- |
56
| is_visible | bool | false | |
57
58
`data` 对象的 `tasks`:
59
60
| 字段 | 类型 | 内容 | 备注 |
61
| ------ | ---- | ---------- | ----------------------- |
62
| title | str | 任务描述 | |
63
| id | str | | |
64
| status | num | 任务状态 | 应该都是`1`:待领取奖励 |
65
| type | num | | 与 today_tasks 的一致 |
66
| amount | num | 可获取积分 | |
67
| ctime | str | 完成时间 | ISO 8601 |
68
69
`data` 对象的 `next`:
70
71
| 字段 | 类型 | 内容 | 备注 |
72
| ------------ | ---- | ---- | ---- |
73
| title | str | 空 | |
74
| amount | num | 0 | |
75
| gap_time | num | 0 | |
76
| current_time | num | 0 | |
77
78
`data` 对象的 `text`:
79
80
| 字段 | 类型 | 内容 | 备注 |
81
| ------------ | ---- | ------------ | ---- |
82
| notice | str | 赛季公告 | |
83
| clonckInRule | str | 赛季签到规则 | |
84
85
`data` 对象的 `announcement`:
86
87
| 字段 | 类型 | 内容 | 备注 |
88
| -------- | ---- | ----- | ---- |
89
| title | str | 空 | |
90
| jump_url | str | 空 | |
91
| enable | bool | false | |
92
93
`data` 对象的 `point_rate`:
94
95
| 字段 | 类型 | 内容 | 备注 |
96
| ------------- | ---- | ---- | ---- |
97
| sign_in | num | 0 | |
98
| game | num | 0 | |
99
| daily_mission | num | 0 | |
100
| week_mission | num | 0 | |
101
102
`data` 对象的 `lottery`:
103
104
| 字段 | 类型 | 内容 | 备注 |
105
| ---------------------- | ---- | ------------ | ---- |
106
| lottery_act_id | str | '0' | |
107
| enable_lottery | bool | 是否开启抽奖 | |
108
| lottery_id | str | '0' | |
109
| advance_lottery_act_id | str | '0' | |
110
| advance_pool_id | str | '0' | |
111
112
`data` 对象的 `season_clock_in`:
113
114
| 字段 | 类型 | 内容 | 备注 |
115
| ----------------- | ---- | ---------------- | ---- |
116
| is_super_luck | bool | | |
117
| draw_luck_time | str | | |
118
| prize_type | num | | |
119
| prize_title | str | | |
120
| add_up_sign | num | 赛季连续签到天数 | |
121
| title | str | 签到标题 | |
122
| sign_old_amount | num | | |
123
| preluck_amount | num | | |
124
| continuous_days | num | 连续签到天数 | |
125
| address_id | str | | |
126
| has_super_prize | bool | | |
127
| subtitle | str | 签到子标题 | |
128
| prize_image | str | | |
129
| prize_target_days | num | | |
130
| prize_amount | num | | |
131
| tomorrow_amount | num | 明日签到积分 | |
132
| entrance_tag | str | | |
133
134
`data` 对象的 `today_tasks`:
135
136
| 字段 | 类型 | 内容 | 备注 |
137
| ---------- | ---------- | ------------ | ------------------------------------------- |
138
| type | num | | |
139
| title | str | 任务标题 | 可能为空字符串 |
140
| amount | num | 可获得积分 | |
141
| status | num | 完成状态 | 0:未完成<br />1:待领取奖励<br />2:已完成 |
142
| duration | num | 耗时(分) | 直接完成的为 0 |
143
| comics | comic 数组 | 任务指定漫画 | 仅`type=22`时有内容,所有账号是一致的 |
144
| page_url | str | 空 | |
145
| progress | num | 已完成进度 | |
146
| sub_id | num | | `type` 一致时有效 |
147
| share_type | num | `0` | |
148
149
`today_tasks`对象的 `comics`:
150
151
| 字段 | 类型 | 内容 | 备注 |
152
| -------------- | -------- | -------- | ---- |
153
| comic_id | num | 漫画 id | |
154
| title | str | 漫画名称 | |
155
| vertical_cover | str | 漫画封面 | |
156
| styles | str 数组 | 漫画类型 | |
157
158
`data` 对象的 `welfare`:
159
160
| 字段 | 类型 | 内容 | 备注 |
161
| --------------- | ---- | ------------ | --------------------------------------------------------- |
162
| type | num | 奖励类型 | 200-限免卡<br/>202-漫读券<br/>203-优惠券<br/>205-最终宝箱 |
163
| success | num | 兑换状态 | 0-未兑换<br/>2-已兑换 |
164
| exchange_amount | num | 积分消耗 | |
165
| boss_welfare | bool | 最终奖励 | |
166
| boss_remain | num | 最终奖励剩余 | |
167
| rank | num | 顺序 | |
168
| title | str | 空 | |
169
| url | str | 空 | |
170
| kind_address_id | str | '0' | |
171
172
**示例:**
173
174
```bash
175
curl -X POST https://manga.bilibili.com/twirp/user.v1.Season/GetSeasonInfo
176
```
177
178
<details>
179
<summary>查看响应示例:</summary>
180
181
```json
182
{
183
"code": 0,
184
"msg": "",
185
"data": {
186
"current_time": "2022-11-30T15:12:00+08:00",
187
"start_time": "2022-11-14T00:00:00+08:00",
188
"end_time": "2022-12-11T23:59:00+08:00",
189
"remain_amount": 0,
190
"season_id": "35",
191
"tasks": [],
192
"welfare": [
193
{
194
"type": 200,
195
"success": 0,
196
"exchange_amount": 100,
197
"boss_welfare": false,
198
"boss_remain": 0,
199
"rank": 1,
200
"title": "",
201
"url": "",
202
"kind_address_id": "0"
203
},
204
// 中间的省略
205
{
206
"type": 205,
207
"success": 0,
208
"exchange_amount": 0,
209
"boss_welfare": true,
210
"boss_remain": 0,
211
"rank": 21,
212
"title": "",
213
"url": "",
214
"kind_address_id": "0"
215
}
216
],
217
"next": null,
218
"cover": "https://i0.hdslb.com/bfs/manga-static/b81fcd291cff74965b71d67e7df261de5790c2cd.png",
219
"today_tasks": [
220
{
221
"type": 18,
222
"title": "",
223
"amount": 20,
224
"status": 0,
225
"duration": 30,
226
"comics": [],
227
"page_url": "",
228
"progress": 0,
229
"sub_id": 1,
230
"share_type": 0
231
},
232
{
233
"type": 20,
234
"title": "",
235
"amount": 20,
236
"status": 0,
237
"duration": 3,
238
"comics": [],
239
"page_url": "",
240
"progress": 0,
241
"sub_id": 1,
242
"share_type": 0
243
},
244
{
245
"type": 22,
246
"title": "",
247
"amount": 50,
248
"status": 0,
249
"duration": 15,
250
"comics": [
251
{
252
"comic_id": 32190,
253
"title": "我的成就有点多",
254
"vertical_cover": "https://i0.hdslb.com/bfs/manga-static/efc403e323656fad24335aef007af5f318879597.png",
255
"styles": ["都市"]
256
},
257
{
258
"comic_id": 30538,
259
"title": "我知道你的秘密",
260
"vertical_cover": "https://i0.hdslb.com/bfs/manga-static/607f2c13afcf82ebba98f18213033d93bba7d58a.jpg",
261
"styles": ["悬疑"]
262
},
263
{
264
"comic_id": 25874,
265
"title": "桃花宝典",
266
"vertical_cover": "http://i0.hdslb.com/bfs/manga-static/bb1d33004af7dfbf197572cb9ef1c5fdd19e17a8.jpg",
267
"styles": ["都市"]
268
}
269
],
270
"page_url": "",
271
"progress": 0,
272
"sub_id": 1,
273
"share_type": 0
274
},
275
{
276
"type": 17,
277
"title": "阅读3分钟",
278
"amount": 10,
279
"status": 0,
280
"duration": 3,
281
"comics": [],
282
"page_url": "",
283
"progress": 0,
284
"sub_id": 1,
285
"share_type": 0
286
},
287
{
288
"type": 17,
289
"title": "阅读5分钟",
290
"amount": 10,
291
"status": 0,
292
"duration": 5,
293
"comics": [],
294
"page_url": "",
295
"progress": 0,
296
"sub_id": 2,
297
"share_type": 0
298
},
299
{
300
"type": 17,
301
"title": "阅读10分钟",
302
"amount": 20,
303
"status": 0,
304
"duration": 10,
305
"comics": [],
306
"page_url": "",
307
"progress": 0,
308
"sub_id": 3,
309
"share_type": 0
310
},
311
{
312
"type": 17,
313
"title": "阅读20分钟",
314
"amount": 40,
315
"status": 0,
316
"duration": 20,
317
"comics": [],
318
"page_url": "",
319
"progress": 0,
320
"sub_id": 4,
321
"share_type": 0
322
},
323
{
324
"type": 17,
325
"title": "阅读30分钟",
326
"amount": 60,
327
"status": 0,
328
"duration": 30,
329
"comics": [],
330
"page_url": "",
331
"progress": 0,
332
"sub_id": 5,
333
"share_type": 0
334
},
335
{
336
"type": 19,
337
"title": "每日首次玩猜拳",
338
"amount": 5,
339
"status": 0,
340
"duration": 1,
341
"comics": [],
342
"page_url": "",
343
"progress": 0,
344
"sub_id": 1,
345
"share_type": 0
346
},
347
{
348
"type": 1,
349
"title": "打开系统通知",
350
"amount": 5,
351
"status": 0,
352
"duration": 0,
353
"comics": [],
354
"page_url": "",
355
"progress": 0,
356
"sub_id": 0,
357
"share_type": 0
358
},
359
{
360
"type": 2,
361
"title": "设置个人偏好",
362
"amount": 5,
363
"status": 0,
364
"duration": 0,
365
"comics": [],
366
"page_url": "",
367
"progress": 0,
368
"sub_id": 0,
369
"share_type": 0
370
}
371
],
372
"text": null,
373
"season_clock_in": {
374
"is_super_luck": false,
375
"draw_luck_time": "",
376
"prize_type": 0,
377
"prize_title": "",
378
"add_up_sign": 0,
379
"title": "",
380
"sign_old_amount": 0,
381
"preluck_amount": 0,
382
"continuous_days": 0,
383
"address_id": "0",
384
"has_super_prize": false,
385
"subtitle": "",
386
"prize_image": "",
387
"prize_target_days": 0,
388
"prize_amount": 0,
389
"tomorrow_amount": 0,
390
"entrance_tag": ""
391
},
392
"announcement": null,
393
"lottery": {
394
"lottery_act_id": "0",
395
"enable_lottery": true,
396
"lottery_id": "0",
397
"advance_lottery_act_id": "0",
398
"advance_pool_id": "0"
399
},
400
"mission_point_rate": 0,
401
"season_title": "初冬赛季",
402
"point_rate": { "sign_in": 0, "game": 0, "daily_mission": 0, "week_mission": 0 },
403
"rank": { "is_visible": false }
404
}
405
}
406
```
407
408
</details>
409
410
## 赛季奖励领取
411
412
> https://manga.bilibili.com/twirp/user.v1.Season/TakeSeasonGifts
413
414
_请求方式:POST_
415
416
认证方式:Cookie(SESSDATA)/ APP
417
418
**正文参数( application/x-www-form-urlencoded ):**
419
420
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
421
| --------- | ---- | ------- | ------ | --------------- |
422
| season_id | num | 赛季 id | 必要 | 必须为本赛季 id |
423
424
**json 回复:**
425
426
根对象:
427
428
| 字段 | 类型 | 内容 | 备注 |
429
| ---- | ---- | -------- | ---- |
430
| code | num | 返回值 | |
431
| msg | str | 错误信息 | |
432
433
`code` - `msg` 对照表:
434
435
| code | msg | 备注 |
436
| ---- | ------------------------------------ | ---------------------------- |
437
| 0 | | 领取成功 |
438
| 2 | 当前没有正在进行的赛季,无法兑换奖励 | season_id 字段不正确 |
439
| 7 | 任务已领取或者未完成 | 没有已经完成的 `today_tasks` |