1219 Commits

Author SHA1 Message Date
Majjcom cfc5fddcc8 feat: 补充视频流AI原声翻译字段信息 (#1449)
* feat: 补充视频流AI原声翻译字段信息

Added 'cur_language' and 'language' fields for AI voice translation support.

* fix: 修改cur_language字段描述

* feat: 添加AI原声翻译相关的响应示例

* fix: 更新请求不支持AI原声翻译视频的响应示例
2026-01-23 01:35:53 +08:00
派大星 c175a44bf4 refactor: 迁移直播间历史弹幕接口至 danmaku.md (#1444)
* Document API for fetching history danmaku

Add documentation for fetching live room history danmaku.

* Update info.md

* Update danmaku.md

* fix:修复了因翻译插件导致的一个小bug
2026-01-21 22:53:43 +08:00
Session小胡 4f7ff61ca7 refactor(vuepress-deploy.yml): use classical page deployment (#1450)
* refactor(vuepress-deploy.yml): use classical page deployment

* fix(vuepress-deploy.yml): typo
2026-01-19 12:34:08 +08:00
watermelon 8b3532b442 feat/增加 b23.tv 短链类型 (#1440)
* feat: update b23.tv short link type

* feat: add share_origin choices

* feat: add opus type

same as dynamic
2026-01-12 02:55:45 +08:00
Sheep-realms bae574a1a9 更改一些视频相关字段的描述 (#1432)
* Update is_story and is_story_play descriptions

* Clarify 'is_self_view' field description

Updated the description for the 'is_self_view' field to clarify its purpose.

* Update is_view_self description in info.md

* Add new copyright type to video info documentation

* Update copyright field options in space.md

* Update copyright field options in history.md

* Update copyright field options in toview.md
2026-01-12 02:54:42 +08:00
huanli233 0bf5dd275a feat: Revise features parameter and add fallback details (#1429)
Updated the description of the 'features' parameter and added fallback object details.
2026-01-12 02:54:12 +08:00
clelele 381c503ed2 chore: “play_icon 数组中的对象中 properties 对象中的额外字段:”这段话出现了两次,但其实第二个应该是skin 数组而不是play_icon 数组,名称写错了 (#1428) 2025-11-17 00:06:42 +08:00
A81N9 32e3575ec2 feat: 补充分页描述 (#1422) 2025-11-17 00:03:46 +08:00
welcomeworld ebfb75c23f 添加剧集索引api (#1414)
* Create season_index.md

添加剧集索引

* Update README.md

添加剧集索引
2025-11-17 00:02:38 +08:00
SpenserCai 6d9f64afb3 Add rust-video-downloader to project list (#1423) 2025-11-17 00:01:18 +08:00
Sheep-realms 18bd4b22c5 补充评论数据中 reply_control 对象中的字段 (#1424)
`reply_control` 对象新增了 `max_line` 和 `support_share` 字段
2025-11-06 19:37:56 +08:00
pskdje 2a98d651fa 添加粉丝为主播切回放相关接口 (#1419) 2025-10-21 09:23:38 +08:00
cqrect 15b325637c 补充AI摘要字幕相关内容 (#1406)
* AI总结补充字幕相关内容

* remove unintended changes

---------

Co-authored-by: z0z0r4 <z0z0r4@outlook.com>
2025-10-01 14:45:21 +08:00
z0z0r4 47be3f206f Merge pull request #1400 from z0z0r4/master
HDR Vivid video stream
2025-09-22 22:47:03 +08:00
z0z0r4 a9586685f8 Merge pull request #1374 from pskdje/patch-live-beta1
更新直播回放接口和直播信息流,添加直播投票和直播数据文档
2025-09-19 11:32:36 +08:00
xjbeta 3299dde4c8 fix(doc/misc/sign/wbi.md): swift demo (#1389)
(cherry picked from commit 6eb04ea636f2d38303471dec6e98c4a740024beb)
2025-09-16 22:59:14 +08:00
linyuansup f73870b0b3 Revise 'data' section in list.md documentation (#1402)
Updated the structure of the 'data' section in the documentation.
2025-09-16 22:58:27 +08:00
Sheep-realms d980eaaa4d 补充关于 DYNAMIC_TYPE_MUSIC 动态类型的信息 (#1398)
* 补充关于 DYNAMIC_TYPE_MUSIC 动态类型的信息

* 补充参考动态
2025-09-14 23:04:41 +08:00
Roberta001 08f55db75a 补充PC直播姬APPKEY (#1395) 2025-09-12 21:10:05 +08:00
pskdje 1ddec4061a 添加 直播数据 和 直播投票 链接 2025-09-01 04:38:05 +08:00
pskdje db6215218b 添加 直播投票 文档
添加接口:
- 查询投票信息
- 查询投票历史
- 创建直播投票
- 中断直播投票
2025-09-01 04:24:53 +08:00
pskdje 77a86f7585 直播回放接口添加因警告导致的变化 2025-08-31 02:02:11 +08:00
z0z0r4 f1001353f8 feat: 补充直播间视频流 qn 信息 (#1385) 2025-08-29 15:07:29 +08:00
pskdje bdc05a371b 创建“直播数据”文档
添加“获取直播场次的直播数据”接口
添加“获取直播表现”接口
2025-08-22 18:45:07 +08:00
Session小胡 afc4349247 merge: pull request #1242 from SessionHu/master
feat: 专栏动态图文相关接口整理更新
2025-08-16 08:24:23 +08:00
pskdje 4c2e839675 添加和更新直播信息流文档
更新记录: https://github.com/pskdje/bilibili-API-collect/pull/8

---

* 清除多余空白符

* 添加和调整信息流code,修复房管列表数据错误

1002002 来自对信息流地址获取的roomid参数传递 undefined 得出

* 添加 WIDGET_GIFT_STAR_PROCESS

* 添加 PLAYURL_RELOAD

* 添加 LIVE_MULTI_VIEW_NEW_INFO

* 添加 UNIVERSAL_EVENT_GIFT 和 UNIVERSAL_EVENT_GIFT_V2

* 更新 COMMON_NOTICE_DANMAKU

* 添加 POPULAR_RANK_GUIDE_CARD

* 更新 DANMU_MSG

* 添加 INTERACT_WORD_V2 和 ONLINE_RANK_V3

* 更新 ONLINE_RANK_COUNT
2025-08-12 22:00:31 +08:00
SessionHu 9aa1a8165b feat(dynamic/detail.md): add forward dynamic detail
close #1356
2025-08-12 17:55:01 +08:00
pskdje 4a6143012c 添加和更新直播回放接口
变更信息参见: https://github.com/SocialSisterYi/bilibili-API-collect/issues/1361
2025-08-08 14:33:17 +08:00
TeAnli 268b4cfe10 feat: 添加各分区轮播图 (#1372)
* feat: 添加各分区轮播图与封面主色调获取API

* fix: 删除新增的主色调API代码,导向至图片格式化
2025-08-06 20:09:43 +08:00
晨叶梦春 344d010b7b fix(login/member_center): missing quotation mark 2025-08-06 18:58:48 +08:00
晨叶梦春 56cf6fa306 fix(login/member_center): missing quotation mark 2025-08-06 18:57:54 +08:00
Roberta001 a245b8189e 更新开始直播 api 鉴权和更新直播姬版本号获取接口 (#1351)
* Update manage.md

* Update manage.md

* Update manage.md

* Update manage.md

* Update manage.md

* Update manage.md

* Update manage.md

* Update manage.md

* Update manage.md

* Update manage.md

* style: format

适当加上空格观感好点

---------

Co-authored-by: z0z0r4 <z0z0r4@outlook.com>
2025-08-06 18:51:35 +08:00
renmu123 80b96eeebd 补充获取直播纯音频流 (#1344)
* feat: 补充上传稿件和合集相关接口

* 补充新分新区的细节

* 补充直播获取音频流
2025-08-06 18:50:40 +08:00
Sudsier 40896a7432 调整了合集标题的描述 (#1371)
* Update info.md

修改了合集标题的描述

* 修改了合集视频标题的描述

* 修改了合集视频标题的描述

* 修改了合集视频标题的描述

* 修改了合集视频标题的描述
2025-08-06 18:46:54 +08:00
SessionHu a8c58a6234 feat(dynamic/topic.md): add topic details 2025-07-26 11:29:08 +08:00
SessionHu 5908767912 feat(dynamic/topic.md): topic feed for app h5 2025-07-26 11:07:08 +08:00
SessionHu ce38efb3a3 feat(dynamic/topic.md): is_existed
close #1357
2025-07-26 10:57:51 +08:00
SessionHu 5b877eb752 feat(dynamic/all.md): common.badge 2025-07-26 10:09:15 +08:00
SessionHu 23b492044c feat(dynamic/card_info.md): add type=2048
close #1337
2025-07-26 09:51:29 +08:00
SessionHu 05fbbce54f feat(dynamic): update get_dynamic_detail 2025-07-26 09:24:54 +08:00
SessionHu 9a1ef7f9c0 feat(dynamic/topic.md): update with topic feed 2025-07-25 11:24:32 +08:00
SessionHu 1def9554d4 feat(dynamic/detail.md): detail pic
close #1303
2025-07-23 09:49:59 +08:00
SessionHu 955efaa948 feat(dynamic/detail.md): add dynamic forward list
close #1343
2025-07-22 12:12:39 +08:00
SessionHu 01cfdd46f0 feat: add mathjax tex
close #1302
2025-07-22 11:10:41 +08:00
SessionHu 88bc2ea943 feat(misc/picture.md): update bfs domains 2025-07-22 11:07:33 +08:00
骑着老王闯天下 e99f64c9b5 feat: 更新用户空间详细信息的认证方式 (#1336)
* 更新用户空间详细信息的认证方式

* update

* 更改表述

* update

* Update info.md

* Update docs/user/info.md

Co-authored-by: Session小胡 <102411014+SessionHu@users.noreply.github.com>

---------

Co-authored-by: Session小胡 <102411014+SessionHu@users.noreply.github.com>
2025-07-21 17:13:02 +08:00
SessionHu ad82eb0385 feat(dynamic/publish.md): update create dyn
close #1283
2025-07-21 12:54:02 +08:00
SessionHu 2397caa7f9 feat(dynamic/publish.md): update upload_bfs 2025-07-20 16:51:15 +08:00
SessionHu 69afaf047d feat: add username to mid
close #1300
2025-07-20 15:48:31 +08:00
SessionHu 9b7f98d06f feat(opus): add detail.md to index 2025-07-20 15:28:30 +08:00
SessionHu faff08d8bc feat(dynamic): MAJOR_TYPE_UPOWER_COMMON 2025-07-20 15:14:13 +08:00
SessionHu 141d2afa9d feat(opus/features.md): add onlyfansQaCard & avatarAutoTheme desc 2025-07-20 12:45:19 +08:00
SessionHu d50f036510 feat(opus/detail.md): add opus detail api
close #859
2025-07-20 11:39:04 +08:00
SessionHu 6ba37211a3 feat(opus/features): finished module_content 2025-07-16 11:32:59 +08:00
SessionHu e409b2f4f4 feat(opus/features.md): add live & item_null link card types 2025-07-16 09:14:28 +08:00
SessionHu 939910a082 feat(opus/features.md): add music card type 2025-07-16 09:03:24 +08:00
SessionHu cce74d86d7 feat(opus/features.md): add opus card type 2025-07-15 22:13:31 +08:00
SessionHu 0721e41a37 feat(dynamic&opus): module_content upower_lottery 2025-07-15 09:21:41 +08:00
SessionHu dd1165d573 feat(dynamic&opus): card match 2025-07-14 09:33:46 +08:00
Session小胡 2eae485e99 JSONC highlighting & Upgrade VuePress (#1091)
* chore: upgrade vuepress & jsonc highlight

* fix: broken links & wrong code type

* chore: test for github action

* chore(vuepress-deploy.yml): node 20

* fix(config.js): missing favicon

* fix: try to fix memory limit

* chore(vuepress-deploy.yml): remove running repo detection

* chore: use github action workflows directly

* fix(vuepress-deploy.yml): use '&&' not '&'

* fix(vuepress-deploy.yml): contributors

* feat: remove extra emojis

* feat(CONTRIBUTING.md): remove extra emojis

* feat(README.md): remove extra emoji

* fix(live/message_stream.md): missing end tags

* fix: plain text highlight

* chore: upgrade

* chore: upgrade

* chore: upgrade vuepress to 2.0.0-rc.21

* chore: upgrade vuepress to 2.0.0-rc.23

* chore: upgrade vuepress to 2.0.0-rc.24

* chore: upgrade github action node version to 22
2025-07-14 07:12:56 +08:00
pskdje 2ecfe2aa82 添加直播信息流和开关播的强制需求 (#1323)
直播信息流: buvid3
开关播:
- 平台标识修改
- 关播强制需要平台
- 添加返回值
- 修改示例和提示
2025-07-14 06:58:17 +08:00
nine_days 719bf8ee98 关于视频流URL的新发现&修复 (#1333)
* gaia_source发现新值;修复了某个字符串
2025-07-14 06:58:05 +08:00
renmu123 73a2d98796 补充上传稿件和合集相关接口 (#1315)
* feat: 补充上传稿件和合集相关接口

* 补充新分新区的细节
2025-07-14 06:57:26 +08:00
SessionHu 378d84cad4 fix(opus/features.md): link_card 2025-07-13 22:34:46 +08:00
Session小胡 c4b1347aea feat(login/member_center.md): moral list fields
close #922
2025-07-13 19:23:56 +08:00
SessionHu 1dded05d61 feat: link_card in module_content 2025-07-13 13:50:08 +08:00
SessionHu 24b971356e feat(opus/features.md): MODULE_TYPE_BOTTOM 2025-07-12 13:07:59 +08:00
SessionHu ec9cf7df8e feat(opus/features.md): MODULE_TYPE_EXTEND 2025-07-12 12:13:36 +08:00
SessionHu a14c72b55a feat(opus/features.md): MODULE_TYPE_COLLECTION 2025-07-12 11:48:48 +08:00
SessionHu f75123bb16 feat(opus/features.md): module_content add para_type desc 2025-07-12 11:18:50 +08:00
SessionHu b95b67915e fix(ops/rich_text_nodes.md): heading level 2025-07-12 10:23:59 +08:00
SessionHu 3a0a0a5dc4 feat(dynamic): merge topic & tag_dynamic 2025-07-11 21:00:29 +08:00
SessionHu e53534619b feat: MODULE_TYPE_TOPIC 2025-07-08 22:10:36 +08:00
SessionHu 1f4ab2e0f8 feat(README.md): add rich_text_node.md 2025-07-08 11:46:11 +08:00
SessionHu 64a0be0cf4 Merge branch 'master' of https://github.com/SocialSisterYi/bilibili-API-collect 2025-07-08 11:10:50 +08:00
SessionHu 316c556bb5 feat(opus/features.md): MODULE_TYPE_CONTENT 2025-07-08 11:09:20 +08:00
SessionHu 45ecbeda36 feat: rich text nodes for opus or dynamic 2025-07-08 11:08:21 +08:00
晨叶梦春 3a1c463bf1 fix(message): #1329 2025-07-04 19:13:03 +08:00
z0z0r4 c923eab77c Merge pull request #1326 from jiudays/master
视频流更新了一个半必要值
2025-06-29 13:28:47 +08:00
z0z0r4 adb8a54363 fix: typo 2025-06-29 13:28:28 +08:00
jiudays a889fc0602 我是傻逼 2025-06-29 09:12:30 +08:00
jiudays 58cab7ad54 补充-2(((((( 2025-06-29 08:35:28 +08:00
jiudays d6a85a1a1f 补充 2025-06-29 08:04:33 +08:00
jiudays 96efa14f42 噼里啪啦更新了一个必要值 2025-06-29 07:55:36 +08:00
z0z0r4 bcbe0f0ea5 Merge pull request #1322 from SocialSisterYi/z0z0r4-patch-1
更新关闭直播的参数
2025-06-28 16:55:44 +08:00
z0z0r4 daf323bbd6 Update manage.md 2025-06-28 16:54:21 +08:00
z0z0r4 29dbf5f264 Update manage.md 2025-06-28 16:13:43 +08:00
pskdje 438425a282 更新直播间管理,添加直播回放,更新直播信息流 (#1298)
* docs: 更新对直播间开播请求返回的字段的描述及备注

* fix: 修改错误的 `pflag` 说明

* 添加直播回放相关接口

添加记录: https://github.com/pskdje/bilibili-API-collect/pull/6

* feat:添加 直播回放 链接

* feat: 给L1163添加code值,添加移动端片段发布页面

添加投稿直播回放的code
给直播回放片段发布页面添加移动端的链接

* feat: 添加和更新直播信息流cmd

部分信息来着: https://github.com/SocialSisterYi/bilibili-API-collect/issues/1220

- 调整弹幕info[0][15]某个代码块的语言信息
- 添加交互合并的101和103类型
* 添加GOTO_BUY_FLOW和HOT_BUY_NUM
* 添加WEALTH_NOTIFY
* 添加VOICE_JOIN_SWITCH
* 添加USER_PANEL_RED_ALARM和GIFT_BOARD_RED_DOT
* 添加 粉丝勋章 相关cmd
* 添加 WIDGET_WISH_INFO 信息
- 添加PLAYTOGETHER_ICON_CHANGE、FANS_CLUB_POKE_GIFT_NOTICE、master_qn_strategy_chg
* 添加和更新 用户进场特效
* 调整INTERACT_WORD相关文本

* feat: 更新获取信息流认证的参数,调整投稿直播回放片段

为 获取信息流认证秘钥 添加URL参数,同时更新示例
调整 投稿直播回放片段 的正文参数,为json回复加备注

* feat: 更新发送弹幕3个参数的描述

https://github.com/SocialSisterYi/bilibili-API-collect/issues/1236#issuecomment-2943228254

* feat: 调整直播回放部分参数的描述

re

* feat: 添加 预更新直播间信息 接口,调整开始直播的信息

关联issue: https://github.com/SocialSisterYi/bilibili-API-collect/issues/1310

开播接口的平台和pflag的关联写于 https://github.com/SocialSisterYi/bilibili-API-collect/discussions/1312
由于缺少测试资料,已放弃更新相关信息。

* feat: 修正冲突合并问题

莫生气,莫生气,生气没人心疼你,气了bug也还在。

---------

Co-authored-by: Pesy Wu <GamerNoTitle@outlook.com>
2025-06-26 17:45:58 +08:00
晨叶梦春 c9359d1987 feat(user/relation): no mtime in fans list when sorting by recommend algorithm 2025-06-22 19:12:09 +08:00
z0z0r4 13d0e6d3ea fix: 在视频流 fnval 补充 4048 信息 (#1316)
~~注意并不是 4096~~
2025-06-22 02:29:42 +08:00
m1saka 5149af0e70 feat:新增"回复我的"接口 /x/msgfeed/reply (#1309)
* feat:新增"回复我的"接口 /x/msgfeed/reply

* fix:  增加示例,修改格式

* fix: 修复格式

* fix: 使用真实返回示例,不脱敏
2025-06-22 02:29:20 +08:00
114514ns 2f48f6c81a 添加部分直播相关api (#1297)
* 添加部分直播相关api

* 添加部分直播相关接口

* 添加部分直播相关api
2025-06-22 02:28:52 +08:00
SessionHu ffba417582 fix(user/contract.md): missing ~ 2025-06-15 15:26:26 +08:00
言子楪世 34f5c70174 feat:格式化文件,完善app端获取短视频接口/x/v2/feed/index的内容,补充请求accessKey,响应中的横幅及热门视频场景 (#1243) 2025-06-01 13:56:03 +08:00
晨叶梦春 b4ff5399da Merge pull request #1173 from 7rikka/patch-38
更新:获取剧集明细(web端)(ssid/epid方式)
2025-06-01 13:44:29 +08:00
晨叶梦春 b6432c321f Merge pull request #1171 from Glyceryl6/master
docs/garb/lottery.md: 补充三个与装扮和收藏集相关的重要接口
2025-06-01 13:43:45 +08:00
晨叶梦春 7d5dfa0fbc Merge pull request #1125 from HankTheSniper/branch_241019
增加了模拟app点击获取短视频推荐列表接口,修改上次pr的错误表头
2025-06-01 13:33:21 +08:00
YumeMuzi b309712cf2 feat: 更新“获取直播间最近历史弹幕” (#1301) 2025-06-01 13:32:50 +08:00
晨叶梦春 23617955e2 Merge branch 'master' into branch_241019 2025-06-01 13:32:41 +08:00
晨叶梦春 516561fdb1 fix: style & make Cookie unnecessary 2025-06-01 13:30:54 +08:00
晨叶梦春 bf0ca39c49 fix(user/space): style 2025-06-01 13:16:13 +08:00
晨叶梦春 6b6d730302 Merge pull request #1117 from HankTheSniper/master
增加了一个无需wbi鉴权的用户投稿明细查询接口
2025-06-01 13:13:07 +08:00
晨叶梦春 438d1a76d5 fix(user/space): style 2025-06-01 13:12:30 +08:00
SessionHu 2eeda0f468 feat(CONTRIBUTING.md): 确认类型系统更改 2025-05-31 11:20:04 +08:00
SessionHu 867395b6d7 style(dynamic/publish.md): 初步规范化 2025-05-31 11:14:25 +08:00
晨叶梦春 16485141be Merge pull request #1150 from SYTDEBF/master
新增视频基本信息视频所在视频合集信息ugc_season
2025-05-31 10:48:38 +08:00
SYTDEBF f0e347076d 已更改为jsonc 2025-05-31 10:03:46 +08:00
SYTDEBF ba295a4b07 Merge branch 'SocialSisterYi:master' into master 2025-05-31 09:21:53 +08:00
SessionHu 7cf23c8765 feat(opus/features.md): add link to enum 2025-05-25 21:41:17 +08:00
SessionHu 1052ecf31f feat(dynamic/dynamic_enum.md): add h2 2025-05-25 21:40:48 +08:00
SessionHu db5c631586 feat: RICH_TEXT_NODE_TYPE_VIEW_PICTURE
close #1291
2025-05-25 13:58:48 +08:00
轩某Rikka 5865720b95 feat: 修改查询黑名单明细中的每页项数的备注 (#1118)
* [~] 修改查询黑名单明细中的每页项数的备注

* Update relation.md
2025-05-25 09:48:21 +08:00
watermelon d92d65bfcd feat: 补齐播放器接口的互动视频资讯 (#1244)
* feat: 补齐播放器接口的互动视频资讯

* feat: 更新互动视频的剧情图id取得方法

---------

Co-authored-by: Session小胡 <102411014+SessionHu@users.noreply.github.com>
2025-05-24 17:44:21 +08:00
SessionHu e635b72da4 feat(opus/features.md): add notes for module_type 2025-05-24 14:29:01 +08:00
SessionHu 3501590cc8 feat(opus/features.md): MODULE_TYPE_TITLE 2025-05-24 14:26:05 +08:00
SessionHu a32c1b3030 feat(opus/features.md): item_type when decorationCard for opus 2025-05-24 13:23:11 +08:00
晨叶梦春 70e1ba5ce0 Merge pull request #572 from sakurayang/master
增加了直播流水获取的接口
2025-05-21 01:47:53 +08:00
晨叶梦春 6d0a990ea9 fix(live_bill): style
Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-21 01:46:04 +08:00
晨叶梦春 d24b0f75d0 Merge branch 'master' into master 2025-05-21 01:37:20 +08:00
SessionHu ffcbff63a7 Merge branch 'master' of https://github.com/SocialSisterYi/bilibili-API-collect 2025-05-20 22:47:10 +08:00
晨叶梦春 01f86a3fea Merge pull request #1148 from ouzexi/master
[showcase] 提供一个基于 bilibili API collection 的成品项目
2025-05-20 22:24:50 +08:00
SessionHu 5d85e679a2 fix(dynamic/nav.md): broken link 2025-05-19 21:38:46 +08:00
SessionHu f9ab296c2d feat: opus MODULE_TYPE_STAT 2025-05-19 21:32:18 +08:00
z0z0r4 8096c2cc7a Merge pull request #1280 from pskdje/patch-live-manage-pre2
更新直播间管理文档,更新开关播响应信息
2025-05-17 21:24:03 +08:00
z0z0r4 f2604d12d0 Merge pull request #1275 from OPPO9008/patch-1
缺失features部分动态会报错500
2025-05-17 21:22:07 +08:00
SessionHu 429bd83bd9 feat(opus/features.md): features param editable 2025-05-17 14:59:32 +08:00
SessionHu 17c1891665 feat: dynamic module_more / opus module_author.more 2025-05-17 12:26:12 +08:00
z0z0r4 3cd6dfbd36 Merge pull request #1279 from wuziqian211/patch-1
fix: #1268 中的错误
2025-05-16 13:11:20 +08:00
pskdje 3a2c9ce62c 更新直播间管理文档,更新开关播响应信息
重命名  更新直播间标题 → 更新直播间信息
删除  编辑直播间标签

将“编辑直播间标签”的内容合并到“更新直播间信息”

https://github.com/SocialSisterYi/bilibili-API-collect/issues/1277
2025-05-16 11:32:59 +08:00
晨叶梦春 af1fdba398 fix(private_msg): missing end tags & wrong request method
Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-16 00:28:02 +08:00
z0z0r4 bae948f514 Merge pull request #1268 from wuziqian211/patch-1
feat: 添加消息设置以及其他接口的说明
2025-05-15 23:42:26 +08:00
晨叶梦春 ac79452058 fix(private_msg_content): invalid bold syntax 2025-05-15 23:26:25 +08:00
SessionHu 0fa30d2d60 feat(dynamic/detail.md): features desc & code 500 2025-05-15 22:58:16 +08:00
z0z0r4 844066e330 Merge pull request #1276 from Koril33/update_doc_quality_number
update: 更新视频清晰度标识-100-智能修复
2025-05-14 23:33:08 +08:00
SessionHu 0723846f78 Merge branch 'master' of https://github.com/SocialSisterYi/bilibili-API-collect 2025-05-14 15:01:09 +08:00
SessionHu b51bee0088 feat(opus/features.md): example from #1275 2025-05-14 14:55:44 +08:00
dingjinghui ad7fe656f7 update: 更新视频清晰度标识-100-智能修复 2025-05-14 11:53:12 +08:00
OPPO9008 450d38b557 Update detail.md
缺失features=itemOpusStyle部分动态会报错500
2025-05-13 15:55:55 +08:00
晨叶梦春 75d599714e feat(relation): add re_src details
Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-13 02:29:21 +08:00
晨叶梦春 5c4490354c feat(relation): add unread followers
Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-11 22:13:50 +08:00
Session小胡 4144fc9fcc fix(dynamic/action.md): typo
Co-authored-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-11 19:49:25 +08:00
Session小胡 9a0475c2fb fix(opus/space.md): typo
Co-authored-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-11 19:48:53 +08:00
晨叶梦春 c0120224eb fix(private_msg): add missing text 2025-05-11 13:28:34 +08:00
晨叶梦春 f3a09eeb65 fix(private_msg): some mistakes 2025-05-11 04:42:40 +08:00
晨叶梦春 1c5a07002b feat(private_msg): get msg dnd & intercept
Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-11 04:28:26 +08:00
晨叶梦春 73c4973af8 Merge branch 'master' into patch-1 2025-05-11 01:50:21 +08:00
SessionHu 0d45d0dd3d feat(opus/features.md): 装扮卡片信息内容完善 2025-05-10 16:01:22 +08:00
SessionHu 52ce780e09 fix(opus/features.md): wrong h1 2025-05-10 14:08:23 +08:00
SessionHu e227881860 fix(dynamic/nav.md): broken link 2025-05-10 14:01:41 +08:00
SessionHu 1d0bbc464c feat: docs/opus/features.md#MODULE_TYPE_AUTHOR 2025-05-10 13:54:06 +08:00
SessionHu eac4630a39 fix(dynamic/topic.md): broken commamd 2025-05-09 02:24:11 +08:00
SessionHu f9defd7bf7 fix(creativecenter/opus.md): missing command quote 2025-05-09 02:21:28 +08:00
晨叶梦春 f20ba59473 feat & fix(message/settings): add details
Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-08 23:58:37 +08:00
SessionHu 91dc5508fa feat(dynamic/topic.md): 推荐话题
close #1271
2025-05-08 22:29:12 +08:00
SessionHu d02be84dca style(opus/space.md): remove trailing space 2025-05-07 22:58:18 +08:00
SessionHu 11dee97976 feat: 取消置顶动态
close #1269
2025-05-07 20:00:34 +08:00
SessionHu 105dfe311a fix(dynamic/action.md): set_top needs buvid3 2025-05-07 18:06:03 +08:00
SessionHu 4d20caed1e feat: 置顶动态
close #1270
2025-05-07 13:56:21 +08:00
晨叶梦春 129dfeaf9a feat(README): tick checkboxes of private msg & msg settings
Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-07 01:52:09 +08:00
晨叶梦春 8d316f4cd0 feat(message): add details
Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-07 00:43:16 +08:00
SessionHu 44f77f1471 feat(dynamic/space.md): dm_img desc 2025-05-06 14:55:40 +08:00
z0z0r4 788fdb0b4d Merge pull request #1240 from stydxm/master
feat: 用户投稿视频明细新增参数
2025-05-06 12:52:51 +08:00
SessionHu c5211b8712 refactor(dynamic/space.md): update params and example 2025-05-05 21:54:47 +08:00
晨叶梦春 4553e3dd1b style & fix: improve docs
Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-05 19:40:38 +08:00
stydxm cfb297a9f4 fix: 乱码文字 2025-05-05 13:52:18 +08:00
晨叶梦春 6e817b97e8 feat(message/settings): get & add & del black words
Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-05 13:31:37 +08:00
晨叶梦春 fecc790b9e feat(message/settings): set & delete auto reply text
Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-05 13:13:56 +08:00
晨叶梦春 5d35126f81 feat(message/settings): get auto reply text
Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-05 12:31:20 +08:00
晨叶梦春 e07ef4cbde fix(message/settings): type error
Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-05 12:04:27 +08:00
晨叶梦春 11559a3291 feat(message/settings): #1267 2025-05-05 04:58:49 +08:00
晨叶梦春 20ebf795b0 style(private_msg): add session & message category 2025-05-05 04:58:04 +08:00
晨叶梦春 5df6ad22be feat(message/settings): add get user setting
Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-05 04:24:58 +08:00
晨叶梦春 8150bb7be6 feat(message/settings): show create group icon 2025-05-05 03:49:19 +08:00
晨叶梦春 0ba4aef40a feat(message/settings): add get sys setting
Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-05 03:40:17 +08:00
晨叶梦春 e7ff12f04e style(message): wrap URL with brackets & replace tabs with spaces 2025-05-05 02:58:39 +08:00
晨叶梦春 4c8b0f9ddb fix(relation): typo
Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-05 02:51:08 +08:00
晨叶梦春 9d504615a0 feat(relation): #1264
Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-05 02:43:30 +08:00
晨叶梦春 7ce8f9c70e feat: #689 2025-05-05 01:04:46 +08:00
晨叶梦春 2e27a2aa75 feat(judgement_info): add request example 2025-05-05 01:04:24 +08:00
晨叶梦春 c423b18256 fix(article/list): remove symbol link 2025-05-05 01:04:05 +08:00
晨叶梦春 9c2214be5e style(private_msg): add spaces in request example 2025-05-05 01:03:38 +08:00
晨叶梦春 b196d49bb1 fix(private_msg): escape characters
Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
2025-05-05 00:26:19 +08:00
晨叶梦春 591dcf4d9f style: wrap URLs with angle brackets 2025-05-04 23:58:48 +08:00
SessionHu 948a240d32 fix(ISSUE_TEMPLATE/3-mistake-report.yml): trailing spaces 2025-05-04 23:45:54 +08:00
晨叶梦春 a6ac38c4fd Merge branch 'master' into patch-1 2025-05-04 23:43:28 +08:00
晨叶梦春 8fed1cbf3d Merge remote-tracking branch 'upstream/master' 2025-05-04 23:38:40 +08:00
SessionHu d0458cf769 feat(ISSUE_TEMPLATE): 强调贡献指南 2025-05-04 23:36:01 +08:00
SessionHu 612d59101f feat(CONTRIBUTING.md): 更加严谨的表述 2025-05-04 23:31:11 +08:00
z0z0r4 87687e1cf9 Merge pull request #1266 from pskdje/edit-live-danmu
添加直播间发送弹幕相关接口
2025-05-04 23:26:01 +08:00
pskdje d9600c046e 添加 直播间弹幕 链接 2025-05-04 18:21:06 +08:00
pskdje 126f78eac3 调整L439的表述,修正L75的curl参数 2025-05-04 17:36:25 +08:00
pskdje 0d6d975f49 创建直播弹幕接口
将以下2个issue编写为文档:
https://github.com/SocialSisterYi/bilibili-API-collect/issues/1236
https://github.com/SocialSisterYi/bilibili-API-collect/issues/1263
2025-05-04 16:43:35 +08:00
晨叶梦春 35510b7a08 feat: add details & replace spaces 2025-05-03 01:39:08 +08:00
SessionHu 52f0b45812 feat(dynamic/space.md): good luck 2025-05-02 11:54:26 +08:00
SessionHu 7480789edc fix(dynamic/space.md): 鉴权方式 2025-05-02 11:50:00 +08:00
SessionHu c5cb7aa342 Merge branch 'master' of https://github.com/SocialSisterYi/bilibili-API-collect 2025-05-02 11:42:00 +08:00
z0z0r4 0f0a8816da Merge pull request #1256 from z0z0r4/master
chore: 拆分 issue template 方便自动添加 labels
2025-05-02 11:24:33 +08:00
z0z0r4 f91f636fd5 fix: 文档链接 eg 换行 2025-05-02 11:21:48 +08:00
z0z0r4 f4aae291f1 fix: 修正错误修正模板中的 <title> 2025-05-02 10:53:15 +08:00
z0z0r4 3f7aa4532a fix: 修正 issue 模板中 iOS 和 TV 客户端的描述 2025-05-02 10:51:12 +08:00
z0z0r4 8a355f4247 chore: 拆分 issue template 方便自动添加 labels 2025-05-02 10:04:45 +08:00
晨叶梦春 a2161708ce feat(login_notice.md): improve docs 2025-05-02 09:35:55 +08:00
晨叶梦春 9324bc6564 Merge remote-tracking branch 'upstream/master' into patch-1 2025-05-02 00:19:26 +08:00
SessionHu 0ff0b6996c feat: 获取用户空间图文
close #1249
2025-05-01 12:04:09 +08:00
SessionHu 882b139c24 chore: convert lower to upper case 2025-05-01 11:01:44 +08:00
SessionHu 8c6bb6be92 feat: 动态首页公告栏 (旧版)
close #1254
2025-05-01 08:45:44 +08:00
SessionHu f9d238b0be feat: 动态首页公告栏 (新版)
close #1255
2025-05-01 08:37:40 +08:00
SessionHu 53e79c6f6d feat(dynamic/action.md): link to new remove dynamic 2025-04-28 23:58:50 +08:00
SessionHu e707776549 feat(dynamic/action.md): old thumb
close #1253
2025-04-28 23:10:50 +08:00
SessionHu be33ec2ea1 feat(dynamic/action.md): thumb
close #1252
2025-04-28 00:52:04 +08:00
SessionHu 8ed1756622 feat: 专栏显示卡片信息
close #1247
2025-04-26 17:04:26 +08:00
SessionHu 351259535f feat(creativecenter/opus.md): remove dynamic
close #1246
2025-04-26 12:42:26 +08:00
SessionHu 28bdb9662e chore: 调整部分文件结构 2025-04-26 11:58:46 +08:00
stydxm cb9e3a7cc2 fix: typo 2025-04-26 11:28:21 +08:00
SessionHu ff552818cb feat(article/view.md): more from editor 2025-04-26 09:27:27 +08:00
晨叶梦春 dc3f6d64a7 feat & fix: update docs & fix typo in issue template 2025-04-26 02:02:17 +08:00
SessionHu 85defd7b36 feat(CONTRIBUTING.md): code block desc about json jsonc 2025-04-25 01:26:18 +08:00
SessionHu adc74b251d fix(article/view.md): missing end tag 2025-04-25 01:21:56 +08:00
SessionHu ed0dcaf6e4 feat(article/view.md): opus desc from cv41358718 2025-04-25 01:13:27 +08:00
SessionHu 6782776794 feat(article/view.md): view data.content from cv37056989 2025-04-25 00:58:52 +08:00
SessionHu 9b62c71522 feat(article/view.ms): compare with cv39322129 & cv41358718 2025-04-24 23:36:45 +08:00
z0z0r4 41ce374ea1 Merge pull request #1241 from Miuzarte/master
fix: 错误的 dash 视频流获取示例
2025-04-24 12:45:16 +08:00
SessionHu 6ae71c4199 feat(article/view.md): view from cv1 2025-04-24 00:42:31 +08:00
SessionHu d5cfe489b9 fixlogin/login_action/SMS.md): broken links 2025-04-24 00:39:30 +08:00
晨叶梦春 c07d4a3d93 Merge remote-tracking branch 'upstream/master' into patch-1 2025-04-24 00:37:01 +08:00
Miuzarte 5b44304eb1 更新 dash 视频流获取示例 2025-04-23 18:30:11 +08:00
Miuzarte 3e1b75a210 移除获取 dash 视频流中冗余的 qn 参数 2025-04-23 18:29:37 +08:00
Miuzarte e985b6055a fix: 获取 dash 流示例中 fnval 使用所有选项 2025-04-23 18:19:37 +08:00
Miuzarte f6dcb3ffe7 fix: 错误的视频流获取示例
qn 与 fnval 传反了
2025-04-23 12:38:21 +08:00
晨叶梦春 8d72b5aa0d 更新 info.md 2025-04-23 00:06:18 +08:00
stydxm 33a7c9a3cc feat: 用户投稿视频明细新增参数 2025-04-22 18:05:01 +08:00
晨叶梦春 22723ca1ce 更新 rural.svg 2025-04-22 01:27:47 +08:00
z0z0r4 1f6d4c9498 Merge pull request #1234 from SessionHu/master
贡献指南等部分细节完善
2025-04-21 12:57:24 +08:00
SessionHu f6dc16f833 chore: move docs/history&toview to docs/historytoview 2025-04-21 00:07:17 +08:00
SessionHu ab2762aeaa feat: mark all album doc as down 2025-04-21 00:04:12 +08:00
z0z0r4 4dc60fb0bb Merge pull request #1231 from wuziqian211/patch-1
feat: 修改部分接口文档的描述,新增视频新版分区信息
2025-04-20 23:07:19 +08:00
晨叶梦春 b91ff8aebf 更新 Layout.vue 2025-04-20 21:16:27 +08:00
晨叶梦春 fb1d970a9b 添加回被 #1049 误删除的部分 2025-04-20 21:06:59 +08:00
SessionHu 654e296a05 feat(CONTRIBUTING.md): add link to json-apidoc-gen 2025-04-20 19:21:36 +08:00
晨叶梦春 29c16a2a6a 补全新版分区图标 2025-04-20 17:57:36 +08:00
SessionHu 2484330f5c feat(README.md): 为失效与下线的接口增加删除线 2025-04-20 17:44:05 +08:00
晨叶梦春 c4dc2268a9 add #1163
Co-Authored-By: btjawa <125720787+btjawa@users.noreply.github.com>
2025-04-20 17:28:29 +08:00
晨叶梦春 f52ac24e26 fix #1177 2025-04-20 17:09:21 +08:00
晨叶梦春 0c9c2da126 fix #1161 2025-04-20 16:52:31 +08:00
晨叶梦春 f5f18c0325 Merge branch 'patch-1' of https://github.com/wuziqian211/bilibili-API-collect into patch-1 2025-04-20 16:30:37 +08:00
晨叶梦春 83654fd39d fix #1144 #1202 #1237 2025-04-20 16:30:25 +08:00
z0z0r4 1517ee8b0f fix: 修复 md 格式问题
列表炸了
2025-04-20 07:49:59 +08:00
SessionHu ea76fb00e6 fix(misc/bvid_desc.md): cpp highlight & remove old links 2025-04-20 01:03:10 +08:00
SessionHu 031e28eb62 fix: img 403 by referrer 2025-04-20 00:38:19 +08:00
z0z0r4 7214e7cd70 Merge pull request #1149 from aaa1115910/master
更新分区信息
2025-04-19 22:40:36 +08:00
SessionHu ac01f83cff feat(CONTRIBUTING.md): add non-api doc info 2025-04-19 19:09:40 +08:00
SessionHu 0c42c00036 fix(misc/sign/APP.md): broken demo links 2025-04-19 16:44:28 +08:00
SessionHu 0a6eb83152 fix: broken funding links & wrong link desc 2025-04-19 16:44:15 +08:00
z0z0r4 bfb277134a Merge pull request #1111 from cyb233/patch-1
更新vip_pay_type状态说明
2025-04-19 13:35:44 +08:00
z0z0r4 29c8d2dd1b Merge pull request #1158 from Kyrios0/dev
Update player.md
2025-04-19 13:34:28 +08:00
SessionHu 22c19c917e feat(misc/sign/wbi.md): add details 2025-04-19 03:24:17 +08:00
SessionHu 65c88d5720 feat(CONTRIBUTING.md): Commit and PR 2025-04-19 02:57:09 +08:00
SessionHu 17b0e43ec2 feat: add details 2025-04-19 01:17:32 +08:00
晨叶梦春 5c303a22e4 Update private_msg.md 2025-04-17 21:25:52 +08:00
晨叶梦春 88825d42a2 Merge branch 'SocialSisterYi:master' into patch-1 2025-04-17 21:24:38 +08:00
z0z0r4 917a90a531 Merge pull request #1230 from Kataick/update_send_msg
docs(message): 更新发送私信文档(wbi)
2025-04-17 13:51:22 +08:00
z0z0r4 a93ba99be3 Merge pull request #1142 from Kataick/fix_docs_msg
docs(message): 更新查询私信消息记录文档
2025-04-17 13:50:08 +08:00
z0z0r4 5a4ecf03ac Merge pull request #1232 from SessionHu/master
WBI 签名 Haskell 实现
2025-04-17 13:45:59 +08:00
SessionHu 526b0374c0 feat(misc/sign/wbi.md): update haskell demo data 2025-04-17 01:08:47 +08:00
SessionHu ad1d2dd96d feat(misc/sign/wbi.md): haskell demo 2025-04-17 00:00:34 +08:00
晨叶梦春 18a85bb462 Update info.md 2025-04-16 01:08:21 +08:00
晨叶梦春 00d6fec78e Update README.md 2025-04-15 23:49:54 +08:00
晨叶梦春 d4f2dad7fd update 2025-04-15 23:46:34 +08:00
晨叶梦春 93b4a09aa0 update 2025-04-15 22:09:45 +08:00
SessionHu 0a3c04ae2d fix(wallet/info.md): typo 2025-04-15 12:04:49 +08:00
Kataick 0f804d9752 删除多余的间隔符 2025-04-14 23:46:02 +08:00
Kataick 52f0d2b379 update 2025-04-14 23:44:43 +08:00
Kataick b65aaf9312 @Kataick
docs(message): 更新发送私信文档(wbi)
2025-04-14 22:39:24 +08:00
晨叶梦春 9fb40928ee Merge remote-tracking branch 'upstream/master' into patch-1 2025-04-13 21:57:48 +08:00
z0z0r4 e3121ecd5a Merge pull request #1223 from Miuzarte/wbiGoRefactor
重构 wbi golang 实现
2025-04-13 16:20:07 +08:00
z0z0r4 1b41f63004 Merge pull request #1199 from SessionHu/master
各种内容补充修正
2025-04-13 16:15:25 +08:00
W1ndys f3c23a2454 Update space.md (#1186)
curl https://api.bilibili.com/x/polymer/web-dynamic/v1/feed/space?host_mid=1
{"code":-352,"message":"-352","ttl":1}

需要cookie验证
2025-04-13 11:33:51 +08:00
Izumi.Qu f25e52b9b6 更新video的wbi/index/top/feed/rcmd api对商业推广视频的属性说明 (#1207) 2025-04-13 11:33:17 +08:00
小宇 06e11ba41e Merge branch 'master' into master 2025-04-13 11:30:44 +08:00
stmtc233 1e1e9ed859 更新"查询每日投币获得经验数" (#1162)
* Update member_center.md

* Update member_center.md
2025-04-13 11:26:33 +08:00
Seamain 4abf38f2aa 优化wbi.md里的Swift代码 (#1208)
修复Swift代码中时间戳类型转化后多出.0的问题
2025-04-13 11:22:43 +08:00
SessionHu 687ad1fa58 feat(README.md): json-apidoc-gen 2025-04-13 10:31:04 +08:00
SessionHu 7051e5dbf0 feat(video/videostream_url.md): playurl try_look
close #1095
2025-04-13 10:31:04 +08:00
SessionHu 9d7c2b07d9 feat(video/report.md): warning and tips for h5 2025-04-13 10:31:03 +08:00
SessionHu 2a8fbd2eab feat: history dt 9
close #1206
2025-04-13 10:31:03 +08:00
SessionHu 02976b22e8 feat: live GetEmotion
close #1216
2025-04-13 10:31:03 +08:00
SessionHu a9f405a9a0 feat(search/hot): wbi/search/square 2025-04-13 10:31:03 +08:00
SessionHu 1d4c2d9e63 fix(video/action.md): fav required add_media_ids
close #1210
2025-04-13 10:31:03 +08:00
SessionHu 759f87c0b2 fix(creativecenter/season.md): correct mistakes 2025-04-13 10:31:02 +08:00
SessionHu 2338773beb fix(live/silent_user_manage.md): typo
close #1124
2025-04-13 10:31:02 +08:00
SessionHu 7282aa2e35 fix(bili_ticket.md): referer desc & nodejs code
close #1174
2025-04-13 10:30:47 +08:00
z0z0r4 aecbbdbd90 Merge pull request #1217 from Warma10032/master
fix: 补充获取AI总结内容API需要的Cookie认证
2025-04-13 09:49:09 +08:00
z0z0r4 d2a0ab5cdb Merge pull request #1226 from YuHuanTin/master
`开启直播`新增`platform`字段值
2025-04-13 09:48:53 +08:00
z0z0r4 fc48cd78b1 Merge pull request #1112 from LightQuanta/patch-1
fix: 修复装扮/收藏集搜索API参数名称错误
2025-04-13 09:48:33 +08:00
z0z0r4 0b723935b7 Merge pull request #1140 from TZFC/patch-1
禁言新增参数hour
2025-04-13 09:46:47 +08:00
z0z0r4 b2a368bfe1 Update silent_user_manage.md 2025-04-13 09:46:30 +08:00
YuHuanTin 40eb44fd66 Update manage.md 2025-04-06 17:14:03 +08:00
Miuzarte 724e618bab 重构 wbi golang 实现 2025-04-04 21:33:41 +08:00
一只小包子 14670917f7 fix: 补充获取AI总结内容API需要的Cookie认证 2025-03-21 17:07:45 +08:00
z0z0r4 2e203db62e Merge pull request #1209 from pskdje/master
更新直播信息流文档
2025-03-09 23:16:42 +08:00
SessionHu bc7efd3072 fix(live/recommend.md): missing response and entrance 2025-03-09 00:06:58 +08:00
SessionHu c5f8678910 chore: ignore .swp file & add missing comment 2025-03-09 00:06:56 +08:00
SessionHu 5e81e28857 feat(live/recommend.md): getMoreRecList
close #1198
2025-03-09 00:06:55 +08:00
SessionHu 96ed6aae8a feat(danmaku/danmaku_xml.md): pool 3
close #1109
2025-03-09 00:06:54 +08:00
SessionHu f0b3191d0e feat(fav/info.md): list-all urlparam web_location 2025-03-09 00:06:53 +08:00
SessionHu 1e007cc855 fix(fav/info.md): list-all attr
close #1190
2025-03-09 00:06:52 +08:00
SessionHu 9aafd85d0b fix(video_ranking/ranking.md): v2 urlparam rid
close #1193
2025-03-09 00:06:50 +08:00
SessionHu e7bfe392b7 feat(APP_widget/ver.md): getappversion 2025-03-09 00:06:42 +08:00
z0z0r4 d539afc96f Merge pull request #1204 from zanjie1999/master
增加 获取合集中的视频 的api
2025-03-08 23:18:21 +08:00
z0z0r4 f38898c92b Merge pull request #1185 from emptyBud/master
下线两个接口(“检查昵称是否可注册”和“直播间用户实用 API”的直播签到)
2025-03-08 23:15:36 +08:00
pskdje 1f33153c0d 更新直播信息流文档
修复部分HTML标签未正确闭合;
修复DANMU_MSG的一个中括号方向不正确;
添加和调整了一些与登录相关的描述。

部分信息来自我写的 https://github.com/SocialSisterYi/bilibili-API-collect/issues/1139

cmd变更整理:

DANMU_MSG (小)
DM_INTERACTION
INTERACT_WORD (小)
PREPARING
LIVE
LOG_IN_NOTICE (新)
ROOM_CHANGE
ROOM_CONTENT_AUDIT_REPORT (新)
CUT_OFF_V2 (新)
ANCHOR_ECOLOGY_LIVING_DIALOG (新)
ANCHOR_LOT_NOTICE (新)
ANCHOR_BROADCAST (新)
ANCHOR_HELPER_DANMU (新)
PLAY_TAG (新)
RECALL_DANMU_MSG (新)
OTHER_SLICE_LOADING_RESULT (新)
2025-03-08 20:09:07 +08:00
晨叶梦春 97289e1c45 Merge remote-tracking branch 'upstream/master' into patch-1 2025-02-25 23:55:06 +08:00
晨叶梦春 6c1f03e753 update 2025-02-25 23:51:36 +08:00
Sparkle fab50db039 增加 获取合集中的视频 的api 2025-02-17 23:18:41 +08:00
空芽 427df22771 Update user.md
直播签到接口下线
2025-01-19 20:09:41 +08:00
空芽 5e16f1c41d Update check_nickname.md
弃用检查昵称接口(该接口已弃用)
2025-01-19 20:05:26 +08:00
Ho 1a575d1b54 Update 2025-01-03 14:55:37 +08:00
Ho 98149c5299 更新:获取剧集明细(web端)(ssid/epid方式) 2025-01-03 14:12:19 +08:00
glyceryl 7898671e6d Merge remote-tracking branch 'origin/master' 2025-01-02 18:33:31 +08:00
glyceryl 7c1d182b30 docs/garb/lottery.md: 补充三个装扮和收藏集相关的重要接口 2025-01-02 18:32:59 +08:00
glyceryl 32cd26d6ef docs/garb/lottery.md: 补充三个装扮和收藏集相关的重要接口 2025-01-02 18:10:03 +08:00
glyceryl d6a08ce955 docs/live/follow_up_live.md: 添加一个用于获取开播列表信息的接口(PC端) 2024-12-31 17:48:10 +08:00
Kyrios0 e83c3bd905 Update player.md
更新分段章节相关信息
2024-12-21 23:57:32 -08:00
15996 62088c00ff 新增视频基本信息视频所在视频合集信息ugc_season 2024-12-02 11:07:25 +08:00
15996 3ca519ba1c 新增视频基本信息视频所在视频合集信息ugc_season 2024-12-02 11:04:05 +08:00
aaa1115910 5420ac0db2 更新分区信息 2024-12-01 13:55:58 +08:00
区泽熙 b19be6df36 Update README.md 2024-11-28 16:31:26 +08:00
15996 309c3ec3a0 视频基本信息视频所在视频合集信息ugc_season 2024-11-26 10:23:43 +08:00
Kataick 2ca9272972 docs(message): 更新查询私信消息记录文档 2024-11-23 14:12:24 +08:00
天子方辰 1f4465ab5e 禁言新增必要参数hour 2024-11-17 00:40:04 -05:00
z0z0r4 e5fbfed428 Update README.md
数据脱敏
2024-10-26 22:17:37 +08:00
ASNQAQ 4bc3f59f0d Update info.md (#1121) 2024-10-25 22:17:04 +08:00
HankTheSniper 9be2d6c644 修改一些疏漏 2024-10-23 15:55:18 +08:00
HankTheSniper bd4104413e 增加了模拟app端点击短视频获得的视频列表;修改了错误的表头 2024-10-23 00:55:14 +08:00
HankTheSniper 90f6500e1c Merge pull request #1 from HankTheSniper/branch_241019
增加了无需wbi鉴权的用户投稿明细查询接口
2024-10-19 04:38:33 +08:00
HankTheSniper d157815024 修改排版 2024-10-19 04:34:30 +08:00
HankTheSniper 49247a35b9 增加了无需wbi鉴权的用户投稿明细查询接口 2024-10-19 04:28:51 +08:00
Light_Quanta 7a60bba6ef fix: 修复装扮/收藏集搜索API示例数据错误 2024-10-09 04:21:11 +08:00
Light_Quanta 1a60eb8a0d fix: 修复装扮/收藏集搜索API参数名称错误 2024-10-09 04:13:07 +08:00
Schwi f6eef63ce1 更新vip_pay_type状态说明
通过我对比周围多个账号,以及我自己开关自动续费时该值的改变,目前该值应当反映的是自动续费是否开启
2024-10-07 02:15:19 +08:00
晨叶梦春 41d73f1a20 feat: 添加消息中心接口相关说明 (#983)
* Update charge_list.md

* Update charge_msg.md

* Update relation.md

* Update relation.md

* update

* Update monthly.md

* Update monthly.md

* update

* Update charge_list.md

* Update relation.md

* Update monthly.md

* Update README.md

* Update charge_list.md

* update

* Update relation.md

* Update relation.md

* Update relation.md

* Update info.md

* update

* update

* rename

* update docs

* update

* update

* update

* update

* add more docs

* update docs

* 更新 private_msg.md

* Update Layout.vue

* Update README.md

* 添加 #1008 相关说明

* Update README.md

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* Update private_msg.md

* fix: typo

* update docs

* feat: #1033

* update docs

* fix: typo

* Update private_msg.md

* feat: add get users info

* 将 #983 中对此文件的更改合并到此 PR 中

* fix: typo

* update docs

* Update private_msg_content.md

* Update info.md

* 更新 danmaku_view_proto.md

* 更新 action.md

* 更新 info.md

* 更新 recommend.md

* 更新 readme.md

* feat: 规范化文档

* Update private_msg_content.md

* update docs

* update docs

* update docs

* Update info.md

* update docs

* fix duplicate content
2024-09-20 21:22:06 +08:00
wuziqian211 4dea795ed6 Merge remote-tracking branch 'upstream/master' into patch-1 2024-09-19 23:52:47 +08:00
Session小胡 1e24c6b188 调整部分接口描述与错误修复 (#1088)
* fix(search/search_request.md): cookie buvid3

* feat(login/login_action/password.md): more sms desc

* fix: typo

* feat(live/info.md): add ps for getRoomBaseInfo

* fix(danmaku/action.md): broken form

* chore: Browserslist: caniuse-lite is outdated

* feat(comment/list.md): reply/wbi/main param next

* feat(misc/buvid3_4.md): get buvid3 only

* fix: broken links & wrong code type

* feat: close all img & br tags

* feat(login/cookie_refresh.md): missing demo links

* feat(dynamic/detail.md): /lottery_svr/v1/lottery_svr/lottery_notice

* fix(video/action.md): share cookie buvid3

* feat: deprecated stat & attribute

* feat(dynamic/detail.md): reaction

* feat(misc/sign/v_voucher.md): header

* feat(dynamic/detail.md): update detail params & example

* feat(APP_widget/ver.md): /x/v2/version

* feat(video/info.md): update view

* feat(docs/user.md): remove channel

* feat(search/search_request.md): search/type -1200

* feat(user/space.md): audio

* feat(video/player.md): /x/player/wbi/v2

* feat(audio/musicstream_url.md): update web/url

* feat(comment/readme.md): state

* fix(user/medal.md): wrong guard_level desc

* feat(live/message_stream.md): DANMU_MSG

* fix(user/medals): wrong guard_level & guard_icon desc

* feat(live/message_stream.md): format & add more 'cmd'

* feat(live/message_stream.md): add more 'cmd'

* feat(live/message_stream.md): add tips for non-login users

* feat(video/player.md): need_login_subtitle

---------

Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2024-09-19 23:17:33 +08:00
陈寒彤 2dbdcd884d fix(APP_widget/ver.md): fix wrong desc and add details (#1090) 2024-09-19 23:08:27 +08:00
WisW cffe9ca449 feat: describe how param 'session' is got (#1087) 2024-09-19 00:19:27 +08:00
晨叶梦春 1817c58d0c feat: 更新动态 at 填充列表、多用户信息的文档说明 (#1101)
* feat: add get users info

* 将 #983 中对此文件的更改合并到此 PR 中

* fix: typo

* Update info.md

* 更新 danmaku_view_proto.md

* 更新 action.md

* 更新 info.md

* 更新 recommend.md

* 更新 readme.md

* feat: 规范化文档

* Update info.md

* Update atlist.md

* Update atlist.md
2024-09-19 00:18:08 +08:00
木葉 Scarlet 1ab70f7914 fix: 优化Kotlin样例 (#1096)
优化点:
- 用实体类保存数据, 缓存/加签更方便
- 之前的貌似有bug (可能是参数顺序导致的? 待确认), 现在这个版本实测无误
2024-09-19 00:15:40 +08:00
Sheep-realms 17434e6731 视频基本信息 API 新增返回值 62012:仅UP主自己可见 (#1098)
* 视频基本信息 API 新增返回值 62012:仅UP主自己可见

* 修正错误

* Update attribute_data.md
2024-09-17 22:47:31 +08:00
HDTianRu 1199c91973 修正docs/live/info.md (#1086) 2024-09-17 11:20:48 +08:00
wuziqian211 7927ed4c8e fix duplicate content 2024-09-16 22:35:00 +08:00
wuziqian211 80a41444d6 Merge remote-tracking branch 'upstream/master' into patch-1 2024-09-16 22:32:07 +08:00
wuziqian211 a329eff0ee update docs 2024-09-16 22:27:21 +08:00
Session小胡 60a0c5d1a2 feat: 各种接口补充与错误修正 (#1066)
* fix(video/collection.md): unclosed xml tags

* feat(video/report.md): uuid not really random

* feat: b23.tv short link

* feat: login/moral/exp log

* feat: v_voucher

* feat: upload video cover & post

* feat(creativecenter/upload.md): upload octet-stream

* feat(creativecenter/upload.md): update some notes

* feat(clientinfo/ip.md): another from live

* feat: live web heartbeat

* feat: update popular series & precious

* fix(creativecenter/upload.md): mistakes in example

* feat: merge duplicate fav info

* feat(README.md): missing link to webmask

* feat(search/hot.md): word_type

* feat(login/login_action): recovery old api

* feat(video/collection.md):  series operation

* feat: video season operation

* feat: add & mod some links

* feat(search/suggest.md): up to date

* feat: web home header image

* feat(misc/sign/bili_ticket.md): demo for nodejs

* feat(creativecenter/upload.md): x-upos-auth validity period

* feat: add referer & buvid3 to request header

* feat: customer service message heartbeat & upload

* feat(customerservice/msg.md): upload code 1200201

* feat(video/report.md): click/web/h5

* feat(video/report.md): view count desc

* feat: laser2

* feat: wbi_key in bili_ticket

* fix: typo & unclosed XML tags

* feat(misc/sign/v_voucher): cookie x-bili-gaia-vtoken

* feat(search/hot.md): square

* feat(video/status_number.md): fold archive_stat/stat

* feat(fav/info.md): resource/infos invalid type 21

* feat: /x/activity/subject/info

* feat: lottery

* feat(docs/misc/b23.tv): remove some unnecessary fields

* feat(creativecenter/upload.md): types/predict

* fix(video/collection.md): invalid end tag

* feat: app version upgrade

* feat(creativecenter/upload.md): tag/recommend #528

* feat(user/status_number.md): navnum

* feat: /x/activity/page/list

* feat(comment/list.md): desc about pagination_str

* feat(comment/list.md): update example

* feat(dynamic/all.md): #1082

* fix(comment/list.md): -352 not -412

* feat: #700

* feat(video/video_stream.md): #606 & cv949156

* feat(message/private_msg.md): single_unread freq

* feat: getUserWallet

* fix: broken form

* feat(Layout.vue): copyright to 2024

* feat: /x/topic/pub/rcmd/search

* feat: #425

* feat(misc/time_stamp.md): rtc/getTimestamp

* fix(misc/time_stamp.md): missing end tag

* feat: #745

* feat(dynamic/all.md): update feed/all

* feat(danmaku/action.md): #220

* feat(live/info.md): gethistory from cv8186413

* fix(danmaku/action.md): missing end tag
2024-08-21 19:02:39 +08:00
Zhang San f7599fb693 Update info.md (#1081)
郝给力,冰糖,Overidea_China的账号被叔叔放出来了
2024-08-13 17:50:44 +08:00
SocialSisterYi 5cb9df427e 修正【合集和视频列表信息】 <details>标签缺失 2024-08-12 16:41:07 +08:00
xh286286 b328af7104 增加获取直播间主播信息 (#1077)
* Update README.md

* Update info.md
2024-08-10 18:33:00 +08:00
wuziqian211 7054ebbd83 Merge branch 'master' into patch-1 2024-08-07 04:23:21 +08:00
wuziqian211 28d7329492 Merge remote-tracking branch 'upstream/master' into patch-1 2024-08-07 04:23:00 +08:00
wuziqian211 d4f358b573 Update info.md 2024-08-07 04:22:22 +08:00
wuziqian211 7437b5399b Merge remote-tracking branch 'upstream/master' 2024-08-07 04:20:09 +08:00
wuziqian211 81527857da update docs 2024-07-30 23:42:16 +08:00
wuziqian211 9fd1007072 update docs 2024-07-29 17:08:45 +08:00
木葉 Scarlet cb4f767d4e feat: 添加wbi加签的Kotlin实现, 优化Java实现 (#1068) 2024-07-29 10:03:09 +08:00
wuziqian211 6e033f7fa0 update docs 2024-07-28 20:45:15 +08:00
wuziqian211 7f31a2836f Merge remote-tracking branch 'upstream/master' into patch-1 2024-07-28 01:40:45 +08:00
wuziqian211 0a0e6bbd52 Update private_msg_content.md 2024-07-28 01:30:21 +08:00
Session小胡 2465990ccc feat: 更新web端视频操作播放合集相关接口 (#1064)
- [d1a4f6d](https://github.com/SocialSisterYi/bilibili-API-collect/pull/1064/commits/d1a4f6dd2b4e5d57188d56671b1dfacc299ea3fd) close #1062 ~by myself~
- [ff450a6](https://github.com/SocialSisterYi/bilibili-API-collect/pull/1064/commits/ff450a65693dbdc3c9a78a05c67ddbc1a783a532) add Wbi API
- [b3c3fce](https://github.com/SocialSisterYi/bilibili-API-collect/pull/1064/commits/b3c3fce1646e72985e46492224554ba8b505849a) close #707 
- [fa6c9c8](https://github.com/SocialSisterYi/bilibili-API-collect/pull/1064/commits/fa6c9c8f575a617f6603935b5a77c9624dd5b9fb) new method of `buvid3` & `b_nut` from #790
- [45755b0](https://github.com/SocialSisterYi/bilibili-API-collect/pull/1064/commits/45755b01d8d9593d50658de83322dd79e7b45e21#diff-1a8d1ba142e61d01fd3b24620847ca2f2ff93f880973ea1e1d71de79d0123096R133) close #380
- [45755b0](https://github.com/SocialSisterYi/bilibili-API-collect/pull/1064/commits/45755b01d8d9593d50658de83322dd79e7b45e21#diff-1a8d1ba142e61d01fd3b24620847ca2f2ff93f880973ea1e1d71de79d0123096R542) add details in #244
- [1c5b778](https://github.com/SocialSisterYi/bilibili-API-collect/pull/1064/commits/1c5b7788f717f92a0e3f655e947db49e842f80e0) - [85e8fc5](https://github.com/SocialSisterYi/bilibili-API-collect/pull/1064/commits/85e8fc5304d94ccb7480545e38201219b71370ad) close #945
2024-07-27 13:49:12 +08:00
z0z0r4 64f8643d07 Merge pull request #1063 from ScottSloan/master
feat: 添加“智能修复”清晰度文档相关表述
2024-07-26 12:49:33 +08:00
Scott Sloan eba3aae101 添加智能修复清晰度相关表述 2024-07-26 10:26:12 +08:00
Session小胡 18c1efbc10 feat: bili_ticket 算法 Java 实现 及 信息补充 及 错误修正 (#1061)
* feat: 空间头图及拼写错误修正

* feat(fav/info.md): code 11010

* fix(misc/sign/wbi.md): java extra params

* feat(misc/sign/bili_ticket.md): description and java demo

* feat(video_ranking/dynamic.md): 分区视频相关接口

* fix(video_ranking/dynamic.md): 未关闭的标签

* feat(README.md): 补充链接

* feat(clientinfo/ip.md): 查询任意 IP 地址的归属地

* feat: get buvid3 buvid4 from api

* feat: new error code & format

* feat(misc/picture.md): 图片格式化更多规则
2024-07-25 20:03:52 +08:00
Session小胡 750dd6a924 feat: 更新部分接口 (#1056) 2024-07-20 18:38:49 +08:00
ᴀᴍᴛᴏᴀᴇʀ 8f419c1c9c fix: 修复获取 wbi 签名的 rust 实现 (#1059)
* fix: 修复获取 wbi 签名的 rust 实现

* chore: 在最上面的介绍里补上 Rust 的超链接
2024-07-20 17:53:25 +08:00
pillow02 8cdf355f7e fix:获取首页视频推荐列表地址已更换 (#1051) 2024-07-10 21:45:56 +08:00
Kro 70eb852101 添加 开通直播间 (#1050)
开通直播间API
2024-07-10 19:40:36 +08:00
wuziqian211 5c2195821e Merge remote-tracking branch 'upstream/master' into patch-1 2024-07-07 12:16:06 +08:00
wuziqian211 28164078ac Merge branch 'SocialSisterYi:master' into master 2024-07-07 01:01:41 +08:00
wuziqian211 2382b768aa feat: 更新部分接口文档的表述 (#1049)
* feat: add get users info

* 将 #983 中对此文件的更改合并到此 PR 中

* fix: typo

* Update info.md

* 更新 danmaku_view_proto.md

* 更新 action.md

* 更新 info.md

* 更新 recommend.md

* 更新 readme.md

* feat: 规范化文档
2024-07-07 00:45:20 +08:00
MidnightCrowing 8d956bab82 add follow_up_live.md (#1048) 2024-07-07 00:30:29 +08:00
wuziqian211 56fe63f207 Merge branch 'patch-2' of https://github.com/wuziqian211/bilibili-API-collect into patch-2 2024-07-06 23:33:43 +08:00
wuziqian211 478feea1b2 feat: 规范化文档 2024-07-06 23:33:37 +08:00
wuziqian211 f8b7287255 更新 readme.md 2024-07-06 23:07:36 +08:00
wuziqian211 cde5cad725 更新 recommend.md 2024-07-06 23:06:58 +08:00
wuziqian211 3390585af8 更新 info.md 2024-07-06 23:06:36 +08:00
wuziqian211 b16381e0ed 更新 action.md 2024-07-06 23:00:07 +08:00
wuziqian211 a7c7788eaa 更新 danmaku_view_proto.md 2024-07-06 22:59:38 +08:00
wuziqian211 fdb428cc60 Merge remote-tracking branch 'upstream/master' into patch-2 2024-07-06 22:37:40 +08:00
wuziqian211 0a8bac8e2b Update info.md 2024-07-06 22:36:25 +08:00
wuziqian211 529fa03c9c Merge remote-tracking branch 'upstream/master' into patch-1 2024-07-02 00:40:19 +08:00
wuziqian211 89f36ed247 Update private_msg_content.md 2024-07-02 00:19:26 +08:00
王翼翔 c97788ef18 Update README.md (#1041)
docs: Add link to `fav` in README

Added a link to `fav` within the README file to showcase additional
projects that utilize this repository. This aims to provide community users
with more examples and inspiration for their own projects.

- Project name: `fav`
- Project link: https://github.com/kingwingfly/fav
2024-06-27 22:00:43 +08:00
賈驍明 372ffffa45 添加开播状态码60013 (#1042)
使用西班牙身份证实名,可以开通直播间,但是不能开播。
```
{"code":60013,"data":{"change":0,"status":"","try_time":"0000-00-00 00:00:00","room_type":0,"live_key":"","sub_session_key":"","rtmp":{"type":0,"addr":"","code":"","new_link":"","provider":""},"protocols":null,"notice":{"type":1,"status":0,"title":"","msg":"","button_text":"","button_url":""},"qr":"","need_face_auth":false,"service_source":"live-streaming","rtmp_backup":null},"message":"非常抱歉,您所在的地区受实名认证限制无法开播","msg":"非常抱歉,您所在的地区受实名认证限制无法开播"}
```
2024-06-27 22:00:07 +08:00
wuziqian211 ea555aff78 feat: 添加获取多用户信息接口,完善用户关系文档 (#1044)
* feat: add get users info

* 将 #983 中对此文件的更改合并到此 PR 中

* fix: typo
2024-06-27 21:59:22 +08:00
wuziqian211 44003bc689 update docs 2024-06-27 02:33:26 +08:00
wuziqian211 4fb88fbe9c fix: typo 2024-06-26 23:38:17 +08:00
wuziqian211 a201a3c9ca #983 中对此文件的更改合并到此 PR 中 2024-06-26 23:30:01 +08:00
wuziqian211 3c69d4d952 feat: add get users info 2024-06-26 23:18:33 +08:00
wuziqian211 9c5413a90c Merge remote-tracking branch 'upstream/master' into patch-1 2024-06-24 01:54:19 +08:00
wuziqian211 7d9b466bc4 Update private_msg.md 2024-06-24 01:53:52 +08:00
wsh ce07d83125 feat: bv<-->av algo implemented in golang (#1027)
Co-authored-by: wsh <3443327820@qq.com>
2024-06-19 22:13:10 +08:00
王翼翔 719ea0c9cc Update space.md (#1040) 2024-06-19 22:12:24 +08:00
wuziqian211 ba78a787e6 fix: typo 2024-06-18 03:11:22 +08:00
wuziqian211 b743ebe2c5 Merge remote-tracking branch 'upstream/master' into patch-1 2024-06-18 02:58:30 +08:00
wuziqian211 9b8059001b update docs 2024-06-18 02:58:23 +08:00
xrz 20940eefcd feat. wbi签名算法添加typescript实现 (#1031)
* feat. wbi签名算法添加typescript实现

* fix. Fixed missing quotes in User-Agent header in WBI JS demo
2024-06-13 10:32:00 +08:00
stmtc233 767cb93264 Update wbi.md (#1034) 2024-06-13 10:30:14 +08:00
YuHuanTin e7ab2d770b wbi、av2bv、bv2av 的 c++ 实现 (#1035)
* + wbi 添加 c++ demo

* + bv<-->av 算法 c++ 实现

* + App API 签名的 C++ 实现
2024-06-13 10:26:03 +08:00
wuziqian211 6dfeff4b04 Merge remote-tracking branch 'upstream/master' into patch-1 2024-06-10 20:55:55 +08:00
wuziqian211 86ef2ee8a4 feat: #1033 2024-06-10 20:55:47 +08:00
wuziqian211 2c9960f188 update docs 2024-05-28 23:47:04 +08:00
cctyl 11d42851ae feat: bv<-->av 增加java实现 (#1021) 2024-05-20 23:42:27 +08:00
Danny Du e6dc29ec33 feat: cookie刷新生成CorrespondPath算法添加java代码实现 (#1017)
Co-authored-by: Duyulin <duyulin@kingsoft.com>
2024-05-18 14:10:31 +08:00
Han Zhang 1d557be039 智能防挡弹幕 (#659)
* 智能防挡弹幕

* Create player.md

* Update webmask.md

* style: webmask.md
---------

Co-authored-by: z0z0r4 <z0z0r4@outlook.com>
2024-05-05 14:06:23 +08:00
HIM~ a4132acd0a 修正部分错误 (#1012) 2024-05-05 14:05:00 +08:00
wuziqian211 d50666c092 fix: typo 2024-05-04 03:02:54 +08:00
wuziqian211 58c76504ca Update private_msg.md 2024-05-04 03:00:09 +08:00
wuziqian211 6521e3fea3 Update CONTRIBUTING.md 2024-05-04 02:39:04 +08:00
wuziqian211 392dc2b0be Update CONTRIBUTING.md 2024-05-03 15:51:03 +08:00
wuziqian211 5e4ad07bed Update README.md 2024-04-22 01:11:31 +08:00
wuziqian211 d4bd404bc9 Merge branch 'patch-1' of https://github.com/wuziqian211/bilibili-API-collect into patch-1 2024-04-22 01:09:11 +08:00
wuziqian211 b27143a56c 添加 #1008 相关说明 2024-04-22 01:05:01 +08:00
fwqaaq ed9ac01b67 Add user-agent http header when curl download video (#1004) 2024-04-21 18:08:57 +08:00
SilverWolf db2bd9ccf5 增加 issue form 配置文件 (#1006)
* Update 1-update-request.yml

* Create config.yml

* Rename 1-update-request.yml to 1-update-request.yml

* Rename config.yml to config.yml
2024-04-20 23:30:10 +08:00
SilverWolf 262e62145a issue 表单语法错误 1-update-request.yml (#1005) 2024-04-20 22:41:47 +08:00
SocialSisterYi 5fcc6e3a77 add issue template 2024-04-20 20:47:22 +08:00
Shiokiri 0e8f12d9b7 fix: typo (#1003) 2024-04-16 22:47:47 +08:00
z0z0r4 f88c179f33 Merge pull request #1002 from kalinote/fix-userinfo-doc
修正了用户名片信息的响应示例数据结构
2024-04-16 17:05:55 +08:00
Hansiyu 8b7ca24b97 修正了用户名片信息的响应示例数据结构 2024-04-16 13:24:04 +08:00
zhadongmin 1e5c3df557 fix: typo (#1000) 2024-04-13 21:27:07 +08:00
wuziqian211 a2627981c0 Merge pull request #1 from wuziqian211/patch-2
Patch 2
2024-04-13 00:36:55 +08:00
wuziqian211 cddc8fad07 Update README.md 2024-04-13 00:33:08 +08:00
wuziqian211 e911d09402 Update Layout.vue 2024-04-12 23:53:22 +08:00
wuziqian211 0ce0d4d3cd Merge remote-tracking branch 'upstream/master' into patch-1 2024-04-11 02:29:46 +08:00
wuziqian211 860fb3dc2a Fix #994 (#997)
* Update charge_list.md

* Update errcode.md
2024-04-09 23:16:17 +08:00
xsinluei dd152e8e3f Update ranking.md (#995)
correct rid to tid
2024-04-09 22:59:47 +08:00
wuziqian211 81de2eb2ba 更新 private_msg.md 2024-04-07 00:43:10 +08:00
wuziqian211 cc83d30c7a Merge remote-tracking branch 'upstream/master' into patch-1 2024-04-07 00:29:04 +08:00
wuziqian211 fc60fd44a5 update docs 2024-04-07 00:28:52 +08:00
Ivan Hanloth 64e1bde5be 修复Demo访问/x/web-interface/nav被ban的问题 (#991)
尝试向demo代码添加referer头和user-agent来解决被ban
2024-04-02 23:21:40 +08:00
wuziqian211 8539abd12f add more docs 2024-04-01 01:14:39 +08:00
wuziqian211 444fc8aa0c Merge remote-tracking branch 'upstream/master' into patch-1 2024-03-28 23:25:13 +08:00
wuziqian211 f1c53f92f4 update 2024-03-28 23:21:30 +08:00
7rikka 3802052be8 更新分区信息 (#990) 2024-03-25 17:55:01 +08:00
Liyan Zhao 26f4f65da4 添加up主新后台诊断API (#988)
* Update statistics&data.md

* Update statistics&data.md
2024-03-22 18:52:38 +08:00
wuziqian211 b8da0e5b18 update 2024-03-16 03:32:52 +08:00
wuziqian211 3f0bc38957 Merge remote-tracking branch 'upstream/master' into patch-1 2024-03-16 02:41:30 +08:00
icyu d4cb300051 修改段落错误样式
原有的 Markdown 格式在 GitHub 预览中渲染出错
2024-03-15 23:26:35 +08:00
wuziqian211 e6072a6a69 update 2024-03-15 01:12:01 +08:00
wuziqian211 b6fb3b5efd update 2024-03-14 02:51:11 +08:00
wuziqian211 b3d6d18f82 update docs 2024-03-14 01:12:31 +08:00
wuziqian211 65181350ab rename 2024-03-13 03:13:17 +08:00
wuziqian211 0a92be0f1f Merge remote-tracking branch 'upstream/master' into patch-1 2024-03-13 03:06:25 +08:00
wuziqian211 d04d4193be update 2024-03-13 03:02:27 +08:00
wuziqian211 f9ee5c3b99 feat: 更新包月充电、获取用户信息、用户关系相关说明 (#981)
* Update charge_list.md

* Update charge_msg.md

* Update relation.md

* Update relation.md

* update

* Update monthly.md

* Update monthly.md

* update

* Update charge_list.md

* Update relation.md

* Update monthly.md

* Update README.md

* Update charge_list.md

* update

* Update relation.md

* Update relation.md

* Update relation.md

* Update info.md

* update
2024-03-10 18:53:43 +08:00
wuziqian211 9957f0ccb4 update 2024-03-10 18:45:54 +08:00
wuziqian211 83a1a4e9c6 Update info.md 2024-03-10 18:34:34 +08:00
wuziqian211 f896727b3b Merge remote-tracking branch 'upstream/master' into patch-1 2024-03-10 18:16:13 +08:00
陈寒彤 4645c1ef9a fix(grpc_api): GetUserReq && GetUserReply 2024-03-02 19:33:05 +08:00
陈寒彤 af6c52473c update: android_b appsec 2024-03-02 19:33:05 +08:00
Krasus e97c00c491 Update ranking.md (#973)
补充了参数的具体要求
2024-02-25 13:37:28 +08:00
Jian-Shui bdaddfd6f6 完善 message_stream.md (#972)
完善URI的说明,必须加"/sub"。

2023年初就被这东西折腾过了,2024年又忘了,望合并。
2024-02-25 13:36:41 +08:00
om(o・ω・o)m 8001a7b0da Update appeal.md (#964)
哔哩哔哩更新了他的举办接口
2024-02-14 10:29:05 +08:00
HIM~ 0bf212535e 新增视频合集查询接口信息 (#965)
* 新增关于视频合集内容请求方式

* 完善描述

* 增加页面到主目录
2024-02-13 18:33:29 +08:00
z0z0r4 97419ba65f Merge pull request #963 from GalaxySnail/update-bv-python
修复BV号av号转换算法的 python 实现中的类型错误,提高可读性
2024-02-08 23:28:24 +08:00
GalaxySnail 7b22c145d2 docs/misc/bvid_desc.md: 不需要将 bvid 转换为 list
在 bv2av 函数中,bvid 是输入,是不可变的,只需要索引访问,因此不需要
转换为 list 类型。

这修复了 mypy 报告的类型不匹配错误,bvid 是一个 str,不能将 list 类型
赋值给它。
2024-02-08 18:23:55 +08:00
GalaxySnail 3387e547bb docs/misc/bvid_desc.md: 使用整数除法代替浮点数除法
bv号av号转换算法本质上是一种修改过的 base58 运算,参与运算的类型都是
整数类型,所以不应该使用浮点数除法 /= 而应该使用整数除法 //=

这也修复了 mypy 的类型不匹配报错,tmp 变量被推断为整数,而
`tmp /= BASE` 相当于 `tmp = tmp / BASE`,将浮点数赋值给整数,类型不匹配
2024-02-08 18:17:04 +08:00
GalaxySnail 6fd4109cc0 docs/misc/bvid_desc.md: 删除未使用的 BV_LEN 变量 2024-02-08 18:15:24 +08:00
GalaxySnail a53d158ee6 docs/misc/bvid_desc.md: 删除多余的行尾空格 2024-02-08 18:14:17 +08:00
SocialSisterYi 33bde6f6af Update av2bv Python Demo 2024-02-04 18:17:59 +08:00
stmtc233 12af012c92 Add short video recommend api (#959)
* Update recommend.md

* Update recommend.md
2024-02-02 10:48:54 +08:00
SocialSisterYi edb7208543 Update CONTRIBUTING Guide 2024-02-01 18:23:12 +08:00
SocialSisterYi 9611ac77c2 Update APIDoc 【用户空间相关】 2024-02-01 17:37:33 +08:00
Kataick f16cfe9793 规范bv转av(python)示例的类型 (#960) 2024-02-01 14:13:56 +08:00
stmtc233 6659958399 Add Getuser & Update space.md (#957)
* Update search.proto

* Update view.proto

add getuser

* Update view.proto

* Update space.md

* Update space.md
2024-01-30 21:16:00 +08:00
Session小胡 12e014afcb fix: 错误的显示和链接和数据类型 (#954)
* fix: 错误的链接和数据类型

* fix(appeal.md): 不正确的类型 & 更新响应示例
2024-01-29 17:26:57 +08:00
陈寒彤 4e3c922942 fix: miss oneof label in viewunite pugvanymodel.proto (#953) 2024-01-28 23:24:37 +08:00
王翼翔 2c4530e2c7 Update list.md (#952)
* Update list.md

补充了fav下media中对象attr的含义

* Update list.md

Knowing what attr code standing for.
2024-01-28 23:24:05 +08:00
陈寒彤 348bc07b77 fix: update ai summary related api (#950) 2024-01-24 22:32:52 +08:00
lb-chc e6f1e7829d csrf token 就是 bili_jct (#939)
csrf token 就是 bili_jct,所以把这件事写出来
2024-01-20 13:11:23 +08:00
hd80606b d0f6de0b4f 新增私信消息记录参数,新增青少年模式接口 (#935)
* Update private_msg.md

为私信消息记录添加新的参数

* Add teenager_mode

* Update teenager_mode.md

修正格式

* move teenager_mode.md to teenager

* add teenager

* Update teenager_mode.md
2024-01-12 18:08:44 +08:00
z0z0r4 180b8ce908 feat: bili_ticket (#932) 2024-01-10 10:27:21 +08:00
F-park 1045da3751 fix typo in bvid_desc.md (#928) 2024-01-09 07:03:46 +08:00
lb-chc ad246446b0 使说明更易懂 (#930) 2024-01-09 07:03:17 +08:00
lb-chc 5d188bf9b2 Update history.md (#927)
#907

改为可用的文件版本
2024-01-05 22:15:33 +08:00
yangchenye 72343793ba 修复直播用户所有API的json回复中ttl字段均为num类型 (#923) 2024-01-02 14:06:26 +08:00
yangchenye 29da46295b 获取用户勋章回复ttl字段为number类型 (#921) 2024-01-01 10:05:29 +08:00
mizuhokaga 547f07e765 新增 获取收藏夹内容明细列表API 返回json中data对象字段 (#916)
新增 获取收藏夹内容明细列表API 返回json中data对象字段:has_more与ttl
2023-12-24 23:44:28 +08:00
行旅途 eb2e61e256 feat(relation): add the order followings option (#915) 2023-12-23 19:09:22 +08:00
Gospel e82b450f73 稿件观众操作接口增加鉴权说明 (#840)
* 修复某些表格全角&半角符号不分 (#838)

* Update precious_videos.md

* Update manage.md

* 修复部分视频无法投币,点赞,收藏问题,增加鉴权参数

* 修改【稿件观众操作】APIDoc

---------

Co-authored-by: LaMerChiang <catlair@qq.com>
Co-authored-by: djeozhang <djeozhang@tencent.com>
Co-authored-by: SocialSisterYi <1440239038@qq.com>
2023-12-22 16:07:37 +08:00
Lightning-Lion faa3d97c26 Update APP.md (#911)
添加了Swift语言的支持
2023-12-21 13:15:41 +08:00
KWH 968b3e246f 新加直播间禁言相关 (#904)
* 新加直播间禁言相关

* 禁言相关添加至目录
2023-12-17 11:37:08 +08:00
天子方辰 8951dce7c8 增加直播流数据包种类解释 (#906)
* 添加人气榜排名更新

* 添加USER_TOAST_MSG数据包

* 增加 DM_INTERACTION 数据包内容
2023-12-16 13:01:56 +08:00
柠檬味的凝萌 11908a9d25 视频详情接口更新 (#897)
* Update videostream_url.md

补充音频流的备注

* 争议信息位置变更

顺便给 stat 加上了 vt  这个字段
(似乎是 typora 的问题,列表看上去被大改了,其实没有)

* Update info.md

更新了视频详情的请求示例
2023-12-15 18:43:58 +08:00
LaMerChiang aacf89d047 Update QR.md 申请二维码(TV端)错误的备注 (#901)
* Update QR.md 申请二维码(TV端)错误的备注

* Update QR.md
2023-12-14 22:22:58 +08:00
LaMerChiang c0d0623ef5 Update QR.md (#900) 2023-12-13 22:43:57 +08:00
Session小胡 bbbbc9b767 feat(picture.md): @.avg_color (#893) 2023-12-12 13:21:14 +08:00
柠檬味的凝萌 f3691edc34 Update videostream_url.md (#894)
补充音频流的备注
2023-12-11 18:36:36 +08:00
陈寒彤 24397b6601 update wbi sign description (#892) 2023-12-11 18:33:33 +08:00
Saobby 494b8c1c85 添加新appkey-appsec (#891) 2023-12-11 13:52:52 +08:00
chesha1 5dfb6f0789 update dynamic/ (#886)
* update dynamic/
2023-12-10 10:04:35 +08:00
Mark Chan 27308c22c8 为avid-bvid转换和Wbi签名添加Swift实现 (#890)
* Update bvid_desc.md
* Update wbi.md
2023-12-10 10:03:53 +08:00
fwqaaq 56bfa77a70 Update wbi.md about rust and javascript code examples for wbi signature implementation (#884)
* Update wbi.md about rust and javascript

* Apply suggestions from code review
2023-12-03 23:01:43 +08:00
SocialSisterYi 852953ddbf 修改 APIDoc【AI总结】 2023-12-03 04:10:55 +08:00
陈寒彤 c3bf4da2c9 update grpc proto from 7.57.2 (#881)
* update pugvanymodel proto from 7.57.2

* update playerunite/pugvanymodel proto from 7.57.2

* update playerunite related proto from 7.57.2

* update search v2 related proto from 7.57.2

* update metadata related proto from 7.57.2

* update viewunite related proto from 7.57.2
2023-12-01 18:21:36 +08:00
chesha1 36c3e750f6 update dynamic/all.md (#880) 2023-11-30 20:06:42 +08:00
chesha1 13cb69255d fix: typo (#879) 2023-11-29 18:33:10 +08:00
LaMerChiang b8a124109d Update action.md 大会员每日经验 (#877) 2023-11-28 22:43:03 +08:00
LaMerChiang d7fbc165ce Update info.md (#875) 2023-11-27 12:48:55 +08:00
stmtc233 e7f5483c42 Update search.proto (#874) 2023-11-26 13:39:53 +08:00
LaMerChiang ab7030ce10 更新x/vip/privilege/my (#873)
* Update info.md

* Update info.md
2023-11-26 09:20:06 +08:00
EssentialCuber a01ef3bdc2 整理主目录,更新AI总结文档 (#871)
* 整理README中的目录信息,使之与项目中的文档一一对应。

更新AI总结的文档,修复card_info.md中出现的格式错乱。

* 修改AI总结文档的错误内容
2023-11-23 13:40:54 +08:00
LaMerChiang 86ba55259d Update wbi.md (#866) 2023-11-19 17:24:36 +08:00
Marcus233 a071605b1f 增加AI摘要文档 (#865)
* add:增加AI摘要文档

* Update:摘要点赞/踩,更多示例

* fix: 语法错误
2023-11-19 11:48:45 +08:00
LaMerChiang 507f20e88d 更新 bvid 算法 (#862)
* Update bvid_desc.md
2023-11-19 11:35:10 +08:00
cqrect 2dad8999a1 添加了生成CorrespondPath算法的Go实现 (#860) 2023-11-17 12:17:40 +08:00
LaMerChiang 6430bffbd6 更新 bvid 算法 (#857)
* 更新 bvid 算法
* 更新 bvid 算法相关说明
2023-11-16 09:35:32 +08:00
Session小胡 94e7d2203b 补充视频分区及移除无效链接 (#855)
* fix(README.md): remove invalid index of client_info.md

* feat(video_zone.md): tid254 /v/life/parenting
2023-11-14 22:41:04 +08:00
陈寒彤 72810583f1 fix: remove invalid client_info api (#853) 2023-11-10 23:28:57 +08:00
落心 57c5f2701f update user doc list (#851) 2023-11-08 22:49:07 +08:00
Kataick 4c2911c72a center github trending badge (#849) 2023-11-04 07:54:13 +08:00
Julian Li 2d86a3cc7c add github trending badge to readme file (#842) 2023-10-25 13:38:16 +08:00
z0z0r4 7873a79022 Update action.md (#844)
接口返回错误代码:12077,信息:举报理由过长或过短。
2023-10-14 23:31:24 +08:00
LaMerChiang def57d7a70 修复某些表格全角&半角符号不分 (#838)
* Update precious_videos.md

* Update manage.md
2023-10-10 13:13:42 +08:00
陈寒彤 6d1df7709e fix: grpc proto name collision (#836) 2023-10-08 00:00:02 +08:00
陈寒彤 17b7cb85ce update grpc proto from 7.49.0 (#833) 2023-10-04 12:06:32 +08:00
Kataick 03eaaf52dc fix av2bv (#834) 2023-10-04 12:05:55 +08:00
Map987 c08c2c1584 Update pagesize to page_size (#829) 2023-10-01 17:49:03 +08:00
LaMerChiang 4dac6cc2d0 标注部分 wbi 链接 (#827)
* Update space.md

* update wbi

* update wbi

* Update list.md

* Update space.md
2023-10-01 17:48:37 +08:00
LaMerChiang 4fba1f023e Update README.md (#828)
删除 404 两年的成品库,并厚颜无耻的添加自己的
2023-10-01 17:47:09 +08:00
Liyan Zhao 38cec8413a Update new_face_version (#825) 2023-09-29 17:41:19 +08:00
Mango Jelly Pudding 08e41c70e7 Update bvid_desc.md (#824)
python code
2023-09-26 06:24:46 +08:00
Liyan Zhao ffa25ba78d Update railgun.md (#820) 2023-09-19 13:32:42 +08:00
LaMerChiang 5603b1acbd Update APP.md (#819) 2023-09-18 22:32:51 +08:00
loph3xertoi 4768775f30 fix: 移除失效nav接口, 添加未登录状态nav请求响应实例 (#817) 2023-09-16 06:51:24 +08:00
Liyan Zhao 5a4761ee69 add description for seqno (#814) 2023-09-15 18:28:44 +08:00
renmu123 d6d1787145 add search plugin (#816) 2023-09-14 19:55:11 +08:00
188102836 3a408362c7 docs: 更正拼写错误 (#811) 2023-09-10 22:39:18 +08:00
LaMerChiang ef919a61ef chore: 升级为 vuepress@2 (#807)
* fix: 修正文档中存在的错误路径,标签和目录

* chore: 升级为 vuepress@2

* fix: vuepress-vite 版本错误
2023-09-06 14:25:46 +08:00
LaMerChiang 92b30f354a fix: 修正文档中存在的错误路径,标签和目录 (#806) 2023-09-04 23:41:08 +08:00
nailvcoronation dd5e1f1359 删除了前段时间新增但已取消的字段 (#805) 2023-09-04 01:29:03 +08:00
陈寒彤 7ea68aafad fix: viewuniteproto (#802) 2023-09-01 18:49:13 +08:00
gwy15 c2d9291c00 Update danmaku_proto.md,增加认证说明 (#792) 2023-08-26 13:46:20 +08:00
z0z0r4 b52187a48b feat: features: itemOpusStyle (#787) 2023-08-16 10:59:26 +08:00
whiter 09fe412ec7 添加了生成CorrespondPath算法的kotlin实现 (#786) 2023-08-16 08:17:46 +08:00
OceanJiang 9a69eafdd0 [API修改] 风纪委员会获取案件信息 close #598 (#782) 2023-08-14 12:44:44 +08:00
188102836 542359a54f 优化示例代码 (#777)
* Remove escape character

移除此处多余的转义符

* Optimize sample code

Object.assign 方法本身会改变 object,没有必要再赋值

* Optimize sample code

* Update docs/misc/sign/wbi.md

Co-authored-by: ud2 <sjx233@qq.com>

---------

Co-authored-by: ud2 <sjx233@qq.com>
2023-08-13 20:31:31 +08:00
OceanJiang 64c653a6c1 添加 Github Action 运行仓库判断 (#784) 2023-08-13 16:01:33 +08:00
Arnold HAO 6c483f6bf1 Update statistics&data.md (#785)
修正视频数据增量趋势URL实际为专栏数据增量趋势的问题
2023-08-13 15:59:33 +08:00
PACI 56d0126d5d update io and time (#769) 2023-08-11 10:00:36 +08:00
Session小胡 b1a06806f0 将 http 改为 https (#776) 2023-08-08 19:39:39 +08:00
welcomeworld 55cd01c87d Update list.md (#766)
超过20会返回-400,请求错误
2023-08-07 22:34:22 +08:00
陈寒彤 b01aae4cf4 fix: unite grpc api protos from 7.41.0+ (#774)
* fix: viewunite grpc protos from 7.41.0+

* fix typo

* fix: OgvSeasons

* fix: Relates

* fix: pgcanymodel Stat

* fix: playshared.proto

* update: playerunite

* fix mistake in playunite proto
2023-08-06 20:46:21 +08:00
OceanJiang c19fd073f8 vuepress add Edit this page (#773) 2023-08-06 19:02:55 +08:00
Session小胡 9299d0f901 补充用户名片信息遗漏的签名 (#771) 2023-08-06 12:47:17 +08:00
eya46 76bca78c1c Update hot.md (#763)
补充手机端热搜api
2023-07-31 16:21:03 +08:00
188102836 48d12c2b45 Update APPKey.md (#761)
也许 APPKey 写成了 APIKey?
2023-07-29 00:29:58 +08:00
aaa1115910 bed9d55104 修复错误的数据类型 (#762) 2023-07-29 00:29:25 +08:00
陈寒彤 ed307dbc7e update grpc message from 7.29.0 (#754) 2023-07-26 11:45:14 +08:00
NoahCode 8ba78600ff feat(直播间管理 API): 添加更新公告与标签 API (#752) 2023-07-25 10:12:22 +08:00
nailvcoronation 8cbfc6c7da feat: 更新数据包内容,修复typo (#748) 2023-07-22 21:13:29 +08:00
ywmoyue 563dd3f723 修复gRPC协议文件的一些错误 (#743)
* 修复一些协议文件错误

* 删除上次提交添加的无效注释

* 修复类型包名错误

* 修复Campus服务返回类型
2023-07-17 07:33:25 +08:00
陈寒彤 f5263d0457 add grpc docs (#741) 2023-07-14 12:46:41 +08:00
SocialSisterYi aa233779e1 更新gRPC proto定义 2023-07-11 22:36:38 +08:00
Zhengyang Song 47a157e08b Fill in the correct API URL of dynamic/space. (#736) 2023-07-10 23:34:14 +08:00
Clover614 21c7f54e05 feat: 新增获取首页视频推荐列表 (#733)
* feat: 新增获取首页视频推荐列表

Update: recommend.md

* typo: https 改为 http

* feat: 新增获取首页视频推荐列表
2023-07-05 00:52:31 +08:00
SocialSisterYi 436f26f15b 修正 #517 的路径错误 2023-07-03 17:04:00 +08:00
SocialSisterYi 7727f4975e 纠正 #448 的路径错误 2023-07-03 17:00:13 +08:00
陈寒彤 7d389d8f72 update grpc_api from 7.26.0 (#728)
* update package bilibili.pgc.gateway.player.v2 from 7.26.0

* update package bilibili.app.viewunite.v1 from 7.26.0

* delete some unused grpc package based on 7.26.0

* update package bilibili.playershared from 7.26.0

* update package bilibili.polymer.app.search.v1 from 7.26.0

* redir package bilibili.polymer.contract.v1

* update package bilibili.app.dynamic.v2 from 7.26.0

* add package bilibili.app.search.v2 from 7.26.0

* fix: typo
2023-07-03 16:44:26 +08:00
小宇 d023b55918 Fix language list error (#731) 2023-07-02 17:37:01 +08:00
cctyl 901e787fc6 feature: App Sign 添加java版本实现 (#729)
* feature: App Sign 添加java版本实现

* modify: 优化签名代码以及文档
2023-07-02 09:44:49 +08:00
7rikka fd313b8c1c 添加Wbi签名的Java实现 (#726) 2023-06-30 12:27:43 +08:00
maimierjiafude 95efa217a8 Update relation.md (#725)
* Update relation.md

* Update relation.md

fix error word
2023-06-30 00:34:59 +08:00
kurisu_u 63deb66605 给Wbi签名算法的Demo添加C#实现 (#719)
Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2023-06-28 18:18:33 +08:00
7rikka a8742859fc 添加Wbi签名的Java实现 (#722) 2023-06-28 17:57:02 +08:00
aaa1115910 33696c0fc3 移动文件 bilibili.polymer.list.list.protobilibili.polymer.list.v1.list.proto (#720) 2023-06-25 19:46:51 +08:00
icyu 0abdd4b847 修改wbi文档中的流程描述 (#718) 2023-06-23 13:49:03 +08:00
lb-chc 6c355c0c33 使API返回值包含用户收藏的视频合集 (#448)
* 使API返回值包含用户收藏的视频合集

#443

* 修正错字
2023-06-21 23:37:14 +08:00
7rikka 37009a2894 用户动态接口解析 (#517)
* 添加:获取动态列表

* 补充:获取动态列表

* 枚举类型单独成文档

* 添加:获取动态详情

* 添加:获取用户空间动态
2023-06-21 23:30:53 +08:00
Jianqi Pan 24f35ac471 📝 need not empty buvid3 (#699)
* 📝 need not empty buvid3

实测需要在 Cookie 中添加非空的 buvid3 字段才能正常访问,否则会返回 -401

* Update info.md
2023-06-21 08:40:59 +08:00
ywmoyue 3aaf9679c5 补充wbi文档 (#706)
* 添加评论条目中图片数据说明

* wbi文档补充提示

* 修复代码格式
2023-06-21 08:39:47 +08:00
7rikka 57c1817fba 添加大会员新的兑换项 (#710) 2023-06-20 13:50:32 +08:00
z0z0r4 c4a137bde7 Update charge_list.md (#711) 2023-06-19 13:57:11 +08:00
z0z0r4 076712a931 Update dm.proto (#712)
2023-06-19 13:42:05 +08:00
SocialSisterYi e379d904c2 update【用户关系】APIDoc 2023-06-06 11:02:19 +08:00
SocialSisterYi 45dd000836 update 【弹幕操作】APIDoc 2023-06-05 16:22:17 +08:00
Bryan不可思议 5be5bd6a4a [gRpc] 添加大会员专属颜色 (#695) 2023-06-05 15:06:35 +08:00
Ryuujo Zhang 81eb5a414f Update QR.md (#697) 2023-06-04 20:34:21 +08:00
Jianqi Pan fc0c6874d9 feat: add golang wbi demo (#696) 2023-06-04 17:22:25 +08:00
7rikka 1372f85e5d 增加评论接口响应码 (#690) 2023-05-26 15:33:23 +08:00
SocialSisterYi 252178292b update【用户信息】【用户投稿视频】APIDoc 2023-05-26 12:13:49 +08:00
Ding 8e2a4a9025 添加app短信登录接口 (#685)
* Update SMS.md

* Update SMS.md
2023-05-26 10:33:03 +08:00
Xianwei Pang 2f9c09b4ea Update login_info.md (#688) 2023-05-26 10:30:19 +08:00
THMonster 7b5ac3f503 修正wbi文档中的一些描述错误 (#684) 2023-05-26 09:26:31 +08:00
Xianwei Pang 44d1b3921b Update member_center.md (#687) 2023-05-26 09:24:23 +08:00
XiaoMiku01 0e17dd421a [gRpc] 添加评论区 At 用户列表接口 (#681)
* 增加新版动态点赞转发列表接口

* 更新包名 `interface`  -> `interfaces`

* 添加评论区 At 用户列表 gRPC 接口

* 添加grpc接口使用示例
2023-05-23 11:52:42 +08:00
SocialSisterYi 05ac3d5e2a 添加文档【Wbi 接口签名】,修改目录结构 2023-05-23 09:38:21 +08:00
SocialSisterYi cefb7e7c40 fix typo 2023-05-19 23:49:19 +08:00
SocialSisterYi a46f140fde add【web端Cookie刷新】APIDoc 2023-05-19 16:08:08 +08:00
SocialSisterYi 48402b2fad add【music rank】APIDoc 2023-05-18 18:38:22 +08:00
SocialSisterYi 09c167af45 update【查询用户投稿】APIDoc 2023-05-18 11:58:50 +08:00
Sheep-realms 410e8d8d35 更新获取视频超详细信息中的部分描述 (#673)
* 更新获取视频超详细信息中的vip对象描述

* view_addit 对象新增3项作用不明的字段

* 更新用户认证信息描述

* 更新示例
2023-05-17 16:45:08 +08:00
SocialSisterYi 37727fe6dc update 404 manga url 2023-05-17 11:10:06 +08:00
SocialSisterYi 87d56b66e7 update 【danmaku thumbup list】 APIDoc 2023-05-17 09:42:12 +08:00
SocialSisterYi 894c802ac5 update QQ group link 2023-05-17 08:37:50 +08:00
stackinspector dc5c527a1f 添加Rust版本bvid算法示例 2023-05-16 03:38:27 +08:00
stackinspector f8a8f8a245 添加Rust版本bvid算法 2023-05-16 02:56:18 +08:00
ywmoyue 16d455ff09 添加评论条目中图片数据说明 (#660) 2023-05-15 02:28:41 +08:00
zine_yu 06e8343031 fix(docs/other/bvid_desc.md) (#663) 2023-05-15 02:25:58 +08:00
Sheep-realms f402c6b7f4 补充 Official 对象中的认证类型信息 (#666)
* 更新 payment 和 pay_type 对象信息

- 补充 `payment` 对象描述。
- 新增 `payment` 对象中的 `vip_price` 字段。
- 移除 `payment` 中不再使用的 `tip` 字段。
- 新增 `pay_type` 对象描述。

* 修正描述

* Update README.md

* Update get_dynamic_detail.md

* Update login_info.md

* Update info.md

* Add files via upload

* Update info.md

* Update README.md
2023-05-15 02:12:11 +08:00
Jianhui Yuan Xu 956b874da9 Update videostream_url.md (#655) 2023-04-30 17:52:22 +08:00
Sheep-realms b1152018b4 更新剧集明细查询中的 payment 和 pay_type 对象信息 (#651)
* 更新 payment 和 pay_type 对象信息

- 补充 `payment` 对象描述。
- 新增 `payment` 对象中的 `vip_price` 字段。
- 移除 `payment` 中不再使用的 `tip` 字段。
- 新增 `pay_type` 对象描述。

* 修正描述
2023-04-20 21:30:32 +08:00
陈寒彤 fcbbdfe125 add: grpc proto distribution (#646) 2023-03-30 10:21:48 +08:00
陈寒彤 65da316b48 add: new united view grpc interface (#644)
* add: new united view grpc interface

* add: 补全proto
2023-03-29 08:28:46 +08:00
陈寒彤 78a42e0c76 add detailed appkey info (#641) 2023-03-28 16:29:01 +08:00
Fa鸽 1bafdf0c0c Update message_stream.md (#638)
SUPER_CHAT_MESSAGE.message_trans为sc机翻
2023-03-28 09:12:51 +08:00
XiaoMiku01 57ced69c4e [gRpc] 更新包名 interface -> interfaces (#634)
* 增加新版动态点赞转发列表接口

* 更新包名 `interface`  -> `interfaces`
2023-03-28 09:11:42 +08:00
陈寒彤 28e8a7cbf0 add: new united playurl grpc interface (#642) 2023-03-28 09:08:46 +08:00
wuziqian211 9459e2dd6d Update relation.md 2023-03-15 23:58:02 +08:00
wuziqian211 f33e9f06e1 Update relation.md 2023-03-13 00:55:17 +08:00
wuziqian211 fa1a87a4ec Update relation.md 2023-03-13 00:44:52 +08:00
wuziqian211 7b6f5816b2 update 2023-03-12 22:05:07 +08:00
wuziqian211 d730a5bd5f Update charge_list.md 2023-03-10 00:38:18 +08:00
wuziqian211 919cd2d5f9 Update README.md 2023-03-10 00:19:09 +08:00
wuziqian211 c7400fffdf Update monthly.md 2023-03-10 00:17:02 +08:00
wuziqian211 3e39619f09 Merge branch 'SocialSisterYi:master' into patch-1 2023-03-08 22:16:38 +08:00
一心向晚 280f69f7ee 增加新版动态点赞转发列表接口 (#633) 2023-03-05 00:08:16 +08:00
xiamo e523974e59 完善直播间数据包,添加上舰通知、醒目留言 (#622)
Co-authored-by: AceXiamo <xiamo@qwq.link>
2023-03-02 09:18:15 +08:00
Light_Quanta f715a732d2 修改location相关说明 (#630)
刚准备改上一个pr就被合并了(
附加更详细的说明
另外经过测试发现对于未登录的用户,评论api不会返回location属性
2023-03-02 08:50:05 +08:00
wuziqian211 b7f78a7fbf Update relation.md 2023-02-28 01:36:16 +08:00
Light_Quanta f7c3029910 修改评论区相关说明 (#623)
逆向b站前端的时候发现invisible为true的时候,前端的代码会故意不创建评论元素,但invisible为true的评论后端依然会正常返回评论的内容,相关的屏蔽是前端做的
经过简单的测试发现,当评论没有被删除,并且评论者本人被UP主拉黑时,invisible会为true

在2022-07-25 11:00及以后发布的评论会附带评论者当时的IP地址属地,现在b站网页端的API也会返回该属性,只是前端没有进行解析(不管是网页端新版还是旧版界面都有专门为IP属地元素设置对应的css样式,甚至旧版界面脚本里仅仅是把创建IP属地的元素注释掉了,去掉注释即可正常使用)

基于以上两点可以做出显示隐藏评论和网页端IP属地显示脚本,比如我整的[这个](https://github.com/LightQuanta/BilibiliEnhance)(
2023-02-27 23:46:13 +08:00
陈寒彤 387d5d0b57 补充注释 (#624) 2023-02-27 23:33:51 +08:00
7rikka d1b3e0c0fb update (#629) 2023-02-27 23:32:54 +08:00
wuziqian211 c5de8dbf75 Merge branch 'patch-1' of https://github.com/wuziqian211/bilibili-API-collect into patch-1 2023-02-27 21:38:51 +08:00
wuziqian211 0f896dd7c2 Merge branch 'SocialSisterYi:master' into patch-1 2023-02-27 21:37:37 +08:00
wuziqian211 4140374946 Update charge_list.md 2023-02-27 21:36:43 +08:00
陈寒彤 bea72b89ed 添加新的grpc_api proto(from 7.18.0) (#625)
* 添加新的proto(from 7.18.0)

* 修正包路径: playershared

* 修正import
2023-02-27 15:08:26 +08:00
wuziqian211 490d4c5e1f 新增包月充电功能相关API (#626)
* Update charge_list.md

* Update charge_msg.md

* Update relation.md

* Update relation.md

* update

* Update monthly.md

* Update monthly.md

* update
2023-02-27 14:56:38 +08:00
wuziqian211 7a04a16d07 update 2023-02-27 01:30:10 +08:00
wuziqian211 a61928e202 Update monthly.md 2023-02-26 23:04:42 +08:00
wuziqian211 1606c2d123 Update monthly.md 2023-02-26 21:41:22 +08:00
wuziqian211 e4e930d85f update 2023-02-26 20:56:04 +08:00
wuziqian211 b2a1d78b4e Update relation.md 2023-02-26 19:39:54 +08:00
wuziqian211 2871403d48 Update relation.md 2023-02-26 19:39:04 +08:00
wuziqian211 f599147a0c Update charge_msg.md 2023-02-26 18:54:39 +08:00
wuziqian211 551965aa0c Update charge_list.md 2023-02-26 18:52:12 +08:00
SocialSisterYi f6760f4be3 🔨remove header index 2023-02-23 11:48:58 +08:00
SocialSisterYi 7d89ece2ac 🚀调整项目结构 2023-02-22 01:00:06 +08:00
SocialSisterYi b85e835ce7 🚀调整项目结构 2023-02-22 00:56:04 +08:00
SocialSisterYi 5493134f73 🔨add checkbox plugin 2023-02-21 12:18:23 +08:00
Sugarscat e16f2718c9 🚀add pages auto deploy
* update

* update

* 使用 Vue Press 构建 html 页面,修改了部分图片链接,让其更符合 Vue Press 要求。

* 使用 Vue Press 构建 html 页面,修改了部分图片链接,让其更符合 Vue Press 要求。

* Create vuepress-deploy.yml

* Update vuepress-deploy.yml

* Update vuepress-deploy.yml

* 使用 Vue Press 构建 html 页面,修改了部分图片链接,让其更符合 Vue Press 要求。

* 使用 Vue Press 构建 html 页面,修改了部分图片链接,让其更符合 Vue Press 要求。

* 使用 Vue Press 构建 html 页面,修改了部分图片链接,让其更符合 Vue Press 要求。

* 使用 Vue Press 构建 html 页面,修改了部分图片链接,让其更符合 Vue Press 要求。

* Update vuepress-deploy.yml

* Update vuepress-deploy.yml

* update

* update

* update

* update

* update

* Update vuepress-deploy.yml

* 尝试修复图标显示异常

* 尝试修复图标显示异常

* 🚀add pages auto deploy

---------

Co-authored-by: SocialSisterYi <1440239038@qq.com>
2023-02-21 09:05:05 +08:00
z0z0r4 2dd8993be7 什么光速合并,我甚至还没改完 (#616)
* Update statistics&data.md

* Update statistics&data.md
2023-02-20 14:36:05 +08:00
7rikka c80d0e5f9f 添加漫画补签 (#617) 2023-02-20 14:34:14 +08:00
InkEcau 301915e532 添加直播签到信息获取 (#619) 2023-02-20 14:33:06 +08:00
7rikka 784585a1ee 添加轻享卡相关接口 (#611)
* 添加:获取轻享卡信息

* 添加:领取轻享卡奖励
2023-02-18 23:28:39 +08:00
OceanJiang 526e506a50 更新 user/search 接口 (#608)
* Update space.md

* Update space.md

* Update space.md
2023-02-18 23:28:09 +08:00
Weltolk 47e95cbf92 Update info.md (#607) 2023-02-18 23:26:41 +08:00
z0z0r4 188dc84754 删除已经失效的仓库 (#603)
* fix note info format

* Update info.md

* Update info.md

* Update README.md

[whjstc/openbilibili-go-common-1](https://github.com/whjstc/openbilibili-go-common-1) 已经被删了
2023-02-18 23:25:56 +08:00
Sheng Fan 7eedf6a2c2 danmaku/danmaku_proto: typo fix (#612) 2023-02-18 23:25:07 +08:00
z0z0r4 e3303068ae Update statistics&data.md (#615) 2023-02-18 23:24:21 +08:00
奇葩の灵梦 ae6de3655a 更新Golang SDK (#602) 2023-02-02 14:56:47 +08:00
Rui-Zhi Li (李睿智) 167d4a6206 添加视频分享说明 (#601) 2023-01-31 23:10:51 +08:00
zjkwdy f08e578791 一些动态有关的api (#596)
* 格式化一下

* 创建投票api

* 新版动态发送

* 纠错

* 纠错

* 纠错

* 纠错

* 删除定时动态

* 删除定时动态

* 查看草稿箱列表

* 立即发布定时动态
2023-01-26 17:15:41 +08:00
z0z0r4 f314dc5e4f fix format (#595) 2023-01-26 17:13:41 +08:00
SocialSisterYi 75ee9d976e update【contributing】 2023-01-21 22:18:45 +08:00
SocialSisterYi 3893a323d7 add contributing guide 2023-01-20 23:58:07 +08:00
SocialSisterYi 1c85918975 update APIdoc 【视频流地址】 2023-01-19 20:21:44 +08:00
wuziqian211 c3515d825e 添加“查询互相关注明细”、“查询历史充电数据”API (#587)
* Update relation.md

* Update relation.md

* Update info.md

* Update relation.md

* Update relation.md

* Update charge_list.md

* Update charge_list.md
2023-01-19 17:15:04 +08:00
7rikka 7ff8325be6 添加获取直播间信息 (#593)
* 添加字段&优化格式

* 添加获取直播间信息
2023-01-19 17:14:08 +08:00
7rikka 2975adc5f3 补充字段 (#588) 2023-01-18 21:33:19 +08:00
7rikka 36e2500908 补充查询用户投稿视频明细字段 (#589) 2023-01-18 21:29:57 +08:00
7rikka 1122f84ada 补充状态码 (#591) 2023-01-18 12:12:58 +08:00
7rikka 1deb78b295 完善扫码接口 (#590) 2023-01-18 11:36:10 +08:00
MoRanYue ced669e01e 更改数据类型名称、完善文档、添加目录 (#586)
* Create README.md

* Update message_stream.md

* Update message_stream.md

* Update message_stream.md

* Update message_stream.md

* Update message_stream.md

* Update message_stream.md

* 修改了直播信息流文档

* message_stream

* 更改数据类型名称、完善直播信息流文档

* message_stream.md
2023-01-17 20:00:59 +08:00
奇葩の灵梦 dfd6d09693 修复获取用户专栏信息的部分错误 (#585)
* 修复获取用户专栏信息的部分错误

* Update list.md

Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2023-01-17 15:28:44 +08:00
SocialSisterYi 69ba9bea19 修改README,全栈替换http为https 2023-01-17 15:23:59 +08:00
340dt7zw c65363496d 修复失效链接 (#584) 2023-01-17 13:52:26 +08:00
XCちゃん 4608d15504 增加视频荣誉类型 (#581) 2023-01-14 11:46:45 +08:00
z0z0r4 3f7d877afc Update article/info.md (#579)
* fix note info format

* Update info.md

* Update info.md
2023-01-14 11:46:07 +08:00
MoRanYue c19ff57591 使直播信息流文档更完善些。 (#580)
* Create README.md

* Update message_stream.md

* Update message_stream.md

* Update message_stream.md
2023-01-14 11:42:55 +08:00
XCちゃん ce406f1194 增加了一个# (#582) 2023-01-14 11:41:54 +08:00
z0z0r4 73492cdbd4 fix note info format (#577) 2023-01-07 22:29:16 +08:00
Gerardyang 6ba5aa9a16 增加了直播流水获取的接口 2023-01-06 05:32:09 +00:00
Qiuyelin 8e0fd51687 更新小黑屋封禁公示信息 (#566)
* Update judgement_info.md :修正部分错误的链接

* 更新小黑屋封禁公示信息

1、更新小黑屋封禁公示信息
2、为`base_info.md`[统计信息](https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/blackroom/jury/base_info.md#新api2021年10月任期之后)补充响应示例

* Update banlist.md
2023-01-03 12:11:01 +08:00
Qiuyelin 7e70b4338e Update judgement_info.md :修正部分错误的链接 (#563) 2022-12-31 18:40:14 +08:00
zouzanyan 4a9cccbe80 Update space.md (#564)
### 查询用户投稿相簿明细

默认页码为0,每项页数为30,page_size为必要
2022-12-31 18:38:37 +08:00
一心向晚 befb9d3bd4 增加视频评论 grpc 接口中图片相关字段 (#565)
* 更新 `契约` 相关 proto 目录结构

* 增加视频评论`grpc`接口中图片相关字段
2022-12-31 18:37:17 +08:00
SocialSisterYi ffd414b230 update【history API】fields 2022-12-26 23:14:10 +08:00
Application ccf87cfc45 添加获取直播间红包接口 (#560)
* 获取直播间红包信息

* Rename redpocket to redpocket.md
2022-12-26 23:06:23 +08:00
lytDARK a4d7eeab4b 更新decv_v2 (#556)
* Update and rename video/info.md to 视频/info.md

* Revert "Update and rename video/info.md to 视频/info.md"

* Update info.md
2022-12-26 23:03:26 +08:00
Qiuyelin 8b3116206a 更新若干风纪委员会相关的接口 (#562)
* 更新风纪委员基本信息

2021年9月开始风纪委员改版之后,原API不再统计新数据,现将其信息更新

* 更新若干jury的接口

1. 更新仲裁操作、仲裁信息相关api
2. 修改风纪委员会用户基本信息某些字段的说明

* Update judgement_info.md
2022-12-26 23:02:56 +08:00
一心向晚 1c6d11137a 更新 契约 相关 proto 目录结构 (#557) 2022-12-20 22:02:12 +08:00
Lord Penguin 073ee0dac5 Fixed 'im.proto' package name. (#550) 2022-12-12 22:04:04 +08:00
OceanJiang 0604a74b34 Update clockin.md (#552) 2022-12-12 22:01:05 +08:00
OceanJiang 1f9a684e1f 更正 tv 登录响应数据 (#113) (#553) 2022-12-12 22:00:26 +08:00
OceanJiang 48b4b63c82 B币方式充电响应字段 bp_num 变更为字符串类型(#251) (#554) 2022-12-12 21:59:30 +08:00
OceanJiang 4a634710ef Create Season.md 漫画赛季 (#539)
* Create season.md

* Create Season.md

* Update README.md

* Update Season.md
2022-12-05 08:52:40 +08:00
OceanJiang 40d95a7134 增加 Manga Activity/ShareComic (#540)
* Create Activity

* Rename Activity to Activity.md
2022-12-05 08:52:03 +08:00
OceanJiang 57bd117cdb Update center.md (#541) 2022-12-05 08:50:58 +08:00
david082321 2302f3af00 Update skin.md (#542) 2022-12-05 08:50:09 +08:00
一个渣渣 c655772c0d 增加 最近更新UP主列表 (#544)
使用fiddler小抓了一下
2022-12-05 08:49:29 +08:00
lb-chc ade7964da1 查询用户投稿视频明细 -1200:被降级过滤的请求 (#547)
由如下API得到,无法复现
https://api.bilibili.com/x/space/arc/search?mid=10330740&order=pubdate&tid=0&pn=107&ps=50

json回复
{
    "code": -1200,
    "message": "被降级过滤的请求"
}
2022-12-05 08:48:33 +08:00
SodaXwX dea1414521 评论接口失效 (#538) 2022-11-30 15:28:06 +08:00
7rikka c723ff9848 添加老粉计划 (#537)
* 添加老粉计划

* 添加老粉计划

* 修改格式
2022-11-30 15:26:21 +08:00
Haolin 18060ddd12 修正分区视频排行榜 (#534) 2022-11-24 22:32:46 +08:00
XCちゃん cc6ab5f542 添加追番/取消追番接口 (#530) 2022-11-18 19:48:53 +08:00
7rikka 8731b6e4a7 弃用接口 (#532) 2022-11-18 19:31:40 +08:00
7rikka fffb2dda40 大积分首页和签到 (#527)
* 添加:大积分首页信息

* 添加:大积分签到

* fix format and add APIdoc 【大会员中心信息】

Co-authored-by: SocialSisterYi <1440239038@qq.com>
2022-11-04 02:13:07 +08:00
lb-chc 228f7f51e1 补充属性的特殊状态 (#523)
如果视频基本信息API对应的状态为-403视频访问权限不足,数据类型将变为str,如("play": "--",),于mid79发表的av5132474可见
2022-10-29 20:17:51 +08:00
wuziqian211 6c844133af 添加另一个获取用户关注列表的API (#521)
* Update info.md

* Update relation.md

* Update relation.md
2022-10-24 20:20:17 +08:00
SocialSisterYi be65d5f05b update README 2022-10-24 19:43:53 +08:00
SocialSisterYi 9e4c46c3df update APIdoc 【历史记录】 2022-10-24 16:56:00 +08:00
SocialSisterYi 494cff9c1f update 【视频分区】 2022-10-24 16:34:49 +08:00
社会易姐QwQ 91b1bbf4af fix APIdoc 【发布动态】 2022-10-24 14:57:02 +08:00
之雨 d37df2ee54 添加哔哩哔哩漫画下载相关api (#508)
* Update Comic.md

* 添加漫画下载api

* fix: json format

* Update Comic.md

* add: unlock index.data

* Update unlock_index_data.md

* Update unlock_index_data.md

* Update unlock_index_data.md

* 修改【data.index解析】

Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2022-10-18 16:27:26 +08:00
wuziqian211 c54f99e53f Update info.md (#515) 2022-10-18 10:48:06 +08:00
7rikka 5385b4200a 专栏相关补充 (#510)
* 添加:获取用户专栏文章列表

* 添加:专栏分类

* UPDATE

* 添加:获取用户专栏文集列表
2022-10-10 16:25:15 +08:00
7rikka ee888fca70 补充AppKey和AppSecret (#509) 2022-10-10 16:01:06 +08:00
7rikka 8f5083b186 补充用户信息 (#512) 2022-10-10 16:00:06 +08:00
7rikka 94f2018ab4 添加密码加密的Java实现 (#498)
Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2022-10-08 16:47:37 +08:00
Sheep-realms 1be69566cc 发现新的评论字段 (#504)
在番剧《间谍过家家》第12集(https://www.bilibili.com/bangumi/play/ep542450)评论区出现 “妙评”,发现新的评论字段`card_label`。
2022-10-08 16:41:41 +08:00
7rikka 4747eba4dd 添加缺失信息 (#505) 2022-10-08 16:41:16 +08:00
雫·Sizuku f0097f645e 补充弹幕信息时间戳 (#507) 2022-10-08 16:40:29 +08:00
7rikka ba92309673 剧集解析补充 (#500)
* 补充剧集基本信息的字段

* 添加获取剧集分集信息

* 删除多余空行

* UPDATE

* UPDATE

* UPDATE

* 补充剧集类型

* 补充地区信息
2022-09-28 11:00:15 +08:00
I Am I a2cd2a61a1 add & fix hot.md (#501)
更改获取热搜列表(web端)返回数据和字段说明
新增 获取热搜列表(手机端)返回数据和字段说明
2022-09-28 10:58:57 +08:00
Kirakira 97638df4a7 修正了直播间基本信息的字段错误 (#492) 2022-09-23 22:58:51 +08:00
7rikka fde7931412 补充说明 (#495)
* 补充说明

* UPDATE
2022-09-23 22:58:37 +08:00
ChuJiani 141190de1d fix: markdown rendering error caused by unescaped '|' (#496) 2022-09-23 22:58:09 +08:00
7rikka 7d5a8f3f14 补充视频分区信息 (#491)
* 补充视频分区信息

* UPDATE
2022-09-21 16:12:34 +08:00
社会易姐QwQ c91be493de fix typo 2022-09-20 22:50:05 +08:00
7rikka 6b2a3f6d5f 补充APP端开屏广告字段,优化格式 (#490) 2022-09-20 14:25:31 +08:00
Fatpandac 3fb8733e80 fix: some anchors can not success positioned (#483) 2022-09-18 00:54:17 +08:00
社会易姐QwQ 990bb68919 update 【gRPC API】 proto files 2022-09-17 23:53:09 +08:00
社会易姐QwQ 17eee20dce update 【gRPC API】 proto files 2022-09-16 22:41:58 +08:00
7rikka 283c718206 修正路径 (#485) 2022-09-16 10:56:13 +08:00
7rikka 8ff33f2f58 补充剧集相关字段 (#484) 2022-09-16 10:34:29 +08:00
社会易姐QwQ b4bb815ae6 update 【gRPC API】 proto files 2022-09-15 18:00:56 +08:00
一心向晚 9322217103 增加BV AV 互转的Golang 实现 (#480)
* 增加BV AV 互转的Golang 实现

* fix format

Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2022-09-14 15:14:35 +08:00
XCちゃん 8f9320eb45 Update bvid_desc.md (#479) 2022-09-13 20:03:41 +08:00
7rikka 91e9e4bdc7 添加AV、BV互转的Java实现 (#478) 2022-09-13 17:36:46 +08:00
7rikka 671ceb7b44 补充退出登录接口请求细节 (#474)
* 补充退出登录接口请求细节

* fix format

Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2022-09-13 15:28:17 +08:00
7rikka c8649079dd 补充视频详细字段和添加最近点赞的视频 (#476)
* 补充视频详细信息的字段

* 添加获取用户最近点赞的视频明细
2022-09-13 15:02:44 +08:00
7rikka aa8634bba2 添加点踩视频接口 (#477) 2022-09-13 14:59:17 +08:00
7rikka fbd4044844 修正错误与表格格式 (#473) 2022-09-13 09:45:07 +08:00
7rikka 15ffe4692a 补充认证类型 (#472) 2022-09-12 22:45:08 +08:00
7rikka 42bb61a546 补充杜比视界、无损音轨、AV1编码等相关信息 (#469)
* 补充杜比视界、无损音轨、AV1编码等相关信息

* 将视频编码代码单独列表
2022-09-10 18:29:37 +08:00
社会易姐QwQ fa59f13e2e update APIdoc【密码登录】【SMS登录】 2022-09-06 17:02:54 +08:00
Colerar f8d7864e86 Update password.md (#291) 2022-09-06 14:41:26 +08:00
社会易姐QwQ 60847a83bb update APIdoc【QR登录】 2022-09-05 16:25:35 +08:00
OceanJiang 904218627e update(jury/base_info.md): jury 的最新接口 (#464)
* update(jury/base_info.md): jury 的最新接口

* Update base_info.md

* Update base_info.md

* Update base_info.md

* Update base_info.md
2022-09-03 21:42:52 +08:00
ag2s20150909 5ba6b1c3d9 添加热门视频 (#465) 2022-09-03 21:42:19 +08:00
玖叁 da892b5fde 字段更新 (#462) 2022-08-30 15:00:28 +08:00
OceanJiang 3b464cd765 fix(jury/base_info.md): details 包含了主要内容 (#463)
* fix(jury/base_info.md): details 包含了主要内容

* swap display places

* Update base_info.md
2022-08-30 15:00:08 +08:00
TES286 340646baf4 添加 获取直播间信息 API (#452) 2022-08-24 23:34:45 +08:00
XCちゃん 7da06779c5 Update search_request.md (#461) 2022-08-24 23:33:51 +08:00
Qiuyelin 48166f5798 更新风纪委员基本信息 (#451)
2021年9月开始风纪委员改版之后,原API不再统计新数据,现将其信息更新
2022-08-24 23:28:13 +08:00
863056768 4080216b8c fix: wrong live api scheme (#446) 2022-08-24 23:27:11 +08:00
Sheep-realms f94c00cf06 补充关于大会员的一些信息 (#459)
关于 `vip_pay_type` 字段的参考数据:创始人碧诗(UID:2)、哔哩哔哩弹幕网(UID:8047632)等官方账号的 `vip_pay_type` 值为 0,除此之外通过正常渠道获取的大会员,`vip_pay_type` 值均为 1。通过大会员到期时间可知这些用户的大会员基本不可能通过正常渠道获取,推测此字段用于区分用户的大会员是否由后台发放。

此外补充了一些关于大会员信息的描述。
2022-08-24 23:26:49 +08:00
lb-chc 008a2e32bc 增加细节描述 (#439) 2022-08-24 23:26:15 +08:00
iBobby 0fbc5f8f0b 备注“查询用户投稿视频明细”API中ps的最大最小值 (#445) 2022-08-24 23:25:47 +08:00
TES286 d88e6fe0bd 修正登录接口 (#457) 2022-08-24 23:25:26 +08:00
OceanJiang e4b7cd8261 update 【Pointshop/Exchange】add error case (#426)
code 【1】 message 【您点的太快了~】
2022-07-26 20:01:01 +08:00
Zerek 3d815cbd83 fix: Wrong character at the api docs (#427) 2022-07-26 20:00:32 +08:00
wuziqian211 fd4de21feb feat: 添加“获取视频超详细信息”与“获取多用户详细信息”API (#428)
* Update videostream_url.md

* Update videostream_url.md

* Update info.md

* Update info.md

* Update info.md

* Update videostream_url.md

* feat: Replace tab with 4 spaces

* Update videostream_url.md

* Update videostream_url.md
2022-07-26 19:58:01 +08:00
lb-chc 69b7a3e590 增加一种响应情况 (#430)
所有频道内均无视频则data为空,此时code为0
2022-07-26 19:56:14 +08:00
社会易姐QwQ 30bfd97bd9 update README 2022-07-25 00:04:21 +08:00
OceanJiang 309cc7462c fix 【relation】url http://http:// (#424)
fix 【relation】http://http & http to https
2022-07-23 10:02:32 +08:00
社会易姐QwQ ebe09baec7 add bv2av typescript demo 2022-07-20 23:39:05 +08:00
XC-Qan 376b61b183 修正了复制错误(L35) (#409) 2022-07-20 22:40:10 +08:00
caojen 75df485d67 fix: desc_v2.raw_text类型是str (#414) 2022-07-20 22:39:35 +08:00
InfinityLoop1309 e4ab8187b3 Update README.md (#416) 2022-07-20 22:39:19 +08:00
ag2s20150909 83f32a1af3 Update live_stream.md (#420)
* Update live_stream.md

* Update live_stream.md
2022-07-20 22:38:46 +08:00
caojen 8b1e2f61ec fix: 用户卡片(card)接口返回的mid应该是str而不是num (#410)
应该是写表格的时候写错了类型(example是对的)
2022-07-13 15:15:58 +08:00
Mz1-rc f15bbb3357 修正: 直播信息流心跳包回应格式和示例 (#411) 2022-07-13 15:15:40 +08:00
南国有雪 107b8191f7 Update publish.md (#412) 2022-07-13 15:15:18 +08:00
XC-Qan 063f095276 增加了稿件投诉的api (#407)
* 增加了稿件投诉的api

* Update appeal.md

* Update appeal.md
2022-07-10 21:40:40 +08:00
Sheep-realms d54ec45a6c 发现新的认证类型 (#405)
参考数据:https://space.bilibili.com/506153212
Official中的role为9,个人认证
2022-07-09 10:52:08 +08:00
Mz1-rc 9b90323d1e 添加:获取已购漫画列表api (#408)
* test

* ok

* 添加:获取已购漫画列表api
2022-07-09 10:39:44 +08:00
社会易姐QwQ 58c9d7f367 update 【gRPC API】 proto files 2022-06-24 23:50:01 +08:00
Rerange 8fb57b4ad1 增加了关于番剧播放&下载地址(视频流)的文档 (#402)
* 增加了关于番剧视频url的文档

* 在readme.md中增加相应的链接
2022-06-24 23:47:41 +08:00
xCipHanD 34744bf72f 新增两个查询接口:热门榜单(音乐榜)、热门歌单 (#401)
* Update music_list.md

勘误 内容重复

* 新增两个接口:热门榜单、热门歌单

Co-authored-by: xciphand <admin@xciphand.site>
2022-06-22 23:34:49 +08:00
社会易姐QwQ 24517028f7 update 【gRPC API】 proto files 2022-06-22 23:32:57 +08:00
社会易姐QwQ 3c8dfc6d61 update 【gRPC API】 proto files 2022-06-22 00:34:19 +08:00
社会易姐QwQ ab5518cbb2 update 【gRPC API】 proto files 2022-06-21 01:20:46 +08:00
wisokey 7f679cc928 Update history.md (#399)
对其中的获取历史记录列表中的部分标识错误进行了修改
部分list被错标成了tab
2022-06-20 13:44:38 +08:00
xCipHanD 7cba209c03 Update music_list.md (#400)
勘误 内容重复
2022-06-20 13:44:19 +08:00
社会易姐QwQ 1e1ff0c3dc update 【gRPC API】 proto files 2022-06-20 01:03:57 +08:00
Nemo2011 68f89532b2 Update basicInfo.md (#390) 2022-06-16 22:14:39 +08:00
LiangXinYu b729b4a592 修复动态信息一些小错误,感谢#390提供的错误点,并且修复排版错误,且在根目录下readme增加跳转链接 (#391)
* 新增动态转发人数查询

* 获取动态转发列表

* 动态基本信息

* Delete forward.md

* 修复排版问题

* 增加动态基本信息

* 修改了错误的api链接
2022-06-16 22:00:24 +08:00
Nemo2011 fc21d8c788 修复了文档错误 (#388) 2022-06-13 18:08:32 +08:00
LiangXinYu 9c6efb0cdc 新增动态转发列表获取 (#387)
* 新增动态转发人数查询

* 获取动态转发列表

* 动态基本信息

* Delete forward.md
2022-06-12 22:48:36 +08:00
Nemo2011 fcaee7dba5 新增了一个API (#383)
* 新增了入站必刷85个视频

* 修复了一些错误

* 修复了一些错误
2022-06-06 16:38:50 +08:00
SK dec9181f39 Fix gRPC gpc.gaetway.vega.v1.Status not defined (#385)
```
pgc/gaetway/vega/v1/vega.proto:47:5: "Status" is not defined.
```
2022-06-06 16:38:01 +08:00
hanfangyuan4396 c22ed9857d 视频流url发现新的请求参数platform (#379) 2022-06-02 15:33:00 +08:00
Nemo2011 7639bc3d52 对于图片(广告) API 的一些修复 (#381)
* 新增客户端图片(广告) API

* new: 添加了参数注释

* Update

* Update docs

* 修复了一些新增文稿的错误
2022-06-02 15:32:33 +08:00
hd80606b f26768435b 添加私信消息记录API (#382)
* Update private_msg.md

私信消息记录

* Update private_msg.md
2022-06-02 15:31:45 +08:00
Nemo2011 d4f20b5a37 新增客户端图片(广告) API (#378)
* 新增客户端图片(广告) API

* new: 添加了参数注释

* Update
2022-05-28 13:36:26 +08:00
7rikka 2a78655ae6 添加: 获取拥有的漫读券列表 (#373)
* 添加漫画签到接口

* 添加积分商城相关接口

* 添加基本兑换状态码

* fix format

* 添加新项

* 链接勘误

* 添加Java获取dev_id的示例

* Revert "添加Java获取dev_id的示例"

This reverts commit 125828bb

* 添加Java获取dev_id的示例

* 大会员权益信息更新

* 查询自己收到的充电列表

* 更新视频取流相关参数

* 签到请求地址更正

* 添加查询签到状态接口

* 补充用户信息字段

* 补充粉丝勋章信息字段说明

* 添加系统提示类型

* UPDATE

* UPDATE

* UPDATE

* 添加: 查询我收到的充电留言

* 添加: 查询充电留言详情

* 添加: 回复充电留言

* UPDATE

* UPDATE

* 添加: 购买漫画章节

* 添加: 获取拥有的漫读券列表

* 添加: 获取漫画详情

Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2022-05-26 11:39:22 +08:00
矿井小帕的血小板 7d0d6908e0 添加:剧集时间轴,修改:统一int至num (#374)
* Create timeline.md

* Upd 05.18 2

I. finish writing documents
II. refactor 'int' to 'num' in all documents

* Upd 05.18 3

I. delete writing reference
II. add demo

* Upd 05.18 Fix 1

Adding change to README
2022-05-26 11:38:35 +08:00
lb-chc 964cb83123 修改两处定义域 (#376)
* 添加定义域

* 更新定义域

这个修改可能导致滥用(ddos?)

* 更新定义域

可能导致滥用

* 更新定义域
2022-05-26 11:37:44 +08:00
7rikka 75c3cd72bb 添加漫画接口 (#372)
* 添加漫画签到接口

* 添加积分商城相关接口

* 添加基本兑换状态码

* fix format

* 添加新项

* 链接勘误

* 添加Java获取dev_id的示例

* Revert "添加Java获取dev_id的示例"

This reverts commit 125828bb

* 添加Java获取dev_id的示例

* 大会员权益信息更新

* 查询自己收到的充电列表

* 更新视频取流相关参数

* 签到请求地址更正

* 添加查询签到状态接口

* 补充用户信息字段

* 补充粉丝勋章信息字段说明

* 添加系统提示类型

* UPDATE

* UPDATE

* UPDATE

* 添加: 查询我收到的充电留言

* 添加: 查询充电留言详情

* 添加: 回复充电留言

* UPDATE

* UPDATE

* 添加: 购买漫画章节

Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2022-05-16 23:13:28 +08:00
7rikka f41151b8e9 添加Java获取dev_id的示例 (#353)
* 添加漫画签到接口

* 添加积分商城相关接口

* 添加基本兑换状态码

* fix format

* 添加新项

* 链接勘误

* 添加Java获取dev_id的示例

* Revert "添加Java获取dev_id的示例"

This reverts commit 125828bb

* 添加Java获取dev_id的示例

* 大会员权益信息更新

* 查询自己收到的充电列表

* 更新视频取流相关参数

* 签到请求地址更正

* 添加查询签到状态接口

* 补充用户信息字段

* 补充粉丝勋章信息字段说明

* 添加系统提示类型

* UPDATE

* UPDATE

* UPDATE

* 添加: 查询我收到的充电留言

* 添加: 查询充电留言详情

* 添加: 回复充电留言

* UPDATE

* UPDATE

Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2022-05-14 13:40:01 +08:00
Light_Quanta 6ffd4d2ea3 修改用户粉丝明细的说明错误 (#369)
网页端查询粉丝默认使用参数ps=20,因此在网页端只能查看前100名粉丝,但设置ps=50或使用默认值可以查看前250名,查询用户关注明细也是同理
2022-05-14 13:38:50 +08:00
lb-chc b6cf568edd 添加定义域 (#365) 2022-05-14 13:38:31 +08:00
Mix 14238156a0 Fix gRPC bilibili.app.interfaces.v1.OfficialVerify duplicate definition (#371)
bilibili/app/interfaces/v1/space.proto:42:11: "bilibili.app.interfaces.v1.OfficialVerify.type" is already defined in file "bilibili/app/interfaces/v1/search.proto".
bilibili/app/interfaces/v1/space.proto:44:12: "bilibili.app.interfaces.v1.OfficialVerify.desc" is already defined in file "bilibili/app/interfaces/v1/search.proto".
bilibili/app/interfaces/v1/space.proto:40:9: "bilibili.app.interfaces.v1.OfficialVerify" is already defined in file "bilibili/app/interfaces/v1/search.proto".
2022-05-14 13:38:14 +08:00
社会易姐QwQ a07976d6ed fix typo 2022-05-02 01:16:21 +08:00
ℳ๓₯㎕白月初 bb437d2012 update: 新增GET方式批量查询直播间状态接口 (#359)
* feat: 添加批量查询直播间状态接口

* update: 新增GET方式批量查询直播间状态接口

* fix format

Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2022-04-18 21:27:55 +08:00
lb-chc 6631c407b9 添加在线编译protogen工具的链接, 以及可pip一键安装的python的protogen解析库, 为使用该项目提供方便 (#345)
在线编译protogen工具, 无需再安装本地编译器, 引用类库即可,https://protogen.marcgravell.com/
2022-04-18 20:28:33 +08:00
社会易姐QwQ 42097f6ce0 update 【video zone】 2022-04-18 20:05:31 +08:00
lb-chc 261b93bc21 修改我之前关于 “评论区明细_翻页加载” 的参数Ps和数组Replies最大内容量Fork的错误 (#356)
我之前把“获取指定评论的回复”的内容写到获取“评论区明细_翻页加载”去了, 现在纠正回来, 并修改措辞使之更准确
2022-04-18 19:39:15 +08:00
lb-chc 352077b061 补充“获取收藏夹内容明细列表”中ps参数的定义域 (#357) 2022-04-18 19:38:52 +08:00
OceanJiang 253db3f0dd 补充音频投币 (#347)
* 补充音频投币

* Update coin&fav.md

Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2022-04-11 08:42:46 +08:00
lb-chc 6ff4b90fde 添加一个方便工具的链接, 为使用该项目提供方便 (#342)
添加一个方便工具的链接, 为使用该项目提供方便
2022-04-11 08:39:46 +08:00
lb-chc 2f0207db2c 添加二级评论的定义域有效范围 (#346)
对于

## 获取评论区明细_翻页加载

> http://api.bilibili.com/x/v2/reply

的ps参数,虽然可以最高设置为45,但与之对应的replies[]最多仅可有22个项, 意味着遍历二级评论所需页数计算中, 每页内容数量应为22,  既所需页数 = rcount / 22
2022-04-11 08:37:52 +08:00
OceanJiang 1a8e93ec31 Update like_coin_fav.md (#348) 2022-04-11 08:36:19 +08:00
7rikka 837069ab11 添加年度大会员福利兑换项 (#349)
* 添加漫画签到接口

* 添加积分商城相关接口

* 添加基本兑换状态码

* fix format

* 添加新项

* 链接勘误

Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2022-04-11 08:36:00 +08:00
holll a7629ed6c2 修正B币充电数量范围 (#352) 2022-04-11 08:35:24 +08:00
Feliciano Long aec16ba06f 添加is_senior_member字段说明 (#340)
https://api.bilibili.com/x/space/acc/info?mid=47399
2022-03-31 14:03:00 +08:00
lb-chc b36f32cd1e 添加新项 (#336)
添加今天发现的“extra_attr”项,不知道什么时候新增的
2022-03-25 10:28:32 +08:00
社会易姐QwQ 81c89cbc28 add Aifadian link 2022-03-24 16:54:41 +08:00
7rikka af340e3eb6 添加漫画签到接口、积分商城相关接口 (#335)
* 添加漫画签到接口

* 添加积分商城相关接口

* 添加基本兑换状态码

* fix format

Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2022-03-24 16:42:58 +08:00
Sheep-realms 39fc33cfe3 视频信息API新增 62004 代码 (#327)
* Update info.md

* 视频信息API新增 62004 代码

62004,即稿件审核中。发现一件旧投稿卡在审核状态:av114154,故获得此代码。
2022-03-21 10:51:09 +08:00
aliyome 349e8b35ec update space/acc/info (#329)
`live_room.online` was removed and `live_room.watched_show` has been added.
2022-03-21 10:50:44 +08:00
社会易姐QwQ e1abf6bba3 fix typo 2022-03-16 13:49:08 +08:00
社会易姐QwQ 476dd28a39 update APIdoc【comment】 2022-03-03 01:21:47 +08:00
Seefs f2f1a52b5a fix markdown format (#325)
fix markdown format
2022-02-19 01:02:27 +08:00
社会易姐QwQ 3dadadc97e update APIdoc【笔记】 2022-02-16 18:58:04 +08:00
Jannchie 89564e96bb 添加了弹幕消息的示例 (#321) 2022-02-13 15:27:59 +08:00
Jannchie eee539cb36 直播间进场或关注 (#322) 2022-02-12 12:51:41 +08:00
社会易姐QwQ e572a207de update 【gRPC API】 proto files 2022-02-05 18:34:14 +08:00
GWDx 9c467bbebc 修改拼写错误 (#318) 2022-02-03 00:56:33 +08:00
社会易姐QwQ c14f8c455e update 【gRPC API】 proto files 2022-02-02 20:25:16 +08:00
社会易姐QwQ 57f264f996 update 【gRPC API】 proto files 2022-02-02 00:43:56 +08:00
社会易姐QwQ 11e00103d2 add “face_nft ” field to 【用户基本信息】 2022-01-31 00:59:04 +08:00
社会易姐QwQ e11bc7b73b add 8K resolution params 2022-01-31 00:45:30 +08:00
社会易姐QwQ 57c5621b5d update 【gRPC API】 proto files 2022-01-31 00:33:38 +08:00
社会易姐QwQ 83cfcc80d6 fix【README】typo, add doc【API签名】 2022-01-30 22:37:57 +08:00
社会易姐QwQ aae73c7015 update 【gRPC API】 proto files 2022-01-29 23:57:17 +08:00
Ding c25a8f4bf6 最新的短信登录接口 (#302) 2022-01-28 20:10:53 +08:00
leejoker 05e7d447b0 收藏夹明细接口type类型说明补充 (#299)
* Update list.md

补充type类型说明

* Update list.md

去掉多余文字
2022-01-28 20:09:24 +08:00
Colerar efcffa7859 fix typo (#297) 2022-01-28 20:07:25 +08:00
lxb007981 1ba7fc6252 add matching end tag for tag <details> (#300) 2022-01-28 20:06:55 +08:00
OceanJiang b6c4523eca 修正获取用户持有的粉丝勋章 api (#303) 2022-01-28 20:05:20 +08:00
小坎坷 b6c8e84d7d Update Bcoin.md (#308) 2022-01-28 20:02:11 +08:00
社会易姐QwQ c1f007833c add APIdoc 【名词解释】 2022-01-28 19:43:08 +08:00
topkie d1f6b217fc 修正大会员兑换 api (#294)
* 修正大会员兑换 api

* 修正大会员兑换 api (#293)
* 补完 api 示例

* 统一写作 http

* 修正【大会员权益】文档格式

Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2021-12-17 22:03:31 +08:00
Colerar 44c965e08f 补充返回值 (#295) 2021-12-17 21:28:33 +08:00
zjkwdy 55e2c878f2 https统一写作http (#288)
* https统一写作http

* 勘误
2021-12-17 10:26:13 +08:00
Jackwu945 27946dc6a9 Update SMS.md (#283)
由于该死的gfw,这里写的六行修改说明全没了,没心情写了,看看增减应该也能知道我修改了什么吧...
2021-12-10 17:59:43 +08:00
zjkwdy 61095b653a 删除错误说明 (#284)
勘误,应该是别人复制改完了没发现qwq
2021-12-10 17:58:41 +08:00
GWDx f9b0e5ff74 修改命令中的拼写错误 (#287) 2021-12-10 17:57:54 +08:00
Bryan不可思议 75c57aeb31 修复响应示例json无法正常显示的问题 (#279)
* Update fetch.md

修复响应示例json无法正常显示的问题

* Update action.md
2021-11-16 17:41:27 +08:00
社会易姐QwQ 9fa97ccd48 补充【转正答题】相关api 2021-11-14 21:48:11 +08:00
社会易姐QwQ 97ded2a097 fix LICENSE format 2021-11-14 17:57:31 +08:00
社会易姐QwQ d9a02821dc update LICENSE 2021-11-14 17:48:57 +08:00
Jackwu945 81cb03973e Update SMS.md (#270)
sms的url经爬,发现已变更为如修改所示的url
原url返回为400,但该url正常下发
2021-11-14 17:06:45 +08:00
∀Z de0cf01a36 增加 DASH 方式下部分域的说明 (#277)
* 增加 DASH 方式下部分域的说明

* 修改 DASH 中的部分描述,使其更加明确

* -
2021-11-14 17:06:12 +08:00
Tyrael 2f57550ac4 大会员福利兑换相关API (#269)
* Update info.md

* Update info.md

* Update info.md

* Update info.md

* Update info.md

* Update info.md

* add user api under live folder

* Update info.md

* Update user.md

* test index

* text index

* Update README.md

* text indexs

* update indexs

* update Index

* update index

* update index

* update index

* update index

* update index

* 稍微建设了一下目录

* 稍微建设了一下目录

* add vip

* 添加大会员福利兑换相关API
2021-11-14 17:04:25 +08:00
Bryan不可思议 518cf0b368 修改一些打字错误 (#275)
* Update danmaku_view_proto.md

* Update snapshot.md
2021-11-14 17:03:31 +08:00
暮光小猿wzt 2843cfbe92 at搜索列表 (#268)
Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2021-11-03 15:40:06 +08:00
暮光小猿wzt 90c47853eb 发布纯文本动态和at别人的动态 (#267)
* 发表纯文本动态

* 动态at
2021-11-03 15:32:55 +08:00
暮光小猿wzt 37acac035d 删除动态 (#266) 2021-11-03 15:32:12 +08:00
暮光小猿wzt dbfd7121c8 用户注册 (#265) 2021-11-03 15:31:41 +08:00
珞林 cc95af410e 创建动态详细信息字段 (#264) 2021-11-03 15:31:07 +08:00
iyear 8f59068127 add third party library link (#263)
* 修改对qn属性的说明

测试发现720P(qn=64) B站前端需要登录才能选择,但是直接发送请求可以不登录就拿到720P的取流地址

* 修正 OR 运算符

| 应当为 OR 运算

* 添加对 ids 属性的说明

ids 在提交时应以英文逗号隔开

* add third party library link
2021-11-03 15:29:30 +08:00
我是洗衣机 cc6b1ee66f add max number of history page (#260) 2021-11-03 15:28:37 +08:00
Jannchie e60df02818 Update list.md (#262) 2021-11-03 15:28:16 +08:00
Jackwu945 f2dc9e7471 Update info.md (#257)
获取视频详细信息的api无需传入cid
2021-10-07 21:49:48 +08:00
OceanJiang c57e841e5f 修正退出登录 api (#245) 2021-09-27 13:57:51 +08:00
Mix 5e3c4e5816 修复两处导致Protobuf代码生成失败的Bug (#252)
* 移除未使用的Protobuf引用

* 修复Protobuf定义符号错误
2021-09-27 13:56:32 +08:00
GWDx 60ca038724 修改“xml实时弹幕”中的 xml 格式(新增“弹幕的屏蔽等级”) (#243) 2021-09-24 01:24:36 +08:00
iyear 28e9e52413 删除 av_list 字段 (#248)
* 删除 av_list 字段

测试了多个视频,现在的接口已经没有 av_list 这个字段了

* 修复中文语法错误
2021-09-24 01:19:37 +08:00
iyear 89222aa9db 修改充电二维码的接口地址和B币说明 (#249)
* 修改充电二维码的接口地址和B币说明

* 修改https为http

符合文档规范

* 更新充电数量的参数名称

测试发现,elec_num已经变更为bp_num
2021-09-24 01:19:01 +08:00
社会易姐QwQ 4367dd4d87 Merge branch 'master' of https://github.com/SocialSisterYi/bilibili-API-collect 2021-09-12 16:15:45 +08:00
社会易姐QwQ 05453e4304 添加【查询账号安全情况】中的微信绑定和实名认证字段 2021-09-12 16:14:09 +08:00
Bryan不可思议 3e6f5582c2 获取直播间信息流认证秘钥 (#242)
* Update message_stream.md

* Update message_stream.md

Update message_stream.md

* 修改【直播间信息流】

Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2021-09-12 15:51:50 +08:00
社会易姐QwQ c29b6d911b 添加 telegram讨论组链接 2021-09-12 15:36:04 +08:00
iyear 66d1d1909a 修改对qn属性的说明;修正运算符;添加对 ids 的说明 (#238)
* 修改对qn属性的说明

测试发现720P(qn=64) B站前端需要登录才能选择,但是直接发送请求可以不登录就拿到720P的取流地址

* 修正 OR 运算符

| 应当为 OR 运算

* 添加对 ids 属性的说明

ids 在提交时应以英文逗号隔开
2021-09-10 22:55:06 +08:00
Small-Li Elec 734dc977c8 Update attribute_data.md (#236)
修改运算类型
2021-08-30 17:46:33 +08:00
矿井小帕的血小板 2eaa5cbb3b app v6.34 学校字段可编辑 (#234) 2021-08-30 12:00:51 +08:00
Tyrael 3390ec73bd 新增批量查询直播间API (#228)
* Update info.md

* Update info.md

* Update info.md

* Update info.md

* Update info.md

* Update info.md

* add user api under live folder

* Update info.md
2021-08-25 00:29:24 +08:00
fred913 b94e389845 删个错误的URL (#229) 2021-08-24 23:49:59 +08:00
Colerar 16a5321f82 Fix typo (#227) 2021-08-24 23:43:58 +08:00
社会易姐QwQ 494f5a4735 添加【视频在线人数】api,更新视频分区信息,并勘误 2021-08-20 19:54:13 +08:00
社会易姐QwQ d0797241a5 更新【运动】分区信息 2021-07-17 15:48:17 +08:00
Jackwu945 326a7f8b45 更新私信部分的一些过时内容 (#217)
* Update private_msg.md

①更正已过时的示例部分以及响应列表
②正文参数中csrf_token已更名为csrf

* 修改部分内容

Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2021-07-16 13:25:16 +08:00
社会易姐QwQ a7a743dffd 统一“id”为小写,并将“UID”改为“mid”,调整【视频属性数据】文档 2021-07-12 21:31:27 +08:00
社会易姐QwQ 3512adf59d 更新并修改大量【proto定义】 2021-07-12 16:37:03 +08:00
HynemanKan 174ddbcdcd 添加直播信息流,新压缩协议相关内容 (#214) 2021-07-12 09:51:00 +08:00
社会易姐QwQ e6f77880ef 添加【404页漫画】更新【相关项目】并勘误 2021-07-12 01:28:44 +08:00
Tunghsiao Liu 2d69921ff6 Update relation.md (#215) 2021-07-12 00:28:43 +08:00
社会易姐QwQ ef94d7876e 添加【收藏夹批量操作】相关api 2021-07-12 00:27:56 +08:00
社会易姐QwQ ce8d00fcd0 更新大量【proto定义】并勘误 2021-07-06 21:28:36 +08:00
HashLiver 129b9bc88b 新增HDR的下载方法 (#171)
* 新增HDR的下载方法

* .data.stat下遗漏的字段argue_msg (#169)

* 更新【视频流url】参数定义,顺便更新【课程视频流】参数定义

Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2021-07-06 00:51:29 +08:00
Junzhou Liu 3b7620f1d1 修改项目描述 (#212) 2021-07-05 23:50:23 +08:00
Techzjc 15058a39da 添加部分【特定话题动态】【动态卡片内容】api (#186)
* 添加部分【特定话题动态】【动态卡片内容】api

添加已知的特定话题动态API
添加动态卡片内容API(由于部分返回的内容会随着动态类型变化而变化,所以仍在施工)

* 修改【特定话题动态】【动态卡片内容】api

将URL统一变成http
加入【动态卡片内容】处返回示例
2021-07-01 00:03:43 +08:00
zjkwdy 8148634a01 解决json响应示例未正确格式化显示 (#207) 2021-07-01 00:02:11 +08:00
呱行次比猫 71dac87e24 Update videostream_url.md (#209) 2021-07-01 00:00:58 +08:00
imba久期 a3460b90f5 更新私信所需参数 (#195)
* 更新发送私信所需参数

* 误打了个点

Co-authored-by: imba97 <imba97@AppledeMac-mini.local>
2021-06-20 21:25:31 +08:00
zjkwdy d0e8a25e74 fix bug (#200) 2021-06-14 01:35:07 +08:00
社会易姐QwQ 396a571570 更新部分proto结构体文件 2021-06-14 01:33:41 +08:00
社会易姐QwQ 3acd3e2167 更新【评论区】proto结构体 2021-06-11 01:47:28 +08:00
社会易姐QwQ 555f7ae056 更新部分proto结构体文件 2021-06-11 01:03:04 +08:00
zzjjbb 7d06579223 Update relation.md (#192)
fix a typo; add a return code
2021-06-08 23:23:32 +08:00
Laurence Luo aae8368355 Add one more time retrieving api (#193) 2021-06-08 23:19:17 +08:00
SocialSisterYi 3862a11368 更新【科技】分区信息 2021-06-08 23:14:33 +08:00
SocialSisterYi c707f79041 更新【汽车】分区信息 2021-06-02 22:21:04 +08:00
Minecraftku_hei 7c5e68fe80 Update errcode.md (#185) 2021-05-10 15:13:17 +08:00
Naptie 1f0e4caa3d 更正拼写错误 (#180)
SESSDSTA -> SESSDATA at Line 17, Column 18
2021-05-10 15:12:39 +08:00
暮光小猿wzt 63da445430 vip过期时间 (#173) 2021-04-01 12:20:24 +08:00
Jannchie d4ec0ec7fa 格式化文档 & 移除无法获取的单日排行榜描述 (#176)
* feat: 使用 markdownlint 格式化文档

* 单日榜已经无法从该API获得,移除相关信息
2021-04-01 12:19:45 +08:00
SocialSisterYi 6f235ba1ec 更新【README】 2021-03-07 13:30:48 +08:00
SocialSisterYi 1a4589b865 修改【新登录设备提醒】api 2021-03-07 13:20:58 +08:00
SocialSisterYi c11355c87f 修改【获取硬币数】api 2021-03-07 13:16:34 +08:00
SocialSisterYi 61c1e79b24 修改【拉取自选题】api的url拼写错误 2021-03-07 13:07:01 +08:00
SocialSisterYi 74eed0044e 添加部分【转正答题】api 2021-03-07 13:04:29 +08:00
SocialSisterYi 50e91c7ec7 修改readme 2021-02-28 00:04:36 +08:00
SocialSisterYi c84e72504e 勘误并添加了大量【收藏夹】相关接口 2021-02-27 16:33:41 +08:00
zjkwdy 571b736bfb https修改为http 2021-02-27 16:33:41 +08:00
zjkwdy 7bf6562531 勘误 2021-02-27 16:33:41 +08:00
zjkwdy 6dd4f07bff 收藏夹操作APP端 2021-02-27 16:33:41 +08:00
zjkwdy 1d8787081f 收藏夹操作(增删改) 2021-02-27 16:33:41 +08:00
zjkwdy c5ea6adeaa 收藏夹操作 2021-02-27 16:33:41 +08:00
zjkwdy 939023b7fb 勘误 2021-02-27 16:33:41 +08:00
zjkwdy c7e6f9d15a 勘误 2021-02-27 16:33:41 +08:00
zjkwdy b9deecdab0 收藏夹详细信息 2021-02-27 16:33:41 +08:00
zjkwdy b576faa6be 查询收藏夹内容 2021-02-27 16:33:41 +08:00
SocialSisterYi 10f33507a5 解决文档中一处“/”写反造成的超链失效 2021-02-16 01:03:18 +08:00
SocialSisterYi d8e97c6a08 修改【readme】 2021-02-16 00:58:23 +08:00
SocialSisterYi f97772d8b1 修改【protobuf实时弹幕】接口 并添加【protobuf历史弹幕】接口 2021-02-16 00:56:54 +08:00
进来对线! 22b80b914a Update login_notice.md (#159) 2021-02-15 23:10:22 +08:00
进来对线! 0f34dd8671 Update info.md (#160) 2021-02-15 23:09:35 +08:00
SocialSisterYi c7de91cb23 更新【私信】相关proto定义 2021-02-12 01:08:33 +08:00
kebufu cf998e8e73 Update SMS.md (#155) 2021-02-11 11:11:30 +08:00
DGCK81LNN d1d5069cd2 视频基本信息的rights.is_stein_gate表示是否为互动视频 (#154)
* 视频响应的rights.is_stein_gate表示是否为互动视频

* 重新添加attribute及其对照表
2021-02-11 11:10:43 +08:00
SocialSisterYi ff24146971 更新【readme】中的声明 修复【评论区】接口 添加大量【appkey】 添加【客户端信息】接口 添加【纪念账号】相关字段 添加【搜索关注】接口 2021-02-08 00:34:54 +08:00
SocialSisterYi c454b3a409 更新【proto文件】 2021-02-05 18:32:00 +08:00
SocialSisterYi 84eab33d9e 添加【动物圈】分区信息 2021-02-05 10:06:33 +08:00
矿井小帕的血小板 dba7650e97 完善note下所有api,包括列表以及内容查询 (#142)
* 增加笔记列表(note/list.md)

链接加了,但是现在是打×的,如果确认没问题就改成√

* Update list.md

* note最后一环施工

note\info.md (55%)
user\relation.md 纠错

* 更新

note\action.md (补充)
note\info.md (65%)

* 修改纠错

感谢线程(bushi)程序撕裂者
@ProgramRipper

* 更新info.md

更新note\info.md (75%)

* note最后更新

note\info.md 完成

note系列存疑:
http://api.bilibili.com/x/note/is_gray

* 修改【视频笔记】相关api

* 漏写了一个对号,加上(QAQ)

Co-authored-by: SocialSisterYi <45892418+SocialSisterYi@users.noreply.github.com>
2021-02-03 00:26:27 +08:00
SocialSisterYi 07d0396bbc 修改【readme】 添加【安卓端登录】appsec 添加大量【proto结构文件】 2021-02-03 00:02:04 +08:00
Bryan不可思议 adfb20f144 Update info.md (#132) 2021-01-17 12:43:54 +08:00
kebufu df1e217105 使用sm.ms图床 (#129)
删除图片(base64解码):aHR0cHM6Ly9zbS5tcy9kZWxldGUvTWdacXhiMUlrc3ZhQmlsWTlFSDJSRHp5OEE=
2021-01-13 22:41:17 +08:00
Bryan不可思议 ce22c1c5fc Update info.md (#124) 2021-01-05 12:09:22 +08:00
在7楼 6906e43d14 新增v2版本B币充电接口文档 (#120)
* 新增v2版本B币充电接口文档

* 给旧接口添加了折叠控件

Co-authored-by: SocialSisterYi <45892418+SocialSisterYi@users.noreply.github.com>
2021-01-03 15:55:32 +08:00
SocialSisterYi 810b8dd730 修改readme 2021-01-03 15:42:33 +08:00
SocialSisterYi fe77d8aae7 添加若干grpc接口的proto定义 2021-01-03 15:41:20 +08:00
Executor 27a5968ebc 解决在bv号内的C语言实例线程不安全的问题 (#119)
原示例使用全局变量`char result[13]`, 多线程中同时调用av2bv可能导致结果出错
现改为在堆内存上进行操作以及返回, 由caller来free
2020-12-29 11:15:37 +08:00
Yin Hang 610a5ca803 fix(dynamic/publish.md):修改错误的返回数据字段 (#116) 2020-12-17 20:37:55 +08:00
Yin Hang ede4217c87 fix(live/live_stream.md):修复错误的获取直播源示例 (#115) 2020-12-14 22:33:03 +08:00
社会易姐QwQ e08248dc14 Update FUNDING.yml 2020-12-06 23:25:55 +08:00
社会易姐QwQ 3b7fb4bc1b Update README.md 2020-12-06 23:16:18 +08:00
社会易姐QwQ 307bb67d53 Update README.md 2020-12-06 23:16:18 +08:00
社会易姐QwQ 89e0e7736d Add files via upload 2020-12-06 23:16:18 +08:00
社会易姐QwQ 29da2bca45 Create FUNDING.yml 2020-12-06 23:16:18 +08:00
kebufu 962d17bd54 新增错误码 (#110) 2020-12-06 22:25:08 +08:00
kebufu d40125d0d7 Update musicstream_url.md (#106)
* Update musicstream_url.md

* Update musicstream_url.md

* 修改错误

Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
2020-12-05 12:46:47 +08:00
矿井小帕的血小板 318aba877b 错误码勘误 (#105) 2020-11-29 13:53:05 +08:00
SocialSisterYi 7397fccdcd 更新关注类互动弹幕参数 2020-11-28 13:06:00 +08:00
SocialSisterYi 269f25091f 添加若干相簿相关api 并勘误 2020-11-27 23:39:07 +08:00
SocialSisterYi 61fa5e3413 折叠【旧版用户登录信息】接口 2020-11-22 15:36:31 +08:00
矿井小帕的血小板 a92ffe2b67 添加笔记相关API (#100)
* note开始编写

* Update info.md

* Update info.md

* 更改文件名并且完善

* Delete a.json

* 更新并修改【提交笔记】及【删除笔记】

Co-authored-by: SocialSisterYi <45892418+SocialSisterYi@users.noreply.github.com>
2020-11-22 15:31:27 +08:00
SocialSisterYi 3d66604055 添加【黑名单列表】与【悄悄关注列表】接口 并勘误 2020-11-21 23:56:44 +08:00
SocialSisterYi e7efbd0ae5 所有文档添加索引目录 2020-11-20 20:13:12 +08:00
Junzhou Liu 463f769e0f 增加点赞视频API (#98) 2020-11-20 17:22:54 +08:00
kebufu cab523075a 添加错误码 (#97) 2020-11-19 17:47:19 +08:00
是甜食哇 1cf2f3cfaf 完善下文档 (#90)
* Update info.md

* Update info.md
2020-11-01 21:08:18 +08:00
SocialSisterYi 96246def3b 修改视频属性位相关 2020-10-30 21:09:39 +08:00
SocialSisterYi 74c0dfdbad Merge branch 'pr/87' 2020-10-30 20:27:33 +08:00
SocialSisterYi 8834d6b779 修改【弹幕个人配置修改】 2020-10-30 20:27:01 +08:00
社会易姐QwQ b901a48f1f Merge pull request #88 from JunzhouLiu/master
补充相关成品项目简介
2020-10-27 14:10:35 +08:00
JunzhouLiu 14485b6c51 补充相关成品项目简介 2020-10-27 09:53:33 +08:00
Junzhou Liu 39c4a8be29 Merge pull request #1 from SocialSisterYi/master
fetch SocialSisterYi/bilibili-API-collect
2020-10-27 09:32:41 +08:00
ProgramRipper 4b579d537e Create config.md
添加 修改弹幕个人配置
2020-10-24 02:30:58 +08:00
社会易姐QwQ fc3240c0c5 Merge pull request #86 from shitianshiwa/master
补充video/info.md,返回json的code数字备注
2020-10-23 20:45:28 +08:00
是甜食哇 184ae5587b Update info.md 2020-10-23 21:30:19 +09:00
是甜食哇 c8eae0e05c Merge pull request #1 from SocialSisterYi/master
更新
2020-10-23 21:27:29 +09:00
SocialSisterYi f140541c0a 修改【获取硬币数】 2020-10-23 20:15:53 +08:00
SocialSisterYi 9891210330 修改readme 2020-10-23 20:14:41 +08:00
SocialSisterYi b2ef3605e6 Merge branch 'pr/76' 2020-10-23 20:12:50 +08:00
SocialSisterYi f44fd54317 修改剧集基本信息 2020-10-23 20:12:15 +08:00
SocialSisterYi 137f17911f Merge branch 'pr/82' 2020-10-23 19:24:24 +08:00
SocialSisterYi 01a4162fae Merge branch 'pr/85' 2020-10-23 19:22:04 +08:00
SocialSisterYi fa2dbadb93 修改备注信息 2020-10-23 19:21:35 +08:00
SocialSisterYi 9760d7221c 大量勘误 修改bv号算法与demo程序 添加【每日投币经验】【当前硬币数】专门接口 2020-10-23 18:53:01 +08:00
Junzhou Liu 9ba5b2c5f7 修正log_info中level_info对象next_exp值类型的问题
用户等级为Lv6时,`next_exp`返回类型为str,值为`--`。`--`应该代表无穷大的意思。

[问题报告以及引用Actions日志记录](https://github.com/JunzhouLiu/BILIBILI-HELPER/issues/27#issuecomment-713223832)
2020-10-21 09:40:18 +08:00
ProgramRipper c0d3a401ae Update pbp.md 2020-10-18 10:38:58 +08:00
社会易姐QwQ 2b4193eee8 Merge pull request #80 from Jannchie/patch-4
attribute勘误
2020-10-17 23:02:04 +08:00
Jannchie 42340213ae attribute勘误
经测试该位应该是禁止他人添加tag
2020-10-17 23:04:24 +09:00
SocialSisterYi 9c0c1ac039 Merge branch 'pr/77' 2020-10-16 21:07:17 +08:00
SocialSisterYi a59cc11a92 修改【获取直播流url】api 2020-10-16 21:06:34 +08:00
SocialSisterYi 363c518835 大量勘误 添加【指定用户的最近投币列表】接口 2020-10-16 19:31:41 +08:00
Sihua 0736cb77f4 完善README.md 2020-10-12 16:59:51 +08:00
Sihua d3533ddf60 完善直播间视频流 2020-10-12 16:57:09 +08:00
社会易姐QwQ e6de156df7 紧急修改目录文件路径错误 2020-10-12 12:57:10 +08:00
社会易姐QwQ 7d4ba0289b Merge pull request #75 from zxc135781/master
完善获取直播间信息API
2020-10-12 12:39:38 +08:00
little_fish12345 9dc6ad4dc1 为番剧info添加了一个api 2020-10-11 19:53:22 +08:00
祀画 3a5288a5c4 勘误 2020-10-11 18:07:00 +08:00
Sihua de588edecf 完善直播间信息API 2020-10-11 18:04:32 +08:00
SocialSisterYi 94e24cd93a 更新【bvID说明】 2020-10-11 15:46:44 +08:00
SocialSisterYi ab04d512cf 添加【bvID说明】文档 更新【视频基本信息】 修改参数名“视频”为“稿件” 2020-10-11 15:41:50 +08:00
社会易姐QwQ a15ce711ce Merge pull request #72 from CreeperKong/mkdocs
README排版修补
2020-10-05 23:15:55 +08:00
CreeperKong 8e493c5d8c 优化目录结构 2020-10-05 23:13:34 +08:00
CreeperKong ca8a999abd 添加mkdocs相关文件 2020-10-05 23:11:32 +08:00
CreeperKong e5c271291b README排版修补 2020-10-05 23:09:47 +08:00
社会易姐QwQ 94295e0f2d 修改README 2020-10-05 00:13:14 +08:00
SocialSisterYi 7223cef80a Merge branch 'pr/70' 2020-10-04 23:56:57 +08:00
SocialSisterYi d8e7091500 修改【保护&删除弹幕】【修改弹幕池】接口 2020-10-04 23:56:18 +08:00
SocialSisterYi 92de823ea5 添加【关注列表】排序参数 添加【互动弹幕获取】相关接口 2020-10-04 23:46:02 +08:00
ProgramRipper d28b81af41 Update action.md
添加 移入移出字幕池
2020-10-03 09:31:18 +08:00
ProgramRipper c0f641ba65 Update action.md
添加 保护&删除弹幕
2020-10-03 09:12:05 +08:00
SocialSisterYi 8edc21f2bf 添加【查询登录记录】接口 修改若干【评论区】接口 添加【批量修改关系】和【批量查询关系】接口 2020-10-03 00:53:53 +08:00
SocialSisterYi e6176a0fcd Merge branch 'pr/68' 2020-10-02 20:26:23 +08:00
SocialSisterYi d1c3004226 为新增条目添加【APP方式登录】参数 修改【查询弹幕点赞】接口 2020-10-02 20:25:28 +08:00
SocialSisterYi e0b62e8401 添加【美食】分区信息 优化svg图片 添加【互动弹幕发送】接口 添加【查询课程列表】接口 添加【主题包解释】 2020-10-02 19:49:54 +08:00
ProgramRipper e94ff30af3 Update danmaku_xml.md
8000!!!!!
ohhhhhhhh
2020-10-02 19:27:14 +08:00
ProgramRipper adb9a69362 Update action.md
添加 举报弹幕
2020-10-02 19:24:06 +08:00
ProgramRipper 8c3534f004 Update action.md
添加 点赞弹幕
2020-10-02 18:46:00 +08:00
ProgramRipper 50e8d7b2ce Update action.md
添加 查询弹幕点赞数
2020-10-02 17:22:12 +08:00
SocialSisterYi 5cdadbbc13 Merge branch 'pr/65' 2020-10-02 14:48:37 +08:00
SocialSisterYi 891d8a612b 修改【进行仲裁投票】接口 2020-10-02 14:47:48 +08:00
社会易姐QwQ 25d2fe1243 Merge pull request #66 from SocialSisterYi/pr/63
Pr/63
2020-10-02 14:41:44 +08:00
SocialSisterYi 8b0a8727d0 修改【查询空间设置】接口 2020-10-02 14:40:54 +08:00
Z-fly 393b4c60ca Update action.md 2020-10-01 15:30:33 +08:00
ProgramRipper 8c9e01163d Update space.md 2020-09-19 11:25:31 +08:00
社会易姐QwQ 508f778ce6 Merge pull request #61 from ProgramRipper/master
添加一个api的参数说明和一个api的错误码
2020-09-15 12:12:47 +08:00
ProgramRipper f7024b1e8a Update password.md
添加 使用账号密码登录(web端)的错误码-2100
2020-09-13 17:59:55 +08:00
ProgramRipper 97e367f103 Update login_info.md
登录用户信息2(web端)的nameplate_current为登录用户勋章url
2020-09-13 17:42:23 +08:00
SocialSisterYi 40b60d8278 添加app端的开屏图片 主题颜色及个性主题的接口 2020-09-05 00:39:46 +08:00
SocialSisterYi c2d575543e 修改并补充折叠内容 2020-08-31 18:00:47 +08:00
MineCreeper86 cd410bb56d 格式化 2020-08-31 16:37:38 +08:00
SocialSisterYi 77b660313b 修改readme 2020-08-29 17:48:12 +08:00
SocialSisterYi da5317cd1d Merge branch 'pr/49' 2020-08-29 17:45:12 +08:00
SocialSisterYi ff01640b35 继续修改文档 2020-08-29 17:43:39 +08:00
SocialSisterYi 77cb8a76e3 修改及添加大量变量 2020-08-29 00:36:16 +08:00
SocialSisterYi bc1bae413e 添加dash方式视频连接 折叠用户订阅投稿状态数接口 2020-08-28 21:30:19 +08:00
SocialSisterYi c0f4bc85c9 修改文集基本信息 2020-08-22 22:20:05 +08:00
MineCreeper86 99b1d16d71 Update content.md 2020-08-19 16:45:04 +08:00
MineCreeper86 f79b011788 Update content.md 2020-08-19 13:05:32 +08:00
MineCreeper86 0862585e60 Update content.md 2020-08-19 13:03:23 +08:00
MineCreeper86 c719606cad 修改缩进 2020-08-19 10:18:43 +08:00
MineCreeper86 a053600798 Update content.md 2020-08-19 10:17:11 +08:00
MineCreeper86 b999666c8f 出门在外,web端更新 2020-08-19 09:52:06 +08:00
MineCreeper86 5cfbb1d742 不再使用来自辱华作者的产品Notepad++的排版与高亮 2020-08-19 09:28:45 +08:00
MineCreeper86 bc87bfc418 修改措辞,与B站统一
获得成就:结束了?
2020-08-18 16:53:17 +08:00
MineCreeper86 b344984248 完成对于vedio/edge.md的详细撰写 2020-08-17 17:04:59 +08:00
MineCreeper86 1fd3492379 今天收工 2020-08-17 13:36:27 +08:00
MineCreeper86 c90ce69edd edges终于肝完了,后面就不算有难度了 2020-08-17 13:26:41 +08:00
MineCreeper86 44e73ab428 最难的写完了,呵,就这?给我亿个肝我也行 2020-08-17 12:32:28 +08:00
MineCreeper86 a3113ea531 修改文件夹结构 2020-08-17 12:03:21 +08:00
MineCreeper86 5dc8fc7ad6 choices又是一个肝疼 2020-08-17 11:19:46 +08:00
MineCreeper86 295c00f11b 嘶——这算是弄完一半了 2020-08-17 10:11:15 +08:00
MineCreeper86 47c5070ac6 data一级对象施工中 2020-08-17 08:46:34 +08:00
MineCreeper86 13dfd3d2f1 Merge branch 'master' of https://github.com/MineCreeper86/bilibili-API-collect 2020-08-17 08:18:52 +08:00
MineCreeper86 71f6dab284 query string param完成 2020-08-17 08:18:38 +08:00
社会易姐QwQ 7ed967a8d2 Merge pull request #47 from MineCreeper86/master
嗯,这个稿只能算是“未建设完成”的状态,但是可供阅读了
2020-08-16 17:14:18 +08:00
MineCreeper86 aae653b542 可以交工了! 2020-08-16 13:36:19 +08:00
SocialSisterYi d6cb119564 更新发送弹幕接口rnd参数定义 2020-08-16 13:07:07 +08:00
MineCreeper86 0ac874d5d8 初稿-里程碑的突破 2020-08-08 21:33:03 +08:00
MineCreeper86 a77b56bea9 这段说是和info挺像的 2020-08-08 18:03:40 +08:00
MineCreeper86 945ab954cf 肝捐献 2020-08-08 17:38:26 +08:00
MineCreeper86 51408fde08 list对象猛肝,后面那什么玩意 2020-08-08 12:49:08 +08:00
MineCreeper86 8d9f1d89b0 默默commit一下表明我还活着
data对象写完了
2020-08-07 22:08:45 +08:00
MineCreeper86 340c95cdbb 先保存一下⑧ QAQ 2020-08-07 21:50:28 +08:00
MineCreeper86 89e6325b5d 开始编写工程,尽量模仿原格式不变 2020-08-07 20:43:15 +08:00
社会易姐QwQ b89ec13dcc Merge pull request #40 from Jannchie/patch-2
修正文档信息
2020-08-07 10:52:27 +08:00
社会易姐QwQ 209794903d Merge pull request #39 from Jannchie/patch-1
添加dislike字段的说明
2020-08-06 22:22:02 +08:00
Jannchie 240745f488 修正文档信息
该API返回的并非在线人数,而是当日投稿稿件数。
2020-08-06 22:08:51 +09:00
Jannchie ea92dd7162 添加dislike字段的说明 2020-08-06 22:05:02 +09:00
社会易姐QwQ b59e706a2d Merge pull request #38 from ThebestkillerTBK/master
补充备注
2020-08-03 17:46:53 +08:00
ThebestkillerTBK ceae488789 补充备注 2020-08-03 17:21:44 +08:00
SocialSisterYi 4ee9074f22 修改并补完风纪委相关 并勘误 2020-08-02 10:06:21 +08:00
zhang-anzhi aeef858c64 add judgement (#19) 2020-08-01 19:58:33 +08:00
SocialSisterYi 6284aab93c 修改readme 2020-08-01 19:55:24 +08:00
社会易姐QwQ c355e70302 Update LICENSE 2020-07-31 20:23:00 +08:00
社会易姐QwQ 3c756d5d08 修改README 2020-07-30 23:35:31 +08:00
SocialSisterYi 0b80143311 增加搜索建议 并勘误 2020-07-30 23:29:40 +08:00
SocialSisterYi 0183d881ba 添加综合搜索 热搜 以及默认搜索 2020-07-29 23:13:29 +08:00
SocialSisterYi 608479ae8d 修改发送私信 2020-07-27 23:49:37 +08:00
社会易姐QwQ 1b653d9165 Merge pull request #32 from thefatwhale/master
添加了 发送私信部分
2020-07-27 23:11:20 +08:00
SocialSisterYi 0796c6924e 添加web端退出登录 2020-07-27 22:59:04 +08:00
thefatwhale e1a94bf342 Update private_msg.md 2020-07-23 15:37:42 +08:00
thefatwhale 487768c615 新增发送私信部分
up有时间改写一下 示例部分,不知道curl该怎么写
2020-07-23 15:33:20 +08:00
SocialSisterYi cc590a323a 修改protobuf弹幕 并勘误 2020-07-23 00:08:20 +08:00
社会易姐QwQ 9091022f08 Merge pull request #30 from setupdata/master
添加proto弹幕
2020-07-22 20:53:18 +08:00
setupdata 649777ba41 添加proto弹幕 2020-07-22 00:51:25 +08:00
setupdata dd512a7282 添加proto弹幕 2020-07-21 22:00:32 +08:00
SocialSisterYi cb7185b509 修改并补完音频流url 并勘误 2020-07-21 17:38:44 +08:00
社会易姐QwQ aeeffc2a43 Merge pull request #28 from thefatwhale/master
激活了 音频-播放&下载地址(音频流)的链接 并更改状态为 x;在music下写了关于的音频流的api文档;
2020-07-20 23:45:12 +08:00
thefatwhale 650f1fc6a0 激活了 播放&下载地址(音频流)的链接 并更改状态为 x
不太会markdown 请仔细检查一下,谢谢!
2020-07-20 01:16:34 +08:00
thefatwhale 605c701441 补全了一些值
补全了一些值
2020-07-20 01:11:04 +08:00
thefatwhale fc402fc071 Create musicStream_url.md
创建 musicStream_url.md 简单写了点,先保存一下
2020-07-19 22:19:43 +08:00
SocialSisterYi 26560f16d9 继续修改文档格式 补完频道相关接口 2020-07-19 21:56:58 +08:00
社会易姐QwQ 33f693dd41 Merge pull request #26 from thefatwhale/patch-1
Update videostream_url.md
2020-07-19 20:13:40 +08:00
SocialSisterYi 57e130070f 继续修改文档格式 补完TV端扫码登录 2020-07-18 23:56:10 +08:00
thefatwhale d6bbfd6b28 Update videostream_url.md
测试后发现加了referer后也出现了403 后来加入不为空的 UA之后发现可以正常在线播放/下载视频(感谢up主的api)
2020-07-18 20:10:02 +08:00
社会易姐QwQ b8035da959 Delete B站API.txt 2020-07-17 23:55:13 +08:00
SocialSisterYi 05ca6b603a 继续修改文档格式 并添加频道相关 2020-07-17 23:50:28 +08:00
SocialSisterYi f272277d22 优化文档格式 2020-07-14 18:44:44 +08:00
SocialSisterYi 08f1671e6c 修改短信登录 2020-07-13 19:12:19 +08:00
SocialSisterYi 695cdd1c8f 添加密码登录 并修改短信登录与人机验证 2020-07-13 19:09:11 +08:00
社会易姐QwQ ed14246246 Merge pull request #20 from kuresaru/master
add geetest & sms login
2020-07-13 16:40:14 +08:00
Kuresaru 0e46ce9a3d 人机验证码+短信登录 2020-07-13 15:06:38 +08:00
SocialSisterYi 3c91c4b699 添加app方式api鉴权 2020-07-11 22:17:40 +08:00
社会易姐QwQ 8c806b6ed2 Merge pull request #16 from zhang-anzhi/master
add a responce code -412 to space api
2020-07-09 16:35:38 +08:00
SocialSisterYi 9796d1773b 添加api鉴权说明 2020-07-09 16:34:50 +08:00
zhang-anzhi 1ab56bbf56 add a responce code -412 to space api 2020-07-09 16:17:56 +08:00
SocialSisterYi 82ad3a3e4a 修改并补完若干电磁力数据 2020-07-07 23:29:15 +08:00
社会易姐QwQ db05623914 Merge pull request #13 from zhang-anzhi/master
add railgun
2020-07-07 22:43:10 +08:00
SocialSisterYi 27278a1fa3 添加分区在线人数 视频地址4K参数 2020-07-07 22:38:42 +08:00
zhang-anzhi 4b487af829 add railgun 2020-07-07 15:20:19 +08:00
SocialSisterYi b243929b6e 修改并补全搜索相关 2020-07-03 19:36:02 +08:00
社会易姐QwQ d6c5890333 Merge pull request #12 from setupdata/master
添加搜索接口
2020-06-27 18:59:15 +08:00
setupdata 8d13895cef 添加搜索接口 2020-06-27 18:33:00 +08:00
SocialSisterYi 710549d170 Merge branch 'master' of https://github.com/SocialSisterYi/bilibili-API-collect 2020-06-24 22:31:13 +08:00
SocialSisterYi ad343398db 添加新历史记录接口 评论举报 表情包等等 2020-06-24 22:31:01 +08:00
社会易姐QwQ 1f7128928e 添加评论区评论总数 2020-06-22 12:22:04 +08:00
SocialSisterYi 7bb0a16f97 添加视频心跳上报 并勘误 2020-06-21 15:38:08 +08:00
SocialSisterYi e0d5830da7 添加若干评论区明细 表情包明细 等等 2020-06-21 13:16:31 +08:00
社会易姐QwQ 70e2afd3ed 添加置顶评论 2020-06-17 13:12:16 +08:00
社会易姐QwQ c67baa6165 添加删除评论 2020-06-16 23:09:49 +08:00
社会易姐QwQ 242076ee49 添加评论点赞与点踩 修改README 2020-06-16 13:04:32 +08:00
社会易姐QwQ a38b184f4d 添加发送评论 2020-06-15 23:21:39 +08:00
社会易姐QwQ 44568e729e 添加查看二级评论明细 2020-06-14 12:54:59 +08:00
社会易姐QwQ 59d743c9d5 添加评论区带楼层号明细 2020-06-13 13:27:43 +08:00
SocialSisterYi ad1fb40194 添加评论区明细以及用户最近的游戏 2020-06-12 14:10:21 +08:00
社会易姐QwQ baad55d2af 添加专栏点赞投币收藏 2020-06-08 23:48:35 +08:00
社会易姐QwQ c36d1deb04 优化文档格式 2020-06-08 23:06:53 +08:00
社会易姐QwQ a73b238934 优化文档格式 2020-06-08 22:44:46 +08:00
社会易姐QwQ ce5bab10f9 添加获取课程视频流url 2020-06-08 13:11:47 +08:00
SocialSisterYi 4617521669 修改知识分区信息 修改用户基本信息 2020-06-06 22:49:34 +08:00
社会易姐QwQ c89689d943 Merge pull request #9 from 1452206376/patch-1
修改sys_notice字段的解释
2020-06-06 21:42:24 +08:00
Small-Li Elec 05deafb142 修改sys_notice字段的解释
可以用API查询 UID:482201881 的信息,里面有这个字段。
我还不会往readme里添加表格,看到这个commit后可以帮我添加一个。
2020-06-06 13:07:21 +08:00
SocialSisterYi 9b1ac192fe 修改README 2020-05-30 17:08:48 +08:00
SocialSisterYi fb35649387 添加课程基本信息以及直播间分区列表 2020-05-30 16:48:50 +08:00
SocialSisterYi b4b1090401 添加音频收藏夹相关 2020-05-29 10:58:29 +08:00
社会易姐QwQ 67a912502c 修改readme 2020-05-20 14:15:56 +08:00
社会易姐QwQ d3913bd092 添加若干音频相关的api 2020-05-20 14:12:33 +08:00
社会易姐QwQ 1163771518 添加实名认证状态与明细 硬币变化记录 2020-05-20 00:53:39 +08:00
社会易姐QwQ 32c1c428e1 Merge pull request #6 from ywwzwb/patch-1
添加了对order 字段的说明
2020-05-19 14:15:23 +08:00
社会易姐QwQ 1380eb5664 Merge branch 'master' into patch-1 2020-05-19 14:14:09 +08:00
社会易姐QwQ d454b1f940 更正视频流url中的错误 2020-05-19 14:09:21 +08:00
yww a04f70561e 添加了对order 字段的说明 2020-05-17 16:10:52 +08:00
SocialSisterYi 79241de6e8 添加充电列表与视频流地址的api 2020-05-16 00:34:06 +08:00
社会易姐QwQ 16ad529c47 调整广告与资讯分区信息 2020-05-14 18:39:12 +08:00
社会易姐QwQ 152ed7b77b 添加直播间管理相关和查询账号安全信息 2020-05-13 21:53:25 +08:00
社会易姐QwQ b4617f92e6 添加购买高级弹幕权限及个人中心和稍后再看的若干api 2020-05-10 18:25:23 +08:00
社会易姐QwQ 0b6508b84c 修改弹幕相关 并添加检查高级弹幕购买权限 2020-05-09 20:57:11 +08:00
社会易姐QwQ cf3585f00d 完善历史记录文档 添加清空 删除 停用相关 并勘误 2020-05-08 18:32:38 +08:00
社会易姐QwQ 7821fd826b 补全readme 2020-05-07 18:35:47 +08:00
社会易姐QwQ cec0afec20 添加撤回弹幕与视频历史记录 2020-05-07 18:33:01 +08:00
SocialSisterYi 98ecfccbf9 添加发送弹幕的api并更新科技区相关信息 2020-05-03 14:23:21 +08:00
SocialSisterYi ffd5f0e8b6 补全readme.md 2020-05-03 00:03:37 +08:00
SocialSisterYi f18eeabd19 添加视频实时广播相关 2020-05-02 23:59:38 +08:00
社会易姐QwQ 7e499eb9cd 添加文章信息的api 2020-04-28 23:16:26 +08:00
社会易姐QwQ 7328aa6f1c 添加高能进度条的api 2020-04-27 18:24:36 +08:00
社会易姐QwQ b12bbd5ddd 添加小黑屋封禁公示和关注的TAG两个api 2020-04-27 00:02:54 +08:00
社会易姐QwQ b25a968e19 添加视频TAG相关 2020-04-25 18:15:21 +08:00
社会易姐QwQ ab9a601ec6 添加图片格式化相关参数 修改置顶视频信息 2020-04-25 17:27:42 +08:00
社会易姐QwQ 3a14612eca 添加修改空间布局和隐私设置的两个api,并修改格式 2020-04-23 18:26:00 +08:00
社会易姐QwQ 8812c09bcd 添加设置和取消置顶视频以及代表作视频的4个api 2020-04-22 23:23:46 +08:00
社会易姐QwQ b60fe78ccb 添加修改个人公告和个人TAG的两个api 2020-04-21 20:54:39 +08:00
社会易姐QwQ 72427064a6 添加粉丝和路人的统计情况api 2020-04-20 23:48:13 +08:00
社会易姐QwQ da03c4a765 添加两个创作中心的api 和一个修改个人签名的api 2020-04-19 18:00:51 +08:00
社会易姐QwQ 4fd408f111 优化文档格式 2020-04-16 18:47:19 +08:00
社会易姐QwQ a0c4316917 修改检查昵称可用性的api 2020-04-14 23:38:00 +08:00
社会易姐QwQ e285edeab9 Merge pull request #4 from hui-shao/master
新增 检测昵称是否可用于注册
2020-04-14 18:37:49 +08:00
hui-shao d97217756a 新增 检测昵称是否可用于注册 2020-04-12 16:15:08 +08:00
SocialSisterYi bde1d070f3 添加动态图片上传的api 2020-04-11 20:57:23 +08:00
SocialSisterYi 994c99caf5 增加了若干个人空间的api 2020-04-10 11:17:32 +08:00
SocialSisterYi 0941945348 添加查询用户公告 追番 个人TAG以及直播间信息的4个api 并勘误 2020-04-08 16:20:28 +08:00
SocialSisterYi fa06265e77 添加未读消息数和未读私信数两个api 2020-04-07 10:58:59 +08:00
SocialSisterYi 35470df4ab 添加查询置顶&代表作&投稿视频3个api 2020-04-07 10:28:23 +08:00
SocialSisterYi 0d962194bd 添加分区最新动态和排行榜的两个api 2020-04-06 21:25:26 +08:00
SocialSisterYi 59f5120d98 添加视频和专栏趋势的api 分区列表添加url路由 2020-04-06 17:23:43 +08:00
SocialSisterYi a07d33cb29 添加创作中心视频与专栏的数据api 2020-04-03 09:41:40 +08:00
SocialSisterYi 25963855f3 添加参数类型 添加了ip查位置的api 2020-04-02 16:53:01 +08:00
SocialSisterYi d534a1bd13 添加微信&支付宝方式充电api 2020-03-25 12:05:53 +08:00
SocialSisterYi 8521edff89 添加bvID相关和POST参数类型 2020-03-23 16:46:13 +08:00
SocialSisterYi 30a6f2c275 增加了充电相关的两个api 2020-03-22 15:21:09 +08:00
SocialSisterYi 08b0207c60 优化格式&添加图标 2020-03-21 14:37:55 +08:00
社会易姐QwQ 3202d4bba3 Merge pull request #2 from yixuan/master
增加历史弹幕 API
2020-03-21 01:37:12 +08:00
Yixuan Qiu 03a7dcb2e6 增加历史弹幕API 2020-03-20 12:26:16 -04:00
SocialSisterYi c1d972cde4 例行更新 2020-03-19 22:42:26 +08:00
SocialSisterYi e6b5f06888 Update README.md 2020-03-18 17:16:59 +08:00
SocialSisterYi 7fa1b2f058 Update README.md 2020-03-18 17:15:36 +08:00
SocialSisterYi 0a44d1d54f 例行更新 2020-03-18 17:13:30 +08:00
SocialSisterYi 753f7ca310 例行更新 2020-03-18 15:05:24 +08:00
SocialSisterYi 531da1ca4b Update README.md 2020-03-18 14:48:34 +08:00
SocialSisterYi a8debd0a91 例行更新 2020-03-18 14:46:54 +08:00
SocialSisterYi b5b5ef581d 例行更新 2020-03-18 14:43:37 +08:00
社会易姐QwQ 619133fb99 Update README.md 2020-03-18 14:37:44 +08:00
社会易姐QwQ 12bf5a1e1c Update README.md 2020-03-18 14:23:36 +08:00
社会易姐QwQ f2a544840a Update README.md 2020-03-18 14:22:02 +08:00
社会易姐QwQ cf4d98d5d3 Update README.md 2020-03-18 14:21:14 +08:00
SocialSisterYi 5ae607f1c1 例行更新 2020-03-18 14:03:05 +08:00
SocialSisterYi 690526e1dd 例行更新 2020-03-18 00:22:28 +08:00
SocialSisterYi 46af4747f3 - 2020-03-17 22:14:06 +08:00
SocialSisterYi 92793a7634 例行更新 2020-03-17 21:52:59 +08:00
SocialSisterYi 396eb24d2b 例行更新 2020-03-17 11:05:26 +08:00
SocialSisterYi 3780d7a571 例行更新 2020-03-16 00:28:23 +08:00
SocialSisterYi 8913059b04 例行更新 2020-03-12 15:37:34 +08:00
SocialSisterYi 7242f32b44 例行更新 2020-03-11 13:50:30 +08:00
SocialSisterYi f7b213bc29 例行更新 2020-03-11 12:11:54 +08:00
SocialSisterYi fc87deb66b 例行更新 2020-03-07 16:14:18 +08:00
SocialSisterYi a372355616 例行更新 2020-03-06 17:23:49 +08:00
SocialSisterYi 0ebcc2995c 例行更新 2020-03-04 20:11:42 +08:00
SocialSisterYi f8bef3c6c4 Merge branch 'master' of https://github.com/SocialSisterYi/bilibili-API-collect 2020-03-04 19:58:03 +08:00
SocialSisterYi ebb5850442 例行更新 2020-03-04 19:57:24 +08:00
社会易姐QwQ 7015f84d3d Update README.md 2020-03-04 19:43:43 +08:00
SocialSisterYi 5f2f0b5483 例行更新 2020-03-04 19:40:19 +08:00
SocialSisterYi 7c2c6e3136 添加二维码登录 2020-03-04 18:55:14 +08:00
SocialSisterYi 5062e3ea19 例行更新 2020-03-04 12:30:32 +08:00
SocialSisterYi d3013e6478 例行更新 2020-03-04 12:14:14 +08:00
SocialSisterYi 28d344667f - 2020-03-04 12:11:31 +08:00
SocialSisterYi 923d13a7c1 Update .gitignore 2020-03-04 10:21:49 +08:00
SocialSisterYi 7a706f0abc - 2020-03-04 09:59:47 +08:00
SocialSisterYi 56e15b9a3b - 2020-03-04 09:58:10 +08:00
社会易姐QwQ d19487e527 Update info.md 2020-03-04 09:42:44 +08:00
SocialSisterYi fb1f895810 - 2020-03-04 09:36:07 +08:00
SocialSisterYi 77877c99cb 更新 2020-03-04 09:29:53 +08:00
社会易姐QwQ 1ae2fadf4c Initial commit 2020-03-04 09:23:16 +08:00
835 changed files with 194385 additions and 189124 deletions
+12
View File
@@ -0,0 +1,12 @@
# These are supported funding model platforms
github: [SocialSisterYi]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: https://afdian.com/@ShakaiAneE
+56
View File
@@ -0,0 +1,56 @@
name: "新增请求"
description: "请求添加文档中未收录的 API 定义"
title: "[新增请求] <title>"
labels: ["新增/Add"]
body:
- type: checkboxes
id: reminders
attributes:
label: "提交前请确认"
options:
- label: "我已阅读贡献指南, 已检索仓库中文档,确认不包含所提及内容,且 Issues、Pull Requests 中无相关提交"
required: true
- type: dropdown
id: source
attributes:
label: "API 来源"
description: "该 API 在何平台中使用"
multiple: true
options:
- "Web 端(含 H5"
- "PC 客户端(Electron"
- "Android 客户端(含粉版、平板版、蓝版、概念版、国际版等)"
- "TV 客户端(含云视听小电视、车机、物联网版等)"
- "iOS 客户端(含粉版、平板版、概念版等)"
- "必剪客户端"
- "漫画客户端"
- "其他(请在详情中备注)"
validations:
required: true
- type: dropdown
id: type
attributes:
label: "API 类型"
description: "API 所使用的协议标准及调用方式"
options:
- "REST"
- "gRPC"
- "长连接数据帧(含 WS、TCP"
- "其他类型(请在详情中备注)"
validations:
required: true
- type: input
id: address
attributes:
label: "API 地址"
description: "REST 的 URL,或 gRPC 的包名+服务名"
placeholder: "eg: https://api.bilibili.com/2333333"
validations:
required: true
- type: textarea
id: details
attributes:
label: "详情描述"
description: "请描述该 API 的使用场景、请求及响应字段等,可附上原始抓包记录"
validations:
required: true
@@ -0,0 +1,29 @@
name: "更新请求"
description: "请求补充或更新文档中已有的 API 定义"
title: "[更新请求] <title>"
labels: ["更新/Update"]
body:
- type: checkboxes
id: reminders
attributes:
label: "提交前请确认"
options:
- label: "我已阅读贡献指南, 已确认文档中相关内容存在错误或不足,且 Issues、Pull Requests 中无相关提交"
required: true
- type: input
id: document_link
attributes:
label: "原文档链接"
description: |
需要更新的文档链接,指定到具体 API<br>
eg: https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/docs/bangumi/info.md#获取剧集明细web端ssidepid方式<br>
https://socialsisteryi.github.io/bilibili-API-collect/docs/bangumi/info.html#获取剧集明细-web端-ssid-epid方式
validations:
required: true
- type: textarea
id: details
attributes:
label: "更新内容"
description: "请指出原文档中与最新 API 行为不符之处,并附上已知的最新改动和验证信息"
validations:
required: true
@@ -0,0 +1,64 @@
name: "错误修正"
description: "发现文档内容有误并提交修正请求"
title: "[错误修正] <title>"
labels: ["错误/Mistakes"]
body:
- type: checkboxes
id: confirmations
attributes:
label: "提交前请确认"
options:
- label: "我已阅读贡献指南, 已确认文档中有错误存在,且 Issues、Pull Requests 中无相同修正"
required: true
- label: "我已验证修正内容的正确性"
required: false
- type: input
id: document_link
attributes:
label: "错误所在文档链接"
description: |
需要修正的文档链接,指定到具体 API<br>
eg: https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/docs/bangumi/info.md#获取剧集明细web端ssidepid方式<br>
https://socialsisteryi.github.io/bilibili-API-collect/docs/bangumi/info.html#获取剧集明细-web端-ssid-epid方式
validations:
required: true
- type: dropdown
id: error_type
attributes:
label: "错误类型"
multiple: true
options:
- "API 地址/鉴权方式错误"
- "参数错误"
- "响应数据结构或响应示例错误"
- "描述性内容错误(如拼写/流程说明)"
- "接口已弃用或下线"
- "其他(请在下文说明)"
validations:
required: true
- type: textarea
id: error_description
attributes:
label: "错误描述"
description: "请详细说明具体错误所在,如有多个错误请编号列出"
validations:
required: true
- type: textarea
id: evidence
attributes:
label: "纠错依据"
description: "如果有,请提供抓包记录等佐证,方便确认。如果有多个错误,请将依据对应错误描述的编号列出"
validations:
required: false
- type: textarea
id: correction
attributes:
label: "修正方案"
description: "如果可以,请提供修正后的内容,如有多个修正点请编号列出"
validations:
required: false
+5
View File
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: 参与讨论
url: https://github.com/SocialSisterYi/bilibili-API-collect/discussions
about: 代码用例、情报分享等内容请使用 Discussions
+37
View File
@@ -0,0 +1,37 @@
name: deploy and publish
on:
workflow_dispatch:
push:
branches:
- master
permissions:
contents: write
jobs:
build-and-deploy:
runs-on: ubuntu-latest
# if: github.repository == 'SocialSisterYi/bilibili-API-collect'
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js environment
uses: actions/setup-node@v4.0.3
with:
node-version: 22
cache: yarn
- name: Build with yarn
run: yarn && yarn build
- name: Commit & Push
run: |
cd .vuepress/dist/
git init -b gh_pages
git config user.name "github-actions"
git config user.email "github-actions@github.com"
git remote add origin https://user:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}
git add -A .
git commit -m "generated"
git push -fu origin gh_pages
+11
View File
@@ -0,0 +1,11 @@
/.vuepress/.cache/
/.vuepress/.temp/
/.vuepress/dist/
/node_modules/
.idea/
.vscode/
.DS_Store
*.swp
/*.*js
/*.json
/*.sh
+8
View File
@@ -0,0 +1,8 @@
import { defineClientConfig } from '@vuepress/client'
import Layout from './theme/layouts/Layout.vue'
export default defineClientConfig({
layouts: {
Layout,
},
})
+64
View File
@@ -0,0 +1,64 @@
import { defineUserConfig } from "vuepress";
import { viteBundler } from '@vuepress/bundler-vite'
import { defaultTheme } from "@vuepress/theme-default";
import markdownItTaskLists from "markdown-it-task-lists";
import { searchPlugin } from "@vuepress/plugin-search";
import { shikiPlugin } from '@vuepress/plugin-shiki'
const base = "/bilibili-API-collect/";
export default defineUserConfig({
bundler: viteBundler(),
base: base,
lang: "zh-CN",
title: "BAC Document",
description: "社区开源的第三方哔哩哔哩 API 文档",
head: [["link", { rel: "icon", href: base + "logo2.jpg" }]],
locales: {
"/": {
lang: "zh-CN",
},
},
theme: defaultTheme({
logo: "/logo2.jpg",
navbar: [
{ text: "首页", link: "/" },
{ text: "目录", link: "/#🍴目录" },
{ text: "贡献指南", link: "/CONTRIBUTING.html" },
{
text: "相关社群",
children: [
{
text: "QQ交流群(综合技术交流)",
link: "http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=ympvb3LAPT-Ulu3ezhGqbkJ8zXMKImOX&authKey=z1KdkOdKO3wytN43m9K6On9nBtnDL4pAoD6VQHCipFBb9TasNDKuDHCmOE6TF3uc&noverify=0&group_code=191187164",
},
{
text: "Telegram交流群(Github Bot推送)",
link: "https://t.me/bilibili_API_collect_community",
},
],
},
],
repo: "https://github.com/SocialSisterYi/bilibili-API-collect",
docsBranch: "master",
editLinkText: "在 GitHub 上编辑此页",
colorMode: "auto",
themePlugins: {
prismjs: false
}
}),
plugins: [
searchPlugin({}),
shikiPlugin({
theme: 'dark-plus',
langs: [
'javascript', 'typescript', 'markdown', 'protobuf', 'json', 'jsonc',
'shell', 'go', 'html', 'http', 'java', 'kotlin', 'python', 'rust', 'c',
'c++', 'cs', 'php', 'swift', 'text'
]
})
],
extendsMarkdown: (md) => {
md.use(markdownItTaskLists);
}
});

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

+28
View File
@@ -0,0 +1,28 @@
<template>
<ParentLayout>
<template #page-bottom>
<footer style="text-align: center">
Copyright © 2020-2025
<a href="https://github.com/SocialSisterYi/">SocialSisterYi</a> |
<a
href="https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/LICENSE"
>CC-BY-NC-4.0 Licensed</a
>
</footer>
</template>
</ParentLayout>
</template>
<style>
/* README.md */
.shields a {
margin: auto .25em;
}
.shields a::after {
display: none !important;
}
</style>
<script setup>
import ParentLayout from '@vuepress/theme-default/layouts/Layout.vue';
</script>
-43
View File
File diff suppressed because one or more lines are too long
-94
View File
File diff suppressed because one or more lines are too long
+285
View File
@@ -0,0 +1,285 @@
# 贡献指南
欢迎来到 bilibili-API-collect 社区贡献指南,本文主要面向想要对本项目参与贡献的用户, 请务必认真阅读本文正文与潜在的注释
## 总则
[bilibili-API-collect](https://github.com/SocialSisterYi/bilibili-API-collect) 项目(简称 BAC 或 b-a-c)是一个仅用于学习研究、社区开源、公益性质的 [B 站(哔哩哔哩)](https://www.bilibili.com/)API(应用程序接口)文档,使用 [CC-BY-NC 4.0 协议](https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/LICENSE)开源,它将无差别收集整理相关的**主站业务接口**。
该项目使用 [Markdown](https://zh.wikipedia.org/zh-cn/Markdown) 语法进行文档书写,按照业务类型及功能以**路径**+**文件**形式索引,任何用户都可通过 Issue、Pull Request 与 Discussion 提供自己分析出的接口地址与使用说明。
本项目收集的接口类型包括但不限于 REST API、gRPC、WebSocket,文档内统一优先使用安全套接字协议,如 `https``securityRpc``wss`
## Issue、Discussion 与社群讨论
对文档内容存在**不理解**之处、以及发现文档内容有所**缺失**或**错误**,可直接提出,强烈建议以提交 **Issue** 的形式 添加 / 补充 / 更新 文档中的说明,以发起 **Discussion** 的形式提出问题、代码用例、情报分享,并希望关于本项目的各种交流都是**公开进行**的,因为这样才可以保证关键信息的一致性。
提交 Issue 请遵守以下原则:
1. 标题需要点明 API 的用处, `<title>` 要替换为标题主要内容而不是保留不动,切勿仅填写 `补充``修复`,形式良好的标题可以是 `[新增请求] 新增 xx 接口``[更新请求] xx 接口地址已失效``[更新请求] xx 接口的参数有变化`
2. 正文请按照 Issue 模板进行填写,标明 API 来源(Web、Android、iOS、TV 等)、API 类型(REST、gRPC、WebSocket 等)、API 地址
3. 详情描述需要提供该 API 的使用场景、请求及响应字段等,可附上原始抓包记录 (文本格式优先);在更新时还需指出原文档中与最新 API 行为不符之处,并附上已知的最新改动。例如:“在前端页面某地址 / APP 某界面访问某 API(标明地址),它的某参数与文档中不符(标明文档地址)”
发起 Discussion 请遵守以下原则:
1. 标题言简意骇,说明欲提出的问题要点,如 `如何通过 xx 接口获取 yy``关于 xx 字段意义的探讨``建议将 xx 加入 yy 分类` 等标题;切勿使用表意含糊不清或索取性的标题,如 `怎么解决风控``搜索的接口是什么``好兄弟有没有投稿的接口` 等标题
2. Discussion 正文应对遇到的问题进行尽可能详细的描述,展开并聚焦有关的信息,例如: “按照文档中某位置的说明进行了某操作,为什么无法获得预期结果”、“请问某 API 的某字段的具体含义是什么”
3. 提出问题时注意[提问的智慧](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md)并且[别像弱智一样提问](https://github.com/tangx/Stop-Ask-Questions-The-Stupid-Ways)
同时,您还可以通过加入社群的方式参与讨论
- QQ 交流群:[邀请链接](https://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=ympvb3LAPT-Ulu3ezhGqbkJ8zXMKImOX&authKey=z1KdkOdKO3wytN43m9K6On9nBtnDL4pAoD6VQHCipFBb9TasNDKuDHCmOE6TF3uc&noverify=0&group_code=191187164)
- Telegram 交流群:[@bilibili_API_collect_community](https://t.me/bilibili_API_collect_community)
::: tip 提示
QQ 交流群为综合技术交流群(兼 Owner 的粉丝群),可交流探讨任何技术,包括但不限于 [BAC 项目](https://github.com/SocialSisterYi/bilibili-API-collect)
Telegram 交流群主要用作 [BAC 项目](https://github.com/SocialSisterYi/bilibili-API-collect)的 Github Bot 接收,也可以进行项目相关的讨论,但不建议在此讨论交流其他内容(公开群)
:::
::: warning 注意
群内讨论同样需要遵守**公开交流**的原则,以及群内会定期清理不活跃成员。
**QQ 交流群**的加群问题答案可以去 [Owner 的主页](https://github.com/SocialSisterYi) Contact 部分找到,如果您填写“我不知道,从 Github 来的”那么管理员将有理由禁止您进群讨论!
:::
::: danger 禁止
项目 Issue 及其相关社群中**禁止**询问讨论 风控解除、爬虫(采集)、破解、漏洞利用、买卖代码和账号 相关内容,抵制基于本项目进行的一切黑产行为!
:::
## 目录与路径结构
### 目录
文档目录以 **Markdown 无序列表**语法写在 [README.md](README.md) 中,使用缩进标识文档的层级,如 `视频` 下存在 `基本信息``快照``视频推荐``TAG` 等子分类,使用 **Markdown 复选框**语法该标注文档是否编写完成, 新文档写完后记得在目录添加入口
```markdown
- [ ] 视频
- [x] 基本信息
- [x] 快照
- [x] 视频推荐
- [ ] TAG
```
### 路径
路径层级应当与文档目录一致,以文件夹的形式存放在项目中的 `/docs` 路径下,命名统一使用英文小写,如 `video``danmaku``comment`, 不建议出现 `&` 等特殊字符
二级、三级路径应当存在二级三级目录,可选添加 `README.md` 以描述该子目录
### 文件
各个子接口集整理为 Markdown (.md) 文件,命名统一使用英文小写,如 `info.md``action.md``list.md`
文档文件中用于存放相关的接口的说明,如 `video/` 下的 `info.md`,存在 `查询视频基本信息``查询视频简介``查询视频分P列表` 等内容
## Markdown 文档内容格式
文档使用 [VuePress](https://vuepress.vuejs.org/) 生成,可以使用 [VuePress Markdown 扩展语法](https://vuepress.vuejs.org/guide/markdown.html)编写
注:以下文档范式主要针对接口类文档, 可根据**实际情况**进行调整, 你也可以使用 [`json-apidoc-gen`](https://github.com/SessionHu/json-apidoc-gen) 工具直接生成模板自行填充内容. 非接口类文档, 如算法等, 可以参考已有的内容
### 头部
文档首行为**一级标签**格式标题,如 `# 用户基本信息`
**文档头部不需要手写索引**,索引由 VuePress 自动生成
### 接口说明
文档中可存在多个接口说明,应当遵守同一范式,依次排列在文档中
接口说明分为 `标题``地址``说明``请求参数``响应正文``示例` 这些部分
接口标题为**二级以下**的标签<!--别顶着一级标题就开写-->,接口地址使用**块引用**语法,地址只保留 REST API 路径,不应携带 query 等内容
接口地址下方需要注明接口的请求方法,如 `GET``POST``PUT` 等,使用*斜体*语法
若接口存在认证或鉴权,需要在说明中注明,如 `Cookie (SESSDATA)``APP`(认证是针对用户的,鉴权是针对接口使用的)
其他使用说明也可写在这里,如 `限制游客访问的视频需要登录`
e.g.
```markdown
## 获取视频详细信息_web端
> https://api.bilibili.com/x/web-interface/view
*请求方法: GET*
认证方式: Cookie (SESSDATA)
限制游客访问的视频需要登录
```
**请求参数**应在**接口说明**的下方,应注明参数类型 URL 参数或正文参数(正文参数应注明 `Content-Type`,如 `application/x-www-form-urlencoded``multipart/form-data`),使用**加粗**语法
对象的字段及其含义使用**表格**进行整理,表头统一依次为 `参数名``类型``内容``必要性``备注`,使用 `object``number``string``boolean``number[]``string[]``file` 等这种类似 TypeScript 的类型系统,必要性为 `必要``非必要``必要 (可选)` 等,表格内每个字段为一行
e.g.
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | --------- | ----------- | ----------------- |
| aid | num | 稿件 avid | 必要 (可选) | avid 与 bvid 任选 |
| bvid | str | 稿件 bvid | 必要 (可选) | avid 与 bvid 任选 |
**响应正文**应在**请求参数**的下方,接口响应的数据格式应标注,如 `JSON 回复``XML 回复``ProtoBuf 回复`,使用**加粗**语法
JSON Object 或 ProtoBuf Message 应以对象的**表格**形式书写,表头为 `根对象``xx 中的 yy 对象``xx.yy.zz 对象`,若对象位于数组中则为 `xx 数组中的对象``xx[] 中的对象`
表头统一依次为 `字段``类型``内容``备注`,类型为 JSON / Protobuf 的标准类型,具体同请求参数一致
不明确定义的字段说明在内容的末尾添加问号,如 `播放数?`;定义尚未明确的字段使用 `(?)` 在内容中占位,并在备注中填写 `作用尚不明确`
多个对象及数组,使用**遍历树**的顺序进行排列, 若数组中的每一项结构均相同也可以直接省略为像 `xxx 数组中的对象` 这样的格式
e.g.
`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | ----------- | ------------ |
| bvid | str | 稿件 bvid | |
| aid | num | 稿件 avid | |
| videos | num | 稿件分P总数 | 默认为 1 |
| tid | num | 分区 tid | |
| no_cache | bool | (?) | 作用尚不明确 |
Json Array 或 ProtoBuf Repeated 类型使用数组的**表格**形式书写,表头统一依次为 `项``类型``内容``备注`,无限长度数组表尾需要添加**省略号**
数组每项内容若与实际数据有关联,`内容` 字段则可标为 `(n+1)P 视频内容` 这样的形式
e.g.
`data` 中的 `pages` 数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------------- | ------------- |
| 0 | obj | 1P 视频内容 | 无分 P 仅有此项 |
| n | obj | (n+1)P 视频内容 | |
| …… | obj | …… | …… |
**示例**部分位于所有**响应正文**部分下方,需要**加粗**格式,分为请求命令示例与响应体示例两部分
请求命令示例为一段可测试该接口的 cURL 命令或某种编程语言的代码,使用**代码块**语法书写,命令应当尽可能简短、便于使人阅读, 代码缩进为 **2****空格 (U+0020)**
示例命令中的认证信息应做**脱敏处理**,如 Cookie、Token、access_key 等,可替换为 `xxx` 占位
示例命令前后可以适当添加一些文字说明
响应体示例为一段格式化后的 JSON 或 ProtoBuf Message,使用**代码块**语法书写, 代码块语言填写清楚, 注意 `json` `jsonc` 区别. 并使用 `<details>` 标签进行折叠, 仍一律使用 **2****空格** 进行缩进
e.g.
````markdown
**示例:**
获取视频 `av85440373` 的基本信息
```shell
curl -G 'https://api.bilibili.com/x/web-interface/view' \
--data-urlencode 'aid=85440373'
```
<details>
<summary>查看响应示例:</summary>
```jsonc
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"bvid": "BV117411r7R1",
"aid": 85440373,
"videos": 1,
"tid": 28,
"tname": "原创音乐",
"copyright": 1,
// ...
}
}
```
</details>
````
### 枚举值与属性位
接口返回或请求中若存在一些 enum 类型或二进制属性位,应当单独进行探讨,如视频的属性位 `attribute` 或视频清晰度 `qn`
这些值及其说明使用**表格**进行整理,表头统一为 `` / `代码` / ``、`含义`、`备注`
这些枚举值或属性位的用法应附加文字说明
e.g.
| 值 | 含义 | 备注 |
| ---- | ------------- | ------------------------------------------------------------ |
| 6 | 240P 极速 | 仅 MP4 格式支持<br />仅 `platform=html5` 时有效 |
| 16 | 360P 流畅 | |
| 32 | 480P 清晰 | |
| 64 | 720P 高清 | WEB 端默认值<br />B 站前端需要登录才能选择,但是直接发送请求可以不登录就拿到 720P 的取流地址<br />**无 720P 时则为 720P60** |
| 74 | 720P60 高帧率 | 需要登录认证 |
| 80 | 1080P 高清 | TV 端与 APP 端默认值<br />需要登录认证 |
## Proto 定义格式
proto 文件为 [Protocol Buffers](https://protobuf.dev/) 以及 [gRPC](https://grpc.io/docs/) 的数据结构体定义,多用于客户端的接口,本文档也做相关的收集
存放于项目的 `/grpc_api` 路径下,使用包名进行路径层级的组织,如:
```
/grpc_api/bilibili/main/community/reply/v1/reply.proto
/grpc_api/bilibili/app/archive/v1/archive.proto
/grpc_api/bilibili/app/view/v1/view.proto
```
proto 文件内使用**单行注释**标注字段或对象的含义,如:
```protobuf
// UP主信息
message Author {
// UP主mid
int64 mid = 1;
// UP主昵称
string name = 2;
// UP主头像url
string face = 3;
}
```
## 文档提交
### 拉取 (Pull) 与 提交 (Commit)
本项目仓库仅托管于 GitHub, 使用 Git 作为版本控制系统, 你需要对两者有基础的了解
请先 fork, 然后在自己的 fork 上进行修改<!--废话-->
提交的标题不要使用默认的 `Update xxx`, 请遵循 [Conventional Commits (约定式提交) 规范](https://www.conventionalcommits.org/zh-hans/v1.0.0/), 标题语言可根据个人习惯
<!--下面这两段属于常识, 但好像还有人不知道-->
当发现远程与本地仓库不一致时, 若你操作的 fork 的 branch 无打开的 PR, 建议使用变基拉取, 而不是生成一个额外的合并提交的合并拉取, 反之则相反
移动文件请使用 `git mv`, 而不是删除并添加同一个文件于不同位置 (该问题在 VSCode 的 GUI 版 Git 中存在<!--某个易姓owner干过-->), 以便后续 blame 操作
### 拉取请求 (Pull Request)
使用 拉取请求 (Pull Request, PR) 将修改后的文档提交到 `master` 分支,标题需写明修改或新增的内容, 同样也需要遵循约定式提交规范, `gh_pages` 分支将在 PR 合并后自动更新
如果你还没有完成计划的全部修改, 请创建 Draft Pull Request 表示你还没有做好被合并的准备 ~~(抢占先机, 精神可嘉, 值得鼓励)~~
PR 正文使用 **无序列表** 写明更改的每一项内容, 可以使用复选框表明进度, 需要关闭的 Issue 请使用 `close #xxxx` 这样的格式一并包含在内
如果内容包含代码等, 请一并提供测试的输入与输出的文本或截图, 最好可以附上完整的测试环境及相关可执行文件等
<!--这也是常识喵-->
PR 合并后, 请及时删除或更新分支. 特别是在使用压缩合并或变基合并后, 请 `Discard changes` 或直接删除分支, 以免在下一次 PR 后出现重复相同提交的问题
+352
View File
@@ -0,0 +1,352 @@
Creative Commons Attribution-NonCommercial 4.0 International
Creative Commons Corporation ("Creative Commons") is not a law firm and
does not provide legal services or legal advice. Distribution of
Creative Commons public licenses does not create a lawyer-client or
other relationship. Creative Commons makes its licenses and related
information available on an "as-is" basis. Creative Commons gives no
warranties regarding its licenses, any material licensed under their
terms and conditions, or any related information. Creative Commons
disclaims all liability for damages resulting from their use to the
fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and
conditions that creators and other rights holders may use to share
original works of authorship and other material subject to copyright and
certain other rights specified in the public license below. The
following considerations are for informational purposes only, are not
exhaustive, and do not form part of our licenses.
- Considerations for licensors: Our public licenses are intended for
use by those authorized to give the public permission to use
material in ways otherwise restricted by copyright and certain other
rights. Our licenses are irrevocable. Licensors should read and
understand the terms and conditions of the license they choose
before applying it. Licensors should also secure all rights
necessary before applying our licenses so that the public can reuse
the material as expected. Licensors should clearly mark any material
not subject to the license. This includes other CC-licensed
material, or material used under an exception or limitation to
copyright. More considerations for licensors :
wiki.creativecommons.org/Considerations_for_licensors
- Considerations for the public: By using one of our public licenses,
a licensor grants the public permission to use the licensed material
under specified terms and conditions. If the licensor's permission
is not necessary for any reasonfor example, because of any
applicable exception or limitation to copyrightthen that use is not
regulated by the license. Our licenses grant only permissions under
copyright and certain other rights that a licensor has authority to
grant. Use of the licensed material may still be restricted for
other reasons, including because others have copyright or other
rights in the material. A licensor may make special requests, such
as asking that all changes be marked or described. Although not
required by our licenses, you are encouraged to respect those
requests where reasonable. More considerations for the public :
wiki.creativecommons.org/Considerations_for_licensees
Creative Commons Attribution-NonCommercial 4.0 International Public
License
By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution-NonCommercial 4.0 International Public License ("Public
License"). To the extent this Public License may be interpreted as a
contract, You are granted the Licensed Rights in consideration of Your
acceptance of these terms and conditions, and the Licensor grants You
such rights in consideration of benefits the Licensor receives from
making the Licensed Material available under these terms and conditions.
- Section 1 Definitions.
- a. Adapted Material means material subject to Copyright and
Similar Rights that is derived from or based upon the Licensed
Material and in which the Licensed Material is translated,
altered, arranged, transformed, or otherwise modified in a
manner requiring permission under the Copyright and Similar
Rights held by the Licensor. For purposes of this Public
License, where the Licensed Material is a musical work,
performance, or sound recording, Adapted Material is always
produced where the Licensed Material is synched in timed
relation with a moving image.
- b. Adapter's License means the license You apply to Your
Copyright and Similar Rights in Your contributions to Adapted
Material in accordance with the terms and conditions of this
Public License.
- c. Copyright and Similar Rights means copyright and/or similar
rights closely related to copyright including, without
limitation, performance, broadcast, sound recording, and Sui
Generis Database Rights, without regard to how the rights are
labeled or categorized. For purposes of this Public License, the
rights specified in Section 2(b)(1)-(2) are not Copyright and
Similar Rights.
- d. Effective Technological Measures means those measures that,
in the absence of proper authority, may not be circumvented
under laws fulfilling obligations under Article 11 of the WIPO
Copyright Treaty adopted on December 20, 1996, and/or similar
international agreements.
- e. Exceptions and Limitations means fair use, fair dealing,
and/or any other exception or limitation to Copyright and
Similar Rights that applies to Your use of the Licensed
Material.
- f. Licensed Material means the artistic or literary work,
database, or other material to which the Licensor applied this
Public License.
- g. Licensed Rights means the rights granted to You subject to
the terms and conditions of this Public License, which are
limited to all Copyright and Similar Rights that apply to Your
use of the Licensed Material and that the Licensor has authority
to license.
- h. Licensor means the individual(s) or entity(ies) granting
rights under this Public License.
- i. NonCommercial means not primarily intended for or directed
towards commercial advantage or monetary compensation. For
purposes of this Public License, the exchange of the Licensed
Material for other material subject to Copyright and Similar
Rights by digital file-sharing or similar means is NonCommercial
provided there is no payment of monetary compensation in
connection with the exchange.
- j. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance,
distribution, dissemination, communication, or importation, and
to make material available to the public including in ways that
members of the public may access the material from a place and
at a time individually chosen by them.
- k. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and
of the Council of 11 March 1996 on the legal protection of
databases, as amended and/or succeeded, as well as other
essentially equivalent rights anywhere in the world.
- l. You means the individual or entity exercising the Licensed
Rights under this Public License. Your has a corresponding
meaning.
- Section 2 Scope.
- a. License grant.
- 1. Subject to the terms and conditions of this Public
License, the Licensor hereby grants You a worldwide,
royalty-free, non-sublicensable, non-exclusive, irrevocable
license to exercise the Licensed Rights in the Licensed
Material to:
- A. reproduce and Share the Licensed Material, in whole
or in part, for NonCommercial purposes only; and
- B. produce, reproduce, and Share Adapted Material for
NonCommercial purposes only.
- 2. Exceptions and Limitations. For the avoidance of doubt,
where Exceptions and Limitations apply to Your use, this
Public License does not apply, and You do not need to comply
with its terms and conditions.
- 3. Term. The term of this Public License is specified in
Section 6(a).
- 4. Media and formats; technical modifications allowed. The
Licensor authorizes You to exercise the Licensed Rights in
all media and formats whether now known or hereafter
created, and to make technical modifications necessary to do
so. The Licensor waives and/or agrees not to assert any
right or authority to forbid You from making technical
modifications necessary to exercise the Licensed Rights,
including technical modifications necessary to circumvent
Effective Technological Measures. For purposes of this
Public License, simply making modifications authorized by
this Section 2(a)(4) never produces Adapted Material.
- 5. Downstream recipients.
- A. Offer from the Licensor Licensed Material. Every
recipient of the Licensed Material automatically
receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this
Public License.
- B. No downstream restrictions. You may not offer or
impose any additional or different terms or conditions
on, or apply any Effective Technological Measures to,
the Licensed Material if doing so restricts exercise of
the Licensed Rights by any recipient of the Licensed
Material.
- 6. No endorsement. Nothing in this Public License
constitutes or may be construed as permission to assert or
imply that You are, or that Your use of the Licensed
Material is, connected with, or sponsored, endorsed, or
granted official status by, the Licensor or others
designated to receive attribution as provided in Section
3(a)(1)(A)(i).
- b. Other rights.
- 1. Moral rights, such as the right of integrity, are not
licensed under this Public License, nor are publicity,
privacy, and/or other similar personality rights; however,
to the extent possible, the Licensor waives and/or agrees
not to assert any such rights held by the Licensor to the
limited extent necessary to allow You to exercise the
Licensed Rights, but not otherwise.
- 2. Patent and trademark rights are not licensed under this
Public License.
- 3. To the extent possible, the Licensor waives any right to
collect royalties from You for the exercise of the Licensed
Rights, whether directly or through a collecting society
under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly
reserves any right to collect such royalties, including when
the Licensed Material is used other than for NonCommercial
purposes.
- Section 3 License Conditions.
Your exercise of the Licensed Rights is expressly made subject to
the following conditions.
- a. Attribution.
- 1. If You Share the Licensed Material (including in modified
form), You must:
- A. retain the following if it is supplied by the
Licensor with the Licensed Material:
- i. identification of the creator(s) of the Licensed
Material and any others designated to receive
attribution, in any reasonable manner requested by
the Licensor (including by pseudonym if designated);
- ii. a copyright notice;
- iii. a notice that refers to this Public License;
- iv. a notice that refers to the disclaimer of
warranties;
- v. a URI or hyperlink to the Licensed Material to
the extent reasonably practicable;
- B. indicate if You modified the Licensed Material and
retain an indication of any previous modifications; and
- C. indicate the Licensed Material is licensed under this
Public License, and include the text of, or the URI or
hyperlink to, this Public License.
- 2. You may satisfy the conditions in Section 3(a)(1) in any
reasonable manner based on the medium, means, and context in
which You Share the Licensed Material. For example, it may
be reasonable to satisfy the conditions by providing a URI
or hyperlink to a resource that includes the required
information.
- 3. If requested by the Licensor, You must remove any of the
information required by Section 3(a)(1)(A) to the extent
reasonably practicable.
- 4. If You Share Adapted Material You produce, the Adapter's
License You apply must not prevent recipients of the Adapted
Material from complying with this Public License.
- Section 4 Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that
apply to Your use of the Licensed Material:
- a. for the avoidance of doubt, Section 2(a)(1) grants You the
right to extract, reuse, reproduce, and Share all or a
substantial portion of the contents of the database for
NonCommercial purposes only;
- b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material;
and
- c. You must comply with the conditions in Section 3(a) if You
Share all or a substantial portion of the contents of the
database.
For the avoidance of doubt, this Section 4 supplements and does not
replace Your obligations under this Public License where the
Licensed Rights include other Copyright and Similar Rights.
- Section 5 Disclaimer of Warranties and Limitation of Liability.
- a. Unless otherwise separately undertaken by the Licensor, to
the extent possible, the Licensor offers the Licensed Material
as-is and as-available, and makes no representations or
warranties of any kind concerning the Licensed Material, whether
express, implied, statutory, or other. This includes, without
limitation, warranties of title, merchantability, fitness for a
particular purpose, non-infringement, absence of latent or other
defects, accuracy, or the presence or absence of errors, whether
or not known or discoverable. Where disclaimers of warranties
are not allowed in full or in part, this disclaimer may not
apply to You.
- b. To the extent possible, in no event will the Licensor be
liable to You on any legal theory (including, without
limitation, negligence) or otherwise for any direct, special,
indirect, incidental, consequential, punitive, exemplary, or
other losses, costs, expenses, or damages arising out of this
Public License or use of the Licensed Material, even if the
Licensor has been advised of the possibility of such losses,
costs, expenses, or damages. Where a limitation of liability is
not allowed in full or in part, this limitation may not apply to
You.
- c. The disclaimer of warranties and limitation of liability
provided above shall be interpreted in a manner that, to the
extent possible, most closely approximates an absolute
disclaimer and waiver of all liability.
- Section 6 Term and Termination.
- a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply
with this Public License, then Your rights under this Public
License terminate automatically.
- b. Where Your right to use the Licensed Material has terminated
under Section 6(a), it reinstates:
- 1. automatically as of the date the violation is cured,
provided it is cured within 30 days of Your discovery of the
violation; or
- 2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect
any right the Licensor may have to seek remedies for Your
violations of this Public License.
- c. For the avoidance of doubt, the Licensor may also offer the
Licensed Material under separate terms or conditions or stop
distributing the Licensed Material at any time; however, doing
so will not terminate this Public License.
- d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
License.
- Section 7 Other Terms and Conditions.
- a. The Licensor shall not be bound by any additional or
different terms or conditions communicated by You unless
expressly agreed.
- b. Any arrangements, understandings, or agreements regarding the
Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
- Section 8 Interpretation.
- a. For the avoidance of doubt, this Public License does not, and
shall not be interpreted to, reduce, limit, restrict, or impose
conditions on any use of the Licensed Material that could
lawfully be made without permission under this Public License.
- b. To the extent possible, if any provision of this Public
License is deemed unenforceable, it shall be automatically
reformed to the minimum extent necessary to make it enforceable.
If the provision cannot be reformed, it shall be severed from
this Public License without affecting the enforceability of the
remaining terms and conditions.
- c. No term or condition of this Public License will be waived
and no failure to comply consented to unless expressly agreed to
by the Licensor.
- d. Nothing in this Public License constitutes or may be
interpreted as a limitation upon, or waiver of, any privileges
and immunities that apply to the Licensor or You, including from
the legal processes of any jurisdiction or authority.
Creative Commons is not a party to its public licenses. Notwithstanding,
Creative Commons may elect to apply one of its public licenses to
material it publishes and in those instances will be considered the
"Licensor." The text of the Creative Commons public licenses is
dedicated to the public domain under the CC0 Public Domain Dedication.
Except for the limited purpose of indicating that material is shared
under a Creative Commons public license or as otherwise permitted by the
Creative Commons policies published at creativecommons.org/policies,
Creative Commons does not authorize the use of the trademark "Creative
Commons" or any other trademark or logo of Creative Commons without its
prior written consent including, without limitation, in connection with
any unauthorized modifications to any of its public licenses or any
other arrangements, understandings, or agreements concerning use of
licensed material. For the avoidance of doubt, this paragraph does not
form part of the public licenses.
Creative Commons may be contacted at creativecommons.org.
+408
View File
@@ -0,0 +1,408 @@
<p align="center">
<img src="./assets/img/logo.png" width="250" height="200" />
</p>
<h1 align="center">哔哩哔哩 - API 收集整理</h1>
<p align="center" class="shields">
<a href="https://github.com/SocialSisterYi/bilibili-API-collect/issues" style="text-decoration: none;">
<img src="https://img.shields.io/github/issues/SocialSisterYi/bilibili-API-collect.svg?style=flat&color=red" alt="GitHub issues"/>
</a>
<a href="https://github.com/SocialSisterYi/bilibili-API-collect/stargazers" style="text-decoration: none;">
<img src="https://img.shields.io/github/stars/SocialSisterYi/bilibili-API-collect.svg?style=flat&color=yellow" alt="GitHub stars"/>
</a>
<a href="https://github.com/SocialSisterYi/bilibili-API-collect/network" style="text-decoration: none;">
<img src="https://img.shields.io/github/forks/SocialSisterYi/bilibili-API-collect.svg?style=flat&color=blue" alt="GitHub forks"/>
</a>
<a href="https://github.com/SocialSisterYi/bilibili-API-collect/actions" style="text-decoration: none;">
<img src="https://img.shields.io/github/actions/workflow/status/SocialSisterYi/bilibili-API-collect/vuepress-deploy.yml?style=flat" alt="Build status"/>
</a>
<a href="https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/LICENSE" style="text-decoration: none;">
<img src="https://img.shields.io/badge/License-CC%20BY--NC%204.0-lightgrey.svg?style=flat" alt="GitHub license"/>
</a>
</p>
<p align="center" class="trendshift">
<a href="https://trendshift.io/repositories/3218" target="_blank">
<img src="https://trendshift.io/api/badge/repositories/3218" alt="Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/>
</a>
</p>
<h3 align="center">野生 API 文档</h3>
<h3 align="center">不断更新中....</h3>
本项目旨在对 B 站 WEB、APP、TV 等客户端中,散落在世界各地的野生 API 进行收集整理,研究使用方法并对其进行说明,运用了黑箱法、控制变量法、代码逆向分析、拆包及反编译法、网络抓包法等研究办法
本文档探讨的对象是主站业务接口,[官方开放平台](https://openhome.bilibili.com/doc) 和 [直播开放平台](https://open-live.bilibili.com/document/) 均不属于本项目范畴,请移步
B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接口为 WebSocketREST API 接口请求数据大多为 url query 表单或 JSON,返回数据大多为 JSON 或 Protobuf,强制使用 https 协议
📖阅读地址:[Github Pages](https://socialsisteryi.github.io/bilibili-API-collect/)
小小的 Demo~~av583785685~~ [视频失效原因](https://shakaianee.top/archives/56/) ([Youtube 备链](https://www.youtube.com/watch?v=nfF91Z6fqGk))
::: warning 声明
1. 本项目遵守 CC-BY-NC 4.0 协议,禁止一切商业使用,如需转载请注明作者 ID
2. **请勿滥用,本项目仅用于学习和测试!请勿滥用,本项目仅用于学习和测试!请勿滥用,本项目仅用于学习和测试!**
3. 利用本项目提供的接口、文档等造成不良影响及后果与本人无关
4. 由于本项目的特殊性,可能随时停止开发或删档
5. 本项目为开源项目,不接受任何形式的催单和索取行为,更不容许存在付费内容
6. **上传任何信息时请注意脱敏,删去账户密码、敏感 cookies 等可能泄漏个人信息的数据(例如 `SESSDATA`、`bili_jct` 之类的 cookies**
:::
## 🌱参与贡献
欢迎各位 dalao 对本项目做出贡献,也希望每个使用者都能提出宝贵的意见
目前本项目存在的问题包括但不限于:
1. 文档二级目录尚未完成
2. 部分文档较旧,修改与更新没有跟进
3. 目前文档使用 Markdown 语法编写,不易生成编程语言的 SDK,详见 [#604](https://github.com/SocialSisterYi/bilibili-API-collect/issues/604)
更多信息请浏览 [贡献指南](CONTRIBUTING.md)
## 🍴目录
计划整理分类 & 目录:(文档已完结请选中 checkbox)
- [ ] [接口签名与验证](docs/misc/sign)
- [x] [APP API 签名](docs/misc/sign/APP.md)`appkey``sign`
- [x] [已知的 APPKey](docs/misc/sign/APPKey.md)
- [x] [Wbi 签名](docs/misc/sign/wbi.md)`wts``w_rid`
- [ ] [bili_ticket](docs/misc/sign/bili_ticket.md)
- [ ] [v_voucher 验证](docs/misc/sign/v_voucher.md)
- [ ] [杂项](docs/misc)
- [x] [获取当前时间戳](docs/misc/time_stamp.md)
- [x] [公共错误码](docs/misc/errcode.md)
- [x] [图片格式化](docs/misc/picture.md)
- [x] [表达式渲染](docs/misc/mathjax.md)
- [x] [bvid 说明](docs/misc/bvid_desc.md)
- [ ] [设备唯一标识 BUVID](docs/misc/device_identity.md)
- [ ] [获取 buvid3 / buvid4 / b_nut](docs/misc/buvid3_4.md)
- [ ] [b23.tv 短链](docs/misc/b23tv.md)
- [ ] [gRPC API 接口定义](grpc_api)
- [ ] [登录](docs/login)
- [x] [登录操作 (人机认证)](docs/login/login_action)
- [x] [短信登录](docs/login/login_action/SMS.md)
- [x] [密码登录](docs/login/login_action/password.md)
- [x] [二维码登录](docs/login/login_action/QR.md)
- [ ] SNS 登录 (QQ & 微信 & 微博)
- [x] [登录基本信息](docs/login/login_info.md)
- [ ] [个人中心](docs/login/member_center.md)
- [ ] [注销登录](docs/login/exit.md)
- [x] [登录记录](docs/login/login_notice.md)
- [x] [Web 端 Cookie 刷新](docs/login/cookie_refresh.md)
- [ ] [消息中心](docs/message)
- [ ] [通知类消息](docs/message/msg.md)
- [x] [私信](docs/message/private_msg.md)
- [x] [私信消息类型、内容说明](docs/message/private_msg_content.md)
- [x] [设置](docs/message/settings.md)
- [ ] [用户](docs/user)
- [x] [基本信息](docs/user/info.md)
- [x] [状态数](docs/user/status_number.md)
- [x] [关系](docs/user/relation.md)
- [ ] [个人空间](docs/user/space.md)
- [x] ~~[检查昵称是否可注册](docs/user/check_nickname.md)~~ (已失效)
- [x] [用户注册](docs/user/register.md)
- [x] [用户认证类型一览](docs/user/official_role.md)
- [ ] [加入老粉计划](docs/user/contract.md)
- [x] [所有粉丝勋章](docs/user/medals.md)
- [ ] [批量查询](docs/user/batch.md)
- [ ] [大会员](docs/vip)
- [ ] [大会员基本信息](docs/vip/info.md)
- [ ] [大会员中心](docs/vip/center.md)
- [ ] [大会员签到](docs/vip/clockin.md)
- [ ] [大会员操作](docs/vip/action.md)
- [ ] [视频](docs/video)
- [x] [视频分区一览 (分区代码)](docs/video/video_zone.md)
- [ ] [视频分区一览 (分区代码) (v2)](docs/video/video_zone_v2.md)
- [x] [基本信息](docs/video/info.md)
- [x] ~~[状态数](docs/video/status_number.md)~~ (已失效)
- [x] [快照](docs/video/snapshot.md)
- [x] [点赞 & 投币 & 收藏 & 分享](docs/video/action.md)
- [ ] [TAG](docs/video/tags.md)
- [x] [视频推荐](docs/video/recommend.md)
- [x] [播放 & 下载地址 (视频流)](docs/video/videostream_url.md)
- [ ] [互动视频](docs/video/interact_video.md)
- [x] [高能进度条](docs/video/pbp.md)
- [ ] [信息上报 (心跳及记录历史)](docs/video/report.md)
- [x] [视频属性数据](docs/video/attribute_data.md)
- [x] [视频在线人数](docs/video/online.md)
- [x] [视频 AI 摘要](docs/video/summary.md)
- [ ] [稿件投诉](docs/video/appeal.md)
- [ ] [视频合集](docs/video/collection.md)
- [ ] [播放器](docs/video/player.md)
- [ ] [剧集 (番剧、影视)](docs/bangumi)
- [ ] [基本信息](docs/bangumi/info.md)
- [ ] [播放 & 下载地址(视频流)](docs/bangumi/videostream_url.md)
- [ ] [时间轴](docs/bangumi/timeline.md)
- [ ] [索引](docs/bangumi/season_index.md)
- [ ] [追番相关](docs/bangumi/follow.md)
- [ ] 状态数
- [ ] 操作
- [ ] [视频弹幕](docs/danmaku)
- [x] [protobuf 实时弹幕](docs/danmaku/danmaku_proto.md)
- [x] [protobuf 弹幕元数据(BAS 弹幕 / 互动弹幕)](docs/danmaku/danmaku_view_proto.md)
- [x] [xml 实时弹幕](docs/danmaku/danmaku_xml.md)
- [x] [历史弹幕](docs/danmaku/history.md)
- [x] [快照](docs/danmaku/snapshot.md)
- [ ] [弹幕操作](docs/danmaku/action.md)
- [ ] 高级弹幕
- [ ] 屏蔽管理
- [ ] [智能防挡弹幕](docs/danmaku/webmask.md)
- [x] [弹幕个人配置修改](docs/danmaku/config.md)
- [x] [名词解释](docs/danmaku/buzzword.md)
- [x] [点赞查询](docs/danmaku/thumbup.md)
- [x] [视频笔记](docs/note)
- [x] [笔记列表](docs/note/list.md)
- [x] [笔记详细信息](docs/note/info.md)
- [x] [笔记操作](docs/note/action.md)
- [ ] [图文](docs/opus)
- [x] [图文详细](docs/opus/detail.md)
- [x] [空间图文](docs/opus/space.md)
- [ ] [功能模块](docs/opus/features.md)
- [ ] [富文本节点](docs/opus/rich_text_nodes.md)
- [ ] [专栏](docs/article)
- [ ] [专栏内容](docs/article/view.md)
- [ ] [专栏分类](docs/article/category.md)
- [x] [卡片信息](docs/article/card.md)
- [X] [基本信息](docs/article/info.md)
- [X] [点赞 & 投币 & 收藏 & 分享](docs/article/action.md)
- [X] [文集基本信息](docs/article/articles.md)
- [ ] [动态](docs/dynamic)
- [ ] [获取动态列表](docs/dynamic/all.md)
- [ ] [用户空间动态](docs/dynamic/space.md)
- [ ] [动态基本信息](docs/dynamic/basicInfo.md)
- [ ] [动态卡片信息字段](docs/dynamic/card_info.md)
- [ ] [获取动态详情](docs/dynamic/detail.md)
- [ ] [动态类型对照](docs/dynamic/dynamic_enum.md)
- [ ] [动态信息](docs/dynamic/content.md)
- [ ] [发送 & 转载动态](docs/dynamic/publish.md)
- [ ] [根据关键字搜索用户(at 别人时的填充列表)](docs/dynamic/atlist.md)
- [ ] [操作](docs/dynamic/action.md)
- [ ] [话题](docs/dynamic/topic.md)
- [ ] [动态内容](docs/dynamic/get_dynamic_detail.md)
- [ ] [导航栏动态](docs/dynamic/nav.md)
- [x] [首页公告栏](docs/dynamic/banner.md)
- [ ] [创作中心](docs/creativecenter)
- [ ] [投稿](docs/creativecenter/upload.md)
- [ ] [统计与数据](docs/creativecenter/statistics&data.md)
- [ ] 列表查询相关
- [x] [电磁力数据](docs/creativecenter/railgun.md)
- [ ] [合集管理](docs/creativecenter/season.md)
- [ ] [视频相关杂项](docs/creativecenter/videos.md)
- [ ] [图文操作](docs/creativecenter/opus.md)
- [ ] [音频](docs/audio)
- [x] [歌曲基本信息](docs/audio/info.md)
- [ ] [歌单 & 音频收藏夹详细信息](docs/audio/music_list.md)
- [ ] [状态数](docs/audio/status_number.md)
- [ ] [投币 & 收藏](docs/audio/action.md)
- [x] [播放 & 下载地址(音频流)](docs/audio/musicstream_url.md)
- [x] [音频榜单](docs/audio/rank.md)
- [ ] [排行榜 & 最新视频](docs/video_ranking)
- [ ] [排行榜](docs/video_ranking/ranking.md)
- [ ] [热门视频](docs/video_ranking/popular.md)
- [ ] [最新视频](docs/video_ranking/dynamic.md)
- [x] [入站必刷视频](docs/video_ranking/precious_videos.md)
- [ ] [搜索](docs/search)
- [x] [搜索请求](docs/search/search_request.md)
- [x] [搜索结果](docs/search/search_response.md)
- [x] [默认搜索 & 热搜](docs/search/hot.md)
- [x] [搜索建议](docs/search/suggest.md)
- [ ] [小黑屋](docs/blackroom)
- [ ] 基本信息
- [x] [封禁公示](docs/blackroom/banlist.md)
- [x] [风纪委员及众裁案件相关](docs/blackroom/jury)
- [x] [风纪委员基本信息](docs/blackroom/jury/base_info.md)
- [x] [众裁案件基本信息](docs/blackroom/jury/judgement_info.md)
- [x] [裁决操作](docs/blackroom/jury/action.md)
- [x] [评论区](docs/comment)
- [x] [评论区明细](docs/comment/list.md)
- [x] [操作](docs/comment/action.md)
- [ ] [表情](docs/emoji)
- [x] [表情及表情包信息](docs/emoji/list.md)
- [x] [操作](docs/emoji/action.md)
- [x] [实时广播(通讯协议)](docs/broadcast)
- [x] [视频内广播](docs/broadcast/video_room.md)
- [ ] [充电](docs/electric)
- [ ] [包月充电](docs/electric/monthly.md)
- [ ] 自定义充电
- [x] [B 币方式充电](docs/electric/Bcoin.md)
- [x] [微信 & 支付宝方式充电](docs/electric/WeChat&Alipay.md)
- [x] [充电留言](docs/electric/charge_msg.md)
- [x] [充电列表](docs/electric/charge_list.md)
- [ ] ~~[相簿](docs/album)~~ (已下线)
- [x] ~~[基本信息](docs/album/info.md)~~
- [x] ~~[相簿列表](docs/album/list.md)~~
- [x] ~~[推荐作者](docs/album/recommend_author.md)~~
- [x] ~~[活动列表](docs/album/activity_list.md)~~
- [x] ~~[操作](docs/album/action.md)~~
- [ ] ~~投稿~~
- [ ] [历史记录 & 稍后再看](docs/historytoview)
- [x] [历史记录](docs/historytoview/history.md)
- [x] [稍后再看](docs/historytoview/toview.md)
- [ ] [收藏夹](docs/fav)
- [x] [基本信息](docs/fav/info.md)
- [x] [收藏夹内容](docs/fav/list.md)
- [ ] [收藏夹操作](docs/fav/action.md)
- [ ] [课程](docs/cheese)
- [x] [课程基本信息](docs/cheese/info.md)
- [ ] 已购课程
- [ ] 分区推荐列表
- [ ] 操作
- [x] [播放 & 下载地址(视频流)](docs/cheese/videostream_url.md)
- [ ] [直播](docs/live)
- [ ] [直播间基本信息](docs/live/info.md)
- [ ] [直播推荐](docs/live/recommend.md)
- [ ] [直播分区](docs/live/live_area.md)
- [ ] [直播间管理](docs/live/manage.md)
- [ ] 直播间操作
- [ ] [直播视频流](docs/live/live_stream.md)
- [ ] [直播信息流](docs/live/message_stream.md)
- [ ] [直播红包](docs/live/redpocket.md)
- [ ] [直播间表情包](docs/live/emoticons.md)
- [ ] [直播间用户实用 API](docs/live/user.md)
- [x] [直播间禁言相关](docs/live/silent_user_manage.md)
- [ ] [关注UP直播情况](docs/live/follow_up_live.md)
- [ ] [直播心跳上报](docs/live/report.md)
- [ ] [直播间弹幕](docs/live/danmaku.md)
- [ ] [直播流水](docs/live/live_bill.md)
- [ ] [礼物相关](docs/live/gift.md)
- [ ] [大航海/粉丝团](docs/live/guard.md)
- [ ] [直播回放](docs/live/live_replay.md)
- [ ] [直播数据](docs/live/live_data.md)
- [ ] [直播投票](docs/live/live_vote.md)
- [ ] [活动](docs/activity)
- [ ] [活动列表](docs/activity/list.md)
- [ ] [活动主题信息](docs/activity/info.md)
- [ ] [转正答题](docs/newbie_exam)
- [x] [查询信息](docs/newbie_exam/info.md)
- [x] [拉取题目](docs/newbie_exam/fetch.md)
- [x] [操作](docs/newbie_exam/action.md)
- [ ] [青少年守护](docs/teenager/)
- [x] [青少年模式](docs/teenager/teenager_mode.md)
- [ ] 亲子平台
- [ ] 课堂模式
- [ ] [B 币钱包](docs/wallet/)
- [ ] [基本信息](docs/wallet/info.md)
- [ ] B 币充值
- [ ] 贝壳相关
- [ ] [哔哩哔哩漫画](docs/manga)
- [ ] 用户信息
- [x] [签到](docs/manga/ClockIn.md)
- [x] [积分商城](docs/manga/point_shop.md)
- [x] [漫画操作](docs/manga/Comic.md)
- [ ] [漫画任务操作](docs/manga/Activity.md)
- [x] [漫画赛季](docs/manga/Season.md)
- [x] [漫读券/已购相关](docs/manga/User.md)
- [x] [下载](docs/manga/Download.md)
- [x] [data.index 解析](docs/manga/index_file.md)
- [ ] [获取轻享卡信息](docs/manga/light_card.md)
- [ ] 哔哩哔哩游戏
- [ ] [终端网络查询](docs/clientinfo)
- [x] [基于 IP 的地理位置查询](docs/clientinfo/ip.md)
- [ ] [客服中心](docs/customerservice)
- [ ] [客服消息](docs/customerservice/msg.md)
- [ ] [web 端组件](docs/web_widget)
- [x] [分区当日投稿数](docs/web_widget/zone_upload.md)
- [x] [404 页漫画收集](docs/web_widget/404_manga.md)
- [ ] [首页横幅头图](docs/web_widget/header.md)
- [ ] [分区横幅轮播图](docs/web_widget/banner.md)
- [ ] [APP 端组件](docs/APP_widget)
- [x] [开屏图片 + 恰饭珍贵录像](docs/APP_widget/splash.md)
- [ ] [获取最新 APP 版本](docs/APP_widget/ver.md)
- [ ] [个性装扮](docs/garb)
- [x] [APP 主题](docs/garb/skin.md)
- [x] [主题色](docs/garb/color.md)
- [ ] [装扮/收藏集](docs/garb/lottery.md)
## ✨鸣谢
你们的存在,让社区更美好
[![contributors](https://opencollective.com/bilibili-api-collect/contributors.svg?width=860&button=false)](https://github.com/SocialSisterYi/bilibili-API-collect/graphs/contributors)
## 📖相关协议基础
HTTP 协议:[传送门](https://www.cnblogs.com/an-wen/p/11180076.html)
JSON 序列格式:[传送门](https://www.sojson.com/json/json_index.html)
XML 序列格式:[传送门](https://www.w3school.com.cn/xml/xml_intro.asp)
ProtoBuf 序列格式:[传送门](https://www.jianshu.com/p/a24c88c0526a)
## 💦交流
<img src="https://avatars.githubusercontent.com/u/45892418" width="100" height="100" />
⚠注意:开源社群欢迎交流探讨,**拒绝**咨询、**不支持**合作,**黑产号**一经发现立即拉黑并举报相关 SRC
- QQ 交流群:[邀请链接](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=ympvb3LAPT-Ulu3ezhGqbkJ8zXMKImOX&authKey=z1KdkOdKO3wytN43m9K6On9nBtnDL4pAoD6VQHCipFBb9TasNDKuDHCmOE6TF3uc&noverify=0&group_code=191187164)
- Telegram 交流群:[@bilibili_API_collect_community](https://t.me/bilibili_API_collect_community)
## 🧋发电
欢迎来~~交♂易~~,大家的支持就是我继续开发的动力!
~~请可爱的易姐喝杯奶茶~~
WeChat & Alipay
<img src="./assets/img/sponsorQR.jpg" width="300" height="300" />
OR Aifadian[https://afdian.com/@ShakaiAneE](https://afdian.com/@ShakaiAneE)
## 🔗相关项目推荐
### 库及文档
- [jingyuexing/bilibiliAPI](https://github.com/jingyuexing/bilibiliAPI)
- [fython/BilibiliAPIDocs](https://github.com/fython/BilibiliAPIDocs)
- [czp3009/bilibili-api](https://github.com/czp3009/bilibili-api)
- [Vespa314/bilibili-api](https://github.com/Vespa314/bilibili-api)
- [Pengfei00/bili-utils](https://github.com/Pengfei00/bili-utils): bilibili 工具箱
- [lovelyyoshino/Bilibili-Live-API](https://github.com/lovelyyoshino/Bilibili-Live-API): Bilibili 直播/番剧 API 文档
- [flaribbit/bilibili-manga-spider](https://github.com/flaribbit/bilibili-manga-spider): Bilibili 漫画爬虫
- [simon300000/bili-api](https://github.com/simon300000/bili-api): Bilibili Node.js API
- [iyear/biligo](https://github.com/iyear/biligo): Bilibili API SDK in Golang
- [bilibili-openplatform/demo](https://github.com/bilibili-openplatform/demo): 哔哩哔哩开放平台示例代码库
- [ddiu8081/blive-message-listener](https://github.com/ddiu8081/blive-message-listener): Bilibili-live danmu listener with type. Bilibili 直播间弹幕监听库,支持类型输出。
- [Nemo2011/bilibili-api](https://github.com/Nemo2011/bilibili-api): 哔哩哔哩常用API调用。支持视频、番剧、用户、频道、音频等功能。工具齐全。
- [CuteReimu/bilibili](https://github.com/CuteReimu/bilibili): 哔哩哔哩API的Go版本SDK
### 成品
- [NullPointerException/AnimePipe](https://codeberg.org/NullPointerException/AnimePipe): 功能完善的Android流媒体综合客户端,支持Bilibili, Youtube, NicoNico
- [3Shain/Comen](https://github.com/3Shain/Comen): 基于h5的B站直播弹幕姬
- [AncientLysine/BiliLocal](https://github.com/AncientLysine/BiliLocal): 本地弹幕播放器
- [zyzsdy/biliroku](https://github.com/zyzsdy/biliroku): bilibili 生放送(直播)录制
- [otakustay/danmaku-to-ass](https://github.com/otakustay/danmaku-to-ass): A站B站弹幕转字幕文件
- [bilibili-helper/bilibili-helper-o](https://github.com/bilibili-helper/bilibili-helper-o): 哔哩哔哩 (bilibili.com) 辅助工具,可以下载视频,查询弹幕发送人以及一些十分实用的直播区功能。
- [apachecn/CDNDrive](https://github.com/apachecn/CDNDrive): 基于B站相簿上传的文件分块索引存储器
- [Hsury/BiliDrive](https://github.com/Hsury/BiliDrive): 基于B站相簿上传的文件分块索引存储器
- [Tsuk1ko/bilibili-live-chat](https://github.com/Tsuk1ko/bilibili-live-chat): 无后端的仿 YouTube Live Chat 风格的简易 Bilibili 弹幕姬
- [ironmanic/crawler_target_users_good](https://github.com/ironmanic/crawler_target_users_good): 搜索bilibili特定视频,为评论 点赞,关注,私信,一体化服务
- [dd-center/DDatElectron](https://github.com/dd-center/DDatElectron): DD@Home 分布式项目, 桌面客户端
- [dd-center/vtbs.moe](https://github.com/dd-center/vtbs.moe): B站VTB数据中心
- [the1812/Bilibili-Evolved](https://github.com/the1812/Bilibili-Evolved): 强大的哔哩哔哩增强脚本: 下载视频、音乐、封面、弹幕 / 简化直播间、评论区、首页 / 自定义顶栏、删除广告、夜间模式 / 触屏设备支持
- [xlzy520/bili-short-url](https://github.com/xlzy520/bili-short-url): 哔哩哔哩短链生成器
- [zjkwdy/bili_app_splash](https://github.com/zjkwdy/bili_app_splash): B站壁纸娘和开屏图自动下载,每天使用Actions自动同步
- [Jannchie/BiliOB](https://github.com/Jannchie/BiliOB): BiliOB观测者是一个观测B站UP主及视频数据变化,并予以分析的Web应用程序
- [biliob233/biliob233.github.io](https://github.com/biliob233/biliob233.github.io): ~~无可奉告~~
- [biliup/biliup](https://github.com/biliup/biliup): 全自动录播、投稿工具,支持录制直播弹幕,也支持Youtube、twitch直播回放列表自动搬运到B站
- [ddiu8081/bilicli](https://github.com/ddiu8081/bilicli): Bilibili-live danmu dashboard in your terminal.
- [MotooriKashin/Bilibili-Old](https://github.com/MotooriKashin/Bilibili-Old): 恢复旧版Bilibili页面,为了那些念旧的人。
- [SocialSisterYi/bcut-asr](https://github.com/SocialSisterYi/bcut-asr): 使用必剪API的语音字幕识别
- [CzJam/Bili_Realtime_Data](https://github.com/CzJam/Bili_Realtime_Data): Bilibili粉丝与视频实时数据统计
- [kingwingfly/fav](https://github.com/kingwingfly/fav): 自动同步bili收藏夹、合集视频到本地的CLI工具(Rust实现,并提供一个文档测试完善的Rust风格的用于构建有状态爬虫的核心库)
- [linyuye/Bilibili_crawler](https://github.com/linyuye/Bilibili_crawler): 基于bilibili懒加载api爬取b站动态,视频等评论区
- [ouzexi/bilibili-hot-tags](https://github.com/ouzexi/bilibili-hot-tags): 一个B站热门视频标签检索统计小工具
- [SpenserCai/rust-video-downloader](https://github.com/SpenserCai/rust-video-downloader): Rust实现的高性能跨平台视频下载器(目前支持Bilibili),基本覆盖了BBDown的所有功能。
### 其他
- [kuresaru/geetest-validator](https://github.com/kuresaru/geetest-validator): GeeTest 调试器
- [bloomrpc/bloomrpc](https://github.com/bloomrpc/bloomrpc): GUI Client for GRPC Services
- [grpc/grpc](https://github.com/grpc/grpc): The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
- [glideapps/quicktype](https://github.com/glideapps/quicktype): quicktype generates strongly-typed models and serializers from JSON, JSON Schema, TypeScript, and GraphQL queries, making it a breeze to work with JSON type-safely in many programming languages. 一键生成多种语言的JSON反序列化所需类,以便于快速反序列化,有网页版
- [SessionHu/json-apidoc-gen](https://github.com/SessionHu/json-apidoc-gen): Simple CLI tool for generating BAC document template
-1
View File
@@ -1 +0,0 @@
import{_ as e,c as o,b as n,o as a}from"./app-Dgsdh8A6.js";const l={};function r(s,t){return a(),o("div",null,t[0]||(t[0]=[n("p",null,"404 Not Found",-1)]))}const _=e(l,[["render",r]]),i=JSON.parse('{"path":"/404.html","title":"","lang":"zh-CN","frontmatter":{"layout":"NotFound"},"git":{},"filePathRelative":null}');export{_ as comp,i as data};
File diff suppressed because one or more lines are too long
-208
View File
@@ -1,208 +0,0 @@
import{_ as r,c,b as n,a as p,d as a,e,w as o,r as D,o as t}from"./app-Dgsdh8A6.js";const i={};function y(d,s){const l=D("RouteLink");return t(),c("div",null,[s[16]||(s[16]=n("h1",{id:"app-api-签名与鉴权",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#app-api-签名与鉴权"},[n("span",null,"APP API 签名与鉴权")])],-1)),s[17]||(s[17]=n("h2",{id:"app-api-签名特性",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#app-api-签名特性"},[n("span",null,"APP API 签名特性")])],-1)),n("p",null,[s[1]||(s[1]=a("部分客户端专用的 REST API 存在基于参数签名的鉴权,需要使用规定的")),s[2]||(s[2]=n("code",null,"appkey",-1)),s[3]||(s[3]=a("及其对应的")),s[4]||(s[4]=n("code",null,"appsec",-1)),s[5]||(s[5]=a("与原始请求参数进行签名计算,部分")),s[6]||(s[6]=n("code",null,"AppKey",-1)),s[7]||(s[7]=a("及与之对应的")),s[8]||(s[8]=n("code",null,"AppSec",-1)),s[9]||(s[9]=a("已经被公开:见该文档 ")),e(l,{to:"/docs/misc/sign/APPKey.html"},{default:o(()=>s[0]||(s[0]=[a("APPKey")])),_:1,__:[0]})]),s[18]||(s[18]=p('<ul><li><p>不同 <code>appkey</code> 对应不同的 app (如客户端、概念版、必剪、漫画、bililink等)</p></li><li><p>不同平台同 app 也会存在不同的 <code>appkey</code> (如安卓端、ios端、TV端等)</p></li><li><p>同平台同 app 下不同功能也会存在不同的 <code>appkey</code>(如登录专用、取流专用等)</p></li><li><p>不同版本的客户端的 <code>appkey</code> 也可能不同</p></li><li><p><strong>appkey与appsec一一对应</strong></p></li></ul><h2 id="app-api-签名算法" tabindex="-1"><a class="header-anchor" href="#app-api-签名算法"><span>APP API 签名算法</span></a></h2><ol><li>首先为参数中添加<code>appkey</code>字段</li><li>然后按照参数的 Key 重新排序</li><li>再对这个 Key-Value 进行 url query 序列化,并拼接与之对应的<code>appsec</code> (盐) 进行 <strong>md5 Hash 运算</strong>32-bit 字符小写),该 hash 便是 API 签名</li><li>最后在参数尾部增添<code>sign</code>字段,它的 Value 为上一步计算所得的 hash,一并作为表单或 Query 提交</li></ol><h2 id="demo" tabindex="-1"><a class="header-anchor" href="#demo"><span>Demo</span></a></h2><p>该 Demo 提供 <a href="#python">Python</a>、<a href="#java">Java</a>、<a href="#typescript-javascript">TS/JS</a>、<a href="#swift">Swift</a>、<a href="#cplusplus">C++</a> 语言例程</p><p>使用 appkey = <code>1d8b6e7d45233436</code>, appsec = <code>560c52ccd288fed045859ed18bffd973</code> 对如下 <code>params</code> 参数进行签名</p>',6)),n("p",null,[s[11]||(s[11]=a("上述示例")),s[12]||(s[12]=n("code",null,"appkey",-1)),s[13]||(s[13]=a("、")),s[14]||(s[14]=n("code",null,"AppSec",-1)),s[15]||(s[15]=a("均来自文档 ")),e(l,{to:"/docs/misc/sign/APPKey.html"},{default:o(()=>s[10]||(s[10]=[a("APPKey")])),_:1,__:[10]})]),s[19]||(s[19]=p(`<h3 id="python" tabindex="-1"><a class="header-anchor" href="#python"><span>Python</span></a></h3><div class="language-python line-numbers-mode" data-highlighter="shiki" data-ext="python" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-python"><span class="line"><span style="color:#C586C0;">import</span><span style="color:#D4D4D4;"> hashlib</span></span>
<span class="line"><span style="color:#C586C0;">import</span><span style="color:#D4D4D4;"> urllib.parse</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;">def</span><span style="color:#DCDCAA;"> appsign</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">params</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">appkey</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">appsec</span><span style="color:#D4D4D4;">):</span></span>
<span class="line"><span style="color:#CE9178;"> &#39;为请求参数进行 APP 签名&#39;</span></span>
<span class="line"><span style="color:#D4D4D4;"> params.update({</span><span style="color:#CE9178;">&#39;appkey&#39;</span><span style="color:#D4D4D4;">: appkey})</span></span>
<span class="line"><span style="color:#D4D4D4;"> params = </span><span style="color:#4EC9B0;">dict</span><span style="color:#D4D4D4;">(</span><span style="color:#DCDCAA;">sorted</span><span style="color:#D4D4D4;">(params.items())) </span><span style="color:#6A9955;"># 按照 key 重排参数</span></span>
<span class="line"><span style="color:#D4D4D4;"> query = urllib.parse.urlencode(params) </span><span style="color:#6A9955;"># 序列化参数</span></span>
<span class="line"><span style="color:#D4D4D4;"> sign = hashlib.md5((query+appsec).encode()).hexdigest() </span><span style="color:#6A9955;"># 计算 api 签名</span></span>
<span class="line"><span style="color:#D4D4D4;"> params.update({</span><span style="color:#CE9178;">&#39;sign&#39;</span><span style="color:#D4D4D4;">:sign})</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#D4D4D4;"> params</span></span>
<span class="line"></span>
<span class="line"><span style="color:#D4D4D4;">appkey = </span><span style="color:#CE9178;">&#39;1d8b6e7d45233436&#39;</span></span>
<span class="line"><span style="color:#D4D4D4;">appsec = </span><span style="color:#CE9178;">&#39;560c52ccd288fed045859ed18bffd973&#39;</span></span>
<span class="line"><span style="color:#D4D4D4;">params = {</span></span>
<span class="line"><span style="color:#CE9178;"> &#39;id&#39;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">114514</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#CE9178;"> &#39;str&#39;</span><span style="color:#D4D4D4;">:</span><span style="color:#CE9178;">&#39;1919810&#39;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#CE9178;"> &#39;test&#39;</span><span style="color:#D4D4D4;">:</span><span style="color:#CE9178;">&#39;いいよ,こいよ&#39;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span>
<span class="line"><span style="color:#D4D4D4;">signed_params = appsign(params, appkey, appsec)</span></span>
<span class="line"><span style="color:#D4D4D4;">query = urllib.parse.urlencode(signed_params)</span></span>
<span class="line"><span style="color:#DCDCAA;">print</span><span style="color:#D4D4D4;">(signed_params)</span></span>
<span class="line"><span style="color:#DCDCAA;">print</span><span style="color:#D4D4D4;">(query)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>输出内容分别是进行 APP 签名的后参数的 key-Value 以及 url query 形式</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-"><span class="line"><span>{&#39;appkey&#39;: &#39;1d8b6e7d45233436&#39;, &#39;id&#39;: 114514, &#39;str&#39;: &#39;1919810&#39;, &#39;test&#39;: &#39;いいよ,こいよ&#39;, &#39;sign&#39;: &#39;01479cf20504d865519ac50f33ba3a7d&#39;}</span></span>
<span class="line"><span>appkey=1d8b6e7d45233436&amp;id=114514&amp;str=1919810&amp;test=%E3%81%84%E3%81%84%E3%82%88%EF%BC%8C%E3%81%93%E3%81%84%E3%82%88&amp;sign=01479cf20504d865519ac50f33ba3a7d</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="java" tabindex="-1"><a class="header-anchor" href="#java"><span>Java</span></a></h3><div class="language-java line-numbers-mode" data-highlighter="shiki" data-ext="java" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-java"><span class="line"><span style="color:#569CD6;">package</span><span style="color:#D4D4D4;"> io.github.cctyl;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.nio.charset.StandardCharsets;</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.util.HashMap;</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.util.Map;</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.security.MessageDigest;</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.security.NoSuchAlgorithmException;</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.net.URLEncoder;</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.util.TreeMap;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;">/**</span></span>
<span class="line"><span style="color:#6A9955;"> * </span><span style="color:#569CD6;">@author</span><span style="color:#6A9955;"> cctyl</span></span>
<span class="line"><span style="color:#6A9955;"> */</span></span>
<span class="line"><span style="color:#569CD6;">public</span><span style="color:#569CD6;"> class</span><span style="color:#4EC9B0;"> AppSigner</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;"> private</span><span style="color:#569CD6;"> static</span><span style="color:#569CD6;"> final</span><span style="color:#4EC9B0;"> String</span><span style="color:#9CDCFE;"> APP_KEY</span><span style="color:#D4D4D4;"> = </span><span style="color:#CE9178;">&quot;1d8b6e7d45233436&quot;</span><span style="color:#D4D4D4;">;</span></span>
<span class="line"><span style="color:#569CD6;"> private</span><span style="color:#569CD6;"> static</span><span style="color:#569CD6;"> final</span><span style="color:#4EC9B0;"> String</span><span style="color:#9CDCFE;"> APP_SEC</span><span style="color:#D4D4D4;"> = </span><span style="color:#CE9178;">&quot;560c52ccd288fed045859ed18bffd973&quot;</span><span style="color:#D4D4D4;">;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;"> public</span><span style="color:#569CD6;"> static</span><span style="color:#4EC9B0;"> String</span><span style="color:#DCDCAA;"> appSign</span><span style="color:#D4D4D4;">(</span><span style="color:#4EC9B0;">Map</span><span style="color:#D4D4D4;">&lt;</span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;">, </span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;">&gt; </span><span style="color:#9CDCFE;">params</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#6A9955;"> // 为请求参数进行 APP 签名</span></span>
<span class="line"><span style="color:#9CDCFE;"> params</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">put</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;appkey&quot;</span><span style="color:#D4D4D4;">, APP_KEY);</span></span>
<span class="line"><span style="color:#6A9955;"> // 按照 key 重排参数</span></span>
<span class="line"><span style="color:#4EC9B0;"> Map</span><span style="color:#D4D4D4;">&lt;</span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;">, </span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;">&gt; </span><span style="color:#9CDCFE;">sortedParams</span><span style="color:#D4D4D4;"> = </span><span style="color:#C586C0;">new</span><span style="color:#4EC9B0;"> TreeMap</span><span style="color:#D4D4D4;">&lt;&gt;(params);</span></span>
<span class="line"><span style="color:#6A9955;"> // 序列化参数</span></span>
<span class="line"><span style="color:#4EC9B0;"> StringBuilder</span><span style="color:#9CDCFE;"> queryBuilder</span><span style="color:#D4D4D4;"> = </span><span style="color:#C586C0;">new</span><span style="color:#DCDCAA;"> StringBuilder</span><span style="color:#D4D4D4;">();</span></span>
<span class="line"><span style="color:#C586C0;"> for</span><span style="color:#D4D4D4;"> (</span><span style="color:#4EC9B0;">Map</span><span style="color:#D4D4D4;">.</span><span style="color:#4EC9B0;">Entry</span><span style="color:#D4D4D4;">&lt;</span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;">, </span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;">&gt; </span><span style="color:#9CDCFE;">entry</span><span style="color:#C586C0;"> :</span><span style="color:#9CDCFE;"> sortedParams</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">entrySet</span><span style="color:#D4D4D4;">()) {</span></span>
<span class="line"><span style="color:#C586C0;"> if</span><span style="color:#D4D4D4;"> (</span><span style="color:#9CDCFE;">queryBuilder</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">length</span><span style="color:#D4D4D4;">() &gt; </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#9CDCFE;"> queryBuilder</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&#39;&amp;&#39;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> queryBuilder</span></span>
<span class="line"><span style="color:#D4D4D4;"> .</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">URLEncoder</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">encode</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">entry</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">getKey</span><span style="color:#D4D4D4;">(), </span><span style="color:#9CDCFE;">StandardCharsets</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">UTF_8</span><span style="color:#D4D4D4;">))</span></span>
<span class="line"><span style="color:#D4D4D4;"> .</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&#39;=&#39;</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#D4D4D4;"> .</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">URLEncoder</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">encode</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">entry</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">getValue</span><span style="color:#D4D4D4;">(), </span><span style="color:#9CDCFE;">StandardCharsets</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">UTF_8</span><span style="color:#D4D4D4;">));</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#DCDCAA;"> generateMD5</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">queryBuilder</span><span style="color:#D4D4D4;"> .</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(APP_SEC).</span><span style="color:#DCDCAA;">toString</span><span style="color:#D4D4D4;">());</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;"> private</span><span style="color:#569CD6;"> static</span><span style="color:#4EC9B0;"> String</span><span style="color:#DCDCAA;"> generateMD5</span><span style="color:#D4D4D4;">(</span><span style="color:#4EC9B0;">String</span><span style="color:#9CDCFE;"> input</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#C586C0;"> try</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#4EC9B0;"> MessageDigest</span><span style="color:#9CDCFE;"> md</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">MessageDigest</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">getInstance</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;MD5&quot;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#4EC9B0;"> byte</span><span style="color:#D4D4D4;">[] </span><span style="color:#9CDCFE;">digest</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">md</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">digest</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">input</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">getBytes</span><span style="color:#D4D4D4;">());</span></span>
<span class="line"><span style="color:#4EC9B0;"> StringBuilder</span><span style="color:#9CDCFE;"> sb</span><span style="color:#D4D4D4;"> = </span><span style="color:#C586C0;">new</span><span style="color:#DCDCAA;"> StringBuilder</span><span style="color:#D4D4D4;">();</span></span>
<span class="line"><span style="color:#C586C0;"> for</span><span style="color:#D4D4D4;"> (</span><span style="color:#4EC9B0;">byte</span><span style="color:#9CDCFE;"> b</span><span style="color:#C586C0;"> :</span><span style="color:#D4D4D4;"> digest) {</span></span>
<span class="line"><span style="color:#9CDCFE;"> sb</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">String</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">format</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;%02x&quot;</span><span style="color:#D4D4D4;">, b));</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#9CDCFE;"> sb</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">toString</span><span style="color:#D4D4D4;">();</span></span>
<span class="line"><span style="color:#D4D4D4;"> } </span><span style="color:#C586C0;">catch</span><span style="color:#D4D4D4;"> (</span><span style="color:#4EC9B0;">NoSuchAlgorithmException</span><span style="color:#9CDCFE;"> e</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#9CDCFE;"> e</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">printStackTrace</span><span style="color:#D4D4D4;">();</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#569CD6;"> null</span><span style="color:#D4D4D4;">;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;"> public</span><span style="color:#569CD6;"> static</span><span style="color:#4EC9B0;"> void</span><span style="color:#DCDCAA;"> main</span><span style="color:#D4D4D4;">(</span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;">[] </span><span style="color:#9CDCFE;">args</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#4EC9B0;"> Map</span><span style="color:#D4D4D4;">&lt;</span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;">, </span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;">&gt; </span><span style="color:#9CDCFE;">params</span><span style="color:#D4D4D4;"> = </span><span style="color:#C586C0;">new</span><span style="color:#4EC9B0;"> HashMap</span><span style="color:#D4D4D4;">&lt;&gt;();</span></span>
<span class="line"><span style="color:#9CDCFE;"> params</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">put</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;id&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#CE9178;">&quot;114514&quot;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#9CDCFE;"> params</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">put</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;str&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#CE9178;">&quot;1919810&quot;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#9CDCFE;"> params</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">put</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;test&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#CE9178;">&quot;いいよ,こいよ&quot;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#9CDCFE;"> System</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">out</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">println</span><span style="color:#D4D4D4;">(</span><span style="color:#DCDCAA;">appSign</span><span style="color:#D4D4D4;">(params));</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>输出结果为:01479cf20504d865519ac50f33ba3a7d</p><h3 id="typescript-javascript" tabindex="-1"><a class="header-anchor" href="#typescript-javascript"><span>TypeScript/JavaScript</span></a></h3><div class="language-typescript line-numbers-mode" data-highlighter="shiki" data-ext="typescript" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-typescript"><span class="line"><span style="color:#C586C0;">import</span><span style="color:#D4D4D4;"> { </span><span style="color:#9CDCFE;">createHash</span><span style="color:#D4D4D4;"> } </span><span style="color:#C586C0;">from</span><span style="color:#CE9178;"> &#39;node:crypto&#39;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;">type</span><span style="color:#4EC9B0;"> Params</span><span style="color:#D4D4D4;"> = </span><span style="color:#4EC9B0;">Record</span><span style="color:#D4D4D4;">&lt;</span><span style="color:#4EC9B0;">string</span><span style="color:#D4D4D4;">, </span><span style="color:#4EC9B0;">any</span><span style="color:#D4D4D4;">&gt;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;">const</span><span style="color:#DCDCAA;"> md5</span><span style="color:#D4D4D4;"> = (</span><span style="color:#9CDCFE;">str</span><span style="color:#D4D4D4;">: </span><span style="color:#4EC9B0;">string</span><span style="color:#D4D4D4;">) </span><span style="color:#569CD6;">=&gt;</span><span style="color:#DCDCAA;"> createHash</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&#39;md5&#39;</span><span style="color:#D4D4D4;">).</span><span style="color:#DCDCAA;">update</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">str</span><span style="color:#D4D4D4;">).</span><span style="color:#DCDCAA;">digest</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&#39;hex&#39;</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;">/**</span></span>
<span class="line"><span style="color:#6A9955;"> * 为请求参数进行 APP 签名</span></span>
<span class="line"><span style="color:#6A9955;"> */</span></span>
<span class="line"><span style="color:#C586C0;">export</span><span style="color:#569CD6;"> function</span><span style="color:#DCDCAA;"> appSign</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">params</span><span style="color:#D4D4D4;">: </span><span style="color:#4EC9B0;">Params</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">appkey</span><span style="color:#D4D4D4;">: </span><span style="color:#4EC9B0;">string</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">appsec</span><span style="color:#D4D4D4;">: </span><span style="color:#4EC9B0;">string</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#9CDCFE;"> params</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">appkey</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">appkey</span></span>
<span class="line"><span style="color:#569CD6;"> const</span><span style="color:#4FC1FF;"> searchParams</span><span style="color:#D4D4D4;"> = </span><span style="color:#569CD6;">new</span><span style="color:#DCDCAA;"> URLSearchParams</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">params</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#9CDCFE;"> searchParams</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">sort</span><span style="color:#D4D4D4;">()</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#DCDCAA;"> md5</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">searchParams</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">toString</span><span style="color:#D4D4D4;">() + </span><span style="color:#9CDCFE;">appsec</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span>
<span class="line"></span>
<span class="line"><span style="color:#9CDCFE;">console</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">log</span><span style="color:#D4D4D4;">(</span></span>
<span class="line"><span style="color:#DCDCAA;"> appSign</span><span style="color:#D4D4D4;">(</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> id:</span><span style="color:#B5CEA8;"> 114514</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> str:</span><span style="color:#CE9178;"> &#39;1919810&#39;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> test:</span><span style="color:#CE9178;"> &#39;いいよ,こいよ&#39;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#CE9178;"> &#39;1d8b6e7d45233436&#39;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#CE9178;"> &#39;560c52ccd288fed045859ed18bffd973&#39;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#D4D4D4;"> ),</span></span>
<span class="line"><span style="color:#CE9178;"> &#39;01479cf20504d865519ac50f33ba3a7d&#39;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#D4D4D4;">)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>输出结果为:01479cf20504d865519ac50f33ba3a7d</p><h3 id="swift" tabindex="-1"><a class="header-anchor" href="#swift"><span>Swift</span></a></h3><div class="language-swift line-numbers-mode" data-highlighter="shiki" data-ext="swift" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-swift"><span class="line"><span style="color:#C586C0;">import</span><span style="color:#4EC9B0;"> Foundation</span></span>
<span class="line"><span style="color:#C586C0;">import</span><span style="color:#4EC9B0;"> CommonCrypto</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;">//Swift标准库没有MD5函数,所以我们要自己实现一个</span></span>
<span class="line"><span style="color:#569CD6;">func</span><span style="color:#DCDCAA;"> MD5</span><span style="color:#D4D4D4;">(</span><span style="color:#DCDCAA;">string</span><span style="color:#D4D4D4;">: </span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;">) -&gt; </span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#569CD6;"> let</span><span style="color:#D4D4D4;"> length = </span><span style="color:#4EC9B0;">Int</span><span style="color:#D4D4D4;">(CC_MD5_DIGEST_LENGTH)</span></span>
<span class="line"><span style="color:#569CD6;"> var</span><span style="color:#D4D4D4;"> digest = [</span><span style="color:#4EC9B0;">UInt8</span><span style="color:#D4D4D4;">](</span><span style="color:#DCDCAA;">repeating</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">, </span><span style="color:#DCDCAA;">count</span><span style="color:#D4D4D4;">: length)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#C586C0;"> if</span><span style="color:#569CD6;"> let</span><span style="color:#D4D4D4;"> d = string.</span><span style="color:#DCDCAA;">data</span><span style="color:#D4D4D4;">(</span><span style="color:#DCDCAA;">using</span><span style="color:#D4D4D4;">: .</span><span style="color:#9CDCFE;">utf8</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#9CDCFE;"> _</span><span style="color:#D4D4D4;"> = d.</span><span style="color:#DCDCAA;">withUnsafeBytes</span><span style="color:#D4D4D4;"> { body -&gt; </span><span style="color:#4EC9B0;">String</span><span style="color:#C586C0;"> in</span></span>
<span class="line"><span style="color:#DCDCAA;"> CC_MD5</span><span style="color:#D4D4D4;">(body.</span><span style="color:#9CDCFE;">baseAddress</span><span style="color:#D4D4D4;">, </span><span style="color:#DCDCAA;">CC_LONG</span><span style="color:#D4D4D4;">(d.</span><span style="color:#9CDCFE;">count</span><span style="color:#D4D4D4;">), &amp;digest)</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#CE9178;"> &quot;&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#D4D4D4;"> (</span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">..&lt;length).</span><span style="color:#DCDCAA;">reduce</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#569CD6;"> $0</span><span style="color:#D4D4D4;"> + </span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;">(</span><span style="color:#DCDCAA;">format</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;%02x&quot;</span><span style="color:#D4D4D4;">, digest[</span><span style="color:#569CD6;">$1</span><span style="color:#D4D4D4;">])</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;">func</span><span style="color:#DCDCAA;"> appSign</span><span style="color:#D4D4D4;">(</span><span style="color:#DCDCAA;">params</span><span style="color:#D4D4D4;">: [</span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;">:</span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;">],</span><span style="color:#DCDCAA;">appKey</span><span style="color:#D4D4D4;">:</span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;">,</span><span style="color:#DCDCAA;">appSec</span><span style="color:#D4D4D4;">:</span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;">) -&gt; </span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#569CD6;"> var</span><span style="color:#D4D4D4;"> signedParams = params</span></span>
<span class="line"><span style="color:#D4D4D4;"> signedParams[</span><span style="color:#CE9178;">&quot;appkey&quot;</span><span style="color:#D4D4D4;">] = appKey</span></span>
<span class="line"><span style="color:#569CD6;"> let</span><span style="color:#D4D4D4;"> sortedParams = signedParams.</span><span style="color:#DCDCAA;">sorted</span><span style="color:#D4D4D4;"> { </span><span style="color:#569CD6;">$0</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">key</span><span style="color:#D4D4D4;"> &lt; </span><span style="color:#569CD6;">$1</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">key</span><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#6A9955;"> //在制作成query时,需要显式addingPercentEncoding转换</span></span>
<span class="line"><span style="color:#569CD6;"> let</span><span style="color:#D4D4D4;"> query = sortedParams.</span><span style="color:#DCDCAA;">map</span><span style="color:#D4D4D4;"> { </span><span style="color:#CE9178;">&quot;</span><span style="color:#569CD6;">\\($0</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">key</span><span style="color:#569CD6;">)</span><span style="color:#CE9178;">=</span><span style="color:#569CD6;">\\($0</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">value</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">addingPercentEncoding</span><span style="color:#D4D4D4;">(</span><span style="color:#DCDCAA;">withAllowedCharacters</span><span style="color:#D4D4D4;">: .</span><span style="color:#9CDCFE;">urlQueryAllowed</span><span style="color:#D4D4D4;">)!</span><span style="color:#569CD6;">)</span><span style="color:#CE9178;">&quot;</span><span style="color:#D4D4D4;"> }.</span><span style="color:#DCDCAA;">joined</span><span style="color:#D4D4D4;">(</span><span style="color:#DCDCAA;">separator</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&amp;&quot;</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#569CD6;"> let</span><span style="color:#D4D4D4;"> sign = </span><span style="color:#DCDCAA;">MD5</span><span style="color:#D4D4D4;">(</span><span style="color:#DCDCAA;">string</span><span style="color:#D4D4D4;">: query+appSec)</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#D4D4D4;"> sign</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;">//testSign</span></span>
<span class="line"><span style="color:#569CD6;">let</span><span style="color:#D4D4D4;"> appKey = </span><span style="color:#CE9178;">&quot;1d8b6e7d45233436&quot;</span></span>
<span class="line"><span style="color:#569CD6;">let</span><span style="color:#D4D4D4;"> appSec = </span><span style="color:#CE9178;">&quot;560c52ccd288fed045859ed18bffd973&quot;</span></span>
<span class="line"><span style="color:#569CD6;">let</span><span style="color:#D4D4D4;"> signResult = </span><span style="color:#DCDCAA;">appSign</span><span style="color:#D4D4D4;">(</span><span style="color:#DCDCAA;">params</span><span style="color:#D4D4D4;">: [</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;id&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;114514&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;str&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;1919810&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;test&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;いいよ,こいよ&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#D4D4D4;">],</span><span style="color:#DCDCAA;">appKey</span><span style="color:#D4D4D4;">:appKey,</span><span style="color:#DCDCAA;">appSec</span><span style="color:#D4D4D4;">:appSec)</span></span>
<span class="line"><span style="color:#DCDCAA;">print</span><span style="color:#D4D4D4;">(signResult)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>输出结果为:01479cf20504d865519ac50f33ba3a7d</p><h3 id="cplusplus" tabindex="-1"><a class="header-anchor" href="#cplusplus"><span>CplusPlus</span></a></h3><p>需要 c++ 23 标准库,<a href="https://github.com/libcpr/cpr" target="_blank" rel="noopener noreferrer">cpr</a>、<a href="https://github.com/weidai11/cryptopp" target="_blank" rel="noopener noreferrer">cryptopp</a>、<a href="https://github.com/nlohmann/json" target="_blank" rel="noopener noreferrer">nlohmann/json</a> 等依赖</p><div class="language-c++ line-numbers-mode" data-highlighter="shiki" data-ext="c++" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-c++"><span class="line"><span style="color:#C586C0;">#include</span><span style="color:#CE9178;"> &lt;print&gt;</span><span style="color:#6A9955;"> // std::println</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;">/// thrid party libraries</span></span>
<span class="line"><span style="color:#C586C0;">#include</span><span style="color:#CE9178;"> &lt;cpr/cpr.h&gt;</span><span style="color:#6A9955;"> // cpr::util::urlEncode()</span></span>
<span class="line"><span style="color:#C586C0;">#include</span><span style="color:#CE9178;"> &lt;cryptopp/md5.h&gt;</span></span>
<span class="line"><span style="color:#C586C0;">#include</span><span style="color:#CE9178;"> &lt;cryptopp/hex.h&gt;</span></span>
<span class="line"><span style="color:#C586C0;">#include</span><span style="color:#CE9178;"> &lt;nlohmann/json.hpp&gt;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;">/*</span></span>
<span class="line"><span style="color:#6A9955;"> * 注意,假定不会发生错误!</span></span>
<span class="line"><span style="color:#6A9955;"> */</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;">/* 获取 md5 hex(lower) */</span></span>
<span class="line"><span style="color:#4EC9B0;">std</span><span style="color:#D4D4D4;">::</span><span style="color:#4EC9B0;">string</span><span style="color:#DCDCAA;"> Get_md5_hex</span><span style="color:#D4D4D4;">(</span><span style="color:#569CD6;">const</span><span style="color:#4EC9B0;"> std</span><span style="color:#D4D4D4;">::</span><span style="color:#4EC9B0;">string</span><span style="color:#569CD6;"> &amp;</span><span style="color:#9CDCFE;">Input_str</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#4EC9B0;"> CryptoPP</span><span style="color:#D4D4D4;">::</span><span style="color:#4EC9B0;">Weak1</span><span style="color:#D4D4D4;">::MD5 hash;</span></span>
<span class="line"><span style="color:#4EC9B0;"> std</span><span style="color:#D4D4D4;">::string md5_hex;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#4EC9B0;"> CryptoPP</span><span style="color:#D4D4D4;">::StringSource </span><span style="color:#DCDCAA;">ss</span><span style="color:#D4D4D4;">(Input_str, </span><span style="color:#569CD6;">true</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#C586C0;"> new</span><span style="color:#4EC9B0;"> CryptoPP</span><span style="color:#D4D4D4;">::</span><span style="color:#DCDCAA;">HashFilter</span><span style="color:#D4D4D4;">(hash,</span></span>
<span class="line"><span style="color:#C586C0;"> new</span><span style="color:#4EC9B0;"> CryptoPP</span><span style="color:#D4D4D4;">::</span><span style="color:#DCDCAA;">HexEncoder</span><span style="color:#D4D4D4;">(</span></span>
<span class="line"><span style="color:#C586C0;"> new</span><span style="color:#4EC9B0;"> CryptoPP</span><span style="color:#D4D4D4;">::</span><span style="color:#DCDCAA;">StringSink</span><span style="color:#D4D4D4;">(md5_hex)</span></span>
<span class="line"><span style="color:#D4D4D4;"> )</span></span>
<span class="line"><span style="color:#D4D4D4;"> )</span></span>
<span class="line"><span style="color:#D4D4D4;"> );</span></span>
<span class="line"></span>
<span class="line"><span style="color:#4EC9B0;"> std</span><span style="color:#D4D4D4;">::</span><span style="color:#4EC9B0;">ranges</span><span style="color:#D4D4D4;">::</span><span style="color:#DCDCAA;">for_each</span><span style="color:#D4D4D4;">(md5_hex, [](</span><span style="color:#569CD6;">char</span><span style="color:#569CD6;"> &amp;</span><span style="color:#9CDCFE;">x</span><span style="color:#D4D4D4;">) { x = </span><span style="color:#4EC9B0;">std</span><span style="color:#D4D4D4;">::</span><span style="color:#DCDCAA;">tolower</span><span style="color:#D4D4D4;">(x); });</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#D4D4D4;"> md5_hex;</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;">/* 将 json 转换为 url 编码字符串 */</span></span>
<span class="line"><span style="color:#4EC9B0;">std</span><span style="color:#D4D4D4;">::</span><span style="color:#4EC9B0;">string</span><span style="color:#DCDCAA;"> Json_to_url_encode_str</span><span style="color:#D4D4D4;">(</span><span style="color:#569CD6;">const</span><span style="color:#4EC9B0;"> nlohmann</span><span style="color:#D4D4D4;">::</span><span style="color:#4EC9B0;">json</span><span style="color:#569CD6;"> &amp;</span><span style="color:#9CDCFE;">Json</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#4EC9B0;"> std</span><span style="color:#D4D4D4;">::string encode_str;</span></span>
<span class="line"><span style="color:#C586C0;"> for</span><span style="color:#D4D4D4;"> (</span><span style="color:#569CD6;">const</span><span style="color:#569CD6;"> auto</span><span style="color:#D4D4D4;"> &amp;[key, value]: </span><span style="color:#9CDCFE;">Json</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">items</span><span style="color:#D4D4D4;">()) {</span></span>
<span class="line"><span style="color:#9CDCFE;"> encode_str</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(key).</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;=&quot;</span><span style="color:#D4D4D4;">).</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(</span><span style="color:#4EC9B0;">cpr</span><span style="color:#D4D4D4;">::</span><span style="color:#4EC9B0;">util</span><span style="color:#D4D4D4;">::</span><span style="color:#DCDCAA;">urlEncode</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">value</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">is_string</span><span style="color:#D4D4D4;">() ? </span><span style="color:#9CDCFE;">value</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">get</span><span style="color:#D4D4D4;">&lt;</span><span style="color:#4EC9B0;">std</span><span style="color:#D4D4D4;">::string&gt;() : </span><span style="color:#DCDCAA;">to_string</span><span style="color:#D4D4D4;">(value))).</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;&amp;&quot;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;"> // remove the last &#39;&amp;&#39;</span></span>
<span class="line"><span style="color:#9CDCFE;"> encode_str</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">resize</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">encode_str</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">size</span><span style="color:#D4D4D4;">() - </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">, </span><span style="color:#CE9178;">&#39;</span><span style="color:#D7BA7D;">\\0</span><span style="color:#CE9178;">&#39;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#D4D4D4;"> encode_str;</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span>
<span class="line"></span>
<span class="line"><span style="color:#4EC9B0;">std</span><span style="color:#D4D4D4;">::</span><span style="color:#4EC9B0;">string</span><span style="color:#DCDCAA;"> App_sign</span><span style="color:#D4D4D4;">(</span><span style="color:#4EC9B0;">nlohmann</span><span style="color:#D4D4D4;">::</span><span style="color:#4EC9B0;">json</span><span style="color:#569CD6;"> &amp;</span><span style="color:#9CDCFE;">Params</span><span style="color:#D4D4D4;">, </span><span style="color:#569CD6;">const</span><span style="color:#4EC9B0;"> std</span><span style="color:#D4D4D4;">::</span><span style="color:#4EC9B0;">string</span><span style="color:#569CD6;"> &amp;</span><span style="color:#9CDCFE;">App_key</span><span style="color:#D4D4D4;">, </span><span style="color:#569CD6;">const</span><span style="color:#4EC9B0;"> std</span><span style="color:#D4D4D4;">::</span><span style="color:#4EC9B0;">string</span><span style="color:#569CD6;"> &amp;</span><span style="color:#9CDCFE;">App_sec</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#9CDCFE;"> Params</span><span style="color:#D4D4D4;">[</span><span style="color:#CE9178;">&quot;appkey&quot;</span><span style="color:#D4D4D4;">] = App_key;</span></span>
<span class="line"><span style="color:#9CDCFE;"> Params</span><span style="color:#D4D4D4;">[</span><span style="color:#CE9178;">&quot;sign&quot;</span><span style="color:#D4D4D4;">] = </span><span style="color:#DCDCAA;">Get_md5_hex</span><span style="color:#D4D4D4;">(</span><span style="color:#DCDCAA;">Json_to_url_encode_str</span><span style="color:#D4D4D4;">(Params) + App_sec);</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#DCDCAA;"> Json_to_url_encode_str</span><span style="color:#D4D4D4;">(Params);</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;">int</span><span style="color:#DCDCAA;"> main</span><span style="color:#D4D4D4;">() {</span></span>
<span class="line"><span style="color:#4EC9B0;"> nlohmann</span><span style="color:#D4D4D4;">::json Params;</span></span>
<span class="line"><span style="color:#9CDCFE;"> Params</span><span style="color:#D4D4D4;">[</span><span style="color:#CE9178;">&quot;id&quot;</span><span style="color:#D4D4D4;">] = </span><span style="color:#B5CEA8;">114514</span><span style="color:#D4D4D4;">;</span></span>
<span class="line"><span style="color:#9CDCFE;"> Params</span><span style="color:#D4D4D4;">[</span><span style="color:#CE9178;">&quot;str&quot;</span><span style="color:#D4D4D4;">] = </span><span style="color:#CE9178;">&quot;1919810&quot;</span><span style="color:#D4D4D4;">;</span></span>
<span class="line"><span style="color:#9CDCFE;"> Params</span><span style="color:#D4D4D4;">[</span><span style="color:#CE9178;">&quot;test&quot;</span><span style="color:#D4D4D4;">] = </span><span style="color:#CE9178;">&quot;いいよ,こいよ&quot;</span><span style="color:#D4D4D4;">;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;"> constexpr</span><span style="color:#569CD6;"> auto</span><span style="color:#D4D4D4;"> App_key = </span><span style="color:#CE9178;">&quot;1d8b6e7d45233436&quot;</span><span style="color:#D4D4D4;">;</span></span>
<span class="line"><span style="color:#569CD6;"> constexpr</span><span style="color:#569CD6;"> auto</span><span style="color:#D4D4D4;"> App_sec = </span><span style="color:#CE9178;">&quot;560c52ccd288fed045859ed18bffd973&quot;</span><span style="color:#D4D4D4;">;</span></span>
<span class="line"><span style="color:#4EC9B0;"> std</span><span style="color:#D4D4D4;">::string sign = </span><span style="color:#DCDCAA;">App_sign</span><span style="color:#D4D4D4;">(Params, App_key, App_sec);</span></span>
<span class="line"><span style="color:#4EC9B0;"> std</span><span style="color:#D4D4D4;">::</span><span style="color:#DCDCAA;">println</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;{}&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#DCDCAA;">to_string</span><span style="color:#D4D4D4;">(Params));</span></span>
<span class="line"><span style="color:#4EC9B0;"> std</span><span style="color:#D4D4D4;">::</span><span style="color:#DCDCAA;">println</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;{}&quot;</span><span style="color:#D4D4D4;">, sign);</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-text line-numbers-mode" data-highlighter="shiki" data-ext="text" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-text"><span class="line"><span>{&quot;appkey&quot;:&quot;1d8b6e7d45233436&quot;,&quot;id&quot;:114514,&quot;sign&quot;:&quot;01479cf20504d865519ac50f33ba3a7d&quot;,&quot;str&quot;:&quot;1919810&quot;,&quot;test&quot;:&quot;いいよ,こいよ&quot;}</span></span>
<span class="line"><span>appkey=1d8b6e7d45233436&amp;id=114514&amp;sign=01479cf20504d865519ac50f33ba3a7d&amp;str=1919810&amp;test=%E3%81%84%E3%81%84%E3%82%88%EF%BC%8C%E3%81%93%E3%81%84%E3%82%88</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div>`,17))])}const u=r(i,[["render",y]]),v=JSON.parse('{"path":"/docs/misc/sign/APP.html","title":"APP API 签名与鉴权","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1745052268000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":1,"url":"https://github.com/SocialSisterYi"},{"name":"cctyl","username":"cctyl","email":"34262992+cctyl@users.noreply.github.com","commits":1,"url":"https://github.com/cctyl"},{"name":"LaMerChiang","username":"LaMerChiang","email":"catlair@qq.com","commits":1,"url":"https://github.com/LaMerChiang"},{"name":"Lightning-Lion","username":"Lightning-Lion","email":"85005672+Lightning-Lion@users.noreply.github.com","commits":1,"url":"https://github.com/Lightning-Lion"},{"name":"YuHuanTin","username":"YuHuanTin","email":"51024916+YuHuanTin@users.noreply.github.com","commits":1,"url":"https://github.com/YuHuanTin"},{"name":"SessionHu","username":"SessionHu","email":"102411014+SessionHu@users.noreply.github.com","commits":1,"url":"https://github.com/SessionHu"}],"changelog":[{"hash":"0c42c00036ec457a4786431ba9944daf72c96fc0","time":1745052268000,"email":"102411014+SessionHu@users.noreply.github.com","author":"SessionHu","message":"fix(misc/sign/APP.md): broken demo links"},{"hash":"e7ab2d770b423a891ed7e663d94bfe1f0f59501d","time":1718245563000,"email":"51024916+YuHuanTin@users.noreply.github.com","author":"YuHuanTin","message":"wbi、av2bv、bv2av 的 c++ 实现 (#1035)"},{"hash":"faa3d97c263907ca8c492093d91406e27fc106ed","time":1703135741000,"email":"85005672+Lightning-Lion@users.noreply.github.com","author":"Lightning-Lion","message":"Update APP.md (#911)"},{"hash":"5603b1acbd02f33e54616c8a5e0ae7061a426c8e","time":1695047571000,"email":"catlair@qq.com","author":"LaMerChiang","message":"Update APP.md (#819)"},{"hash":"901e787fc655962b88dac9896b25f41d796cd2c9","time":1688262289000,"email":"34262992+cctyl@users.noreply.github.com","author":"cctyl","message":"feature: App Sign 添加java版本实现 (#729)"},{"hash":"05ac3d5e2a9e28be3bf129ae8c78ffdbebaa161c","time":1684805901000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"添加文档【Wbi 接口签名】,修改目录结构"}]},"filePathRelative":"docs/misc/sign/APP.md"}');export{u as comp,v as data};
File diff suppressed because one or more lines are too long
-12
View File
@@ -1,12 +0,0 @@
import{_ as s,c as a,a as e,o as n}from"./app-Dgsdh8A6.js";const d={};function o(l,t){return n(),a("div",null,t[0]||(t[0]=[e(`<h1 id="漫画任务操作" tabindex="-1"><a class="header-anchor" href="#漫画任务操作"><span>漫画任务操作</span></a></h1><h2 id="分享漫画" tabindex="-1"><a class="header-anchor" href="#分享漫画"><span>分享漫画</span></a></h2><blockquote><p>https://manga.bilibili.com/twirp/activity.v1.Activity/ShareComic</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA/ APP</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>platform</td><td>str</td><td>平台</td><td>必要</td><td>android</td></tr></tbody></table><p><strong>json 回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num / str</td><td>返回值</td><td>见对应表格</td></tr><tr><td>msg</td><td>str</td><td>错误信息</td><td></td></tr><tr><td>meta</td><td>obj</td><td>错误信息</td><td>invalid_argument 时存在,例如 <code>{&quot;argument&quot;:&quot;platform&quot;}</code></td></tr><tr><td>data</td><td>obj</td><td></td><td><code>code</code> 为 0<code>msg</code> 为空时存在</td></tr></tbody></table><p><code>code</code> - <code>msg</code> 对应表:</p><table><thead><tr><th>code</th><th>code 类型</th><th>msg</th><th>备注</th></tr></thead><tbody><tr><td>0</td><td>num</td><td>空</td><td>分享成功,<code>data</code> 存在</td></tr><tr><td>0</td><td>num</td><td>今日已分享</td><td></td></tr><tr><td>invalid_argument</td><td>str</td><td>xxxx must be valid</td><td>xxxx 字段为必须,<code>meta</code>存在</td></tr><tr><td>unauthenticated</td><td>str</td><td>must login</td><td>必须登录才能分享</td></tr></tbody></table><p><code>data</code> 对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>point</td><td>num</td><td>获取积分</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-bash"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -X</span><span style="color:#CE9178;"> POST</span><span style="color:#CE9178;"> https://manga.bilibili.com/twirp/activity.v1.Activity/ShareComic</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&quot;SESSDATA=xxxxx&quot;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;platform=android&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>分享成功:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;point&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">5</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><details><summary>今日已分享:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;今日已分享&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,18)]))}const i=s(d,[["render",o]]),c=JSON.parse('{"path":"/docs/manga/Activity.html","title":"漫画任务操作","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1677124138000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"}],"changelog":[{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/manga/Activity.md"}');export{i as comp,c as data};
-117
View File
@@ -1,117 +0,0 @@
import{_ as n}from"./battery-100-VBikFKl4.js";import{_ as a,c as l,a as e,o as t}from"./app-Dgsdh8A6.js";const o={};function p(c,s){return t(),l("div",null,s[0]||(s[0]=[e('<h1 id="b币方式充电" tabindex="-1"><a class="header-anchor" href="#b币方式充电"><span>B币方式充电</span></a></h1><img src="'+n+`" width="100" height="100"><p><strong>注</strong>:以前充电是电池的概念,1B币折合10电池,一般地充电10电池可获得1经验</p><p><strong>目前(2020/12/02后)则是贝壳的概念,1B币折合1贝壳、1经验(如果存在小数点,则经验值向下取整,即2.5B币获得2经验)</strong></p><h2 id="新版本b币充电" tabindex="-1"><a class="header-anchor" href="#新版本b币充电"><span>新版本B币充电</span></a></h2><blockquote><p>https://api.bilibili.com/x/ugcpay/web/v2/trade/elec/pay/quick</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>bp_num</td><td>num</td><td>贝壳数量</td><td>必要</td><td>必须在2-9999之间</td></tr><tr><td>is_bp_remains_prior</td><td>bool</td><td>是否优先扣除B币余额</td><td>必要</td><td>[true,false]B币充电请选择true</td></tr><tr><td>up_mid</td><td>num</td><td>充电对象用户mid</td><td>必要</td><td></td></tr><tr><td>otype</td><td>str</td><td>充电来源</td><td>必要</td><td>up:空间充电<br>archive:视频充电</td></tr><tr><td>oid</td><td>num</td><td>充电来源代码</td><td>必要</td><td>空间充电:充电对象用户mid<br>视频充电:稿件avid</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功(并不代表充电成功) <br>-101:账号未登录<br>-111csrf校验失败<br>-400:请求错误<br>-500:服务器错误</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>mid</td><td>num</td><td>本用户mid</td><td></td></tr><tr><td>up_mid</td><td>num</td><td>目标用户mid</td><td></td></tr><tr><td>order_no</td><td>str</td><td>留言token</td><td>用于添加充电留言</td></tr><tr><td>bp_num</td><td>str</td><td>充电贝壳数</td><td></td></tr><tr><td>exp</td><td>num</td><td>获得经验数</td><td></td></tr><tr><td>status</td><td>num</td><td>返回结果</td><td>4:成功<br>-2:低于20电池下限<br>-4B币不足</td></tr><tr><td>msg</td><td>str</td><td>错误信息</td><td>默认为空</td></tr></tbody></table><p><strong>示例:</strong></p><p>以空间的方式向用户<code>mid=293793435</code>充了2贝壳,得到2经验,留言token为<code>BPRG5CEC3VUPOOANA540</code></p><p>此时<code>data</code>.<code>status</code>=<code>4</code></p><p><s>自己给自己冲QAQ</s></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/ugcpay/web/v2/trade/elec/pay/quick&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;bp_num=2&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;is_bp_remains_prior=true&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;up_mid=293793435&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;otype=up&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;oid=293793435&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">293793435</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;up_mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">293793435</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;order_no&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;BPRG5CEC3VUPOOANA540&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;bp_num&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;exp&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;2&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;status&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">4</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><p>当所充电贝壳数小于2时,充电不会成功</p><p>此时<code>data</code>.<code>status</code>=<code>-2</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/ugcpay/web/v2/trade/elec/pay/quick&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;bp_num=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;is_bp_remains_prior=true&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;otype=up&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;oid=293793435&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;up_mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;order_no&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;bp_num&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;exp&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;status&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">-2</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;elec raw order create failed: 88201&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><p>当所充贝壳数折合的B币数不足时,充电也不会成功</p><p>此时<code>data</code>.<code>status</code>=<code>-4</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/ugcpay/web/v2/trade/elec/pay/quick&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;bp_num=99&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;is_bp_remains_prior=true&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;up_mid=293793435&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;otype=up&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;oid=293793435&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;up_mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;order_no&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;bp_num&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;exp&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;status&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">-4</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;bp.to.battery http failed, invalid args, errNo=800409904: B 币余额不足&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="老版本b币充电" tabindex="-1"><a class="header-anchor" href="#老版本b币充电"><span>老版本B币充电</span></a></h2><p>老版本目前已过期,调用接口成功后(code返回0),data.status会返回0,且B币不会消耗,贝壳也不会增加。以下是历史信息:</p><details><summary>查看折叠内容</summary><blockquote><p>https://api.bilibili.com/x/ugcpay/trade/elec/pay/quick</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>elec_num</td><td>num</td><td>充电电池数量</td><td>必要</td><td>必须在2-9999之间</td></tr><tr><td>up_mid</td><td>num</td><td>充电对象用户mid</td><td>必要</td><td></td></tr><tr><td>otype</td><td>str</td><td>充电来源</td><td>必要</td><td>up:空间充电<br>archive:视频充电</td></tr><tr><td>oid</td><td>num</td><td>充电来源代码</td><td>必要</td><td>空间充电:充电对象用户mid<br>视频充电:稿件avid</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功(并不代表充电成功) <br>-101:账号未登录<br>-111csrf校验失败<br>-400:请求错误</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>mid</td><td>num</td><td>本用户mid</td><td></td></tr><tr><td>up_mid</td><td>num</td><td>目标用户mid</td><td></td></tr><tr><td>order_no</td><td>str</td><td>留言token</td><td>用于添加充电留言</td></tr><tr><td>elec_num</td><td>num</td><td>充电电池数</td><td></td></tr><tr><td>exp</td><td>num</td><td>获得经验数</td><td></td></tr><tr><td>status</td><td>num</td><td>返回结果</td><td>4:成功<br>-2:低于20电池下限<br>-4B币不足</td></tr><tr><td>msg</td><td>str</td><td>错误信息</td><td>默认为空</td></tr></tbody></table><p><strong>示例:</strong></p><p>以空间的方式向用户<code>mid=293793435</code>充了20电池,得到2经验,留言token为<code>BPRG5CEC3VUPOOANA540</code></p><p>此时<code>data</code>.<code>status</code>=<code>4</code></p><p><s>再次自己冲自己QAQ</s></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/ugcpay/trade/elec/pay/quick&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;elec_num=20&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;up_mid=293793435&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;otype=up&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;oid=293793435&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">293793435</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;up_mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">293793435</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;order_no&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;BPRG5CEC3VUPOOANA540&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;elec_num&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">20</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;exp&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;status&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">4</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><p>当所充电池数小于2时,充电不会成功</p><p>此时<code>data</code>.<code>status</code>=<code>-2</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/ugcpay/trade/elec/pay/quick&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;elec_num=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;up_mid=293793435&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;otype=up&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;oid=293793435&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;up_mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;order_no&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;elec_num&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;exp&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;status&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">-2</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;elec raw order create failed: 88201&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><p>当所充电池数折合的B币数不足时,充电也不会成功</p><p>此时<code>data</code>.<code>status</code>=<code>-4</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/ugcpay/trade/elec/pay/quick&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;elec_num=999&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;up_mid=293793435&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;otype=up&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;oid=293793435&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;up_mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;order_no&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;elec_num&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;exp&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;status&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">-4</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;bp.to.battery http failed, invalid args, errNo=800409904: B 币余额不足&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details></details>`,32)]))}const i=a(o,[["render",p]]),D=JSON.parse('{"path":"/docs/electric/Bcoin.html","title":"B币方式充电","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1740498696000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"},{"name":"wuziqian211","username":"wuziqian211","email":"65224318+wuziqian211@users.noreply.github.com","commits":1,"url":"https://github.com/wuziqian211"}],"changelog":[{"hash":"6c1f03e75334aaba6f3b6f3bf346b0326073b779","time":1740498696000,"email":"65224318+wuziqian211@users.noreply.github.com","author":"晨叶梦春","message":"update"},{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/electric/Bcoin.md"}');export{i as comp,D as data};
File diff suppressed because one or more lines are too long
-88
View File
@@ -1,88 +0,0 @@
import{_ as n,c as a,a as l,o as t}from"./app-Dgsdh8A6.js";const o={};function e(p,s){return t(),a("div",null,s[0]||(s[0]=[l(`<h1 id="签到" tabindex="-1"><a class="header-anchor" href="#签到"><span>签到</span></a></h1><blockquote><p>https://manga.bilibili.com/twirp/activity.v1.Activity/ClockIn</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA/ APP</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>platform</td><td>str</td><td>平台</td><td>必要</td><td>android</td></tr><tr><td>device</td><td>str</td><td>平台</td><td>非必要</td><td>h5</td></tr></tbody></table><p><strong>正文参数( application/json ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>type</td><td>num</td><td></td><td>非必要</td><td>补签时使用</td></tr><tr><td>date</td><td>str</td><td>补签日期</td><td>必要</td><td>补签时使用</td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num / str</td><td>返回值</td><td>0:成功<br>invalid_argument:今日已签到</td></tr><tr><td>msg</td><td>str</td><td>错误信息</td><td>成功:空<br>已签到:clockin clockin is duplicate</td></tr><tr><td>meta</td><td>obj</td><td>错误信息</td><td>今日已签到时存在</td></tr><tr><td>data</td><td>obj</td><td></td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>普通签到:</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-bash"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -L</span><span style="color:#569CD6;"> -X</span><span style="color:#CE9178;"> POST</span><span style="color:#CE9178;"> &#39;https://manga.bilibili.com/twirp/activity.v1.Activity/ClockIn&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-H </span><span style="color:#CE9178;">&#39;Cookie: SESSDATA=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-H </span><span style="color:#CE9178;">&#39;Content-Type: application/x-www-form-urlencoded&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;platform=android&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>签到成功:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {}</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><details><summary>今日已签到:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;invalid_argument&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;clockin clockin is duplicate&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;meta&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;argument&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;clockin&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><p>补签:</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-bash"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -L</span><span style="color:#CE9178;"> &#39;https://manga.bilibili.com/twirp/activity.v1.Activity/ClockIn?platform=android&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-H </span><span style="color:#CE9178;">&#39;Cookie: SESSDATA=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-H </span><span style="color:#CE9178;">&#39;content-type: application/json;charset=UTF-8&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-d </span><span style="color:#CE9178;">&#39;{&quot;type&quot;:0,&quot;date&quot;:&quot;2023-02-15&quot;}&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>补签成功:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {}</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h1 id="查询签到状态" tabindex="-1"><a class="header-anchor" href="#查询签到状态"><span>查询签到状态</span></a></h1><blockquote><p>https://manga.bilibili.com/twirp/activity.v1.Activity/GetClockInInfo</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA/ APP</p><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功</td></tr><tr><td>msg</td><td>str</td><td>错误信息</td><td>空</td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code> 对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>day_count</td><td>num</td><td>连续签到天数</td><td></td></tr><tr><td>status</td><td>num</td><td>今日是否已签到</td><td>0:未签到<br>1:已签到</td></tr><tr><td>credit_icon</td><td>str</td><td></td><td></td></tr><tr><td>sign_before_icon</td><td>str</td><td></td><td></td></tr><tr><td>sign_today_icon</td><td>str</td><td></td><td></td></tr><tr><td>breathe_icon</td><td>str</td><td></td><td></td></tr><tr><td>new_credit_x_icon</td><td>str</td><td></td><td></td></tr><tr><td>coupon_pic</td><td>str</td><td></td><td></td></tr><tr><td>points</td><td>array</td><td>一次签到周期中每次签到可获得点数</td><td></td></tr><tr><td>point_infos</td><td>array</td><td></td><td></td></tr></tbody></table><p><code>point_infos</code>数组中的对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>point</td><td>num</td><td>签到可获取积分</td><td></td></tr><tr><td>origin_point</td><td>num</td><td></td><td></td></tr><tr><td>is_activity</td><td>bool</td><td></td><td></td></tr><tr><td>title</td><td>str</td><td>签到奖励描述</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-bash"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -L</span><span style="color:#569CD6;"> -X</span><span style="color:#CE9178;"> POST</span><span style="color:#CE9178;"> &#39;https://manga.bilibili.com/twirp/activity.v1.Activity/GetClockInInfo&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-H </span><span style="color:#CE9178;">&#39;Cookie: SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>成功:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;day_count&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">58</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;status&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;points&quot;</span><span style="color:#D4D4D4;">: [</span></span>
<span class="line"><span style="color:#B5CEA8;"> 10</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#B5CEA8;"> 20</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#B5CEA8;"> 20</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#B5CEA8;"> 10</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#B5CEA8;"> 10</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#B5CEA8;"> 10</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#B5CEA8;"> 30</span></span>
<span class="line"><span style="color:#D4D4D4;"> ],</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;credit_icon&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://i0.hdslb.com/bfs/static/manga/artifact/sign-resource/v2/9da6QImiK_w192_h192.png&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;sign_before_icon&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://i0.hdslb.com/bfs/static/manga/artifact/sign-resource/v2/BuA6z3lhN_w192_h192.png&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;sign_today_icon&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://i0.hdslb.com/bfs/static/manga/artifact/sign-resource/v2/TWSLUHbbg_w192_h192.png&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;breathe_icon&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;http://i0.hdslb.com/bfs/static/manga/artifact/sign-resource/anime.breathe.svga&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;point_infos&quot;</span><span style="color:#D4D4D4;">: [</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;point&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">10</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;origin_point&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">10</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;is_activity&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">false</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;10积分&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;point&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">20</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;origin_point&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">20</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;is_activity&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">false</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;20积分&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;point&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">20</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;origin_point&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">20</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;is_activity&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">false</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;20积分&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;point&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">10</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;origin_point&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">10</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;is_activity&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">false</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;10积分&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;point&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">10</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;origin_point&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">10</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;is_activity&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">false</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;10积分&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;point&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">10</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;origin_point&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">10</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;is_activity&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">false</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;10积分&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;point&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">30</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;origin_point&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">30</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;is_activity&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">false</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;30积分+福利券&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> ],</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;new_credit_x_icon&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://i0.hdslb.com/bfs/static/manga/artifact/sign-resource/v2/QP5DsW2S_w192_h192.png&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;coupon_pic&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://i0.hdslb.com/bfs/static/manga/artifact/sign-resource/v2/Yalqqoiz_w402_h162.png&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,33)]))}const c=n(o,[["render",e]]),r=JSON.parse('{"path":"/docs/manga/ClockIn.html","title":"签到","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1676998806000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":1,"url":"https://github.com/SocialSisterYi"}],"changelog":[{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/manga/ClockIn.md"}');export{c as comp,r as data};
File diff suppressed because one or more lines are too long
-75
View File
@@ -1,75 +0,0 @@
import{_ as s,c as a,a as n,o as d}from"./app-Dgsdh8A6.js";const l={};function e(o,t){return d(),a("div",null,t[0]||(t[0]=[n(`<h1 id="获取当前话全部图片地址" tabindex="-1"><a class="header-anchor" href="#获取当前话全部图片地址"><span>获取当前话全部图片地址</span></a></h1><blockquote><p>https://manga.bilibili.com/twirp/comic.v1.Comic/GetImageIndex</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA/ APP</p><p><strong>URL参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>access_key</td><td>str</td><td>APP登录凭证</td><td>必要</td><td>使用APP鉴权方式时必填</td></tr><tr><td>appkey</td><td>str</td><td>cc8617fd6961e070</td><td>非必要</td><td></td></tr><tr><td>mobi_app</td><td>str</td><td>android_comic</td><td>非必要</td><td></td></tr><tr><td>version</td><td>str</td><td>4.21.0</td><td>非必要</td><td></td></tr><tr><td>build</td><td>str</td><td>36421000</td><td>非必要</td><td></td></tr><tr><td>channel</td><td>str</td><td>bilicomic</td><td>非必要</td><td></td></tr><tr><td>platform</td><td>str</td><td>android</td><td>非必要</td><td></td></tr><tr><td>device</td><td>str</td><td>android</td><td>非必要</td><td></td></tr><tr><td>buvid</td><td>str</td><td>XY118701XXXXXXXXX104911DXXXXXCAEXXXXE</td><td>非必要</td><td>长度为37</td></tr><tr><td>machine</td><td>str</td><td></td><td>非必要</td><td>手机品牌+型号</td></tr><tr><td>is_teenager</td><td>num</td><td>0</td><td>非必要</td><td></td></tr><tr><td>no_recommend</td><td>num</td><td>0</td><td>非必要</td><td></td></tr><tr><td>ts</td><td>num</td><td>秒级时间戳</td><td>非必要</td><td></td></tr></tbody></table><p><strong>正文参数( application/json ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>epIdep_id</td><td>num</td><td>当前话的id</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功</td></tr><tr><td>msg</td><td>str</td><td>错误信息</td><td></td></tr><tr><td>data</td><td>obj</td><td></td><td></td></tr></tbody></table><p><code>data</code> 对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>path</td><td>str</td><td>.index 文件路径</td><td></td></tr><tr><td>images</td><td>array</td><td>本话图片信息</td><td></td></tr><tr><td>last_modified</td><td>str</td><td>本话信息最后修改时间</td><td></td></tr><tr><td>host</td><td>str</td><td><code>https://manga.hdslb.com</code></td><td></td></tr><tr><td>video</td><td>obj</td><td></td><td></td></tr></tbody></table><p><code>images</code> 数组中的对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>path</td><td>str</td><td>图片的路径</td><td>不包含host</td></tr><tr><td>x</td><td>num</td><td>图片宽度</td><td>单位:像素px</td></tr><tr><td>y</td><td>num</td><td>图片高度</td><td>单位:像素px</td></tr><tr><td>video_path</td><td>str</td><td></td><td></td></tr><tr><td>video_size</td><td>str</td><td></td><td></td></tr></tbody></table><p><code>video</code> 对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>svid</td><td>str</td><td></td><td></td></tr><tr><td>filename</td><td>str</td><td></td><td></td></tr><tr><td>route</td><td>str</td><td></td><td></td></tr><tr><td>resource</td><td>array</td><td></td><td></td></tr><tr><td>raw_width</td><td>str</td><td></td><td></td></tr><tr><td>raw_height</td><td>str</td><td></td><td></td></tr><tr><td>raw_rotate</td><td>str</td><td></td><td></td></tr><tr><td>img_urls</td><td>array</td><td></td><td></td></tr><tr><td>bin_url</td><td>str</td><td></td><td></td></tr><tr><td>img_x_len</td><td>num</td><td></td><td></td></tr><tr><td>img_x_size</td><td>num</td><td></td><td></td></tr><tr><td>img_y_len</td><td>num</td><td></td><td></td></tr><tr><td>img_y_size</td><td>num</td><td></td><td></td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-bash"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -L</span><span style="color:#569CD6;"> -X</span><span style="color:#CE9178;"> POST</span><span style="color:#CE9178;"> &#39;https://manga.bilibili.com/twirp/comic.v1.Comic/GetImageIndex&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-H </span><span style="color:#CE9178;">&#39;Cookie: SESSDATA=xxx;&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-H </span><span style="color:#CE9178;">&#39;Content-Type: application/json&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-raw </span><span style="color:#CE9178;">&#39;{</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;ep_id&quot;: 321912</span></span>
<span class="line"><span style="color:#CE9178;">}&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;path&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;/bfs/manga/26564/321912/data.index?token=80eab62fef85c1c134a6399f817a938f&amp;ts=63404145&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;images&quot;</span><span style="color:#D4D4D4;">: [</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;path&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;/bfs/manga/11e404e602fa9f709bfb89d692ac56d2e17f974d.jpg&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;x&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1600</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;y&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2268</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;video_path&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;video_size&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;path&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;/bfs/manga/bf1c48540b68f473b429317d8f6fa8cdb6eed3a5.jpg&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;x&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1600</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;y&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2268</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;video_path&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;video_size&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;path&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;/bfs/manga/a46cfe90cfb49c67a4dbfc0002e5bc3d87d02963.jpg&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;x&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1600</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;y&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2268</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;video_path&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;video_size&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> ],</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;last_modified&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;2019-05-13 21:15:53&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;host&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://manga.hdslb.com&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;video&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;svid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;filename&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;route&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;resource&quot;</span><span style="color:#D4D4D4;">: [],</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;raw_width&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;raw_height&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;raw_rotate&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;img_urls&quot;</span><span style="color:#D4D4D4;">: [],</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;bin_url&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;img_x_len&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">10</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;img_x_size&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">160</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;img_y_len&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">10</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;img_y_size&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">90</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h1 id="获取某一图片的token" tabindex="-1"><a class="header-anchor" href="#获取某一图片的token"><span>获取某一图片的token</span></a></h1><blockquote><p>https://manga.bilibili.com/twirp/comic.v1.Comic/ImageToken</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA/ APP</p><p><strong>URL参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>access_key</td><td>str</td><td>APP登录凭证</td><td>必要</td><td>使用APP鉴权方式时必填</td></tr><tr><td>appkey</td><td>str</td><td>cc8617fd6961e070</td><td>非必要</td><td></td></tr><tr><td>mobi_app</td><td>str</td><td>android_comic</td><td>非必要</td><td></td></tr><tr><td>version</td><td>str</td><td>4.21.0</td><td>非必要</td><td></td></tr><tr><td>build</td><td>str</td><td>36421000</td><td>非必要</td><td></td></tr><tr><td>channel</td><td>str</td><td>bilicomic</td><td>非必要</td><td></td></tr><tr><td>platform</td><td>str</td><td>android</td><td>非必要</td><td></td></tr><tr><td>device</td><td>str</td><td>android</td><td>非必要</td><td></td></tr><tr><td>buvid</td><td>str</td><td>XY118701XXXXXXXXX104911DXXXXXCAEXXXXE</td><td>非必要</td><td>长度为37</td></tr><tr><td>machine</td><td>str</td><td>samsung+SM-G9730</td><td>非必要</td><td>手机品牌+型号</td></tr><tr><td>is_teenager</td><td>num</td><td>0</td><td>非必要</td><td></td></tr><tr><td>no_recommend</td><td>num</td><td>0</td><td>非必要</td><td></td></tr><tr><td>ts</td><td>num</td><td>秒级时间戳</td><td>非必要</td><td></td></tr></tbody></table><p><strong>正文参数( application/json ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>urls</td><td>str</td><td>请求token的图片地址</td><td>必要</td><td><code>[\\&quot;https://i0.hdslb.com{path}\\&quot;]</code> <br>{path}代表图片的相对网站路径,支持jpg和webp</td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功</td></tr><tr><td>msg</td><td>str</td><td>错误信息</td><td></td></tr><tr><td>data</td><td>array</td><td></td><td></td></tr></tbody></table><p><code>data</code> 数组中的对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>url</td><td>str</td><td>图片下载的地址</td><td>此时网址开头 https://manga.hdslb.com</td></tr><tr><td>token</td><td>str</td><td>图片下载需要的token</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-bash"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -L</span><span style="color:#569CD6;"> -X</span><span style="color:#CE9178;"> POST</span><span style="color:#CE9178;"> &#39;https://manga.bilibili.com/twirp/comic.v1.Comic/ImageToken&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-H </span><span style="color:#CE9178;">&#39;Cookie: SESSDATA=xxx;&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-H </span><span style="color:#CE9178;">&#39;Content-Type: application/json&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-raw </span><span style="color:#CE9178;">&#39;{</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;urls&quot;: &quot;[\\&quot;https://i0.hdslb.com/bfs/manga/11e404e602fa9f709bfb89d692ac56d2e17f974d.jpg\\&quot;]&quot;</span></span>
<span class="line"><span style="color:#CE9178;">}&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: [</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;url&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://manga.hdslb.com/bfs/manga/11e404e602fa9f709bfb89d692ac56d2e17f974d.jpg&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;token&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;36931815abb35857627a22c347dc1c86&amp;ts=634045c2&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> ]</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h1 id="下载图片" tabindex="-1"><a class="header-anchor" href="#下载图片"><span>下载图片</span></a></h1><p><em>请求方式:GET</em></p><p>在上一步获取token的基础上,构建如下的url</p><p>例如获取到此token</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-"><span class="line"><span>{</span></span>
<span class="line"><span> &quot;code&quot;: 0,</span></span>
<span class="line"><span> &quot;msg&quot;: &quot;&quot;,</span></span>
<span class="line"><span> &quot;data&quot;: [</span></span>
<span class="line"><span> {</span></span>
<span class="line"><span> &quot;url&quot;: &quot;https://manga.hdslb.com/bfs/manga/11e404e602fa9f709bfb89d692ac56d2e17f974d.jpg&quot;,</span></span>
<span class="line"><span> &quot;token&quot;: &quot;36931815abb35857627a22c347dc1c86&amp;ts=634045c2&quot;</span></span>
<span class="line"><span> }</span></span>
<span class="line"><span> ]</span></span>
<span class="line"><span>}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>则访问以下网址即可,注意需要添加<code>?token=</code>。此网址有效期较短</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-"><span class="line"><span>https://manga.hdslb.com/bfs/manga/11e404e602fa9f709bfb89d692ac56d2e17f974d.jpg?token=36931815abb35857627a22c347dc1c86&amp;ts=634045c2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p><strong>注</strong>:若不加取图 Token 直接访问 <code>https://(i0|i1).hdslb.com/bfs/(manga|new_dyn|archive)/11e404e602fa9f709bfb89d692ac56d2e17f974d.jpg</code>均无法获取</p>`,44)]))}const r=s(l,[["render",e]]),i=JSON.parse('{"path":"/docs/manga/Download.html","title":"获取当前话全部图片地址","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1693842068000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"},{"name":"LaMerChiang","username":"LaMerChiang","email":"catlair@qq.com","commits":1,"url":"https://github.com/LaMerChiang"}],"changelog":[{"hash":"92b30f354ab21b97fe52357161fd04e2ca687c97","time":1693842068000,"email":"catlair@qq.com","author":"LaMerChiang","message":"fix: 修正文档中存在的错误路径,标签和目录 (#806)"},{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/manga/Download.md"}');export{r as comp,i as data};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-51
View File
@@ -1,51 +0,0 @@
import{_ as a}from"./battery-100-VBikFKl4.js";import{_ as n,c as t,a as l,o as e}from"./app-Dgsdh8A6.js";const o={};function d(p,s){return e(),t("div",null,s[0]||(s[0]=[l('<h1 id="微信-支付宝方式充电" tabindex="-1"><a class="header-anchor" href="#微信-支付宝方式充电"><span>微信&amp;支付宝方式充电</span></a></h1><img src="'+a+`" width="100" height="100"><p>操作流程:</p><ol><li>申请充电二维码及扫码秘钥,秘钥临时保存备用</li><li>使用<code>qr_code_url</code>中的值生成二维码</li><li>用支付宝或微信扫描</li><li>以扫码秘钥作为参数轮询检查扫码支付结果</li></ol><h2 id="申请充电二维码及扫码秘钥" tabindex="-1"><a class="header-anchor" href="#申请充电二维码及扫码秘钥"><span>申请充电二维码及扫码秘钥</span></a></h2><blockquote><p>https://api.bilibili.com/x/ugcpay/web/v2/trade/elec/pay/qr_code/create</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA</p><p>秘钥有效时间为10分钟</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>bp_num</td><td>num</td><td>充电B币数量</td><td>必要</td><td>必须在2-9999之间</td></tr><tr><td>is_bp_remains_prior</td><td>bool</td><td>是否优先扣除B币</td><td>必要</td><td>true:是<br>false:否<br>在B币不足时剩余的部分利用支付平台支付</td></tr><tr><td>up_mid</td><td>num</td><td>充电对象用户mid</td><td>必要</td><td></td></tr><tr><td>otype</td><td>str</td><td>充电来源</td><td>必要</td><td>up:空间充电<br>archive:视频充电</td></tr><tr><td>oid</td><td>num</td><td>充电来源代码</td><td>必要</td><td>空间充电:充电对象用户mid<br>视频充电:稿件avid</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-111csrf校验失败<br>-400:请求错误<br>-500:服务器错误</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>qr_code_url</td><td>str</td><td>支付二维码生成内容</td><td>存在转义</td></tr><tr><td>qr_token</td><td>str</td><td>扫码秘钥</td><td></td></tr><tr><td>exp</td><td>num</td><td>获得经验数</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>申请空间的方式向用户23215368充电10电池且不使用B币的支付二维码</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/ugcpay/trade/elec/pay/qr_code/create&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;elec_num=10&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;up_mid=23215368&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;is_bp_remains_prior=false&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;otype=up&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;oid=23215368&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;qr_code_url&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://api.bilibili.com/x/ugcpay/trade/elec/pay/qr_code/gateway?mid=293793435&amp;token=c1cb1d95d2194ba58df6bb0f24ae1aaa&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;qr_token&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;c1cb1d95d2194ba58df6bb0f24ae1aaa&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;exp&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="检查扫码支付结果" tabindex="-1"><a class="header-anchor" href="#检查扫码支付结果"><span>检查扫码支付结果</span></a></h2><blockquote><p>https://api.bilibili.com/x/ugcpay/trade/elec/pay/order/status</p></blockquote><p><em>请求方式:GET</em></p><p>认证方式:CookieSESSDATA</p><p><strong>url参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>qr_token</td><td>str</td><td>扫码秘钥</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>qr_token</td><td>str</td><td>扫码秘钥</td><td></td></tr><tr><td>order_no</td><td>str</td><td>留言token</td><td>未成功则无此项<br>用于添加充电留言</td></tr><tr><td>mid</td><td>num</td><td>当前用户mid</td><td></td></tr><tr><td>status</td><td>num</td><td>状态值</td><td>若秘钥错误则无此项<br>1:已支付<br>2:未扫描<br>3:未确认</td></tr></tbody></table><p><strong>示例:</strong></p><p>当申请到的支付二维码未被扫描时,<code>data</code>.<code>status</code>的值为<code>2</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/ugcpay/trade/elec/pay/order/status&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;qr_token=c7cbdc47fc424cd18f2146db653597b8&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;qr_token&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;c7cbdc47fc424cd18f2146db653597b8&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">293793435</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;status&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><p>当申请到的支付二维码已扫描但未确认时,<code>data</code>.<code>status</code>的值为<code>3</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/ugcpay/trade/elec/pay/order/status&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;qr_token=c7cbdc47fc424cd18f2146db653597b8&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;qr_token&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;c7cbdc47fc424cd18f2146db653597b8&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">293793435</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;status&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">3</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><p>成功支付后,<code>data</code>.<code>status</code>的值为<code>1</code>,且<code>data</code>.<code>order_no</code>存在留言token</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/ugcpay/trade/elec/pay/order/status&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;qr_token=c7cbdc47fc424cd18f2146db653597b8&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;qr_token&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;bd649c836c524550bfe22a369334fc05&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;order_no&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;BPTD36U3KP82I31RSSLG&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">293793435</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;status&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,41)]))}const i=n(o,[["render",d]]),D=JSON.parse('{"path":"/docs/electric/WeChat_Alipay.html","title":"微信&支付宝方式充电","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1740498696000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"},{"name":"SessionHu","username":"SessionHu","email":"102411014+SessionHu@users.noreply.github.com","commits":1,"url":"https://github.com/SessionHu"},{"name":"wuziqian211","username":"wuziqian211","email":"65224318+wuziqian211@users.noreply.github.com","commits":1,"url":"https://github.com/wuziqian211"}],"changelog":[{"hash":"6c1f03e75334aaba6f3b6f3bf346b0326073b779","time":1740498696000,"email":"65224318+wuziqian211@users.noreply.github.com","author":"晨叶梦春","message":"update"},{"hash":"b1a06806f09ed3ea130eefc94e33df2bc0335424","time":1691494779000,"email":"102411014+SessionHu@users.noreply.github.com","author":"Session小胡","message":"将 http 改为 https (#776)"},{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/electric/WeChat&Alipay.md"}');export{i as comp,D as data};
-26
View File
@@ -1,26 +0,0 @@
import{_ as a,c as t,a as e,o as n}from"./app-Dgsdh8A6.js";const l={};function o(r,s){return n(),t("div",null,s[0]||(s[0]=[e(`<h1 id="大会员操作" tabindex="-1"><a class="header-anchor" href="#大会员操作"><span>大会员操作</span></a></h1><h2 id="兑换卡券" tabindex="-1"><a class="header-anchor" href="#兑换卡券"><span>兑换卡券</span></a></h2><blockquote><p><a href="https://api.bilibili.com/x/vip/privilege/receive" target="_blank" rel="noopener noreferrer">https://api.bilibili.com/x/vip/privilege/receive</a></p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:Cookie (SESSDATA)</p><p><strong>正文参数 (application/x-www-form-urlencoded)</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>type</td><td>num</td><td>兑换类型</td><td>必要</td><td>1B币券<br>2:会员购优惠券<br>3:漫画福利券<br>4:会员购包邮券<br>5:漫画商城优惠券<br>6:装扮体验卡<br>7:课堂优惠券</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token (位于cookie)</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-111csrf 校验失败<br>-400:请求错误<br>69800:网络繁忙 请稍后再试<br>69801:你已领取过该权益</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>成功时为<code>0</code></td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/vip/privilege/receive&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -b</span><span style="color:#CE9178;"> &#39;SESSDATA=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;type=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;csrf=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="大会员每日经验" tabindex="-1"><a class="header-anchor" href="#大会员每日经验"><span>大会员每日经验</span></a></h2><blockquote><p><a href="https://api.bilibili.com/x/vip/experience/add" target="_blank" rel="noopener noreferrer">https://api.bilibili.com/x/vip/experience/add</a></p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:Cookie (SESSDATA)</p><p><strong>正文参数 (application/x-www-form-urlencoded)</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>csrf</td><td>str</td><td>CSRF Token (位于cookie)</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-111csrf 校验失败<br>69198:用户经验已经领取<br>6034007:请求频繁,请稍后再试</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>成功时为<code>0</code></td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>type</td><td>num</td><td>0</td><td><strong>作用尚不明确</strong></td></tr><tr><td>is_grant</td><td>bool</td><td>是否领取成功</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/vip/experience/add&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -b</span><span style="color:#CE9178;"> &#39;SESSDATA=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;csrf=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><p>当经验领取成功时:</p><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;is_grant&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">true</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>当经验已经领取过时:</p><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">69198</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;用户经验已经领取&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;is_grant&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">false</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,27)]))}const p=a(l,[["render",o]]),d=JSON.parse('{"path":"/docs/vip/action.html","title":"大会员操作","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1745140161000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"},{"name":"7rikka","username":"7rikka","email":"takanashirikkax@gmail.com","commits":1,"url":"https://github.com/7rikka"},{"name":"LaMerChiang","username":"LaMerChiang","email":"catlair@qq.com","commits":1,"url":"https://github.com/LaMerChiang"},{"name":"wuziqian211","username":"wuziqian211","email":"65224318+wuziqian211@users.noreply.github.com","commits":1,"url":"https://github.com/wuziqian211"}],"changelog":[{"hash":"f52ac24e26fd311fa61f0ac2645982a0cae758ff","time":1745140161000,"email":"65224318+wuziqian211@users.noreply.github.com","author":"晨叶梦春","message":"fix #1177"},{"hash":"b8a124109ddb9e2c54fd840e7952e171647bce70","time":1701182583000,"email":"catlair@qq.com","author":"LaMerChiang","message":"Update action.md 大会员每日经验 (#877)"},{"hash":"57c1817fbafe5ef102a0a84080f2cf040ce1c446","time":1687240232000,"email":"takanashirikkax@gmail.com","author":"7rikka","message":"添加大会员新的兑换项 (#710)"},{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/vip/action.md"}');export{p as comp,d as data};
-59
View File
@@ -1,59 +0,0 @@
import{_ as d,c as r,a as o,b as s,d as n,e as a,w as e,r as p,o as i}from"./app-Dgsdh8A6.js";const u={};function c(D,l){const t=p("RouteLink");return i(),r("div",null,[l[50]||(l[50]=o(`<h1 id="仲裁操作" tabindex="-1"><a class="header-anchor" href="#仲裁操作"><span>仲裁操作</span></a></h1><h2 id="申请加入风纪委员会" tabindex="-1"><a class="header-anchor" href="#申请加入风纪委员会"><span>申请加入风纪委员会</span></a></h2><blockquote><p>https://api.bilibili.com/x/credit/v2/jury/apply</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:Cookie</p><p>只有用户会员90天内无违规、实名认证且非封禁状态才可以申请加入风纪委员会</p><p>申请成功后可获得30天资格</p><p><strong>正文参数( application/x-www-form-urlencoded):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th></tr></thead><tbody><tr><td>csrf</td><td>str</td><td>cookie中<code>bili_jct</code>的值</td><td>必要</td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-111csrf 校验失败<br>25001:申请等级限制(会员等级&lt;3)<br>25002:没有实名认证<br>2500390天内有封禁记录<br>25013:不能重复申请风纪委资格<br>25016:当日风纪委员名额已发完</td></tr><tr><td>message</td><td>str</td><td>信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr></tbody></table><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h4 id="旧api" tabindex="-1"><a class="header-anchor" href="#旧api"><span>旧API</span></a></h4><details><summary>查看旧版API</summary><blockquote><p>https://api.bilibili.com/x/credit/jury/apply</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA)或APP</p><p>只有用户会员等级≥Lv4、90天内无违规、实名认证且非封禁状态才可以申请加入风纪委员会</p><p>每日10:00开放新名额</p><p>申请成功后可获得30天资格</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>access_key</td><td>str</td><td>APP登录Token</td><td>APP方式必要</td><td></td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie</td><td>Cookie方式必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-111csrf 校验失败<br>25001:申请等级限制(会员等级&lt;3)<br>25002:没有实名认证<br>2500390天内有封禁记录<br>25013:不能重复申请风纪委资格<br>25016:当日风纪委员名额已发完</td></tr><tr><td>message</td><td>str</td><td>信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>Cookie方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/credit/jury/apply&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>APP方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/credit/jury/apply&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;access_key=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details></details><h2 id="拉取新案件" tabindex="-1"><a class="header-anchor" href="#拉取新案件"><span>拉取新案件</span></a></h2><blockquote><p>https://api.bilibili.com/x/credit/v2/jury/case/next</p></blockquote><p><em>请求方式:GET</em></p><p>认证方式:Cookie</p><p><strong>标头参数(Headers):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>Cookie</td><td>str</td><td>Cookie</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>25006:风纪委员资格已过期<br>25008:没有案件<br>25014:已审满</td></tr><tr><td>message</td><td>str</td><td>信息</td><td>默认为0,当code不为0时,显示错误信息</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td>作用尚不明确</td></tr><tr><td>data</td><td>object</td><td>数据本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>case_id</td><td>str</td><td>仲裁案件id</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>Cookie方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/credit/v2/jury/case/next&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--header </span><span style="color:#CE9178;">&#39;cookie: XXXXX&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;case_id&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;AC2m4HlrIrHv&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h4 id="旧api-1" tabindex="-1"><a class="header-anchor" href="#旧api-1"><span>旧API</span></a></h4><details><summary>查看旧版API</summary><blockquote><p>https://api.bilibili.com/x/credit/jury/caseObtain</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA)或APP</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>access_key</td><td>str</td><td>APP登录Token</td><td>APP方式必要</td><td></td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie</td><td>Cookie方式必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>25005:不是风纪委员<br>25008:没有案件<br>25014:已审满</td></tr><tr><td>message</td><td>str</td><td>信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td>作用尚不明确</td></tr><tr><td>data</td><td>object</td><td>数据本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>id</td><td>num</td><td>仲裁案件id</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>Cookie方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/credit/jury/caseObtain&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>APP方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/credit/jury/caseObtain&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;access_key=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;id&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1239790</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details></details><h2 id="进行仲裁投票" tabindex="-1"><a class="header-anchor" href="#进行仲裁投票"><span>进行仲裁投票</span></a></h2><blockquote><p>https://api.bilibili.com/x/credit/v2/jury/vote</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:Cookie</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p>`,37)),s("table",null,[l[20]||(l[20]=s("thead",null,[s("tr",null,[s("th",null,"参数名"),s("th",null,"类型"),s("th",null,"内容"),s("th",null,"必要性"),s("th",null,"备注")])],-1)),s("tbody",null,[l[16]||(l[16]=s("tr",null,[s("td",null,"case_id"),s("td",null,"str"),s("td",null,"案件id"),s("td",null,"必要"),s("td")],-1)),s("tr",null,[l[3]||(l[3]=s("td",null,"vote",-1)),l[4]||(l[4]=s("td",null,"num",-1)),l[5]||(l[5]=s("td",null,"投票类型",-1)),l[6]||(l[6]=s("td",null,"必要",-1)),s("td",null,[l[1]||(l[1]=n("见「")),a(t,{to:"/docs/blackroom/jury/judgement_info.html"},{default:e(()=>l[0]||(l[0]=[n("众裁信息")])),_:1,__:[0]}),l[2]||(l[2]=n("」中表"))])]),s("tr",null,[l[12]||(l[12]=s("td",null,"insiders",-1)),l[13]||(l[13]=s("td",null,"num",-1)),l[14]||(l[14]=s("td",null,"是否观看此类视频",-1)),l[15]||(l[15]=s("td",null,"非必要",-1)),s("td",null,[l[8]||(l[8]=n("默认值为0")),l[9]||(l[9]=s("br",null,null,-1)),l[10]||(l[10]=n("见「")),a(t,{to:"/docs/blackroom/jury/judgement_info.html"},{default:e(()=>l[7]||(l[7]=[n("众裁信息")])),_:1,__:[7]}),l[11]||(l[11]=n("」中表"))])]),l[17]||(l[17]=s("tr",null,[s("td",null,"content"),s("td",null,"str"),s("td",null,"理由"),s("td",null,"非必要"),s("td")],-1)),l[18]||(l[18]=s("tr",null,[s("td",null,"anonymous"),s("td",null,"num"),s("td",null,"是否匿名"),s("td",null,"非必要"),s("td",null,[n("默认值为0"),s("br"),n("0:不匿名"),s("br"),n("1:匿名")])],-1)),l[19]||(l[19]=s("tr",null,[s("td",null,"csrf"),s("td",null,"str"),s("td",null,[n("cookie中"),s("code",null,"bili_jct"),n("的值")]),s("td",null,"必要"),s("td")],-1))])]),l[51]||(l[51]=o(`<p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:未登录<br>-111csrf 错误<br>-400:请求错误(投票类型错误)<br>25005:不是风纪委员<br>25011:投票类型错误<br>25018:不能进行此操作<br><br><em>注:新版本对于一个不存在的<code>case_id</code>,不会报错。</em></td></tr><tr><td>message</td><td>str</td><td>信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td>作用尚不明确</td></tr></tbody></table><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h4 id="旧api-2" tabindex="-1"><a class="header-anchor" href="#旧api-2"><span>旧API</span></a></h4>`,5)),s("details",null,[l[44]||(l[44]=s("summary",null,"查看旧版API",-1)),l[45]||(l[45]=n(" > https://api.bilibili.com/x/credit/jury/vote ")),l[46]||(l[46]=s("p",null,[s("em",null,"请求方式:POST")],-1)),l[47]||(l[47]=s("p",null,"认证方式:CookieSESSDATA)或APP",-1)),l[48]||(l[48]=s("p",null,[s("strong",null,"正文参数( application/x-www-form-urlencoded ):")],-1)),s("table",null,[l[43]||(l[43]=s("thead",null,[s("tr",null,[s("th",null,"参数名"),s("th",null,"类型"),s("th",null,"内容"),s("th",null,"必要性"),s("th",null,"备注")])],-1)),s("tbody",null,[l[35]||(l[35]=s("tr",null,[s("td",null,"cid"),s("td",null,"num"),s("td",null,"案件id"),s("td",null,"必要"),s("td")],-1)),s("tr",null,[l[24]||(l[24]=s("td",null,"vote",-1)),l[25]||(l[25]=s("td",null,"num",-1)),l[26]||(l[26]=s("td",null,"投票类型",-1)),l[27]||(l[27]=s("td",null,"必要",-1)),s("td",null,[l[22]||(l[22]=n("见「")),a(t,{to:"/docs/blackroom/jury/judgement_info.html"},{default:e(()=>l[21]||(l[21]=[n("众裁信息")])),_:1,__:[21]}),l[23]||(l[23]=n("」中表"))])]),s("tr",null,[l[31]||(l[31]=s("td",null,"content",-1)),l[32]||(l[32]=s("td",null,"str",-1)),l[33]||(l[33]=s("td",null,"理由",-1)),l[34]||(l[34]=s("td",null,"非必要",-1)),s("td",null,[l[29]||(l[29]=n("见「")),a(t,{to:"/docs/blackroom/jury/judgement_info.html"},{default:e(()=>l[28]||(l[28]=[n("众裁信息")])),_:1,__:[28]}),l[30]||(l[30]=n("」中表"))])]),l[36]||(l[36]=s("tr",null,[s("td",null,"likes"),s("td",null,"nums"),s("td",null,"支持的观点"),s("td",null,"非必要"),s("td")],-1)),l[37]||(l[37]=s("tr",null,[s("td",null,"hates"),s("td",null,"nums"),s("td",null,"反对的观点"),s("td",null,"非必要"),s("td")],-1)),l[38]||(l[38]=s("tr",null,[s("td",null,"attr"),s("td",null,"num"),s("td",null,"是否匿名"),s("td",null,"非必要"),s("td",null,[n("0:匿名"),s("br"),n("1:不匿名")])],-1)),l[39]||(l[39]=s("tr",null,[s("td",null,"apply_type"),s("td",null,"num"),s("td",null,"是否更改原因"),s("td",null,"非必要"),s("td",null,[n("0:保持原来原因"),s("br"),n("1:投票给新原因")])],-1)),l[40]||(l[40]=s("tr",null,[s("td",null,"origin_reason"),s("td",null,"num"),s("td",null,"原始原因"),s("td",null,"非必要"),s("td",null,"见「封禁公示」中表")],-1)),l[41]||(l[41]=s("tr",null,[s("td",null,"apply_reason"),s("td",null,"num"),s("td",null,"新原因"),s("td",null,"非必要"),s("td",null,"见「封禁公示」中表")],-1)),l[42]||(l[42]=s("tr",null,[s("td",null,"csrf"),s("td",null,"str"),s("td",null,"CSRF Token(位于cookie"),s("td",null,"Cookie方式必要"),s("td")],-1))])]),l[49]||(l[49]=o(`<p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:未登录<br>-111csrf 错误<br>-400:请求错误(投票类型错误)<br>25005:不是风纪委员<br>25009 案件不存在<br>25011:投票类型错误<br>25012:重复投票</td></tr><tr><td>message</td><td>str</td><td>信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td>作用尚不明确</td></tr></tbody></table><p><strong>示例:</strong></p><p>为案件<code>2333</code>投票,建议封禁,无理由,不匿名,无支持/反对观点,不修改投票原因</p><p>Cookie方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/credit/jury/vote&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;cid=2333&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;vote=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;content=&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;likes=&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;hates=&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;attr=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;apply_type=0&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;origin_reason=&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;apply_reason=&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>APP方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/credit/jury/vote&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;access_key=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;cid=2333&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;vote=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;content=&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;likes=&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;hates=&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;attr=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;apply_type=0&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;origin_reason=&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;apply_reason=&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,10))])])}const b=d(u,[["render",c]]),m=JSON.parse('{"path":"/docs/blackroom/jury/action.html","title":"仲裁操作","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1677124138000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"}],"changelog":[{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/blackroom/jury/action.md"}');export{b as comp,m as data};
-19
View File
@@ -1,19 +0,0 @@
import{_ as t,c as a,a as e,o as n}from"./app-Dgsdh8A6.js";const l={};function o(d,s){return n(),a("div",null,s[0]||(s[0]=[e(`<h1 id="音频投币-收藏" tabindex="-1"><a class="header-anchor" href="#音频投币-收藏"><span>音频投币&amp;收藏</span></a></h1><h2 id="查询音频收藏状态" tabindex="-1"><a class="header-anchor" href="#查询音频收藏状态"><span>查询音频收藏状态</span></a></h2><blockquote><p>https://www.bilibili.com/audio/music-service-c/web/collections/songs-coll</p></blockquote><p><em>请求方式:GET</em></p><p>认证方式:CookieSESSDATA</p><p>鉴权方式:Cookie中<code>DedeUserID</code>存在且不为0</p><p><strong>url参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>sid</td><td>num</td><td>音频auid</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>72000000:参数错误<br>72010002:账号未登陆<br>7201006:该音频不存在或已被下架</td></tr><tr><td>msg</td><td>str</td><td>错误信息</td><td>默认为success</td></tr><tr><td>data</td><td>bool</td><td>是否收藏</td><td>false:未收藏<br>true:已收藏</td></tr></tbody></table><p><strong>示例:</strong></p><p>查询音频<code>au13598</code>的收藏状态</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://www.bilibili.com/audio/music-service-c/web/collections/songs-coll&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;sid=13598&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx;DedeUserID=1;&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;success&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">true</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="查询音频投币数" tabindex="-1"><a class="header-anchor" href="#查询音频投币数"><span>查询音频投币数</span></a></h2><blockquote><p>https://www.bilibili.com/audio/music-service-c/web/coin/audio</p></blockquote><p><em>请求方式:GET</em></p><p>认证方式:CookieSESSDATA</p><p>鉴权方式:Cookie中<code>DedeUserID</code>存在且不为0</p><p><strong>url参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>sid</td><td>num</td><td>音频auid</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>72000000:参数错误<br>72010002:账号未登陆<br>7201006:该音频不存在或已被下架</td></tr><tr><td>msg</td><td>str</td><td>错误信息</td><td>默认为success</td></tr><tr><td>data</td><td>num</td><td>投币数量</td><td>0为未投币,上限为2</td></tr></tbody></table><p><strong>示例:</strong></p><p>查询音频<code>au13598</code>的投币数</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://www.bilibili.com/audio/music-service-c/web/coin/audio&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;sid=15664&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx;DedeUserID=1;&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;success&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="投币音频" tabindex="-1"><a class="header-anchor" href="#投币音频"><span>投币音频</span></a></h2><blockquote><p>https://www.bilibili.com/audio/music-service-c/web/coin/add</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA</p><p><strong>url参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>sid</td><td>num</td><td>音频 auid</td><td>必要</td><td></td></tr><tr><td>multiply</td><td>num</td><td>投币数量(最大为 2</td><td>必要</td><td></td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于 cookie</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>72000000:参数错误<br>72010002:账号未登陆<br>7201006:该音频不存在或已被下架</td></tr><tr><td>msg</td><td>str</td><td>错误信息</td><td>默认为 0</td></tr><tr><td>data</td><td>str</td><td>当前投币数量</td><td>0 为未投币,上限为 2</td></tr></tbody></table><p><strong>示例:</strong></p><p>为音频<code>au13598</code>投币</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://www.bilibili.com/audio/music-service-c/web/coin/add&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;sid=15664&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx;DedeUserID=1;&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;1&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,42)]))}const i=t(l,[["render",o]]),c=JSON.parse('{"path":"/docs/audio/action.html","title":"音频投币&收藏","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1677124138000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"}],"changelog":[{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/audio/action.md"}');export{i as comp,c as data};
-29
View File
@@ -1,29 +0,0 @@
import{_ as t,a,b as e}from"./fav-DItVJQlV.js";import{_ as n,c as l,a as d,o}from"./app-Dgsdh8A6.js";const r={};function i(p,s){return o(),l("div",null,s[0]||(s[0]=[d('<h1 id="专栏点赞-投币-收藏" tabindex="-1"><a class="header-anchor" href="#专栏点赞-投币-收藏"><span>专栏点赞&amp;投币&amp;收藏</span></a></h1><h2 id="点赞文章" tabindex="-1"><a class="header-anchor" href="#点赞文章"><span>点赞文章</span></a></h2><img src="'+t+`" width="100" height="100"><blockquote><p>https://api.bilibili.com/x/article/like</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>id</td><td>num</td><td>文章cvid</td><td>必要</td><td></td></tr><tr><td>type</td><td>num</td><td>操作方式</td><td>必要</td><td>1:点赞<br>2:取消赞</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功 <br>-101:账号未登录<br>-111csrf校验失败<br>-400:请求错误<br>10003:不存在该稿件<br>65006:已赞过<br>65004:取消点赞失败</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>为文章<code>cv5806746</code>点赞</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/article/like&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;id=5806746&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;type=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="投币文章" tabindex="-1"><a class="header-anchor" href="#投币文章"><span>投币文章</span></a></h2><img src="`+a+`" width="100" height="100"><blockquote><p>https://api.bilibili.com/x/web-interface/coin/add</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>aid</td><td>num</td><td>文章cvid</td><td>必要</td><td></td></tr><tr><td>upid</td><td>num</td><td>文章作者mid</td><td>必要</td><td></td></tr><tr><td>multiply</td><td>num</td><td>投币数量</td><td>必要</td><td>上限为2</td></tr><tr><td>avtype</td><td>num</td><td>2</td><td>必要</td><td>必须为2</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-102:账号被封停<br>-104:硬币不足<br>-111csrf校验失败<br>-400:请求错误<br>10003:不存在该稿件<br>34002:不能给自己投币<br>34003:非法的投币数量<br>34005:超过投币上限</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p>data 对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>like</td><td>bool</td><td>是否点赞成功</td><td>true:成功<br>false:失败<br>已赞过则附加点赞失败</td></tr></tbody></table><p><strong>示例:</strong></p><p>为文章<code>cv5806746</code>投币1枚</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/web-interface/coin/add&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;aid=5806746&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;upid=486980924&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;multiply=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;avtype=2&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;like&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">false</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="收藏文章" tabindex="-1"><a class="header-anchor" href="#收藏文章"><span>收藏文章</span></a></h2><img src="`+e+`" width="100" height="100"><blockquote><p>https://api.bilibili.com/x/article/favorites/add</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>id</td><td>num</td><td>文章cvid</td><td>必要</td><td></td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-111csrf校验失败<br>-400:请求错误<br>-404:无此项</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>正确为success</td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>收藏文章<code>cv5806746</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/article/favorites/add&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;id=5806746&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,45)]))}const h=n(r,[["render",i]]),D=JSON.parse('{"path":"/docs/article/action.html","title":"专栏点赞&投币&收藏","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1745141309000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"},{"name":"wuziqian211","username":"wuziqian211","email":"65224318+wuziqian211@users.noreply.github.com","commits":1,"url":"https://github.com/wuziqian211"},{"name":"btjawa","username":"btjawa","email":"125720787+btjawa@users.noreply.github.com","commits":1,"url":"https://github.com/btjawa"}],"changelog":[{"hash":"c4dc2268a9c5d61487399cbcde9a89dd125ff881","time":1745141309000,"email":"65224318+wuziqian211@users.noreply.github.com","author":"晨叶梦春","message":"add #1163","coAuthors":[{"name":"btjawa","email":"125720787+btjawa@users.noreply.github.com"}]},{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/article/action.md"}');export{h as comp,D as data};
-30
View File
@@ -1,30 +0,0 @@
import{_ as t,c as a,a as e,o as n}from"./app-Dgsdh8A6.js";const l={};function d(o,s){return n(),a("div",null,s[0]||(s[0]=[e(`<h1 id="相簿操作" tabindex="-1"><a class="header-anchor" href="#相簿操作"><span>相簿操作</span></a></h1><details><summary>功能已下线</summary><h2 id="点赞相簿" tabindex="-1"><a class="header-anchor" href="#点赞相簿"><span><s>点赞相簿</s></span></a></h2><blockquote><p>https://api.vc.bilibili.com/link_draw/v2/Vote/operate</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>doc_id</td><td>num</td><td>相簿id</td><td>必要</td><td></td></tr><tr><td>type</td><td>num</td><td>操作方式</td><td>必要</td><td>1:点赞<br>2:取消赞</td></tr><tr><td>csrf_token</td><td>str</td><td>CSRF Token(位于cookie</td><td>非必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>1:参数错误<br>3:未登录<br>110022:已经操作过了</td></tr><tr><td>msg</td><td>str</td><td>错误信息</td><td>默认为success</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为success</td></tr><tr><td>data</td><td>obj</td><td>数据本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>type</td><td>num</td><td>操作方式</td><td>1:点赞<br>2:取消赞</td></tr></tbody></table><p><strong>示例:</strong></p><p>点赞相簿<code>id=99184721</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.vc.bilibili.com/link_draw/v2/Vote/operate&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;doc_id=99184721&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;type=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf_token=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;success&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;success&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="收藏相簿" tabindex="-1"><a class="header-anchor" href="#收藏相簿"><span><s>收藏相簿</s></span></a></h2><blockquote><p>https://api.vc.bilibili.com/user_plus/v1/Fav/add</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>fav_id</td><td>num</td><td>相簿id</td><td>必要</td><td></td></tr><tr><td>biz_type</td><td>num</td><td>2</td><td>必要</td><td>作用尚不明确</td></tr><tr><td>csrf_token</td><td>str</td><td>CSRF Token(位于cookie</td><td>非必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-400:参数错误<br>-500:未登录<br>-507:已收藏</td></tr><tr><td>msg</td><td>str</td><td>错误信息</td><td>默认为OK</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为OK</td></tr><tr><td>data</td><td>array</td><td>空</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>收藏相簿<code>id=99184721</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.vc.bilibili.com/user_plus/v1/Fav/add&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;fav_id=99184721&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;biz_type=2&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf_token=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;OK&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;OK&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: []</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="取消收藏相簿" tabindex="-1"><a class="header-anchor" href="#取消收藏相簿"><span>取消收藏相簿</span></a></h2><blockquote><p>https://api.vc.bilibili.com/user_plus/v1/Fav/delete</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>fav_id</td><td>num</td><td>相簿id</td><td>必要</td><td></td></tr><tr><td>biz_type</td><td>num</td><td>2</td><td>必要</td><td>作用尚不明确</td></tr><tr><td>csrf_token</td><td>str</td><td>CSRF Token(位于cookie</td><td>非必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-400:参数错误<br>-500:未登录</td></tr><tr><td>msg</td><td>str</td><td>错误信息</td><td>默认为OK</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为OK</td></tr><tr><td>data</td><td>array</td><td>空</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>取消收藏相簿<code>id=99184721</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.vc.bilibili.com/user_plus/v1/Fav/delete&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;fav_id=99184721&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;biz_type=2&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf_token=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;OK&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;OK&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: []</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details></details>`,2)]))}const p=t(l,[["render",d]]),i=JSON.parse('{"path":"/docs/album/action.html","title":"相簿操作","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1745165052000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"},{"name":"wuziqian211","username":"wuziqian211","email":"65224318+wuziqian211@users.noreply.github.com","commits":2,"url":"https://github.com/wuziqian211"},{"name":"SessionHu","username":"SessionHu","email":"102411014+SessionHu@users.noreply.github.com","commits":1,"url":"https://github.com/SessionHu"}],"changelog":[{"hash":"ab2762aeaa0aad65603478ca704cd4cbc3b9c425","time":1745165052000,"email":"102411014+SessionHu@users.noreply.github.com","author":"SessionHu","message":"feat: mark all album doc as down"},{"hash":"2382b768aaafef33247bf09510649e2501341b26","time":1720284320000,"email":"65224318+wuziqian211@users.noreply.github.com","author":"wuziqian211","message":"feat: 更新部分接口文档的表述 (#1049)"},{"hash":"b16381e0ed1d6337d80801b719de1f56b917a0e1","time":1720278007000,"email":"65224318+wuziqian211@users.noreply.github.com","author":"wuziqian211","message":"更新 action.md"},{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/album/action.md"}');export{p as comp,i as data};
-55
View File
@@ -1,55 +0,0 @@
import{_ as e,c as l,a as t,b as d,d as a,e as o,w as r,r as i,o as p}from"./app-Dgsdh8A6.js";const c={};function u(h,s){const n=i("RouteLink");return p(),l("div",null,[s[2]||(s[2]=t(`<h1 id="动态操作" tabindex="-1"><a class="header-anchor" href="#动态操作"><span>动态操作</span></a></h1><h2 id="点赞动态" tabindex="-1"><a class="header-anchor" href="#点赞动态"><span>点赞动态</span></a></h2><blockquote><p>https://api.bilibili.com/x/dynamic/feed/dyn/thumb</p></blockquote><p><em>请求方法: POST</em></p><p>认证方式: Cookie (SESSDATA)</p><p><strong>URL 参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>csrf</td><td>string</td><td>CSRF Token (即 Cookie 中 bili_jct)</td><td>必要</td><td></td></tr></tbody></table><p><strong>正文参数 (application/json):</strong></p><p>根对象:</p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>dyn_id_str</td><td>string</td><td>动态 id</td><td>必要</td><td></td></tr><tr><td>up</td><td>number</td><td>点赞状态</td><td>必要</td><td>0: 切换<br>1: 点赞<br>2: 取消点赞</td></tr><tr><td>spmid</td><td>string</td><td><code>333.1369.0.0</code></td><td>不必要</td><td></td></tr><tr><td>from_spmid</td><td>string</td><td><code>333.999.0.0</code></td><td>不必要</td><td></td></tr></tbody></table><p><strong>JSON回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>number</td><td>返回值</td><td>0: 成功<br>-101: 账号未登录<br>-111: csrf 校验失败<br>4100001: 参数错误</td></tr><tr><td>message</td><td>string</td><td>错误消息</td><td>成功时为 <code>0</code></td></tr><tr><td>ttl</td><td>number</td><td><code>1</code></td><td></td></tr><tr><td>data</td><td>object</td><td>空对象</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>点赞动态 <code>1057955152016703512</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -X</span><span style="color:#CE9178;"> POST</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/dynamic/feed/dyn/thumb&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --url-query</span><span style="color:#CE9178;"> &#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -b</span><span style="color:#CE9178;"> &#39;SESSDATA=xxxxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -H</span><span style="color:#CE9178;"> &#39;content-type: application/json&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-raw</span><span style="color:#CE9178;"> &#39;{&quot;dyn_id_str&quot;:&quot;1057955152016703512&quot;,&quot;up&quot;:1}&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {}</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="点赞动态-旧版" tabindex="-1"><a class="header-anchor" href="#点赞动态-旧版"><span>点赞动态 (旧版)</span></a></h2><blockquote><p>https://api.vc.bilibili.com/dynamic_like/v1/dynamic_like/thumb</p></blockquote><p><em>请求方法: POST</em></p><p>认证方式: Cookie (SESSDATA)</p><p><strong>正文参数 (application/x-www-form-urlencoded):</strong></p><p>根对象:</p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>dynamic_id</td><td>string</td><td>动态 id</td><td>必要</td><td></td></tr><tr><td>up</td><td>number</td><td>点赞状态</td><td>必要</td><td>0: 切换<br>1: 点赞<br>2: 取消点赞</td></tr><tr><td>csrf</td><td>string</td><td>CSRF Token (即 Cookie 中 bili_jct)</td><td>必要</td><td></td></tr></tbody></table><p><strong>JSON回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>number</td><td>返回值</td><td>0: 成功<br>-101: 账号未登录<br>-111: csrf 校验失败<br>4100001: 参数错误</td></tr><tr><td>message</td><td>string</td><td>错误消息</td><td>成功时为 <code>0</code></td></tr><tr><td>ttl</td><td>number</td><td><code>1</code></td><td></td></tr><tr><td>data</td><td>object</td><td>空对象</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>点赞动态 <code>1060771233257226247</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -X</span><span style="color:#CE9178;"> POST</span><span style="color:#CE9178;"> &#39;https://api.vc.bilibili.com/dynamic_like/v1/dynamic_like/thumb&#39;</span><span style="color:#D7BA7D;"> \\ </span><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;csrf=xxxxxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;dynamic_id=1060771233257226247&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;up=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -b</span><span style="color:#CE9178;"> &#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {}</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="删除动态" tabindex="-1"><a class="header-anchor" href="#删除动态"><span>删除动态</span></a></h2>`,32)),d("p",null,[s[1]||(s[1]=a("参见 ")),o(n,{to:"/docs/creativecenter/opus.html#%E5%88%A0%E9%99%A4%E5%8A%A8%E6%80%81"},{default:r(()=>s[0]||(s[0]=[a("创作中心 -> 图文操作 -> 删除动态")])),_:1,__:[0]})]),s[3]||(s[3]=t(`<h2 id="删除动态-旧版" tabindex="-1"><a class="header-anchor" href="#删除动态-旧版"><span>删除动态 (旧版)</span></a></h2><blockquote><p><a href="https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/rm_dynamic" target="_blank" rel="noopener noreferrer">https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/rm_dynamic</a></p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA</p><p><strong>正文参数(multipart/form-data):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>dynamic_id</td><td>num</td><td>动态id</td><td>必要</td><td></td></tr><tr><td>csrf_token</td><td>str</td><td>csrf</td><td>必要</td><td></td></tr><tr><td>csrf</td><td>str</td><td>csrf</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>500404:已经删除过该动态<br>500406:动态不是自己的</td></tr><tr><td>msg</td><td>str</td><td>错误信息</td><td>成功时为空文本</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>同<code>msg</code></td></tr><tr><td>data</td><td>obj</td><td>数据本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>_gt_</td><td>num</td><td>0</td><td><strong>作用尚不明确</strong></td></tr></tbody></table><p><strong>示例:</strong></p><p>删除动态<code>dynamic_id=588320531406678918</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/rm_dynamic&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;dynamic_id=588320531406678918&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;csrf_token=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -b</span><span style="color:#CE9178;"> &#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;_gt_&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="删除定时发布动态" tabindex="-1"><a class="header-anchor" href="#删除定时发布动态"><span>删除定时发布动态</span></a></h2><blockquote><p><a href="https://api.vc.bilibili.com/dynamic_draft/v1/dynamic_draft/rm_draft" target="_blank" rel="noopener noreferrer">https://api.vc.bilibili.com/dynamic_draft/v1/dynamic_draft/rm_draft</a></p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA</p><p><strong>正文参数(application/x-www-form-urlencoded):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>draft_id</td><td>num</td><td>定时发布动态id</td><td>必要</td><td></td></tr><tr><td>csrf_token</td><td>str</td><td>csrf</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>4120015:系统异常</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td></td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>数据本体</td><td>空对象,即<code>{}</code></td></tr></tbody></table><p><strong>示例:</strong></p><p>删除定时发布动态<code>draft_id=755409289278914611</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.vc.bilibili.com/dynamic_draft/v1/dynamic_draft/rm_draft&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;draft_id=755409289278914611&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;csrf=xxxx&#39;</span></span>
<span class="line"><span style="color:#DCDCAA;"> -b</span><span style="color:#CE9178;"> &#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">, </span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">, </span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">, </span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {}</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="设置置顶动态" tabindex="-1"><a class="header-anchor" href="#设置置顶动态"><span>设置置顶动态</span></a></h2><blockquote><p>https://api.bilibili.com/x/dynamic/feed/space/set_top</p></blockquote><p><strong>请求方法: POST</strong></p><p>认证方式: Cookie (SESSDATA)</p><p>鉴权方式: Cookie 中 <code>buvid3</code> 不为空</p><p><strong>URL 参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>csrf</td><td>string</td><td>CSRF Token (即 Cookie 中 bili_jct)</td><td>必要</td><td></td></tr></tbody></table><p><strong>正文参数 (application/json):</strong></p><p>根对象:</p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>dyn_str</td><td>string</td><td>动态 id</td><td>必要</td><td></td></tr></tbody></table><p><strong>JSON回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>number</td><td>返回值</td><td>0: 成功<br>-101: 账号未登录<br>-111: csrf 校验失败<br>4100001: 参数错误</td></tr><tr><td>message</td><td>string</td><td>错误消息</td><td>成功时为 <code>0</code></td></tr><tr><td>ttl</td><td>number</td><td><code>1</code></td><td></td></tr><tr><td>data</td><td>object</td><td>空对象</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>置顶动态 <code>1063487284684259332</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -X</span><span style="color:#CE9178;"> POST</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/dynamic/feed/space/set_top&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --url-query</span><span style="color:#CE9178;"> &#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -b</span><span style="color:#CE9178;"> &#39;SESSDATA=xxxxx; buvid3=aaa&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -H</span><span style="color:#CE9178;"> &#39;content-type: application/json&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-raw</span><span style="color:#CE9178;"> &#39;{&quot;dyn_str&quot;:&quot;1063487284684259332&quot;}&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {}</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="取消置顶动态" tabindex="-1"><a class="header-anchor" href="#取消置顶动态"><span>取消置顶动态</span></a></h2><blockquote><p>https://api.bilibili.com/x/dynamic/feed/space/rm_top</p></blockquote><p><strong>请求方法: POST</strong></p><p>认证方式: Cookie (SESSDATA)</p><p><strong>URL 参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>csrf</td><td>string</td><td>CSRF Token (即 Cookie 中 bili_jct)</td><td>必要</td><td></td></tr></tbody></table><p><strong>正文参数 (application/json):</strong></p><p>根对象:</p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>dyn_str</td><td>string</td><td>动态 id</td><td>必要</td><td></td></tr></tbody></table><p><strong>JSON回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>number</td><td>返回值</td><td>0: 成功<br>-101: 账号未登录<br>-111: csrf 校验失败<br>4100001: 参数错误</td></tr><tr><td>message</td><td>string</td><td>错误消息</td><td>成功时为 <code>0</code></td></tr><tr><td>ttl</td><td>number</td><td><code>1</code></td><td></td></tr><tr><td>data</td><td>object</td><td>空对象</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>取消置顶动态 <code>1063487284684259332</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -X</span><span style="color:#CE9178;"> POST</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/dynamic/feed/space/rm_top&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --url-query</span><span style="color:#CE9178;"> &#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -b</span><span style="color:#CE9178;"> &#39;SESSDATA=xxxxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -H</span><span style="color:#CE9178;"> &#39;content-type: application/json&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-raw</span><span style="color:#CE9178;"> &#39;{&quot;dyn_str&quot;:&quot;1063487284684259332&quot;}&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {}</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,61))])}const b=e(c,[["render",u]]),D=JSON.parse('{"path":"/docs/dynamic/action.html","title":"动态操作","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1746964165000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"},{"name":"wuziqian211","username":"wuziqian211","email":"65224318+wuziqian211@users.noreply.github.com","commits":4,"url":"https://github.com/wuziqian211"},{"name":"SessionHu","username":"SessionHu","email":"102411014+SessionHu@users.noreply.github.com","commits":7,"url":"https://github.com/SessionHu"}],"changelog":[{"hash":"4144fc9fcc65988e5f0d368796d5962f0aa0f609","time":1746964165000,"email":"102411014+SessionHu@users.noreply.github.com","author":"Session小胡","message":"fix(dynamic/action.md): typo","coAuthors":[{"name":"晨叶梦春","email":"65224318+wuziqian211@users.noreply.github.com"}]},{"hash":"11dee979766e979fc9a52842abb4c915af3bf1ab","time":1746619234000,"email":"102411014+SessionHu@users.noreply.github.com","author":"SessionHu","message":"feat: 取消置顶动态"},{"hash":"105dfe311a2ca438da2a129fe14f61c196096934","time":1746612363000,"email":"102411014+SessionHu@users.noreply.github.com","author":"SessionHu","message":"fix(dynamic/action.md): set_top needs buvid3"},{"hash":"4d20caed1eb9151b8f51dbeadbc9a403121873d2","time":1746597381000,"email":"102411014+SessionHu@users.noreply.github.com","author":"SessionHu","message":"feat: 置顶动态"},{"hash":"53e79c6f6df3bdb1018d0492608f0dc246f52167","time":1745855930000,"email":"102411014+SessionHu@users.noreply.github.com","author":"SessionHu","message":"feat(dynamic/action.md): link to new remove dynamic"},{"hash":"e70777654991bb482cdbdc9cd4893e7319325d71","time":1745853050000,"email":"102411014+SessionHu@users.noreply.github.com","author":"SessionHu","message":"feat(dynamic/action.md): old thumb"},{"hash":"be33ec2ea1b78e3faa606e327bb02007f411e43d","time":1745772724000,"email":"102411014+SessionHu@users.noreply.github.com","author":"SessionHu","message":"feat(dynamic/action.md): thumb"},{"hash":"fb1d970a9becd5741684ceb0e2a7b16530065aa5","time":1745154419000,"email":"65224318+wuziqian211@users.noreply.github.com","author":"晨叶梦春","message":"添加回被 #1049 误删除的部分"},{"hash":"2382b768aaafef33247bf09510649e2501341b26","time":1720284320000,"email":"65224318+wuziqian211@users.noreply.github.com","author":"wuziqian211","message":"feat: 更新部分接口文档的表述 (#1049)"},{"hash":"478feea1b24b4ac252c8f7cb4ac335c15e4504eb","time":1720280017000,"email":"65224318+wuziqian211@users.noreply.github.com","author":"wuziqian211","message":"feat: 规范化文档"},{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/dynamic/action.md"}');export{b as comp,D as data};
-159
View File
@@ -1,159 +0,0 @@
import{_ as t,a,b as n}from"./fav-DItVJQlV.js";import{_ as e,c as l,a as d,o}from"./app-Dgsdh8A6.js";const r={};function p(i,s){return o(),l("div",null,s[0]||(s[0]=[d('<h1 id="稿件观众操作" tabindex="-1"><a class="header-anchor" href="#稿件观众操作"><span>稿件观众操作</span></a></h1><h2 id="点赞" tabindex="-1"><a class="header-anchor" href="#点赞"><span>点赞</span></a></h2><img src="'+t+`" width="100" height="100"><h3 id="点赞视频-web端" tabindex="-1"><a class="header-anchor" href="#点赞视频-web端"><span>点赞视频(web端)</span></a></h3><blockquote><p>https://api.bilibili.com/x/web-interface/archive/like</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:仅可CookieSESSDATA</p><p>需验证 Cookie 中<code>buvid3</code>字段存在且正常, 否则将导致触发风控</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>aid</td><td>num</td><td>稿件 avid</td><td>必要(可选)</td><td>avid 与 bvid 任选一个</td></tr><tr><td>bvid</td><td>str</td><td>稿件 bvid</td><td>必要(可选)</td><td>avid 与 bvid 任选一个</td></tr><tr><td>like</td><td>num</td><td>操作方式</td><td>必要</td><td>1:点赞<br>2:取消赞</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于 Cookie</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功 <br>-101:账号未登录<br>-111csrf校验失败<br>-400:请求错误<br>-403: 账号异常<br> 10003:不存在该稿件<br>65004:取消点赞失败<br>65006:重复点赞</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>点赞视频<code>av79677524</code>/<code>BV1uJ411r7hL</code></p><p>avid方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/web-interface/archive/like&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;aid=79677524&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;like=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>bvid方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/web-interface/archive/like&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;bvid=BV1uJ411r7hL&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;like=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="点赞视频-app端" tabindex="-1"><a class="header-anchor" href="#点赞视频-app端"><span>点赞视频(APP端)</span></a></h3><blockquote><p>https://app.bilibili.com/x/v2/view/like</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:仅可APP</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>access_key</td><td>str</td><td>APP 登录 Token</td><td>APP 方式必要</td><td></td></tr><tr><td>aid</td><td>num</td><td>稿件 avid</td><td>必要</td><td></td></tr><tr><td>like</td><td>num</td><td>操作方式</td><td>必要</td><td>0:点赞<br>1:取消赞</td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功 <br>-101:账号未登录<br>-400:请求错误<br>-403: 账号异常<br>10003:不存在该稿件</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>数据本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>toast</td><td>str</td><td>提示信息内容</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>点赞视频<code>av79677524</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://app.bilibili.com/x/v2/view/like&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;access_key=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;aid=79677524&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;like=0&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;toast&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;点赞收到!视频可能推荐哦&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="判断视频近期是否被点赞-双端" tabindex="-1"><a class="header-anchor" href="#判断视频近期是否被点赞-双端"><span>判断视频近期是否被点赞(双端)</span></a></h3><blockquote><p>https://api.bilibili.com/x/web-interface/archive/has/like</p></blockquote><p><em>请求方式:GET</em></p><p>认证方式:APP或CookieSESSDATA</p><p>注: 这一 API 实际上只能判断出视频<strong>在近期内</strong>是否被点赞, 并不能判断出视频是否被点赞. 「近期」的定义不明, 但至少半年前点赞过的视频, 用这一接口获取到的结果就已经是 <code>0</code> 了. 参见 <a href="https://github.com/SocialSisterYi/bilibili-API-collect/issues/380" target="_blank" rel="noopener noreferrer">#380</a>.</p><p><strong>url参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>access_key</td><td>str</td><td>APP 登录 Token</td><td>APP 方式必要</td><td></td></tr><tr><td>aid</td><td>num</td><td>稿件 avid</td><td>必要(可选)</td><td>avid 与 bvid 任选一个</td></tr><tr><td>bvid</td><td>str</td><td>稿件 bvid</td><td>必要(可选)</td><td>avid 与 bvid 任选一个</td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-400:请求错误<br>-101:账号未登录</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>num</td><td>被点赞标志</td><td>0:未点赞<br>1:已点赞</td></tr></tbody></table><p><strong>示例:</strong></p><p>视频<code>av39330059</code>/<code>BV1Bt411z799</code>的状态为已点赞</p><p>avid方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/web-interface/archive/has/like&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;aid=39330059&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>bvid方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/web-interface/archive/has/like&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;bvid=BV1Bt411z799&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="点踩" tabindex="-1"><a class="header-anchor" href="#点踩"><span>点踩</span></a></h2><h3 id="点踩视频-app端" tabindex="-1"><a class="header-anchor" href="#点踩视频-app端"><span>点踩视频(App端)</span></a></h3><blockquote><p>https://app.biliapi.net/x/v2/view/dislike</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:仅可App</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>access_key</td><td>str</td><td>APP 登录 Token</td><td>必要</td><td></td></tr><tr><td>aid</td><td>num</td><td>视频 aid</td><td>必要</td><td></td></tr><tr><td>dislike</td><td>num</td><td>操作类型</td><td>必要</td><td>0:点踩<br>1:取消点踩</td></tr></tbody></table><p><strong>json回复:</strong></p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功 <br>-101:账号未登录<br>-400:请求错误<br>-404:啥都木有<br> 65005:取消踩失败 未点踩过<br>65007:已踩过</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>点踩视频</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -L</span><span style="color:#569CD6;"> -X</span><span style="color:#CE9178;"> POST</span><span style="color:#CE9178;"> &#39;https://app.biliapi.net/x/v2/view/dislike&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-H </span><span style="color:#CE9178;">&#39;Content-Type: application/x-www-form-urlencoded&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;access_key=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;aid=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;dislike=0&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>取消点踩</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -L</span><span style="color:#569CD6;"> -X</span><span style="color:#CE9178;"> POST</span><span style="color:#CE9178;"> &#39;https://app.biliapi.net/x/v2/view/dislike&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-H </span><span style="color:#CE9178;">&#39;Content-Type: application/x-www-form-urlencoded&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;access_key=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;aid=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;dislike=1&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="投币" tabindex="-1"><a class="header-anchor" href="#投币"><span>投币</span></a></h2><img src="`+a+`" width="100" height="100"><h3 id="投币视频-web端" tabindex="-1"><a class="header-anchor" href="#投币视频-web端"><span>投币视频(web端)</span></a></h3><blockquote><p>https://api.bilibili.com/x/web-interface/coin/add</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:仅可CookieSESSDATA</p><p>需验证 Cookie 中<code>buvid3</code>字段存在且正常, 否则将导致触发风控</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>aid</td><td>num</td><td>稿件 avid</td><td>必要(可选)</td><td>avid 与 bvid 任选一个</td></tr><tr><td>bvid</td><td>str</td><td>稿件 bvid</td><td>必要(可选)</td><td>avid 与 bvid 任选一个</td></tr><tr><td>multiply</td><td>num</td><td>投币数量</td><td>必要</td><td>上限为2</td></tr><tr><td>select_like</td><td>num</td><td>是否附加点赞</td><td>非必要</td><td>0:不点赞<br>1:同时点赞<br>默认为0</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于 Cookie</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-102:账号被封停<br>-104:硬币不足<br>-111csrf校验失败<br>-400:请求错误<br>-403: 账号异常<br>10003:不存在该稿件<br>34002:不能给自己投币<br>34003:非法的投币数量<br>34004:投币间隔太短<br>34005:超过投币上限</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p>data 对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>like</td><td>bool</td><td>是否点赞成功</td><td>true:成功<br>false:失败<br>已赞过则附加点赞失败</td></tr></tbody></table><p><strong>示例:</strong></p><p>为视频<code>av90671873</code>/<code>BV1N7411A7wC</code>投币2枚</p><p>avid方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/web-interface/coin/add&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;aid=90671873&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;select_like=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;multiply=2&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>bvid方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/web-interface/coin/add&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;bvid=BV1N7411A7wC&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;select_like=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;multiply=2&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;like&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">true</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="投币视频-app端" tabindex="-1"><a class="header-anchor" href="#投币视频-app端"><span>投币视频(APP端)</span></a></h3><blockquote><p>https://app.bilibili.com/x/v2/view/coin/add</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:仅可APP</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>access_key</td><td>str</td><td>APP 登录 Token</td><td>APP 方式必要</td><td></td></tr><tr><td>aid</td><td>num</td><td>稿件 avid</td><td>必要</td><td></td></tr><tr><td>multiply</td><td>num</td><td>投币数量</td><td>必要</td><td>上限为2</td></tr><tr><td>select_like</td><td>num</td><td>附加点赞</td><td>非必要</td><td>0:不点赞<br>1:同时点赞<br>默认为0</td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-102:账号被封停<br>-104:硬币不足<br>-400:请求错误<br>10003:不存在该稿件<br>34002:不能给自己投币<br>34003:非法的投币数量<br>34004:投币间隔太短<br>34005:超过投币上限</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p>data 对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>like</td><td>bool</td><td>是否点赞成功</td><td>true:成功<br>false:失败<br>已赞过则附加点赞失败</td></tr></tbody></table><p>为视频<code>av90671873</code>投币2枚</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://app.bilibili.com/x/v2/view/coin/add&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;access_key=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;aid=90671873&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;select_like=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;multiply=2&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;like&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">true</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="判断视频是否被投币-双端" tabindex="-1"><a class="header-anchor" href="#判断视频是否被投币-双端"><span>判断视频是否被投币(双端)</span></a></h3><blockquote><p>https://api.bilibili.com/x/web-interface/archive/coins</p></blockquote><p><em>请求方式:GET</em></p><p>认证方式:APP或CookieSESSDATA</p><p><strong>url参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>access_key</td><td>str</td><td>APP 登录 Token</td><td>APP方式必要</td><td></td></tr><tr><td>aid</td><td>num</td><td>稿件 avid</td><td>必要(可选)</td><td>avid 与 bvid 任选一个</td></tr><tr><td>bvid</td><td>str</td><td>稿件 bvid</td><td>必要(可选)</td><td>avid 与 bvid 任选一个</td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-400:请求错误<br>-101:账号未登录</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>multiply</td><td>num</td><td>投币枚数</td><td>未投币为0</td></tr></tbody></table><p><strong>示例:</strong></p><p>视频<code>av37896701</code>/<code>BV18t411q7zz</code>的投币数为2枚</p><p>avid方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/web-interface/archive/coins&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;aid=37896701&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>bvid方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/web-interface/archive/coins&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;bvid=BV18t411q7zz&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;multiply&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="收藏" tabindex="-1"><a class="header-anchor" href="#收藏"><span>收藏</span></a></h2><img src="`+n+`" width="100" height="100"><h3 id="收藏视频-双端" tabindex="-1"><a class="header-anchor" href="#收藏视频-双端"><span>收藏视频(双端)</span></a></h3><blockquote><p>https://api.bilibili.com/medialist/gateway/coll/resource/deal</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:APP或CookieSESSDATA</p><p>鉴权方式:Cookie方式时需要验证referer为 <code>.bilibili.com</code>域名下</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>access_key</td><td>str</td><td>APP 登录 Token</td><td>APP 方式必要</td><td></td></tr><tr><td>rid</td><td>num</td><td>稿件 avid</td><td>必要</td><td></td></tr><tr><td>type</td><td>num</td><td>必须为2</td><td>必要</td><td></td></tr><tr><td>add_media_ids</td><td>nums</td><td>需要加入的收藏夹 mlid</td><td>必要(可选)</td><td>同时添加多个,用<code>,</code>%2C)分隔</td></tr><tr><td>del_media_ids</td><td>nums</td><td>需要取消的收藏夹 mlid</td><td>必要(可选)</td><td>同时取消多个,用<code>,</code>%2C)分隔</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于 Cookie</td><td>Cookie 方式必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-111csrf校验失败<br>-400:请求错误<br>-403:访问权限不足<br>10003:不存在该稿件<br>11010: 您访问的内容不存在<br>11201:已经收藏过了<br>11202:已经取消收藏了<br>11203:达到收藏上限<br>72010017:参数错误</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>正确为success</td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>prompt</td><td>bool</td><td>是否为未关注用户收藏</td><td>false:否<br>true:是</td></tr></tbody></table><p><strong>示例:</strong></p><p>将视频<code>av49166435</code>添加到收藏夹<code>49166435</code>中</p><p>Cookie方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/medialist/gateway/coll/resource/deal&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;rid=90671873&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;type=2&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;add_media_ids=49166435&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;del_media_ids=&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-e </span><span style="color:#CE9178;">&#39;https://www.bilibili.com&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>APP方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/medialist/gateway/coll/resource/deal&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;access_key=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;rid=90671873&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;type=2&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;add_media_ids=49166435&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;del_media_ids=&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;prompt&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">false</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;success&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="收藏视频-web端" tabindex="-1"><a class="header-anchor" href="#收藏视频-web端"><span>收藏视频(Web端)</span></a></h3><blockquote><p>https://api.bilibili.com/x/v3/fav/resource/deal</p></blockquote><p><em>请求方式: POST</em></p><p>认证方式: CookieSESSDATA</p><p><strong>正文参数(application/x-www-form-urlencoded):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>rid</td><td>num</td><td>稿件 avid</td><td>必要</td><td></td></tr><tr><td>type</td><td>num</td><td>必须为2</td><td>必要</td><td></td></tr><tr><td>add_media_ids</td><td>nums</td><td>需要加入的收藏夹 mlid</td><td>必要(可选)</td><td>同时添加多个,用<code>,</code>%2C)分隔</td></tr><tr><td>del_media_ids</td><td>nums</td><td>需要取消的收藏夹 mlid</td><td>必要(可选)</td><td>同时取消多个,用<code>,</code>%2C)分隔</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token (即 Cookie 中 bili_jct)</td><td>必要</td><td></td></tr><tr><td>platform</td><td>str</td><td>平台标识?</td><td>非必要</td><td>web端: web</td></tr><tr><td>eab_x</td><td>num</td><td>1</td><td>非必要</td><td>作用尚不明确</td></tr><tr><td>ramval</td><td>num</td><td>正整数</td><td>非必要</td><td>可能与在该页面的停留时间相关?</td></tr><tr><td>ga</td><td>num</td><td>1</td><td>非必要</td><td>作用尚不明确</td></tr><tr><td>gaia_source</td><td>str</td><td>???</td><td>非必要</td><td>web端: web_normal</td></tr></tbody></table><p><strong>JSON回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0: 成功<br>-101: 账号未登录<br>-111: csrf 校验失败<br>2001000: 参数错误</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td>错误时为 null 或不存在</td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>prompt</td><td>bool</td><td>是否为未关注用户收藏?</td><td>false:否<br>true:是</td></tr><tr><td>ga_data</td><td>null</td><td></td><td>作用尚不明确</td></tr><tr><td>toast_msg</td><td>str</td><td>空</td><td>作用尚不明确</td></tr><tr><td>success_num</td><td>num</td><td>0</td><td>作用尚不明确</td></tr></tbody></table><p><strong>示例:</strong></p><p>将视频 <code>av2</code> 添加到收藏夹 <code>645769214</code> 中</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -X</span><span style="color:#CE9178;"> POST</span><span style="color:#CE9178;"> &quot;https://api.bilibili.com/x/v3/fav/resource/deal&quot;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&quot;rid=2&quot;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&quot;type=2&quot;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&quot;csrf=xxx&quot;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&quot;add_media_ids=1428261914&quot;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&quot;SESSDATA=xxx&quot;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;prompt&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">false</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ga_data&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">null</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;toast_msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;success_num&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="判断视频是否被收藏-双端" tabindex="-1"><a class="header-anchor" href="#判断视频是否被收藏-双端"><span>判断视频是否被收藏(双端)</span></a></h3><blockquote><p>https://api.bilibili.com/x/v2/fav/video/favoured</p></blockquote><p><em>请求方式:GET</em></p><p>认证方式:APP或CookieSESSDATA</p><p><strong>url参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>access_key</td><td>str</td><td>APP 登录 Token</td><td>APP 方式必要</td><td></td></tr><tr><td>aid</td><td>num 或 str</td><td>稿件 avid 或稿件 bvid</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-400:请求错误<br>-101:账号未登录</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p>data 对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>count</td><td>num</td><td>1</td><td>作用尚不明确</td></tr><tr><td>favoured</td><td>bool</td><td>是否收藏</td><td>true:已收藏<br>false:未收藏</td></tr></tbody></table><p><strong>示例:</strong></p><p>视频<code>av46281123</code>/<code>BV1Bb411H7Dv</code>的状态为已收藏</p><p>avid方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/v2/fav/video/favoured&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;aid=46281123&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>bvid方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/v2/fav/video/favoured&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;aid=BV1Bb411H7Dv&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;count&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;favoured&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">true</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="一键三连" tabindex="-1"><a class="header-anchor" href="#一键三连"><span>一键三连</span></a></h2><p><img src="`+t+'" align="left" width="50" height="50"><img src="'+a+'" align="left" width="50" height="50"><img src="'+n+`" width="50" height="50"></p><h3 id="一键三连视频-web端" tabindex="-1"><a class="header-anchor" href="#一键三连视频-web端"><span>一键三连视频(web端)</span></a></h3><blockquote><p>https://api.bilibili.com/x/web-interface/archive/like/triple</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:仅可CookieSESSDATA</p><p>同时点赞投币收藏视频,收藏于默认收藏夹中</p><p>需验证 Cookie 中<code>buvid3</code>字段存在且正常, 否则将导致触发风控</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>aid</td><td>num</td><td>稿件 avid</td><td>必要(可选)</td><td>avid 与 bvid 任选一个</td></tr><tr><td>bvid</td><td>str</td><td>稿件 bvid</td><td>必要(可选)</td><td>avid 与 bvid 任选一个</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于 Cookie</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-111csrf校验失败<br>-400:请求错误<br>10003:不存在该稿件<br>-403: 账号异常</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>like</td><td>bool</td><td>是否点赞成功</td><td>true:成功<br>false:失败</td></tr><tr><td>coin</td><td>bool</td><td>是否投币成功</td><td>true:成功<br>false:失败</td></tr><tr><td>fav</td><td>bool</td><td>是否收藏成功</td><td>true:成功<br>false:失败</td></tr><tr><td>multiply</td><td>num</td><td>投币枚数</td><td>默认为2</td></tr></tbody></table><p><strong>示例:</strong></p><p>将视频<code>av91003840</code>/<code>BV1Wj411f79U</code>一键三连</p><p>avid方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/web-interface/archive/like/triple&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;aid=91003840&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>bvid方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/web-interface/archive/like/triple&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;bvid=BV1Wj411f79U&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;like&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">true</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;coin&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">true</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;fav&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">true</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;multiply&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="一键三连视频-app端" tabindex="-1"><a class="header-anchor" href="#一键三连视频-app端"><span>一键三连视频(APP端)</span></a></h3><blockquote><p>https://app.bilibili.com/x/v2/view/like/triple</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:仅可APP</p><p>同时点赞投币收藏视频,收藏于默认收藏夹中</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>access_key</td><td>str</td><td>APP 登录 Token</td><td>APP 方式必要</td><td></td></tr><tr><td>aid</td><td>num</td><td>稿件 avid</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-400:请求错误<br>10003:不存在该稿件</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>like</td><td>bool</td><td>是否点赞成功</td><td>true:成功<br>false:失败</td></tr><tr><td>coin</td><td>bool</td><td>是否投币成功</td><td>true:成功<br>false:失败</td></tr><tr><td>fav</td><td>bool</td><td>是否收藏成功</td><td>true:成功<br>false:失败</td></tr><tr><td>multiply</td><td>num</td><td>投币枚数</td><td>默认为2</td></tr></tbody></table><p><strong>示例:</strong></p><p>将视频<code>av91003840</code>一键三连</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://app.bilibili.com/x/v2/view/like/triple&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;access_key=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;aid=91003840&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;like&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">true</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;coin&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">true</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;fav&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">true</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;multiply&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="分享" tabindex="-1"><a class="header-anchor" href="#分享"><span>分享</span></a></h2><h3 id="分享视频-web端" tabindex="-1"><a class="header-anchor" href="#分享视频-web端"><span>分享视频 Web端)</span></a></h3><blockquote><p>https://api.bilibili.com/x/web-interface/share/add</p></blockquote><p><em>请求方式:POST</em></p><p>鉴权方式: Cookie (buvid3)</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>aid</td><td>num</td><td>稿件 aid</td><td>必要 (可选)</td><td>aid 与 bvid 任选一个</td></tr><tr><td>bvid</td><td>str</td><td>稿件 bvid</td><td>必要 (可选)</td><td>aid 与 bvid 任选一个</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token (即 Cookie 中 bili_jct)</td><td>不必要</td><td></td></tr><tr><td>eab_x</td><td>num</td><td>2</td><td>不必要</td><td>作用尚不明确</td></tr><tr><td>ramval</td><td>num</td><td>0</td><td>不必要</td><td>作用尚不明确</td></tr><tr><td>source</td><td>str</td><td>web_normal</td><td>不必要</td><td></td></tr><tr><td>ga</td><td>num</td><td>1</td><td>不必要</td><td>可能与风控有关?</td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0: 成功<br>-101: 账号未登录<br>-111: csrf校验失败<br>-400: 请求错误<br>403: 账号异常,操作失败<br>71000: 重复分享</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>num</td><td>当前分享数</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>分享视频<code>BV1oA411776z</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/web-interface/share/add&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;bvid=BV1oA411776z&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">19</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,225)]))}const u=e(r,[["render",p]]),h=JSON.parse('{"path":"/docs/video/action.html","title":"稿件观众操作","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1741620310000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":4,"url":"https://github.com/SocialSisterYi"},{"name":"SessionHu","username":"SessionHu","email":"102411014+SessionHu@users.noreply.github.com","commits":5,"url":"https://github.com/SessionHu"},{"name":"zdjniubi","username":"zdjniubi","email":"39577077+zdjniubi@users.noreply.github.com","commits":1,"url":"https://github.com/zdjniubi"},{"name":"LaMerChiang","username":"LaMerChiang","email":"catlair@qq.com","commits":1,"url":"https://github.com/LaMerChiang"},{"name":"djeozhang","username":"djeozhang","email":"djeozhang@tencent.com","commits":1,"url":"https://github.com/djeozhang"}],"changelog":[{"hash":"1d4c2d9e63de341aeb5cb7ee0622e9f7c8568c96","time":1741620310000,"email":"102411014+SessionHu@users.noreply.github.com","author":"SessionHu","message":"fix(video/action.md): fav required add_media_ids"},{"hash":"1e24c6b1889160c4c35c01416aa4239501accf5f","time":1726759053000,"email":"102411014+SessionHu@users.noreply.github.com","author":"Session小胡","message":"调整部分接口描述与错误修复 (#1088)","coAuthors":[{"name":"社会易姐QwQ","email":"45892418+SocialSisterYi@users.noreply.github.com"}]},{"hash":"2465990ccc5aea35ad6d0b17dc7c2f36bc5e45c0","time":1722059352000,"email":"102411014+SessionHu@users.noreply.github.com","author":"Session小胡","message":"feat: 更新web端视频操作播放合集相关接口 (#1064)"},{"hash":"18c1efbc102ae6b44c8f5314c90e5e64f0d926cd","time":1721909032000,"email":"102411014+SessionHu@users.noreply.github.com","author":"Session小胡","message":"feat: bili_ticket 算法 Java 实现 及 信息补充 及 错误修正 (#1061)"},{"hash":"e82b450f7302d6a9796ba56511e0f7e0e32cff7d","time":1703232457000,"email":"39577077+zdjniubi@users.noreply.github.com","author":"Gospel","message":"稿件观众操作接口增加鉴权说明 (#840)","coAuthors":[{"name":"LaMerChiang","email":"catlair@qq.com"},{"name":"djeozhang","email":"djeozhang@tencent.com"},{"name":"SocialSisterYi","email":"1440239038@qq.com"}]},{"hash":"b1a06806f09ed3ea130eefc94e33df2bc0335424","time":1691494779000,"email":"102411014+SessionHu@users.noreply.github.com","author":"Session小胡","message":"将 http 改为 https (#776)"},{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/video/action.md"}');export{u as comp,h as data};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-134
View File
@@ -1,134 +0,0 @@
import{_ as p,c as d,a as t,b as a,d as n,e,w as o,r,o as c}from"./app-Dgsdh8A6.js";const i={};function D(u,s){const l=r("RouteLink");return c(),d("div",null,[s[10]||(s[10]=t('<h1 id="收藏夹操作" tabindex="-1"><a class="header-anchor" href="#收藏夹操作"><span>收藏夹操作</span></a></h1><h2 id="管理收藏夹" tabindex="-1"><a class="header-anchor" href="#管理收藏夹"><span>管理收藏夹</span></a></h2><h3 id="新建收藏夹" tabindex="-1"><a class="header-anchor" href="#新建收藏夹"><span>新建收藏夹</span></a></h3><blockquote><p>https://api.bilibili.com/x/v3/fav/folder/add</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:APP或CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>title</td><td>str</td><td>收藏夹标题</td><td>必要</td><td></td></tr><tr><td>intro</td><td>str</td><td>收藏夹简介</td><td>非必要</td><td>默认为空</td></tr><tr><td>privacy</td><td>num</td><td>是否公开</td><td>非必要</td><td>默认为公开<br>0:公开<br>1:私密</td></tr><tr><td>cover</td><td>str</td><td>封面图url</td><td>非必要</td><td>封面会被审核</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie</td><td>Cookie方式必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-102:账号被封停</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><p>略....</p>',13)),a("p",null,[s[1]||(s[1]=n("详见")),e(l,{to:"/docs/fav/info.html#%E8%8E%B7%E5%8F%96%E6%94%B6%E8%97%8F%E5%A4%B9%E5%85%83%E6%95%B0%E6%8D%AE"},{default:o(()=>s[0]||(s[0]=[n("获取收藏夹元数据")])),_:1,__:[0]}),s[2]||(s[2]=n("中的")),s[3]||(s[3]=a("code",null,"data",-1)),s[4]||(s[4]=n("对象"))]),s[11]||(s[11]=t(`<p><strong>示例:</strong></p><p>创建一个叫<code>test</code>,简介是<code>2333</code>,封面<code>https://i0.hdslb.com/bfs/space/cb1c3ef50e22b6096fde67febe863494caefebad.png</code>,的公开收藏夹:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/v3/fav/folder/add&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;title=test&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;intro=2333&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;privacy=0&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;cover=https://i0.hdslb.com/bfs/space/cb1c3ef50e22b6096fde67febe863494caefebad.png&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;id&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1182306172</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;fid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">11823061</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">470310172</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;attr&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">6</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;test&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;cover&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://i0.hdslb.com/bfs/space/cb1c3ef50e22b6096fde67febe863494caefebad.png&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;upper&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;name&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;face&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;followed&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">false</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;vip_type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;vip_statue&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;cover_type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;cnt_info&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;collect&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;play&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;thumb_up&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;share&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;intro&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;2333&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ctime&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;mtime&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;state&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;fav_state&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;like_state&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;media_count&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="修改收藏夹" tabindex="-1"><a class="header-anchor" href="#修改收藏夹"><span>修改收藏夹</span></a></h3><blockquote><p>https://api.bilibili.com/x/v3/fav/folder/edit</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:APP或CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>media_id</td><td>num</td><td>目标收藏夹mdid</td><td>必要</td><td></td></tr><tr><td>title</td><td>str</td><td>修改收藏夹标题</td><td>必要</td><td></td></tr><tr><td>intro</td><td>str</td><td>修改收藏夹简介</td><td>非必要</td><td></td></tr><tr><td>privacy</td><td>num</td><td>是否公开</td><td>非必要</td><td>默认为公开<br><br>0:公开<br>1:私密</td></tr><tr><td>cover</td><td>str</td><td>封面图url</td><td>非必要</td><td>封面会被审核</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie</td><td>Cookie方式必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-102:账号被封停</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><p>略....</p>`,15)),a("p",null,[s[6]||(s[6]=n("详见")),e(l,{to:"/docs/fav/info.html#%E8%8E%B7%E5%8F%96%E6%94%B6%E8%97%8F%E5%A4%B9%E5%85%83%E6%95%B0%E6%8D%AE"},{default:o(()=>s[5]||(s[5]=[n("获取收藏夹元数据")])),_:1,__:[5]}),s[7]||(s[7]=n("中的")),s[8]||(s[8]=a("code",null,"data",-1)),s[9]||(s[9]=n("对象"))]),s[12]||(s[12]=t(`<p><strong>示例:</strong></p><p>修改id为<code>1182306172</code>的名字为<code>test</code>,简介为<code>2333</code>,封面为<code>https://i0.hdslb.com/bfs/space/cb1c3ef50e22b6096fde67febe863494caefebad.png</code>,公开收藏夹:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/v3/fav/folder/edit&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;media_id=1182306172&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;title=test&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;intro=2333&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;privacy=0&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;cover=https://i0.hdslb.com/bfs/space/cb1c3ef50e22b6096fde67febe863494caefebad.png&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;id&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1182306172</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;fid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">11823061</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">470310172</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;attr&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">6</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;test&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;cover&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://i0.hdslb.com/bfs/space/cb1c3ef50e22b6096fde67febe863494caefebad.png&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;upper&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;name&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;face&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;followed&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">false</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;vip_type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;vip_statue&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;cover_type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;cnt_info&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;collect&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;play&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;thumb_up&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;share&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;intro&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;2333&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ctime&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;mtime&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;state&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;fav_state&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;like_state&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;media_count&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="删除收藏夹" tabindex="-1"><a class="header-anchor" href="#删除收藏夹"><span>删除收藏夹</span></a></h3><blockquote><p>https://api.bilibili.com/x/v3/fav/folder/del</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:APP或CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>media_ids</td><td>nums</td><td>目标收藏夹mdid列表</td><td>必要</td><td>每个成员间用<code>,</code>分隔</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie</td><td>Cookie方式必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>成功为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>num</td><td>信息本体</td><td>成功为0</td></tr></tbody></table><p><strong>示例:</strong></p><p>删除id为<code>1182306172</code>的收藏夹:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/v3/fav/folder/del&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;media_ids=1182306172&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">0</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="管理收藏内容" tabindex="-1"><a class="header-anchor" href="#管理收藏内容"><span>管理收藏内容</span></a></h2><h3 id="批量复制内容" tabindex="-1"><a class="header-anchor" href="#批量复制内容"><span>批量复制内容</span></a></h3><blockquote><p>https://api.bilibili.com/x/v3/fav/resource/copy</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:APP或CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>src_media_id</td><td>num</td><td>源收藏夹id</td><td>必要</td><td></td></tr><tr><td>tar_media_id</td><td>num</td><td>目标收藏夹id</td><td>必要</td><td></td></tr><tr><td>mid</td><td>num</td><td>当前用户mid</td><td>必要</td><td></td></tr><tr><td>resources</td><td>strs</td><td>目标内容id列表</td><td>必要</td><td>格式:{内容id}:{内容类型}<br>每个成员间用<code>,</code>分隔<br>类型:<br>2:视频稿件<br>12:音频<br>21:视频合集<br>内容id<br>视频稿件:视频稿件avid<br>音频:音频auid<br>视频合集:视频合集id</td></tr><tr><td>platform</td><td>str</td><td>平台标识</td><td>非必要</td><td>可为web</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie</td><td>Cookie方式必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-111csrf校验失败<br>-400:请求错误<br>11010:您访问的内容不存在</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td>成功为0</td></tr></tbody></table><p><strong>示例:</strong></p><p>将id为<code>1288061499</code>的收藏夹中视频稿件<code>av21822819</code> <code>av21918689</code> <code>av22288065</code>复制到id为<code>1178751999</code>的收藏夹中</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/v3/fav/resource/copy&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;src_media_id=1288061499&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;tar_media_id=1178751999&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;mid=233333&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;resources=21822819:2,21918689:2,22288065:2&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;platform=web&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">0</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="批量移动内容" tabindex="-1"><a class="header-anchor" href="#批量移动内容"><span>批量移动内容</span></a></h3><blockquote><p>https://api.bilibili.com/x/v3/fav/resource/move</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:APP或CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>src_media_id</td><td>num</td><td>源收藏夹id</td><td>必要</td><td></td></tr><tr><td>tar_media_id</td><td>num</td><td>目标收藏夹id</td><td>必要</td><td></td></tr><tr><td>mid</td><td>num</td><td>当前用户mid</td><td>必要</td><td></td></tr><tr><td>resources</td><td>strs</td><td>目标内容id列表</td><td>必要</td><td>格式:{内容id}:{内容类型}<br>每个成员间用<code>,</code>分隔<br>类型:<br>2:视频稿件<br>12:音频<br>21:视频合集<br>内容id<br>视频稿件:视频稿件avid<br>音频:音频auid<br>视频合集:视频合集id</td></tr><tr><td>platform</td><td>str</td><td>平台标识</td><td>非必要</td><td>可为web</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie</td><td>Cookie方式必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-111csrf校验失败<br>-400:请求错误<br>11010:您访问的内容不存在</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td>成功为0</td></tr></tbody></table><p><strong>示例:</strong></p><p>将id为<code>1288061499</code>的收藏夹中视频稿件<code>av21822819</code> <code>av21918689</code> <code>av22288065</code>移动到id为<code>1178751999</code>的收藏夹中</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/v3/fav/resource/move&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;src_media_id=1288061499&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;tar_media_id=1178751999&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;mid=233333&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;resources=21822819:2,21918689:2,22288065:2&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;platform=web&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">0</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="批量删除内容" tabindex="-1"><a class="header-anchor" href="#批量删除内容"><span>批量删除内容</span></a></h3><blockquote><p>https://api.bilibili.com/x/v3/fav/resource/batch-del</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:APP或CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>resources</td><td>目标内容id列表</td><td>必要</td><td>格式:{内容id}:{内容类型}<br>每个成员间用<code>,</code>分隔<br>类型:<br>2:视频稿件<br>12:音频<br>21:视频合集<br>内容id<br>视频稿件:视频稿件avid<br>音频:音频auid<br>视频合集:视频合集id</td><td></td></tr><tr><td>media_id</td><td>num</td><td>目标收藏夹id</td><td>必要</td><td></td></tr><tr><td>platform</td><td>str</td><td>平台标识</td><td>非必要</td><td>可为web</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie</td><td>Cookie方式必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-111csrf校验失败<br>-400:请求错误<br>11010:您访问的内容不存在</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td>成功为0</td></tr></tbody></table><p><strong>示例:</strong></p><p>将id为<code>1178751999</code>的收藏夹中视频稿件<code>av21822819</code> <code>av21918689</code> <code>av22288065</code>取消收藏</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/v3/fav/resource/batch-del&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;resources=21822819:2,21918689:2,22288065:2&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;media_id=1178751999&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;platform=web&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">0</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="清空所有失效内容" tabindex="-1"><a class="header-anchor" href="#清空所有失效内容"><span>清空所有失效内容</span></a></h3><blockquote><p>https://api.bilibili.com/x/v3/fav/resource/clean</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:APP或CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>media_id</td><td>num</td><td>目标收藏夹id</td><td>必要</td><td></td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie</td><td>Cookie方式必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td>成功为0</td></tr></tbody></table><p><strong>示例:</strong></p><p>清理id为<code>1161340172</code>的收藏夹</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/v3/fav/resource/clean&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;media_id=1161340172&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">0</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,70))])}const v=p(i,[["render",D]]),b=JSON.parse('{"path":"/docs/fav/action.html","title":"收藏夹操作","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1677124138000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"}],"changelog":[{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/fav/action.md"}');export{v as comp,b as data};
-17
View File
@@ -1,17 +0,0 @@
import{_ as t,c as a,a as e,o as n}from"./app-Dgsdh8A6.js";const l={};function d(o,s){return n(),a("div",null,s[0]||(s[0]=[e(`<h1 id="表情操作" tabindex="-1"><a class="header-anchor" href="#表情操作"><span>表情操作</span></a></h1><h2 id="添加表情包" tabindex="-1"><a class="header-anchor" href="#添加表情包"><span>添加表情包</span></a></h2><blockquote><p>https://api.bilibili.com/x/emote/package/add</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA</p><p>只能添加有会员权限或已购买的表情包</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>package_id</td><td>num</td><td>表情包id</td><td>必要</td><td></td></tr><tr><td>business</td><td>str</td><td>使用场景</td><td>必要</td><td>reply:评论区<br>dynamic:动态</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-111csrf校验失败<br>-400:请求错误<br>-403:访问权限不足</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>添加id为<code>25</code>的表情包,使用场景为评论区</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/emote/package/add&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;package_id=25&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;business=reply&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="移除表情包" tabindex="-1"><a class="header-anchor" href="#移除表情包"><span>移除表情包</span></a></h2><blockquote><p>https://api.bilibili.com/x/emote/package/remove</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>package_id</td><td>num</td><td>表情包id</td><td>必要</td><td></td></tr><tr><td>business</td><td>str</td><td>使用场景</td><td>必要</td><td>reply:评论区<br>dynamic:动态</td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-111csrf校验失败<br>-400:请求错误<br>-403:访问权限不足</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>移除id为<code>25</code>的表情包,使用场景为评论区</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/emote/package/remove&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;package_id=25&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;business=reply&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,28)]))}const p=t(l,[["render",d]]),i=JSON.parse('{"path":"/docs/emoji/action.html","title":"表情操作","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1677124138000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"}],"changelog":[{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/emoji/action.md"}');export{p as comp,i as data};
-91
View File
@@ -1,91 +0,0 @@
import{_ as o,c as p,a as d,b as t,d as n,e as a,w as e,r,o as i}from"./app-Dgsdh8A6.js";const c={};function D(u,s){const l=r("RouteLink");return i(),p("div",null,[s[48]||(s[48]=d('<h1 id="操作" tabindex="-1"><a class="header-anchor" href="#操作"><span>操作</span></a></h1><h2 id="提交答题" tabindex="-1"><a class="header-anchor" href="#提交答题"><span>提交答题</span></a></h2><h3 id="提交基础题" tabindex="-1"><a class="header-anchor" href="#提交基础题"><span>提交基础题</span></a></h3><blockquote><p>https://api.bilibili.com/x/answer/v4/base/check</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:APP或CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p>',7)),t("table",null,[s[15]||(s[15]=t("thead",null,[t("tr",null,[t("th",null,"参数名"),t("th",null,"类型"),t("th",null,"内容"),t("th",null,"必要性"),t("th",null,"备注")])],-1)),t("tbody",null,[t("tr",null,[s[3]||(s[3]=t("td",null,"question_id",-1)),s[4]||(s[4]=t("td",null,"num",-1)),s[5]||(s[5]=t("td",null,"题目id",-1)),s[6]||(s[6]=t("td",null,"必要",-1)),t("td",null,[s[1]||(s[1]=n("从")),a(l,{to:"/docs/newbie_exam/fetch.html#%E6%8B%89%E5%8F%96%E5%9F%BA%E7%A1%80%E9%A2%98"},{default:e(()=>s[0]||(s[0]=[n("拉取基础题api")])),_:1,__:[0]}),s[2]||(s[2]=n("获得"))])]),t("tr",null,[s[10]||(s[10]=t("td",null,"ans_hash",-1)),s[11]||(s[11]=t("td",null,"str",-1)),s[12]||(s[12]=t("td",null,"选项hash",-1)),s[13]||(s[13]=t("td",null,"必要",-1)),t("td",null,[s[8]||(s[8]=n("从")),a(l,{to:"/docs/newbie_exam/fetch.html#%E6%8B%89%E5%8F%96%E5%9F%BA%E7%A1%80%E9%A2%98"},{default:e(()=>s[7]||(s[7]=[n("拉取基础题api")])),_:1,__:[7]}),s[9]||(s[9]=n("获得"))])]),s[14]||(s[14]=t("tr",null,[t("td",null,"csrf"),t("td",null,"str"),t("td",null,"CSRF Token(位于cookie"),t("td",null,"Cookie方式必要"),t("td")],-1))])]),s[49]||(s[49]=d(`<p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-400:请求错误<br>41014:答题过快或错误太多<br>41012:用户答题提交题目id不合法<br>41020:用户基础题已通过<br>41023:用户答题记录不存在</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>passed</td><td>bool</td><td>选项是否正确</td><td>true:选项正确<br>false:选项错误</td></tr></tbody></table><p><strong>示例:</strong></p><p>提交题目id为<code>104</code>的题,选项hash为<code>cb4c8cc9424fc771f7c1598e74de498f</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/answer/v4/base/check&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;question_id=104&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;ans_hash=cb4c8cc9424fc771f7c1598e74de498f&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;passed&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">true</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="提交附加题" tabindex="-1"><a class="header-anchor" href="#提交附加题"><span>提交附加题</span></a></h3><blockquote><p>https://api.bilibili.com/x/answer/v4/base/check</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:APP或CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p>`,14)),t("table",null,[s[31]||(s[31]=t("thead",null,[t("tr",null,[t("th",null,"参数名"),t("th",null,"类型"),t("th",null,"内容"),t("th",null,"必要性"),t("th",null,"备注")])],-1)),t("tbody",null,[t("tr",null,[s[19]||(s[19]=t("td",null,"question_id",-1)),s[20]||(s[20]=t("td",null,"num",-1)),s[21]||(s[21]=t("td",null,"题目id",-1)),s[22]||(s[22]=t("td",null,"必要",-1)),t("td",null,[s[17]||(s[17]=n("从")),a(l,{to:"/docs/newbie_exam/fetch.html#%E6%8B%89%E5%8F%96%E5%9F%BA%E7%A1%80%E9%A2%98"},{default:e(()=>s[16]||(s[16]=[n("拉取基础题api")])),_:1,__:[16]}),s[18]||(s[18]=n("获得"))])]),t("tr",null,[s[26]||(s[26]=t("td",null,"ans_hash",-1)),s[27]||(s[27]=t("td",null,"str",-1)),s[28]||(s[28]=t("td",null,"选项hash",-1)),s[29]||(s[29]=t("td",null,"必要",-1)),t("td",null,[s[24]||(s[24]=n("从")),a(l,{to:"/docs/newbie_exam/fetch.html#%E6%8B%89%E5%8F%96%E5%9F%BA%E7%A1%80%E9%A2%98"},{default:e(()=>s[23]||(s[23]=[n("拉取基础题api")])),_:1,__:[23]}),s[25]||(s[25]=n("获得"))])]),s[30]||(s[30]=t("tr",null,[t("td",null,"csrf"),t("td",null,"str"),t("td",null,"CSRF Token(位于cookie"),t("td",null,"Cookie方式必要"),t("td")],-1))])]),s[50]||(s[50]=d(`<p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-400:请求错误<br>41014:答题过快或错误太多<br>41012:用户答题提交题目id不合法<br>41023:用户答题记录不存在</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>passed</td><td>bool</td><td>选项是否正确</td><td>true:选项正确<br>false:选项错误</td></tr></tbody></table><p><strong>示例:</strong></p><p>提交题目id为<code>104</code>的题,选项hash为<code>cb4c8cc9424fc771f7c1598e74de498f</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/answer/v4/base/check&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;question_id=104&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;ans_hash=cb4c8cc9424fc771f7c1598e74de498f&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;passed&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">true</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="提交自选题" tabindex="-1"><a class="header-anchor" href="#提交自选题"><span>提交自选题</span></a></h3><blockquote><p>https://api.bilibili.com/x/answer/v4/pro/check</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:APP或CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p>`,14)),t("table",null,[s[47]||(s[47]=t("thead",null,[t("tr",null,[t("th",null,"参数名"),t("th",null,"类型"),t("th",null,"内容"),t("th",null,"必要性"),t("th",null,"备注")])],-1)),t("tbody",null,[t("tr",null,[s[35]||(s[35]=t("td",null,"question_id",-1)),s[36]||(s[36]=t("td",null,"num",-1)),s[37]||(s[37]=t("td",null,"题目id",-1)),s[38]||(s[38]=t("td",null,"必要",-1)),t("td",null,[s[33]||(s[33]=n("从")),a(l,{to:"/docs/newbie_exam/fetch.html#%E6%8B%89%E5%8F%96%E5%9F%BA%E7%A1%80%E9%A2%98"},{default:e(()=>s[32]||(s[32]=[n("拉取基础题api")])),_:1,__:[32]}),s[34]||(s[34]=n("获得"))])]),t("tr",null,[s[42]||(s[42]=t("td",null,"ans_hash",-1)),s[43]||(s[43]=t("td",null,"str",-1)),s[44]||(s[44]=t("td",null,"选项hash",-1)),s[45]||(s[45]=t("td",null,"必要",-1)),t("td",null,[s[40]||(s[40]=n("从")),a(l,{to:"/docs/newbie_exam/fetch.html#%E6%8B%89%E5%8F%96%E5%9F%BA%E7%A1%80%E9%A2%98"},{default:e(()=>s[39]||(s[39]=[n("拉取基础题api")])),_:1,__:[39]}),s[41]||(s[41]=n("获得"))])]),s[46]||(s[46]=t("tr",null,[t("td",null,"csrf"),t("td",null,"str"),t("td",null,"CSRF Token(位于cookie"),t("td",null,"Cookie方式必要"),t("td")],-1))])]),s[51]||(s[51]=d(`<p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-400:请求错误<br>41014:答题过快或错误太多<br>41012:用户答题提交题目id不合法<br>41023:用户答题记录不存在<br>41026:获取用户DB题目信息异常</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>passed</td><td>bool</td><td>true</td><td>恒为<code>true</code></td></tr></tbody></table><p><strong>示例:</strong></p><p>提交题目id为<code>2935</code>的题,选项hash为<code>ffd55cbe0624f466bee2ea3eb576a4d0</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/answer/v4/pro/check&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;question_id=2935&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;ans_hash=ffd55cbe0624f466bee2ea3eb576a4d0&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;passed&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">true</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="获取验证码" tabindex="-1"><a class="header-anchor" href="#获取验证码"><span>获取验证码</span></a></h2><blockquote><p>https://api.bilibili.com/x/answer/v4/captcha</p></blockquote><p><em>请求方式:GET</em></p><p>认证方式:APP或CookieSESSDATA</p><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-400:请求错误<br>41010:用户答题非法访问<br>41014:答题过快或错误太多<br>41020:用户基础题已通过<br>41021:用户基础题未通过</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>type</td><td>str</td><td>验证码类型?</td><td>geetest:极验</td></tr><tr><td>gt</td><td>str</td><td>极验id</td><td></td></tr><tr><td>challenge</td><td>str</td><td>极验key</td><td></td></tr><tr><td>token</td><td>str</td><td>(?)</td><td></td></tr><tr><td>url</td><td>str</td><td>(?)</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/answer/v4/captcha&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;geetest&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;gt&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;abc55d1fb914cb110cfb4c232a4b4c35&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;challenge&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;90a6e03e626e13ee186ddae0107c3ae2&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;token&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;url&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="提交验证码" tabindex="-1"><a class="header-anchor" href="#提交验证码"><span>提交验证码</span></a></h2><blockquote><p>https://api.bilibili.com/x/answer/v4/captcha/check</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:APP或CookieSESSDATA</p><p><strong>注:</strong></p><p>旧版<code>edition=0</code>同时提交自选题分类以及验证码</p><p>新版<code>edition=2</code>仅仅提交验证码</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>types</td><td>nums</td><td>自选题分类(旧版)</td><td>非必要</td><td>新版不需要此字段</td></tr><tr><td>type</td><td>str</td><td>验证码类型</td><td>非必要</td><td></td></tr><tr><td>bilibili_token</td><td>str</td><td></td><td>非必要</td><td></td></tr><tr><td>bilibili_code</td><td>str</td><td></td><td>非必要</td><td></td></tr><tr><td>geetest_challenge</td><td>str</td><td>极验key</td><td>非必要</td><td></td></tr><tr><td>geetest_seccode</td><td>str</td><td>极验结果+|jordan</td><td>非必要</td><td></td></tr><tr><td>geetest_validate</td><td>str</td><td>极验结果</td><td>非必要</td><td></td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie)</td><td>Cookie方式必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-105:验证码错误<br>-400:请求错误<br>41010:用户答题非法访问<br>41014:答题过快或错误太多<br>41021:用户基础题未通过<br>41031:自选题未通过</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/answer/v4/captcha/check&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;types=&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;type=geetest&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;bilibili_token=&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;bilibili_code=&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;geetest_challenge=3f809a7a9c51edca751fd26c032c182d&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;geetest_seccode=513ec576a275a3eb250829202d4dce46|jordan&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;geetest_validate=513ec576a275a3eb250829202d4dce46&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="提交自选题分类" tabindex="-1"><a class="header-anchor" href="#提交自选题分类"><span>提交自选题分类</span></a></h2><blockquote><p>https://api.bilibili.com/x/answer/v4/pro/type/check</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:APP或CookieSESSDATA</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>types</td><td>nums</td><td>自选题分类(新版)</td><td>必要</td><td></td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie)</td><td>Cookie方式必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-400:请求错误<br>41010:用户答题非法访问<br>41014:答题过快或错误太多<br>41021:用户基础题未通过<br>41031:自选题未通过<br>41052:用户题目类型不合法<br>41055:基础附加题未通过</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>选择<code>游戏</code> <code>影视</code> <code>科教/知识</code> <code>动画/动漫</code>分类</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/answer/v4/pro/type/check&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;types=1,2,3,4&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="提前交卷" tabindex="-1"><a class="header-anchor" href="#提前交卷"><span>提前交卷</span></a></h2><blockquote><p>https://api.bilibili.com/x/answer/v4/submit</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:APP或CookieSESSDATA</p><p>当当前得分&gt;=60时,可请求本接口提前完成答题</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie)</td><td>Cookie方式必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-400:请求错误<br>41014:答题过快或错误太多<br>41023:用户答题记录不存在<br>41031:自选题未通过</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>hid</td><td>num</td><td>答题会话id</td><td></td></tr><tr><td>mid</td><td>num</td><td>答题用户mid</td><td></td></tr><tr><td>score</td><td>num</td><td>得分</td><td></td></tr><tr><td>status</td><td>num</td><td>0</td><td></td></tr><tr><td>number</td><td>num</td><td>0</td><td></td></tr><tr><td>result</td><td>str</td><td>succeed</td><td></td></tr><tr><td>stage</td><td>str</td><td>result</td><td></td></tr><tr><td>version</td><td>str</td><td>版本</td><td>目前为<code>v4</code></td></tr><tr><td>start_time</td><td>num</td><td>本次答题开始时间</td><td>时间戳</td></tr><tr><td>first_answer</td><td>num</td><td>0</td><td></td></tr><tr><td>progress</td><td>str</td><td></td><td></td></tr><tr><td>text</td><td>str</td><td></td><td></td></tr><tr><td>url</td><td>str</td><td></td><td></td></tr><tr><td>in_reg_audit</td><td>bool</td><td></td><td></td></tr><tr><td>edition</td><td>num</td><td>答题版本</td><td>0:旧版(40+10+50<br>2:新版(40+30+30</td></tr><tr><td>rewards</td><td>null</td><td></td><td></td></tr><tr><td>captcha</td><td>num</td><td>1</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/answer/v4/submit&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;hid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1623207905520705</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">293793435</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;score&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">63</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;status&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">3</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;number&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;result&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;succeed&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;stage&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;result&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;version&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;v4&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;start_time&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1636889218</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;first_answer&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;progress&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;text&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;url&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;in_reg_audit&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">false</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;edition&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;rewards&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">null</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;captcha&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,64))])}const b=o(c,[["render",D]]),m=JSON.parse('{"path":"/docs/newbie_exam/action.html","title":"操作","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1677124138000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"}],"changelog":[{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/newbie_exam/action.md"}');export{b as comp,m as data};
-74
View File
@@ -1,74 +0,0 @@
import{_ as n,c as a,a as t,o as l}from"./app-Dgsdh8A6.js";const o={};function e(p,s){return l(),a("div",null,s[0]||(s[0]=[t(`<h1 id="相簿活动列表" tabindex="-1"><a class="header-anchor" href="#相簿活动列表"><span>相簿活动列表</span></a></h1><details><summary>功能已下线</summary><h2 id="获取相簿热门活动列表" tabindex="-1"><a class="header-anchor" href="#获取相簿热门活动列表"><span>获取相簿热门活动列表</span></a></h2><blockquote><p>https://api.vc.bilibili.com/photo_activity/v2/Activity/list</p></blockquote><p><em>请求方式:GET</em></p><p><strong>url参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>type</td><td>num</td><td>活动类型</td><td>非必要</td><td>0:全部<br>1:展示类<br>2:比赛类</td></tr><tr><td>biz</td><td>num</td><td>分区</td><td>非必要</td><td>0:全部<br>1:画友<br>2:摄影<br>默认为0</td></tr><tr><td>page_num</td><td>num</td><td>页码</td><td>非必要</td><td>默认为4</td></tr><tr><td>page_size</td><td>num</td><td>每页项数</td><td>非必要</td><td>默认为0</td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>1:参数错误</td></tr><tr><td>msg</td><td>str</td><td>错误信息</td><td>默认为success</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为success</td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>total_count</td><td>str</td><td>总计活动数</td><td></td></tr><tr><td>items</td><td>array</td><td>活动列表</td><td></td></tr></tbody></table><p><code>data</code>中的<code>items</code>数组:</p><table><thead><tr><th>项</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>0</td><td>obj</td><td>活动 1</td><td></td></tr><tr><td>n</td><td>obj</td><td>活动 (n+1)</td><td></td></tr><tr><td>……</td><td>obj</td><td>……</td><td>……</td></tr></tbody></table><p><code>data</code>中的<code>items</code>数组中的对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>cover</td><td>str</td><td>活动图片url</td><td></td></tr><tr><td>title</td><td>str</td><td>活动标题</td><td></td></tr><tr><td>link</td><td>str</td><td>活动页面url</td><td></td></tr><tr><td>type</td><td>num</td><td>活动类型</td><td>1:展示类<br>2:比赛类</td></tr><tr><td>biz</td><td>num</td><td>所属分区</td><td>1:画友<br>2:摄影</td></tr><tr><td>tag</td><td>str</td><td>活动关联的TAG</td><td></td></tr><tr><td>start_time</td><td>num</td><td>开始时间</td><td>时间戳</td></tr><tr><td>end_time</td><td>num</td><td>结束时间</td><td>时间戳</td></tr><tr><td>desc</td><td>str</td><td>备注</td><td></td></tr><tr><td>desc_type</td><td>num</td><td>活动状态</td><td>1:已结束<br>2:进行中</td></tr></tbody></table><p><strong>示例:</strong></p><p>获取<code>画友</code>分区,全部类型的5条活动</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.vc.bilibili.com/photo_activity/v2/Activity/list&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;type=0&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;biz=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;page_num=0&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;page_size=5&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;success&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;success&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;total_count&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">21</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;items&quot;</span><span style="color:#D4D4D4;">: [</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;cover&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;http://i0.hdslb.com/bfs/vc/344d175cf88f217ce8bd0f004a2c5e770eff2e03.png&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;#月饼拟人#创作大赛!丰厚奖励等你来拿!&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;link&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://www.bilibili.com/read/cv1102416&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;biz&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;tag&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;start_time&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1535817600</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;end_time&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1540915200</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;desc&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;已结束&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;desc_type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;cover&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;http://i0.hdslb.com/bfs/vc/63d48fbc37f0142a9c72e06ebc950d4089f881d6.png&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;「ISLAND」同人绘画大赛&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;link&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://www.bilibili.com/blackboard/activity-rkOlNomMQ.html&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;biz&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;tag&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;ISLAND同人绘画&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;start_time&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1530720000</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;end_time&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1534435200</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;desc&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;已结束&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;desc_type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;cover&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;http://i0.hdslb.com/bfs/vc/08d20bc6c10e1e310946ebaaf56c2c90c921644d.jpg&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;我家大师兄脑子有坑同人绘画大赛&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;link&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://www.bilibili.com/blackboard/activity-S1lV0Ot6M.html&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;biz&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;tag&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;兄坑同人绘画大赛&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;start_time&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1525449600</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;end_time&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1528473600</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;desc&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;已结束&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;desc_type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;cover&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;http://i0.hdslb.com/bfs/vc/4eb48398ec0824e96fc878235536f2e0b4a8aef5.jpg&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;国宝复“活”计划&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;link&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://www.bilibili.com/blackboard/activity-SJ4hL_UFz.html&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;biz&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;tag&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;国宝复“活”计划&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;start_time&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1521388800</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;end_time&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1525017600</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;desc&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;已结束&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;desc_type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;cover&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;http://i0.hdslb.com/bfs/vc/9068f91f62ea5a36cbafff263d7e47af99cc9836.jpg&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;画师专访——管郁生&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;link&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://www.bilibili.com/blackboard/interview-guanyusheng.html&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;biz&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;tag&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;start_time&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1517414400</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;end_time&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;desc&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;进行中&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;desc_type&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> ]</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details></details>`,2)]))}const r=n(o,[["render",e]]),i=JSON.parse('{"path":"/docs/album/activity_list.html","title":"相簿活动列表","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1745165052000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"},{"name":"SessionHu","username":"SessionHu","email":"102411014+SessionHu@users.noreply.github.com","commits":1,"url":"https://github.com/SessionHu"}],"changelog":[{"hash":"ab2762aeaa0aad65603478ca704cd4cbc3b9c425","time":1745165052000,"email":"102411014+SessionHu@users.noreply.github.com","author":"SessionHu","message":"feat: mark all album doc as down"},{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/album/activity_list.md"}');export{r as comp,i as data};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-53
View File
@@ -1,53 +0,0 @@
import{_ as p,c as i,a as e,b as n,d as l,e as a,w as o,r,o as d}from"./app-Dgsdh8A6.js";const u={};function D(c,s){const t=r("RouteLink");return d(),i("div",null,[s[32]||(s[32]=e('<h1 id="横幅轮播图" tabindex="-1"><a class="header-anchor" href="#横幅轮播图"><span>横幅轮播图</span></a></h1><h2 id="获取各分区的轮播图-web端" tabindex="-1"><a class="header-anchor" href="#获取各分区的轮播图-web端"><span>获取各分区的轮播图_web端</span></a></h2><blockquote><p>https://api.bilibili.com/x/web-show/region/banner</p></blockquote><p><em>请求方式: GET</em></p><p>需要请求头参数 User-Agent</p><p>鉴权方式:Wbi 签名 (可选)</p><p><strong>URL参数:</strong></p>',7)),n("table",null,[s[18]||(s[18]=n("thead",null,[n("tr",null,[n("th",null,"字段"),n("th",null,"类型"),n("th",null,"内容"),n("th",null,"必要性"),n("th",null,"备注")])],-1)),n("tbody",null,[n("tr",null,[s[2]||(s[2]=n("td",null,"region_id",-1)),s[3]||(s[3]=n("td",null,"num",-1)),s[4]||(s[4]=n("td",null,"目标分区id",-1)),s[5]||(s[5]=n("td",null,"必要",-1)),n("td",null,[s[1]||(s[1]=l("参见")),a(t,{to:"/docs/video/video_zone_v2.html"},{default:o(()=>s[0]||(s[0]=[l("视频分区一览v2")])),_:1,__:[0]})])]),n("tr",null,[s[8]||(s[8]=n("td",null,"w_rid",-1)),s[9]||(s[9]=n("td",null,"str",-1)),s[10]||(s[10]=n("td",null,"Wbi 签名",-1)),s[11]||(s[11]=n("td",null,"非必要",-1)),n("td",null,[s[7]||(s[7]=l("详见 ")),a(t,{to:"/docs/misc/sign/wbi.html"},{default:o(()=>s[6]||(s[6]=[l("Wbi 签名")])),_:1,__:[6]})])]),n("tr",null,[s[14]||(s[14]=n("td",null,"wts",-1)),s[15]||(s[15]=n("td",null,"num",-1)),s[16]||(s[16]=n("td",null,"当前时间戳",-1)),s[17]||(s[17]=n("td",null,"非必要",-1)),n("td",null,[s[13]||(s[13]=l("详见 ")),a(t,{to:"/docs/misc/sign/wbi.html"},{default:o(()=>s[12]||(s[12]=[l("Wbi 签名")])),_:1,__:[12]})])])])]),s[33]||(s[33]=e("<p><strong>JSON回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0: 成功</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为 0</td></tr><tr><td>ttl</td><td>str</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code> 对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>region_banner_list</td><td>array</td><td>存储轮播图的对象</td><td></td></tr></tbody></table><p><code>data</code> 对象里的 <code>region_banner_list</code> 数组:</p><table><thead><tr><th>项</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>0</td><td>obj</td><td>第一个轮播图对象</td><td></td></tr><tr><td>n</td><td>obj</td><td>第 (n+1) 轮播图对象</td><td></td></tr><tr><td>……</td><td>obj</td><td>……</td><td></td></tr></tbody></table><p><code>region_banner_list</code> 数组里的对象:</p>",8)),n("table",null,[s[28]||(s[28]=n("thead",null,[n("tr",null,[n("th",null,"字段"),n("th",null,"类型"),n("th",null,"内容"),n("th",null,"备注")])],-1)),n("tbody",null,[s[24]||(s[24]=n("tr",null,[n("td",null,"image"),n("td",null,"str"),n("td",null,"封面资源路径"),n("td")],-1)),s[25]||(s[25]=n("tr",null,[n("td",null,"title"),n("td",null,"str"),n("td",null,"封面标题"),n("td")],-1)),s[26]||(s[26]=n("tr",null,[n("td",null,"sub_title"),n("td",null,"str"),n("td",null,"封面子标题"),n("td",null,"空")],-1)),s[27]||(s[27]=n("tr",null,[n("td",null,"url"),n("td",null,"str"),n("td",null,"点击封面后指向的链接"),n("td",null,"可能为视频地址,也有可能是活动地址")],-1)),n("tr",null,[s[21]||(s[21]=n("td",null,"rid",-1)),s[22]||(s[22]=n("td",null,"num",-1)),n("td",null,[s[20]||(s[20]=l("分区参见")),a(t,{to:"/docs/video/video_zone_v2.html"},{default:o(()=>s[19]||(s[19]=[l("视频分区一览v2")])),_:1,__:[19]})]),s[23]||(s[23]=n("td",null,null,-1))])])]),s[34]||(s[34]=e(`<p><strong>示例:</strong></p><p>获取 <code>音乐区</code> 时刻为 <code>Wed, 06 Aug 2025 01:41:35 GMT</code> 的 B 站轮播图 <a href="https://www.bilibili.com/c/music/" target="_blank" rel="noopener noreferrer">音乐区地址</a></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &quot;https://api.bilibili.com/x/web-show/region/banner&quot;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &quot;region_id=1003&quot;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -H</span><span style="color:#CE9178;"> &quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko Chrome/58.0.3029.110 Safari/537.36&quot;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;region_banner_list&quot;</span><span style="color:#D4D4D4;">: [</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;image&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;http://i0.hdslb.com/bfs/app/61e4bf3bba74f7d975342ae9d6ec7b0a2ea7c83f.jpg&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;舞力全开派对首测共创活动上线啦!&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;sub_title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;url&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://www.bilibili.com/blackboard/era/wzjckpevcdCgf4Rv.html&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;rid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1003</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;image&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;http://i0.hdslb.com/bfs/app/a7d63dc78d10f769bd80c6c27ba6cc337b00d9d9.jpg&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;玛莎拉达带着他的一系列爆款术曲来了!&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;sub_title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;url&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://www.bilibili.com/video/BV1Tbtjz1Ehv&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;rid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1003</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;image&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;http://i0.hdslb.com/bfs/app/01beb60c493f98eea6844cc2efcbde7315ce6224.jpg&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;陶喆Alin合作曲MV首播!&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;sub_title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;url&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://www.bilibili.com/video/BV1w1tnznEMw/?spm_id_from=333.337.search-card.all.click&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;rid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1003</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;image&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;http://i0.hdslb.com/bfs/app/64060527172b03292b860e43532ff56faabdbe2d.jpg&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;四种语言版《AMANI》:愿世界和平&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;sub_title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;url&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://www.bilibili.com/video/BV1WTgVzHE2S/&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;rid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1003</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;image&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;http://i0.hdslb.com/bfs/app/cbc4469b10c041702c49e847552301afeea323cd.jpg&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;孙亦航来B站啦!&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;sub_title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;url&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://www.bilibili.com/video/BV1RHtFzLEUA&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;rid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1003</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;image&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;http://i0.hdslb.com/bfs/app/134cede692acbbe3080dc2a2ecc920db1f4f7498.jpg&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;潘玮柏狂爱《Yes I Do》&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;sub_title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;url&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://www.bilibili.com/video/BV1RAtcz7EJX/?spm_id_from=333.337.search-card.all.click&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;rid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1003</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> ]</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,4)),n("ul",null,[n("li",null,[s[30]||(s[30]=l("Tip: 可以使用 ")),a(t,{to:"/docs/misc/picture.html"},{default:o(()=>s[29]||(s[29]=[l("图片格式化")])),_:1,__:[29]}),s[31]||(s[31]=l("中 获取主色调的方式获取轮播图封面的主色调"))])])])}const y=p(u,[["render",D]]),v=JSON.parse('{"path":"/docs/web_widget/banner.html","title":"横幅轮播图","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1754482183000,"contributors":[{"name":"TeAnli","username":"TeAnli","email":"159260777+TeAnli@users.noreply.github.com","commits":1,"url":"https://github.com/TeAnli"}],"changelog":[{"hash":"268b4cfe10fa51a9857a6d2f6cc772a6927306e3","time":1754482183000,"email":"159260777+TeAnli@users.noreply.github.com","author":"TeAnli","message":"feat: 添加各分区轮播图 (#1372)"}]},"filePathRelative":"docs/web_widget/banner.md"}');export{y as comp,v as data};
-38
View File
@@ -1,38 +0,0 @@
import{_ as t,c as n,a,o as l}from"./app-Dgsdh8A6.js";const e={};function o(p,s){return l(),n("div",null,s[0]||(s[0]=[a(`<h1 id="首页公告栏" tabindex="-1"><a class="header-anchor" href="#首页公告栏"><span>首页公告栏</span></a></h1><h2 id="动态首页公告栏-新版" tabindex="-1"><a class="header-anchor" href="#动态首页公告栏-新版"><span>动态首页公告栏 (新版)</span></a></h2><blockquote><p>https://api.bilibili.com/x/dynamic/feed/dyn/banner</p></blockquote><p><em>请求方法: GET</em></p><p><strong>URL 参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>platform</td><td>number</td><td>平台?</td><td>不必要</td><td>默认为 <code>1</code>, 留空无</td></tr><tr><td>position</td><td>string</td><td>位置?</td><td>不必要</td><td>默认为 <code>web动态</code>, 留空无</td></tr><tr><td>web_location</td><td>string</td><td><code>333.1365</code></td><td>不必要</td><td></td></tr></tbody></table><p><strong>JSON 回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>number</td><td>返回值</td><td>0: 成功</td></tr><tr><td>data</td><td>object</td><td>数据本体</td><td></td></tr><tr><td>message</td><td>string</td><td>错误信息</td><td>成功时为 <code>0</code></td></tr><tr><td>ttl</td><td>number</td><td><code>1</code></td><td></td></tr></tbody></table><p><code>data</code> 对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>banners</td><td>object[]</td><td>横幅们</td><td>套了个娃</td></tr></tbody></table><p><code>data.banners[]</code> 对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>banner_id</td><td>number</td><td>横幅 id</td><td>旧版接口无</td></tr><tr><td>end_time</td><td>number</td><td>结束时间</td><td>UNIX 秒级时间戳</td></tr><tr><td>img_url</td><td>string</td><td>图片 URL</td><td></td></tr><tr><td>link</td><td>string</td><td>跳转链接</td><td></td></tr><tr><td>platform</td><td>number</td><td>平台</td><td>与请求参数对应</td></tr><tr><td>position</td><td>string</td><td>位置</td><td>与请求参数对应</td></tr><tr><td>start_time</td><td>number</td><td>开始时间</td><td>UNIX 秒级时间戳</td></tr><tr><td>title</td><td>string</td><td>标题</td><td></td></tr><tr><td>weight</td><td>number</td><td>权重</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/dynamic/feed/dyn/banner?platform=1&amp;position=web动态&amp;web_location=333.1365&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;banners&quot;</span><span style="color:#D4D4D4;">: [</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;banner_id&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">20</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;end_time&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2056204800</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;img_url&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://i0.hdslb.com/bfs/vc/9c699f2acbcad00197e92c401b835d2c6aba8a55.png&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;link&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://www.bilibili.com/blackboard/activity-5zJxM3spoS.html&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;platform&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;position&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;web动态&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;start_time&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1582862523</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;点击进入&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;weight&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> ]</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="动态首页公告栏-旧版" tabindex="-1"><a class="header-anchor" href="#动态首页公告栏-旧版"><span>动态首页公告栏 (旧版)</span></a></h2><blockquote><p>https://api.vc.bilibili.com/banner_svr/v1/banner_svr/show</p></blockquote><p><em>请求方法: GET</em></p><p><strong>URL 参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>platform</td><td>number</td><td>平台?</td><td>不必要</td><td>默认为 <code>1</code></td></tr><tr><td>position</td><td>string</td><td>位置?</td><td>不必要</td><td>默认为 <code>web动态</code></td></tr></tbody></table><p><strong>JSON 回复:</strong></p><p>与 <a href="#%E5%8A%A8%E6%80%81%E9%A6%96%E9%A1%B5%E5%85%AC%E5%91%8A%E6%A0%8F-%E6%96%B0%E7%89%88">动态首页公告栏 (新版)</a> 相同, 除了少了个 <code>data.banners[].banner_id</code></p><p><strong>示例:</strong></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.vc.bilibili.com/banner_svr/v1/banner_svr/show&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;banners&quot;</span><span style="color:#D4D4D4;">: [</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;img_url&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://i0.hdslb.com/bfs/vc/9c699f2acbcad00197e92c401b835d2c6aba8a55.png&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;点击进入&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;link&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://www.bilibili.com/blackboard/activity-5zJxM3spoS.html&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;platform&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;weight&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;position&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;web动态&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;start_time&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1582862523</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;end_time&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2056204800</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> ]</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,26)]))}const r=t(e,[["render",o]]),i=JSON.parse('{"path":"/docs/dynamic/banner.html","title":"首页公告栏","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1746060344000,"contributors":[{"name":"SessionHu","username":"SessionHu","email":"102411014+SessionHu@users.noreply.github.com","commits":2,"url":"https://github.com/SessionHu"}],"changelog":[{"hash":"8c6bb6be92e88f285b73f0d0b3f4f5831196c062","time":1746060344000,"email":"102411014+SessionHu@users.noreply.github.com","author":"SessionHu","message":"feat: 动态首页公告栏 (旧版)"},{"hash":"f9d238b0be29ff95f7584e58967afa007f8d6d6f","time":1746059860000,"email":"102411014+SessionHu@users.noreply.github.com","author":"SessionHu","message":"feat: 动态首页公告栏 (新版)"}]},"filePathRelative":"docs/dynamic/banner.md"}');export{r as comp,i as data};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-27
View File
@@ -1,27 +0,0 @@
import{_ as n,c as a,a as t,o as l}from"./app-Dgsdh8A6.js";const e={};function o(p,s){return l(),a("div",null,s[0]||(s[0]=[t(`<h1 id="批量查询" tabindex="-1"><a class="header-anchor" href="#批量查询"><span>批量查询</span></a></h1><h2 id="用户名查-mid" tabindex="-1"><a class="header-anchor" href="#用户名查-mid"><span>用户名查 mid</span></a></h2><h3 id="动态" tabindex="-1"><a class="header-anchor" href="#动态"><span>动态</span></a></h3><blockquote><p>https://api.bilibili.com/x/polymer/web-dynamic/v1/name-to-uid</p></blockquote><p><em>请求方法: GET</em></p><p>认证方式: Cookie (SESSDATA)</p><p><strong>URL 参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>names</td><td>string</td><td>用户名</td><td>必要</td><td>多个用户名以 <code>,</code> 分隔</td></tr></tbody></table><p><strong>JSON 回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>number</td><td>返回值</td><td>0: 成功<br>-101: 账号未登录<br>-400: 请求错误</td></tr><tr><td>data</td><td>object</td><td>数据本体</td><td></td></tr><tr><td>message</td><td>string</td><td>错误信息</td><td>成功时为 <code>0</code></td></tr><tr><td>ttl</td><td>number</td><td><code>1</code></td><td></td></tr></tbody></table><p><code>data</code> 对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>uid_list</td><td>object[]</td><td>UID 列表</td><td>套了个娃</td></tr></tbody></table><p><code>data.uid_list[]</code> 对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>name</td><td>string</td><td>用户名</td><td></td></tr><tr><td>uid</td><td>string</td><td>mid (UID)</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/polymer/web-dynamic/v1/name-to-uid&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--url-query </span><span style="color:#CE9178;">&#39;names=社会易姐qwq,session小胡,陈睿,洛天依&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;uid_list&quot;</span><span style="color:#D4D4D4;">: [</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;name&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;社会易姐QwQ&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;uid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;293793435&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;name&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;陈睿&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;uid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;208259&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;name&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;Session小胡&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;uid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;645769214&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;name&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;洛天依&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;uid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;36081646&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> ]</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,18)]))}const i=n(e,[["render",o]]),r=JSON.parse('{"path":"/docs/user/batch.html","title":"批量查询","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1752997711000,"contributors":[{"name":"SessionHu","username":"SessionHu","email":"102411014+SessionHu@users.noreply.github.com","commits":1,"url":"https://github.com/SessionHu"}],"changelog":[{"hash":"69afaf047d317824f00b99aa770e49daada79851","time":1752997711000,"email":"102411014+SessionHu@users.noreply.github.com","author":"SessionHu","message":"feat: add username to mid"}]},"filePathRelative":"docs/user/batch.md"}');export{i as comp,r as data};
-1
View File
@@ -1 +0,0 @@
const t="/bilibili-API-collect/assets/battery-100-CiBN5pdd.png";export{t as _};
-202
View File
@@ -1,202 +0,0 @@
import{_ as t,c,a as o,b as s,d as a,e,w as p,r,o as i}from"./app-Dgsdh8A6.js";const D={};function y(d,n){const l=r("RouteLink");return i(),c("div",null,[n[21]||(n[21]=o(`<h1 id="biliticket" tabindex="-1"><a class="header-anchor" href="#biliticket"><span>BiliTicket</span></a></h1><h2 id="简述" tabindex="-1"><a class="header-anchor" href="#简述"><span>简述</span></a></h2><p><code>bili_ticket</code> 位于请求头 Cookie 中, 非必需, 但存在可降低风控概率</p><p>由 <a href="https://github.com/aynuarance" target="_blank" rel="noopener noreferrer">@aynuarance</a> 于 <a href="https://github.com/SocialSisterYi/bilibili-API-collect/issues/903" target="_blank" rel="noopener noreferrer">#903</a> 提供的思路,根据时间戳使用 <code>hmac_sha256</code> 算法计算 <code>hexsign</code>。</p><p>是 <a href="https://jwt.io/" target="_blank" rel="noopener noreferrer">JWT 令牌</a>,有效时长为 259260 秒,即 3 天。 例如 <code>eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MDI3NDI3NDYsImlhdCI6MTcwMjQ4MzQ4NiwicGx0IjotMX0.xQgtTAc41NA1gzvd9yKUPgucUy_DKcQj6OG1vj8V7ZA</code></p><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;alg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;HS256&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;kid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;s03&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;typ&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;JWT&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="算法" tabindex="-1"><a class="header-anchor" href="#算法"><span>算法</span></a></h2><ol><li>获取 UNIX 秒级时间戳存入变量如 <code>timestamp</code></li><li>计算变量 <code>hexsign</code> 值,使用 <code>hmac_sha256</code> 算法,密钥为 <code>XgwSnGZ1p</code>,消息为字符串 <code>&quot;ts&quot;</code> 与变量 <code>timestamp</code> 值拼接</li><li>构造请求参数,<code>key_id</code> 为 <code>ec02</code><code>hexsign</code> 为变量 <code>hexsign</code> 值,<code>context[ts]</code> 为变量 <code>timestamp</code> 值,<code>csrf</code> 为 cookie 中的 <code>bili_jct</code> 值也可为空</li><li>发送 <code>POST</code> 请求,获取 <code>data</code> 字段中的 <code>ticket</code> 字段的值即为所求</li></ol><h2 id="接口" tabindex="-1"><a class="header-anchor" href="#接口"><span>接口</span></a></h2><blockquote><p>https://api.bilibili.com/bapis/bilibili.api.ticket.v1.Ticket/GenWebTicket</p></blockquote><p><em>请求方式: POST</em></p><p>鉴权方式: 请求头 <code>Referer</code> 为空或 <code>.bilibili.com</code> 子域下任意页</p><p><strong>URL参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>key_id</td><td>str</td><td>ec02</td><td>必要</td><td></td></tr><tr><td>hexsign</td><td>str</td><td>由 <code>hmac_sha256</code> 算法计算的 <code>hexsign</code> 值</td><td>必要</td><td></td></tr><tr><td>context[ts]</td><td>num</td><td>UNIX 秒级时间戳</td><td>必要</td><td></td></tr><tr><td>csrf</td><td>str</td><td>cookie 中的 <code>bili_jct</code> 值</td><td>非必要</td><td></td></tr></tbody></table><p><strong>JSON回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0: 成功<br>400: 参数错误</td></tr><tr><td>message</td><td>str</td><td>返回消息</td><td>OK: 成功</td></tr><tr><td>data</td><td>obj</td><td>数据本体</td><td></td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr></tbody></table><p><code>data</code> 对象:</p>`,18)),s("table",null,[n[9]||(n[9]=s("thead",null,[s("tr",null,[s("th",null,"字段"),s("th",null,"类型"),s("th",null,"内容"),s("th",null,"备注")])],-1)),s("tbody",null,[n[5]||(n[5]=s("tr",null,[s("td",null,"ticket"),s("td",null,"str"),s("td",null,"bili_ticket"),s("td")],-1)),n[6]||(n[6]=s("tr",null,[s("td",null,"created_at"),s("td",null,"num"),s("td",null,"创建时间"),s("td",null,"UNIX 秒级时间戳")],-1)),n[7]||(n[7]=s("tr",null,[s("td",null,"ttl"),s("td",null,"num"),s("td",null,"有效时长"),s("td",null,"259200 秒 (3 天)")],-1)),n[8]||(n[8]=s("tr",null,[s("td",null,"context"),s("td",null,"obj"),s("td",null,"空"),s("td")],-1)),s("tr",null,[n[2]||(n[2]=s("td",null,"nav",-1)),n[3]||(n[3]=s("td",null,"obj",-1)),n[4]||(n[4]=s("td",null,"wbi_img 相关",-1)),s("td",null,[n[1]||(n[1]=a("参见 ")),e(l,{to:"/docs/misc/sign/wbi.html"},{default:p(()=>n[0]||(n[0]=[a("WBI 签名")])),_:1,__:[0]})])])])]),n[22]||(n[22]=s("p",null,[s("code",null,"nav"),a(" 对象:")],-1)),s("table",null,[n[20]||(n[20]=s("thead",null,[s("tr",null,[s("th",null,"字段"),s("th",null,"类型"),s("th",null,"内容"),s("th",null,"备注")])],-1)),s("tbody",null,[s("tr",null,[n[12]||(n[12]=s("td",null,"img",-1)),n[13]||(n[13]=s("td",null,"str",-1)),n[14]||(n[14]=s("td",null,"img_key 值",-1)),s("td",null,[n[11]||(n[11]=a("参见 ")),e(l,{to:"/docs/misc/sign/wbi.html"},{default:p(()=>n[10]||(n[10]=[a("WBI 签名")])),_:1,__:[10]})])]),s("tr",null,[n[17]||(n[17]=s("td",null,"sub",-1)),n[18]||(n[18]=s("td",null,"str",-1)),n[19]||(n[19]=s("td",null,"sub_key 值",-1)),s("td",null,[n[16]||(n[16]=a("参见 ")),e(l,{to:"/docs/misc/sign/wbi.html"},{default:p(()=>n[15]||(n[15]=[a("WBI 签名")])),_:1,__:[15]})])])])]),n[23]||(n[23]=o(`<p><strong>示例:</strong></p><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;OK&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ticket&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjM2OTMwODAsImlhdCI6MTcyMzQzMzgyMCwicGx0IjotMX0.efOwv7i4m0ykABrXEDHGAechU2AByMcP_-3EYpQrNKs&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;created_at&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1723433820</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">259200</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;context&quot;</span><span style="color:#D4D4D4;">: {},</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;nav&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;img&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://i0.hdslb.com/bfs/wbi/7cd084941338484aae1ad9425b84077c.png&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;sub&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://i0.hdslb.com/bfs/wbi/4932caff0ff746eab6f01bf08b70ac45.png&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="demo" tabindex="-1"><a class="header-anchor" href="#demo"><span>Demo</span></a></h2><p>此处提供 <a href="#python">Python</a>, <a href="#java">Java</a>, <a href="#javascript-nodejs">JavaScript (Node.js)</a> 的示例代码</p><h3 id="python" tabindex="-1"><a class="header-anchor" href="#python"><span>Python</span></a></h3><p>需要 <code>requests</code> 依赖</p><div class="language-python line-numbers-mode" data-highlighter="shiki" data-ext="python" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-python"><span class="line"><span style="color:#C586C0;">import</span><span style="color:#D4D4D4;"> hmac</span></span>
<span class="line"><span style="color:#C586C0;">import</span><span style="color:#D4D4D4;"> hashlib</span></span>
<span class="line"><span style="color:#C586C0;">import</span><span style="color:#D4D4D4;"> requests</span></span>
<span class="line"><span style="color:#C586C0;">import</span><span style="color:#D4D4D4;"> time</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;">def</span><span style="color:#DCDCAA;"> hmac_sha256</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">key</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">message</span><span style="color:#D4D4D4;">):</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="color:#CE9178;"> 使用HMAC-SHA256算法对给定的消息进行加密</span></span>
<span class="line"><span style="color:#CE9178;"> :param key: 密钥</span></span>
<span class="line"><span style="color:#CE9178;"> :param message: 要加密的消息</span></span>
<span class="line"><span style="color:#CE9178;"> :return: 加密后的哈希值</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="color:#6A9955;"> # 将密钥和消息转换为字节串</span></span>
<span class="line"><span style="color:#D4D4D4;"> key = key.encode(</span><span style="color:#CE9178;">&#39;utf-8&#39;</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#D4D4D4;"> message = message.encode(</span><span style="color:#CE9178;">&#39;utf-8&#39;</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;"> # 创建HMAC对象,使用SHA256哈希算法</span></span>
<span class="line"><span style="color:#D4D4D4;"> hmac_obj = hmac.new(key, message, hashlib.sha256)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;"> # 计算哈希值</span></span>
<span class="line"><span style="color:#D4D4D4;"> hash_value = hmac_obj.digest()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;"> # 将哈希值转换为十六进制字符串</span></span>
<span class="line"><span style="color:#D4D4D4;"> hash_hex = hash_value.hex()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#D4D4D4;"> hash_hex</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color:#C586C0;">if</span><span style="color:#9CDCFE;"> __name__</span><span style="color:#D4D4D4;"> == </span><span style="color:#CE9178;">&#39;__main__&#39;</span><span style="color:#D4D4D4;">:</span></span>
<span class="line"><span style="color:#D4D4D4;"> o = hmac_sha256(</span><span style="color:#CE9178;">&quot;XgwSnGZ1p&quot;</span><span style="color:#D4D4D4;">,</span><span style="color:#569CD6;">f</span><span style="color:#CE9178;">&quot;ts</span><span style="color:#569CD6;">{</span><span style="color:#4EC9B0;">int</span><span style="color:#D4D4D4;">(time.time())</span><span style="color:#569CD6;">}</span><span style="color:#CE9178;">&quot;</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#D4D4D4;"> url = </span><span style="color:#CE9178;">&quot;https://api.bilibili.com/bapis/bilibili.api.ticket.v1.Ticket/GenWebTicket&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> params = {</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;key_id&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#CE9178;">&quot;ec02&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;hexsign&quot;</span><span style="color:#D4D4D4;">:o,</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;context[ts]&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#569CD6;">f</span><span style="color:#CE9178;">&quot;</span><span style="color:#569CD6;">{</span><span style="color:#4EC9B0;">int</span><span style="color:#D4D4D4;">(time.time())</span><span style="color:#569CD6;">}</span><span style="color:#CE9178;">&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;csrf&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&#39;&#39;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#D4D4D4;"> headers = {</span></span>
<span class="line"><span style="color:#CE9178;"> &#39;user-agent&#39;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> resp = requests.post(url, </span><span style="color:#9CDCFE;">params</span><span style="color:#D4D4D4;">=params,</span><span style="color:#9CDCFE;">headers</span><span style="color:#D4D4D4;">=headers).json()</span></span>
<span class="line"><span style="color:#DCDCAA;"> print</span><span style="color:#D4D4D4;">(resp)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="java" tabindex="-1"><a class="header-anchor" href="#java"><span>Java</span></a></h3><p>无需第三方依赖</p><div class="language-java line-numbers-mode" data-highlighter="shiki" data-ext="java" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-java"><span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.io.ByteArrayOutputStream;</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.io.InputStream;</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.net.HttpURLConnection;</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.net.URI;</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.nio.charset.StandardCharsets;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> javax.crypto.Mac;</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> javax.crypto.spec.SecretKeySpec;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;">public</span><span style="color:#569CD6;"> class</span><span style="color:#4EC9B0;"> BiliTicketDemo</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;"> /**</span></span>
<span class="line"><span style="color:#6A9955;"> * Convert a byte array to a hex string.</span></span>
<span class="line"><span style="color:#6A9955;"> * </span></span>
<span class="line"><span style="color:#6A9955;"> * </span><span style="color:#569CD6;">@param</span><span style="color:#9CDCFE;"> bytes</span><span style="color:#6A9955;"> The byte array to convert.</span></span>
<span class="line"><span style="color:#6A9955;"> * </span><span style="color:#569CD6;">@return</span><span style="color:#6A9955;"> The hex string representation of the given byte array.</span></span>
<span class="line"><span style="color:#6A9955;"> */</span></span>
<span class="line"><span style="color:#569CD6;"> public</span><span style="color:#569CD6;"> static</span><span style="color:#4EC9B0;"> String</span><span style="color:#DCDCAA;"> bytesToHex</span><span style="color:#D4D4D4;">(</span><span style="color:#4EC9B0;">byte</span><span style="color:#D4D4D4;">[] </span><span style="color:#9CDCFE;">bytes</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#4EC9B0;"> StringBuilder</span><span style="color:#9CDCFE;"> sb</span><span style="color:#D4D4D4;"> = </span><span style="color:#C586C0;">new</span><span style="color:#DCDCAA;"> StringBuilder</span><span style="color:#D4D4D4;">();</span></span>
<span class="line"><span style="color:#C586C0;"> for</span><span style="color:#D4D4D4;"> (</span><span style="color:#4EC9B0;">byte</span><span style="color:#9CDCFE;"> b</span><span style="color:#C586C0;"> :</span><span style="color:#D4D4D4;"> bytes) {</span></span>
<span class="line"><span style="color:#4EC9B0;"> String</span><span style="color:#9CDCFE;"> hex</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">Integer</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">toHexString</span><span style="color:#D4D4D4;">(</span><span style="color:#B5CEA8;">0xff</span><span style="color:#D4D4D4;"> &amp; b);</span></span>
<span class="line"><span style="color:#C586C0;"> if</span><span style="color:#D4D4D4;"> (</span><span style="color:#9CDCFE;">hex</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">length</span><span style="color:#D4D4D4;">() == </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#9CDCFE;"> sb</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&#39;0&#39;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#9CDCFE;"> sb</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(hex);</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#9CDCFE;"> sb</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">toString</span><span style="color:#D4D4D4;">();</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;"> /**</span></span>
<span class="line"><span style="color:#6A9955;"> * Generate a HMAC-SHA256 hash of the given message string using the given key</span></span>
<span class="line"><span style="color:#6A9955;"> * string.</span></span>
<span class="line"><span style="color:#6A9955;"> * </span></span>
<span class="line"><span style="color:#6A9955;"> * </span><span style="color:#569CD6;">@param</span><span style="color:#9CDCFE;"> key</span><span style="color:#6A9955;"> The key string to use for the HMAC-SHA256 hash.</span></span>
<span class="line"><span style="color:#6A9955;"> * </span><span style="color:#569CD6;">@param</span><span style="color:#9CDCFE;"> message</span><span style="color:#6A9955;"> The message string to hash.</span></span>
<span class="line"><span style="color:#6A9955;"> * </span><span style="color:#569CD6;">@throws</span><span style="color:#4EC9B0;"> Exception</span><span style="color:#6A9955;"> If an error occurs during the HMAC-SHA256 hash generation.</span></span>
<span class="line"><span style="color:#6A9955;"> * </span><span style="color:#569CD6;">@return</span><span style="color:#6A9955;"> The HMAC-SHA256 hash of the given message string using the given key</span></span>
<span class="line"><span style="color:#6A9955;"> * string.</span></span>
<span class="line"><span style="color:#6A9955;"> */</span></span>
<span class="line"><span style="color:#569CD6;"> public</span><span style="color:#569CD6;"> static</span><span style="color:#4EC9B0;"> String</span><span style="color:#DCDCAA;"> hmacSha256</span><span style="color:#D4D4D4;">(</span><span style="color:#4EC9B0;">String</span><span style="color:#9CDCFE;"> key</span><span style="color:#D4D4D4;">, </span><span style="color:#4EC9B0;">String</span><span style="color:#9CDCFE;"> message</span><span style="color:#D4D4D4;">) </span><span style="color:#569CD6;">throws</span><span style="color:#4EC9B0;"> Exception</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#4EC9B0;"> Mac</span><span style="color:#9CDCFE;"> mac</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">Mac</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">getInstance</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;HmacSHA256&quot;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#4EC9B0;"> SecretKeySpec</span><span style="color:#9CDCFE;"> secretKeySpec</span><span style="color:#D4D4D4;"> = </span><span style="color:#C586C0;">new</span><span style="color:#DCDCAA;"> SecretKeySpec</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">key</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">getBytes</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">StandardCharsets</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">UTF_8</span><span style="color:#D4D4D4;">), </span><span style="color:#CE9178;">&quot;HmacSHA256&quot;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#9CDCFE;"> mac</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">init</span><span style="color:#D4D4D4;">(secretKeySpec);</span></span>
<span class="line"><span style="color:#4EC9B0;"> byte</span><span style="color:#D4D4D4;">[] </span><span style="color:#9CDCFE;">hash</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">mac</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">doFinal</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">message</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">getBytes</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">StandardCharsets</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">UTF_8</span><span style="color:#D4D4D4;">));</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#DCDCAA;"> bytesToHex</span><span style="color:#D4D4D4;">(hash);</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;"> /**</span></span>
<span class="line"><span style="color:#6A9955;"> * Get a Bilibili web ticket for the given CSRF token.</span></span>
<span class="line"><span style="color:#6A9955;"> * </span></span>
<span class="line"><span style="color:#6A9955;"> * </span><span style="color:#569CD6;">@param</span><span style="color:#9CDCFE;"> csrf</span><span style="color:#6A9955;"> The CSRF token to use for the web ticket, can be {@code null} or</span></span>
<span class="line"><span style="color:#6A9955;"> * empty.</span></span>
<span class="line"><span style="color:#6A9955;"> * </span><span style="color:#569CD6;">@return</span><span style="color:#6A9955;"> The Bilibili web ticket raw response for the given CSRF token.</span></span>
<span class="line"><span style="color:#6A9955;"> * </span><span style="color:#569CD6;">@throws</span><span style="color:#4EC9B0;"> Exception</span><span style="color:#6A9955;"> If an error occurs during the web ticket generation.</span></span>
<span class="line"><span style="color:#6A9955;"> * </span><span style="color:#569CD6;">@see</span><span style="color:#6A9955;"> https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/docs/misc/sign/bili_ticket.md</span></span>
<span class="line"><span style="color:#6A9955;"> */</span></span>
<span class="line"><span style="color:#569CD6;"> public</span><span style="color:#569CD6;"> static</span><span style="color:#4EC9B0;"> String</span><span style="color:#DCDCAA;"> getBiliTicket</span><span style="color:#D4D4D4;">(</span><span style="color:#4EC9B0;">String</span><span style="color:#9CDCFE;"> csrf</span><span style="color:#D4D4D4;">) </span><span style="color:#569CD6;">throws</span><span style="color:#4EC9B0;"> Exception</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#6A9955;"> // params</span></span>
<span class="line"><span style="color:#4EC9B0;"> long</span><span style="color:#9CDCFE;"> ts</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">System</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">currentTimeMillis</span><span style="color:#D4D4D4;">() / </span><span style="color:#B5CEA8;">1000</span><span style="color:#D4D4D4;">;</span></span>
<span class="line"><span style="color:#4EC9B0;"> String</span><span style="color:#9CDCFE;"> hexSign</span><span style="color:#D4D4D4;"> = </span><span style="color:#DCDCAA;">hmacSha256</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;XgwSnGZ1p&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#CE9178;">&quot;ts&quot;</span><span style="color:#D4D4D4;"> + ts);</span></span>
<span class="line"><span style="color:#4EC9B0;"> StringBuilder</span><span style="color:#9CDCFE;"> url</span><span style="color:#D4D4D4;"> = </span><span style="color:#C586C0;">new</span><span style="color:#DCDCAA;"> StringBuilder</span><span style="color:#D4D4D4;">(</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;https://api.bilibili.com/bapis/bilibili.api.ticket.v1.Ticket/GenWebTicket&quot;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#9CDCFE;"> url</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&#39;?&#39;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#9CDCFE;"> url</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;key_id=ec02&quot;</span><span style="color:#D4D4D4;">).</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&#39;&amp;&#39;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#9CDCFE;"> url</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;hexsign=&quot;</span><span style="color:#D4D4D4;">).</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(hexSign).</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&#39;&amp;&#39;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#9CDCFE;"> url</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;context[ts]=&quot;</span><span style="color:#D4D4D4;">).</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(ts).</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&#39;&amp;&#39;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#9CDCFE;"> url</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;csrf=&quot;</span><span style="color:#D4D4D4;">).</span><span style="color:#DCDCAA;">append</span><span style="color:#D4D4D4;">(csrf == </span><span style="color:#569CD6;">null</span><span style="color:#C586C0;"> ?</span><span style="color:#CE9178;"> &quot;&quot;</span><span style="color:#C586C0;"> :</span><span style="color:#D4D4D4;"> csrf);</span></span>
<span class="line"><span style="color:#6A9955;"> // request</span></span>
<span class="line"><span style="color:#4EC9B0;"> HttpURLConnection</span><span style="color:#9CDCFE;"> conn</span><span style="color:#D4D4D4;"> = (HttpURLConnection) </span><span style="color:#C586C0;">new</span><span style="color:#DCDCAA;"> URI</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">url</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">toString</span><span style="color:#D4D4D4;">()).</span><span style="color:#DCDCAA;">toURL</span><span style="color:#D4D4D4;">().</span><span style="color:#DCDCAA;">openConnection</span><span style="color:#D4D4D4;">();</span></span>
<span class="line"><span style="color:#9CDCFE;"> conn</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">setRequestMethod</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;POST&quot;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#9CDCFE;"> conn</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">addRequestProperty</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;User-Agent&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#CE9178;">&quot;Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0&quot;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#4EC9B0;"> InputStream</span><span style="color:#9CDCFE;"> in</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">conn</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">getInputStream</span><span style="color:#D4D4D4;">();</span></span>
<span class="line"><span style="color:#4EC9B0;"> ByteArrayOutputStream</span><span style="color:#9CDCFE;"> out</span><span style="color:#D4D4D4;"> = </span><span style="color:#C586C0;">new</span><span style="color:#DCDCAA;"> ByteArrayOutputStream</span><span style="color:#D4D4D4;">();</span></span>
<span class="line"><span style="color:#4EC9B0;"> int</span><span style="color:#9CDCFE;"> b</span><span style="color:#D4D4D4;">;</span></span>
<span class="line"><span style="color:#C586C0;"> while</span><span style="color:#D4D4D4;"> ((b = </span><span style="color:#9CDCFE;">in</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">read</span><span style="color:#D4D4D4;">()) != -</span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#9CDCFE;"> out</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">write</span><span style="color:#D4D4D4;">(b);</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#C586C0;"> new</span><span style="color:#DCDCAA;"> String</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">out</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">toByteArray</span><span style="color:#D4D4D4;">(), </span><span style="color:#9CDCFE;">StandardCharsets</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">UTF_8</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;"> /**</span></span>
<span class="line"><span style="color:#6A9955;"> * Main method to test the BiliTicketDemo class.</span></span>
<span class="line"><span style="color:#6A9955;"> * </span></span>
<span class="line"><span style="color:#6A9955;"> * </span><span style="color:#569CD6;">@param</span><span style="color:#9CDCFE;"> args</span><span style="color:#6A9955;"> The command line arguments (not used).</span></span>
<span class="line"><span style="color:#6A9955;"> */</span></span>
<span class="line"><span style="color:#569CD6;"> public</span><span style="color:#569CD6;"> static</span><span style="color:#4EC9B0;"> void</span><span style="color:#DCDCAA;"> main</span><span style="color:#D4D4D4;">(</span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;">[] </span><span style="color:#9CDCFE;">args</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#C586C0;"> try</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> System</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">out</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">println</span><span style="color:#D4D4D4;">(</span><span style="color:#DCDCAA;">getBiliTicket</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">)); </span><span style="color:#6A9955;">// use empty CSRF here</span></span>
<span class="line"><span style="color:#D4D4D4;"> } </span><span style="color:#C586C0;">catch</span><span style="color:#D4D4D4;"> (</span><span style="color:#4EC9B0;">Exception</span><span style="color:#9CDCFE;"> e</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#9CDCFE;"> e</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">printStackTrace</span><span style="color:#D4D4D4;">();</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="javascript-node-js" tabindex="-1"><a class="header-anchor" href="#javascript-node-js"><span>JavaScript (Node.js)</span></a></h3><div class="language-javascript line-numbers-mode" data-highlighter="shiki" data-ext="javascript" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-javascript"><span class="line"><span style="color:#569CD6;">const</span><span style="color:#4FC1FF;"> crypto</span><span style="color:#D4D4D4;"> = </span><span style="color:#DCDCAA;">require</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&#39;crypto&#39;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;">/**</span></span>
<span class="line"><span style="color:#6A9955;"> * Generate HMAC-SHA256 signature</span></span>
<span class="line"><span style="color:#6A9955;"> * </span><span style="color:#569CD6;">@param</span><span style="color:#4EC9B0;"> {string}</span><span style="color:#9CDCFE;"> key</span><span style="color:#6A9955;"> The key string to use for the HMAC-SHA256 hash</span></span>
<span class="line"><span style="color:#6A9955;"> * </span><span style="color:#569CD6;">@param</span><span style="color:#4EC9B0;"> {string}</span><span style="color:#9CDCFE;"> message</span><span style="color:#6A9955;"> The message string to hash</span></span>
<span class="line"><span style="color:#6A9955;"> * </span><span style="color:#569CD6;">@returns</span><span style="color:#4EC9B0;"> {string}</span><span style="color:#6A9955;"> The HMAC-SHA256 signature as a hex string</span></span>
<span class="line"><span style="color:#6A9955;"> */</span></span>
<span class="line"><span style="color:#569CD6;">function</span><span style="color:#DCDCAA;"> hmacSha256</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">key</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">message</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#569CD6;"> const</span><span style="color:#4FC1FF;"> hmac</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">crypto</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">createHmac</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&#39;sha256&#39;</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">key</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#9CDCFE;"> hmac</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">update</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">message</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#9CDCFE;"> hmac</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">digest</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&#39;hex&#39;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;">/**</span></span>
<span class="line"><span style="color:#6A9955;"> * Get Bilibili web ticket</span></span>
<span class="line"><span style="color:#6A9955;"> * </span><span style="color:#569CD6;">@param</span><span style="color:#4EC9B0;"> {string}</span><span style="color:#9CDCFE;"> csrf</span><span style="color:#6A9955;"> CSRF token, can be empty or null</span></span>
<span class="line"><span style="color:#6A9955;"> * </span><span style="color:#569CD6;">@returns</span><span style="color:#4EC9B0;"> {Promise&lt;any&gt;}</span><span style="color:#6A9955;"> Promise of the ticket response in JSON format</span></span>
<span class="line"><span style="color:#6A9955;"> */</span></span>
<span class="line"><span style="color:#569CD6;">async</span><span style="color:#569CD6;"> function</span><span style="color:#DCDCAA;"> getBiliTicket</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">csrf</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#569CD6;"> const</span><span style="color:#4FC1FF;"> ts</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">Math</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">floor</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">Date</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">now</span><span style="color:#D4D4D4;">() / </span><span style="color:#B5CEA8;">1000</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#569CD6;"> const</span><span style="color:#4FC1FF;"> hexSign</span><span style="color:#D4D4D4;"> = </span><span style="color:#DCDCAA;">hmacSha256</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&#39;XgwSnGZ1p&#39;</span><span style="color:#D4D4D4;">, </span><span style="color:#CE9178;">\`ts</span><span style="color:#569CD6;">\${</span><span style="color:#9CDCFE;">ts</span><span style="color:#569CD6;">}</span><span style="color:#CE9178;">\`</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#569CD6;"> const</span><span style="color:#4FC1FF;"> url</span><span style="color:#D4D4D4;"> = </span><span style="color:#CE9178;">&#39;https://api.bilibili.com/bapis/bilibili.api.ticket.v1.Ticket/GenWebTicket&#39;</span><span style="color:#D4D4D4;">;</span></span>
<span class="line"><span style="color:#569CD6;"> const</span><span style="color:#4FC1FF;"> params</span><span style="color:#D4D4D4;"> = </span><span style="color:#569CD6;">new</span><span style="color:#DCDCAA;"> URLSearchParams</span><span style="color:#D4D4D4;">({</span></span>
<span class="line"><span style="color:#9CDCFE;"> key_id:</span><span style="color:#CE9178;"> &#39;ec02&#39;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> hexsign:</span><span style="color:#9CDCFE;"> hexSign</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#CE9178;"> &#39;context[ts]&#39;</span><span style="color:#9CDCFE;">:</span><span style="color:#9CDCFE;"> ts</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> csrf:</span><span style="color:#9CDCFE;"> csrf</span><span style="color:#D4D4D4;"> || </span><span style="color:#CE9178;">&#39;&#39;</span></span>
<span class="line"><span style="color:#D4D4D4;"> });</span></span>
<span class="line"><span style="color:#569CD6;"> const</span><span style="color:#4FC1FF;"> response</span><span style="color:#D4D4D4;"> = </span><span style="color:#C586C0;">await</span><span style="color:#DCDCAA;"> fetch</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">\`</span><span style="color:#569CD6;">\${</span><span style="color:#9CDCFE;">url</span><span style="color:#569CD6;">}</span><span style="color:#CE9178;">?</span><span style="color:#569CD6;">\${</span><span style="color:#9CDCFE;">params</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">toString</span><span style="color:#D4D4D4;">()</span><span style="color:#569CD6;">}</span><span style="color:#CE9178;">\`</span><span style="color:#D4D4D4;">, {</span></span>
<span class="line"><span style="color:#9CDCFE;"> method:</span><span style="color:#CE9178;"> &#39;POST&#39;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> headers:</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#CE9178;"> &#39;User-Agent&#39;</span><span style="color:#9CDCFE;">:</span><span style="color:#CE9178;"> &#39;Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0&#39;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> });</span></span>
<span class="line"><span style="color:#C586C0;"> if</span><span style="color:#D4D4D4;"> (!</span><span style="color:#9CDCFE;">response</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">ok</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#C586C0;"> throw</span><span style="color:#569CD6;"> new</span><span style="color:#DCDCAA;"> Error</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">\`HTTP error! status: </span><span style="color:#569CD6;">\${</span><span style="color:#9CDCFE;">response</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">status</span><span style="color:#569CD6;">}</span><span style="color:#CE9178;">\`</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#9CDCFE;"> response</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">json</span><span style="color:#D4D4D4;">();</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span>
<span class="line"></span>
<span class="line"><span style="color:#D4D4D4;">(</span><span style="color:#569CD6;">async</span><span style="color:#D4D4D4;"> () </span><span style="color:#569CD6;">=&gt;</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#C586C0;"> try</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#569CD6;"> const</span><span style="color:#4FC1FF;"> ticketResponse</span><span style="color:#D4D4D4;"> = </span><span style="color:#C586C0;">await</span><span style="color:#DCDCAA;"> getBiliTicket</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&#39;&#39;</span><span style="color:#D4D4D4;">); </span><span style="color:#6A9955;">// use empty CSRF here</span></span>
<span class="line"><span style="color:#9CDCFE;"> console</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">log</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">ticketResponse</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#D4D4D4;"> } </span><span style="color:#C586C0;">catch</span><span style="color:#D4D4D4;"> (</span><span style="color:#9CDCFE;">e</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#9CDCFE;"> console</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">error</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&#39;Failed to get BiliTicket:&#39;</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">e</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">})();</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,12))])}const u=t(D,[["render",y]]),v=JSON.parse('{"path":"/docs/misc/sign/bili_ticket.html","title":"BiliTicket","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1738952932000,"contributors":[{"name":"z0z0r4","username":"z0z0r4","email":"z0z0r4@outlook.com","commits":1,"url":"https://github.com/z0z0r4"},{"name":"SessionHu","username":"SessionHu","email":"102411014+SessionHu@users.noreply.github.com","commits":3,"url":"https://github.com/SessionHu"}],"changelog":[{"hash":"7282aa2e358977efb84063a3ef67ccb6ed3d705f","time":1738952932000,"email":"102411014+SessionHu@users.noreply.github.com","author":"SessionHu","message":"fix(bili_ticket.md): referer desc &#x26; nodejs code"},{"hash":"60a0c5d1a2f44fe61335da04571305fa7727a968","time":1724238159000,"email":"102411014+SessionHu@users.noreply.github.com","author":"Session小胡","message":"feat: 各种接口补充与错误修正 (#1066)"},{"hash":"18c1efbc102ae6b44c8f5314c90e5e64f0d926cd","time":1721909032000,"email":"102411014+SessionHu@users.noreply.github.com","author":"Session小胡","message":"feat: bili_ticket 算法 Java 实现 及 信息补充 及 错误修正 (#1061)"},{"hash":"180b8ce908d1abe02816c0ea89ddd1cfe6b3d7e6","time":1704853641000,"email":"z0z0r4@outlook.com","author":"z0z0r4","message":"feat: bili_ticket (#932)"}]},"filePathRelative":"docs/misc/sign/bili_ticket.md"}');export{u as comp,v as data};
-25
View File
@@ -1,25 +0,0 @@
import{_ as e,c as a,a as n,o as t}from"./app-Dgsdh8A6.js";const l={};function o(i,s){return t(),a("div",null,s[0]||(s[0]=[n(`<h1 id="获取-buvid3-buvid4-b-nut" tabindex="-1"><a class="header-anchor" href="#获取-buvid3-buvid4-b-nut"><span>获取 buvid3 / buvid4 / b_nut</span></a></h1><h2 id="仅获取-buvid3" tabindex="-1"><a class="header-anchor" href="#仅获取-buvid3"><span>仅获取 buvid3</span></a></h2><blockquote><p>https://api.bilibili.com/x/web-frontend/getbuvid</p></blockquote><p><em>请求方式: GET</em></p><p><strong>JSON回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功</td></tr><tr><td>data</td><td>obj</td><td>数据本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>buvid</td><td>str</td><td>buvid3</td><td>需手动存放至 cookie 中</td></tr></tbody></table><p><strong>示例:</strong></p><p>注: 不要复制</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/web-frontend/getbuvid&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;buvid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;54E5EFC1-3C8F-F690-2261-439E4F6A20A979439infoc&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="接口获取-buvid3-buvid4" tabindex="-1"><a class="header-anchor" href="#接口获取-buvid3-buvid4"><span>接口获取 buvid3 / buvid4</span></a></h2><blockquote><p>https://api.bilibili.com/x/frontend/finger/spi</p></blockquote><p><em>请求方式: GET</em></p><p><strong>JSON回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功</td></tr><tr><td>message</td><td>str</td><td>信息</td><td>ok: 成功</td></tr><tr><td>data</td><td>obj</td><td>数据本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>b_3</td><td>str</td><td>buvid3</td><td>需手动存放至 cookie 中</td></tr><tr><td>b_4</td><td>str</td><td>buvid4</td><td>同上</td></tr></tbody></table><p><strong>示例:</strong></p><p>注: 建议自行生成, 不要复制本处示例的 buvid3 / buvid4.</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/frontend/finger/spi&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;b_3&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;D9656DA8-9BEF-F464-5B72-C4849AFD336379044infoc&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;b_4&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;F6E0FD4B-520C-1902-4F7B-E461D8D1F5AB79044-024072309-666onEZSnlHVPjoRp4kDYg==&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;ok&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="从响应头获取-buvid3-b-nut" tabindex="-1"><a class="header-anchor" href="#从响应头获取-buvid3-b-nut"><span>从响应头获取 buvid3 / b_nut</span></a></h2><p>使用 <code>GET</code> 或 <code>HEAD</code> 方法请求 <code>https://www.bilibili.com/</code>, 且请求头中 <code>User-Agent</code> 字段不包含 <code>curl</code> <code>python</code> <code>awa</code> 等敏感子字符串, 且相同 <code>User-Agent</code> 字段不得短时多次请求. 在响应头中的 <code>Set-Cookie</code> 字段中, 即可找到 <code>buvid3</code> 和 <code>b_nut</code>.</p><p>若不带任何 Cookie 请求, 则 <code>b_nut</code> 为响应生成时刻的 UNIX 秒级时间戳. 若请求 Cookie 仅带有 <code>buvid3</code>, 则 <code>b_nut</code> 为 <code>100</code>. 若请求 Cookie 仅带有 <code>b_nut</code>, 则与不带任何 Cookie 的响应相同. 若请求 Cookie 仅带有 <code>buvid3</code> 和 <code>b_nut</code>, 则响应无 <code>Set-Cookie</code> 字段. 若请求 Cookie 带有其他字段, 无影响.</p><p><strong>示例:</strong></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -I</span><span style="color:#CE9178;"> &quot;https://www.bilibili.com/&quot;</span><span style="color:#569CD6;"> -A</span><span style="color:#CE9178;"> &quot;awa&quot;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-http line-numbers-mode" data-highlighter="shiki" data-ext="http" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-http"><span class="line"><span style="color:#D4D4D4;">HTTP/2 </span><span style="color:#B5CEA8;">200</span><span style="color:#D4D4D4;"> </span></span>
<span class="line"><span style="color:#569CD6;">date:</span><span style="color:#CE9178;"> Fri, 26 Jul 2024 06:38:43 GMT</span></span>
<span class="line"><span style="color:#569CD6;">content-type:</span><span style="color:#CE9178;"> text/html; charset=utf-8</span></span>
<span class="line"><span style="color:#569CD6;">support:</span><span style="color:#CE9178;"> nantianmen</span></span>
<span class="line"><span style="color:#569CD6;">set-cookie:</span><span style="color:#CE9178;"> buvid3=805E4894-96A2-0684-6F00-C6EA1FFB911023315infoc; path=/; expires=Sat, 26 Jul 2025 06:38:43 GMT; domain=.bilibili.com</span></span>
<span class="line"><span style="color:#569CD6;">set-cookie:</span><span style="color:#CE9178;"> b_nut=1721975923; path=/; expires=Sat, 26 Jul 2025 06:38:43 GMT; domain=.bilibili.com</span></span>
<span class="line"><span style="color:#569CD6;">vary:</span><span style="color:#CE9178;"> Origin,Accept-Encoding</span></span>
<span class="line"><span style="color:#569CD6;">idc:</span><span style="color:#CE9178;"> shjd</span></span>
<span class="line"><span style="color:#569CD6;">expires:</span><span style="color:#CE9178;"> Fri, 26 Jul 2024 06:38:42 GMT</span></span>
<span class="line"><span style="color:#569CD6;">cache-control:</span><span style="color:#CE9178;"> no-cache</span></span>
<span class="line"><span style="color:#569CD6;">x-cache-webcdn:</span><span style="color:#CE9178;"> MISS from blzone01</span></span>
<span class="line"><span style="color:#569CD6;">x-cache-time:</span><span style="color:#CE9178;"> 0</span></span>
<span class="line"><span style="color:#569CD6;">x-save-date:</span><span style="color:#CE9178;"> Fri, 26 Jul 2024 06:38:43 GMT</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,31)]))}const c=e(l,[["render",o]]),r=JSON.parse('{"path":"/docs/misc/buvid3_4.html","title":"获取 buvid3 / buvid4 / b_nut","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1726759053000,"contributors":[{"name":"SessionHu","username":"SessionHu","email":"102411014+SessionHu@users.noreply.github.com","commits":4,"url":"https://github.com/SessionHu"},{"name":"SocialSisterYi","username":"SocialSisterYi","email":"45892418+SocialSisterYi@users.noreply.github.com","commits":1,"url":"https://github.com/SocialSisterYi"}],"changelog":[{"hash":"1e24c6b1889160c4c35c01416aa4239501accf5f","time":1726759053000,"email":"102411014+SessionHu@users.noreply.github.com","author":"Session小胡","message":"调整部分接口描述与错误修复 (#1088)","coAuthors":[{"name":"社会易姐QwQ","email":"45892418+SocialSisterYi@users.noreply.github.com"}]},{"hash":"60a0c5d1a2f44fe61335da04571305fa7727a968","time":1724238159000,"email":"102411014+SessionHu@users.noreply.github.com","author":"Session小胡","message":"feat: 各种接口补充与错误修正 (#1066)"},{"hash":"2465990ccc5aea35ad6d0b17dc7c2f36bc5e45c0","time":1722059352000,"email":"102411014+SessionHu@users.noreply.github.com","author":"Session小胡","message":"feat: 更新web端视频操作播放合集相关接口 (#1064)"},{"hash":"18c1efbc102ae6b44c8f5314c90e5e64f0d926cd","time":1721909032000,"email":"102411014+SessionHu@users.noreply.github.com","author":"Session小胡","message":"feat: bili_ticket 算法 Java 实现 及 信息补充 及 错误修正 (#1061)"}]},"filePathRelative":"docs/misc/buvid3_4.md"}');export{c as comp,r as data};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
import{_ as d,c as r,a,o as e}from"./app-Dgsdh8A6.js";const h={};function n(i,t){return e(),r("div",null,t[0]||(t[0]=[a('<h1 id="专栏分类" tabindex="-1"><a class="header-anchor" href="#专栏分类"><span>专栏分类</span></a></h1><h2 id="游戏" tabindex="-1"><a class="header-anchor" href="#游戏"><span>游戏</span></a></h2><table><thead><tr><th>id</th><th>parent_id</th><th>name</th></tr></thead><tbody><tr><td>1</td><td>0</td><td>游戏</td></tr><tr><td>6</td><td>1</td><td>单机游戏</td></tr><tr><td>7</td><td>1</td><td>电子竞技</td></tr><tr><td>8</td><td>1</td><td>手机游戏</td></tr><tr><td>9</td><td>1</td><td>网络游戏</td></tr><tr><td>10</td><td>1</td><td>桌游棋牌</td></tr></tbody></table><h2 id="动画" tabindex="-1"><a class="header-anchor" href="#动画"><span>动画</span></a></h2><table><thead><tr><th>id</th><th>parent_id</th><th>name</th></tr></thead><tbody><tr><td>2</td><td>0</td><td>动画</td></tr><tr><td>4</td><td>2</td><td>动漫杂谈</td></tr><tr><td>5</td><td>2</td><td>动漫资讯</td></tr><tr><td>31</td><td>2</td><td>动画技术</td></tr></tbody></table><h2 id="生活" tabindex="-1"><a class="header-anchor" href="#生活"><span>生活</span></a></h2><table><thead><tr><th>id</th><th>parent_id</th><th>name</th></tr></thead><tbody><tr><td>3</td><td>0</td><td>生活</td></tr><tr><td>13</td><td>3</td><td>美食</td></tr><tr><td>14</td><td>3</td><td>时尚</td></tr><tr><td>15</td><td>3</td><td>日常</td></tr><tr><td>21</td><td>3</td><td>萌宠</td></tr><tr><td>22</td><td>3</td><td>运动</td></tr></tbody></table><h2 id="轻小说" tabindex="-1"><a class="header-anchor" href="#轻小说"><span>轻小说</span></a></h2><table><thead><tr><th>id</th><th>parent_id</th><th>name</th></tr></thead><tbody><tr><td>16</td><td>0</td><td>轻小说</td></tr><tr><td>18</td><td>16</td><td>原创连载</td></tr><tr><td>19</td><td>16</td><td>同人连载</td></tr><tr><td>20</td><td>16</td><td>小说杂谈</td></tr><tr><td>32</td><td>16</td><td>短篇小说</td></tr></tbody></table><h2 id="科技" tabindex="-1"><a class="header-anchor" href="#科技"><span>科技</span></a></h2><table><thead><tr><th>id</th><th>parent_id</th><th>name</th></tr></thead><tbody><tr><td>17</td><td>0</td><td>科技</td></tr><tr><td>25</td><td>17</td><td>人文历史</td></tr><tr><td>26</td><td>17</td><td>数码</td></tr><tr><td>27</td><td>17</td><td>汽车</td></tr><tr><td>33</td><td>17</td><td>自然</td></tr><tr><td>34</td><td>17</td><td>学习</td></tr></tbody></table><h2 id="影视" tabindex="-1"><a class="header-anchor" href="#影视"><span>影视</span></a></h2><table><thead><tr><th>id</th><th>parent_id</th><th>name</th></tr></thead><tbody><tr><td>28</td><td>0</td><td>影视</td></tr><tr><td>12</td><td>28</td><td>电影</td></tr><tr><td>35</td><td>28</td><td>电视剧</td></tr><tr><td>36</td><td>28</td><td>纪录片</td></tr><tr><td>37</td><td>28</td><td>综艺</td></tr></tbody></table><h2 id="兴趣" tabindex="-1"><a class="header-anchor" href="#兴趣"><span>兴趣</span></a></h2><table><thead><tr><th>id</th><th>parent_id</th><th>name</th></tr></thead><tbody><tr><td>29</td><td>0</td><td>兴趣</td></tr><tr><td>11</td><td>29</td><td>模型手办</td></tr><tr><td>23</td><td>29</td><td>绘画</td></tr><tr><td>24</td><td>29</td><td>手工</td></tr><tr><td>38</td><td>29</td><td>摄影</td></tr><tr><td>39</td><td>29</td><td>音乐舞蹈</td></tr></tbody></table><h2 id="笔记" tabindex="-1"><a class="header-anchor" href="#笔记"><span>笔记</span></a></h2><table><thead><tr><th>id</th><th>parent_id</th><th>name</th></tr></thead><tbody><tr><td>41</td><td>0</td><td>笔记</td></tr><tr><td>42</td><td>41</td><td>全部笔记</td></tr></tbody></table>',17)]))}const o=d(h,[["render",n]]),c=JSON.parse('{"path":"/docs/article/category.html","title":"专栏分类","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1676998806000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":1,"url":"https://github.com/SocialSisterYi"}],"changelog":[{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/article/category.md"}');export{o as comp,c as data};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-73
View File
@@ -1,73 +0,0 @@
import{_ as t,c as a,a as n,o as l}from"./app-Dgsdh8A6.js";const e={};function d(o,s){return l(),a("div",null,s[0]||(s[0]=[n(`<h1 id="充电留言" tabindex="-1"><a class="header-anchor" href="#充电留言"><span>充电留言</span></a></h1><h2 id="发送充电留言" tabindex="-1"><a class="header-anchor" href="#发送充电留言"><span>发送充电留言</span></a></h2><blockquote><p>https://api.bilibili.com/x/ugcpay/trade/elec/message</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA</p><p><strong>正文参数(application/x-www-form-urlencoded):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>order_id</td><td>str</td><td>留言token</td><td>必要</td><td></td></tr><tr><td>message</td><td>str</td><td>留言内容</td><td>必要</td><td></td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功 <br>-101:账号未登录<br>-111csrf校验失败<br>-400:请求错误<br>88203:不能重复留言</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>为留言token为<code>BPRG5CEC3VUPOOANA540</code>的充电操作,添加了内容为<code>支持一下大佬</code>的留言</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/ugcpay/trade/elec/message&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;order_id=BPRG5CEC3VUPOOANA540&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;message=支持一下大佬&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -b</span><span style="color:#CE9178;"> &#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="查询我收到的充电留言" tabindex="-1"><a class="header-anchor" href="#查询我收到的充电留言"><span>查询我收到的充电留言</span></a></h2><blockquote><p>https://member.bilibili.com/x/web/elec/remark/list</p></blockquote><p><em>请求方式:GET</em></p><p>认证方式:CookieSESSDATA</p><p><strong>url参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>begin</td><td>str</td><td>起始日期</td><td>非必要</td><td>默认2016-01-01</td></tr><tr><td>end</td><td>str</td><td>结束日期</td><td>非必要</td><td>默认2050-01-01</td></tr><tr><td>pn</td><td>str</td><td>页数</td><td>非必要</td><td></td></tr><tr><td>ps</td><td>str</td><td>分页大小</td><td>非必要</td><td>取值范围[1,12]</td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录</td></tr><tr><td>msg</td><td>str</td><td>错误信息</td><td>成功时为<code>0</code></td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>list</td><td>array</td><td>信息本体</td><td></td></tr><tr><td>pager</td><td>obj</td><td>分页信息</td><td></td></tr></tbody></table><p><code>list</code>数组中的对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>aid</td><td>num</td><td></td><td></td></tr><tr><td>bvid</td><td>str</td><td></td><td></td></tr><tr><td>id</td><td>num</td><td>留言记录id</td><td></td></tr><tr><td>mid</td><td>num</td><td>0</td><td></td></tr><tr><td>reply_mid</td><td>num</td><td>0</td><td></td></tr><tr><td>elec_num</td><td>num</td><td>0</td><td></td></tr><tr><td>state</td><td>num</td><td>UP是否已经回复这条留言</td><td>0:未回复<br>1:已回复</td></tr><tr><td>msg</td><td>str</td><td>留言信息</td><td></td></tr><tr><td>aname</td><td>str</td><td>空</td><td></td></tr><tr><td>uname</td><td>str</td><td>空</td><td></td></tr><tr><td>avator</td><td>str</td><td>空</td><td></td></tr><tr><td>reply_name</td><td>str</td><td>空</td><td></td></tr><tr><td>reply_avator</td><td>str</td><td>空</td><td></td></tr><tr><td>reply_msg</td><td>str</td><td>空</td><td></td></tr><tr><td>ctime</td><td>num</td><td>留言时间</td><td>毫秒级时间戳</td></tr><tr><td>reply_time</td><td>num</td><td>0</td><td></td></tr></tbody></table><p><code>pager</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>current</td><td>num</td><td>当前页数</td><td></td></tr><tr><td>size</td><td>num</td><td>当前分页大小</td><td></td></tr><tr><td>total</td><td>num</td><td>记录总数</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://member.bilibili.com/x/web/elec/remark/list?begin=2016-01-01&amp;end=2050-01-01&amp;pn=1&amp;ps=10&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -b</span><span style="color:#CE9178;"> &#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;list&quot;</span><span style="color:#D4D4D4;">: [</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;aid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;bvid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;id&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">6715018</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;reply_mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;elec_num&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;state&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;加油&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;aname&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;uname&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;avator&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;reply_name&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;reply_avator&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;reply_msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ctime&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1650665119000</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;reply_time&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> ],</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;pager&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;current&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;size&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">10</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;total&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">448</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="查询充电留言详情" tabindex="-1"><a class="header-anchor" href="#查询充电留言详情"><span>查询充电留言详情</span></a></h2><blockquote><p>https://member.bilibili.com/x/web/elec/remark/detail</p></blockquote><p><em>请求方式:GET</em></p><p>认证方式:CookieSESSDATA</p><p><strong>url参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>id</td><td>num</td><td>留言id</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-400:请求错误</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>成功时为 <code>0</code></td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>aid</td><td>num</td><td></td><td></td></tr><tr><td>bvid</td><td>str</td><td></td><td></td></tr><tr><td>id</td><td>num</td><td>留言id</td><td></td></tr><tr><td>mid</td><td>num</td><td>留言者mid(充电用户)</td><td></td></tr><tr><td>reply_mid</td><td>num</td><td>UP主mid</td><td></td></tr><tr><td>elec_num</td><td>num</td><td>0</td><td></td></tr><tr><td>state</td><td>num</td><td>UP是否已经回复这条留言</td><td>0:未回复<br>1:已回复</td></tr><tr><td>msg</td><td>str</td><td>留言内容</td><td></td></tr><tr><td>aname</td><td>str</td><td>空</td><td></td></tr><tr><td>uname</td><td>str</td><td>留言者用户名</td><td></td></tr><tr><td>avator</td><td>str</td><td>留言者头像</td><td></td></tr><tr><td>reply_name</td><td>str</td><td>UP主用户名</td><td></td></tr><tr><td>reply_avator</td><td>str</td><td>UP主头像</td><td></td></tr><tr><td>reply_msg</td><td>str</td><td>回复内容</td><td></td></tr><tr><td>ctime</td><td>num</td><td>留言时间</td><td>毫秒级时间戳</td></tr><tr><td>reply_time</td><td>num</td><td>回复时间</td><td>毫秒级时间戳</td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://member.bilibili.com/x/web/elec/remark/detail?id=6507563&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -b</span><span style="color:#CE9178;"> &#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;aid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;bvid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;id&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">6507563</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">19978396</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;reply_mid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2062760</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;elec_num&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;state&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;感谢搬运&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;aname&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;uname&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;HANSOOOOOL&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;avator&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;http://i1.hdslb.com/bfs/face/5c22af0261b8b3f9a54b6e0038e35430e9ed9cfd.jpg&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;reply_name&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;一把近战都不给六花&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;reply_avator&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;http://i2.hdslb.com/bfs/face/1804b716084908d4992bdd35827d0c2d7222fe97.jpg&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;reply_msg&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;( ̄3 ̄)&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ctime&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1646726966000</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;reply_time&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1646811946000</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="回复充电留言" tabindex="-1"><a class="header-anchor" href="#回复充电留言"><span>回复充电留言</span></a></h2><blockquote><p>https://member.bilibili.com/x/web/elec/remark/reply</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA</p><p><strong>正文参数(application/x-www-form-urlencoded):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>csrf</td><td>str</td><td>csrf</td><td>必要</td><td></td></tr><tr><td>id</td><td>num</td><td>留言id</td><td>必要</td><td></td></tr><tr><td>msg</td><td>str</td><td>回复信息</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-111csrf 校验失败<br>-400:请求错误<br>20004:充电服务异常</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td></td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>num</td><td>数据本体</td><td>1:成功<br>2:失败</td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://member.bilibili.com/x/web/elec/remark/reply&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -b</span><span style="color:#CE9178;"> &#39;SESSDATA=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;id=6258929&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;msg=( ̄3 ̄)&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,58)]))}const r=t(e,[["render",d]]),c=JSON.parse('{"path":"/docs/electric/charge_msg.html","title":"充电留言","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1740498696000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"},{"name":"wuziqian211","username":"wuziqian211","email":"65224318+wuziqian211@users.noreply.github.com","commits":3,"url":"https://github.com/wuziqian211"}],"changelog":[{"hash":"6c1f03e75334aaba6f3b6f3bf346b0326073b779","time":1740498696000,"email":"65224318+wuziqian211@users.noreply.github.com","author":"晨叶梦春","message":"update"},{"hash":"490d4c5e1f4559e9fae0feb46e18364317a6112e","time":1677480998000,"email":"65224318+wuziqian211@users.noreply.github.com","author":"wuziqian211","message":"新增包月充电功能相关API (#626)"},{"hash":"f599147a0ce8d39d655760f2ade23797af2381cd","time":1677408879000,"email":"65224318+wuziqian211@users.noreply.github.com","author":"wuziqian211","message":"Update charge_msg.md"},{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/electric/charge_msg.md"}');export{r as comp,c as data};
-23
View File
@@ -1,23 +0,0 @@
import{_ as e,c as a,a as n,o as l}from"./app-Dgsdh8A6.js";const t={};function o(i,s){return l(),a("div",null,s[0]||(s[0]=[n(`<h1 id="检查昵称是否可注册" tabindex="-1"><a class="header-anchor" href="#检查昵称是否可注册"><span>检查昵称是否可注册</span></a></h1><h2 id="检查昵称-已失效" tabindex="-1"><a class="header-anchor" href="#检查昵称-已失效"><span><s>检查昵称(已失效)</s></span></a></h2><details><summary>查看折叠内容</summary><blockquote><p>https://passport.bilibili.com/web/generic/check/nickname</p></blockquote><p><em>请求方式:GET</em></p><p>也可用于判断指定昵称的用户是否存在</p><p><strong>url参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>nickName</td><td>str</td><td>目标昵称</td><td>必要</td><td>最长为16字符</td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>状态码</td><td>-400:请求错误<br>-500:服务器端异常<br><strong>详细说明见下一表格</strong></td></tr><tr><td>message</td><td>str</td><td>错误详情</td><td>若昵称可用,则不返回message</td></tr></tbody></table><p><code>code</code>状态码:</p><table><thead><tr><th>值</th><th>含义</th></tr></thead><tbody><tr><td>0</td><td>昵称未被注册</td></tr><tr><td>2001</td><td>该昵称已被他人使用</td></tr><tr><td>40002</td><td>昵称包含敏感信息</td></tr><tr><td>40004</td><td>昵称不可包含除-和_以外的特殊字符</td></tr><tr><td>40005</td><td>昵称过长(超过16字符)</td></tr><tr><td>40006</td><td>昵称过短(少于2字符)</td></tr><tr><td>40014</td><td>昵称已存在</td></tr></tbody></table><p><strong>示例:</strong></p><p>查询昵称 <code>xijinping</code> 是否被使用:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://passport.bilibili.com/web/generic/check/nickname&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;nickName=xijinping&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">40002</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#CE9178;">&quot;昵称包含敏感信息&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><p>查询昵称 <code>//</code> 是否被使用:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://passport.bilibili.com/web/generic/check/nickname&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;nickName=//&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">40004</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;昵称不可包含除-和_以外的特殊字符&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><p>查询昵称 <code>test0000000000000 </code> 是否被使用:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://passport.bilibili.com/web/generic/check/nickname&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;nickName=test0000000000000 &#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">40005</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;昵称过长&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><p>查询昵称 <code>0</code> 是否被使用:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://passport.bilibili.com/web/generic/check/nickname&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;nickName=0&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">40006</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;昵称过短&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><p>查询昵称 <code>test</code> 是否被使用:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://passport.bilibili.com/web/generic/check/nickname&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;nickName=test&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">40014</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#CE9178;">&quot;昵称已存在&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details></details><p>目前该接口无论参数,稳定返回:</p><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,5)]))}const r=e(t,[["render",o]]),d=JSON.parse('{"path":"/docs/user/check_nickname.html","title":"检查昵称是否可注册","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1737288326000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"},{"name":"emptyBud","username":"emptyBud","email":"74719559+emptyBud@users.noreply.github.com","commits":1,"url":"https://github.com/emptyBud"}],"changelog":[{"hash":"5e16f1c41d8c6a6487d9e690f0b33a6d5f072c12","time":1737288326000,"email":"74719559+emptyBud@users.noreply.github.com","author":"空芽","message":"Update check_nickname.md"},{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/user/check_nickname.md"}');export{r as comp,d as data};
-8
View File
@@ -1,8 +0,0 @@
import{_ as e,c as a,a as t,o as l}from"./app-Dgsdh8A6.js";const n={};function o(i,s){return l(),a("div",null,s[0]||(s[0]=[t(`<h1 id="大会员签到" tabindex="-1"><a class="header-anchor" href="#大会员签到"><span>大会员签到</span></a></h1><h2 id="大积分签到" tabindex="-1"><a class="header-anchor" href="#大积分签到"><span>大积分签到</span></a></h2><blockquote><p>https://api.bilibili.com/pgc/activity/score/task/sign</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:Cookie (SESSDATA) / access_key</p><p>Cookie 鉴权方式下需要满足以下条件:</p><ul><li><code>Referer</code>在<code>*.bilibili.com</code>域名下</li><li><code>SESSDATA</code> 需要进行 url 编码,即 <code>,</code> 替换为 <code>%2C</code></li></ul><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>access_key</td><td>str</td><td>APP登录Token</td><td>APP方式必要</td><td></td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token (位于cookie)</td><td>非必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段名</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>响应码</td><td>0:成功<br>-101:账号未登录<br>-401:非法访问<br>-403:访问权限不足</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>web 方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/pgc/activity/score/task/sign&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -b</span><span style="color:#CE9178;"> &#39;SESSDATA=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --referer</span><span style="color:#CE9178;"> &#39;https://www.bilibili.com&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>APP 方式:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/pgc/activity/score/task/sign&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;access_key=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;success&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,18)]))}const r=e(n,[["render",o]]),d=JSON.parse('{"path":"/docs/vip/clockin.html","title":"大会员签到","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1677124138000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"}],"changelog":[{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/vip/clockin.md"}');export{r as comp,d as data};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-8
View File
@@ -1,8 +0,0 @@
import{_ as d,c as s,a as e,o as a}from"./app-Dgsdh8A6.js";const r={};function l(o,t){return a(),s("div",null,t[0]||(t[0]=[e(`<h1 id="弹幕个人配置修改" tabindex="-1"><a class="header-anchor" href="#弹幕个人配置修改"><span>弹幕个人配置修改</span></a></h1><h2 id="修改弹幕个人配置-web端" tabindex="-1"><a class="header-anchor" href="#修改弹幕个人配置-web端"><span>修改弹幕个人配置(web端)</span></a></h2><blockquote><p>https://api.bilibili.com/x/v2/dm/web/config</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:CookieSESSDATA)或APP</p><p><strong>正文参数( application/x-www-form-urlencoded ):</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>access_key</td><td>str</td><td>APP登录Token</td><td>APP方式必要</td><td></td></tr><tr><td>dm_switch</td><td>bool</td><td>弹幕开关</td><td>非必要</td><td>true:开启<br>false:关闭</td></tr><tr><td>blockscroll</td><td>bool</td><td>屏蔽类型-滚动</td><td>非必要</td><td>true:不屏蔽<br>false:屏蔽</td></tr><tr><td>blocktop</td><td>bool</td><td>屏蔽类型-顶部</td><td>非必要</td><td>同上</td></tr><tr><td>blockbottom</td><td>bool</td><td>屏蔽类型-底部</td><td>非必要</td><td>同上</td></tr><tr><td>blockcolor</td><td>bool</td><td>屏蔽类型-彩色</td><td>非必要</td><td>同上</td></tr><tr><td>blockspecial</td><td>bool</td><td>屏蔽类型-特殊</td><td>非必要</td><td>同上</td></tr><tr><td>ai_switch</td><td>bool</td><td>是否打开智能云屏蔽</td><td>非必要</td><td>true:开启<br>false:关闭</td></tr><tr><td>ai_level</td><td>num</td><td>智能云屏蔽等级</td><td>非必要</td><td>区间:[0-10]<br>0为默认等级(3级)</td></tr><tr><td>preventshade</td><td>bool</td><td>防挡弹幕(底部15%</td><td>非必要</td><td>true:开启<br>false:关闭</td></tr><tr><td>dmask</td><td>bool</td><td>智能防挡弹幕(人像蒙版)</td><td>非必要</td><td>同上</td></tr><tr><td>opacity</td><td>num</td><td>弹幕不透明度</td><td>非必要</td><td>区间:[0-1]</td></tr><tr><td>dmarea</td><td>num</td><td>弹幕显示区域</td><td>非必要</td><td>100:不重叠<br>753/4屏<br>50:半瓶<br>251/4屏<br>0:不限</td></tr><tr><td>speedplus</td><td>num</td><td>弹幕速度</td><td>非必要</td><td>区间:[0.4-1.6]</td></tr><tr><td>fontsize</td><td>num</td><td>字体大小</td><td>非必要</td><td>区间:[0.4-1.6]</td></tr><tr><td>screensync</td><td>bool</td><td>跟随屏幕缩放比例</td><td>非必要</td><td>true:开启<br>false:关闭</td></tr><tr><td>speedsync</td><td>bool</td><td>根据播放倍速调整速度</td><td>非必要</td><td>同上</td></tr><tr><td>fontfamily</td><td>str</td><td>字体类型</td><td>非必要</td><td>未启用</td></tr><tr><td>bold</td><td>bool</td><td>粗体</td><td>非必要</td><td>未启用</td></tr><tr><td>fontborder</td><td>num</td><td>描边类型</td><td>非必要</td><td>0:重墨<br>1:描边<br>245°投影</td></tr><tr><td>drawType</td><td>string</td><td>渲染类型</td><td>非必要</td><td>未启用</td></tr><tr><td>ts</td><td>num</td><td>当前时间戳</td><td>非必要</td><td></td></tr><tr><td>csrf</td><td>str</td><td>CSRF Token(位于cookie</td><td>Cookie方式必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-111csrf校验失败<br>-400:请求错误<br>23004:数据没有修改</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>关闭弹幕</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/v2/dm/web/config&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;dm_switch=false&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,14)]))}const c=d(r,[["render",l]]),i=JSON.parse('{"path":"/docs/danmaku/config.html","title":"弹幕个人配置修改","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1677124138000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"}],"changelog":[{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/danmaku/config.md"}');export{c as comp,i as data};
File diff suppressed because one or more lines are too long
-26
View File
@@ -1,26 +0,0 @@
import{_ as s,c as a,a as n,o as e}from"./app-Dgsdh8A6.js";const d={};function l(o,t){return e(),a("div",null,t[0]||(t[0]=[n(`<h1 id="加入老粉计划" tabindex="-1"><a class="header-anchor" href="#加入老粉计划"><span>加入老粉计划</span></a></h1><blockquote><p>https://api.bilibili.com/x/v1/contract/add_contract</p></blockquote><p><em>请求方式:POST</em></p><p>是否需要登录:<code>是</code></p><p>认证方式:Cookie(SESSDATA)</p><p><strong>正文参数 (application/x-www-form-urlencoded)</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>aid</td><td>str</td><td><code>空串</code></td><td></td><td></td></tr><tr><td>up_mid</td><td>str</td><td>UP主UID</td><td>必要</td><td></td></tr><tr><td>source</td><td>str</td><td><code>4</code></td><td></td><td></td></tr><tr><td>scene</td><td>str</td><td><code>105</code></td><td></td><td></td></tr><tr><td>platform</td><td>str</td><td><code>web</code></td><td></td><td></td></tr><tr><td>mobi_app</td><td>str</td><td><code>pc</code></td><td></td><td></td></tr><tr><td>csrf</td><td>str</td><td>用户csrf</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段名</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>响应码</td><td>0:成功<br>158001<code>不满足条件</code></td></tr><tr><td>message</td><td>str</td><td>0</td><td></td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象</p><table><thead><tr><th>字段名</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>allow_message</td><td>bool</td><td><code>true</code></td><td></td></tr><tr><td>input_text</td><td>str</td><td><code>UP主加油!看好你噢~</code></td><td></td></tr><tr><td>input_title</td><td>str</td><td><code>感谢你对UP主的特别支持,“老粉”可期!私信留言鼓励下TA吧~ </code></td><td></td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> --location</span><span style="color:#569CD6;"> --request</span><span style="color:#CE9178;"> POST</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/v1/contract/add_contract&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--header </span><span style="color:#CE9178;">&#39;Cookie: SESSDATA=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--header </span><span style="color:#CE9178;">&#39;Content-Type: application/x-www-form-urlencoded&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;up_mid=2&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>点击查看</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;allow_message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">true</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;input_text&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;UP主加油!看好你噢~&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;input_title&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;感谢你对UP主的特别支持,“老粉”可期!私信留言鼓励下TA吧~&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h1 id="老粉计划发送留言" tabindex="-1"><a class="header-anchor" href="#老粉计划发送留言"><span>老粉计划发送留言</span></a></h1><blockquote><p>https://api.bilibili.com/x/v1/contract/add_message</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:Cookie (SESSDATA)</p><p><strong>正文参数 (application/x-www-form-urlencoded)</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>aid</td><td>str</td><td><code>空串</code></td><td></td><td></td></tr><tr><td>up_mid</td><td>str</td><td>UP主UID</td><td>必要</td><td></td></tr><tr><td>source</td><td>str</td><td><code>4</code></td><td></td><td></td></tr><tr><td>scene</td><td>str</td><td><code>105</code></td><td></td><td></td></tr><tr><td>content</td><td>str</td><td>留言内容</td><td>必要</td><td></td></tr><tr><td>csrf</td><td>str</td><td>用户csrf</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段名</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>响应码</td><td>0:成功<br>158005:您跟up主还不是契约关系</td></tr><tr><td>message</td><td>str</td><td>0</td><td></td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象</p><table><thead><tr><th>字段名</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>success_toast</td><td>str</td><td><code>提交成功,UP主已收到留言~</code></td><td></td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> --location</span><span style="color:#569CD6;"> --request</span><span style="color:#CE9178;"> POST</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/v1/contract/add_message&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--header </span><span style="color:#CE9178;">&#39;Cookie: SESSDATA=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--header </span><span style="color:#CE9178;">&#39;Content-Type: application/x-www-form-urlencoded&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;up_mid=2&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;content=..&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>点击查看</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;success_toast&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;提交成功,UP主已收到留言~&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,29)]))}const c=s(d,[["render",l]]),p=JSON.parse('{"path":"/docs/user/contract.html","title":"加入老粉计划","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1749972386000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":1,"url":"https://github.com/SocialSisterYi"},{"name":"SessionHu","username":"SessionHu","email":"102411014+SessionHu@users.noreply.github.com","commits":1,"url":"https://github.com/SessionHu"}],"changelog":[{"hash":"ffba41758237c897b75e0c650c208b54469e6560","time":1749972386000,"email":"102411014+SessionHu@users.noreply.github.com","author":"SessionHu","message":"fix(user/contract.md): missing <code>~</code>"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/user/contract.md"}');export{c as comp,p as data};
-275
View File
@@ -1,275 +0,0 @@
import{_ as n,c as a,a as l,o as e}from"./app-Dgsdh8A6.js";const o={};function p(t,s){return e(),a("div",null,s[0]||(s[0]=[l(`<h1 id="web端cookie刷新" tabindex="-1"><a class="header-anchor" href="#web端cookie刷新"><span>Web端Cookie刷新</span></a></h1><p>自从 2023 以来,社区反馈似乎 Web 端的 Cookie 会随着一些敏感接口的访问逐渐失效,而在 Web 页面上会判断 Cookie 是否需要刷新,如需刷新则会以动态加载 iframe 方式实现,同时登录(二维码 / 密码 / 短信验证码等)接口也会返回<code>refresh_token</code>字段,需要持久化保存,是一种官方的风控机制实现</p><p>感谢 <a href="https://github.com/SocialSisterYi/bilibili-API-collect/issues/524" target="_blank" rel="noopener noreferrer">#524</a> 提供相关研究报告以及逆向工程结果</p><blockquote><p>cookie 不会主动刷新的,只要他没有调用下面的刷新接口就不会刷新。也就是说,你只要不再打开浏览器,或者直接把 localStorage 的 ac_time_value 字段删除了。那么 cookie 在真的失效前(登录过期、账号风控等强制下线)都是不变化的。</p></blockquote><h2 id="刷新步骤-伪代码" tabindex="-1"><a class="header-anchor" href="#刷新步骤-伪代码"><span>刷新步骤(伪代码)</span></a></h2><div class="language-python line-numbers-mode" data-highlighter="shiki" data-ext="python" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-python"><span class="line"><span style="color:#D4D4D4;">cookie, refresh_token = 进行登录操作() </span><span style="color:#6A9955;"># can be 二维码 / 密码 / 短信验证码</span></span>
<span class="line"></span>
<span class="line"><span style="color:#C586C0;">while</span><span style="color:#569CD6;"> True</span><span style="color:#D4D4D4;">:</span></span>
<span class="line"><span style="color:#C586C0;"> if</span><span style="color:#D4D4D4;"> 每日第一次访问接口:</span></span>
<span class="line"><span style="color:#C586C0;"> if</span><span style="color:#D4D4D4;"> 检查是否需要刷新(cookie):</span></span>
<span class="line"><span style="color:#D4D4D4;"> CorrespondPath = 生成CorrespondPath(当前毫秒时间戳)</span></span>
<span class="line"><span style="color:#D4D4D4;"> refresh_csrf = 获取refresh_csrf(CorrespondPath, cookie)</span></span>
<span class="line"><span style="color:#D4D4D4;"> refresh_token_old = refresh_token </span><span style="color:#6A9955;"># 这一步必须保存旧的 refresh_token 备用</span></span>
<span class="line"><span style="color:#D4D4D4;"> cookie, refresh_token = 刷新Cookie(refresh_token, refresh_csrf, cookie)</span></span>
<span class="line"><span style="color:#D4D4D4;"> 确认更新(refresh_token_old, cookie) </span><span style="color:#6A9955;"># 这一步需要新的 Cookie 以及旧的 refresh_token</span></span>
<span class="line"><span style="color:#D4D4D4;"> SSO站点跨域登录(cookie)</span></span>
<span class="line"><span style="color:#D4D4D4;"> do_somethings(cookie) </span><span style="color:#6A9955;"># 其他业务逻辑处理</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="检查是否需要刷新" tabindex="-1"><a class="header-anchor" href="#检查是否需要刷新"><span>检查是否需要刷新</span></a></h2><blockquote><p>https://passport.bilibili.com/x/passport-login/web/cookie/info</p></blockquote><p><em>请求方式:GET</em></p><p>鉴权方式:Cookie</p><p><strong>url 参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>csrf</td><td>str</td><td>CSRF Token(位于 Cookie</td><td>非必要</td><td>位于 Cookie 中的bili_jct字段</td></tr></tbody></table><p><strong>json 回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为 0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>refresh</td><td>bool</td><td>是否应该刷新 Cookie</td><td><code>true</code>:需要刷新 Cookie<br><code>false</code>:无需刷新 Cookie</td></tr><tr><td>timestamp</td><td>num</td><td>当前毫秒时间戳</td><td>用于获取 refresh_csrf</td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-bash"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://passport.bilibili.com/x/passport-login/web/cookie/info&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -b</span><span style="color:#CE9178;"> &#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;refresh&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">false</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;timestamp&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1684466082562</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="生成correspondpath算法" tabindex="-1"><a class="header-anchor" href="#生成correspondpath算法"><span>生成CorrespondPath算法</span></a></h2><p>该算法逆向于以下 wasm 以及 JavaScript bind 接口,抓取于官方 Web 首页中,感谢 <a href="https://github.com/SocialSisterYi/bilibili-API-collect/issues/524" target="_blank" rel="noopener noreferrer">#524</a> 提供</p><p>https://s1.hdslb.com/bfs/static/jinkela/long/wasm/wasm_rsa_encrypt_bg.wasm</p><p>https://s1.hdslb.com/bfs/static/jinkela/long/wasm/wasm_ras_umd.js</p><h3 id="算法细节" tabindex="-1"><a class="header-anchor" href="#算法细节"><span>算法细节</span></a></h3><p>将<code>refresh_\${timestamp}</code>作为消息体(参数<code>timestamp</code>为当前毫秒时间戳),用下方 PubKey 进行 <a href="https://datatracker.ietf.org/doc/html/rfc3447#section-7.1" target="_blank" rel="noopener noreferrer">RSA-OAEP</a> 算法加密,之后密文通过小写 Base16 编码为字符串</p><p>JWK 格式:</p><blockquote><p>{ &quot;kty&quot;: &quot;RSA&quot;, &quot;n&quot;: &quot;y4HdjgJHBlbaBN04VERG4qNBIFHP6a3GozCl75AihQloSWCXC5HDNgyinEnhaQ_4-gaMud_GF50elYXLlCToR9se9Z8z433U3KjM-3Yx7ptKkmQNAMggQwAVKgq3zYAoidNEWuxpkY_mAitTSRLnsJW-NCTa0bqBFF6Wm1MxgfE&quot;, &quot;e&quot;: &quot;AQAB&quot; }</p></blockquote><p>PEM 格式:</p><blockquote><p>-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDLgd2OAkcGVtoE3ThUREbio0Eg Uc/prcajMKXvkCKFCWhJYJcLkcM2DKKcSeFpD/j6Boy538YXnR6VhcuUJOhH2x71 nzPjfdTcqMz7djHum0qSZA0AyCBDABUqCrfNgCiJ00Ra7GmRj+YCK1NJEuewlb40 JNrRuoEUXpabUzGB8QIDAQAB -----END PUBLIC KEY-----</p></blockquote><h3 id="相关demo" tabindex="-1"><a class="header-anchor" href="#相关demo"><span>相关Demo</span></a></h3><p>该 Demo 提供 <a href="#javascript">JavaScript</a> <a href="#python">Python</a> <a href="#kotlin">Kotlin</a> <a href="#java">Java</a> <a href="#go">Go</a> 以及 <a href="#vercel%E4%BA%91%E5%87%BD%E6%95%B0">Vercel 云函数</a>,感谢 <a href="https://github.com/SocialSisterYi/bilibili-API-collect/issues/524" target="_blank" rel="noopener noreferrer">#524</a> 提供</p><h4 id="javascript" tabindex="-1"><a class="header-anchor" href="#javascript"><span>JavaScript</span></a></h4><div class="language-javascript line-numbers-mode" data-highlighter="shiki" data-ext="javascript" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-javascript"><span class="line"><span style="color:#569CD6;">const</span><span style="color:#4FC1FF;"> publicKey</span><span style="color:#D4D4D4;"> = </span><span style="color:#C586C0;">await</span><span style="color:#9CDCFE;"> crypto</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">subtle</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">importKey</span><span style="color:#D4D4D4;">(</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;jwk&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> kty:</span><span style="color:#CE9178;"> &quot;RSA&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> n:</span><span style="color:#CE9178;"> &quot;y4HdjgJHBlbaBN04VERG4qNBIFHP6a3GozCl75AihQloSWCXC5HDNgyinEnhaQ_4-gaMud_GF50elYXLlCToR9se9Z8z433U3KjM-3Yx7ptKkmQNAMggQwAVKgq3zYAoidNEWuxpkY_mAitTSRLnsJW-NCTa0bqBFF6Wm1MxgfE&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> e:</span><span style="color:#CE9178;"> &quot;AQAB&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> { </span><span style="color:#9CDCFE;">name:</span><span style="color:#CE9178;"> &quot;RSA-OAEP&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">hash:</span><span style="color:#CE9178;"> &quot;SHA-256&quot;</span><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#569CD6;"> true</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#D4D4D4;"> [</span><span style="color:#CE9178;">&quot;encrypt&quot;</span><span style="color:#D4D4D4;">],</span></span>
<span class="line"><span style="color:#D4D4D4;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;">async</span><span style="color:#569CD6;"> function</span><span style="color:#DCDCAA;"> getCorrespondPath</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">timestamp</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#569CD6;"> const</span><span style="color:#4FC1FF;"> data</span><span style="color:#D4D4D4;"> = </span><span style="color:#569CD6;">new</span><span style="color:#DCDCAA;"> TextEncoder</span><span style="color:#D4D4D4;">().</span><span style="color:#DCDCAA;">encode</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">\`refresh_</span><span style="color:#569CD6;">\${</span><span style="color:#9CDCFE;">timestamp</span><span style="color:#569CD6;">}</span><span style="color:#CE9178;">\`</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#569CD6;"> const</span><span style="color:#4FC1FF;"> encrypted</span><span style="color:#D4D4D4;"> = </span><span style="color:#569CD6;">new</span><span style="color:#DCDCAA;"> Uint8Array</span><span style="color:#D4D4D4;">(</span><span style="color:#C586C0;">await</span><span style="color:#9CDCFE;"> crypto</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">subtle</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">encrypt</span><span style="color:#D4D4D4;">({ </span><span style="color:#9CDCFE;">name:</span><span style="color:#CE9178;"> &quot;RSA-OAEP&quot;</span><span style="color:#D4D4D4;"> }, </span><span style="color:#9CDCFE;">publicKey</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">data</span><span style="color:#D4D4D4;">))</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#9CDCFE;"> encrypted</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">reduce</span><span style="color:#D4D4D4;">((</span><span style="color:#9CDCFE;">str</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">c</span><span style="color:#D4D4D4;">) </span><span style="color:#569CD6;">=&gt;</span><span style="color:#9CDCFE;"> str</span><span style="color:#D4D4D4;"> + </span><span style="color:#9CDCFE;">c</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">toString</span><span style="color:#D4D4D4;">(</span><span style="color:#B5CEA8;">16</span><span style="color:#D4D4D4;">).</span><span style="color:#DCDCAA;">padStart</span><span style="color:#D4D4D4;">(</span><span style="color:#B5CEA8;">2</span><span style="color:#D4D4D4;">, </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">), </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;">const</span><span style="color:#4FC1FF;"> ts</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">Date</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">now</span><span style="color:#D4D4D4;">()</span></span>
<span class="line"><span style="color:#9CDCFE;">console</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">log</span><span style="color:#D4D4D4;">(</span><span style="color:#C586C0;">await</span><span style="color:#DCDCAA;"> getCorrespondPath</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">ts</span><span style="color:#D4D4D4;">))</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-text line-numbers-mode" data-highlighter="shiki" data-ext="text" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-text"><span class="line"><span>b77f21ab5b7ce7879c410b2311dd6e7ea1a2cd1cd941073db067f4c3279fdabca3a06dfa744168ee14ad050b9f4889bd4edb8e76eb597fdd18c16804d82566b55c6dba8e225d838aa93d8e5b31cf7c56720db8244d92373f4944e0561f6ca5bf721a36ac079786060fc853605ccd1ddcb33f54617de6aedd44e3b9850d13b45f</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="python" tabindex="-1"><a class="header-anchor" href="#python"><span>Python</span></a></h4><p>需要<code>pycryptodome</code>依赖</p><div class="language-python line-numbers-mode" data-highlighter="shiki" data-ext="python" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-python"><span class="line"><span style="color:#C586C0;">from</span><span style="color:#D4D4D4;"> Crypto.Cipher </span><span style="color:#C586C0;">import</span><span style="color:#D4D4D4;"> PKCS1_OAEP</span></span>
<span class="line"><span style="color:#C586C0;">from</span><span style="color:#D4D4D4;"> Crypto.PublicKey </span><span style="color:#C586C0;">import</span><span style="color:#D4D4D4;"> RSA</span></span>
<span class="line"><span style="color:#C586C0;">from</span><span style="color:#D4D4D4;"> Crypto.Hash </span><span style="color:#C586C0;">import</span><span style="color:#D4D4D4;"> SHA256</span></span>
<span class="line"><span style="color:#C586C0;">import</span><span style="color:#D4D4D4;"> binascii</span></span>
<span class="line"><span style="color:#C586C0;">import</span><span style="color:#D4D4D4;"> time</span></span>
<span class="line"></span>
<span class="line"><span style="color:#D4D4D4;">key = RSA.importKey(</span><span style="color:#CE9178;">&#39;&#39;&#39;</span><span style="color:#569CD6;">\\</span></span>
<span class="line"><span style="color:#CE9178;">-----BEGIN PUBLIC KEY-----</span></span>
<span class="line"><span style="color:#CE9178;">MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDLgd2OAkcGVtoE3ThUREbio0Eg</span></span>
<span class="line"><span style="color:#CE9178;">Uc/prcajMKXvkCKFCWhJYJcLkcM2DKKcSeFpD/j6Boy538YXnR6VhcuUJOhH2x71</span></span>
<span class="line"><span style="color:#CE9178;">nzPjfdTcqMz7djHum0qSZA0AyCBDABUqCrfNgCiJ00Ra7GmRj+YCK1NJEuewlb40</span></span>
<span class="line"><span style="color:#CE9178;">JNrRuoEUXpabUzGB8QIDAQAB</span></span>
<span class="line"><span style="color:#CE9178;">-----END PUBLIC KEY-----&#39;&#39;&#39;</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;">def</span><span style="color:#DCDCAA;"> getCorrespondPath</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">ts</span><span style="color:#D4D4D4;">):</span></span>
<span class="line"><span style="color:#D4D4D4;"> cipher = PKCS1_OAEP.new(key, SHA256)</span></span>
<span class="line"><span style="color:#D4D4D4;"> encrypted = cipher.encrypt(</span><span style="color:#569CD6;">f</span><span style="color:#CE9178;">&#39;refresh_</span><span style="color:#569CD6;">{</span><span style="color:#D4D4D4;">ts</span><span style="color:#569CD6;">}</span><span style="color:#CE9178;">&#39;</span><span style="color:#D4D4D4;">.encode())</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#D4D4D4;"> binascii.b2a_hex(encrypted).decode()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#D4D4D4;">ts = </span><span style="color:#DCDCAA;">round</span><span style="color:#D4D4D4;">(time.time() * </span><span style="color:#B5CEA8;">1000</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#DCDCAA;">print</span><span style="color:#D4D4D4;">(getCorrespondPath(ts))</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-text line-numbers-mode" data-highlighter="shiki" data-ext="text" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-text"><span class="line"><span>47bbd615f333d6a2c597bbb46ad47a6e59752a305a2f545d3ba5d49ca055309347796f80d257613696d36170c57443a0e9dea2b47f83b0b4224d431e46124fadd9a24c8fa468147e8bf2d2501eaacae43310e19bf58fc4a728d80c90b9401afcfc1536ba9a2f6438ea53c0b2652f8b8d01c87355dd5a5da51de998b1a35d519a</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h3 id="kotlin" tabindex="-1"><a class="header-anchor" href="#kotlin"><span>Kotlin</span></a></h3><div class="language-kotlin line-numbers-mode" data-highlighter="shiki" data-ext="kotlin" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-kotlin"><span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.security.KeyFactory</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.security.spec.MGF1ParameterSpec</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.security.spec.X509EncodedKeySpec</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.util.</span><span style="color:#569CD6;">*</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> javax.crypto.Cipher</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> javax.crypto.spec.OAEPParameterSpec</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> javax.crypto.spec.PSource</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;">fun</span><span style="color:#DCDCAA;"> main</span><span style="color:#D4D4D4;">() {</span></span>
<span class="line"><span style="color:#DCDCAA;"> println</span><span style="color:#D4D4D4;">(</span><span style="color:#DCDCAA;">getCorrespondPath</span><span style="color:#D4D4D4;">(System.</span><span style="color:#DCDCAA;">currentTimeMillis</span><span style="color:#D4D4D4;">()))</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;">fun</span><span style="color:#DCDCAA;"> getCorrespondPath</span><span style="color:#D4D4D4;">(timestamp: </span><span style="color:#4EC9B0;">Long</span><span style="color:#D4D4D4;">): </span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#569CD6;"> val</span><span style="color:#D4D4D4;"> publicKeyPEM = </span><span style="color:#CE9178;">&quot;&quot;&quot;</span></span>
<span class="line"><span style="color:#CE9178;"> -----BEGIN PUBLIC KEY-----</span></span>
<span class="line"><span style="color:#CE9178;"> MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDLgd2OAkcGVtoE3ThUREbio0Eg</span></span>
<span class="line"><span style="color:#CE9178;"> Uc/prcajMKXvkCKFCWhJYJcLkcM2DKKcSeFpD/j6Boy538YXnR6VhcuUJOhH2x71</span></span>
<span class="line"><span style="color:#CE9178;"> nzPjfdTcqMz7djHum0qSZA0AyCBDABUqCrfNgCiJ00Ra7GmRj+YCK1NJEuewlb40</span></span>
<span class="line"><span style="color:#CE9178;"> JNrRuoEUXpabUzGB8QIDAQAB</span></span>
<span class="line"><span style="color:#CE9178;"> -----END PUBLIC KEY-----</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;&quot;&quot;</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">trimIndent</span><span style="color:#D4D4D4;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;"> val</span><span style="color:#D4D4D4;"> publicKey = KeyFactory.</span><span style="color:#DCDCAA;">getInstance</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;RSA&quot;</span><span style="color:#D4D4D4;">).</span><span style="color:#DCDCAA;">generatePublic</span><span style="color:#D4D4D4;">(</span></span>
<span class="line"><span style="color:#DCDCAA;"> X509EncodedKeySpec</span><span style="color:#D4D4D4;">(Base64.</span><span style="color:#DCDCAA;">getDecoder</span><span style="color:#D4D4D4;">().</span><span style="color:#DCDCAA;">decode</span><span style="color:#D4D4D4;">(publicKeyPEM</span></span>
<span class="line"><span style="color:#D4D4D4;"> .</span><span style="color:#DCDCAA;">replace</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;-----BEGIN PUBLIC KEY-----&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#D4D4D4;"> .</span><span style="color:#DCDCAA;">replace</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;-----END PUBLIC KEY-----&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#D4D4D4;"> .</span><span style="color:#DCDCAA;">replace</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;</span><span style="color:#D7BA7D;">\\n</span><span style="color:#CE9178;">&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#D4D4D4;"> .</span><span style="color:#DCDCAA;">trim</span><span style="color:#D4D4D4;">()))</span></span>
<span class="line"><span style="color:#D4D4D4;"> )</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;"> val</span><span style="color:#D4D4D4;"> cipher = Cipher.</span><span style="color:#DCDCAA;">getInstance</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;RSA/ECB/OAEPPadding&quot;</span><span style="color:#D4D4D4;">).</span><span style="color:#DCDCAA;">apply</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#569CD6;"> init</span><span style="color:#D4D4D4;">(Cipher.ENCRYPT_MODE,</span></span>
<span class="line"><span style="color:#D4D4D4;"> publicKey,</span></span>
<span class="line"><span style="color:#DCDCAA;"> OAEPParameterSpec</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;SHA-256&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#CE9178;">&quot;MGF1&quot;</span><span style="color:#D4D4D4;">, MGF1ParameterSpec.SHA256, PSource.PSpecified.DEFAULT)</span></span>
<span class="line"><span style="color:#D4D4D4;"> )</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#D4D4D4;"> cipher.</span><span style="color:#DCDCAA;">doFinal</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;refresh_</span><span style="color:#9CDCFE;">$timestamp</span><span style="color:#CE9178;">&quot;</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">toByteArray</span><span style="color:#D4D4D4;">()).</span><span style="color:#DCDCAA;">joinToString</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">) { </span><span style="color:#CE9178;">&quot;%02x&quot;</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">format</span><span style="color:#D4D4D4;">(it) }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-text line-numbers-mode" data-highlighter="shiki" data-ext="text" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-text"><span class="line"><span>1428cbd14605ae42a0b42e22662cfe51d8e5034eeaffb36a46db46bd2f93216cbfd4d150cca2de44395add7c664b40acf44424ee8d634fc821b909423665a34d18bd7f4e77ea5388a2b612daf875e2fe8df62990e14b64a465898b0707bc1288586b68f9f4f2f20bea5cb1cada296beb8009e91bc8fb57a4b81b8923299b6eb7</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h3 id="go" tabindex="-1"><a class="header-anchor" href="#go"><span>Go</span></a></h3><div class="language-go line-numbers-mode" data-highlighter="shiki" data-ext="go" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-go"><span class="line"><span style="color:#569CD6;">package</span><span style="color:#4EC9B0;"> main</span></span>
<span class="line"></span>
<span class="line"><span style="color:#C586C0;">import</span><span style="color:#D4D4D4;"> (</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;crypto/rand&quot;</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;crypto/rsa&quot;</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;crypto/sha256&quot;</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;crypto/x509&quot;</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;encoding/hex&quot;</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;encoding/pem&quot;</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;fmt&quot;</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;time&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;">func</span><span style="color:#DCDCAA;"> main</span><span style="color:#D4D4D4;">() {</span></span>
<span class="line"><span style="color:#9CDCFE;"> result</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">err</span><span style="color:#D4D4D4;"> := </span><span style="color:#DCDCAA;">getCorrespondPath</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">time</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">Now</span><span style="color:#D4D4D4;">().</span><span style="color:#DCDCAA;">UnixMilli</span><span style="color:#D4D4D4;">())</span></span>
<span class="line"><span style="color:#C586C0;"> if</span><span style="color:#9CDCFE;"> err</span><span style="color:#D4D4D4;"> != </span><span style="color:#569CD6;">nil</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#DCDCAA;"> panic</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">err</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#9CDCFE;"> fmt</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">Println</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">result</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;">func</span><span style="color:#DCDCAA;"> getCorrespondPath</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">ts</span><span style="color:#4EC9B0;"> int64</span><span style="color:#D4D4D4;">) (</span><span style="color:#4EC9B0;">string</span><span style="color:#D4D4D4;">, </span><span style="color:#4EC9B0;">error</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#569CD6;"> const</span><span style="color:#4FC1FF;"> publicKeyPEM</span><span style="color:#D4D4D4;"> = </span><span style="color:#CE9178;">\`</span></span>
<span class="line"><span style="color:#CE9178;">-----BEGIN PUBLIC KEY-----</span></span>
<span class="line"><span style="color:#CE9178;">MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDLgd2OAkcGVtoE3ThUREbio0Eg</span></span>
<span class="line"><span style="color:#CE9178;">Uc/prcajMKXvkCKFCWhJYJcLkcM2DKKcSeFpD/j6Boy538YXnR6VhcuUJOhH2x71</span></span>
<span class="line"><span style="color:#CE9178;">nzPjfdTcqMz7djHum0qSZA0AyCBDABUqCrfNgCiJ00Ra7GmRj+YCK1NJEuewlb40</span></span>
<span class="line"><span style="color:#CE9178;">JNrRuoEUXpabUzGB8QIDAQAB</span></span>
<span class="line"><span style="color:#CE9178;">-----END PUBLIC KEY-----</span></span>
<span class="line"><span style="color:#CE9178;">\`</span></span>
<span class="line"><span style="color:#9CDCFE;"> pubKeyBlock</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">_</span><span style="color:#D4D4D4;"> := </span><span style="color:#9CDCFE;">pem</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">Decode</span><span style="color:#D4D4D4;">([]</span><span style="color:#4EC9B0;">byte</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">publicKeyPEM</span><span style="color:#D4D4D4;">))</span></span>
<span class="line"><span style="color:#9CDCFE;"> hash</span><span style="color:#D4D4D4;"> := </span><span style="color:#9CDCFE;">sha256</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">New</span><span style="color:#D4D4D4;">()</span></span>
<span class="line"><span style="color:#9CDCFE;"> random</span><span style="color:#D4D4D4;"> := </span><span style="color:#9CDCFE;">rand</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">Reader</span></span>
<span class="line"><span style="color:#9CDCFE;"> msg</span><span style="color:#D4D4D4;"> := []</span><span style="color:#4EC9B0;">byte</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">fmt</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">Sprintf</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;refresh_</span><span style="color:#9CDCFE;">%d</span><span style="color:#CE9178;">&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">ts</span><span style="color:#D4D4D4;">))</span></span>
<span class="line"><span style="color:#569CD6;"> var</span><span style="color:#9CDCFE;"> pub</span><span style="color:#D4D4D4;"> *</span><span style="color:#4EC9B0;">rsa</span><span style="color:#D4D4D4;">.</span><span style="color:#4EC9B0;">PublicKey</span></span>
<span class="line"><span style="color:#9CDCFE;"> pubInterface</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">parseErr</span><span style="color:#D4D4D4;"> := </span><span style="color:#9CDCFE;">x509</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">ParsePKIXPublicKey</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">pubKeyBlock</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">Bytes</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#C586C0;"> if</span><span style="color:#9CDCFE;"> parseErr</span><span style="color:#D4D4D4;"> != </span><span style="color:#569CD6;">nil</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#CE9178;"> &quot;&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">parseErr</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#9CDCFE;"> pub</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">pubInterface</span><span style="color:#D4D4D4;">.(*</span><span style="color:#4EC9B0;">rsa</span><span style="color:#D4D4D4;">.</span><span style="color:#4EC9B0;">PublicKey</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#9CDCFE;"> encryptedData</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">encryptErr</span><span style="color:#D4D4D4;"> := </span><span style="color:#9CDCFE;">rsa</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">EncryptOAEP</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">hash</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">random</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">pub</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">msg</span><span style="color:#D4D4D4;">, </span><span style="color:#569CD6;">nil</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#C586C0;"> if</span><span style="color:#9CDCFE;"> encryptErr</span><span style="color:#D4D4D4;"> != </span><span style="color:#569CD6;">nil</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#CE9178;"> &quot;&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">encryptErr</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#9CDCFE;"> hex</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">EncodeToString</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">encryptedData</span><span style="color:#D4D4D4;">), </span><span style="color:#569CD6;">nil</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-text line-numbers-mode" data-highlighter="shiki" data-ext="text" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-text"><span class="line"><span>97759947aa357ed5d88cf9bf1172737570b7bba2d6788d39006f082b2b25ddf53b581f1f0c61ed8573317485ef525d2789faa25a277b4602a4b9cbf837681093a03e96cb9773a11df4bb1e20f1587180b3e958194de922d7dd94d0a2f0b9b0ef74e426e8041f99b99e7c02407ef4ab38040e61be81e4fdfbdb73461e3a2ad810</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h3 id="java" tabindex="-1"><a class="header-anchor" href="#java"><span>Java</span></a></h3><div class="language-java line-numbers-mode" data-highlighter="shiki" data-ext="java" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-java"><span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> javax.crypto.Cipher;</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> javax.crypto.spec.OAEPParameterSpec;</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> javax.crypto.spec.PSource;</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.math.BigInteger;</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.security.KeyFactory;</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.security.PublicKey;</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.security.spec.MGF1ParameterSpec;</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.security.spec.X509EncodedKeySpec;</span></span>
<span class="line"><span style="color:#569CD6;">import</span><span style="color:#D4D4D4;"> java.util.Base64;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;">public</span><span style="color:#569CD6;"> class</span><span style="color:#4EC9B0;"> CookieRefresh</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#569CD6;"> private</span><span style="color:#569CD6;"> static</span><span style="color:#569CD6;"> final</span><span style="color:#4EC9B0;"> String</span><span style="color:#9CDCFE;"> PUBLIC_KEY</span><span style="color:#D4D4D4;"> = </span><span style="color:#CE9178;">&quot;-----BEGIN PUBLIC KEY-----</span><span style="color:#D7BA7D;">\\n</span><span style="color:#CE9178;">&quot;</span><span style="color:#D4D4D4;"> +</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDLgd2OAkcGVtoE3ThUREbio0Eg</span><span style="color:#D7BA7D;">\\n</span><span style="color:#CE9178;">&quot;</span><span style="color:#D4D4D4;"> +</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;Uc/prcajMKXvkCKFCWhJYJcLkcM2DKKcSeFpD/j6Boy538YXnR6VhcuUJOhH2x71</span><span style="color:#D7BA7D;">\\n</span><span style="color:#CE9178;">&quot;</span><span style="color:#D4D4D4;"> +</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;nzPjfdTcqMz7djHum0qSZA0AyCBDABUqCrfNgCiJ00Ra7GmRj+YCK1NJEuewlb40</span><span style="color:#D7BA7D;">\\n</span><span style="color:#CE9178;">&quot;</span><span style="color:#D4D4D4;"> +</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;JNrRuoEUXpabUzGB8QIDAQAB</span><span style="color:#D7BA7D;">\\n</span><span style="color:#CE9178;">&quot;</span><span style="color:#D4D4D4;"> +</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;-----END PUBLIC KEY-----&quot;</span><span style="color:#D4D4D4;">;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;"> public</span><span style="color:#569CD6;"> static</span><span style="color:#4EC9B0;"> void</span><span style="color:#DCDCAA;"> main</span><span style="color:#D4D4D4;">(</span><span style="color:#4EC9B0;">String</span><span style="color:#D4D4D4;">[] </span><span style="color:#9CDCFE;">args</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#C586C0;"> try</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#4EC9B0;"> String</span><span style="color:#9CDCFE;"> correspondPath</span><span style="color:#D4D4D4;"> = </span><span style="color:#DCDCAA;">getCorrespondPath</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">String</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">format</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;refresh_%d&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">System</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">currentTimeMillis</span><span style="color:#D4D4D4;">()), PUBLIC_KEY);</span></span>
<span class="line"><span style="color:#9CDCFE;"> System</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">out</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">println</span><span style="color:#D4D4D4;">(correspondPath);</span></span>
<span class="line"><span style="color:#D4D4D4;"> } </span><span style="color:#C586C0;">catch</span><span style="color:#D4D4D4;"> (</span><span style="color:#4EC9B0;">Exception</span><span style="color:#9CDCFE;"> e</span><span style="color:#D4D4D4;">) {</span></span>
<span class="line"><span style="color:#9CDCFE;"> e</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">printStackTrace</span><span style="color:#D4D4D4;">();</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;"> public</span><span style="color:#569CD6;"> static</span><span style="color:#4EC9B0;"> String</span><span style="color:#DCDCAA;"> getCorrespondPath</span><span style="color:#D4D4D4;">(</span><span style="color:#4EC9B0;">String</span><span style="color:#9CDCFE;"> plaintext</span><span style="color:#D4D4D4;">, </span><span style="color:#4EC9B0;">String</span><span style="color:#9CDCFE;"> publicKeyStr</span><span style="color:#D4D4D4;">) </span><span style="color:#569CD6;">throws</span><span style="color:#4EC9B0;"> Exception</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#4EC9B0;"> KeyFactory</span><span style="color:#9CDCFE;"> keyFactory</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">KeyFactory</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">getInstance</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;RSA&quot;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#D4D4D4;"> publicKeyStr = publicKeyStr</span></span>
<span class="line"><span style="color:#D4D4D4;"> .</span><span style="color:#DCDCAA;">replace</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;-----BEGIN PUBLIC KEY-----&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#D4D4D4;"> .</span><span style="color:#DCDCAA;">replace</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;-----END PUBLIC KEY-----&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#D4D4D4;"> .</span><span style="color:#DCDCAA;">replace</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;</span><span style="color:#D7BA7D;">\\n</span><span style="color:#CE9178;">&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#D4D4D4;"> .</span><span style="color:#DCDCAA;">trim</span><span style="color:#D4D4D4;">();</span></span>
<span class="line"><span style="color:#4EC9B0;"> byte</span><span style="color:#D4D4D4;">[] </span><span style="color:#9CDCFE;">publicBytes</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">Base64</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">getDecoder</span><span style="color:#D4D4D4;">().</span><span style="color:#DCDCAA;">decode</span><span style="color:#D4D4D4;">(publicKeyStr);</span></span>
<span class="line"><span style="color:#4EC9B0;"> X509EncodedKeySpec</span><span style="color:#9CDCFE;"> x509EncodedKeySpec</span><span style="color:#D4D4D4;"> = </span><span style="color:#C586C0;">new</span><span style="color:#DCDCAA;"> X509EncodedKeySpec</span><span style="color:#D4D4D4;">(publicBytes);</span></span>
<span class="line"><span style="color:#4EC9B0;"> PublicKey</span><span style="color:#9CDCFE;"> publicKey</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">keyFactory</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">generatePublic</span><span style="color:#D4D4D4;">(x509EncodedKeySpec);</span></span>
<span class="line"></span>
<span class="line"><span style="color:#4EC9B0;"> String</span><span style="color:#9CDCFE;"> algorithm</span><span style="color:#D4D4D4;"> = </span><span style="color:#CE9178;">&quot;RSA/ECB/OAEPPadding&quot;</span><span style="color:#D4D4D4;">;</span></span>
<span class="line"><span style="color:#4EC9B0;"> Cipher</span><span style="color:#9CDCFE;"> cipher</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">Cipher</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">getInstance</span><span style="color:#D4D4D4;">(algorithm);</span></span>
<span class="line"><span style="color:#9CDCFE;"> cipher</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">init</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">Cipher</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">ENCRYPT_MODE</span><span style="color:#D4D4D4;">, publicKey);</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;"> // Encode the plaintext to bytes</span></span>
<span class="line"><span style="color:#4EC9B0;"> byte</span><span style="color:#D4D4D4;">[] </span><span style="color:#9CDCFE;">plaintextBytes</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">plaintext</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">getBytes</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;UTF-8&quot;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A9955;"> // Add OAEP padding to the plaintext bytes</span></span>
<span class="line"><span style="color:#4EC9B0;"> OAEPParameterSpec</span><span style="color:#9CDCFE;"> oaepParams</span><span style="color:#D4D4D4;"> = </span><span style="color:#C586C0;">new</span><span style="color:#DCDCAA;"> OAEPParameterSpec</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;SHA-256&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#CE9178;">&quot;MGF1&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">MGF1ParameterSpec</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">SHA256</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">PSource</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">PSpecified</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">DEFAULT</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#9CDCFE;"> cipher</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">init</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">Cipher</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">ENCRYPT_MODE</span><span style="color:#D4D4D4;">, publicKey, oaepParams);</span></span>
<span class="line"><span style="color:#6A9955;"> // Encrypt the padded plaintext bytes</span></span>
<span class="line"><span style="color:#4EC9B0;"> byte</span><span style="color:#D4D4D4;">[] </span><span style="color:#9CDCFE;">encryptedBytes</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">cipher</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">doFinal</span><span style="color:#D4D4D4;">(plaintextBytes);</span></span>
<span class="line"><span style="color:#6A9955;"> // Convert the encrypted bytes to a Base64-encoded string</span></span>
<span class="line"><span style="color:#C586C0;"> return</span><span style="color:#C586C0;"> new</span><span style="color:#DCDCAA;"> BigInteger</span><span style="color:#D4D4D4;">(</span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">, encryptedBytes).</span><span style="color:#DCDCAA;">toString</span><span style="color:#D4D4D4;">(</span><span style="color:#B5CEA8;">16</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-text line-numbers-mode" data-highlighter="shiki" data-ext="text" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-text"><span class="line"><span>f87666152da692735123f4e49053e5a98c16854673b2e632f31a3ff0c029640772873661a9a8412db6be447a0bfa03a295d15548cbfd2bb35634e98ba5f25b1205519d6e6119b483f4c516c1e106d45b04ff98c73560949d379d3edaf3c0ecd10a1d46134fb9ca443122ab33c16d1dd48280496f949ed960a2fbcd65f10935e</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="vercel云函数" tabindex="-1"><a class="header-anchor" href="#vercel云函数"><span>vercel云函数</span></a></h4><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-bash"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://wasm-rsa.vercel.app/api/rsa&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &quot;t=$((\`</span><span style="color:#DCDCAA;">date</span><span style="color:#CE9178;"> &#39;+%s&#39;\`</span><span style="color:#D4D4D4;">*</span><span style="color:#CE9178;">1000+\`</span><span style="color:#DCDCAA;">date</span><span style="color:#CE9178;"> &#39;+%N&#39;\`</span><span style="color:#DCDCAA;">/1000000</span><span style="color:#CE9178;">))&quot;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;timestamp&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;1684468084078&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;hash&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;a768efe5114ef8610f9ed9ebc28c00827375f4a3448ec4ab17958cacc4fde9898e5b7aa27f649426bba1acae4aa222aafaff7d528669b15249de0b2b60d86618557d8dc90684db4ec68e8d98e41d94f1c97d1d431c288e595ceb522d033822442a9e1ee150b32771a83fbf65c13329e9fda080fbe3bc85c49c1de7ab148d228f&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="获取refresh-csrf" tabindex="-1"><a class="header-anchor" href="#获取refresh-csrf"><span>获取refresh_csrf</span></a></h2><blockquote><p>https://www.bilibili.com/correspond/1/{correspondPath}</p></blockquote><p><em>请求方式:GET</em></p><p>鉴权方式:Cookie</p><p><strong>path 参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>correspondPath</td><td>str</td><td>使用当前毫秒时间戳生成的签名</td><td>必要</td><td>由 <a href="#%E7%94%9F%E6%88%90CorrespondPath%E7%AE%97%E6%B3%95">生成CorrespondPath算法</a> 加密获得</td></tr></tbody></table><p>将参数<code>correspondPath</code>拼接在 https://www.bilibili.com/correspond/1/ 后进行请求,例如</p><blockquote><p>https://www.bilibili.com/correspond/1/0248397e5139a8b878894cae46f8d6742ef7c728e46403706452b5dda90fe248e58e73bd6c2da0dba515c53af107dc1ecda757ce843579bcf197fcd7800586126e9b896b646cc94c23183a5a067642e96f7b6e803880e1d3cceabc9f1dc52a121b5e3ba5619e008f6b6dcb65a09d7864084ac114f4ec9ccf6218776fe4f2fa95</p></blockquote><p>请求该 url 会返回一个 html 页面,通常由 iframe 方式加载,它通过 SSR 方式返回一个实时刷新口令<code>refresh_csrf</code>存放于 html 标签中,并在 Client 端通过 js 请求 RestAPI 完成一些列的提交刷新、确认、SSO 站点登录等操作</p><p>若参数<code>correspondPath</code>错误或过期,则返回一个 404 Page</p><p>以下为返回的参数:</p><table><thead><tr><th>标签 id</th><th>内容</th><th>xpath</th><th>备注</th></tr></thead><tbody><tr><td>1-name</td><td>refresh_csrf</td><td>//div[id=&#39;1-name&#39;]/text()</td><td>实时刷新口令<br>用于更新 Cookie</td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-bash"><span class="line"><span style="color:#9CDCFE;">correspondPath</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&#39;0248397e5139a8b878894cae46f8d6742ef7c728e46403706452b5dda90fe248e58e73bd6c2da0dba515c53af107dc1ecda757ce843579bcf197fcd7800586126e9b896b646cc94c23183a5a067642e96f7b6e803880e1d3cceabc9f1dc52a121b5e3ba5619e008f6b6dcb65a09d7864084ac114f4ec9ccf6218776fe4f2fa95&#39;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &quot;https://www.bilibili.com/correspond/1/</span><span style="color:#9CDCFE;">$correspondPath</span><span style="color:#CE9178;">&quot;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -b</span><span style="color:#CE9178;"> &#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-html line-numbers-mode" data-highlighter="shiki" data-ext="html" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-html"><span class="line"><span style="color:#808080;">&lt;!</span><span style="color:#569CD6;">DOCTYPE</span><span style="color:#9CDCFE;"> html</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;">&lt;</span><span style="color:#569CD6;">html</span><span style="color:#9CDCFE;"> lang</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;zh-Hans&quot;</span><span style="color:#808080;">&gt;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#808080;">&lt;</span><span style="color:#569CD6;">head</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">meta</span><span style="color:#9CDCFE;"> name</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;spm_prefix&quot;</span><span style="color:#9CDCFE;"> content</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;333.1193&quot;</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">link</span></span>
<span class="line"><span style="color:#9CDCFE;"> href</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;//s1.hdslb.com/bfs/static/jinkela/token-iframe/css/token-iframe.1.a035e81c3bee5fa1a05633ad534ad1f44b05e54d.css&quot;</span></span>
<span class="line"><span style="color:#9CDCFE;"> rel</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;stylesheet&quot;</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">head</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;">&lt;</span><span style="color:#569CD6;">title</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">Correspond</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">title</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;">&lt;</span><span style="color:#569CD6;">script</span><span style="color:#9CDCFE;"> type</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;text/javascript&quot;</span></span>
<span class="line"><span style="color:#9CDCFE;"> src</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;//www.bilibili.com/gentleman/polyfill.js?features=Promise%2CObject.assign%2CString.prototype.includes%2CNumber.isNaN2%CglobalThis&quot;</span><span style="color:#808080;">&gt;&lt;/</span><span style="color:#569CD6;">script</span><span style="color:#808080;">&gt;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#808080;">&lt;</span><span style="color:#569CD6;">body</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">div</span><span style="color:#9CDCFE;"> id</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;1-name&quot;</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">b0cc8411ded2f9db2cff2edb3123acac</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">div</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">div</span><span style="color:#9CDCFE;"> id</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;token-iframe-app&quot;</span><span style="color:#808080;">&gt;&lt;/</span><span style="color:#569CD6;">div</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">script</span><span style="color:#9CDCFE;"> type</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;text/javascript&quot;</span></span>
<span class="line"><span style="color:#9CDCFE;"> src</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;//s1.hdslb.com/bfs/static/jinkela/token-iframe/2.token-iframe.a035e81c3bee5fa1a05633ad534ad1f44b05e54d.js&quot;</span><span style="color:#808080;">&gt;&lt;/</span><span style="color:#569CD6;">script</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">script</span><span style="color:#9CDCFE;"> type</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;text/javascript&quot;</span></span>
<span class="line"><span style="color:#9CDCFE;"> src</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;//s1.hdslb.com/bfs/static/jinkela/token-iframe/token-iframe.a035e81c3bee5fa1a05633ad534ad1f44b05e54d.js&quot;</span><span style="color:#808080;">&gt;&lt;/</span><span style="color:#569CD6;">script</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">body</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;">&lt;</span><span style="color:#569CD6;">script</span><span style="color:#9CDCFE;"> type</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;text/javascript&quot;</span><span style="color:#808080;">&gt;</span><span style="color:#9CDCFE;">window</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">reportMsgObj</span><span style="color:#D4D4D4;"> = {};</span></span>
<span class="line"><span style="color:#9CDCFE;"> window</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">reportConfig</span><span style="color:#D4D4D4;"> = {</span></span>
<span class="line"><span style="color:#9CDCFE;"> sample:</span><span style="color:#B5CEA8;"> 1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> scrollTracker:</span><span style="color:#569CD6;"> true</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> msgObjects:</span><span style="color:#CE9178;"> &#39;reportMsgObj&#39;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#D4D4D4;"> };</span></span>
<span class="line"></span>
<span class="line"><span style="color:#569CD6;"> let</span><span style="color:#9CDCFE;"> reportScript</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">document</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">createElement</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&#39;script&#39;</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#9CDCFE;"> reportScript</span><span style="color:#D4D4D4;">.</span><span style="color:#9CDCFE;">src</span><span style="color:#D4D4D4;"> = </span><span style="color:#CE9178;">&#39;//s1.hdslb.com/bfs/seed/log/report/log-reporter.js&#39;</span><span style="color:#D4D4D4;">;</span></span>
<span class="line"><span style="color:#9CDCFE;"> document</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">getElementsByTagName</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&#39;body&#39;</span><span style="color:#D4D4D4;">)[</span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">].</span><span style="color:#DCDCAA;">appendChild</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">reportScript</span><span style="color:#D4D4D4;">);</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">script</span><span style="color:#808080;">&gt;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">html</span><span style="color:#808080;">&gt;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>所以当前账号的实时刷新口令<code>refresh_csrf</code>为<code>b0cc8411ded2f9db2cff2edb3123acac</code></p><h2 id="刷新cookie" tabindex="-1"><a class="header-anchor" href="#刷新cookie"><span>刷新Cookie</span></a></h2><blockquote><p>https://passport.bilibili.com/x/passport-login/web/cookie/refresh</p></blockquote><p><em>请求方式:POST</em></p><p>鉴权方式:Cookie</p><p>刷新成功后会设置以下 Cookie 项:</p><p><code>sid</code>、<code>DedeUserID</code>、<code>DedeUserID__ckMd5</code>、<code>SESSDATA</code>、<code>bili_jct</code></p><p><strong>正文参数 (application/x-www-form-urlencoded)或 url 参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>csrf</td><td>str</td><td>CSRF Token</td><td>必要</td><td>位于 Cookie 中的<code>bili_jct</code>字段</td></tr><tr><td>refresh_csrf</td><td>str</td><td>实时刷新口令</td><td>必要</td><td>通过 <a href="#%E8%8E%B7%E5%8F%96refresh_csrf">获取refresh_csrf</a> 获得</td></tr><tr><td>source</td><td>str</td><td>访问来源?</td><td>必要</td><td>一般为<code>main_web</code></td></tr><tr><td>refresh_token</td><td>str</td><td>持久化刷新口令</td><td>必要</td><td>localStorage 中的<code>ac_time_value</code>字段,在登录成功后返回并保存</td></tr></tbody></table><p><strong>json 回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-111csrf 校验失败<br>86095refresh_csrf 错误或 refresh_token 与 cookie 不匹配</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为 0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>status</td><td>num</td><td>0</td><td></td></tr><tr><td>message</td><td>str</td><td>空</td><td></td></tr><tr><td>refresh_token</td><td>str</td><td>新的持久化刷新口令</td><td>将存储于 localStorage 中的<code>ac_time_value</code>字段,以便下次使用</td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-bash"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -i</span><span style="color:#CE9178;"> &#39;https://passport.bilibili.com/x/passport-login/web/cookie/refresh&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;csrf=f610640a37f51f6266f6b83cfc5eedbb&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;refresh_csrf=b0cc8411ded2f9db2cff2edb3123acac&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;source=main_web&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;refresh_token=45240a041836905fe953e3b98b83d751&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -b</span><span style="color:#CE9178;"> &#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><p>http 响应(关键信息已做脱敏处理):</p><div class="language-http line-numbers-mode" data-highlighter="shiki" data-ext="http" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-http"><span class="line"><span style="color:#D4D4D4;">HTTP/2 </span><span style="color:#B5CEA8;">200</span></span>
<span class="line"><span style="color:#569CD6;">date:</span><span style="color:#CE9178;"> Fri, 19 May 2023 07:34:11 GMT</span></span>
<span class="line"><span style="color:#569CD6;">content-type:</span><span style="color:#CE9178;"> application/json; charset=utf-8</span></span>
<span class="line"><span style="color:#569CD6;">content-length:</span><span style="color:#CE9178;"> 116</span></span>
<span class="line"><span style="color:#569CD6;">bili-status-code:</span><span style="color:#CE9178;"> 0</span></span>
<span class="line"><span style="color:#569CD6;">bili-trace-id:</span><span style="color:#CE9178;"> 17f4251365646726</span></span>
<span class="line"><span style="color:#569CD6;">set-cookie:</span><span style="color:#CE9178;"> SESSDATA=***; Path=/; Domain=bilibili.com; Expires=Wed, 15 Nov 2023 07:34:10 GMT; HttpOnly; Secure</span></span>
<span class="line"><span style="color:#569CD6;">set-cookie:</span><span style="color:#CE9178;"> bili_jct=***; Path=/; Domain=bilibili.com; Expires=Wed, 15 Nov 2023 07:34:10 GMT</span></span>
<span class="line"><span style="color:#569CD6;">set-cookie:</span><span style="color:#CE9178;"> DedeUserID=***; Path=/; Domain=bilibili.com; Expires=Wed, 15 Nov 2023 07:34:10 GMT</span></span>
<span class="line"><span style="color:#569CD6;">set-cookie:</span><span style="color:#CE9178;"> DedeUserID__ckMd5=***; Path=/; Domain=bilibili.com; Expires=Wed, 15 Nov 2023 07:34:10 GMT</span></span>
<span class="line"><span style="color:#569CD6;">set-cookie:</span><span style="color:#CE9178;"> sid=***; Path=/; Domain=bilibili.com; Expires=Wed, 15 Nov 2023 07:34:10 GMT</span></span>
<span class="line"><span style="color:#569CD6;">x-bili-trace-id:</span><span style="color:#CE9178;"> 3f6f6174aaa087b517f4251365646726</span></span>
<span class="line"><span style="color:#569CD6;">expires:</span><span style="color:#CE9178;"> Fri, 19 May 2023 07:34:10 GMT</span></span>
<span class="line"><span style="color:#569CD6;">cache-control:</span><span style="color:#CE9178;"> no-cache</span></span>
<span class="line"><span style="color:#569CD6;">x-cache-webcdn:</span><span style="color:#CE9178;"> BYPASS from blzone03</span></span>
<span class="line"></span>
<span class="line"><span style="color:#D4D4D4;">{</span><span style="color:#9CDCFE;">&quot;code&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span><span style="color:#9CDCFE;">&quot;message&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span><span style="color:#9CDCFE;">&quot;ttl&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span><span style="color:#9CDCFE;">&quot;data&quot;</span><span style="color:#D4D4D4;">:{</span><span style="color:#9CDCFE;">&quot;status&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span><span style="color:#9CDCFE;">&quot;message&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span><span style="color:#9CDCFE;">&quot;refresh_token&quot;</span><span style="color:#D4D4D4;">:</span><span style="color:#CE9178;">&quot;ae1bd1149b56af9743ffe7bbbeff3e51&quot;</span><span style="color:#D4D4D4;">}}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>JSON Payload</p><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;status&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;refresh_token&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;ae1bd1149b56af9743ffe7bbbeff3e51&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="确认更新" tabindex="-1"><a class="header-anchor" href="#确认更新"><span>确认更新</span></a></h2><blockquote><p>https://passport.bilibili.com/x/passport-login/web/confirm/refresh</p></blockquote><p><em>请求方式:POST</em></p><p>鉴权方式:Cookie</p><p>该步操作将让旧的<code>refresh_token</code>对应的 Cookie 失效</p><p><strong>正文参数 (application/x-www-form-urlencoded)或 url 参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>csrf</td><td>str</td><td>CSRF Token(位于 cookie</td><td>必要</td><td>从新的 cookie 中获取,位于 Cookie 中的<code>bili_jct</code>字段</td></tr><tr><td>refresh_token</td><td>str</td><td>旧的持久化刷新口令</td><td>必要</td><td>在刷新前 localStorage 中的<code>ac_time_value</code>获取,<strong>并非刷新后返回的值</strong></td></tr></tbody></table><p><strong>json 回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>-111csrf 校验失败<br>-400:请求错误</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为 0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-bash"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#CE9178;"> &#39;https://passport.bilibili.com/x/passport-login/web/confirm/refresh&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;csrf=1e9658858e6da76be64bd92cdc0fa324&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> --data-urlencode</span><span style="color:#CE9178;"> &#39;refresh_token=45240a041836905fe953e3b98b83d751&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#569CD6;"> -b</span><span style="color:#CE9178;"> &#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,96)]))}const r=n(o,[["render",p]]),i=JSON.parse('{"path":"/docs/login/cookie_refresh.html","title":"Web端Cookie刷新","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1726759053000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":3,"url":"https://github.com/SocialSisterYi"},{"name":"whiter","username":"whiter","email":"whiterasbk@qq.com","commits":1,"url":"https://github.com/whiter"},{"name":"cqrect","username":"cqrect","email":"136703144+cqrect@users.noreply.github.com","commits":1,"url":"https://github.com/cqrect"},{"name":"lb-chc","username":"lb-chc","email":"69136546+lb-chc@users.noreply.github.com","commits":2,"url":"https://github.com/lb-chc"},{"name":"DannyDu26","username":"DannyDu26","email":"50359598+DannyDu26@users.noreply.github.com","commits":1,"url":"https://github.com/DannyDu26"},{"name":"Duyulin","username":"Duyulin","email":"duyulin@kingsoft.com","commits":1,"url":"https://github.com/Duyulin"},{"name":"SessionHu","username":"SessionHu","email":"102411014+SessionHu@users.noreply.github.com","commits":1,"url":"https://github.com/SessionHu"}],"changelog":[{"hash":"1e24c6b1889160c4c35c01416aa4239501accf5f","time":1726759053000,"email":"102411014+SessionHu@users.noreply.github.com","author":"Session小胡","message":"调整部分接口描述与错误修复 (#1088)","coAuthors":[{"name":"社会易姐QwQ","email":"45892418+SocialSisterYi@users.noreply.github.com"}]},{"hash":"e6dc29ec338003ce0e9d8fb2ef1c6b205ebc0556","time":1716012631000,"email":"50359598+DannyDu26@users.noreply.github.com","author":"Danny Du","message":"feat: cookie刷新生成CorrespondPath算法添加java代码实现 (#1017)","coAuthors":[{"name":"Duyulin","email":"duyulin@kingsoft.com"}]},{"hash":"e6f1e7829d3eebb5011f4d6a1e798e9db7e135ef","time":1705727483000,"email":"69136546+lb-chc@users.noreply.github.com","author":"lb-chc","message":"csrf token 就是 bili_jct (#939)"},{"hash":"ad246446b099aec92db86c2b0a3ea06df329d439","time":1704754997000,"email":"69136546+lb-chc@users.noreply.github.com","author":"lb-chc","message":"使说明更易懂 (#930)"},{"hash":"2dad8999a1c33e374d36133ed2fbb02515bc018e","time":1700194660000,"email":"136703144+cqrect@users.noreply.github.com","author":"cqrect","message":"添加了生成CorrespondPath算法的Go实现 (#860)"},{"hash":"09fe412ec7ce547fbcc5c70833b36170904ad535","time":1692145066000,"email":"whiterasbk@qq.com","author":"whiter","message":"添加了生成CorrespondPath算法的kotlin实现 (#786)"},{"hash":"cefb7e7c403b2a2ee24ac55d628e3dc67c97a2a6","time":1684511359000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"fix typo"},{"hash":"a46f140fde73530868ce9db5f613deed8d5c645e","time":1684483688000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"add【web端Cookie刷新】APIDoc"}]},"filePathRelative":"docs/login/cookie_refresh.md"}');export{r as comp,i as data};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-21
View File
@@ -1,21 +0,0 @@
import{_ as l,c as o,b as e,a as t,d as a,e as p,w as c,r,o as d}from"./app-Dgsdh8A6.js";const i={};function D(y,s){const n=r("RouteLink");return d(),o("div",null,[s[3]||(s[3]=e("h1",{id:"设备各类标识算法-app-端",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#设备各类标识算法-app-端"},[e("span",null,"设备各类标识算法(APP 端)")])],-1)),s[4]||(s[4]=e("h2",{id:"设备唯一标识-buvid",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#设备唯一标识-buvid"},[e("span",null,"设备唯一标识 BUVID")])],-1)),e("p",null,[s[1]||(s[1]=a("注意区分于 Web 端的 ")),p(n,{to:"/docs/misc/buvid3_4.html"},{default:c(()=>s[0]||(s[0]=[a("buvid3, buvid4")])),_:1,__:[0]}),s[2]||(s[2]=a("."))]),s[5]||(s[5]=t(`<p>BUVID 在 APP 首次安装于某设备, 且首次启动时生成.</p><p>APP 首次(即每次安装后)启动, 会向云端发送本机各类设备特征, 含 <code>AndroidId</code>, <code>DrmId</code> 等, 请求是否有匹配的 BUVID, 有就使用云端的, 否则使用本地生成的.</p><p>APP 请求是否有匹配的 BUVID 发送的本机各类设备特征包括(但不限于):</p><ul><li><code>AndroidID</code></li><li><code>DrmId</code></li><li><code>IMEI</code></li><li><code>OAID</code></li><li>手机网卡 <code>MAC</code></li><li>设备品牌</li><li>设备 Model</li><li>本地生成的 BUVID</li></ul><h3 id="生成方法" tabindex="-1"><a class="header-anchor" href="#生成方法"><span>生成方法</span></a></h3><ol><li><p>选定设备特征码, 可以是 <code>AndroidID</code>, <code>DrmId</code>, 手机网卡 <code>MAC</code> 等. 记为 <code>ID</code>. 特别地, <code>MAC</code> 应当去掉 <code>:</code>, <code>GUID</code>(即 UUID) 应当去掉 <code>-</code>.</p></li><li><p>计算 <code>ID</code> 的 MD5. 记为 <code>ID_MD5</code>.</p></li><li><p>从 <code>ID_MD5</code> 抽取第 3, 13, 23 位, 失败就默认为 000, 记为 <code>ID_E</code>.</p></li><li><p>根据选定的设备特征码类型确定 BUVID Prefix, 见附录. 记为 <code>BUVID_Prefix</code>.</p></li><li><p>按 <code>{BUVID_Prefix}{ID_E}{ID_MD5}</code> 的顺序连接起来, 共37位(2+3+32). 结果应当为大写.</p></li></ol><h3 id="demo" tabindex="-1"><a class="header-anchor" href="#demo"><span>Demo</span></a></h3><h4 id="rust" tabindex="-1"><a class="header-anchor" href="#rust"><span>Rust</span></a></h4><p>代码及测试样例见 <a href="https://play.rust-lang.org/?version=stable&amp;mode=debug&amp;edition=2021&amp;gist=40b5906cf3838a60efa83fa368b15147" target="_blank" rel="noopener noreferrer">Rust Playground</a>.</p><h2 id="设备指纹-fp-fp-local-fp-remote" tabindex="-1"><a class="header-anchor" href="#设备指纹-fp-fp-local-fp-remote"><span>设备指纹 fp (fp_local, fp_remote)</span></a></h2><p>用于请求账户相关 REST API, 及 gRPC Metadata 生成.</p><p>在请求头中, <code>fp_local</code> 和 <code>fp_remote</code> 设置为同一值即可, 暂不清楚区别.</p><h3 id="生成方法-1" tabindex="-1"><a class="header-anchor" href="#生成方法-1"><span>生成方法</span></a></h3><ol><li><p>获取 BUVID. 此处一般使用 XU Prefix 的 BUVID.</p></li><li><p>获取设备 Model(<code>Build.MODEL</code>), 如 <code>NOH-AN01</code>.</p></li><li><p>获取手机无线电固件版本号(<code>Build.getRadioVersion()</code>), 失败则留空. 如 <code>21C20B686S000C000,21C20B686S000C000</code>.</p></li><li><p>按前述顺序拼接字符串, 计算得 MD5.</p></li><li><p>获取年月日, 格式 <code>yyyyMMddhhmmss</code>, 拼接到 4 得到的字符串后.</p></li><li><p>生成 16 位随机字符串, CharSet 为 <code>0123456789abcdef</code>, 拼接到 5 得到的字符串后, 记为 <code>fp_raw</code>.</p></li><li><p>计算得到一个特殊字符串, 拼接到 <code>fp_raw</code> 后, 即得到最终的 <code>fp</code>, 特殊字符串算法见下:</p></li></ol><div class="language-rust line-numbers-mode" data-highlighter="shiki" data-ext="rust" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-rust"><span class="line"><span style="color:#569CD6;">let</span><span style="color:#569CD6;"> mut</span><span style="color:#9CDCFE;"> veri_code</span><span style="color:#D4D4D4;"> = </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">;</span></span>
<span class="line"><span style="color:#6A9955;">// 有点像 HEX 的操作</span></span>
<span class="line"><span style="color:#569CD6;">let</span><span style="color:#9CDCFE;"> fp_raw_sub_str</span><span style="color:#D4D4D4;"> = </span><span style="color:#9CDCFE;">fp_raw</span></span>
<span class="line"><span style="color:#D4D4D4;"> .</span><span style="color:#DCDCAA;">as_bytes</span><span style="color:#D4D4D4;">() </span><span style="color:#6A9955;">// 将字符串 fp_raw 转换为字节数组</span></span>
<span class="line"><span style="color:#D4D4D4;"> .</span><span style="color:#DCDCAA;">chunks</span><span style="color:#D4D4D4;">(</span><span style="color:#B5CEA8;">2</span><span style="color:#D4D4D4;">) </span><span style="color:#6A9955;">// 按每两个字节一组进行切分</span></span>
<span class="line"><span style="color:#D4D4D4;"> .</span><span style="color:#DCDCAA;">map</span><span style="color:#D4D4D4;">(|</span><span style="color:#9CDCFE;">s</span><span style="color:#D4D4D4;">| </span><span style="color:#569CD6;">unsafe</span><span style="color:#D4D4D4;"> { ::</span><span style="color:#4EC9B0;">std</span><span style="color:#D4D4D4;">::</span><span style="color:#4EC9B0;">str</span><span style="color:#D4D4D4;">::</span><span style="color:#DCDCAA;">from_utf8_unchecked</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">s</span><span style="color:#D4D4D4;">) }) </span><span style="color:#6A9955;">// 对每一组解析作为 UTF-8 字符串</span></span>
<span class="line"><span style="color:#D4D4D4;"> .</span><span style="color:#DCDCAA;">collect</span><span style="color:#D4D4D4;">::&lt;</span><span style="color:#4EC9B0;">Vec</span><span style="color:#D4D4D4;">&lt;</span><span style="color:#9CDCFE;">_</span><span style="color:#D4D4D4;">&gt;&gt;(); </span><span style="color:#6A9955;">// 将结果收集到 Vec 中</span></span>
<span class="line"><span style="color:#6A9955;">// 如果 fp_raw 的长度小于 62, 则向下取偶数减半作为循环终止条件, 否则终止条件为31</span></span>
<span class="line"><span style="color:#C586C0;">for</span><span style="color:#9CDCFE;"> i</span><span style="color:#569CD6;"> in</span><span style="color:#B5CEA8;"> 0</span><span style="color:#D4D4D4;">..({</span></span>
<span class="line"><span style="color:#C586C0;"> if</span><span style="color:#9CDCFE;"> fp_raw</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">len</span><span style="color:#D4D4D4;">() &lt; </span><span style="color:#B5CEA8;">62</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> fp_raw</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">len</span><span style="color:#D4D4D4;">() - </span><span style="color:#9CDCFE;">fp_raw</span><span style="color:#D4D4D4;">.</span><span style="color:#DCDCAA;">len</span><span style="color:#D4D4D4;">() % </span><span style="color:#B5CEA8;">2</span><span style="color:#6A9955;"> // 取偶数</span></span>
<span class="line"><span style="color:#D4D4D4;"> } </span><span style="color:#C586C0;">else</span><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#B5CEA8;"> 62</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">} / </span><span style="color:#B5CEA8;">2</span><span style="color:#D4D4D4;">)</span></span>
<span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#6A9955;"> // 将每组字符串转换为对应的 16 进制整数, 将转换得到的整数加到 veri_code 上. </span></span>
<span class="line"><span style="color:#9CDCFE;"> veri_code</span><span style="color:#D4D4D4;"> += </span><span style="color:#4EC9B0;">i32</span><span style="color:#D4D4D4;">::</span><span style="color:#DCDCAA;">from_str_radix</span><span style="color:#D4D4D4;">(</span><span style="color:#9CDCFE;">fp_raw_sub_str</span><span style="color:#D4D4D4;">[</span><span style="color:#9CDCFE;">i</span><span style="color:#D4D4D4;">], </span><span style="color:#B5CEA8;">16</span><span style="color:#D4D4D4;">).</span><span style="color:#DCDCAA;">unwrap_or</span><span style="color:#D4D4D4;">(</span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">);</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span>
<span class="line"><span style="color:#6A9955;">// 最后将 veri_code 对 256 取余, 格式化为两位的 16 进制字符串</span></span>
<span class="line"><span style="color:#569CD6;">let</span><span style="color:#9CDCFE;"> veri_code</span><span style="color:#D4D4D4;"> = </span><span style="color:#DCDCAA;">format!</span><span style="color:#D4D4D4;">(</span><span style="color:#CE9178;">&quot;{:0&gt;2x}&quot;</span><span style="color:#D4D4D4;">, </span><span style="color:#9CDCFE;">veri_code</span><span style="color:#D4D4D4;"> % </span><span style="color:#B5CEA8;">256</span><span style="color:#D4D4D4;">);</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="demo-1" tabindex="-1"><a class="header-anchor" href="#demo-1"><span>Demo</span></a></h3><h4 id="rust-1" tabindex="-1"><a class="header-anchor" href="#rust-1"><span>Rust</span></a></h4><p>代码及测试样例见 <a href="https://play.rust-lang.org/?version=stable&amp;mode=debug&amp;edition=2021&amp;gist=40b5906cf3838a60efa83fa368b15147" target="_blank" rel="noopener noreferrer">Rust Playground</a>.</p><h2 id="附录" tabindex="-1"><a class="header-anchor" href="#附录"><span>附录</span></a></h2><h3 id="buvid-prefix" tabindex="-1"><a class="header-anchor" href="#buvid-prefix"><span>BUVID Prefix</span></a></h3><table><thead><tr><th style="text-align:center;">设备特征码</th><th style="text-align:center;">BUVID Prefix</th><th style="text-align:center;">备注</th></tr></thead><tbody><tr><td style="text-align:center;"><code>AndroidID</code></td><td style="text-align:center;"><code>XX</code></td><td style="text-align:center;"></td></tr><tr><td style="text-align:center;"><code>DrmId</code></td><td style="text-align:center;"><code>XU</code></td><td style="text-align:center;"></td></tr><tr><td style="text-align:center;"><code>IMEI</code></td><td style="text-align:center;"><code>XZ</code></td><td style="text-align:center;">已弃用</td></tr><tr><td style="text-align:center;"><code>GUID</code></td><td style="text-align:center;"><code>XW</code></td><td style="text-align:center;">已弃用</td></tr><tr><td style="text-align:center;"><code>MAC</code></td><td style="text-align:center;"><code>XY</code></td><td style="text-align:center;"></td></tr><tr><td style="text-align:center;"><code>GoogleId</code></td><td style="text-align:center;"><code>XG</code></td><td style="text-align:center;">东南亚版本</td></tr><tr><td style="text-align:center;"><code>FacebookId</code></td><td style="text-align:center;"><code>XF</code></td><td style="text-align:center;">东南亚版本</td></tr></tbody></table>`,21))])}const m=l(i,[["render",D]]),C=JSON.parse('{"path":"/docs/misc/device_identity.html","title":"设备各类标识算法(APP 端)","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1721909032000,"contributors":[{"name":"cxw620","username":"cxw620","email":"70561268+cxw620@users.noreply.github.com","commits":1,"url":"https://github.com/cxw620"},{"name":"SessionHu","username":"SessionHu","email":"102411014+SessionHu@users.noreply.github.com","commits":1,"url":"https://github.com/SessionHu"}],"changelog":[{"hash":"18c1efbc102ae6b44c8f5314c90e5e64f0d926cd","time":1721909032000,"email":"102411014+SessionHu@users.noreply.github.com","author":"Session小胡","message":"feat: bili_ticket 算法 Java 实现 及 信息补充 及 错误修正 (#1061)"},{"hash":"f5263d04570c9dcd1d1554a0c67651c532fe1b6a","time":1689310001000,"email":"70561268+cxw620@users.noreply.github.com","author":"陈寒彤","message":"add grpc docs (#741)"}]},"filePathRelative":"docs/misc/device_identity.md"}');export{m as comp,C as data};
-1
View File
@@ -1 +0,0 @@
const c="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20fill='%231497C7'%20d='M512,0C366.7,3.3,245.8,53.2,149.5,149.5S3.3,366.7,0,512c3.3,145.3,53.2,266.2,149.5,362.5%20S366.7,1020.7,512,1024c145.3-3.3,266.2-53.2,362.5-149.5S1020.7,657.3,1024,512c-3.3-145.3-53.2-266.2-149.5-362.5S657.3,3.3,512,0%20z%20M326,463c4-4,8.7-6,14-6h81V311c0-10.7,7.3-18,18-18h146c10.7,0,18,7.3,18,18v146h81c17.3,1.3,23.7,20,13,32L524,647%20c-6.7,6.7-17.3,6.7-24,0L327,489C320.3,482.3,319.3,471,326,463z%20M713,731c0,10.7-8.7,19-18,19H329c-9.3,0-18-8.3-18-19v-36%20c0-10.7,7.3-18,18-18h366c10.7,0,18,7.3,18,18V731z'/%3e%3c/svg%3e";export{c as _};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
import{_ as d,c as r,a as e,o as a}from"./app-Dgsdh8A6.js";const i={};function c(s,t){return a(),r("div",null,t[0]||(t[0]=[e('<h1 id="公共错误码" tabindex="-1"><a class="header-anchor" href="#公共错误码"><span>公共错误码</span></a></h1><p>下表为大部分接口返回值中<code>code</code>字段值中公共的错误代码</p><h2 id="权限类" tabindex="-1"><a class="header-anchor" href="#权限类"><span>权限类</span></a></h2><table><thead><tr><th>代码</th><th>含义</th></tr></thead><tbody><tr><td>-1</td><td>应用程序不存在或已被封禁</td></tr><tr><td>-2</td><td>Access Key 错误</td></tr><tr><td>-3</td><td>API 校验密匙错误</td></tr><tr><td>-4</td><td>调用方对该 Method 没有权限</td></tr><tr><td>-101</td><td>账号未登录</td></tr><tr><td>-102</td><td>账号被封停</td></tr><tr><td>-103</td><td>积分不足</td></tr><tr><td>-104</td><td>硬币不足</td></tr><tr><td>-105</td><td>验证码错误</td></tr><tr><td>-106</td><td>账号非正式会员或在适应期</td></tr><tr><td>-107</td><td>应用不存在或者被封禁</td></tr><tr><td>-108</td><td>未绑定手机</td></tr><tr><td>-110</td><td>未绑定手机</td></tr><tr><td>-111</td><td>csrf 校验失败</td></tr><tr><td>-112</td><td>系统升级中</td></tr><tr><td>-113</td><td>账号尚未实名认证</td></tr><tr><td>-114</td><td>请先绑定手机</td></tr><tr><td>-115</td><td>请先完成实名认证</td></tr></tbody></table><h2 id="请求类" tabindex="-1"><a class="header-anchor" href="#请求类"><span>请求类</span></a></h2><table><thead><tr><th>代码</th><th>含义</th></tr></thead><tbody><tr><td>-304</td><td>木有改动</td></tr><tr><td>-307</td><td>撞车跳转</td></tr><tr><td>-352</td><td>风控校验失败 (UA 或 wbi 参数不合法)</td></tr><tr><td>-400</td><td>请求错误</td></tr><tr><td>-401</td><td>未认证 (或非法请求)</td></tr><tr><td>-403</td><td>访问权限不足</td></tr><tr><td>-404</td><td>啥都木有</td></tr><tr><td>-405</td><td>不支持该方法</td></tr><tr><td>-409</td><td>冲突</td></tr><tr><td>-412</td><td>请求被拦截 (客户端 ip 被服务端风控)</td></tr><tr><td>-500</td><td>服务器错误</td></tr><tr><td>-503</td><td>过载保护,服务暂不可用</td></tr><tr><td>-504</td><td>服务调用超时</td></tr><tr><td>-509</td><td>超出限制</td></tr><tr><td>-616</td><td>上传文件不存在</td></tr><tr><td>-617</td><td>上传文件太大</td></tr><tr><td>-625</td><td>登录失败次数太多</td></tr><tr><td>-626</td><td>用户不存在</td></tr><tr><td>-628</td><td>密码太弱</td></tr><tr><td>-629</td><td>用户名或密码错误</td></tr><tr><td>-632</td><td>操作对象数量限制</td></tr><tr><td>-643</td><td>被锁定</td></tr><tr><td>-650</td><td>用户等级太低</td></tr><tr><td>-652</td><td>重复的用户</td></tr><tr><td>-658</td><td>Token 过期</td></tr><tr><td>-662</td><td>密码时间戳过期</td></tr><tr><td>-688</td><td>地理区域限制</td></tr><tr><td>-689</td><td>版权限制</td></tr><tr><td>-701</td><td>扣节操失败</td></tr><tr><td>-799</td><td>请求过于频繁,请稍后再试</td></tr><tr><td>-8888</td><td>对不起,服务器开小差了~ (ಥ﹏ಥ)</td></tr></tbody></table>',6)]))}const h=d(i,[["render",c]]),m=JSON.parse('{"path":"/docs/misc/errcode.html","title":"公共错误码","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1712675777000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":4,"url":"https://github.com/SocialSisterYi"},{"name":"wuziqian211","username":"wuziqian211","email":"65224318+wuziqian211@users.noreply.github.com","commits":1,"url":"https://github.com/wuziqian211"}],"changelog":[{"hash":"860fb3dc2aab83f56e4c702bbea9bad80346fb8c","time":1712675777000,"email":"65224318+wuziqian211@users.noreply.github.com","author":"wuziqian211","message":"Fix #994 (#997)"},{"hash":"252178292b943640e4943df4c12e6a0999216c02","time":1685074429000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"update【用户信息】【用户投稿视频】APIDoc"},{"hash":"05ac3d5e2a9e28be3bf129ae8c78ffdbebaa161c","time":1684805901000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"添加文档【Wbi 接口签名】,修改目录结构"},{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/misc/errcode.md"}');export{h as comp,m as data};
-11
View File
@@ -1,11 +0,0 @@
import{_ as s,c as e,a,o}from"./app-Dgsdh8A6.js";const l={};function n(d,t){return o(),e("div",null,t[0]||(t[0]=[a(`<h1 id="退出账号登录" tabindex="-1"><a class="header-anchor" href="#退出账号登录"><span>退出账号登录</span></a></h1><h2 id="退出登录-web端" tabindex="-1"><a class="header-anchor" href="#退出登录-web端"><span>退出登录(web端)</span></a></h2><blockquote><p>https://passport.bilibili.com/login/exit/v2</p></blockquote><p><em>请求方式:POST</em></p><p>认证方式:Cookie</p><p>验证登录成功后会使用<code>set-cookie</code>字段清空以下 cookie 项:</p><p><code>DedeUserID</code> <code>DedeUserID__ckMd5</code> <code>SESSDATA</code> <code>bili_jct</code></p><p>并在服务器注销该登录 Token (SESSDATA),该 Token 即失效</p><p>请求必须包含以下cookie项:<code>DedeUserID</code> <code>bili_jct</code> <code>SESSDATA</code></p><p><strong>正文参数 (application/x-www-form-urlencoded)</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>biliCSRF</td><td>str</td><td>CSRF Token (位于 cookie 中的 <code>bili_jct</code>)</td><td>必要</td><td></td></tr><tr><td>gourl</td><td>str</td><td>成功后跳转到的页面</td><td>非必要</td><td>默认为<code>javascript:history.go(-1)</code></td></tr></tbody></table><p><strong>json 回复:</strong></p><p>如果 cookie 已经失效则输出登录页 html</p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功 <br>2202csrf 请求非法</td></tr><tr><td>status</td><td>bool</td><td>返回值</td><td><code>true</code>:成功</td></tr><tr><td>ts</td><td>num</td><td>时间戳</td><td></td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>成功时不存在</td></tr><tr><td>data</td><td>有效时:obj</td><td>信息本体</td><td>失败时不存在</td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>redirectUrl</td><td>str</td><td>重定向 url</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -L</span><span style="color:#569CD6;"> -X</span><span style="color:#CE9178;"> POST</span><span style="color:#CE9178;"> &#39;https://passport.bilibili.com/login/exit/v2&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-H </span><span style="color:#CE9178;">&#39;Cookie: DedeUserID=xxx; bili_jct=xxx; SESSDATA=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-H </span><span style="color:#CE9178;">&#39;Content-Type: application/x-www-form-urlencoded&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;biliCSRF=xxxxxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;status&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">true</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ts&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1663034005</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;redirectUrl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://passport.biligame.com/crossDomain?DedeUserID=&amp;DedeUserID__ckMd5=&amp;SESSDATA=&amp;bili_jct=&amp;gourl=javascript%3Ahistory.go%28-1%29&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,20)]))}const c=s(l,[["render",n]]),i=JSON.parse('{"path":"/docs/login/exit.html","title":"退出账号登录","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1677124138000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"}],"changelog":[{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/login/exit.md"}');export{c as comp,i as data};
-1
View File
@@ -1 +0,0 @@
const c="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M250,767.13v-551h4l154-189c33.33-33.33,86-36.67,122-6c18.67,18.67,30.67,43,28,71l-6,124h235%20c29.33,0,56.33,13,75,37c16,22.67,19.67,52.67,13,78l-100,328c-17.33,62.67-68.33,104-135,108H250z%20M193,767.13h-80%20c-61.82,4.12-110.87-48.32-113-108v-331c0-41.33,21-77.33,57-96c18.67-9.33,37.33-13.33,56-16h80V767.13z'%20fill='%23FB7299'/%3e%3c/svg%3e",s="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M472,244h119c47.06,0,47.06-65,0-65H281c-45.49,0-45.49,65,0,65h125v60c-112,8-192,93-196,205v44%20c3.12,40.52,62.97,42.37,66,0v-44c1.33-74.67,55.33-133.33,130-140v305c2.98,41.69,63.02,41.69,66,0V369%20c74.67,6.67,128.67,65.33,130,140v44c0,41.73,65,41.73,65,0v-44c-2.67-112-82.67-197-196-205v-60H472z%20M439,878%20c-124-3.33-227.33-46.33-310-129S3.33,563,0,439c3.33-124,46.33-227.33,129-310S315,3.33,439,0c124,3.33,227.33,46.33,310,129%20s125.67,186,129,310c-3.33,124-46.33,227.33-129,310S563,874.67,439,878z'%20fill='%23FB7299'/%3e%3c/svg%3e",l="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M661.53,260c-42.67-6.67-77.67-33.33-95-72l-72-151c-25.33-49.33-86.67-49.33-116,0l-68,151%20c-20,38.67-53.67,65.33-95,72l-162,25c-52,10.67-71,65.67-35,107l122,126c29.33,28,40.33,68.67,35,110l-28,175%20c-6.67,56,43.33,90,94,66l137-75c38.67-22.67,84.33-22.67,123,0l138,75c49.33,24,96.67-10,94-66l-32-175c-5.33-41.33,5.67-82,35-110%20l122-126c36-41.33,17-96.33-35-107L661.53,260z'%20fill='%23FB7299'/%3e%3c/svg%3e";export{c as _,s as a,l as b};
File diff suppressed because one or more lines are too long
-109
View File
@@ -1,109 +0,0 @@
import{_ as t,c as e,a as l,b as s,d as a,e as p,w as r,r as c,o as i}from"./app-Dgsdh8A6.js";const d={};function D(u,n){const o=c("RouteLink");return i(),e("div",null,[n[17]||(n[17]=l('<h1 id="拉取题目" tabindex="-1"><a class="header-anchor" href="#拉取题目"><span>拉取题目</span></a></h1><h2 id="拉取基础题" tabindex="-1"><a class="header-anchor" href="#拉取基础题"><span>拉取基础题</span></a></h2><blockquote><p>https://api.bilibili.com/x/answer/v4/base</p></blockquote><p><em>请求方式:GET</em></p><p>认证方式:Cookie或APP</p><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>41014:答题过快或错误太多<br>41020:用户基础题已通过<br>41023:用户答题记录不存在</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>question</td><td>obj</td><td>题目内容</td><td></td></tr></tbody></table><p><code>data</code>中的<code>question</code>对象:</p>',11)),s("table",null,[n[16]||(n[16]=s("thead",null,[s("tr",null,[s("th",null,"字段"),s("th",null,"类型"),s("th",null,"内容"),s("th",null,"备注")])],-1)),s("tbody",null,[n[7]||(n[7]=s("tr",null,[s("td",null,"id"),s("td",null,"num"),s("td",null,"问题id"),s("td",null,[s("strong",null,"问题id不代表题图,因为选项是打乱的")])],-1)),n[8]||(n[8]=s("tr",null,[s("td",null,"number"),s("td",null,"num"),s("td",null,"当前题号"),s("td")],-1)),n[9]||(n[9]=s("tr",null,[s("td",null,"q_height"),s("td",null,"num"),s("td",null,"问题部分总高度"),s("td")],-1)),n[10]||(n[10]=s("tr",null,[s("td",null,"q_coord_y"),s("td",null,"num"),s("td",null,"问题部分Y裁剪起始"),s("td",null,"当然是0")],-1)),n[11]||(n[11]=s("tr",null,[s("td",null,"image"),s("td",null,"str"),s("td",null,"题图url"),s("td",null,"题目文字+所有的选项文字排版成一张图,存储在bfs中")],-1)),n[12]||(n[12]=s("tr",null,[s("td",null,"from"),s("td",null,"str"),s("td",null,"问题来源页面url"),s("td",null,"如:“xx弹幕是否违规”所在的视频页")],-1)),n[13]||(n[13]=s("tr",null,[s("td",null,"options"),s("td",null,"array"),s("td",null,"选项列表"),s("td")],-1)),s("tr",null,[n[4]||(n[4]=s("td",null,"type_id",-1)),n[5]||(n[5]=s("td",null,"num",-1)),n[6]||(n[6]=s("td",null,"题目父类型id",-1)),s("td",null,[n[1]||(n[1]=a("见")),p(o,{to:"/docs/newbie_exam/info.html#%E6%9F%A5%E8%AF%A2%E8%87%AA%E9%80%89%E9%A2%98%E5%88%86%E7%B1%BB"},{default:r(()=>n[0]||(n[0]=[a("查询自选题分类")])),_:1,__:[0]}),n[2]||(n[2]=s("br",null,null,-1)),n[3]||(n[3]=s("strong",null,"注:36为基础题",-1))])]),n[14]||(n[14]=s("tr",null,[s("td",null,"type_name"),s("td",null,"str"),s("td",null,"分院小电视提示文案"),s("td",null,"如:xx小电视")],-1)),n[15]||(n[15]=s("tr",null,[s("td",null,"type_image"),s("td",null,"str"),s("td",null,"分院小电视图标url"),s("td")],-1))])]),n[18]||(n[18]=l(`<p><code>question</code>中的<code>options</code>数组:</p><table><thead><tr><th>项</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>0</td><td>obj</td><td>选项A</td><td></td></tr><tr><td>1</td><td>obj</td><td>选项B</td><td>选项至少2个</td></tr><tr><td>2</td><td>obj</td><td>选项C</td><td>数组长度取决于选项个数</td></tr><tr><td>3</td><td>obj</td><td>选项D</td><td></td></tr></tbody></table><p><code>question</code>中的<code>options</code>数组中的对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>number</td><td>num</td><td>选项序号</td><td>如:1为A 2为B</td></tr><tr><td>high</td><td>num</td><td>选项部分总高度</td><td></td></tr><tr><td>coord_y</td><td>num</td><td>选项部分Y裁剪起始</td><td></td></tr><tr><td>hash</td><td>str</td><td>选项hash</td><td>作为提交对应选项时应传参</td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/answer/v4/base&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;question&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;id&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">6511</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;number&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;q_height&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">38.4</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;q_coord_y&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;image&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://i0.hdslb.com/bfs/member/9d7f1f1f0b7478a621d1b998a5a98982.png&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;from&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;options&quot;</span><span style="color:#D4D4D4;">: [</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;number&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;high&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">42</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;coord_y&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">38.4</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;hash&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;f7619d6c2040d44f39dc87a7aa34fb9e&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;number&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;high&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">42</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;coord_y&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">80.4</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;hash&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;dce5140040f40ca4030783585684369d&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> ],</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type_id&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">36</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type_name&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;小电视校长&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type_image&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://i0.hdslb.com/bfs/face/7b67c0c0da64a6ab059ff49bb0d4b92988b91806.png&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="拉取附加题" tabindex="-1"><a class="header-anchor" href="#拉取附加题"><span>拉取附加题</span></a></h2><blockquote><p>https://api.bilibili.com/x/answer/v4/extra</p></blockquote><p><em>请求方式:GET</em></p><p>认证方式:Cookie或APP</p><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>41014:答题过快或错误太多<br>41021:用户基础题未通过<br>41023:用户答题记录不存在<br>41054:用户附加题已通过</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><p>同<a href="#%E6%8B%89%E5%8F%96%E5%9F%BA%E7%A1%80%E9%A2%98">拉取基础题</a>的<code>data</code>对象</p><p><strong>示例:</strong></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/answer/v4/extra&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;question&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;id&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">11492</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;number&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">44</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;q_height&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">76.8</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;q_coord_y&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;image&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://i0.hdslb.com/bfs/member/b6c846613bd0b44cd7c8af1d83e3f0c2.png&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;from&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://www.bilibili.com/video/av14659093&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;options&quot;</span><span style="color:#D4D4D4;">: [</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;number&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;high&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">42</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;coord_y&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">76.8</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;hash&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;ca15e6009047cf82358c50ab90fd8d9e&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;number&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;high&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">42</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;coord_y&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">118.8</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;hash&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;60e86a1c736c68da3462f66377e4e8ca&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> ],</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type_id&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">36</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type_name&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;小电视校长&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type_image&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://i0.hdslb.com/bfs/face/7b67c0c0da64a6ab059ff49bb0d4b92988b91806.png&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="拉取自选题" tabindex="-1"><a class="header-anchor" href="#拉取自选题"><span>拉取自选题</span></a></h2><blockquote><p>https://api.bilibili.com/x/answer/v4/pro</p></blockquote><p><em>请求方式:GET</em></p><p>认证方式:Cookie或APP</p><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-101:账号未登录<br>41014:答题过快或错误太多<br>41021:用户基础题未通过<br>41023:用户答题记录不存在<br>41051:用户答题验证码未通过<br>41055:基础附加题未通过</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>obj</td><td>信息本体</td><td></td></tr></tbody></table><p><code>data</code>对象:</p><p>同<a href="#%E6%8B%89%E5%8F%96%E5%9F%BA%E7%A1%80%E9%A2%98">拉取基础题</a>的<code>data</code>对象</p><p><strong>示例:</strong></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/answer/v4/pro&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;question&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;id&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">824</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;number&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">54</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;q_height&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">38.4</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;q_coord_y&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;image&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://i0.hdslb.com/bfs/member/417e02be5652f79d0312fa2fcee28869.png&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;from&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;options&quot;</span><span style="color:#D4D4D4;">: [</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;number&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;high&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">42</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;coord_y&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">38.4</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;hash&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;c4574c23cf728c19abeab3e7525258d4&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;number&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;high&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">42</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;coord_y&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">80.4</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;hash&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;ffd48760758fbb8a2c183d1d04f692f8&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;number&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">3</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;high&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">42</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;coord_y&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">122.4</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;hash&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;898d414dff49fe20c4a1da1e148fadb2&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> },</span></span>
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;number&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">4</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;high&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">42</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;coord_y&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">164.4</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;hash&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;09018443f09d8ef4f6fec5e96e082270&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> ],</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type_id&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type_name&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;游戏小电视&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;type_image&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;https://i0.hdslb.com/bfs/face/6590bee26086fed66ee7cc5bac26a32d2f733037.png&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,31))])}const b=t(d,[["render",D]]),v=JSON.parse('{"path":"/docs/newbie_exam/fetch.html","title":"拉取题目","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1677124138000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"}],"changelog":[{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/newbie_exam/fetch.md"}');export{b as comp,v as data};
-23
View File
@@ -1,23 +0,0 @@
import{_ as t,c as a,a as l,o as n}from"./app-Dgsdh8A6.js";const e={};function o(d,s){return n(),a("div",null,s[0]||(s[0]=[l(`<h1 id="追番相关" tabindex="-1"><a class="header-anchor" href="#追番相关"><span>追番相关</span></a></h1><h2 id="追番" tabindex="-1"><a class="header-anchor" href="#追番"><span>追番</span></a></h2><blockquote><p>https://api.bilibili.com/pgc/web/follow/add</p></blockquote><p><em>请求方式:POST</em></p><p>鉴权方式:CookieSESSDATA</p><p><strong>url参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>season_id</td><td>str</td><td>剧集ssid</td><td>必要</td><td></td></tr><tr><td>csrf</td><td>str</td><td>csrf token(位于cookies中的bili_jct)</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-111csrf校验失败</td></tr><tr><td>message</td><td>str</td><td>信息</td><td>成功时:success</td></tr><tr><td>result</td><td>obj</td><td>见下表</td><td></td></tr></tbody></table><p>根对象中的<code>result</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>fmid</td><td>num</td><td>0</td><td></td></tr><tr><td>relation</td><td>bool</td><td>false</td><td></td></tr><tr><td>status</td><td>num</td><td>2</td><td></td></tr><tr><td>toast</td><td>str</td><td>自己追的番就要好好看完哟^o^</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>追番<code>ssid=41410</code>的番剧</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/pgc/web/follow/add&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;season_id=41410&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;success&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;result&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;fmid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;relation&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">false</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;status&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;toast&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;自己追的番就要好好看完哟^o^&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="取消追番" tabindex="-1"><a class="header-anchor" href="#取消追番"><span>取消追番</span></a></h2><blockquote><p>https://api.bilibili.com/pgc/web/follow/del</p></blockquote><p><em>请求方式:POST</em></p><p>鉴权方式:CookieSESSDATA</p><p><strong>url参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>season_id</td><td>str</td><td>剧集ssid</td><td>必要</td><td></td></tr><tr><td>csrf</td><td>str</td><td>csrf token(位于cookies中的bili_jct)</td><td>必要</td><td></td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-111csrf校验失败</td></tr><tr><td>message</td><td>str</td><td>信息</td><td>成功时:success</td></tr><tr><td>result</td><td>obj</td><td>见下表</td><td></td></tr></tbody></table><p>根对象中的<code>result</code>对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>fmid</td><td>num</td><td>0</td><td></td></tr><tr><td>relation</td><td>bool</td><td>true</td><td></td></tr><tr><td>status</td><td>num</td><td>0</td><td></td></tr><tr><td>toast</td><td>str</td><td>已取消追番</td><td></td></tr></tbody></table><p><strong>示例:</strong></p><p>取消<code>ssid=41410</code>的追番</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/pgc/web/follow/del&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;season_id=41410&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;csrf=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;success&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;result&quot;</span><span style="color:#D4D4D4;">: {</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;fmid&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;relation&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">false</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;status&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;toast&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;已取消追番&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,31)]))}const p=t(e,[["render",o]]),c=JSON.parse('{"path":"/docs/bangumi/follow.html","title":"追番相关","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1677124138000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"}],"changelog":[{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/bangumi/follow.md"}');export{p as comp,c as data};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-89
View File
@@ -1,89 +0,0 @@
import{_ as e,c as r,a as l,b as n,d as a,e as p,w as t,r as c,o as i}from"./app-Dgsdh8A6.js";const d={};function D(y,s){const o=c("RouteLink");return i(),r("div",null,[s[10]||(s[10]=l(`<h1 id="历史弹幕" tabindex="-1"><a class="header-anchor" href="#历史弹幕"><span>历史弹幕</span></a></h1><p><strong>注:历史弹幕的xml接口已经失效,现已改为protobuf接口</strong></p><h2 id="查询历史弹幕日期" tabindex="-1"><a class="header-anchor" href="#查询历史弹幕日期"><span>查询历史弹幕日期</span></a></h2><blockquote><p>https://api.bilibili.com/x/v2/dm/history/index</p></blockquote><p><em>请求方式:GET</em></p><p>认证方式:CookieSESSDATA</p><p><strong>注:查询历史弹幕需要登录</strong></p><p><strong>url参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>type</td><td>num</td><td>1</td><td>必要</td><td></td></tr><tr><td>oid</td><td>num</td><td>视频cid</td><td>必要</td><td></td></tr><tr><td>month</td><td>str</td><td>查询目标年月</td><td>必要</td><td>YYYY-MM</td></tr></tbody></table><p><strong>json回复:</strong></p><p>根对象:</p><table><thead><tr><th>字段</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>code</td><td>num</td><td>返回值</td><td>0:成功<br>-400:请求错误<br>-101:账号未登录</td></tr><tr><td>message</td><td>str</td><td>错误信息</td><td>默认为0</td></tr><tr><td>ttl</td><td>num</td><td>1</td><td></td></tr><tr><td>data</td><td>有弹幕:array<br>无弹幕:null</td><td>日期列表</td><td></td></tr></tbody></table><p><code>data</code>数组:</p><table><thead><tr><th>项</th><th>类型</th><th>内容</th><th>备注</th></tr></thead><tbody><tr><td>0</td><td>str</td><td>存在弹幕的日期1</td><td>YYYY-MM-DD</td></tr><tr><td>n</td><td>str</td><td>存在弹幕的日期(n+1)</td><td>YYYY-MM-DD</td></tr><tr><td>……</td><td>str</td><td>……</td><td>……</td></tr></tbody></table><p><strong>示例:</strong></p><p>查询了cid为144541892的视频位于2020年1月中有历史弹幕记录的日期</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/v2/dm/history/index&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;type=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;oid=144541892&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;month=2020-01&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: [</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;2020-01-21&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;2020-01-22&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;2020-01-23&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;2020-01-24&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;2020-01-25&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;2020-01-26&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;2020-01-27&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;2020-01-28&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;2020-01-29&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;2020-01-30&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#CE9178;"> &quot;2020-01-31&quot;</span></span>
<span class="line"><span style="color:#D4D4D4;"> ]</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><p>返回结果的 <code>data</code> 项说明这些日期有弹幕发送。若查询的月份中视频无弹幕,则 <code>data</code> 项为 <code>null</code></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/v2/dm/history/index&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;type=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;oid=144541892&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;month=2019-12&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;code&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;message&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">&quot;0&quot;</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;ttl&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">,</span></span>
<span class="line"><span style="color:#9CDCFE;"> &quot;data&quot;</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">null</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="获取历史弹幕protobuf接口" tabindex="-1"><a class="header-anchor" href="#获取历史弹幕protobuf接口"><span>获取历史弹幕protobuf接口</span></a></h2><blockquote><p>https://api.bilibili.com/x/v2/dm/web/history/seg.so</p></blockquote><p><em>请求方式:GET</em></p><p>认证方式:CookieSESSDATA</p><p><strong>url参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>type</td><td>num</td><td>弹幕类</td><td>必要</td><td>1:视频弹幕</td></tr><tr><td>oid</td><td>num</td><td>视频cid</td><td>必要</td><td></td></tr><tr><td>date</td><td>str</td><td>弹幕日期</td><td>必要</td><td>YYYY-MM-DD</td></tr></tbody></table><p><strong>proto回复:</strong></p><p>porto定义见:<a href="https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/grpc_api/bilibili/community/service/dm/v1/dm.proto" target="_blank" rel="noopener noreferrer">bilibili.community.service.dm.v1.DmSegMobileReply</a></p>`,29)),n("p",null,[s[1]||(s[1]=a("详细说明见")),p(o,{to:"/docs/danmaku/danmaku_proto.html"},{default:t(()=>s[0]||(s[0]=[a("protobuf弹幕")])),_:1,__:[0]})]),s[11]||(s[11]=l(`<p>获取视频<code>av84271171(cid=144541892)</code>2020-01-21的历史弹幕</p><p><strong>注:proto定义需要编译</strong></p><div class="language-python line-numbers-mode" data-highlighter="shiki" data-ext="python" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-python"><span class="line"><span style="color:#C586C0;">import</span><span style="color:#D4D4D4;"> requests</span></span>
<span class="line"><span style="color:#C586C0;">import</span><span style="color:#D4D4D4;"> google.protobuf.text_format </span><span style="color:#C586C0;">as</span><span style="color:#D4D4D4;"> text_format</span></span>
<span class="line"><span style="color:#C586C0;">import</span><span style="color:#D4D4D4;"> bilibili.community.service.dm.v1_pb2 </span><span style="color:#C586C0;">as</span><span style="color:#D4D4D4;"> Danmaku</span></span>
<span class="line"></span>
<span class="line"><span style="color:#D4D4D4;">url = </span><span style="color:#CE9178;">&#39;https://api.bilibili.com/x/v2/dm/web/history/seg.so&#39;</span></span>
<span class="line"><span style="color:#D4D4D4;">params = {</span></span>
<span class="line"><span style="color:#CE9178;"> &#39;type&#39;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">, </span><span style="color:#6A9955;">#弹幕类型</span></span>
<span class="line"><span style="color:#CE9178;"> &#39;oid&#39;</span><span style="color:#D4D4D4;">:</span><span style="color:#B5CEA8;">144541892</span><span style="color:#D4D4D4;">, </span><span style="color:#6A9955;">#cid</span></span>
<span class="line"><span style="color:#CE9178;"> &#39;date&#39;</span><span style="color:#D4D4D4;">:</span><span style="color:#CE9178;">&#39;2020-01-21&#39;</span><span style="color:#6A9955;"> #弹幕日期</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span>
<span class="line"><span style="color:#D4D4D4;">cookies = {</span></span>
<span class="line"><span style="color:#CE9178;"> &#39;SESSDATA&#39;</span><span style="color:#D4D4D4;">:</span><span style="color:#CE9178;">&#39;xxx&#39;</span></span>
<span class="line"><span style="color:#D4D4D4;">}</span></span>
<span class="line"><span style="color:#D4D4D4;">resp = requests.get(url,params,</span><span style="color:#9CDCFE;">cookies</span><span style="color:#D4D4D4;">=cookies)</span></span>
<span class="line"><span style="color:#D4D4D4;">data = resp.content</span></span>
<span class="line"></span>
<span class="line"><span style="color:#D4D4D4;">danmaku_seg = Danmaku.DmSegMobileReply()</span></span>
<span class="line"><span style="color:#D4D4D4;">danmaku_seg.ParseFromString(data)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#DCDCAA;">print</span><span style="color:#D4D4D4;">(text_format.MessageToString(danmaku_seg.elems[</span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">],</span><span style="color:#9CDCFE;">as_utf8</span><span style="color:#D4D4D4;">=</span><span style="color:#569CD6;">True</span><span style="color:#D4D4D4;">))</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>输出:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-"><span class="line"><span>id: 27532611677585408</span></span>
<span class="line"><span>progress: 300507</span></span>
<span class="line"><span>mode: 1</span></span>
<span class="line"><span>fontsize: 25</span></span>
<span class="line"><span>color: 16777215</span></span>
<span class="line"><span>midHash: &quot;2a28d4a6&quot;</span></span>
<span class="line"><span>content: &quot;章北海的老爹&quot;</span></span>
<span class="line"><span>ctime: 1579621359</span></span>
<span class="line"><span>idStr: &quot;27532611677585408&quot;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="获取历史弹幕xml接口" tabindex="-1"><a class="header-anchor" href="#获取历史弹幕xml接口"><span>获取历史弹幕xml接口</span></a></h2>`,6)),n("details",null,[s[4]||(s[4]=n("summary",null,"查看折叠内容:",-1)),s[5]||(s[5]=n("blockquote",null,[n("p",null,"https://api.bilibili.com/x/v2/dm/history")],-1)),s[6]||(s[6]=n("p",null,[n("em",null,"请求方式:GET")],-1)),s[7]||(s[7]=n("p",null,"认证方式:CookieSESSDATA",-1)),s[8]||(s[8]=n("p",null,[n("strong",null,"注:查询历史弹幕需要登录")],-1)),n("p",null,[s[3]||(s[3]=a("结果为")),p(o,{to:"/docs/danmaku/danmaku_xml.html#%E5%BC%B9%E5%B9%95%E6%A0%BC%E5%BC%8F"},{default:t(()=>s[2]||(s[2]=[a("标准xml格式弹幕")])),_:1,__:[2]})]),s[9]||(s[9]=l(`<p><strong>使用deflate压缩,注意解码</strong></p><p><strong>url参数:</strong></p><table><thead><tr><th>参数名</th><th>类型</th><th>内容</th><th>必要性</th><th>备注</th></tr></thead><tbody><tr><td>type</td><td>num</td><td>1</td><td>必要</td><td></td></tr><tr><td>oid</td><td>num</td><td>视频cid</td><td>必要</td><td></td></tr><tr><td>date</td><td>str</td><td>弹幕日期</td><td>必要</td><td>YYYY-MM-DD</td></tr></tbody></table><p><strong>示例:</strong></p><p>获取视频<code>av84271171(cid=144541892)</code>2020-01-21的历史弹幕</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">curl</span><span style="color:#569CD6;"> -G</span><span style="color:#CE9178;"> &#39;https://api.bilibili.com/x/v2/dm/history&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;type=1&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;oid=144541892&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">&#39;date=2020-01-21&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">&#39;SESSDATA=xxx&#39;</span><span style="color:#D7BA7D;"> \\</span></span>
<span class="line"><span style="color:#D4D4D4;">--compressed </span><span style="color:#569CD6;">-o</span><span style="color:#CE9178;"> &#39;danmaku.xml&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><details><summary>查看响应示例:</summary><div class="language-xml line-numbers-mode" data-highlighter="shiki" data-ext="xml" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-xml"><span class="line"><span style="color:#808080;">&lt;?</span><span style="color:#569CD6;">xml</span><span style="color:#9CDCFE;"> version</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;1.0&quot;</span><span style="color:#9CDCFE;"> encoding</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;UTF-8&quot;</span><span style="color:#808080;">?&gt;</span></span>
<span class="line"><span style="color:#808080;">&lt;</span><span style="color:#569CD6;">i</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">chatserver</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">chat.bilibili.com</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">chatserver</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">chatid</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">144541892</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">chatid</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">mission</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">0</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">mission</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">maxlimit</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">1500</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">maxlimit</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">state</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">0</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">state</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">real_name</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">0</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">real_name</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">d</span><span style="color:#9CDCFE;"> p</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;473.43400,1,25,15138834,1579622380,0,ec16f2d,27532609919123456&quot;</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">敬礼</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">d</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">d</span><span style="color:#9CDCFE;"> p</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;3.10200,1,25,16777215,1579622362,0,a2bd7474,27532609920696320&quot;</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">悄默声的更新啊怎么</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">d</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">d</span><span style="color:#9CDCFE;"> p</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;17.52300,1,25,16777215,1579622357,0,972c932b,27532609906016258&quot;</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">久等了</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">d</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">d</span><span style="color:#9CDCFE;"> p</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;40.81800,1,25,16777215,1579622343,0,bbca6701,27532609906540546&quot;</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">不都是乱纪元才浸泡</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">d</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">d</span><span style="color:#9CDCFE;"> p</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;243.39800,1,25,15138834,1579622336,0,77b00ed9,27532609924890624&quot;</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">已阅,狗屁不通。大字报在地上搞搞就行,别弄到天上去</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">d</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">d</span><span style="color:#9CDCFE;"> p</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;559.80000,1,25,16777215,1579622334,0,9affc7f5,27532609909686274&quot;</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">CSSC。。。</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">d</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">d</span><span style="color:#9CDCFE;"> p</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;398.29700,1,25,16777215,1579622331,0,18d4707,27532609926463488&quot;</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">看到了个寂寞</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">d</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">d</span><span style="color:#9CDCFE;"> p</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;34.81000,1,25,38979,1579622327,0,319d7700,27532609926987776&quot;</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">有耳朵了!</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">d</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">d</span><span style="color:#9CDCFE;"> p</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;18.65700,1,25,16777215,1579622321,0,bbca6701,27532609912307714&quot;</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">雪天不用浸泡吧</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">d</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">d</span><span style="color:#9CDCFE;"> p</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;305.99800,1,25,16777215,1579622316,0,878c315b,27532609928560640&quot;</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">未来史学派</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">d</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">d</span><span style="color:#9CDCFE;"> p</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;7.86200,1,25,16777215,1579622309,0,c5136613,27532609913880578&quot;</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">浸泡!!!!!!!</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">d</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">d</span><span style="color:#9CDCFE;"> p</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;368.95600,1,25,16777215,1579622302,0,18d4707,27532609914404866&quot;</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">章召忠</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">d</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">d</span><span style="color:#9CDCFE;"> p</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;25.19800,1,25,16777215,1579622286,0,4dab6898,27532609931706368&quot;</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">mi24av</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">d</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">d</span><span style="color:#9CDCFE;"> p</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;41.10100,1,25,16777215,1579622274,0,33d31036,27532609932230656&quot;</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">泪奔</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">d</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">d</span><span style="color:#9CDCFE;"> p</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;627.69800,1,25,16777215,1579622264,0,d79a826a,27532609933279232&quot;</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">组建太空军</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">d</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">d</span><span style="color:#9CDCFE;"> p</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;310.58900,1,25,16777215,1579622243,0,18d4707,27532609918074882&quot;</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">是未来史学派?</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">d</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#808080;"> &lt;</span><span style="color:#569CD6;">d</span><span style="color:#9CDCFE;"> p</span><span style="color:#D4D4D4;">=</span><span style="color:#CE9178;">&quot;723.34800,1,25,16777215,1579622239,0,844fa9e7,27532609919123458&quot;</span><span style="color:#808080;">&gt;</span><span style="color:#D4D4D4;">刘培强还行</span><span style="color:#808080;">&lt;/</span><span style="color:#569CD6;">d</span><span style="color:#808080;">&gt;</span></span>
<span class="line"><span style="color:#D4D4D4;"> …………</span></span>
<span class="line"><span style="color:#808080;">&lt;</span><span style="color:#569CD6;">i</span><span style="color:#808080;">&gt;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,7))])])}const m=e(d,[["render",D]]),v=JSON.parse('{"path":"/docs/danmaku/history.html","title":"历史弹幕","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1704464133000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"},{"name":"lb-chc","username":"lb-chc","email":"69136546+lb-chc@users.noreply.github.com","commits":1,"url":"https://github.com/lb-chc"}],"changelog":[{"hash":"5d188bf9b209ca112581ee7f36ccd359f4a7953f","time":1704464133000,"email":"69136546+lb-chc@users.noreply.github.com","author":"lb-chc","message":"Update history.md (#927)"},{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/danmaku/history.md"}');export{m as comp,v as data};

Some files were not shown because too many files have changed in this diff Show More