# 漫画赛季 - [漫画赛季](#漫画赛季) - [获取赛季信息](#获取赛季信息) - [赛季奖励领取](#赛季奖励领取) _漫画赛季仅在 app 端可见,但可以使用 Cookie 鉴权_ ## 获取赛季信息 > https://manga.bilibili.com/twirp/user.v1.Season/GetSeasonInfo _请求方式:POST_ 接口不鉴权可查看基本信息,鉴权后可查看赛季个人信息和赛季规则。 认证方式:Cookie(SESSDATA)/ APP **json 回复:** 根对象: | 字段 | 类型 | 内容 | 备注 | | ---- | ---- | -------- | ---- | | code | num | 返回值 | | | msg | str | 错误信息 | | | data | obj | 信息本体 | | `data` 对象: | 字段 | 类型 | 内容 | 备注 | | ------------------ | ----- | ------------------ | -------------------------- | | current_time | str | 当前时间字符串 | ISO 8601 | | start_time | str | 赛季开始 | ISO 8601 | | end_time | str | 赛季结束 | ISO 8601 | | remain_amount | num | 拥有积分 | 未登录为 `0` | | season_id | str | 第几个赛季 | | | tasks | array | 待领取奖励的任务 | 未登录/没有可领取时为 `[]` | | welfare | array | 赛季奖励 | | | next | obj | 未知 | 未登录为 `null` | | cover | str | 版头图片 | | | today_tasks | array | 今日的任务完成情况 | | | text | obj | 赛季相关文案 | 未登录为 `null` | | season_clock_in | obj | | | | announcement | obj | 未知 | 未登录为 `null` | | lottery | obj | | | | mission_point_rate | str | | | | season_title | str | 赛季标题 | | | point_rate | obj | | | | rank | obj | | | `data` 对象的 `rank`: | 字段 | 类型 | 内容 | 备注 | | ---------- | ---- | ----- | ---- | | is_visible | bool | false | | `data` 对象的 `tasks`: | 字段 | 类型 | 内容 | 备注 | | ------ | ---- | ---------- | ----------------------- | | title | str | 任务描述 | | | id | str | | | | status | num | 任务状态 | 应该都是`1`:待领取奖励 | | type | num | | 与 today_tasks 的一致 | | amount | num | 可获取积分 | | | ctime | str | 完成时间 | ISO 8601 | `data` 对象的 `next`: | 字段 | 类型 | 内容 | 备注 | | ------------ | ---- | ---- | ---- | | title | str | 空 | | | amount | num | 0 | | | gap_time | num | 0 | | | current_time | num | 0 | | `data` 对象的 `text`: | 字段 | 类型 | 内容 | 备注 | | ------------ | ---- | ------------ | ---- | | notice | str | 赛季公告 | | | clonckInRule | str | 赛季签到规则 | | `data` 对象的 `announcement`: | 字段 | 类型 | 内容 | 备注 | | -------- | ---- | ----- | ---- | | title | str | 空 | | | jump_url | str | 空 | | | enable | bool | false | | `data` 对象的 `point_rate`: | 字段 | 类型 | 内容 | 备注 | | ------------- | ---- | ---- | ---- | | sign_in | num | 0 | | | game | num | 0 | | | daily_mission | num | 0 | | | week_mission | num | 0 | | `data` 对象的 `lottery`: | 字段 | 类型 | 内容 | 备注 | | ---------------------- | ---- | ------------ | ---- | | lottery_act_id | str | '0' | | | enable_lottery | bool | 是否开启抽奖 | | | lottery_id | str | '0' | | | advance_lottery_act_id | str | '0' | | | advance_pool_id | str | '0' | | `data` 对象的 `season_clock_in`: | 字段 | 类型 | 内容 | 备注 | | ----------------- | ---- | ---------------- | ---- | | is_super_luck | bool | | | | draw_luck_time | str | | | | prize_type | num | | | | prize_title | str | | | | add_up_sign | num | 赛季连续签到天数 | | | title | str | 签到标题 | | | sign_old_amount | num | | | | preluck_amount | num | | | | continuous_days | num | 连续签到天数 | | | address_id | str | | | | has_super_prize | bool | | | | subtitle | str | 签到子标题 | | | prize_image | str | | | | prize_target_days | num | | | | prize_amount | num | | | | tomorrow_amount | num | 明日签到积分 | | | entrance_tag | str | | | `data` 对象的 `today_tasks`: | 字段 | 类型 | 内容 | 备注 | | ---------- | ---------- | ------------ | ------------------------------------------- | | type | num | | | | title | str | 任务标题 | 可能为空字符串 | | amount | num | 可获得积分 | | | status | num | 完成状态 | 0:未完成
1:待领取奖励
2:已完成 | | duration | num | 耗时(分) | 直接完成的为 0 | | comics | comic 数组 | 任务指定漫画 | 仅`type=22`时有内容,所有账号是一致的 | | page_url | str | 空 | | | progress | num | 已完成进度 | | | sub_id | num | | `type` 一致时有效 | | share_type | num | `0` | | `today_tasks`对象的 `comics`: | 字段 | 类型 | 内容 | 备注 | | -------------- | -------- | -------- | ---- | | comic_id | num | 漫画 id | | | title | str | 漫画名称 | | | vertical_cover | str | 漫画封面 | | | styles | str 数组 | 漫画类型 | | `data` 对象的 `welfare`: | 字段 | 类型 | 内容 | 备注 | | --------------- | ---- | ------------ | --------------------------------------------------------- | | type | num | 奖励类型 | 200-限免卡
202-漫读券
203-优惠券
205-最终宝箱 | | success | num | 兑换状态 | 0-未兑换
2-已兑换 | | exchange_amount | num | 积分消耗 | | | boss_welfare | bool | 最终奖励 | | | boss_remain | num | 最终奖励剩余 | | | rank | num | 顺序 | | | title | str | 空 | | | url | str | 空 | | | kind_address_id | str | '0' | | **示例:** ```bash curl -X POST https://manga.bilibili.com/twirp/user.v1.Season/GetSeasonInfo ```
查看响应示例: ```json { "code": 0, "msg": "", "data": { "current_time": "2022-11-30T15:12:00+08:00", "start_time": "2022-11-14T00:00:00+08:00", "end_time": "2022-12-11T23:59:00+08:00", "remain_amount": 0, "season_id": "35", "tasks": [], "welfare": [ { "type": 200, "success": 0, "exchange_amount": 100, "boss_welfare": false, "boss_remain": 0, "rank": 1, "title": "", "url": "", "kind_address_id": "0" }, // 中间的省略 { "type": 205, "success": 0, "exchange_amount": 0, "boss_welfare": true, "boss_remain": 0, "rank": 21, "title": "", "url": "", "kind_address_id": "0" } ], "next": null, "cover": "https://i0.hdslb.com/bfs/manga-static/b81fcd291cff74965b71d67e7df261de5790c2cd.png", "today_tasks": [ { "type": 18, "title": "", "amount": 20, "status": 0, "duration": 30, "comics": [], "page_url": "", "progress": 0, "sub_id": 1, "share_type": 0 }, { "type": 20, "title": "", "amount": 20, "status": 0, "duration": 3, "comics": [], "page_url": "", "progress": 0, "sub_id": 1, "share_type": 0 }, { "type": 22, "title": "", "amount": 50, "status": 0, "duration": 15, "comics": [ { "comic_id": 32190, "title": "我的成就有点多", "vertical_cover": "https://i0.hdslb.com/bfs/manga-static/efc403e323656fad24335aef007af5f318879597.png", "styles": ["都市"] }, { "comic_id": 30538, "title": "我知道你的秘密", "vertical_cover": "https://i0.hdslb.com/bfs/manga-static/607f2c13afcf82ebba98f18213033d93bba7d58a.jpg", "styles": ["悬疑"] }, { "comic_id": 25874, "title": "桃花宝典", "vertical_cover": "http://i0.hdslb.com/bfs/manga-static/bb1d33004af7dfbf197572cb9ef1c5fdd19e17a8.jpg", "styles": ["都市"] } ], "page_url": "", "progress": 0, "sub_id": 1, "share_type": 0 }, { "type": 17, "title": "阅读3分钟", "amount": 10, "status": 0, "duration": 3, "comics": [], "page_url": "", "progress": 0, "sub_id": 1, "share_type": 0 }, { "type": 17, "title": "阅读5分钟", "amount": 10, "status": 0, "duration": 5, "comics": [], "page_url": "", "progress": 0, "sub_id": 2, "share_type": 0 }, { "type": 17, "title": "阅读10分钟", "amount": 20, "status": 0, "duration": 10, "comics": [], "page_url": "", "progress": 0, "sub_id": 3, "share_type": 0 }, { "type": 17, "title": "阅读20分钟", "amount": 40, "status": 0, "duration": 20, "comics": [], "page_url": "", "progress": 0, "sub_id": 4, "share_type": 0 }, { "type": 17, "title": "阅读30分钟", "amount": 60, "status": 0, "duration": 30, "comics": [], "page_url": "", "progress": 0, "sub_id": 5, "share_type": 0 }, { "type": 19, "title": "每日首次玩猜拳", "amount": 5, "status": 0, "duration": 1, "comics": [], "page_url": "", "progress": 0, "sub_id": 1, "share_type": 0 }, { "type": 1, "title": "打开系统通知", "amount": 5, "status": 0, "duration": 0, "comics": [], "page_url": "", "progress": 0, "sub_id": 0, "share_type": 0 }, { "type": 2, "title": "设置个人偏好", "amount": 5, "status": 0, "duration": 0, "comics": [], "page_url": "", "progress": 0, "sub_id": 0, "share_type": 0 } ], "text": null, "season_clock_in": { "is_super_luck": false, "draw_luck_time": "", "prize_type": 0, "prize_title": "", "add_up_sign": 0, "title": "", "sign_old_amount": 0, "preluck_amount": 0, "continuous_days": 0, "address_id": "0", "has_super_prize": false, "subtitle": "", "prize_image": "", "prize_target_days": 0, "prize_amount": 0, "tomorrow_amount": 0, "entrance_tag": "" }, "announcement": null, "lottery": { "lottery_act_id": "0", "enable_lottery": true, "lottery_id": "0", "advance_lottery_act_id": "0", "advance_pool_id": "0" }, "mission_point_rate": 0, "season_title": "初冬赛季", "point_rate": { "sign_in": 0, "game": 0, "daily_mission": 0, "week_mission": 0 }, "rank": { "is_visible": false } } } ```
## 赛季奖励领取 > https://manga.bilibili.com/twirp/user.v1.Season/TakeSeasonGifts _请求方式:POST_ 认证方式:Cookie(SESSDATA)/ APP **正文参数( application/x-www-form-urlencoded ):** | 参数名 | 类型 | 内容 | 必要性 | 备注 | | --------- | ---- | ------- | ------ | --------------- | | season_id | num | 赛季 id | 必要 | 必须为本赛季 id | **json 回复:** 根对象: | 字段 | 类型 | 内容 | 备注 | | ---- | ---- | -------- | ---- | | code | num | 返回值 | | | msg | str | 错误信息 | | `code` - `msg` 对照表: | code | msg | 备注 | | ---- | ------------------------------------ | ---------------------------- | | 0 | | 领取成功 | | 2 | 当前没有正在进行的赛季,无法兑换奖励 | season_id 字段不正确 | | 7 | 任务已领取或者未完成 | 没有已经完成的 `today_tasks` |