XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/bilibili-API-collect

Create Season.md 漫画赛季 (#539)

* Create season.md * Create Season.md * Update README.md * Update Season.md

4a63471
OceanJiang <catlair@qq.com>
提交于

代码差异

2 个文件 +440 -0
Modified README.md +1 -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)
Added manga/Season.md +439 -0
@@ -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` |