diff --git a/.github/ISSUE_TEMPLATE/1-add-request.yml b/.github/ISSUE_TEMPLATE/1-add-request.yml index 5661753..d632a1a 100644 --- a/.github/ISSUE_TEMPLATE/1-add-request.yml +++ b/.github/ISSUE_TEMPLATE/1-add-request.yml @@ -8,7 +8,7 @@ body: attributes: label: "提交前请确认" options: - - label: "我已检索仓库中文档,确认不包含所提及内容,且 Issues、Pull Requests 中无相关提交" + - label: "我已阅读贡献指南, 已检索仓库中文档,确认不包含所提及内容,且 Issues、Pull Requests 中无相关提交" required: true - type: dropdown id: source @@ -17,7 +17,7 @@ body: description: "该 API 在何平台中使用" multiple: true options: - - "Web 端(含 h5)" + - "Web 端(含 H5)" - "PC 客户端(Electron)" - "Android 客户端(含粉版、平板版、蓝版、概念版、国际版等)" - "TV 客户端(含云视听小电视、车机、物联网版等)" @@ -35,7 +35,7 @@ body: options: - "REST" - "gRPC" - - "长连接数据帧(含 ws、TCP)" + - "长连接数据帧(含 WS、TCP)" - "其他类型(请在详情中备注)" validations: required: true @@ -43,7 +43,7 @@ body: id: address attributes: label: "API 地址" - description: "REST 的 url,或 gRPC 的包名+服务名" + description: "REST 的 URL,或 gRPC 的包名+服务名" placeholder: "eg: https://api.bilibili.com/2333333" validations: required: true @@ -53,4 +53,4 @@ body: label: "详情描述" description: "请描述该 API 的使用场景、请求及响应字段等,可附上原始抓包记录" validations: - required: true \ No newline at end of file + required: true diff --git a/.github/ISSUE_TEMPLATE/2-update-request.yml b/.github/ISSUE_TEMPLATE/2-update-request.yml index 4b62189..cc2a1fc 100644 --- a/.github/ISSUE_TEMPLATE/2-update-request.yml +++ b/.github/ISSUE_TEMPLATE/2-update-request.yml @@ -8,7 +8,7 @@ body: attributes: label: "提交前请确认" options: - - label: "我已确认文档中相关内容存在错误或不足,且 Issues、Pull Requests 中无相关提交" + - label: "我已阅读贡献指南, 已确认文档中相关内容存在错误或不足,且 Issues、Pull Requests 中无相关提交" required: true - type: input id: document_link @@ -26,4 +26,4 @@ body: label: "更新内容" description: "请指出原文档中与最新 API 行为不符之处,并附上已知的最新改动和验证信息" validations: - required: true \ No newline at end of file + required: true diff --git a/.github/ISSUE_TEMPLATE/3-mistake-report.yml b/.github/ISSUE_TEMPLATE/3-mistake-report.yml index dc119aa..22df22c 100644 --- a/.github/ISSUE_TEMPLATE/3-mistake-report.yml +++ b/.github/ISSUE_TEMPLATE/3-mistake-report.yml @@ -1,64 +1,64 @@ -name: "错误修正" -description: "发现文档内容有误并提交修正请求" -title: "[错误修正] " +name: "错误修正" +description: "发现文档内容有误并提交修正请求" +title: "[错误修正] <title>" labels: ["错误/Mistakes"] -body: - - type: checkboxes - id: confirmations - attributes: - label: "提交前请确认" - options: - - label: "我已确认文档中的错误存在,且 Issues、Pull Requests 中无相同修正" - required: true - - label: "我已验证修正内容的正确性" - required: false +body: + - type: checkboxes + id: confirmations + attributes: + label: "提交前请确认" + options: + - label: "我已阅读贡献指南, 已确认文档中有错误存在,且 Issues、Pull Requests 中无相同修正" + required: true + - label: "我已验证修正内容的正确性" + required: false - - type: input - id: document_link - attributes: - label: "错误所在文档链接" + - 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 + validations: + required: true - - type: dropdown - id: error_type - attributes: - label: "错误类型" + - type: dropdown + id: error_type + attributes: + label: "错误类型" multiple: true - options: - - "API 地址/鉴权方式错误" - - "参数错误" - - "响应数据结构或响应示例错误" + options: + - "API 地址/鉴权方式错误" + - "参数错误" + - "响应数据结构或响应示例错误" - "描述性内容错误(如拼写/流程说明)" - - "接口已弃用下线" - - "其他(请在下文说明)" - validations: - required: true + - "接口已弃用或下线" + - "其他(请在下文说明)" + validations: + required: true - - type: textarea - id: error_description - attributes: - label: "错误描述" - description: "请详细说明具体错误所在,如有多个错误请编号列出" - validations: - required: true + - type: textarea + id: error_description + attributes: + label: "错误描述" + description: "请详细说明具体错误所在,如有多个错误请编号列出" + validations: + required: true - type: textarea id: evidence - attributes: + attributes: label: "纠错依据" - description: "如果有,请提供抓包记录等佐证,方便确认。如果有多个错误,请将依据对应错误描述的编号列出" - validations: + description: "如果有,请提供抓包记录等佐证,方便确认。如果有多个错误,请将依据对应错误描述的编号列出" + validations: required: false - - type: textarea - id: correction - attributes: - label: "修正方案" - description: "如果可以,请提供修正后的内容,如有多个修正点请编号列出" - validations: - required: false \ No newline at end of file + - type: textarea + id: correction + attributes: + label: "修正方案" + description: "如果可以,请提供修正后的内容,如有多个修正点请编号列出" + validations: + required: false diff --git a/.github/workflows/vuepress-deploy.yml b/.github/workflows/vuepress-deploy.yml index 4595426..9affc3b 100644 --- a/.github/workflows/vuepress-deploy.yml +++ b/.github/workflows/vuepress-deploy.yml @@ -1,18 +1,38 @@ -name: deploy and pubish +name: deploy and publish + on: [push] + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + jobs: build-and-deploy: runs-on: ubuntu-latest - if: github.repository == 'SocialSisterYi/bilibili-API-collect' + # if: github.repository == 'SocialSisterYi/bilibili-API-collect' steps: - name: Checkout - uses: actions/checkout@master - - - name: vuepress-deploy - uses: jenkey2011/vuepress-deploy@master - env: - ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }} - TARGET_REPO: SocialSisterYi/bilibili-API-collect - TARGET_BRANCH: gh_pages - BUILD_SCRIPT: yarn && yarn build - BUILD_DIR: .vuepress/dist/ + 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: Setup Pages + uses: actions/configure-pages@v5 + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: '.vuepress/dist/' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index d55cc68..7307447 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,6 @@ .vscode/ .DS_Store *.swp +/*.*js +/*.json +/*.sh diff --git a/.vuepress/config.js b/.vuepress/config.js index 99b7f2e..dbe9307 100644 --- a/.vuepress/config.js +++ b/.vuepress/config.js @@ -1,14 +1,19 @@ -import { defaultTheme, defineUserConfig } from "vuepress"; +import { defineUserConfig } from "vuepress"; +import { viteBundler } from '@vuepress/bundler-vite' +import { defaultTheme } from "@vuepress/theme-default"; import markdownItTaskLists from "markdown-it-task-lists"; -import { copyCodePlugin } from "vuepress-plugin-copy-code2"; import { searchPlugin } from "@vuepress/plugin-search"; +import { shikiPlugin } from '@vuepress/plugin-shiki' + +const base = "/bilibili-API-collect/"; export default defineUserConfig({ - base: "/bilibili-API-collect/", + bundler: viteBundler(), + base: base, lang: "zh-CN", title: "BAC Document", description: "社区开源的第三方哔哩哔哩 API 文档", - head: [["link", { rel: "icon", href: "/logo2.jpg" }]], + head: [["link", { rel: "icon", href: base + "logo2.jpg" }]], locales: { "/": { lang: "zh-CN", @@ -34,19 +39,26 @@ export default defineUserConfig({ ], }, ], - sidebar: "auto", repo: "https://github.com/SocialSisterYi/bilibili-API-collect", docsBranch: "master", editLinkText: "在 GitHub 上编辑此页", - colorMode: "auto" + colorMode: "auto", + themePlugins: { + prismjs: false + } }), - plugins: [copyCodePlugin({}), searchPlugin({})], - markdown: { - code: { - lineNumbers: true, - }, - }, + 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); - }, + } }); diff --git a/.vuepress/theme/layouts/Layout.vue b/.vuepress/theme/layouts/Layout.vue index 78a07a0..75d2f21 100644 --- a/.vuepress/theme/layouts/Layout.vue +++ b/.vuepress/theme/layouts/Layout.vue @@ -13,6 +13,16 @@ </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> diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6b867be..8856cab 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ # 贡献指南 -欢迎来到 bilibili-API-collect 社区贡献指南,本文主要面向需要进行提交贡献文档内容的用户。 +欢迎来到 bilibili-API-collect 社区贡献指南,本文主要面向想要对本项目参与贡献的用户, 请务必认真阅读本文正文与潜在的注释 ## 总则 @@ -12,7 +12,7 @@ ## Issue、Discussion 与社群讨论 -对文档内容存在**不理解**之处、以及发现文档内容有所**缺失**或**错误**,可直接提出,强烈建议以提交 **Issue** 的形式添加 / 补充 / 更新文档中的说明,以发起 **Discussion** 的形式提出问题、代码用例、情报分享,并希望关于本项目的各种交流都是**公开进行**的,因为这样才可以保证关键信息的一致性。 +对文档内容存在**不理解**之处、以及发现文档内容有所**缺失**或**错误**,可直接提出,强烈建议以提交 **Issue** 的形式 添加 / 补充 / 更新 文档中的说明,以发起 **Discussion** 的形式提出问题、代码用例、情报分享,并希望关于本项目的各种交流都是**公开进行**的,因为这样才可以保证关键信息的一致性。 提交 Issue 请遵守以下原则: @@ -31,7 +31,7 @@ - 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 ✅提示 +::: tip 提示 QQ 交流群为综合技术交流群(兼 Owner 的粉丝群),可交流探讨任何技术,包括但不限于 [BAC 项目](https://github.com/SocialSisterYi/bilibili-API-collect) @@ -39,7 +39,7 @@ Telegram 交流群主要用作 [BAC 项目](https://github.com/SocialSisterYi/bi ::: -::: warning ⚠️注意 +::: warning 注意 群内讨论同样需要遵守**公开交流**的原则,以及群内会定期清理不活跃成员。 @@ -47,7 +47,7 @@ Telegram 交流群主要用作 [BAC 项目](https://github.com/SocialSisterYi/bi ::: -::: danger 🈲禁止 +::: danger 禁止 项目 Issue 及其相关社群中**禁止**询问讨论 风控解除、爬虫(采集)、破解、漏洞利用、买卖代码和账号 相关内容,抵制基于本项目进行的一切黑产行为! @@ -57,7 +57,7 @@ Telegram 交流群主要用作 [BAC 项目](https://github.com/SocialSisterYi/bi ### 目录 -文档目录以 **Markdown 无序列表**语法写在 [README.md](README.md) 中,使用缩进标识文档的层级,如 `视频` 下存在 `基本信息`、`快照`、`视频推荐`、`TAG` 等子分类,使用 **Markdown 复选框**语法该标注文档是否编写完成 +文档目录以 **Markdown 无序列表**语法写在 [README.md](README.md) 中,使用缩进标识文档的层级,如 `视频` 下存在 `基本信息`、`快照`、`视频推荐`、`TAG` 等子分类,使用 **Markdown 复选框**语法该标注文档是否编写完成, 新文档写完后记得在目录添加入口 ```markdown - [ ] 视频 @@ -97,9 +97,9 @@ Telegram 交流群主要用作 [BAC 项目](https://github.com/SocialSisterYi/bi 接口说明分为 `标题`、`地址`、`说明`、`请求参数`、`响应正文`、`示例` 这些部分 -接口标题为**二级以下**的标签,接口地址使用**引用**语法,地址只保留 REST API 路径,不应携带 query 等内容 +接口标题为**二级以下**的标签<!--别顶着一级标题就开写-->,接口地址使用**块引用**语法,地址只保留 REST API 路径,不应携带 query 等内容 -接口地址下方需要注明接口的请求方式,如 `GET`、`POST`、`PUT` 等,使用*斜体*语法 +接口地址下方需要注明接口的请求方法,如 `GET`、`POST`、`PUT` 等,使用*斜体*语法 若接口存在认证或鉴权,需要在说明中注明,如 `Cookie (SESSDATA)`、`APP`(认证是针对用户的,鉴权是针对接口使用的) @@ -112,16 +112,16 @@ e.g.: > https://api.bilibili.com/x/web-interface/view -*请求方式:GET* +*请求方法: GET* -认证方式:Cookie (SESSDATA) +认证方式: Cookie (SESSDATA) 限制游客访问的视频需要登录 ``` -**请求参数**应在**接口说明**的下方,应注明参数类型 url 参数或正文参数(正文参数应注明 content-type,如 `application/x-www-form-urlencoded` 或 `multipart/form-data`),使用**加粗**语法 +**请求参数**应在**接口说明**的下方,应注明参数类型 URL 参数或正文参数(正文参数应注明 `Content-Type`,如 `application/x-www-form-urlencoded` 或 `multipart/form-data`),使用**加粗**语法 -对象的字段及其含义使用**表格**进行整理,表头统一依次为 `参数名`、`类型`、`内容`、`必要性`、`备注`,类型为 `num`、`str`、`bool`、`nums`、`strs`、`file` 等 (未来可能会统一改为基于 TypeScript 的类型系统),必要性为 `必要`、`非必要`、`必要 (可选)` 等,表格内每个字段为一行 +对象的字段及其含义使用**表格**进行整理,表头统一依次为 `参数名`、`类型`、`内容`、`必要性`、`备注`,使用 `object`、`number`、`string`、`boolean`、`number[]`、`string[]`、`file` 等这种类似 TypeScript 的类型系统,必要性为 `必要`、`非必要`、`必要 (可选)` 等,表格内每个字段为一行 e.g.: @@ -134,7 +134,7 @@ e.g.: JSON Object 或 ProtoBuf Message 应以对象的**表格**形式书写,表头为 `根对象` 或 `xx 中的 yy 对象` 或 `xx.yy.zz 对象`,若对象位于数组中则为 `xx 数组中的对象` 或 `xx[] 中的对象` -表头统一依次为 `字段`、`类型`、`内容`、`备注`,类型为 JSON / Protobuf 的标准类型,如 `num`、`str`、`bool`、`obj`、`array`、`null` 等 +表头统一依次为 `字段`、`类型`、`内容`、`备注`,类型为 JSON / Protobuf 的标准类型,具体同请求参数一致 不明确定义的字段说明在内容的末尾添加问号,如 `播放数?`;定义尚未明确的字段使用 `(?)` 在内容中占位,并在备注中填写 `作用尚不明确` @@ -174,12 +174,12 @@ e.g.: 示例命令前后可以适当添加一些文字说明 -响应体示例为一段格式化后的 JSON 或 ProtoBuf Message,使用**代码块**语法书写,并使用 `<details>` 标签进行折叠, 仍一律使用 **2** 个 **空格** 进行缩进 +响应体示例为一段格式化后的 JSON 或 ProtoBuf Message,使用**代码块**语法书写, 代码块语言填写清楚, 注意 `json` `jsonc` 区别. 并使用 `<details>` 标签进行折叠, 仍一律使用 **2** 个 **空格** 进行缩进 e.g.: ````markdown -**示例:** +**示例:** 获取视频 `av85440373` 的基本信息 @@ -189,7 +189,7 @@ curl -G 'https://api.bilibili.com/x/web-interface/view' \ ``` <details> -<summary>查看响应示例:</summary> +<summary>查看响应示例:</summary> ```jsonc { @@ -262,22 +262,24 @@ message Author { 本项目仓库仅托管于 GitHub, 使用 Git 作为版本控制系统, 你需要对两者有基础的了解 -请先 fork, 然后在自己的 fork 上进行修改 +请先 fork, 然后在自己的 fork 上进行修改<!--废话--> -提交的标题不要使用默认的 `Update xxx`, 建议遵循 [Conventional Commits (约定式提交) 规范](https://www.conventionalcommits.org/zh-hans/v1.0.0/), 标题语言可根据个人习惯 +提交的标题不要使用默认的 `Update xxx`, 请遵循 [Conventional Commits (约定式提交) 规范](https://www.conventionalcommits.org/zh-hans/v1.0.0/), 标题语言可根据个人习惯 +<!--下面这两段属于常识, 但好像还有人不知道--> 当发现远程与本地仓库不一致时, 若你操作的 fork 的 branch 无打开的 PR, 建议使用变基拉取, 而不是生成一个额外的合并提交的合并拉取, 反之则相反 -移动文件请使用 `git mv`, 而不是删除并添加同一个文件于不同位置 (该问题在 VSCode 的 GUI 版 Git 中存在) +移动文件请使用 `git mv`, 而不是删除并添加同一个文件于不同位置 (该问题在 VSCode 的 GUI 版 Git 中存在<!--某个易姓owner干过-->), 以便后续 blame 操作 ### 拉取请求 (Pull Request) -使用 拉取请求 (Pull Request, PR) 将修改后的文档提交到 `master` 分支,标题需写明修改或新增的内容, `gh_pages` 分支将在 PR 合并后自动更新 +使用 拉取请求 (Pull Request, PR) 将修改后的文档提交到 `master` 分支,标题需写明修改或新增的内容, 同样也需要遵循约定式提交规范, `gh_pages` 分支将在 PR 合并后自动更新 如果你还没有完成计划的全部修改, 请创建 Draft Pull Request 表示你还没有做好被合并的准备 ~~(抢占先机, 精神可嘉, 值得鼓励)~~ PR 正文使用 **无序列表** 写明更改的每一项内容, 可以使用复选框表明进度, 需要关闭的 Issue 请使用 `close #xxxx` 这样的格式一并包含在内 -如果内容包含代码, 请一并提供测试的输入与输出的文本或截图, 最好可以附上完整的测试环境及相关可执行文件等 +如果内容包含代码等, 请一并提供测试的输入与输出的文本或截图, 最好可以附上完整的测试环境及相关可执行文件等 +<!--这也是常识喵--> PR 合并后, 请及时删除或更新分支. 特别是在使用压缩合并或变基合并后, 请 `Discard changes` 或直接删除分支, 以免在下一次 PR 后出现重复相同提交的问题 diff --git a/README.md b/README.md index 5a90b64..5e20180 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接 小小的 Demo:~~av583785685~~ [视频失效原因](https://shakaianee.top/archives/56/) ([Youtube 备链](https://www.youtube.com/watch?v=nfF91Z6fqGk)) -::: warning ⚠️声明 +::: warning 声明 1. 本项目遵守 CC-BY-NC 4.0 协议,禁止一切商业使用,如需转载请注明作者 ID 2. **请勿滥用,本项目仅用于学习和测试!请勿滥用,本项目仅用于学习和测试!请勿滥用,本项目仅用于学习和测试!** @@ -74,6 +74,7 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接 - [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) @@ -105,6 +106,7 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接 - [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) @@ -153,12 +155,41 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接 - [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/info.md) - - [x] [点赞 & 投币 & 收藏 & 分享](docs/article/action.md) - - [x] [文集基本信息](docs/article/articles.md) - - [x] [删除](docs/article/delete.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) @@ -189,13 +220,6 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接 - [ ] [表情](docs/emoji) - [x] [表情及表情包信息](docs/emoji/list.md) - [x] [操作](docs/emoji/action.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) - [x] [实时广播(通讯协议)](docs/broadcast) - [x] [视频内广播](docs/broadcast/video_room.md) - [ ] [充电](docs/electric) @@ -205,22 +229,6 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接 - [x] [微信 & 支付宝方式充电](docs/electric/WeChat&Alipay.md) - [x] [充电留言](docs/electric/charge_msg.md) - [x] [充电列表](docs/electric/charge_list.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/topic.md) - - [ ] [发送 & 转载动态](docs/dynamic/publish.md) - - [ ] [根据关键字搜索用户(at 别人时的填充列表)](docs/dynamic/atlist.md) - - [ ] [操作](docs/dynamic/action.md) - - [ ] 动态列表 - - [x] [特定话题动态列表](docs/dynamic/tag_dynamics.md) - - [ ] [动态内容](docs/dynamic/get_dynamic_detail.md) - - [ ] [导航栏动态](docs/dynamic/nav.md) - [ ] ~~[相簿](docs/album)~~ (已下线) - [x] ~~[基本信息](docs/album/info.md)~~ - [x] ~~[相簿列表](docs/album/list.md)~~ @@ -257,6 +265,9 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接 - [ ] [直播心跳上报](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/activity) - [ ] [活动列表](docs/activity/list.md) - [ ] [活动主题信息](docs/activity/info.md) @@ -292,6 +303,7 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接 - [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) @@ -390,9 +402,3 @@ OR Aifadian:[https://afdian.com/@ShakaiAneE](https://afdian.com/@ShakaiAneE) - [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 - -<style scoped> - .shields a { - margin: auto .5em; - } -</style> diff --git a/docs/article/card.md b/docs/article/card.md new file mode 100644 index 0000000..a21a25f --- /dev/null +++ b/docs/article/card.md @@ -0,0 +1,463 @@ +# 卡片信息 + +## 获取专栏显示卡片信息 + +> https://api.bilibili.com/x/article/cards + +*请求方法: GET* + +鉴权方式: 请求头 `Referer` 在 `.bilibili.com` 下 + +**URL 参数:** + +| 参数 | 类型 | 内容 | 必要性 | 备注 | +| ----- | ------ | ---- | ------ | ---- | +| ids | string | 被查询的 id 列表 | 不必要 | 以 `,` 分隔, 可填视频完整 AV/BV 号, 专栏 CV 号, 直播间长短 lv 号 (可能会合并同类项) | +| web_location | string | `333.1305` | 不必要 | | +| w_rid | string | WBI 签名 | 不必要 | 参见 [WBI 签名](../misc/sign/wbi.md) | +| wts | number | UNIX 秒级时间戳 | 不必要 | 参见 [WBI 签名](../misc/sign/wbi.md) | + +**JSON 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| code | number | 返回值 | 0: 成功 | +| data | object | 数据本体 | | +| message | string | 错误信息 | 成功时为 `0` | +| ttl | number | `1` | | + +`data` 对象: + +以请求时 `ids` 字段中每一项为键, 其内容对象为值的表, 注意可能会合并同类项 + +`data` 中代表视频的对象 (`avxxx` 或 `Bvxxxxxxxxxx`): + +详细可参见 [视频基本信息] (../video/info.md) + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| aid | number | | | +| bvid | string | | | +| cid | number | | | +| copyright | number | | | +| cover43 | string | | | +| ctime | number | | | +| desc | string | | | +| dimension | object | | | +| duration | number | | | +| dynamic | string | | | +| owner | object | | | +| pic | string | | | +| pubdate | number | | | +| rights | object | | | +| short_link_v2 | string | | | +| stat | object | | | +| state | number | | | +| tid | number | | | +| title | string | | | +| tname | string | | | +| videos | number | | | +| vt_switch | boolean | | | + +`data` 中代表专栏的对象 (`cvxxx`): + +详细可参见 [专栏内容](view.md) + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| act_id | number | | | +| apply_time | string | | | +| attributes | number | | | +| authenMark | null | | | +| author | object | | | +| banner_url | string | | | +| categories | object[] | | | +| category | object | | | +| check_state | number | | | +| check_time | string | | | +| content_pic_list | null | | | +| cover_avid | number | | | +| ctime | number | | | +| dispute | null | | | +| dynamic | string | | | +| id | number | | | +| image_urls | string[] | | | +| is_like | boolean | | | +| list | object | | | +| media | object | | | +| mtime | number | | | +| origin_image_urls | string[] | | | +| origin_template_id | number | | | +| original | number | | | +| private_pub | number | | | +| publish_time | number | | | +| reprint | number | | | +| state | number | | | +| stats | object | | | +| summary | string | | | +| template_id | number | | | +| title | string | | | +| top_video_info | null | | | +| type | number | | | +| words | number | | | + +`data` 中代表直播间的对象: + +详细可参见 [直播间基本信息](../live/info.md) + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| area_v2_name | string | 分区完整名称 | | +| cover | string | 直播封面 | | +| face | string | 主播头像 | | +| live_status | number | 直播状态 | | +| online | number | 在线人数 | | +| pendent_ru | string | | | +| pendent_ru_color | string | | | +| pendent_ru_pic | string | | | +| role | number | | | +| room_id | number | 直播间长 id | | +| title | string | 直播间标题 | | +| uid | number | 主播 UID (mid) | | +| uname | string | 主播用户名 | | + +**示例:** + +```shell +curl 'https://api.bilibili.com/x/article/cards?ids=av2,cv1,cv2,15111509,lv1,lv5440' \ + --referer 'https://www.bilibili.com/' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "data": { + "av2": { + "aid": 2, + "bvid": "BV1xx411c7mD", + "cid": 62131, + "copyright": 2, + "cover43": "", + "ctime": 1497344798, + "desc": "www", + "dimension": { + "height": 360, + "rotate": 0, + "width": 480 + }, + "duration": 2055, + "dynamic": "", + "owner": { + "face": "https://i2.hdslb.com/bfs/face/ef0457addb24141e15dfac6fbf45293ccf1e32ab.jpg", + "mid": 2, + "name": "碧诗" + }, + "pic": "http://static.hdslb.com/images/transparent.gif", + "pubdate": 1252458549, + "rights": { + "arc_pay": 0, + "autoplay": 1, + "bp": 0, + "download": 0, + "elec": 0, + "hd5": 0, + "is_cooperation": 0, + "movie": 0, + "no_background": 0, + "no_reprint": 0, + "pay": 0, + "pay_free_watch": 0, + "ugc_pay": 0, + "ugc_pay_preview": 0 + }, + "short_link_v2": "https://b23.tv/BV1xx411c7mD", + "stat": { + "aid": 2, + "coin": 38042, + "danmaku": 121342, + "dislike": 0, + "favorite": 107375, + "his_rank": 0, + "like": 261036, + "now_rank": 0, + "reply": 86021, + "share": 20052, + "view": 4983587, + "vt": 0, + "vv": 0 + }, + "state": 0, + "tid": 130, + "title": "字幕君交流场所", + "tname": "音乐综合", + "videos": 1, + "vt_switch": false + }, + "cv1": { + "act_id": 0, + "apply_time": "", + "attributes": 24, + "authenMark": null, + "author": { + "face": "https://i1.hdslb.com/bfs/face/89fe260a17891fdadc3365a9698fee52796c7765.jpg", + "fans": 0, + "level": 0, + "mid": 91221505, + "name": "健行见远渐忘", + "nameplate": { + "condition": "2018.6.26-7.8某一天是年度大会员", + "image": "https://i2.hdslb.com/bfs/face/421179426c929dfeaed4117461c83f5d07ffb148.png", + "image_small": "https://i1.hdslb.com/bfs/face/682001c2e1c2ae887bdf2a0e18eef61180c48f84.png", + "level": "稀有勋章", + "name": "大会员2018年度勋章", + "nid": 74 + }, + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "https://i1.hdslb.com/bfs/face/7ae15f06f8c912435206a2578509d6bc77c12353.png", + "name": "作文鬼才", + "pid": 255 + }, + "vip": { + "avatar_subscript": 1, + "due_date": 0, + "label": { + "label_theme": "annual_vip", + "path": "http://i0.hdslb.com/bfs/vip/label_annual.png", + "text": "年度大会员" + }, + "nickname_color": "#FB7299", + "status": 1, + "theme_type": 0, + "type": 2, + "vip_pay_type": 0 + } + }, + "banner_url": "https://i0.hdslb.com/bfs/article/b1e1029c08d8ad1bb06460d736839a7741dd7925.jpg", + "categories": [ + { + "id": 3, + "name": "生活", + "parent_id": 0 + }, + { + "id": 15, + "name": "日常", + "parent_id": 3 + } + ], + "category": { + "id": 15, + "name": "日常", + "parent_id": 3 + }, + "check_state": 0, + "check_time": "", + "content_pic_list": null, + "cover_avid": 0, + "ctime": 1497973729, + "dispute": null, + "dynamic": "It's now or never !", + "id": 1, + "image_urls": [ + "https://i0.hdslb.com/bfs/article/d2eedf1fd338bceca10099e2f7b33fa9017c859b.jpg" + ], + "is_like": false, + "list": { + "apply_time": "", + "articles_count": 0, + "check_time": "", + "ctime": 1588601669, + "id": 253534, + "image_url": "", + "mid": 91221505, + "name": "静夜思", + "publish_time": 1625900652, + "read": 0, + "reason": "", + "state": 1, + "summary": "", + "update_time": 1625900518, + "words": 3059 + }, + "media": { + "area": "", + "cover": "", + "media_id": 0, + "score": 0, + "season_id": 0, + "spoiler": 0, + "title": "", + "type_id": 0, + "type_name": "" + }, + "mtime": 1589209079, + "origin_image_urls": [ + "https://i0.hdslb.com/bfs/article/b1e1029c08d8ad1bb06460d736839a7741dd7925.jpg" + ], + "origin_template_id": 4, + "original": 0, + "private_pub": 0, + "publish_time": 1519913233, + "reprint": 0, + "state": 0, + "stats": { + "coin": 2545, + "dislike": 1, + "dynamic": 0, + "favorite": 17524, + "like": 32489, + "reply": 14399, + "share": 616, + "view": 1631442 + }, + "summary": "天空像是倾倒出的墨水,黑得静谧而深邃。黎明还远,光亮全无。夜不能寐。披衣,起床。茶香的弥漫,一盏灯的相伴。夜,你是我久别重逢的朋友,那一刹那的相见,带给了我久违的安思。如果不是梦魇的皮闹,我本不该投入", + "template_id": 4, + "title": "未知的光", + "top_video_info": null, + "type": 0, + "words": 1190 + }, + "cv2": { + "act_id": 0, + "apply_time": "", + "authenMark": null, + "author": { + "face": "http://i0.hdslb.com/bfs/face/ff6b51c3b339dae5f341d1693f52132ab11c86b6.jpg", + "fans": 0, + "level": 0, + "mid": 144900660, + "name": "专栏小天使", + "nameplate": { + "condition": "", + "image": "", + "image_small": "", + "level": "", + "name": "", + "nid": 0 + }, + "official_verify": { + "desc": "专栏小天使 官方账号", + "type": 0 + }, + "pendant": { + "expire": 0, + "image": "", + "name": "", + "pid": 0 + }, + "vip": { + "avatar_subscript": 0, + "due_date": 0, + "label": { + "label_theme": "", + "path": "", + "text": "" + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 0, + "vip_pay_type": 0 + } + }, + "banner_url": "https://i0.hdslb.com/bfs/article/131b1d41b857d5308f5bff36591d117bddc48d96.jpg@90p.webp", + "categories": [ + { + "id": 3, + "name": "生活", + "parent_id": 0 + }, + { + "id": 15, + "name": "日常", + "parent_id": 3 + } + ], + "category": { + "id": 15, + "name": "日常", + "parent_id": 3 + }, + "check_state": 0, + "check_time": "", + "content_pic_list": null, + "cover_avid": 0, + "ctime": 1497973871, + "dispute": null, + "id": 2, + "image_urls": [ + "https://i0.hdslb.com/bfs/article/0a72422ce8e77d8512f010d93b1b7f9bc4e64e52.jpg" + ], + "is_like": false, + "list": null, + "media": { + "area": "", + "cover": "", + "media_id": 0, + "score": 0, + "season_id": 0, + "spoiler": 0, + "title": "", + "type_id": 0, + "type_name": "" + }, + "mtime": 1640696950, + "origin_image_urls": [ + "https://i0.hdslb.com/bfs/article/131b1d41b857d5308f5bff36591d117bddc48d96.jpg" + ], + "origin_template_id": 4, + "original": 0, + "private_pub": 0, + "publish_time": 1509517123, + "reprint": 1, + "state": 0, + "stats": { + "coin": 3590, + "dislike": 0, + "dynamic": 0, + "favorite": 5614, + "like": 16956, + "reply": 1944, + "share": 371, + "view": 1184187 + }, + "summary": "欢迎各位使用Bilibili专栏,为了保证Bilibili专栏的内容质量,维护专栏的内容生态,让创作者和读者都拥有良好的使用体验和阅读体验,请各位谨遵以下规范条例:\n\n严令禁止条例\nbilibili严", + "template_id": 4, + "title": "专栏行为准则 ", + "top_video_info": null, + "type": 0, + "words": 3711 + }, + "lv5440": { + "area_v2_name": "历史·人文·综合", + "cover": "https://i0.hdslb.com/bfs/live/9fe50921ab9b49e80dcb398f65135191d1b8252c.jpg", + "face": "https://i0.hdslb.com/bfs/face/8f6a614a48a3813d90da7a11894ae56a59396fcd.jpg", + "live_status": 2, + "online": 0, + "pendent_ru": "", + "pendent_ru_color": "", + "pendent_ru_pic": "", + "role": 0, + "room_id": 5440, + "title": "一场穿越20年的直播|梦回千禧文学", + "uid": 9617619, + "uname": "哔哩哔哩直播" + } + }, + "message": "0", + "ttl": 1 +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-04-26T08:24:57.605652577Z --> diff --git a/docs/article/delete.md b/docs/article/delete.md deleted file mode 100644 index 22e7a6e..0000000 --- a/docs/article/delete.md +++ /dev/null @@ -1,46 +0,0 @@ -# 删除专栏 - -> <https://member.bilibili.com/x/web/article/delete> - -*请求方式:POST* - -认证方式:Cookie(SESSDATA) - -**正文参数(application/x-www-form-urlencoded):** - -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ------------------------ | ------ | ---- | -| aid | num | 文章cvid | 必要 | | -| csrf | str | CSRF Token(位于cookie) | 必要 | | - -**json回复:** - -根对象: - -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | --------- | -| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-111:csrf校验失败<br />-400:请求错误<br />-404:无此项<br />37104:无权限操作他人专栏 | -| message | str | 错误信息 | 默认为`0` | -| ttl | num | 1 | | - -**示例:** - -```shell -curl 'https://member.bilibili.com/x/web/article/delete' \ - --data-urlencode 'aid=114514' \ - --data-urlencode 'csrf=xxx' \ - -b 'SESSDATA=xxx' -``` - -<details> -<summary>查看响应示例:</summary> - -```json -{ - "code": 0, - "message": "0", - "ttl": 1 -} -``` - -</details> diff --git a/docs/article/view.md b/docs/article/view.md new file mode 100644 index 0000000..d763068 --- /dev/null +++ b/docs/article/view.md @@ -0,0 +1,1346 @@ +# 专栏内容 + +## 获取专栏正文内容 + +> https://api.bilibili.com/x/article/view + +*请求方法: GET* + +鉴权方式: 请求头 `User-Agent` + +**URL 参数:** + +| 参数 | 类型 | 内容 | 必要性 | 备注 | +| ----- | ------ | ----------- | ------ | ---- | +| id | number | 专栏文章 ID | 必要 | | +| gaia_source | string | `main_web` | 不必要 | | +| w_rid | string | WBI 签名 | 不必要 | 参见 [WBI 签名](../misc/sign/wbi.md) | +| wts | number | UNIX 秒级时间戳 | 不必要 | 参见 [WBI 签名](../misc/sign/wbi.md) | + +**JSON 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| code | number | 返回值 | 0: 成功<br />-352: 请求被风控<br />-400: 请求错误<br />-404: 啥都木有 | +| data | object | 数据本体 | 见下 | +| message | string | 错误信息 | 成功时为 `0` | +| ttl | number | `1` | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| act_id | number | 操作 ID? | | +| apply_time | string | 应用时间? | | +| attributes | number | 属性位? | 可能不存在 | +| authenMark | null | 授权码? | | +| author | object | 作者信息 | 参考 [用户基本信息](../user/info.md) | +| banner_url | string | 文章头图 URL | 空则为无 | +| categories | object[] | 专栏分类信息 | 首项为主分区, 第二项为子分区 | +| category | object | 专栏分类信息 | 子分区 | +| check_state | number | 检查状态? | | +| check_time | string | 检查时间? | | +| content | string | 文章内容 | `type` 字段为 `0` 为 HTML, `3` 为 JSON | +| content_pic_list | unknown | 内容图片列表? | | +| cover_avid | number | 封面视频 AV 号 | `0` 为无视频 | +| ctime | number | 创建时间 | UNIX 秒级时间戳 | +| dispute | unknown | 争议信息? | | +| dyn_id_str | string | 动态 opus id | | +| dynamic | string | 动态信息? | 可能不存在 | +| id | number | 专栏文章 ID | | +| image_urls | string[] | 图片 URL | | +| is_like | boolean | 是否喜欢? | | +| keywords | string | 关键词 | 以 `,` 分隔 | +| list | object | 文集信息 | 见下 | +| media | object | 媒体信息? | | +| mtime | number | 修改时间 | UNIX 秒级时间戳 | +| opus | object | opus 信息 | 当 `type` 字段为 `3` 时存在, 包含了更加详细的富文本信息 | +| origin_image_urls | string[] | 原始图片 URL | | +| origin_template_id | number | 原始模板 ID? | | +| original | number | 是否原创 | 0: 非原创<br />1: 原创 | +| private_pub | number | 仅自己可见 | | +| publish_time | number | 发布时间 | UNIX 秒级时间戳 | +| reprint | number | 是否允许转载 | 0: 不允许<br />1: 允许规范转载 | +| state | number | 专栏状态 | | +| stats | object | 统计数据 | | +| summary | string | 专栏开头部分内容 | 纯文本 | +| tags | object[] | 专栏标签 | | +| template_id | number | 模板 ID? | | +| title | string | 专栏标题 | | +| top_video_info | unknown | 封面食品信息? | | +| total_art_num | number | 作者总文章数 | | +| type | number | 类型? | | +| version_id | number | 版本 ID? | | +| words | number | 文章总词数 | | + +`data.categories[]` 对象: + +另见 [专栏分类](category.md) + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| id | number | 分类 ID | | +| name | string | 分类名称 | | +| parent_id | number | 父分类 ID | | + +`data.category` 对象: + +同 `data.categories[]` 中的对象 + +`data.content` 为字符串形式的 JSON 时代表的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | -------- | ---- | ---- | +| ops | object[] | 以 JSON 呈现的文本内容 | 套了个娃 | + +`data.content` 代表的对象中的 `ops` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | -------- | ---- | ---- | +| attribute | object? | 属性 | 见下 | +| insert | string \| object | 插入内容 | | + + +`data.content` 代表的对象中的 `ops[].attribute` 对象: + +注: 此处属性备注为页面实际渲染的情况 + +| 字段 | 类型 | 内容 | 备注 | +| ---------- | -------- | ---- | ---- | +| align | string? | 文字对齐 | 参见 [text-align](https://developer.mozilla.org/zh-CN/docs/Web/CSS/text-align) | +| blockquote | boolean? | 块级引用 | 参见 [\<blockquote\>:块级引用元素](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Elements/blockquote) | +| bold | boolean? | 加粗 | 参见 [\<strong\>](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Elements/strong) | +| class | string? | 类名 | 参见 [class](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Global_attributes/class) | +| color | string? | 颜色 | 十六进制颜色值, 参见 [color](https://developer.mozilla.org/zh-CN/docs/Web/CSS/color) | +| header | number? | 标题级别 | 参见 [\<h1\>–\<h6\>:HTML 区域标题元素](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Elements/Heading_Elements) | +| strike | boolean? | 删除线 | 参见 [\<s\>](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Elements/s) | +| link | string? | 站内链接 | 参见 [\<a\>:锚元素](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Elements/a) | +| italic | boolean? | 斜体 | 参见 [\<em\>:强调元素](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Elements/em) | list | string? | 列表 | `bullet`: 无序列表, 参见 [\<ul\>:无序列表元素](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Elements/ul)<br />`ordered`: 有序列表, 参见 [\<ol\>](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Elements/ol) | + +`data.content` 代表的对象中的 `ops[].insert` 为对象时的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| native-image | object? | 原生图片 | 见下, 另见 [\<img\>:图像嵌入元素](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Elements/img) | +| cut-off | object? | 分割线 | 见下 | +| video-card | object? | 视频卡片 | 见下 | +| article-card | object? | 专栏卡片 | 见下 | +| vote-card | object? | 投票卡片 | 见下 | +| live-card | object? | 投票卡片 | 见下 | + +`data.content` 代表的对象中的 `ops[].insert.native-image` 对象: + +注: 此处属性备注为页面实际渲染的情况 + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| alt | string | 图像的备用文本描述 | 即 `<img>` 的 `alt` 属性 | +| url | string | 图像的 URL | 即 `<img>` 的 `src` 属性 | +| width | number | 图像的宽度 | 即 `<img>` 的 `data-w` 属性 | +| height | number | 图像的高度 | 即 `<img>` 的 `data-h` 属性 | +| size | number | 图像的文件大小 | 即 `<img>` 的 `data-size` 属性 | +| status | number | `"loaded"` | 即 `<img>` 的 `data-status` 属性 | + +`data.content` 代表的对象中的 `ops[].insert.cut-off` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ------ | ---- | ---- | +| type | string | 类型 | 没错, 就是字符串 | +| url | string | 分割线图片 URL | | + +`data.content` 代表的对象中的 `ops[].insert.video-card` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ------ | ---- | ---- | +| alt | string | | | +| height | number | 卡片高度 | 似乎恒定为 `352` | +| id | string | 视频 id | 如 `av99999999` | +| size | null | | | +| status | string | `loaded` | | +| tid | number | `1.1` | | +| url | string | 卡片图片 URL | | +| width | number | 卡片宽度 | 似乎恒定为 `2632` | + +`data.content` 代表的对象中的 `ops[].insert.article-card` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ------ | ---- | ---- | +| alt | string | | | +| height | number | 卡片高度 | 似乎恒定为 `320` | +| id | string | 文章 id | 如 `cv1` | +| size | null | | | +| status | string | `loaded` | | +| tid | number | `2` | | +| url | string | 卡片图片 URL | | +| width | number | 卡片宽度 | 似乎恒定为 `2632` | + +`data.content` 代表的对象中的 `ops[].insert.vote-card` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ------ | ---- | ---- | +| alt | string | | | +| height | number | 卡片高度 | 似乎恒定为 `320` | +| id | string | 投票 id | 确实是字符串, 如 `15111509` | +| size | null | | | +| status | string | `loaded` | | +| tid | number | `7` | | +| url | string | 卡片图片 URL | | +| width | number | 卡片宽度 | 似乎恒定为 `2632` | + +`data.content` 代表的对象中的 `ops[].insert.live-card` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ------ | ---- | ---- | +| alt | string | | | +| height | number | 卡片高度 | 似乎恒定为 `352` | +| id | string | 直播间 id | 可能为长也可能为短, 如 `lv1` `lv5440` | +| size | null | | | +| status | string | `loaded` | | +| tid | number | `8` | | +| url | string | 卡片图片 URL | | +| width | number | 卡片宽度 | 似乎恒定为 `2632` | + + +`data.list` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| apply_time | string | 空 | | +| articles_count | number | 0 | | +| check_time | string | 空 | | +| ctime | number | 创建时间 | UNIX 秒级时间戳 | +| id | number | 文集 ID | | +| image_url | string | 文集封面 URL | | +| mid | number | 作者 mid | | +| name | string | 文集名称 | | +| publish_time | number | 最新发布时间 | UNIX 秒级时间戳 | +| read | number | 0 | | +| reason | string | 审核不通过理由? | | +| state | number | 文集状态 | | +| summary | string | 文集描述 | | +| update_time | number | 文集更新时间 | UNIX 秒级时间戳 | +| words | number | 文集总词数 | | + +`data.media` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| area | string | | | +| cover | string | | | +| media_id | number | | | +| score | number | | | +| season_id | number | | | +| spoiler | number | | | +| title | string | | | +| type_id | number | | | +| type_name | string | | | + +`data.stats` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| coin | number | 硬币数 | | +| dislike | number | 点踩数 | 0 | +| dynamic | number | 动态数? | | +| favorite | number | 收藏数 | | +| like | number | 点赞数 | | +| reply | number | 回复数 | | +| share | number | 分享数 | | +| view | number | 查看数 | | + +`data.tags[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| name | string | 标签名 | | +| tid | number | 标签 ID | | + +**示例:** + +`type=0`: `cv1` 未知的光 + +```shell +curl -G 'https://api.bilibili.com/x/article/view' \ +--url-query 'id=1' \ +-A 'Mozilla/5.0' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "data": { + "act_id": 0, + "apply_time": "", + "attributes": 24, + "authenMark": null, + "author": { + "face": "https://i1.hdslb.com/bfs/face/89fe260a17891fdadc3365a9698fee52796c7765.jpg", + "fans": 3051, + "level": 6, + "mid": 91221505, + "name": "健行见远渐忘", + "nameplate": { + "condition": "2018.6.26-7.8某一天是年度大会员", + "image": "https://i0.hdslb.com/bfs/face/421179426c929dfeaed4117461c83f5d07ffb148.png", + "image_small": "https://i0.hdslb.com/bfs/face/682001c2e1c2ae887bdf2a0e18eef61180c48f84.png", + "level": "稀有勋章", + "name": "大会员2018年度勋章", + "nid": 74 + }, + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "https://i1.hdslb.com/bfs/face/7ae15f06f8c912435206a2578509d6bc77c12353.png", + "name": "作文鬼才", + "pid": 255 + }, + "vip": { + "avatar_subscript": 1, + "due_date": 0, + "label": { + "label_theme": "annual_vip", + "path": "http://i0.hdslb.com/bfs/vip/label_annual.png", + "text": "年度大会员" + }, + "nickname_color": "#FB7299", + "status": 1, + "theme_type": 0, + "type": 2, + "vip_pay_type": 0 + } + }, + "banner_url": "https://i0.hdslb.com/bfs/article/b1e1029c08d8ad1bb06460d736839a7741dd7925.jpg", + "categories": [ + { + "id": 3, + "name": "生活", + "parent_id": 0 + }, + { + "id": 15, + "name": "日常", + "parent_id": 3 + } + ], + "category": { + "id": 15, + "name": "日常", + "parent_id": 3 + }, + "check_state": 0, + "check_time": "", + "content": "<p>天空像是倾倒出的墨水,黑得静谧而深邃。黎明还远,光亮全无。</p><p>夜不能寐。披衣,起床。茶香的弥漫,一盏灯的相伴。夜,你是我久别重逢的朋友,那一刹那的相见,带给了我久违的安思。如果不是梦魇的皮闹,我本不该投入你的怀抱,此时此刻,万念侵扰,思绪咆哮。</p><p>台灯在角落里静静注视着我,不稳定的电流偶尔会吱吱作响。一切都像打在海绵上的水,渐渐消失,慢慢隐身于黑夜,独独留下我自己。一盏灯就可以把夜撕出个伤口,我似乎听到夜逃离光亮的脚步声,窸窸窣窣。它在蔓延,吞噬的野心已越过了窗沿。</p><p>我捧着茶杯,仿佛是在捧着一整个空间,凝重而诡异。茶香绕过茶杯脱落的瓷层向四周扩散,空气闻到了茶香,于是身边的气息似乎活跃了起来。转念一想,人生如茶。器皿的束缚不是茶香的归宿,所以人生的低谷也不是生命的全部。黑暗是光明的束缚,但光明却是黑暗的归宿。</p><p>灯光下,书架上一本金色题字的书的书名熠熠发光,我起身取下书,发现是海伦写的《假如给我三天光明》,我内心一热,忽然间有些感动。一个身体残疾的孩子,孱弱的身躯却支撑起了刚劲的灵魂。她的眼前一片漆黑,但内心世界却是光彩艳丽的。她的心中永远都有一抹无形的光,指引着她踏遍人生的路途。</p><p>时钟告诉我现在是凌晨四点。我舒展下筋骨,刚要起身,一只飞虫不偏不斜恰好闯入我的视线。灯光是它唯一的追寻。我不敢有任何的动作,只好也只能静静看着这只可爱的生灵。它好像不知道我是它的伙伴,也许它真的以为光亮是它唯一的追寻。但是我却欣慰于这突如其来的伙伴。光明可以带来很多东西,有时候也包括一份黑暗中的灵魂的一份安慰。我不忍打扰它与光明的约会,于是悄悄起身慢慢摸索着到了阳台。</p><p>阳台和我沉入了外面黑暗的梦乡。隐约可以听到一些不知名的昆虫在开着它们的舞会,我猜它们都端着无形的酒杯。它们在黑暗中买醉,因为明天的天明将是它们的散会。我有些感怀,也有些悲哀。</p><p>夜风股股咆哮着,我昂首顶住风头,仰望着漆黑的四周。很远很远处,灯塔若隐若现。它向来就是一头巨大的野兽,而此时它却空荡的像杯将尽的酒。它散发出柔弱的灯光在风中摇曳,忽明忽暗,像是一场与黑暗的决斗,随时都可能葬身在这黎明的前奏。</p><p>不忍心这惨烈的一幕,我踱步来到窗前。窗子很旧了,旧到已经无法再承受住时间的践踏了。可无论它多么陈旧,此时的它是神奇的——窗外黑暗窗内光。人心不也是一扇窗户吗?一半明媚一半伤。窗户把光亮的一面给了光明,人心是不是也应该把明媚的一半朝向世界呢?</p><p>屋内的灯倏忽闪了闪,我晃过神来,发现天边已经有抹淡红色了。黎明的脚步已经迈出了一半。那只与台灯约会的虫子似乎很满意,兴高采烈的向着呼之欲出的朝阳的方向窜去了。我望着它的背影,轻轻挥了挥手,心中暗念:“亲爱的朋友,恭喜你找到了属于自己的方向和追求,希望你能在光和热中接受生命的升华。”</p><p>天空见亮了,有点空灵,光晕中泛着感动。第一缕曙光穿透了云层,是的,我看到了,那一抹光,越来越近,越来越亮……</p>", + "content_pic_list": null, + "cover_avid": 0, + "ctime": 1497973729, + "dispute": null, + "dyn_id_str": "38554821905721204", + "dynamic": "It's now or never !", + "id": 1, + "image_urls": [ + "https://i0.hdslb.com/bfs/article/d2eedf1fd338bceca10099e2f7b33fa9017c859b.jpg" + ], + "is_like": false, + "keywords": "天空像是倾倒出的墨水,黑得静谧而深邃。黎明还远,光亮全无。夜不能寐。披衣,起床。茶香的弥漫,一盏灯的相伴。夜,你是我久别重逢的朋友,那一刹那的相见,带给了我久违的安思。如果不是梦魇的皮闹,我本不该投入", + "list": { + "apply_time": "", + "articles_count": 0, + "check_time": "", + "ctime": 1588601669, + "id": 253534, + "image_url": "", + "mid": 91221505, + "name": "静夜思", + "publish_time": 1625900652, + "read": 0, + "reason": "", + "state": 1, + "summary": "", + "update_time": 1625900518, + "words": 3059 + }, + "media": { + "area": "", + "cover": "", + "media_id": 0, + "score": 0, + "season_id": 0, + "spoiler": 0, + "title": "", + "type_id": 0, + "type_name": "" + }, + "mtime": 1589209079, + "origin_image_urls": [ + "https://i0.hdslb.com/bfs/article/b1e1029c08d8ad1bb06460d736839a7741dd7925.jpg" + ], + "origin_template_id": 4, + "original": 0, + "private_pub": 0, + "publish_time": 1519913233, + "reprint": 0, + "state": 0, + "stats": { + "coin": 2543, + "dislike": 1, + "dynamic": 0, + "favorite": 17520, + "like": 32484, + "reply": 14399, + "share": 616, + "view": 1631212 + }, + "summary": "天空像是倾倒出的墨水,黑得静谧而深邃。黎明还远,光亮全无。夜不能寐。披衣,起床。茶香的弥漫,一盏灯的相伴。夜,你是我久别重逢的朋友,那一刹那的相见,带给了我久违的安思。如果不是梦魇的皮闹,我本不该投入", + "tags": [ + { + "name": "静夜思", + "tid": 239416 + } + ], + "template_id": 4, + "title": "未知的光", + "top_video_info": null, + "total_art_num": 5, + "type": 0, + "version_id": 0, + "words": 1190 + }, + "message": "0", + "ttl": 1 +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-04-22T16:42:30.354080534Z --> + +`type=3`: `cv41358718` 通过 DevTools 绕过 SSR 抓包某站专栏正文接口 + +```shell +curl 'https://api.bilibili.com/x/article/view?id=41358718' \ +-A 'Mozilla/10.0' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "id": 41358718, + "category": { + "id": 26, + "parent_id": 17, + "name": "数码" + }, + "categories": [ + { + "id": 17, + "parent_id": 0, + "name": "科技" + }, + { + "id": 26, + "parent_id": 17, + "name": "数码" + } + ], + "title": "通过 DevTools 绕过 SSR 抓包某站专栏正文接口", + "summary": "背景\n最近没什么事做, 又回 BAC 看看有什么接口可以抓, 于是看到了陈年的专栏正文内容的 Issue #859\n由于泽生自己是写前端的, 对于浏览器 DevTools 的各项调试工具还算是比较了解, 打算想办法把专栏正文的接口抓下来 :)\n思路\n由于专栏正文完整的内容在页面加载的时候就已经通过 SSR (Server-Side Rendering, 服务端渲染) 的方式通过 <script> 标签注入到 HTML 网页中, 直接通过看 DevTools 的网络面板肯定是没用的\n[图片]\n最直接的方法是", + "banner_url": "", + "template_id": 4, + "state": 0, + "author": { + "mid": 645769214, + "name": "Session小胡", + "face": "https://i2.hdslb.com/bfs/face/77906db03b1eefac02613de184afad03f7bc58d7.jpg", + "pendant": { + "pid": 0, + "name": "", + "image": "", + "expire": 0 + }, + "official_verify": { + "type": -1, + "desc": "" + }, + "nameplate": { + "nid": 4, + "name": "青铜殿堂", + "image": "https://i2.hdslb.com/bfs/face/2879cd5fb8518f7c6da75887994c1b2a7fe670bd.png", + "image_small": "https://i0.hdslb.com/bfs/face/6707c120e00a3445933308fd9b7bd9fad99e9ec4.png", + "level": "普通勋章", + "condition": "单个自制视频总播放数>=1万" + }, + "vip": { + "type": 1, + "status": 0, + "due_date": 0, + "vip_pay_type": 0, + "theme_type": 0, + "label": { + "path": "", + "text": "", + "label_theme": "" + }, + "avatar_subscript": 0, + "nickname_color": "" + }, + "fans": 347, + "level": 4 + }, + "reprint": 1, + "image_urls": [ + "https://i0.hdslb.com/bfs/article/9071997152b6fec0ae465fe2a86b580e645769214.jpg" + ], + "publish_time": 1744789930, + "ctime": 1744789930, + "mtime": 1744789930, + "stats": { + "view": 51, + "favorite": 2, + "like": 3, + "dislike": 0, + "reply": 0, + "share": 0, + "coin": 2, + "dynamic": 0 + }, + "tags": [ + { + "tid": 12005, + "name": "HTML" + }, + { + "tid": 336733, + "name": "API" + }, + { + "tid": 854101, + "name": "BAC" + }, + { + "tid": 2573142, + "name": "JavaScript" + }, + { + "tid": 2709088, + "name": "Bilibili" + }, + { + "tid": 2719113, + "name": "GitHub" + }, + { + "tid": 2822654, + "name": "Web" + }, + { + "tid": 3161936, + "name": "Chromium" + }, + { + "tid": 3416147, + "name": "DevTools" + } + ], + "words": 2039, + "origin_image_urls": [ + "https://i0.hdslb.com/bfs/article/9071997152b6fec0ae465fe2a86b580e645769214.jpg" + ], + "list": { + "id": 326286, + "mid": 645769214, + "name": "电脑", + "image_url": "", + "update_time": 1744789924, + "ctime": 1601636259, + "publish_time": 1744789930, + "summary": "", + "words": 9501, + "read": 0, + "articles_count": 0, + "state": 1, + "reason": "", + "apply_time": "", + "check_time": "" + }, + "is_like": false, + "media": { + "score": 0, + "media_id": 0, + "title": "", + "cover": "", + "area": "", + "type_id": 0, + "type_name": "", + "spoiler": 0, + "season_id": 0 + }, + "apply_time": "", + "check_time": "", + "original": 1, + "act_id": 0, + "dispute": null, + "authenMark": null, + "cover_avid": 0, + "top_video_info": null, + "type": 3, + "check_state": 0, + "origin_template_id": 4, + "private_pub": 0, + "content_pic_list": null, + "content": "{\"ops\":[{\"insert\":\"背景\"},{\"attributes\":{\"header\":2},\"insert\":\"\\n\"},{\"insert\":\"最近没什么事做, 又回 BAC 看看有什么接口可以抓, 于是看到了陈年的专栏正文内容的 Issue #859\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"由于泽生自己是写前端的, 对于浏览器 DevTools 的各项调试工具还算是比较了解, 打算想办法把专栏正文的接口抓下来 :)\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"思路\"},{\"attributes\":{\"header\":2},\"insert\":\"\\n\"},{\"insert\":\"由于专栏正文完整的内容在页面加载的时候就已经通过 SSR (Server-Side Rendering, 服务端渲染) 的方式通过 <script> 标签注入到 HTML 网页中, 直接通过看 DevTools 的网络面板肯定是没用的\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"attributes\":{\"class\":\"normal-img\"},\"insert\":{\"native-image\":{\"alt\":\"read-normal-img\",\"url\":\"https://i0.hdslb.com/bfs/new_dyn/7bb121008990850bbd333fe504eebc90645769214.png\",\"width\":748,\"height\":494,\"size\":185239,\"status\":\"loaded\"}}},{\"insert\":\"最直接的方法是找到专栏相关的 JavaScript 代码, 通过大脑在没有 SourceMap 的情况下沿着 bundle 逆向出接口, 这种方法对于泽生明显不可行, 其中一个原因是屏幕太小而源码太大 (-.-;)\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"另一个方法是通过伪造 SSR 不工作, 从而诱导页面脚本手动通过 API 去获取内容, 不过伪造的方法也比较麻烦, 但可行度相对较高 😆\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"关于如何伪造 SSR 不工作的现象, 就需要分析 SSR 是如何被使用的, 某站的 SSR 是通过向页面注入 JavaScript 代码实现的, 具体是在 window 全局对象上加了个属性 __INITIAL_STATE__, 具体结构需要具体页面分析\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"目标就是要在读取之前移除这个属性, 移除方法简单, 无非是直接 window.__INITIAL_STATE__ = undefined (或者任意无效值), 或者 delete window.__INITIAL_STATE__, 别的 ES6 的反射之类的方法就不说了, 这不是重点\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"但这个脚本注入的位置就很恶心, 不在 <head> 里面, 也不在 <body> 底部, 就刚好在读取 __INITIAL_STATE__ 的脚本前面, 这使得无法使用篡改猴一类的用户脚本插件进行修改, 因为提供的用户脚本执行方式会出现还没写属性和已经读过属性的问题 (゜-゜)\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"接着就是传统的 DevTools 调试面板, 但正常手动暂停脚本执行往往已经脚本执行完成了, 解决方法就是网络节流或者 <head> 处用户脚本 debugger 语句\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"正好篡改猴高级设置允许用户脚本执行前暂停开始调试, 原理就是 debugger 语句, 只要把脚本执行位置放在 <body> 之前就有机会打断点把 __INITIAL_STATE__ 删掉 💥\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"attributes\":{\"class\":\"normal-img\"},\"insert\":{\"native-image\":{\"alt\":\"read-normal-img\",\"url\":\"https://i0.hdslb.com/bfs/new_dyn/1a20d186e8c8cddc043b5295d481c719645769214.png\",\"width\":625,\"height\":563,\"size\":320286,\"status\":\"loaded\"}}},{\"insert\":\"实践\"},{\"attributes\":{\"header\":2},\"insert\":\"\\n\"},{\"insert\":\"使用 Chromium (理论上 Firefox 也可以, 但其 DevTools 泽生用起来不是很舒服) 安装篡改猴扩展 🐒, 新建一个用户脚本, 里面是否写内容无所谓, 执行位置为 document-head, 然后在篡改猴的设置里面把调试脚本打开\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"接着打开一个使用 SSR 的网页, 不过注意要保持 DevTools 打开, 否则调试就不会生效, 页面脚本自动暂停后, 你将看到你的脚本和该页面已经加载的内容, 包含 HTML 网页, JavaScript 代码, 和 CSS 文本\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"你所需要做的就是检查 SSR 的情况是否如你所想的那样, 放在 window.__INITIAL_STATE__ 那里, 如果是直接渲染成页面元素的话, 抱歉上帝来了也救不了你, 某站 JavaScript 前端可不会管 HTML 的事情 🫠\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"如果在 __INITIAL_STATE__ 里面, 恭喜, 你可以直接继续了. 如果不是, 那就检查一下当前页面路径之类的, 看看有没有不同版本的相同内容, 毕竟专栏分新旧版, 专栏网页也分新旧版, 往往旧版能带来惊喜 ✨\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"找到了合适的 __INITIAL_STATE__, 你只需要在原地打个断点, 然后继续执行脚本, 页面就会在那里暂停, 接着执行下一步, 此时赋值完成, 可以开始改属性了\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"切到控制台, 执行那句期待已久的语句: window.__INITIAL_STATE__ = undefined, 大功告成! 🎉\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"恢复页面脚本执行, 你会看到页面好像卡了一下, 然后文章还是加载了出来, 这个时候就可以看看网络面板的情况了\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"attributes\":{\"class\":\"normal-img\"},\"insert\":{\"native-image\":{\"alt\":\"read-normal-img\",\"url\":\"https://i0.hdslb.com/bfs/new_dyn/87c88df1e15195996e34835456493d55645769214.png\",\"width\":892,\"height\":831,\"size\":473706,\"status\":\"loaded\"}}},{\"insert\":\"可以观察到, 多了一个你从来没见到过的叫 view 的野生请求, 点开详细, 复制地址, 记下参数, 保存响应, 发 Issue 去也~\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"如果这时回过头看控制台, 你会发现有这么一段错误十分显眼, 无法读取 undefined 的属性, 正是由于这个错误, 加之某站程序员的细心, 你才得以看到文章和抓到接口\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"后话\"},{\"attributes\":{\"header\":2},\"insert\":\"\\n\"},{\"insert\":\"Issue 已经发了, 估计写到文档里也是泽生的事情 🥴\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"这样的因 SSR 而省下的相关接口应该也有很多, 一个个慢慢打断点抓也不是个长久之计, 毕竟一旦直接渲染成 HTML, 就没的办法了 😮‍💨\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"学习正经的前端知识还是有利于不正经的逆向的 📚\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"希望大家都能来一起帮忙, Make BAC Great Again! 🥂\"},{\"attributes\":{\"list\":\"bullet\"},\"insert\":\"\\n\"},{\"insert\":\"有改动, 原文地址: https://sess.xhustudio.eu.org/posts/2025/devtools-vs-ssr-bac/\"},{\"attributes\":{\"blockquote\":true},\"insert\":\"\\n\"}]}", + "keywords": "BULLET,HEADER,WINDOW,LIST,SSR,WIDTH,html,undefined,VIEW,FIREFOX,BAC,JAVASCRIPT,CLASS,脚本插件,SIZE,TRUE,es6,ALT,长久之计,HTTPS,CSS,控制台,一起帮,A_PI,解决方法,期待已久,大功告成,没什么,有什么,浏览器,很舒服,无所谓,有没有,程序员,有利于,不正经", + "version_id": 0, + "opus": { + "opus_id": 1056353752004427792, + "opus_source": 2, + "title": "通过 DevTools 绕过 SSR 抓包某站专栏正文接口", + "content": { + "paragraphs": [ + { + "para_type": 1, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "背景", + "font_size": 22, + "style": { + "bold": true + }, + "font_level": "xLarge" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 1 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "最近没什么事做, 又回 BAC 看看有什么接口可以抓, 于是看到了陈年的专栏正文内容的 Issue #859", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 2 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "由于泽生自己是写前端的, 对于浏览器 DevTools 的各项调试工具还算是比较了解, 打算想办法把专栏正文的接口抓下来 :)", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 1, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "思路", + "font_size": 22, + "style": { + "bold": true + }, + "font_level": "xLarge" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 1 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "由于专栏正文完整的内容在页面加载的时候就已经通过 SSR (Server-Side Rendering, 服务端渲染) 的方式通过 <script> 标签注入到 HTML 网页中, 直接通过看 DevTools 的网络面板肯定是没用的", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 2, + "pic": { + "pics": [ + { + "url": "https://i0.hdslb.com/bfs/new_dyn/7bb121008990850bbd333fe504eebc90645769214.png", + "width": 748, + "height": 494, + "size": 180.8974609375 + } + ], + "style": 1 + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 1 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "最直接的方法是找到专栏相关的 JavaScript 代码, 通过大脑在没有 SourceMap 的情况下沿着 bundle 逆向出接口, 这种方法对于泽生明显不可行, 其中一个原因是屏幕太小而源码太大 (-.-;)", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 2 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "另一个方法是通过伪造 SSR 不工作, 从而诱导页面脚本手动通过 API 去获取内容, 不过伪造的方法也比较麻烦, 但可行度相对较高 😆", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 3 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "关于如何伪造 SSR 不工作的现象, 就需要分析 SSR 是如何被使用的, 某站的 SSR 是通过向页面注入 JavaScript 代码实现的, 具体是在 window 全局对象上加了个属性 __INITIAL_STATE__, 具体结构需要具体页面分析", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 4 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "目标就是要在读取之前移除这个属性, 移除方法简单, 无非是直接 window.__INITIAL_STATE__ = undefined (或者任意无效值), 或者 delete window.__INITIAL_STATE__, 别的 ES6 的反射之类的方法就不说了, 这不是重点", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 5 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "但这个脚本注入的位置就很恶心, 不在 <head> 里面, 也不在 <body> 底部, 就刚好在读取 __INITIAL_STATE__ 的脚本前面, 这使得无法使用篡改猴一类的用户脚本插件进行修改, 因为提供的用户脚本执行方式会出现还没写属性和已经读过属性的问题 (゜-゜)", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 6 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "接着就是传统的 DevTools 调试面板, 但正常手动暂停脚本执行往往已经脚本执行完成了, 解决方法就是网络节流或者 <head> 处用户脚本 debugger 语句", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 7 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "正好篡改猴高级设置允许用户脚本执行前暂停开始调试, 原理就是 debugger 语句, 只要把脚本执行位置放在 <body> 之前就有机会打断点把 __INITIAL_STATE__ 删掉 💥", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 2, + "pic": { + "pics": [ + { + "url": "https://i0.hdslb.com/bfs/new_dyn/1a20d186e8c8cddc043b5295d481c719645769214.png", + "width": 625, + "height": 563, + "size": 312.779296875 + } + ], + "style": 1 + } + }, + { + "para_type": 1, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "实践", + "font_size": 22, + "style": { + "bold": true + }, + "font_level": "xLarge" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 1 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "使用 Chromium (理论上 Firefox 也可以, 但其 DevTools 泽生用起来不是很舒服) 安装篡改猴扩展 🐒, 新建一个用户脚本, 里面是否写内容无所谓, 执行位置为 document-head, 然后在篡改猴的设置里面把调试脚本打开", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 2 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "接着打开一个使用 SSR 的网页, 不过注意要保持 DevTools 打开, 否则调试就不会生效, 页面脚本自动暂停后, 你将看到你的脚本和该页面已经加载的内容, 包含 HTML 网页, JavaScript 代码, 和 CSS 文本", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 3 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "你所需要做的就是检查 SSR 的情况是否如你所想的那样, 放在 window.__INITIAL_STATE__ 那里, 如果是直接渲染成页面元素的话, 抱歉上帝来了也救不了你, 某站 JavaScript 前端可不会管 HTML 的事情 🫠", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 4 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "如果在 __INITIAL_STATE__ 里面, 恭喜, 你可以直接继续了. 如果不是, 那就检查一下当前页面路径之类的, 看看有没有不同版本的相同内容, 毕竟专栏分新旧版, 专栏网页也分新旧版, 往往旧版能带来惊喜 ✨", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 5 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "找到了合适的 __INITIAL_STATE__, 你只需要在原地打个断点, 然后继续执行脚本, 页面就会在那里暂停, 接着执行下一步, 此时赋值完成, 可以开始改属性了", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 6 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "切到控制台, 执行那句期待已久的语句: window.__INITIAL_STATE__ = undefined, 大功告成! 🎉", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 7 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "恢复页面脚本执行, 你会看到页面好像卡了一下, 然后文章还是加载了出来, 这个时候就可以看看网络面板的情况了", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 2, + "pic": { + "pics": [ + { + "url": "https://i0.hdslb.com/bfs/new_dyn/87c88df1e15195996e34835456493d55645769214.png", + "width": 892, + "height": 831, + "size": 462.603515625 + } + ], + "style": 1 + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 1 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "可以观察到, 多了一个你从来没见到过的叫 view 的野生请求, 点开详细, 复制地址, 记下参数, 保存响应, 发 Issue 去也~", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 2 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "如果这时回过头看控制台, 你会发现有这么一段错误十分显眼, 无法读取 undefined 的属性, 正是由于这个错误, 加之某站程序员的细心, 你才得以看到文章和抓到接口", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 1, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "后话", + "font_size": 22, + "style": { + "bold": true + }, + "font_level": "xLarge" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 1 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "Issue 已经发了, 估计写到文档里也是泽生的事情 🥴", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 2 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "这样的因 SSR 而省下的相关接口应该也有很多, 一个个慢慢打断点抓也不是个长久之计, 毕竟一旦直接渲染成 HTML, 就没的办法了 😮‍💨", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 3 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "学习正经的前端知识还是有利于不正经的逆向的 📚", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 6, + "format": { + "list_format": { + "level": 1, + "order": 4 + } + }, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "希望大家都能来一起帮忙, Make BAC Great Again! 🥂", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + }, + { + "para_type": 4, + "text": { + "nodes": [ + { + "node_type": 1, + "word": { + "words": "有改动, 原文地址: https://sess.xhustudio.eu.org/posts/2025/devtools-vs-ssr-bac/", + "font_size": 17, + "style": {}, + "font_level": "regular" + } + } + ] + } + } + ] + }, + "tags": [ + { + "tag": { + "show_text": "HTML", + "link_type": 36 + } + }, + { + "tag": { + "show_text": "API", + "link_type": 36 + } + }, + { + "tag": { + "show_text": "BAC", + "link_type": 36 + } + }, + { + "tag": { + "show_text": "JavaScript", + "link_type": 36 + } + }, + { + "tag": { + "show_text": "Bilibili", + "link_type": 36 + } + }, + { + "tag": { + "show_text": "GitHub", + "link_type": 36 + } + }, + { + "tag": { + "show_text": "Web", + "link_type": 36 + } + }, + { + "tag": { + "show_text": "Chromium", + "link_type": 36 + } + }, + { + "tag": { + "show_text": "DevTools", + "link_type": 36 + } + } + ], + "pub_info": { + "uid": 645769214, + "pub_time": 1744789930 + }, + "article": { + "category_id": 26, + "list_id": 326286, + "originality": 1, + "reproduced": 1, + "cover": [ + { + "url": "http://i0.hdslb.com/bfs/article/9071997152b6fec0ae465fe2a86b580e645769214.jpg", + "width": 768, + "height": 430, + "size": 58.13671875 + } + ], + "biz_tags": [ + "JavaScript", + "HTML", + "Chromium", + "DevTools", + "BAC", + "GitHub", + "API", + "Bilibili", + "Web" + ] + }, + "version": { + "cvid": 41358718, + "version_id": 140614555890906624 + } + }, + "dyn_id_str": "1056353752004427792", + "total_art_num": 4 + } +} +``` + +</details> diff --git a/docs/clientinfo/ip.md b/docs/clientinfo/ip.md index 841f3c3..a767cff 100644 --- a/docs/clientinfo/ip.md +++ b/docs/clientinfo/ip.md @@ -5,6 +5,8 @@ > https://api.bilibili.com/x/web-interface/zone > > https://api.live.bilibili.com/xlive/web-room/v1/index/getIpInfo +> +> https://app.bilibili.com/x/resource/ip *请求方式:GET* diff --git a/docs/creativecenter/opus.md b/docs/creativecenter/opus.md new file mode 100644 index 0000000..75f18fe --- /dev/null +++ b/docs/creativecenter/opus.md @@ -0,0 +1,110 @@ +# 图文操作 + +## 删除动态 + +> https://api.bilibili.com/x/dynamic/feed/operate/remove + +*请求方法: POST* + +认证方式:Cookie (SESSDATA) + +**URL 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------- | ------ | ---- | ------ | ---- | +| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 必要 | | +| platform | string | 平台标识 | 不必要 | 如 `web` | + +**正文参数 (application/json):** + +根对象: + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ------ | -------------- | ------ | ---- | +| dyn_id_str | string | 动态的 opus id | 必要 | | +| dyn_type | number | 动态类型? | 不必要 | | +| rid_str | string | | 不必要 | | + +**JSON 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ------ | ------ | ---- | +| code | number | 返回值 | 0: 成功<br />-101: 帐号未登录<br />-111: csrf 校验失败<br />-400: 请求错误<br />4101001: 参数错误<br />4101144: 只能删除自身的动态 | +| message | string | 错误信息 | 成功时为 `0` | +| ttl | number | `1` | | +| data | object | 空对象 | | + +**示例:** + +删除动态 `667831766353969169` + +```shell +curl 'https://api.bilibili.com/x/dynamic/feed/operate/remove' \ +--url-query 'csrf=05fa8d65755655c2893d40d3692d4c70' \ +-H 'content-type: application/json' +--data-raw '{"dyn_id_str":"667831766353969169"}' \ +-b 'SESSDATA=xxxxxx' \ +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": {} +} +``` + +</details> + +## 删除专栏 + +> <https://member.bilibili.com/x/web/article/delete> + +*请求方式:POST* + +认证方式:Cookie(SESSDATA) + +**正文参数(application/x-www-form-urlencoded):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ------------------------ | ------ | ---- | +| aid | num | 文章cvid | 必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | --------- | +| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-111:csrf校验失败<br />-400:请求错误<br />-404:无此项<br />37104:无权限操作他人专栏 | +| message | str | 错误信息 | 默认为`0` | +| ttl | num | 1 | | + +**示例:** + +```shell +curl 'https://member.bilibili.com/x/web/article/delete' \ + --data-urlencode 'aid=114514' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1 +} +``` + +</details> diff --git a/docs/creativecenter/season.md b/docs/creativecenter/season.md index 472ce32..8290bde 100644 --- a/docs/creativecenter/season.md +++ b/docs/creativecenter/season.md @@ -916,3 +916,173 @@ curl -G --url 'https://member.bilibili.com/x2/creative/web/season/section' \ </details> +## 编辑投稿视频合集 + +> https://member.bilibili.com/x2/creative/web/season/switch +*请求方式: POST* + +认证方式:Cookie(SESSDATA) + +**URL参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | -------- | ------ | ---- | +| t | num | 当前时间 | 非必要 | UNIX 毫秒时间戳 | +| csrf | str | CSRF Token (位于 Cookie 中 bili_jct) | 必要 | | + +**正文参数(application/json):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | -------- | ------ | ---- | +| aid | num | 视频 ID | 必要 | | +| season_id | num | null | 合集 ID | 必要 | null 表示从合集中移除 | +| section_id | num | null | 小节 ID | 必要 | null 表示从小节中移除 | +| title | str | 视频标题 | 必要 | | +| csrf | str | CSRF Token (位于 Cookie 中 bili_jct) | 非必要 | | + +**JSON回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----- | +| season_id | num | null | | | +| section_id | num | null | | | +| title | str | 标题 | | +| aid | num | aid | | +| csrf | num | CSRF Token (位于 Cookie 中 bili_jct) | | + +**示例:** + +```shell +curl -X POST "https://member.bilibili.com/x2/creative/web/season/switch" \ +--url-query "csrf=xxxxxxxxxxxx" \ +-H "Content-Type: application/json" \ +--data '{ + "aid": 123456, + "season_id": 654321, + "section_id": 789012, + "title": "新视频标题" +}' \ +-b "SESSDATA=xxxxxxxxxxx" +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "season_id": null, + "section_id": null, + "title": "标题", + "aid": 123, + "csrf": "eqweeqw" +} +``` + +</details> + +## aid反查合集id + +> https://member.bilibili.com/x2/creative/web/season/aid +*请求方式: GET* + +认证方式:Cookie(SESSDATA) + +**URL参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | -------- | ------ | ---- | +| id | num | 视频 aid | 必要 | | + +**JSON回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----- | +| code | num | 返回值 | 0: 成功<br />其他: 失败 | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | + + + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | -------- | ---- | +| season | obj | 合集信息 | | + + +`season` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | -------- | ---- | +| id | num | 合集 ID | | +| title | str | 合集标题 | | +| cover | str | 合集封面 URL | | +| desc | str | 合集描述 | | +| isEnd | num | 是否已完结 | 0: 未完结<br />1: 已完结 | +| mid | num | 合集作者 ID | | +| isAct | num | 是否为活动合集 | 0: 否<br />1: 是 | +| is_pay | num | 是否付费 | 0: 否<br />1: 是 | +| state | num | 合集状态 | 0: 正常显示<br />-6: 正在审核 | +| partState | num | 合集分段状态 | 0: 正常 | +| signState | num | 合集签名状态 | 0: 正常 | +| rejectReason | str | 合集拒绝原因 | | +| ctime | num | 创建时间 | UNIX 时间戳 | +| mtime | num | 修改时间 | UNIX 时间戳 | +| no_section | num | 是否设小节 | 1: 不设小节 | +| forbid | num | 合集是否禁止 | 0: 否<br />1: 是 | +| protocol_id | str | 协议 ID | | +| ep_num | num | 视频数量 | | +| season_price | num | 合集价格 | 0: 免费 | +| is_opened | num | 是否公开 | 1: 公开<br />0: 不公开 | +| has_charging_pay | num | 是否充电付费 | 0: 否<br />1: 是 | +| has_pugv_pay | num | 是否 PUGV 付费 | 0: 否<br />1: 是 | + +**示例:** + +```shell +curl -G "https://member.bilibili.com/x2/creative/web/season/aid" \ +--data-urlencode "id=123456" \ +-b "SESSDATA=xxxxxxxxxxx" +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "id": 12, + "title": "合集标题", + "desc": "", + "cover": "", + "isEnd": 0, + "mid": 123, + "isAct": 0, + "is_pay": 0, + "state": 0, + "partState": 0, + "signState": 0, + "rejectReason": "", + "ctime": 1667232000, + "mtime": 1667232000, + "no_section": 1, + "forbid": 0, + "protocol_id": "", + "ep_num": 0, + "season_price": 0, + "is_opened": 1, + "has_charging_pay": 0, + "has_pugv_pay": 0 + } +} +``` + +</details> \ No newline at end of file diff --git a/docs/creativecenter/upload.md b/docs/creativecenter/upload.md index 42abd30..2dd94da 100644 --- a/docs/creativecenter/upload.md +++ b/docs/creativecenter/upload.md @@ -75,6 +75,563 @@ JavaScript (Node.js) 请求[示例](https://gist.github.com/SessionHu/5e47a3a1a3 </details> +## 获取上传模板列表 + +> https://member.bilibili.com/x/vupre/web/tpls + +*请求方式: GET* + +认证方式:Cookie(SESSDATA) + +**URL参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | -------- | ------ | ---- | +| t | num | 当前时间 | 非必要 | UNIX 毫秒时间戳 | + +**JSON回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----- | +| code | num | 返回值 | 0: 成功<br />其他: 失败 | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | array | 模板列表 | | + + + +`data` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | -------- | ---- | +| tid | num | 模板 ID | | +| name | str | 模板名称 | | +| typeid | num | 分区 ID | | +| title | str | 标题 | | +| tags | str | 标签 | | +| description | str | 描述 | | +| copyright | num | 版权类型 | 1: 自制<br />2: 转载 | +| attribute | num | 属性 | 0 或其他 | +| is_default | num | 是否默认 | 0: 否<br />1: 是 | + +**示例:** + +```shell +curl -G "https://member.bilibili.com/x/vupre/web/tpls" \ +-b "SESSDATA=xxxxxxxxxxx" +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": [ + { + "tid": 12, + "name": "直播录像", + "typeid": 173, + "title": " 标题", + "tags": "可爱", + "description": "描述", + "copyright": 1, + "attribute": 0, + "is_default": 0 + }, + ] +} +``` + +</details> + +## 编辑上传模板 + +> https://member.bilibili.com/x/vupre/web/tpl/update + +*请求方式: POST* + +认证方式:Cookie(SESSDATA) + +**URL参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | -------- | ------ | ---- | +| t | num | 当前时间 | 非必要 | UNIX 毫秒时间戳 | + +**正文参数(application/json):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | -------- | ------ | ---- | +| tid | num | 模板 ID | 必要 | | +| name | str | 模板名称 | 非必要 | | +| title | str | 标题 | 非必要 | | +| keywords | str | 标签 | 非必要 | 多个标签用 `,` 分隔 | +| description | str | 描述 | 非必要 | | +| typeid | num | 分区 ID | 非必要 | | +| arctype | str | 版权类型 | 非必要 | "Original": 自制<br />"Copy": 转载 | +| is_default | num | 是否默认 | 非必要 | 0: 否<br />1: 是 | +| csrf | str | CSRF Token (位于 Cookie 中 bili_jct) | 必要 | | + +**JSON回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----- | +| code | num | 返回值 | 0: 成功<br />其他: 失败 | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | + +**示例:** + +```shell +curl -X POST "https://member.bilibili.com/x/vupre/web/tpl/update" \ +--url-query "t=$(date +%s%3N)" \ +-H "Content-Type: application/json" \ +--data '{ + "tid": 12, + "name": "新模板名称", + "title": "新标题", + "keywords": "标签1,标签2", + "description": "新描述", + "typeid": 173, + "arctype": "Original", + "is_default": 1, + "csrf": "xxxxxxxxxxxx" +}' \ +-b "SESSDATA=xxxxxxxxxxx" +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1 +} +``` + +</details> + +## 查询话题 + +> https://member.bilibili.com/x/vupre/web/topic/type + +*请求方式: GET* + +认证方式:Cookie(SESSDATA) + +**URL参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------- | ---- | -------- | ------ | ---- | +| type_id | num | 分区 ID | 非必要 | | +| pn | num | 页码 | 必要 | 从 0 开始 | +| ps | num | 每页个数 | 必要 | | +| title | str | 视频标题 | 非必要 | | +| t | num | 当前时间 | 非必要 | UNIX 毫秒时间戳 | + +**JSON回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----- | +| code | num | 返回值 | 0: 成功<br />其他: 失败 | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | array | 话题列表 | | + + +`data` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | -------- | ---- | +| topic_id | num | 话题 ID | | +| topic_name | str | 话题名称 | | +| description | str | 话题描述 | | +| mission_id | num | 任务 ID | | +| activity_text | str | 活动文本 | | +| activity_description | str | 活动描述 | | + +**示例:** + +```shell +curl -G "https://member.bilibili.com/x/vupre/web/topic/type" \ +--data-urlencode "pn=0" \ +--data-urlencode "ps=20" \ +-b "SESSDATA=xxxxxxxxxxx" +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "topics": [ + { + "topic_id": 1245317, + "topic_name": "疯狂打游戏", + "description": "疯狂于游戏的世界吧!愿你在这场虚拟的战斗中展现出你非凡的智慧与勇气,让每一个夜晚都充满了激情与荣耀!", + "mission_id": 1742462, + "activity_text": "有奖活动", + "activity_description": "@神魂の魇 发起" + } + ], + "tags": null, + "maxpage": 200, + "request_id": "123" + } +} +``` + +</details> + +## 话题搜索 + +> https://member.bilibili.com/x/vupre/web/topic/search + +*请求方式: GET* + +认证方式:Cookie(SESSDATA) + +**URL参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| --------- | ---- | -------- | ------ | ---- | +| page_size | num | 每页个数 | 非必要 | | +| offset | num | 个数偏移 | 非必要 | 并非页数 | +| keywords | str | 关键字 | 非必要 | | +| t | num | 当前时间 | 非必要 | UNIX 毫秒时间戳 | + +**JSON回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----- | +| code | num | 返回值 | 0: 成功<br />其他: 失败 | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | + + + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | -------- | ---- | +| result | obj | 搜索结果 | | + + + +`result` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | -------- | ---- | +| has_create_jurisdiction | bool | ? | | +| is_new_topic | bool | 是否为新话题? | | +| tips | str | 提示信息 | | +| page_info | obj | 分页信息 | | +| topics | array | 话题列表 | | + + + +`page_info` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | -------- | ---- | +| has_more | bool | 是否有更多 | | +| offset | num | 偏移量 | | +| page_number | num | 页码 | | + + + +`topics`数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | -------- | ---- | +| act_protocol | str | ? | | +| activity_sign | str | ? | | +| description | str | 话题描述 | | +| id | num | 话题 ID | | +| mission_id | num | 任务 ID | | +| name | str | 话题名称 | | +| state | num | 状态? | | +| uname | str | ? | | + +**示例:** + +```shell +curl -G "https://member.bilibili.com/x/vupre/web/topic/search" \ +--data-urlencode "page_size=20" \ +--data-urlencode "offset=0" \ +--data-urlencode "keywords=example" \ +-b "SESSDATA=xxxxxxxxxxx" +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "result": { + "topics": [ + { + "id": 1200265, + "name": "巴黎最前线", + "uname": "", + "state": 0, + "description": "巴黎体育盛会前线速递!", + "mission_id": 0, + "activity_sign": "", + "act_protocol": "" + } + ], + "page_info": { + "page_num": 0, + "offset": 1, + "has_more": true + }, + "is_new_topic": false, + "has_create_jurisdiction": true, + "tips": "该话题是UP主活动相关话题,您在话题下的稿件信息可能会被提供给发起话题的UP主,并可能被UP主用于二次创作" + } + } +} +``` + +</details> + +## 标签可用性检查 + +> https://member.bilibili.com/x/vupre/web/topic/tag/check + +*请求方式: GET* + +认证方式:Cookie(SESSDATA) + +**URL参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | -------- | ------ | ---- | +| tag | str | 需要检查的标签 | 必要 | | + +**JSON回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----- | +| code | num | 返回值 | 0: 成功<br />其他: 失败 | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | + + + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | -------- | ---- | +| code | num | 标签状态 | 0: 可用<br />其他: 不可用 | +| content | str | 错误返回 | | + +**示例:** + +```shell +curl -G "https://member.bilibili.com/x/vupre/web/topic/tag/check" \ +--data-urlencode "tag=example_tag" \ +-b "SESSDATA=xxxxxxxxxxx" +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "code": 0, + "content": "" + } +} +``` + +```json +{ + "code": 16025, + "message": "tag已经被封印了~", + "ttl": 1, + "data": { + "code": 1, + "content": "服务器错误" + } +} +``` + +</details> + +## 获取简介相关信息 + +> https://member.bilibili.com/x/vupre/web/archive/desc/format + +*请求方式: GET* + +认证方式:Cookie(SESSDATA) + +**URL参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------- | ---- | -------- | ------ | ---- | +| typeid | num | 分区 ID | 必要 | | +| copyright | num | 版权类型 | 必要 | 1:自制<br/>2:转载 | +| t | num | 当前时间 | 非必要 | UNIX 毫秒时间戳 | + +**JSON回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----- | +| code | num | 返回值 | 0: 成功<br />其他: 失败 | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | null | 信息本体 | | + +注:某个时间点后,没有发现 data 为 null 的情况了,过去为 null 时简介上限250字 + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | -------- | ---- | +| typeid | num | 分区 ID | | +| id | num | ID | | +| lang | num | 未知 | | +| copyright | num | 版权类型| 1:自制<br/>2:转载 | +| components | str | 简介输入框提示文字 | JSON 字符串 | + +`components` 示例: +`'[{"name":"相关游戏","index":1,"type":"text","required":"1","box":"请输入本视频所涉及的游戏名称,以顿号分隔,例:英雄联盟、塞尔达传说、刺客信条"},{"name":"简介补充","index":2,"type":"textarea","required":"1","box":""}]'` + +**示例:** + +```shell +curl -G "https://member.bilibili.com/x/vupre/web/archive/desc/format" \ +--data-urlencode "typeid=65" \ +--data-urlencode "copyright=1" \ +-b "SESSDATA=xxxxxxxxxxx" +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "typeid": 65, + "id": 1, + "lang": 0, + "copyright": 1, + "components": "[{\"name\":\"相关游戏\",\"index\":1,\"type\":\"text\",\"required\":\"1\",\"box\":\"请输入本视频所涉及的游戏名称,以顿号分隔,例:英雄联盟、塞尔达传说、刺客信条\"},{\"name\":\"简介补充\",\"index\":2,\"type\":\"textarea\",\"required\":\"1\",\"box\":\"\"}]" + } +} +``` + +</details> + +## 获取上传线路 + +> https://member.bilibili.com/preupload?r=probe + +*请求方式: GET* + +认证方式:无 + +**URL参数:** + +无 + +**JSON回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----- | +| OK | num | 返回值 | 1: 成功<br />其他: 失败 | +| lines | array | 上传线路列表 | | +| probe | obj | 未知 | | + +probe 中的对象: +| 字段 | 类型 | 内容 | 备注 | +| --------- | ---- | -------- | ----- | +| post | float | 未知 | 固定0.1 | + +lines 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------- | ---- | -------- | ----- | +| os | str | 操作系统 | | +| query | str | 查询参数 | | +| probe_url | str | 探测 URL | | + +**示例:** + +```shell +curl -G "https://member.bilibili.com/preupload?r=probe" +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "OK": 1, + "lines": [ + { + "os": "upos", + "query": "probe_version=20221109&upcdn=tx&zone=cs", + "probe_url": "//upos-cs-upcdntx.bilivideo.com/OK" + }, + { + "os": "upos", + "query": "probe_version=20221109&upcdn=bldsa&zone=cs", + "probe_url": "//upos-cs-upcdnbldsa.bilivideo.com/OK" + }, + { + "os": "upos", + "query": "probe_version=20221109&upcdn=bda2&zone=cs", + "probe_url": "//upos-cs-upcdnbda2.bilivideo.com/OK" + } + ], + "probe": { + "post": 0.1 + } +} +``` + +</details> + ## 预测稿件类型 > https://member.bilibili.com/x/vupre/web/archive/types/predict @@ -136,6 +693,12 @@ JavaScript (Node.js) 请求[示例](https://gist.github.com/SessionHu/5e47a3a1a3 | rank | num | 排序权重? | | | max_video_count | num | 最大视频数量? | | | request_id | str | 空 | | +| human_type | obj\|null | 新分区ID,好像除第一个之外都是null | + +`human_type` 参数 +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | -------- | ---- | +| id | num | 新分区id | 可在 [获取新分区ID](#获取新分区ID) 找到对应名称 | **示例:** @@ -339,7 +902,7 @@ curl -G 'https://member.bilibili.com/x/vupre/web/tag/recommend' \ </details> -## 投递视频稿件 +## 投递视频稿件(Web) > https://member.bilibili.com/x/vu/web/add/v3 @@ -361,19 +924,21 @@ curl -G 'https://member.bilibili.com/x/vupre/web/tag/recommend' \ | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ------ | ---- | -------- | ------ | ---- | | videos | array | 视频信息 | 必要 | 若为分 P 视频, 请注意数组元素顺序 | -| cover | str | 视频封面 URL | 必要 | 参见[上传视频封面](#上传视频封面) | -| cover43 | str | 视频封面 URL (比例为 4:3) | 必要 | 可为空 | +| cover | str | 视频封面 URL | 非必要 | 如果不传会自动取封面,参见[上传视频封面](#上传视频封面) | +| cover43 | str | 视频封面 URL (比例为 4:3) | 非必要 | 可为空 | | title | str | 视频标题 | 必要 | 最多 80 字 | | copyright | num | 1: 自制<br />2: 转载 | 必要 | | -| tid | num | 分类 ID | 必要 | | +| tid | num | 分区 ID | 必要 | Web端此参数已无法手动设置,参数值为从[预测稿件类型](#预测稿件类型)中获取第一个固定id | +| human_type2 | num | 新分区ID | 非必要| 从 [新分区ID](#获取新分区ID) 获取 | | tag | str | 视频标签 | 必要 | 多个标签用 `,` 分隔, 最多 10 个 | | desc_format_id | num | 简介格式 ID? | 必要 | 9999: 纯文本 | -| desc | str | 视频简介 | 必要 | 最多 2000 字 | +| desc | str | 视频简介 | 非必要 | 最多 2000 字 | +| desc_v2 | str | 视频简介额外信息 | 非必要 | 比如有艾特操作时传递,见备注 | | recreate | num | 是否允许二创 | 必要 | -1: 允许(默认)<br />1: 不允许 | | dynamic | str | 粉丝动态 | 必要 | | | interactive | num | 互动视频? | 必要 | 0: 否 | | act_reserve_create | num | 活动预约? | 必要 | 0: 否 | -| no_disturbance | num | 勿扰模式? | 必要 | 0: 否 | +| no_disturbance | num | 是否推送到动态| 必要 | 0:不推送,1:推送| | no_reprint | num | 是否允许转载 | 必要 | 1: 允许<br />0: 不允许 | | subtitle | obj | 字幕信息 | 必要 | | | dolby | num | 杜比音效 | 必要 | 0: 否(默认)<br />1: 是 | @@ -382,6 +947,11 @@ curl -G 'https://member.bilibili.com/x/vupre/web/tag/recommend' \ | up_close_reply | bool | 关闭评论 | 必要 | | | up_close_danmu | bool | 关闭弹幕 | 必要 | | | web_os | num | 平台类型? | 必要 | 3 | +| is_only_self | 可见性 | 非必要 | 0:公开<br/>1:仅自己可见 | +| topic_id | 话题id | 非必要 | 可从[查询话题](./upload.md#查询话题)等相关接口获取 | +| mission_id | 任务id | 非必要 | 可从[查询话题](./upload.md#查询话题)等相关接口获取 | +| is_360 | num | 是否全景 | 非必要 | -1:非全景<br/>1:全景 | +| neutral_mark | str | 创作者声明 | 非必要 | | `videos` 数组中的对象: @@ -399,6 +969,32 @@ curl -G 'https://member.bilibili.com/x/vupre/web/tag/recommend' \ | open | num | 是否启用字幕投稿 | 必要 | 0: 启用(默认)<br />1: 不启用 | | lan | str | 字幕投稿语言 | 必要 | 可为空 | +**desc_v2举例:** + +```js +{ + // 如果两者不一致,可能导致后续在web修改出现错误 + "desc": "前面@陈睿 后面", + "desc_v2": [ // 纯文字type是1,艾特用户type是2,biz_id为用户uid + { + "biz_id": "", + "raw_text": "前面", + "type": 1 + }, + { + "biz_id": "208259", // uid + "raw_text": "陈睿", // 用户名 + "type": 2 + }, + { + "biz_id": "", + "raw_text": " 后面", + "type": 1 + } + ] +} +``` + **示例:** 假设已经把需要发送的数据存放在文件 `./data.json` 中: @@ -469,6 +1065,250 @@ curl -X POST --url "https://member.bilibili.com/x/vu/web/add/v3" \ </details> +## 编辑视频稿件(Web) + +> https://member.bilibili.com/x/vu/web/edit + +*请求方式: POST* + +认证方式:Cookie(SESSDATA) + +**URL参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | -------- | ------ | ---- | +| t | num | 当前时间 | 非必要 | UNIX 毫秒时间戳 | +| csrf | str | CSRF Token (位于 Cookie 中 bili_jct) | 必要 | | + +**正文参数(application/json):** + +绝大部分参数与上传一致,部分参数只有不对编辑生效 + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | -------- | ------ | ---- | +| aid | num | 视频 ID | 必要 | | +| videos | array | 视频信息 | 必要 | 若为分 P 视频, 请注意数组元素顺序 | +| title | str | 视频标题 | 必要 | 最多 80 字 | +| cover | str | 视频封面 URL | 非必要 | 如果不传会自动取封面,参见[上传视频封面](#上传视频封面) | +| cover43 | str | 视频封面 URL (比例为 4:3) | 非必要 | 可为空 | +| copyright | num | 1: 自制<br />2: 转载 | 必要 | | +| tid | num | 分区 ID | 必要 | | +| tag | str | 视频标签 | 必要 | 多个标签用 `,` 分隔, 最多 10 个 | +| desc_format_id | num | 简介格式 ID? | 必要 | 9999: 纯文本 | +| desc | str | 视频简介 | 非必要 | 最多 2000 字 | +| desc_v2 | str | 视频简介额外信息 | 非必要 | 比如有艾特操作时传递,见上传视频 | +| recreate | num | 是否允许二创 | 必要 | -1: 允许(默认)<br />1: 不允许 | +| dynamic | str | 粉丝动态 | 必要 | | +| interactive | num | 互动视频? | 必要 | 0: 否 | +| act_reserve_create | num | 活动预约? | 必要 | 0: 否 | +| no_disturbance | num | 是否推送到动态 | 必要 | 0:不推送<br />1:推送 | +| no_reprint | num | 是否允许转载 | 必要 | 1: 允许<br />0: 不允许 | +| subtitle | obj | 字幕信息 | 必要 | | +| web_os | num | 操作系统 | 必要 | 1: Web | +| mission_id | num | 任务 ID | 非必要 | 0: 无 | +| csrf | str | CSRF Token (位于 Cookie 中 bili_jct) | 必要 | | +| new_web_edit | num | 未知 | 非必要 | 未知 | +| is_360 | num | 是否全景 | 非必要 | -1:非全景<br/>1:全景 | +| is_only_self | 可见性 | 非必要 | 0:公开<br/>1:仅自己可见 | + + +**JSON回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----- | +| code | num | 返回值 | 0: 成功<br />其他: 失败 | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "aid": 123456, + "bvid": "BV1xx411c7mD" + } +} +``` + +</details> + +## 获取新分区ID + +> https://member.bilibili.com/x/vupre/web/archive/human/type2/list + +*请求方式: GET* + +认证方式:Cookie(SESSDATA) + +**URL参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | -------- | ------ | ---- | +| t | num | 当前时间 | 非必要 | UNIX 毫秒时间戳 | + +**JSON回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----- | +| code | num | 返回值 | 0: 成功<br />其他: 失败 | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| type_list | array | 信息本体 | | + +`type_list` 对象: + +| 参数名 | 类型 | 内容 | 备注 | +| ------ | ---- | -------- | ---- | +| id | num | 分区ID | | +| name | str | 分区名 | | + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "type_list": [ + { + "id": 1001, + "name": "影视" + }, + { + "id": 1002, + "name": "娱乐" + }, + { + "id": 1003, + "name": "音乐" + }, + { + "id": 1004, + "name": "舞蹈" + }, + { + "id": 1005, + "name": "动画" + }, + { + "id": 1006, + "name": "绘画" + }, + { + "id": 1007, + "name": "鬼畜" + }, + { + "id": 1008, + "name": "游戏" + }, + { + "id": 1009, + "name": "资讯" + }, + { + "id": 1010, + "name": "知识" + }, + { + "id": 1011, + "name": "人工智能" + }, + { + "id": 1012, + "name": "科技数码" + }, + { + "id": 1013, + "name": "汽车" + }, + { + "id": 1014, + "name": "时尚美妆" + }, + { + "id": 1015, + "name": "家装房产" + }, + { + "id": 1016, + "name": "户外潮流" + }, + { + "id": 1017, + "name": "健身" + }, + { + "id": 1018, + "name": "体育运动" + }, + { + "id": 1019, + "name": "手工" + }, + { + "id": 1020, + "name": "美食" + }, + { + "id": 1021, + "name": "小剧场" + }, + { + "id": 1022, + "name": "旅游出行" + }, + { + "id": 1023, + "name": "三农" + }, + { + "id": 1024, + "name": "动物" + }, + { + "id": 1025, + "name": "亲子" + }, + { + "id": 1026, + "name": "健康" + }, + { + "id": 1027, + "name": "情感" + }, + { + "id": 1029, + "name": "vlog" + }, + { + "id": 1030, + "name": "生活兴趣" + }, + { + "id": 1031, + "name": "生活经验" + } + ] + } +} +``` + +</details> + ## 上传视频文件 注: 目前看来上传的视频文件似乎不会自动删除, 而且似乎不是视频也可以上传的样子, 但是下载认证字段有效期只有 5 天 diff --git a/docs/dynamic/action.md b/docs/dynamic/action.md index 66cfff1..aa55d2b 100644 --- a/docs/dynamic/action.md +++ b/docs/dynamic/action.md @@ -1,7 +1,125 @@ # 动态操作 +## 点赞动态 + +> https://api.bilibili.com/x/dynamic/feed/dyn/thumb + +*请求方法: POST* + +认证方式: Cookie (SESSDATA) + +**URL 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ------ | ------ | ------ | ---- | +| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 必要 | | + +**正文参数 (application/json):** + +根对象: + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ------ | -------- | ------ | ---- | +| dyn_id_str | string | 动态 id | 必要 | | +| up | number | 点赞状态 | 必要 | 0: 切换<br />1: 点赞<br />2: 取消点赞 | +| spmid | string | `333.1369.0.0` | 不必要 | | +| from_spmid | string | `333.999.0.0` | 不必要 | | + +**JSON回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ------ | ---- | ---- | +| code | number | 返回值 | 0: 成功<br />-101: 账号未登录<br />-111: csrf 校验失败<br />4100001: 参数错误 | +| message | string | 错误消息 | 成功时为 `0` | +| ttl | number | `1` | | +| data | object | 空对象 | | + +**示例:** + +点赞动态 `1057955152016703512` + +```shell +curl -X POST 'https://api.bilibili.com/x/dynamic/feed/dyn/thumb' \ + --url-query 'csrf=xxx' \ + -b 'SESSDATA=xxxxx' \ + -H 'content-type: application/json' \ + --data-raw '{"dyn_id_str":"1057955152016703512","up":1}' +``` +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": {} +} +``` + +</details> + +## 点赞动态 (旧版) + +> https://api.vc.bilibili.com/dynamic_like/v1/dynamic_like/thumb + +*请求方法: POST* + +认证方式: Cookie (SESSDATA) + +**正文参数 (application/x-www-form-urlencoded):** + +根对象: + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ------ | -------- | ------ | ---- | +| dynamic_id | string | 动态 id | 必要 | | +| up | number | 点赞状态 | 必要 | 0: 切换<br />1: 点赞<br />2: 取消点赞 | +| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 必要 | | + +**JSON回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ------ | ---- | ---- | +| code | number | 返回值 | 0: 成功<br />-101: 账号未登录<br />-111: csrf 校验失败<br />4100001: 参数错误 | +| message | string | 错误消息 | 成功时为 `0` | +| ttl | number | `1` | | +| data | object | 空对象 | | + +**示例:** + +点赞动态 `1060771233257226247` + +```shell +curl -X POST 'https://api.vc.bilibili.com/dynamic_like/v1/dynamic_like/thumb' \ --data-urlencode 'csrf=xxxxxx' \ + --data-urlencode 'dynamic_id=1060771233257226247' \ + --data-urlencode 'up=1' \ + -b 'SESSDATA=xxx' +``` +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": {} +} +``` + +</details> + ## 删除动态 +参见 [创作中心 -> 图文操作 -> 删除动态](../creativecenter/opus.md#删除动态) + +## 删除动态 (旧版) + > <https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/rm_dynamic> *请求方式:POST* @@ -111,3 +229,123 @@ curl 'https://api.vc.bilibili.com/dynamic_draft/v1/dynamic_draft/rm_draft' \ ``` </details> + +## 设置置顶动态 + +> https://api.bilibili.com/x/dynamic/feed/space/set_top + +**请求方法: POST** + +认证方式: Cookie (SESSDATA) + +鉴权方式: Cookie 中 `buvid3` 不为空 + +**URL 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ------ | ------ | ------ | ---- | +| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 必要 | | + +**正文参数 (application/json):** + +根对象: + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------- | ------ | -------- | ------ | ---- | +| dyn_str | string | 动态 id | 必要 | | + +**JSON回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ------ | ---- | ---- | +| code | number | 返回值 | 0: 成功<br />-101: 账号未登录<br />-111: csrf 校验失败<br />4100001: 参数错误 | +| message | string | 错误消息 | 成功时为 `0` | +| ttl | number | `1` | | +| data | object | 空对象 | | + +**示例:** + + +置顶动态 `1063487284684259332` + +```shell +curl -X POST 'https://api.bilibili.com/x/dynamic/feed/space/set_top' \ + --url-query 'csrf=xxx' \ + -b 'SESSDATA=xxxxx; buvid3=aaa' \ + -H 'content-type: application/json' \ + --data-raw '{"dyn_str":"1063487284684259332"}' +``` +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": {} +} +``` + +</details> + +## 取消置顶动态 + +> https://api.bilibili.com/x/dynamic/feed/space/rm_top + +**请求方法: POST** + +认证方式: Cookie (SESSDATA) + +**URL 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ------ | ------ | ------ | ---- | +| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 必要 | | + +**正文参数 (application/json):** + +根对象: + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------- | ------ | -------- | ------ | ---- | +| dyn_str | string | 动态 id | 必要 | | + +**JSON回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ------ | ---- | ---- | +| code | number | 返回值 | 0: 成功<br />-101: 账号未登录<br />-111: csrf 校验失败<br />4100001: 参数错误 | +| message | string | 错误消息 | 成功时为 `0` | +| ttl | number | `1` | | +| data | object | 空对象 | | + +**示例:** + + +取消置顶动态 `1063487284684259332` + +```shell +curl -X POST 'https://api.bilibili.com/x/dynamic/feed/space/rm_top' \ + --url-query 'csrf=xxx' \ + -b 'SESSDATA=xxxxx' \ + -H 'content-type: application/json' \ + --data-raw '{"dyn_str":"1063487284684259332"}' +``` +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": {} +} +``` + +</details> diff --git a/docs/dynamic/all.md b/docs/dynamic/all.md index c0d700e..8c69ddf 100644 --- a/docs/dynamic/all.md +++ b/docs/dynamic/all.md @@ -76,125 +76,15 @@ | 字段 | 类型 | 内容 | 备注 | | --- | --- | --- | --- | -| module_author | obj | UP主信息 | | +| module_author | obj | UP主信息 | 参见 [MODULE_TYPE_AUTHOR](../opus/features.md#module-type-author) 中的 `module_author` 对象 | | module_dynamic | obj | 动态内容信息 | | -| module_more | obj | 动态右上角三点菜单 | | -| module_stat | obj | 动态统计数据 | | +| module_more | obj | 动态右上角三点菜单 | 参见 [module_more](../opus/features.md#module-more) 中的 `module_more` 对象 | +| module_stat | obj | 动态统计数据 | 参见 [MODULE_TYPE_STAT](../opus/features.md#module-type-stat) 中的 `module_stat` 对象 | | module_interaction | obj | 热度评论 | | | module_fold | obj | 动态折叠信息 | | | module_dispute | obj | 争议小黄条 | | | module_tag | obj | 置顶信息 | | -`data.items[n].modules.module_author`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| avater | obj | 头像信息 | 主要用于网页渲染, 若感兴趣可参考 [图片格式化](../misc/picture.md) | -| face | str | 头像 URL | | -| face_nft | bool | 是否为NFT头像 | | -| following | bool | 是否关注此UP主 | 自己的动态为`null` | -| jump_url | str | 跳转链接 | | -| label | str | 名称前标签 | `合集`<br/>`电视剧`<br/>`番剧` | -| mid | num | UP主UID<br/>剧集SeasonId | | -| name | str | UP主名称<br/>剧集名称<br/>合集名称 | | -| official_verify | obj | UP主认证信息 | | -| pendant | obj | UP主头像框 | | -| pub_action | str | 更新动作描述 | `投稿了视频`<br/>`直播了`<br/>`投稿了文章`<br/>`更新了合集`<br/>`与他人联合创作`<br/>`发布了动态视频`<br/>`投稿了直播回放` | -| pub_location_text | str | 空 | | -| pub_time | str | 更新时间 | `x分钟前`<br/>`x小时前`<br/>`昨天` | -| pub_ts | num | 更新时间戳 | UNIX 秒级时间戳 | -| type | str | 作者类型 | [作者类型](./dynamic_enum.md#作者类型) | -| vip | obj | UP主大会员信息 | | -| decorate | obj | 装扮信息 | | -| nft_info | obj | NFT头像信息 | | - -`data.items[n].modules.module_author.official_verify`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| desc | str | 认证说明 | | -| type | num | 认证类型 | | - -`data.items[n].modules.module_author.pendant`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| expire | num | 过期时间 | 此接口返回恒为`0` | -| image | str | 头像框图片url | | -| image_enhance | str | 头像框图片url | | -| image_enhance_frame | str | 头像框图片逐帧序列url | | -| name | str | 头像框名称 | | -| pid | num | 头像框id | | -| n_pid | num | 同 pid | | - -`data.items[n].modules.module_author.vip`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| avatar_subscript | num | 是否显示角标 | 0:不显示<br/>1:显示 | -| avatar_subscript_url | str | `空串` | | -| due_date | num | 大会员过期时间戳 | UNIX 毫秒时间戳 | -| label | obj | 大会员标签 | | -| nickname_color | str | 名字显示颜色 | 大会员:`#FB7299` | -| status | num | 大会员状态 | 0:无<br />1:有<br/>2:封禁? | -| theme_type | num | `0` | | -| type | num | 大会员类型 | 0:无<br />1:月大会员<br />2:年度及以上大会员 | - -`data.items[n].modules.module_author.vip.label`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| bg_color | str | 会员标签背景颜色 | `#FB7299` | -| bg_style | num | `0` `1` | | -| border_color | str | 空 | | -| img_label_uri_hans | str | 大会员牌子图片 | 动态版 简体版 | -| img_label_uri_hans_static | str | 大会员牌子图片 | 静态版 简体版 | -| img_label_uri_hant | str | 大会员牌子图片 | 动态版 繁体版 | -| img_label_uri_hant_static | str | 大会员牌子图片 | 静态版 繁体版 | -| label_theme | str | 会员标签 | vip:大会员<br />annual_vip:年度大会员<br />ten_annual_vip:十年大会员<br />hundred_annual_vip:百年大会员<br/>fools_day_hundred_annual_vip:最强绿鲤鱼 | -| path | str | 空 | | -| text | str | 会员类型文案 | `大会员` `年度大会员` `十年大会员` `百年大会员` `最强绿鲤鱼` | -| text_color | str | 用户名文字颜色 | | -| use_img_label | bool | `true` | | - -`data.items[n].modules.module_author.decorate`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| card_url | str | 动态卡片小图标图片URL | | -| fan | obj | 粉丝装扮信息 | | -| id | num | 装扮ID | | -| jump_url | str | 跳转URL | | -| name | str | 装扮名称 | | -| type | num | `1` `2` `3` | | - -`data.items[n].modules.module_author.decorate.fan`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| color | str | 编号颜色 | | -| color_format | obj | 颜色格式 | | -| is_fan | bool | 是否是粉丝装扮 | | -| num_str | str | 装扮编号前缀 | 如 `NO.` | -| number | num | 装扮编号 | | - -`data.items[n].modules.module_author.decorate.fan.color_format`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| colors | array | 颜色 | 带 `#` 前缀的 16 进制颜色代码 | -| end_point | str| 端点 | `0,100` | -| gradients | array | 渐变 | 内容 [0, 100] | -| start_point | str | 起点 | `0,0` | - -`data.items[n].modules.module_author.nft_info`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| region_icon | str | NFT头像角标URL | 类型1:https://i0.hdslb.com/bfs/activity-plat/static/20220506/334553dd7c506a92b88eaf4d59ac8b4d/j8AeXAkEul.gif <br/>类型2:https://i0.hdslb.com/bfs/activity-plat/static/20220506/334553dd7c506a92b88eaf4d59ac8b4d/IOHoVs1ebP.gif | -| region_type | num | NFT头像角标类型 | 1,2 | -| show_status | num | `1` | | - `data.items[n].modules.module_dynamic`: | 字段 | 类型 | 内容 | 备注 | @@ -202,7 +92,7 @@ | additional | obj | 相关内容卡片信息 | | | desc | obj | 动态文字内容 |其他动态时为null | | major | obj | 动态主体对象 |转发动态时为null | -| topic | obj | 话题信息 | | +| topic | obj | 话题信息 | 无时为 null, 参见 [MODULE_TYPE_TOPIC](../opus/features.md#module-type-topic) | `data.items[n].modules.module_dynamic.additional`: @@ -214,6 +104,8 @@ | goods | obj | 商品内容 | `ADDITIONAL_TYPE_GOODS`类型独有 | | vote | obj | 投票信息 | `ADDITIONAL_TYPE_VOTE`类型独有 | | ugc | obj | 视频信息 | `ADDITIONAL_TYPE_UGC`类型独有 | +| match | object | 比赛信息? | `ADDITIONAL_TYPE_MATCH`类型独有, 参见 [MODULE_TYPE_CONTENT](../opus/features.md#module-type-content) 的 `module_content.paragraphs[].link_card.match` | +| upower_lottery | object | 充电专属抽奖信息 | `ADDITIONAL_TYPE_UPOWER_LOTTERY`类型独有, 参见 [MODULE_TYPE_CONTENT](../opus/features.md#module-type-content) 的 `module_content.paragraphs[].link_card.upower_lottery` | `data.items[n].modules.module_dynamic.additional.common`: @@ -387,38 +279,9 @@ | 字段 | 类型 | 内容 | 备注 | | --- | --- | --- | --- | -| rich_text_nodes | array | 富文本节点列表 | [富文本节点类型](./dynamic_enum.md#富文本节点类型) | +| rich_text_nodes | array | 富文本节点列表 | [富文本节点类型](../opus/rich_text_nodes.md#富文本节点类型) | | text | str | 动态的文字内容 | | -`data.items[n].modules.module_dynamic.desc.rich_text_nodes[o]`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| orig_text | str | 原始文本 | | -| text | str | 替换后的文本 | | -| type | str | 节点类型 | [富文本节点类型](./dynamic_enum.md#富文本节点类型) | -| emoji | obj | 表情信息 | | -| jump_url | str | 跳转URL | | -| rid | str | 关联id | | -| goods | obj | 商品信息 | | -| icon_name | str | 图标名称 | `taobao` | - -`data.items[n].modules.module_dynamic.desc.rich_text_nodes[o].emoji`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| icon_url | str | 表情图片URL | | -| size | num | 表情尺寸 | `1` `2` | -| text | str | 表情的文字代码 | | -| type | num | 表情类型 | `1` `2` `3` | - -`data.items[n].modules.module_dynamic.desc.rich_text_nodes[o].goods`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| jump_url | str | 跳转URL | | -| type | num | `1` | | - `data.items[n].modules.module_dynamic.major`: | 字段 | 类型 | 内容 | 备注 | @@ -436,6 +299,53 @@ | opus | obj | 图文动态 | `MAJOR_TYPE_OPUS` | | live | obj | | | | none | obj | 动态失效 | `MAJOR_TYPE_NONE` | +| upower_common | obj | 充电相关 | `MAJOR_TYPE_UPOWER_COMMON` | + +`data.items[].modules.module_dynamic.major.upower_common` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| background | object | 背景 | | +| button | object | 按钮 | | +| icon | object | 图标 | | +| jump_url | string | 跳转 URL | | +| rid | string | 关联 id | | +| title | string | 标题 | | +| title_prefix | string | 标题前缀 | | +| type | number | 类型 | | +| up_mid | number | UP 主 mid (UID) | | +| upower_action_state | number | 充电操作状态? | | +| upower_level | number | 充电级别? | | + +`data.items[].modules.module_dynamic.major.upower_common.background` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| dark_src | string | 深色背景 | | +| light_src | string | 浅色背景 | | + +`data.items[].modules.module_dynamic.major.upower_common.button` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| jump_style | object | 跳转样式 | | +| jump_url | string | 跳转 URL | | +| type | number | 类型 | | + +`data.items[].modules.module_dynamic.major.upower_common.button.jump_style` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| text | string | 文本 | | + +`data.items[].modules.module_dynamic.major.upower_common.icon` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| dark_src | string | 深色图标 URL | | +| light_src | string | 浅色图标 URL | | + +<!-- Generated by json-apidoc-gen @ 2025-07-20T07:08:06.175919645Z --> `data.items[n].modules.module_dynamic.major.ugc_season`: @@ -551,9 +461,9 @@ | 字段 | 类型 | 内容 | 备注 | | --- | --- | --- | --- | -| bg_color | str | `空串` | | -| color | str | `空串` | | -| text | str | `空串` | | +| bg_color | str | 背景色 | | +| color | str | 前景色 | | +| text | str | 文本 | | `data.items[n].modules.module_dynamic.major.pgc`: @@ -659,76 +569,6 @@ | --- | --- | --- | --- | | tips | str | 动态失效显示文案 | deprecated? | -`data.items[n].modules.module_dynamic.topic`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| id | num | 话题id | | -| jump_url | str | 跳转URL | | -| name | str | 话题名称 | | - -`data.items[n].modules.module_more`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| three_point_items | array | 右上角三点菜单 | | - -`data.items[n].modules.module_more.three_point_items[o]`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| label | str | 显示文本 | | -| type | str | 类型 | 参见 [动态主体类型](dynamic_enum.md#动态主体类型) | -| modal | obj | 弹出框信息 | 删除动态时弹出 | -| params | obj | 参数 | 置顶/取消置顶时使用 | - -`data.items[n].modules.module_more.three_point_items[o].modal`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| cancel | str | 取消按钮 | `我点错了` | -| confirm | str | 确认按钮 | `删除` | -| content | str | 提示内容 | `确定要删除此条动态吗?` | -| title | str | 标题 | `删除动态` | - -`data.items[n].modules.module_more.three_point_items[o].params`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| dynamic_id | str | 当前动态ID | deprecated? | -| status | bool | 当前动态是否处于置顶状态 | deprecated? | - -`data.items[n].modules.module_stat`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| comment | obj | 评论数据 | | -| forward | obj | 转发数据 | | -| like | obj | 点赞数据 | | - -`data.items[n].modules.module_stat.comment`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| count | num | 评论数 | | -| forbidden | bool | `false` | | -| hidden | bool | 是否隐藏 | 直播类型动态会隐藏回复功能 | - -`data.items[n].modules.module_stat.forward`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| count | num | 转发数 | | -| forbidden | bool | `false` | | - -`data.items[n].modules.module_stat.like`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| count | num | 点赞数 | | -| forbidden | bool | `false` | | -| status | bool | 当前用户是否点赞 | | - `data.items[n].modules.module_interaction`: | 字段 | 类型 | 内容 | 备注 | @@ -746,28 +586,9 @@ | 字段 | 类型 | 内容 | 备注 | | --- | --- | --- | --- | -| rich_text_nodes | array | 富文本节点列表 | [富文本节点类型](./dynamic_enum.md#富文本节点类型) | +| rich_text_nodes | array | 富文本节点列表 | [富文本节点类型](../opus/rich_text_nodes.md#富文本节点类型) | | text | str | 评论内容 | | -`data.items[n].modules.module_interaction.items[o].desc.rich_text_nodes`数组中的: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| orig_text | str | 原始文本 | | -| rid | str | 关联ID | 用户UID | -| text | str | 替换后文本 | | -| type | str | 富文本节点类型 | [富文本节点类型](./dynamic_enum.md#富文本节点类型) | -| emoji | obj | 表情信息 | | - -`data.items[n].modules.module_interaction.items[o].desc.rich_text_nodes[n].emoji`: - -| 字段 | 类型 | 内容 | 备注 | -| --- | --- | --- | --- | -| icon_url | str | 表情图片URL | | -| size | num | 表情尺寸 | `1` `2` | -| text | str | 表情的文字代码 | | -| type | num | 表情类型 | `1` `2` `3` | - `data.items[n].modules.module_fold`: | 字段 | 类型 | 内容 | 备注 | @@ -7946,4 +7767,4 @@ curl -G 'https://api.bilibili.com/x/polymer/web-dynamic/v1/feed/all/update' \ } ``` -</details> \ No newline at end of file +</details> diff --git a/docs/dynamic/banner.md b/docs/dynamic/banner.md new file mode 100644 index 0000000..2df8329 --- /dev/null +++ b/docs/dynamic/banner.md @@ -0,0 +1,132 @@ +# 首页公告栏 + +## 动态首页公告栏 (新版) + +> https://api.bilibili.com/x/dynamic/feed/dyn/banner + +*请求方法: GET* + +**URL 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ---- | ------ | ---- | +| platform | number | 平台? | 不必要 | 默认为 `1`, 留空无 | +| position | string | 位置? | 不必要 | 默认为 `web动态`, 留空无 | +| web_location | string | `333.1365` | 不必要 | | + +**JSON 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| code | number | 返回值 | 0: 成功 | +| data | object | 数据本体 | | +| message | string | 错误信息 | 成功时为 `0` | +| ttl | number | `1` | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| banners | object[] | 横幅们 | 套了个娃 | + +`data.banners[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| banner_id | number | 横幅 id | 旧版接口无 | +| end_time | number | 结束时间 | UNIX 秒级时间戳 | +| img_url | string | 图片 URL | | +| link | string | 跳转链接 | | +| platform | number | 平台 | 与请求参数对应 | +| position | string | 位置 | 与请求参数对应 | +| start_time | number | 开始时间 | UNIX 秒级时间戳 | +| title | string | 标题 | | +| weight | number | 权重 | | + +**示例:** + +```shell +curl 'https://api.bilibili.com/x/dynamic/feed/dyn/banner?platform=1&position=web动态&web_location=333.1365' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "data": { + "banners": [ + { + "banner_id": 20, + "end_time": 2056204800, + "img_url": "https://i0.hdslb.com/bfs/vc/9c699f2acbcad00197e92c401b835d2c6aba8a55.png", + "link": "https://www.bilibili.com/blackboard/activity-5zJxM3spoS.html", + "platform": 1, + "position": "web动态", + "start_time": 1582862523, + "title": "点击进入", + "weight": 1 + } + ] + }, + "message": "0", + "ttl": 1 +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-05-01T00:21:48.81113265Z --> + +## 动态首页公告栏 (旧版) + +> https://api.vc.bilibili.com/banner_svr/v1/banner_svr/show + + +*请求方法: GET* + +**URL 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ---- | ------ | ---- | +| platform | number | 平台? | 不必要 | 默认为 `1` | +| position | string | 位置? | 不必要 | 默认为 `web动态` | + +**JSON 回复:** + +与 [动态首页公告栏 (新版)](#动态首页公告栏-新版) 相同, 除了少了个 `data.banners[].banner_id` + +**示例:** + +```shell +curl 'https://api.vc.bilibili.com/banner_svr/v1/banner_svr/show' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "banners": [ + { + "img_url": "https://i0.hdslb.com/bfs/vc/9c699f2acbcad00197e92c401b835d2c6aba8a55.png", + "title": "点击进入", + "link": "https://www.bilibili.com/blackboard/activity-5zJxM3spoS.html", + "platform": 1, + "weight": 1, + "position": "web动态", + "start_time": 1582862523, + "end_time": 2056204800 + } + ] + } +} +``` + +</details> diff --git a/docs/dynamic/card_info.md b/docs/dynamic/card_info.md index d0ff84c..89dcc31 100644 --- a/docs/dynamic/card_info.md +++ b/docs/dynamic/card_info.md @@ -1,14 +1,16 @@ -# 动态详细信息字段 +# 动态卡片信息字段 -不同动态内容卡片的具体信息。包含在***获取特定动态卡片信息,话题下特定动态信息***等API的Json回复中。 +不同动态内容卡片的具体信息。包含在 [获取特定动态卡片信息](get_dynamic_detail.md#获取特定动态卡片信息) 等 API 的 JSON 回复中 以card字段的形式出现,内容为一个可被解析为Json对象的字符串。 不同类型的动态内容拥有不同的字段。 +注: 本处 `type` 一般不包含在 `card` 字符串代表的对象内 + **** -## 在转发类动态中(type=1) +## 转发动态 (type=1) 需注意账号转发视频投稿,其他用户的动态以及分享收藏夹等均为转发类内容,并不属于type=4300的收藏类动态等。 @@ -104,7 +106,7 @@ </details> -## 在图片动态中(type=2) +## 图片动态 (type=2) 在type=2的图片动态中,解析出的对象包含以下内容: @@ -168,7 +170,7 @@ </details> -## 在文字动态中(type=4) +## 文字动态 (type=4) 在type=4的文字动态中,解析出的对象包含以下内容: @@ -203,7 +205,7 @@ </details> -## 在视频投稿动态中(type=8) +## 视频投稿动态 (type=8) 在type=8的视频投稿动态中,解析出的对象包含以下内容: @@ -302,7 +304,11 @@ </details> -## 在专栏投稿动态中(type=64) +## 小视频 (type=16) + +## 戏剧? (type=32) + +## 专栏投稿动态 (type=64) 在type=64的专栏投稿动态中,解析出的对象包含以下内容: @@ -449,7 +455,7 @@ </details> -## 在音频投稿动态中(type=256) +## 音频投稿动态 (type=256) 在type=256的音频投稿动态中,解析出的对象包含以下内容: @@ -490,3 +496,109 @@ ``` </details> + +## 番剧 (type=512) + +## ??? (type=1000) + +## ??? (type=1001) + +## ??? (type=1024) + +## H5 活动动态 (type=2048) + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| rid | number | 动态 id | | +| sketch | object | 动态卡片内容 | | +| user | object | 用户信息 | | +| vest | object | 动态正文内容 | | + +`sketch` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| cover_url | string | 封面 URL | | +| desc_text | string | 描述文本 | | +| sketch_id | number | 卡片 id | 即动态 id | +| target_url | string | 目标 URL | | +| text | string | 文本? | 空? | +| title | string | 标题 | | + +`user` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| face | string | 头像 URL | | +| uid | number | mid (UID) | | +| uname | string | 用户名 | | + +`vest` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| content | string | 内容 | | +| uid | number | 用户 mid (UID) | | + +**示例:** + +<details> +<summary>查看示例:</summary> + +```json +{ + "rid": 1093384350151475200, + "sketch": { + "cover_url": "https://i0.hdslb.com/bfs/game/65e4fa4b3cf2d177148328e2ff76535500bc563c.png", + "desc_text": "分享了一条动态", + "sketch_id": 1093755435448533000, + "target_url": "https://space.bilibili.com/645769214", + "text": "", + "title": "你好,世界" + }, + "user": { + "face": "https://i2.hdslb.com/bfs/face/77906db03b1eefac02613de184afad03f7bc58d7.jpg", + "uid": 645769214, + "uname": "Session小胡" + }, + "vest": { + "content": "[笑哭]", + "uid": 645769214 + } +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-07-26T01:40:56.464495209Z --> + +## 漫画分享 (type=2049) + +## PGC 番剧 (type=4097) + +## 电影 (type=4098) + +## 电视剧 (type=4099) + +## 国创动漫 (type=4100) + +## 纪录片 (type=4101) + +## 直播 (type=4200) + +## 直播 (type=4201) + +## 收藏夹 (type=4300) + +## 付费课程 (type=4302) + +## 付费课程 (type=4303) + +## 直播 (type=4308) + +## 合集 (type=4310) + +## ??? (type=4311) + +## ??? (type=268435455) diff --git a/docs/dynamic/detail.md b/docs/dynamic/detail.md index a0bb866..2018cea 100644 --- a/docs/dynamic/detail.md +++ b/docs/dynamic/detail.md @@ -3,6 +3,7 @@ ## 动态详情 > https://api.bilibili.com/x/polymer/web-dynamic/v1/detail +> https://api.bilibili.com/x/polymer/web-dynamic/desktop/v1/detail *请求方式: GET* @@ -18,7 +19,7 @@ | timezone_offset | num | -480 | 非必要 | | | platform | str | 平台 | 非必要 | `web` | | gaia_source | str | 来源 | 非必要 | `main_web` | -| features | str | 功能 | 必要 | `itemOpusStyle,opusBigCover,onlyfansVote,endFooterHidden,decorationCard,onlyfansAssetsV2,ugcDelete,onlyfansQaCard,commentsNewVersion` | +| features | str | 功能 | 必要 | `itemOpusStyle,opusBigCover,onlyfansVote,endFooterHidden,decorationCard,onlyfansAssetsV2,ugcDelete,onlyfansQaCard,commentsNewVersion`, 参见 [图文 功能模块](../opus/features.md) | | web_location | str | `333.1368` | 非必要 | | | x-bili-device-req-json | obj | 设备信息? | 非必要 | `{"platform":"web","device":"pc"}` | | x-bili-web-req-json | obj | 请求信息? | 非必要 | `{"spm_id":"333.1368"}` | @@ -31,7 +32,7 @@ | 字段名 | 类型 | 内容 | 备注 | |---------|-----|------|--------------------------| -| code | num | 响应码 | 0: 成功<br/>-352: 风控校验失败<br />4101139: 4101139 | +| code | num | 响应码 | 0: 成功<br/>-352: 风控校验失败<br />500: 服务器错误<br />4101139: 4101139 | | message | str | | | | ttl | num | 1 | | | data | obj | 信息本体 | | @@ -741,3 +742,1586 @@ curl -G 'https://api.vc.bilibili.com/lottery_svr/v1/lottery_svr/lottery_notice' ``` </details> + +## 动态转发列表 + +> https://api.bilibili.com/x/polymer/web-dynamic/v1/detail/forward + +*请求方法: GET* + +鉴权方式: `User-Agent` 为有效浏览器等 + +<!-- #1343 --> + +**URL 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | ---- | -------- | ------ | ---- | +| id | number | 动态 id | 必要 | | +| offset | string | 偏移 | 不必要 | 来自上一次请求的 `data.offset` | + +**JSON 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| code | number | 返回值 | 0: 成功<br />4101001: 参数错误<br />-352: 风控校验失败 | +| data | object | 数据本体 | | +| message | string | 错误信息 | 成功时为 `0` | +| ttl | number | `1` | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| has_more | boolean | 是否有更多数据 | | +| items | object[] | 转发列表 | | +| offset | string | 下一页偏移 | 用于下一次请求 | +| total | number | 总数 | | + +`data.items[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| desc | object | 描述 | | +| id_str | string | 进行转发的动态 id | | +| pub_time | string | 发布时间 | | +| user | object | 用户 | | + +`data.items[].desc` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| rich_text_nodes | object[] | 富文本节点 | 参见 [富文本节点](../opus/rich_text_nodesmd) | +| text | string | 纯文本 | | + +`data.items[].user` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| face | string | 头像 URL | | +| face_nft | boolean | 是否为 NFT 头像 | | +| mid | number | 用户 mid (UID) | | +| name | string | 用户名 | | +| official | object | 认证信息 | | +| pendant | object | 装扮信息 | | +| vip | object | 大会员信息 | | + +`data.items[].user.official` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| desc | string | | | +| role | number | | | +| title | string | | | +| type | number | | | + +`data.items[].user.pendant` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| expire | number | | | +| image | string | | | +| image_enhance | string | | | +| image_enhance_frame | string | | | +| n_pid | number | | | +| name | string | | | +| pid | number | | | + +`data.items[].user.vip` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| avatar_icon | object | | | +| avatar_subscript | number | | | +| avatar_subscript_url | string | | | +| due_date | number | | | +| label | object | | | +| nickname_color | string | | | +| role | number | | | +| status | number | | | +| theme_type | number | | | +| tv_due_date | number | | | +| tv_vip_pay_type | number | | | +| tv_vip_status | number | | | +| type | number | | | +| vip_pay_type | number | | | + +`data.items[].user.vip.avatar_icon` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| icon_resource | object | | | + +`data.items[].user.vip.avatar_icon.icon_resource` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | + +`data.items[].user.vip.label` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| bg_color | string | | | +| bg_style | number | | | +| border_color | string | | | +| img_label_uri_hans | string | | | +| img_label_uri_hans_static | string | | | +| img_label_uri_hant | string | | | +| img_label_uri_hant_static | string | | | +| label_theme | string | | | +| path | string | | | +| text | string | | | +| text_color | string | | | +| use_img_label | boolean | | | + +**示例:** + +```shell +curl 'https://api.bilibili.com/x/polymer/web-dynamic/v1/detail/forward' \ +--url-query 'id=1091904489085993012' \ +-A 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "data": { + "has_more": true, + "items": [ + { + "desc": { + "rich_text_nodes": [ + { + "orig_text": "恭喜恭喜​//", + "text": "恭喜恭喜​//", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "@英伟达GeForce", + "rid": "485703766", + "text": "@英伟达GeForce", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注", + "text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "@英伟达GeForce ", + "rid": "485703766", + "text": "@英伟达GeForce ", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": " 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "text": " 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E8%A3%82%E5%8F%98%E5%A4%A9%E5%9C%B0s1%23", + "orig_text": "#裂变天地s1#", + "text": "#裂变天地s1#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23CS2%23", + "orig_text": "#CS2#", + "text": "#CS2#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23TYLOO%23", + "orig_text": "#TYLOO#", + "text": "#TYLOO#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E4%B8%AD%E5%9B%BD%E5%A4%A9%E7%A6%84%E5%88%9B%E5%8E%86%E5%8F%B2%E5%A4%BA%E5%86%A0%23", + "orig_text": "#中国天禄创历史夺冠#", + "text": "#中国天禄创历史夺冠#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + } + ], + "text": "恭喜恭喜​//@英伟达GeForce:热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n#裂变天地s1##CS2##TYLOO##中国天禄创历史夺冠#" + }, + "id_str": "1092279955170000920", + "pub_time": "1分钟前", + "user": { + "face": "https://i2.hdslb.com/bfs/face/c831cf26f1012338306a178d70a436a7ac2d79fb.jpg", + "face_nft": false, + "mid": 58964126, + "name": "see_ka", + "official": { + "desc": "", + "role": 0, + "title": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "vip": { + "avatar_icon": { + "icon_resource": {} + }, + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1699977600000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "role": 0, + "status": 0, + "theme_type": 0, + "tv_due_date": 0, + "tv_vip_pay_type": 0, + "tv_vip_status": 0, + "type": 1, + "vip_pay_type": 0 + } + } + }, + { + "desc": { + "rich_text_nodes": [ + { + "orig_text": "转发动态//", + "text": "转发动态//", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "@英伟达GeForce", + "rid": "485703766", + "text": "@英伟达GeForce", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E8%A3%82%E5%8F%98%E5%A4%A9%E5%9C%B0s1%23", + "orig_text": "#裂变天地s1#", + "text": "#裂变天地s1#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23CS2%23", + "orig_text": "#CS2#", + "text": "#CS2#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23TYLOO%23", + "orig_text": "#TYLOO#", + "text": "#TYLOO#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E4%B8%AD%E5%9B%BD%E5%A4%A9%E7%A6%84%E5%88%9B%E5%8E%86%E5%8F%B2%E5%A4%BA%E5%86%A0%23", + "orig_text": "#中国天禄创历史夺冠#", + "text": "#中国天禄创历史夺冠#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + } + ], + "text": "转发动态//@英伟达GeForce:热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n#裂变天地s1##CS2##TYLOO##中国天禄创历史夺冠#" + }, + "id_str": "1092279895003758596", + "pub_time": "1分钟前", + "user": { + "face": "https://i2.hdslb.com/bfs/face/d62d4f1d1e8e74a5bc3befd1367c0e0cace13390.jpg", + "face_nft": false, + "mid": 3546652805696378, + "name": "小大宙", + "official": { + "desc": "", + "role": 0, + "title": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "vip": { + "avatar_icon": { + "icon_resource": {} + }, + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 0, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "role": 0, + "status": 0, + "theme_type": 0, + "tv_due_date": 0, + "tv_vip_pay_type": 0, + "tv_vip_status": 0, + "type": 0, + "vip_pay_type": 0 + } + } + }, + { + "desc": { + "rich_text_nodes": [ + { + "orig_text": "许愿幸运呀嘿嘿,加油加油", + "text": "许愿幸运呀嘿嘿,加油加油", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "emoji": { + "icon_url": "https://i0.hdslb.com/bfs/garb/c2cb4128fd28a727b4aec120e26adc4adf0f4e75.png", + "size": 2, + "text": "[Akie秋绘七周年_阳光可爱]", + "type": 3 + }, + "orig_text": "[Akie秋绘七周年_阳光可爱]", + "text": "[Akie秋绘七周年_阳光可爱]", + "type": "RICH_TEXT_NODE_TYPE_EMOJI" + }, + { + "emoji": { + "icon_url": "https://i0.hdslb.com/bfs/garb/c2cb4128fd28a727b4aec120e26adc4adf0f4e75.png", + "size": 2, + "text": "[Akie秋绘七周年_阳光可爱]", + "type": 3 + }, + "orig_text": "[Akie秋绘七周年_阳光可爱]", + "text": "[Akie秋绘七周年_阳光可爱]", + "type": "RICH_TEXT_NODE_TYPE_EMOJI" + }, + { + "orig_text": "​//", + "text": "​//", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "@英伟达GeForce", + "rid": "485703766", + "text": "@英伟达GeForce", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注", + "text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "@英伟达GeForce ", + "rid": "485703766", + "text": "@英伟达GeForce ", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": " 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "text": " 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E8%A3%82%E5%8F%98%E5%A4%A9%E5%9C%B0s1%23", + "orig_text": "#裂变天地s1#", + "text": "#裂变天地s1#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23CS2%23", + "orig_text": "#CS2#", + "text": "#CS2#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23TYLOO%23", + "orig_text": "#TYLOO#", + "text": "#TYLOO#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E4%B8%AD%E5%9B%BD%E5%A4%A9%E7%A6%84%E5%88%9B%E5%8E%86%E5%8F%B2%E5%A4%BA%E5%86%A0%23", + "orig_text": "#中国天禄创历史夺冠#", + "text": "#中国天禄创历史夺冠#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + } + ], + "text": "许愿幸运呀嘿嘿,加油加油[Akie秋绘七周年_阳光可爱][Akie秋绘七周年_阳光可爱]​//@英伟达GeForce:热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n#裂变天地s1##CS2##TYLOO##中国天禄创历史夺冠#" + }, + "id_str": "1092279663073427464", + "pub_time": "2分钟前", + "user": { + "face": "https://i2.hdslb.com/bfs/face/2286199120c79b81bd77f1c21849288a656e52d3.webp", + "face_nft": false, + "mid": 1627169000, + "name": "咚咚咚巴拉嘎嘎", + "official": { + "desc": "", + "role": 0, + "title": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "vip": { + "avatar_icon": { + "icon_resource": {} + }, + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 0, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "role": 0, + "status": 0, + "theme_type": 0, + "tv_due_date": 0, + "tv_vip_pay_type": 0, + "tv_vip_status": 0, + "type": 0, + "vip_pay_type": 0 + } + } + }, + { + "desc": { + "rich_text_nodes": [ + { + "orig_text": "转发动态//", + "text": "转发动态//", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "@英伟达GeForce", + "rid": "485703766", + "text": "@英伟达GeForce", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E8%A3%82%E5%8F%98%E5%A4%A9%E5%9C%B0s1%23", + "orig_text": "#裂变天地s1#", + "text": "#裂变天地s1#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23CS2%23", + "orig_text": "#CS2#", + "text": "#CS2#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23TYLOO%23", + "orig_text": "#TYLOO#", + "text": "#TYLOO#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E4%B8%AD%E5%9B%BD%E5%A4%A9%E7%A6%84%E5%88%9B%E5%8E%86%E5%8F%B2%E5%A4%BA%E5%86%A0%23", + "orig_text": "#中国天禄创历史夺冠#", + "text": "#中国天禄创历史夺冠#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + } + ], + "text": "转发动态//@英伟达GeForce:热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n#裂变天地s1##CS2##TYLOO##中国天禄创历史夺冠#" + }, + "id_str": "1092278962995855364", + "pub_time": "5分钟前", + "user": { + "face": "https://i0.hdslb.com/bfs/face/b829e7e3a9e7b1dc8e2fb0486ddcd60e61ca9bca.jpg", + "face_nft": false, + "mid": 3493274574654105, + "name": "雷冬冬加油呀", + "official": { + "desc": "", + "role": 0, + "title": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "vip": { + "avatar_icon": { + "icon_resource": {} + }, + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 0, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "role": 0, + "status": 0, + "theme_type": 0, + "tv_due_date": 0, + "tv_vip_pay_type": 0, + "tv_vip_status": 0, + "type": 0, + "vip_pay_type": 0 + } + } + }, + { + "desc": { + "rich_text_nodes": [ + { + "orig_text": "转发动态//", + "text": "转发动态//", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "@英伟达GeForce", + "rid": "485703766", + "text": "@英伟达GeForce", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E8%A3%82%E5%8F%98%E5%A4%A9%E5%9C%B0s1%23", + "orig_text": "#裂变天地s1#", + "text": "#裂变天地s1#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23CS2%23", + "orig_text": "#CS2#", + "text": "#CS2#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23TYLOO%23", + "orig_text": "#TYLOO#", + "text": "#TYLOO#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E4%B8%AD%E5%9B%BD%E5%A4%A9%E7%A6%84%E5%88%9B%E5%8E%86%E5%8F%B2%E5%A4%BA%E5%86%A0%23", + "orig_text": "#中国天禄创历史夺冠#", + "text": "#中国天禄创历史夺冠#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + } + ], + "text": "转发动态//@英伟达GeForce:热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n#裂变天地s1##CS2##TYLOO##中国天禄创历史夺冠#" + }, + "id_str": "1092278920047230984", + "pub_time": "5分钟前", + "user": { + "face": "https://i1.hdslb.com/bfs/face/97630265e04024f6ae169ffc513480821058fe10.jpg", + "face_nft": false, + "mid": 612768016, + "name": "宇宙尽头是被窝", + "official": { + "desc": "", + "role": 0, + "title": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "vip": { + "avatar_icon": { + "icon_resource": {} + }, + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 0, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "role": 0, + "status": 0, + "theme_type": 0, + "tv_due_date": 0, + "tv_vip_pay_type": 0, + "tv_vip_status": 0, + "type": 0, + "vip_pay_type": 0 + } + } + }, + { + "desc": { + "rich_text_nodes": [ + { + "orig_text": "转发动态//", + "text": "转发动态//", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "@英伟达GeForce", + "rid": "485703766", + "text": "@英伟达GeForce", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E8%A3%82%E5%8F%98%E5%A4%A9%E5%9C%B0s1%23", + "orig_text": "#裂变天地s1#", + "text": "#裂变天地s1#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23CS2%23", + "orig_text": "#CS2#", + "text": "#CS2#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23TYLOO%23", + "orig_text": "#TYLOO#", + "text": "#TYLOO#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E4%B8%AD%E5%9B%BD%E5%A4%A9%E7%A6%84%E5%88%9B%E5%8E%86%E5%8F%B2%E5%A4%BA%E5%86%A0%23", + "orig_text": "#中国天禄创历史夺冠#", + "text": "#中国天禄创历史夺冠#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + } + ], + "text": "转发动态//@英伟达GeForce:热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n#裂变天地s1##CS2##TYLOO##中国天禄创历史夺冠#" + }, + "id_str": "1092278580747960353", + "pub_time": "6分钟前", + "user": { + "face": "https://i0.hdslb.com/bfs/face/a5ae348d6ab686e17ab0e2acd5a0d12f4908f55f.jpg", + "face_nft": false, + "mid": 1603962291, + "name": "天堂尿壶_全神贯注", + "official": { + "desc": "", + "role": 0, + "title": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "vip": { + "avatar_icon": { + "icon_resource": {} + }, + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 0, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "role": 0, + "status": 0, + "theme_type": 0, + "tv_due_date": 0, + "tv_vip_pay_type": 0, + "tv_vip_status": 0, + "type": 0, + "vip_pay_type": 0 + } + } + }, + { + "desc": { + "rich_text_nodes": [ + { + "jump_url": "https://b23.tv/7cYpOev", + "orig_text": "https://b23.tv/7cYpOev", + "text": "网页链接", + "type": "RICH_TEXT_NODE_TYPE_WEB" + }, + { + "orig_text": "\ncncs", + "text": "\ncncs", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "emoji": { + "icon_url": "https://i0.hdslb.com/bfs/garb/55b2580bd5c24f87d3910ef8bd7bd70bb6bc22de.png", + "size": 2, + "text": "[青春烟火静态表情包_比心心]", + "type": 3 + }, + "orig_text": "[青春烟火静态表情包_比心心]", + "text": "[青春烟火静态表情包_比心心]", + "type": "RICH_TEXT_NODE_TYPE_EMOJI" + }, + { + "emoji": { + "icon_url": "https://i0.hdslb.com/bfs/garb/55b2580bd5c24f87d3910ef8bd7bd70bb6bc22de.png", + "size": 2, + "text": "[青春烟火静态表情包_比心心]", + "type": 3 + }, + "orig_text": "[青春烟火静态表情包_比心心]", + "text": "[青春烟火静态表情包_比心心]", + "type": "RICH_TEXT_NODE_TYPE_EMOJI" + }, + { + "orig_text": "​//", + "text": "​//", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "@英伟达GeForce", + "rid": "485703766", + "text": "@英伟达GeForce", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注", + "text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "@英伟达GeForce ", + "rid": "485703766", + "text": "@英伟达GeForce ", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": " 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "text": " 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E8%A3%82%E5%8F%98%E5%A4%A9%E5%9C%B0s1%23", + "orig_text": "#裂变天地s1#", + "text": "#裂变天地s1#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23CS2%23", + "orig_text": "#CS2#", + "text": "#CS2#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23TYLOO%23", + "orig_text": "#TYLOO#", + "text": "#TYLOO#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E4%B8%AD%E5%9B%BD%E5%A4%A9%E7%A6%84%E5%88%9B%E5%8E%86%E5%8F%B2%E5%A4%BA%E5%86%A0%23", + "orig_text": "#中国天禄创历史夺冠#", + "text": "#中国天禄创历史夺冠#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + } + ], + "text": "https://b23.tv/7cYpOev\ncncs[青春烟火静态表情包_比心心][青春烟火静态表情包_比心心]​//@英伟达GeForce:热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n#裂变天地s1##CS2##TYLOO##中国天禄创历史夺冠#" + }, + "id_str": "1092278374586384390", + "pub_time": "7分钟前", + "user": { + "face": "https://i0.hdslb.com/bfs/baselabs/ad8743f86fbf3c0afe80505ef2fcf7c567d99cd5.png", + "face_nft": true, + "mid": 3546570991601673, + "name": "敷料", + "official": { + "desc": "", + "role": 0, + "title": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "https://i0.hdslb.com/bfs/garb/open/e9857ee50a657bf8bc004296d1486522489f9ce9.png", + "image_enhance": "https://i0.hdslb.com/bfs/garb/open/e9857ee50a657bf8bc004296d1486522489f9ce9.png", + "image_enhance_frame": "", + "n_pid": 1733371830001, + "name": "元大头像挂件", + "pid": -1794957583 + }, + "vip": { + "avatar_icon": { + "icon_resource": {} + }, + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1724774400000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "role": 0, + "status": 0, + "theme_type": 0, + "tv_due_date": 0, + "tv_vip_pay_type": 0, + "tv_vip_status": 0, + "type": 1, + "vip_pay_type": 0 + } + } + }, + { + "desc": { + "rich_text_nodes": [ + { + "orig_text": "//", + "text": "//", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "@英伟达GeForce", + "rid": "485703766", + "text": "@英伟达GeForce", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注", + "text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "@英伟达GeForce", + "rid": "485703766", + "text": "@英伟达GeForce", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": " 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "text": " 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E8%A3%82%E5%8F%98%E5%A4%A9%E5%9C%B0s1%23", + "orig_text": "#裂变天地s1#", + "text": "#裂变天地s1#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23CS2%23", + "orig_text": "#CS2#", + "text": "#CS2#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23TYLOO%23", + "orig_text": "#TYLOO#", + "text": "#TYLOO#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E4%B8%AD%E5%9B%BD%E5%A4%A9%E7%A6%84%E5%88%9B%E5%8E%86%E5%8F%B2%E5%A4%BA%E5%86%A0%23", + "orig_text": "#中国天禄创历史夺冠#", + "text": "#中国天禄创历史夺冠#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + } + ], + "text": "//@英伟达GeForce:热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n#裂变天地s1##CS2##TYLOO##中国天禄创历史夺冠#" + }, + "id_str": "1092277777626824725", + "pub_time": "9分钟前", + "user": { + "face": "https://i0.hdslb.com/bfs/face/3283cc839ebb4f745891ef2b3eb52b608dc6287e.jpg", + "face_nft": false, + "mid": 241814478, + "name": "巧克力糖三角", + "official": { + "desc": "", + "role": 0, + "title": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "vip": { + "avatar_icon": { + "icon_resource": {}, + "icon_type": 1 + }, + "avatar_subscript": 1, + "avatar_subscript_url": "", + "due_date": 1756569600000, + "label": { + "bg_color": "#FB7299", + "bg_style": 1, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", + "label_theme": "annual_vip", + "path": "http://i0.hdslb.com/bfs/vip/label_annual.png", + "text": "年度大会员", + "text_color": "#FFFFFF", + "use_img_label": true + }, + "nickname_color": "#FB7299", + "role": 3, + "status": 1, + "theme_type": 0, + "tv_due_date": 0, + "tv_vip_pay_type": 0, + "tv_vip_status": 0, + "type": 2, + "vip_pay_type": 0 + } + } + }, + { + "desc": { + "rich_text_nodes": [ + { + "orig_text": "转发动态//", + "text": "转发动态//", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "@英伟达GeForce", + "rid": "485703766", + "text": "@英伟达GeForce", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注", + "text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "@英伟达GeForce", + "rid": "485703766", + "text": "@英伟达GeForce", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": " 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "text": " 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E8%A3%82%E5%8F%98%E5%A4%A9%E5%9C%B0s1%23", + "orig_text": "#裂变天地s1#", + "text": "#裂变天地s1#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23CS2%23", + "orig_text": "#CS2#", + "text": "#CS2#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23TYLOO%23", + "orig_text": "#TYLOO#", + "text": "#TYLOO#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E4%B8%AD%E5%9B%BD%E5%A4%A9%E7%A6%84%E5%88%9B%E5%8E%86%E5%8F%B2%E5%A4%BA%E5%86%A0%23", + "orig_text": "#中国天禄创历史夺冠#", + "text": "#中国天禄创历史夺冠#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + } + ], + "text": "转发动态//@英伟达GeForce:热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n#裂变天地s1##CS2##TYLOO##中国天禄创历史夺冠#" + }, + "id_str": "1092277631582208005", + "pub_time": "10分钟前", + "user": { + "face": "https://i2.hdslb.com/bfs/face/44b28a33ee43080ba8ce3b004f61c6f6a8f84ae2.jpg", + "face_nft": false, + "mid": 385330502, + "name": "LunariaFox", + "official": { + "desc": "", + "role": 0, + "title": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "vip": { + "avatar_icon": { + "icon_resource": {} + }, + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1671292800000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "role": 0, + "status": 0, + "theme_type": 0, + "tv_due_date": 0, + "tv_vip_pay_type": 0, + "tv_vip_status": 0, + "type": 1, + "vip_pay_type": 0 + } + } + }, + { + "desc": { + "rich_text_nodes": [ + { + "orig_text": "转发动态//", + "text": "转发动态//", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "@英伟达GeForce", + "rid": "485703766", + "text": "@英伟达GeForce", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "text": ":热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E8%A3%82%E5%8F%98%E5%A4%A9%E5%9C%B0s1%23", + "orig_text": "#裂变天地s1#", + "text": "#裂变天地s1#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23CS2%23", + "orig_text": "#CS2#", + "text": "#CS2#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23TYLOO%23", + "orig_text": "#TYLOO#", + "text": "#TYLOO#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%23%E4%B8%AD%E5%9B%BD%E5%A4%A9%E7%A6%84%E5%88%9B%E5%8E%86%E5%8F%B2%E5%A4%BA%E5%86%A0%23", + "orig_text": "#中国天禄创历史夺冠#", + "text": "#中国天禄创历史夺冠#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + } + ], + "text": "转发动态//@英伟达GeForce:热爱从未褪色,拼搏终有回响!\n恭喜 TYLOO 站上了世界冠军的领奖台!\n这就是 GEFORCE,这就是 CS:GO,这就是 TYLOO!\n关注@英伟达GeForce 并转发该条动态内容,我们将抽选 3 位小伙伴获得【100元京东E卡】一张!\n#裂变天地s1##CS2##TYLOO##中国天禄创历史夺冠#" + }, + "id_str": "1092276742539706437", + "pub_time": "13分钟前", + "user": { + "face": "https://i0.hdslb.com/bfs/face/3485b31e66a5edcc35da91daccf92d8374b75109.jpg", + "face_nft": false, + "mid": 261738771, + "name": "ak青旗沽酒", + "official": { + "desc": "", + "role": 0, + "title": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "vip": { + "avatar_icon": { + "icon_resource": {} + }, + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1721318400000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "role": 0, + "status": 0, + "theme_type": 0, + "tv_due_date": 0, + "tv_vip_pay_type": 0, + "tv_vip_status": 0, + "type": 1, + "vip_pay_type": 0 + } + } + } + ], + "offset": "1092276742539706437", + "total": 1290 + }, + "message": "0", + "ttl": 1 +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-07-22T03:25:21.567940914Z --> + +## 获取动态中图片 + +> https://api.bilibili.com/x/polymer/web-dynamic/v1/detail/pic + +*请求方法: GET* + +<!-- #1303 --> + +**URL 参数:** + +| 字段 | 类型 | 内容 | 必要性 | 备注 | +| ---- | ------ | ------- | ------ | ---- | +| id | number | 动态 id | 必要 | | + +**JSON 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| code | number | 返回值 | | +| data | object[] | 数据本体 | | +| message | string | 错误信息 | 成功时为 `0` | +| ttl | number | `1` | | + +`data[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| height | number | 图片高度 | | +| size | number | 图片大小 | k | +| src | string | 图片 URL | | +| width | number | 图片宽度 | | + +**示例:** + +```shell +-curl -G 'https://api.bilibili.com/x/polymer/web-dynamic/v1/detail/pic' \ +--url-query 'id=1092404028147499014' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "data": [ + { + "height": 20112, + "size": 9609.4560546875, + "src": "http://i0.hdslb.com/bfs/new_dyn/b3ca19b4a65c2f847fa91d925495eb3f36081646.jpg", + "width": 4167 + }, + { + "height": 21146, + "size": 6948.43359375, + "src": "http://i0.hdslb.com/bfs/new_dyn/60b1549d91ce580a8499f63368b283fc36081646.jpg", + "width": 4167 + }, + { + "height": 29531, + "size": 10990.845703125, + "src": "http://i0.hdslb.com/bfs/new_dyn/598a158fff8a5814fe85ae0f9212b1cf36081646.jpg", + "width": 4167 + } + ], + "message": "0", + "ttl": 1 +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-07-23T01:44:31.058550428Z --> + +## 获取转发动态信息 + +> https://api.bilibili.com/x/polymer/web-dynamic/v1/detail/forward/item + +*请求方法: GET* + +认证方式: Cookie (SESSDATA) + +**URL 参数:** + +| 字段 | 类型 | 内容 | 必要性 | 备注 | +| ---- | ------ | ------ | ---- | ---- | +| id | number | 动态 id | 必要 | | +| timezone_offset | number | 时区偏移 | 非必要 | `(new Date).getTimezoneOffset()` | + +**JSON 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| code | number | 返回值 | 0: 成功<br />500: 加载错误,请稍后再试<br />4101105: 请求数据发生错误, 请刷新或稍后重试 | +| data | object | 数据本体 | | +| message | string | 错误信息 | 成功时为 `0` | +| ttl | number | `1` | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| item | object | 动态信息 | 套了个娃 | + +`data.item` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| desc | object | 动态内容 | | +| id_str | string | 动态 id 字符串 | | +| pub_time | string | 发布时间 | | +| user | object | 发布用户信息 | | + +`data.item.desc` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| rich_text_nodes | object[] | 富文本节点 | 参见 [富文本节点](../opus/rich_text_node.md) | +| text | string | 纯文本内容 | | + +`data.item.user` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| face | string | 头像 URL | | +| face_nft | boolean | | | +| mid | number | 用户 mid (UID) | | +| name | string | 用户名 | | +| official | object | 认证信息 | | +| pendant | object | 装扮信息 | | +| vip | object | 大会员信息 | | + +`data.item.user.official` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| desc | string | | | +| role | number | | | +| title | string | | | +| type | number | | | + +`data.item.user.pendant` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| expire | number | | | +| image | string | | | +| image_enhance | string | | | +| image_enhance_frame | string | | | +| n_pid | number | | | +| name | string | | | +| pid | number | | | + +`data.item.user.vip` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| avatar_icon | object | | | +| avatar_subscript | number | | | +| avatar_subscript_url | string | | | +| due_date | number | | | +| label | object | | | +| nickname_color | string | | | +| role | number | | | +| status | number | | | +| theme_type | number | | | +| tv_due_date | number | | | +| tv_vip_pay_type | number | | | +| tv_vip_status | number | | | +| type | number | | | +| vip_pay_type | number | | | + +`data.item.user.vip.avatar_icon` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| icon_resource | object | | | +| icon_type | number | | | + +`data.item.user.vip.avatar_icon.icon_resource` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | + +`data.item.user.vip.label` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| bg_color | string | | | +| bg_style | number | | | +| border_color | string | | | +| img_label_uri_hans | string | | | +| img_label_uri_hans_static | string | | | +| img_label_uri_hant | string | | | +| img_label_uri_hant_static | string | | | +| label_theme | string | | | +| path | string | | | +| text | string | | | +| text_color | string | | | +| use_img_label | boolean | | | + +**示例:** + +```shell +curl -G 'https://api.bilibili.com/x/polymer/web-dynamic/v1/detail/forward/item' \ +--url-query 'id=1100082020923473952' \ +-b 'SESSDATA=xxx' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "data": { + "item": { + "desc": { + "rich_text_nodes": [ + { + "orig_text": "分享视频", + "text": "分享视频", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "分享视频" + }, + "id_str": "1074491510557245446", + "pub_time": "06月04日", + "user": { + "face": "https://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg", + "face_nft": false, + "mid": 293793435, + "name": "社会易姐QwQ", + "official": { + "desc": "", + "role": 0, + "title": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "https://i0.hdslb.com/bfs/garb/item/4f8f3f1f2d47f0dad84f66aa57acd4409ea46361.png", + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/fe0b83b53e2342b16646f6e7a9370d8a867decdb.webp", + "image_enhance_frame": "https://i0.hdslb.com/bfs/garb/item/127c507ec8448be30cf5f79500ecc6ef2fd32f2c.png", + "n_pid": 2511, + "name": "初音未来13周年", + "pid": 2511 + }, + "vip": { + "avatar_icon": { + "icon_resource": {}, + "icon_type": 1 + }, + "avatar_subscript": 1, + "avatar_subscript_url": "", + "due_date": 1770825600000, + "label": { + "bg_color": "#FB7299", + "bg_style": 1, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", + "label_theme": "annual_vip", + "path": "http://i0.hdslb.com/bfs/vip/label_annual.png", + "text": "年度大会员", + "text_color": "#FFFFFF", + "use_img_label": true + }, + "nickname_color": "#FB7299", + "role": 3, + "status": 1, + "theme_type": 0, + "tv_due_date": 1640793600, + "tv_vip_pay_type": 0, + "tv_vip_status": 0, + "type": 2, + "vip_pay_type": 0 + } + } + } + }, + "message": "0", + "ttl": 1 +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-08-12T08:52:29.430524983Z --> diff --git a/docs/dynamic/dynamic_enum.md b/docs/dynamic/dynamic_enum.md index ae563d6..6e2fa5b 100644 --- a/docs/dynamic/dynamic_enum.md +++ b/docs/dynamic/dynamic_enum.md @@ -12,7 +12,7 @@ | DYNAMIC_TYPE_WORD | 纯文字动态 |动态本身id|17|| [718377531474968613](https://t.bilibili.com/718377531474968613) | | DYNAMIC_TYPE_DRAW | 带图动态 |相簿id|11|相簿id| [718384798557536290](https://t.bilibili.com/718384798557536290) | | DYNAMIC_TYPE_ARTICLE | 投稿专栏 |专栏cv号|12|专栏cv号| [718372214316990512](https://t.bilibili.com/718372214316990512) | -| DYNAMIC_TYPE_MUSIC | 音乐 ||| || +| DYNAMIC_TYPE_MUSIC | 音乐 | 音频au号 | 14 | 音频au号 | [128788657410273954](https://t.bilibili.com/128788657410273954) | | DYNAMIC_TYPE_COMMON_SQUARE | 装扮<br/>剧集点评<br/>普通分享 ||17|| [551309621391003098](https://t.bilibili.com/551309621391003098)<br/>[716503778995470375](https://t.bilibili.com/716503778995470375)<br/>[716481612656672789](https://t.bilibili.com/716481612656672789) | | DYNAMIC_TYPE_COMMON_VERTICAL | ||| || | DYNAMIC_TYPE_LIVE | 直播间分享 |动态本身id||直播间id| [216042859353895488](https://t.bilibili.com/216042859353895488) | @@ -29,27 +29,7 @@ ## 富文本节点类型 -| 类型 | 说明 | 示例 | -|---------------------------------|------|-----------------------------------------------------------------| -| RICH_TEXT_NODE_TYPE_NONE | | | -| RICH_TEXT_NODE_TYPE_TEXT | 文字节点 | [721295772787671059](https://t.bilibili.com/721295772787671059) | -| RICH_TEXT_NODE_TYPE_AT | @用户 | [721296515797090324](https://t.bilibili.com/721296515797090324) | -| RICH_TEXT_NODE_TYPE_LOTTERY | 互动抽奖 | [720907383182721040](https://t.bilibili.com/720907383182721040) | -| RICH_TEXT_NODE_TYPE_VOTE | 投票 | [721203899129659408](https://t.bilibili.com/721203899129659408) | -| RICH_TEXT_NODE_TYPE_TOPIC | 话题 | [721188862459641879](https://t.bilibili.com/721188862459641879) | -| RICH_TEXT_NODE_TYPE_GOODS | 商品链接 | [721282703208480790](https://t.bilibili.com/721282703208480790) | -| RICH_TEXT_NODE_TYPE_BV | 视频链接 | [716752002311258165](https://t.bilibili.com/716752002311258165) | -| RICH_TEXT_NODE_TYPE_AV | | | -| RICH_TEXT_NODE_TYPE_EMOJI | 表情 | [716751108968546393](https://t.bilibili.com/716751108968546393) | -| RICH_TEXT_NODE_TYPE_USER | | | -| RICH_TEXT_NODE_TYPE_CV | | | -| RICH_TEXT_NODE_TYPE_VC | | | -| RICH_TEXT_NODE_TYPE_WEB | 网页链接 | [716751027361022055](https://t.bilibili.com/716751027361022055) | -| RICH_TEXT_NODE_TYPE_TAOBAO | | | -| RICH_TEXT_NODE_TYPE_MAIL | 邮箱地址 | [721314095109767220](https://t.bilibili.com/721314095109767220) | -| RICH_TEXT_NODE_TYPE_OGV_SEASON | 剧集信息 | [721282046064853080](https://t.bilibili.com/721282046064853080) | -| RICH_TEXT_NODE_TYPE_OGV_EP | | | -| RICH_TEXT_NODE_TYPE_SEARCH_WORD | | | +参见 [图文富文本节点类型](../opus/rich_text_nodes.md#富文本节点类型) ## 作者类型 @@ -60,6 +40,8 @@ | AUTHOR_TYPE_PGC | 剧集更新 | | | AUTHOR_TYPE_UGC_SEASON | 合集更新 | | +## + | 类型 | 说明 | 示例 | |-----------------|-----|-----| | EMOJI_TYPE_NONE | | | @@ -76,10 +58,13 @@ | ADDITIONAL_TYPE_GOODS | 商品信息 | | | ADDITIONAL_TYPE_VOTE | 投票 | [716365292050055176](https://t.bilibili.com/716365292050055176) | | ADDITIONAL_TYPE_COMMON | 一般类型 | 游戏<br/>[716357878942793745](https://t.bilibili.com/716357878942793745) | -| ADDITIONAL_TYPE_MATCH | | | +| ADDITIONAL_TYPE_MATCH | 比赛信息? | | | ADDITIONAL_TYPE_UP_RCMD | | | | ADDITIONAL_TYPE_UGC | 视频跳转 | [716489253410832401](https://t.bilibili.com/716489253410832401) | | ADDITIONAL_TYPE_RESERVE | | 直播预约<br/>[716524987542929443](https://t.bilibili.com/716524987542929443) | +| ADDITIONAL_TYPE_UPOWER_LOTTERY | 充电专属抽奖 | | + +## | 类型 | 说明 | 示例 | |-------------------------------|-----|-----| @@ -87,28 +72,38 @@ | ADDITIONAL_BUTTON_TYPE_JUMP | | | | ADDITIONAL_BUTTON_TYPE_BUTTON | | | +## + | 类型 | 说明 | 示例 | |----------------------------------|-----|-----| | ADDITIONAL_BUTTON_STATUS_NONE | | | | ADDITIONAL_BUTTON_STATUS_UNCHECK | | | | ADDITIONAL_BUTTON_STATUS_CHECK | | | +## + | 类型 | 说明 | 示例 | |-------------------------------|-----|-----| | ADD_BUTTON_CLICK_TYPE_NONE | | | | ADD_BUTTON_CLICK_TYPE_RESERVE | | | +## + | 类型 | 说明 | 示例 | |-------------------------|-----|-----| | DISABLE_STATE_HIGHLIGHT | | | | DISABLE_STATE_GRAY | | | +## + | 类型 | 说明 | 示例 | |----------------------------|-----|-----| | ADD_BUTTON_BG_STYLE_FILL | | | | ADD_BUTTON_BG_STYLE_STROKE | | | | ADD_BUTTON_BG_STYLE_GRAY | | | +## + | 类型 | 说明 | 示例 | |----------------------------------|-----|-----| | HIGHLIGHT_TEXT_STYLE_TYPE_NONE | | | @@ -135,6 +130,9 @@ | MAJOR_TYPE_LIVE_RCMD | 直播状态 | | | MAJOR_TYPE_UGC_SEASON | 合计更新 | [716509100448415814](https://t.bilibili.com/716509100448415814) | | MAJOR_TYPE_SUBSCRIPTION_NEW | | | +| MAJOR_TYPE_UPOWER_COMMON | 充电相关 | [1087983622038749191](https://t.bilibili.com/1087983622038749191) | + +## | 类型 | 说明 | 示例 | |-----------------|-----|-----| @@ -143,6 +141,8 @@ | MEDIA_TYPE_PGC | | | | MEDIA_TYPE_LIVE | | | +## + | 类型 | 说明 | 示例 | |--------------------------|-----|-----| | PGC_SUB_TYPE_NONE | | | @@ -152,6 +152,8 @@ | PGC_SUB_TYPE_DOMESTIC | | | | PGC_SUB_TYPE_TV | | | +## + | 类型 | 说明 | 示例 | |----------------------|-----|-----| | DRAW_TAG_TYPE_NONE | | | @@ -161,29 +163,39 @@ | DRAW_TAG_TYPE_TOPIC | | | | DRAW_TAG_TYPE_LBS | | | +## + | 类型 | 说明 | 示例 | |----------------------------------|-----|-----| | MAJOR_COMMON_STYLE_TYPE_NONE | | | | MAJOR_COMMON_STYLE_TYPE_SQUARE | | | | MAJOR_COMMON_STYLE_TYPE_VERTICAL | | | +## + | 类型 | 说明 | 示例 | |---------------------|-----|-----| | RESERVE_TYPE_NONE | | | | RESERVE_TYPE_RECALL | | | +## + | 类型 | 说明 | 示例 | |--------------------------|-----|-----| | LIVE_STATE_TYPE_NONE | | | | LIVE_STATE_TYPE_LIVE | | | | LIVE_STATE_TYPE_ROTATION | | | +## + | 类型 | 说明 | 示例 | |----------------------------------|-----|-----| | SUBSCRIPTION_NEW_STYLE_TYPE_NONE | | | | SUBSCRIPTION_NEW_STYLE_TYPE_DRAW | | | | SUBSCRIPTION_NEW_STYLE_TYPE_LIVE | | | +## 右上角三点菜单 + | 类型 | 说明 | 示例 | |------------------------------|---------|-----| | THREE_POINT_DELETE | 删除 | | @@ -197,6 +209,8 @@ | THREE_POINT_RCMD_RESOURCE | | | | THREE_POINT_RCMD_FEEDBACK | | | +## + | 类型 | 说明 | 示例 | |--------------------|-----|-----| | FOLD_TYPE_NONE | | | @@ -205,6 +219,8 @@ | FOLD_TYPE_UNITE | | | | FOLD_TYPE_LIMIT | | | +## + | 类型 | 说明 | 示例 | |------------------------------|-----|-----| | DYN_STATUS_TYPE_NONE | | | @@ -213,6 +229,8 @@ | DYN_STATUS_TYPE_SELF_VISIBLE | | | | DYN_STATUS_TYPE_DELETED | | | +## + | 类型 | 说明 | 示例 | |---------------|-----|-----| | SCENE_DETAIL | | | @@ -220,5 +238,3 @@ | SCENE_GENERAL | | | | SCENE_SPACE | | | | SCENE_TOPIC | | | - - diff --git a/docs/dynamic/get_dynamic_detail.md b/docs/dynamic/get_dynamic_detail.md index e6182ab..2457122 100644 --- a/docs/dynamic/get_dynamic_detail.md +++ b/docs/dynamic/get_dynamic_detail.md @@ -1,8 +1,10 @@ -# 获取特定动态卡片信息 +# 特定动态卡片信息 + +## 获取特定动态卡片信息 > https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/get_dynamic_detail -*请求方式:GET* +*请求方法: GET* **url参数:** @@ -16,60 +18,26 @@ | 字段 | 类型 | 内容 | 备注 | | ------- | ---- | -------- | ------- | -| code | num | 返回值 | 0:成功 | -| data | obj | 信息本体 | | -| message | str | 错误信息 | 默认为空 | -| msg | num | 空 | | +| code | number | 返回值 | 0: 成功<br />4128001: 请求数据发生错误,请刷新或稍后重试 | +| data | object | 信息本体 | 失败时为 `null` | +| message | string | 错误信息 | 成功时为 `0` | +| ttl | number | `1` | | `data`对象: | 字段 | 类型 | 内容 | 备注 | | ----------- | ----- | ---------- | ------------ | -| card | obj | 动态卡片内容 | 当动态不存在/删除时不返回此项 | -| result | num | 0 | 作用尚不明确(当动态不存在/删除时不返回此项) | -| \_gt\_ | num | 0 | 作用尚不明确 | +| card | object | 动态卡片内容 | 当动态不存在/删除时不返回此项 | `data`中的`card`对象: | 字段 | 类型 | 内容 | 备注 | | ---- | ---- | ------------- | ---- | | activity_infos | obj | 该条动态参与的活动 |当此条动态没有参与任何活动时不显示此项 | -| card | str | 动态详细信息 | 会跟随此动态类型不同发生一定的变化,评论数、点赞数等相关信息参考`desc`字段 | +| card | str | 动态详细信息 | 会跟随此动态类型不同发生一定的变化,评论数、点赞数等相关信息参考`desc`字段, 详细可见 [动态详细信息字段](card_info.md) | | desc | obj | 动态相关信息 | 会跟随此动态类型不同发生一定的变化,详细信息(例如动态描述等)参考`card`字段 | | display | obj | 动态部分的可操作项 | 会随着动态类型发生变化,主要用于显示动态 | | extend_json | str | 动态扩展项 | 会随着动态类型发生变化 | -**此处的大部分字段的内容都会根据`desc`中的`type`值发生一定变化,具体的数值对照参考下表(仅作参考,部分内容的解释未知,同时有些内容仅为在部分页面出现,无法通过此API调出):** - -| 值 | 含义 | -| ---- | ---- | -| 268435455 | 具体定义未知 | -| 1 | 转发 | -| 2 | 图片动态 | -| 4 | 文字动态 | -| 8 | 视频动态 | -| 16 | 小视频 | -| 32 | 具体定义未知(可能为戏剧) | -| 64 | 专栏 | -| 256 | 音频 | -| 512 | 番剧 | -| 1024 | 具体定义未知 | -| 2048 | H5活动动态 | -| 2049 | 漫画分享 | -| 4097 | PGC番剧 | -| 4098 | 电影 | -| 4099 | 电视剧 | -| 4100 | 国创动漫 | -| 4101 | 纪录片 | -| 4200 | 直播 | -| 4201 | 直播 | -| 4300 | 收藏夹 | -| 4302 | 付费课程 | -| 4303 | 付费课程 | -| 4308 | 直播 | -| 4310 | 合集 | -| 4311 | 具体定义未知 | -| 1e3 | 具体定义未知 | -| 1001 | 具体定义未知 | **示例:** @@ -81,137 +49,106 @@ curl -G 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/get_dynamic_deta ``` <details> -<summary>查看响应示例</summary> +<summary>查看响应示例:</summary> ```json { - "code": 0, - "msg": "", - "message": "", - "data": { - "card": { - "desc": { - "uid": 8047632, - "type": 8, - "rid": 204774719, - "acl": 0, - "view": 1182282, - "repost": 405, - "like": 31940, - "is_liked": 0, - "dynamic_id": 507420325550127049, - "timestamp": 1616981401, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 8047632, - "uname": "哔哩哔哩弹幕网", - "face": "https://i0.hdslb.com/bfs/face/f2cb8d9854156e3f26d4c6751d6eeb9c30e21847.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩弹幕网官方账号 " - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1924531200000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 3860, - "name": "2021拜年纪", - "image": "https://i0.hdslb.com/bfs/garb/item/7f8aa8ef1eed8c2dce0796801ddc82552a4164f9.png", - "expire": 0, - "image_enhance": "https://i0.hdslb.com/bfs/garb/item/7f8aa8ef1eed8c2dce0796801ddc82552a4164f9.png", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "哔哩哔哩 干杯 - ( ゜- ゜)つロ", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "status": 1, - "dynamic_id_str": "507420325550127049", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "204774719", - "bvid": "BV1Dh411S7sS" - }, - "card": "{\"aid\":204774719,\"attribute\":0,\"cid\":316514988,\"copyright\":1,\"ctime\":1616939233,\"desc\":\"2021年3月29日9:30(北京时间),B站在中国香港港交所成功挂牌二次上市。欢迎来到bilibili这座乐园,和超过2亿中国年轻人一起表达自我、拥抱世界。\",\"dimension\":{\"height\":1080,\"rotate\":0,\"width\":1920},\"duration\":290,\"dynamic\":\"\",\"item\":{\"at_control\":\"\"},\"jump_url\":\"bilibili:\\/\\/video\\/204774719\\/?page=1&player_preload=null&player_width=1920&player_height=1080&player_rotate=0\",\"owner\":{\"face\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/face\\/f2cb8d9854156e3f26d4c6751d6eeb9c30e21847.jpg\",\"mid\":8047632,\"name\":\"哔哩哔哩弹幕网\"},\"pic\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/archive\\/bcbcac6560268ef9cbe59fbf759ac28adf5e0432.jpg\",\"player_info\":null,\"pubdate\":1616981400,\"rights\":{\"autoplay\":1,\"bp\":0,\"download\":0,\"elec\":0,\"hd5\":1,\"is_cooperation\":0,\"movie\":0,\"no_background\":0,\"no_reprint\":1,\"pay\":0,\"ugc_pay\":0,\"ugc_pay_preview\":0},\"share_subtitle\":\"已观看24.0万次\",\"short_link\":\"https:\\/\\/b23.tv\\/BV1Dh411S7sS\",\"short_link_v2\":\"https:\\/\\/b23.tv\\/BV1Dh411S7sS\",\"stat\":{\"aid\":204774719,\"coin\":8661,\"danmaku\":744,\"dislike\":0,\"favorite\":6025,\"his_rank\":0,\"like\":31940,\"now_rank\":0,\"reply\":1619,\"share\":2134,\"view\":246956},\"state\":0,\"tid\":207,\"title\":\"欢迎来到2亿年轻人的乐园——bilibili 回香港上市啦!\",\"tname\":\"财经\",\"videos\":1}", - "extend_json": "{\"\":{\"ogv\":{\"ogv_id\":0}},\"dispute\":{\"content\":\"\"},\"from\":{\"from\":\"\"},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 12895437, - "topic_name": "二次上市", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 10967402, - "topic_name": "香港上市", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/102930" - }, - { - "topic_id": 114859, - "topic_name": "B站", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 8312, - "topic_name": "宣传片", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/8795" - }, - { - "topic_id": 679, - "topic_name": "BILIBILI", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "usr_action_txt": "投稿了视频", - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "show_tip": { - "del_tip": "要删除动态吗?" - }, - "cover_play_icon_url": "https://i0.hdslb.com/bfs/album/2269afa7897830b397797ebe5f032b899b405c67.png" + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "card": { + "desc": { + "uid": 8047632, + "type": 8, + "rid": 204774719, + "acl": 0, + "view": 0, + "repost": 0, + "comment": 0, + "like": 0, + "is_liked": 0, + "dynamic_id": 507420325550127040, + "timestamp": 1616981401, + "pre_dy_id": 0, + "orig_dy_id": 0, + "orig_type": 0, + "user_profile": { + "info": { + "uid": 8047632, + "uname": "哔哩哔哩弹幕网", + "face": "https://i0.hdslb.com/bfs/face/0c84b9f4ad546d3f20324809d45fc439a2a8ddab.jpg" + }, + "card": { + "official_verify": { + "type": -1 } + }, + "vip": { + "vipType": 2, + "vipDueDate": 1924963200000, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 1, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "http://i0.hdslb.com/bfs/vip/label_annual.png", + "text": "十年大会员", + "label_theme": "ten_annual_vip", + "text_color": "#FFFFFF", + "bg_style": 1, + "bg_color": "#FB7299", + "border_color": "" + }, + "avatar_subscript": 1, + "nickname_color": "#FB7299", + "role": 7, + "avatar_subscript_url": "" + }, + "pendant": { + "pid": 0, + "name": "", + "image": "", + "expire": 0, + "image_enhance": "", + "image_enhance_frame": "" + }, + "rank": "10000", + "sign": "哔哩哔哩 干杯 ( ゜- ゜)つロ", + "level_info": { + "current_level": 6, + "current_min": 0, + "current_exp": 0, + "next_exp": "" + } }, - "result": 0, - "_gt_": 0 + "spec_type": 0, + "uid_type": 1, + "stype": 0, + "r_type": 1, + "inner_id": 0, + "status": 1, + "dynamic_id_str": "507420325550127049", + "pre_dy_id_str": "0", + "orig_dy_id_str": "0", + "rid_str": "204774719", + "origin": null, + "bvid": "BV1Dh411S7sS", + "previous": null + }, + "card": "{\"aid\":204774719,\"cid\":316514988,\"ctime\":1616981401,\"desc\":\"2021年3月29日9:30(北京时间),B站在中国香港港交所成功挂牌二次上市。欢迎来到bilibili这座乐园,和超过2亿中国年轻人一起表达自我、拥抱世界。\",\"dimension\":{\"height\":1080,\"rotate\":0,\"width\":1920},\"duration\":290,\"dynamic\":\"\",\"first_frame\":\"\",\"jump_url\":\"bilibili://video/204774719/?page=1\\u0026player_width=1920\\u0026player_height=1080\\u0026player_rotate=0\",\"owner\":{\"face\":\"https://i0.hdslb.com/bfs/face/0c84b9f4ad546d3f20324809d45fc439a2a8ddab.jpg\",\"mid\":8047632,\"name\":\"哔哩哔哩弹幕网\"},\"pic\":\"http://i0.hdslb.com/bfs/archive/bcbcac6560268ef9cbe59fbf759ac28adf5e0432.jpg\",\"pubdate\":1616981400,\"short_link_v2\":\"\",\"stat\":{\"aid\":204774719,\"coin\":9016,\"danmaku\":742,\"dislike\":0,\"favorite\":5463,\"like\":32802,\"reply\":1603,\"share\":2517,\"view\":278278},\"state\":0,\"tid\":207,\"title\":\"欢迎来到2亿年轻人的乐园——bilibili 回香港上市啦!\",\"tname\":\"财经商业\",\"videos\":1}", + "extend_json": "{\"from\":{\"from\":\"\",\"emoji_type\":1},\"ctrl\":null,\"lott\":null}", + "display": { + "origin": null, + "usr_action_txt": "投稿了视频", + "relation": null, + "live_info": null, + "emoji_info": null, + "highlight": null + } } + } } ``` diff --git a/docs/dynamic/nav.md b/docs/dynamic/nav.md index 6500d11..85a2c24 100644 --- a/docs/dynamic/nav.md +++ b/docs/dynamic/nav.md @@ -40,7 +40,7 @@ | 字段 | 类型 | 内容 | 备注 | | -------- | ---- | -------- | ---------------------------- | -| author | obj | UP主 | 参见[module_author对象](all.md#data对象---items数组中的对象---modules对象---module_author对象) | +| author | obj | UP主 | 参考 [MODULE_TYPE_AUTHOR](../opus/features.md#module-type-author) | | cover | str | 封面URL | | | id_str | str | 动态id | | | pub_time | str | 发布时间 | 文字表述的相对时间 | diff --git a/docs/dynamic/publish.md b/docs/dynamic/publish.md index e55101b..a86dbab 100644 --- a/docs/dynamic/publish.md +++ b/docs/dynamic/publish.md @@ -4,112 +4,116 @@ > https://api.bilibili.com/x/dynamic/feed/draw/upload_bfs -*请求方式:POST* +*请求方法: POST* -认证方式:Cookie(SESSDATA) +认证方式: Cookie (SESSDATA) -注意:非日常类型像素宽高必须大于420 +注意: 非日常类型像素宽高必须大于 420 -**正文参数 (multipart/form-data):** +**正文参数 (multipart/form-data):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| -------- | ---- | ------------------------ | ------ | ------------------------------------------------------------ | -| file_up | file | 需要上传的图片文件 | 必要 | 格式仅支持jpg png gif | -| category | str | 图片类型 | 必要 | daily:日常(动态)<br />draw:绘画(画友)<br />cos:摄影(COSPLAY) | -| biz | str | | | | -| csrf | str | CSRF Token(位于cookie) | 必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------- | ---- | --------------------- | ------ | ---- | +| file_up | file | 需要上传的图片文件 | 必要 | 格式仅支持 `jpg` `png` `gif` | +| category | string | 图片类型 | 不必要 | daily: 日常 (动态) (默认)<br />draw: 绘画 (画友)<br />cos: 摄影 (COSPLAY) | +| biz | string | | 不必要 | `new_dyn` | +| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 必要 | | -**json回复:** +**JSON 回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------------ | -| code | num | 返回值 | 0:成功 <br />-1:未添加图片<br />-2:参数错误<br />-3:图片尺寸过小<br />-4:账号未登录<br />-7:图片信息错误 | -| message | str | 错误信息 | 默认为success | -| data | obj | 信息本体 | 仅在正确时既`code=0`时为有效信息 | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ---- | +| code | number | 返回值 | 0: 成功<br />4100001: 参数错误<br />-101: 账号未登录 | +| message | string | 错误信息 | 默认为 `0` | +| data | object | 信息本体 | 成功时为有效信息 | +| ttl | number | `1` | | -`data`对象: +`data` 对象: | 字段 | 类型 | 内容 | 备注 | | ------------ | ---- | -------------- | ---- | -| image_url | str | 已上传图片url | | -| image_width | num | 已上传图片宽度 | 像素 | -| image_height | num | 已上传图片高度 | 像素 | +| image_url | string | 已上传图片 URL | | +| image_width | number | 已上传图片宽度 | 像素 | +| image_height | number | 已上传图片高度 | 像素 | +| img_size | number | 已上传图片大小 | k | -**示例:** +**示例:** -上传了一张图片`test.png`类型为`日常` +上传图片 `test.png` 类型为 `日常` ```shell curl 'https://api.bilibili.com/x/dynamic/feed/draw/upload_bfs' \ -F 'file_up=@test.png' \ --F 'category=daily' +-F 'category=daily' \ +-F 'csrf=xxxx' \ -b 'SESSDATA=xxx' ``` <details> -<summary>查看响应示例:</summary> +<summary>查看响应示例:</summary> ```json { - "code":0, - "message":"success", - "data":{ - "image_url":"http:\/\/i0.hdslb.com\/bfs\/album\/13f9523efe186a8066b2d72e80283cea2437eb62.png", - "image_width":1225, - "image_height":850 - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "image_url": "http://i0.hdslb.com/bfs/new_dyn/8ad5640045a114b62580614cb512bbc32095498218.png", + "image_width": 73, + "image_height": 71, + "img_size": 6.261 + } } ``` </details> - ## 创建投票 > https://api.vc.bilibili.com/vote_svr/v1/vote_svr/create_vote -*请求方式:POST* +*请求方法: POST* -认证方式:Cookie(SESSDATA) +认证方式: Cookie (SESSDATA) -注意: options最少两个,下标n从0开始 +注意: `options` 最少两个, 下标 `n` 从 `0` 开始 **正文参数 (multipart/form-data):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------------------------- | ---- | ------------------------ | ------ | -------------------------------------------------------- | -| info[title] | str | 投票标题 | 必要 | | -| info[desc] | str | 投票描述 | 非必要 | 可为空 | -| info[type] | num | 投票类型 | 必要 | 0:文字投票 1:图片投票 | -| info[choice_cnt] | num | 最多选几项 | 必要 | | -| info[duration] | num | 投票持续秒数 | 必要 | 常用:<br/>三天:259200<br/>七天:604800<br/>三十天:2592000 | -| info[options]\[ n ][desc] | str | 第n项选项文字内容 | 必要 | | -| info[options]\[ n ][img_url] | str | 第n项选项投票图片 | 非必要 | | -| csrf | str | CSRF Token(位于cookie) | 非必要 | 头次见非必要的csrf | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------------------------- | ---- | ---- | ------ | ---- | +| info[title] | string | 投票标题 | 必要 | | +| info[desc] | string | 投票描述 | 非必要 | 可为空 | +| info[type] | number | 投票类型 | 必要 | 0: 文字投票<br />1: 图片投票 | +| info[choice_cnt] | number | 最多选几项 | 必要 | | +| info[duration] | number | 投票持续秒数 | 必要 | 常用:<br/>三天: 259200<br/>七天: 604800<br/>三十天: 2592000 | +| info[options]\[ n ][desc] | string | 第 n 项选项文字内容 | 必要 | | +| info[options]\[ n ][img_url] | strin | 第 n 项选项投票图片 | 非必要 || +| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 非必要 | | -**json回复:** +**JSON 回复:** 根对象: | 字段 | 类型 | 内容 | 备注 | | ------- | ---- | -------- | -------------------------------- | -| code | num | 返回值 | 0:成功 <br />5100001: 参数错误 | -| msg | str | 错误信息 | 成功为空 | -| message | str | 错误信息 | 跟上面那个一模一样 | -| data | obj | 信息本体 | 仅在正确时既`code=0`时为有效信息 | +| code | number | 返回值 | 0:成功 <br />5100001: 参数错误 | +| msg | string | 错误信息 | 成功为空 | +| message | string | 错误信息 | 跟上面那个一模一样 | +| data | object | 信息本体 | 仅在正确时既`code=0`时为有效信息 | -`data`对象: +`data` 对象: | 字段 | 类型 | 内容 | 备注 | | ------------ | ---- | -------------- | ---- | -| vote_id | num | 投票id | | -| \_gt\_ | num | 0 | | +| vote_id | number | 投票 id | | +| \_gt\_ | number | 0 | | -**示例:** +**示例:** -创建一个标题为`是否自愿开学`持续七天的纯文本投票 +创建一个标题为 `是否自愿开学` 持续七天的纯文本投票 ```shell curl -X POST 'https://api.vc.bilibili.com/vote_svr/v1/vote_svr/create_vote' \ @@ -124,17 +128,17 @@ curl -X POST 'https://api.vc.bilibili.com/vote_svr/v1/vote_svr/create_vote' \ ``` <details> -<summary>查看响应示例:</summary> +<summary>查看响应示例:</summary> ```json { - "code": 0, - "msg": "", - "message": "", - "data": { - "vote_id": 4947171, - "_gt_": 0 - } + "code": 0, + "msg": "", + "message": "", + "data": { + "vote_id": 4947171, + "_gt_": 0 + } } ``` @@ -144,83 +148,87 @@ curl -X POST 'https://api.vc.bilibili.com/vote_svr/v1/vote_svr/create_vote' \ > https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create -*请求方式:POST* +*请求方法: POST* -认证方式:Cookie (SESSDATA) +认证方式: Cookie (SESSDATA) -**正文参数(multipart/form-data):** +**正文参数 (multipart/form-data):** | 参数名 | 类型 | 内容 | 必要性 | 备注 | | --- | --- | --- | --- | --- | -| dynamic_id | num | 0 | 必要 | | -| type | num | 4 | 必要 | | -| rid | num | 0 | 必要 | | -| content | str | 动态内容 | 必要 | | -| up_choose_comment | num | 0 | 非必要 | | -| up_close_comment | num | 0 | 非必要 | | +| dynamic_id | number | 0 | 必要 | | +| type | number | 4 | 必要 | | +| rid | number | 0 | 必要 | | +| content | string | 动态内容 | 必要 | | +| up_choose_comment | number | 0 | 非必要 | | +| up_close_comment | number | 0 | 非必要 | | | extension | json | 位置信息 | 非必要 | | -| at_uids | str | 动态中 at 到的用户的 uid | 非必要 | 使用逗号`,`分隔 | +| at_uids | string | 动态中 at 到的用户的 uid | 非必要 | 使用逗号`,`分隔 | | ctrl | array | 特殊格式控制 (如 at 别人时的蓝字体和链接) | 非必要 | | -| csrf_token | str | CSRF Token (位于 cookie) | 非必要 | | -| csrf | str | CSRF Token (位于 cookie) | 非必要 | | +| csrf_token | string | CSRF Token (即 Cookie 中 bili_jct) | 非必要 | | +| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 非必要 | | -extension参数值: -```json +`extension` 参数值: + +```jsonc { - "emoji_type": 1, - "lbs_cfg": { - "title": "**市", - "poi": "156330200", - "show_title": "**市", - "type": 1, - "address": "**市", - "location": { - "lng":显示的经度数值, - "lat":显示的纬度数值 - }, - "distance": 0 + "emoji_type": 1, + "lbs_cfg": { + "title": "**市", + "poi": "156330200", + "show_title": "**市", + "type": 1, + "address": "**市", + "location": { + "lng": //显示的经度数值, + "lat": //显示的纬度数值 }, - "flag_cfg": {}, - "from_cfg": { - "location": { - "lat":用户实际纬度数值, - "lng":用户实际经度数值 - } + "distance": 0 + }, + "flag_cfg": {}, + "from_cfg": { + "location": { + "lat": //用户实际纬度数值, + "lng": //用户实际经度数值 } + } } ``` -ctrl单个对象(注意用的时候是数组出现): -| 参数名 | 类型 | 内容 | -| --- | --- | --- | -| location | num | 从全文第几个字开始变蓝 | -| type | num | 1 (可能1代表链接到用户uid) | -| length | num | 这一段变蓝多少字 | -| data | str | 链接目标(被at人的uid) | +`ctrl` 数组中的对象: -**json回复:** +| 参数名 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| location | number | 从全文第几个字开始变蓝 | | +| type | number | 1 | 可能 1 代表链接到用户 mid | +| length | number | 这一段变蓝多少字 | | +| data | string | 链接目标 | 被 at 人的 mid | -根对象: +**JSON 回复:** + +根对象: | 字段 | 类型 | 内容 | 备注 | | --- | --- | --- | --- | -| code | num | 返回值 | 0:成功 | -| message | str | 错误信息 | 成功为空 | -| data | obj | 数据本体 | | +| code | number | 返回值 | 0: 成功 | +| message | string | 错误信息 | 成功为空 | +| data | object | 数据本体 | | -`data`对象: +`data` 对象: | 字段 | 类型 | 内容 | 备注 | | --- | --- | --- | --- | -| result | num | 0 | | -| errmsg | str | 像是服务器日志一样的东西 | | -| dynamic_id | num | 动态 id | | -| create_result | num | 1 | | -| dynamic_id_str | str | 动态 id | 字符串格式 | -| \_gt_ | num | 0 | | +| result | number | 0 | | +| errmsg | string | 像是服务器日志一样的东西 | | +| dynamic_id | number | 动态 id | | +| create_result | number | 1 | | +| dynamic_id_str | string | 动态 id | 字符串格式 | +| \_gt_ | number | 0 | | + +**示例:** <details> -<summary>查看示例(纯文本)</summary> +<summary>纯文本:</summary> ```bash curl 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create' \ @@ -252,13 +260,12 @@ curl 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create' \ "_gt_": 0 } } - ``` </details> <details> -<summary>查看示例(at两个人)</summary> +<summary>at 两个人:</summary> 动态正文 ``` @@ -297,454 +304,133 @@ curl 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create' \ </details> - - ## 发表复杂动态 - - > https://api.bilibili.com/x/dynamic/feed/create/dyn -*请求方式:POST* +*请求方法:POST* 认证方式:Cookie (SESSDATA) -**URL参数** +**URL 参数:** | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ------ | ---- | ------------------------ | ------ | ---- | -| csrf | str | CSRF Token(位于cookie) | 必要 | | +| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 必要 | | -**正文参数(application/json):** +**正文参数 (application/json):** + +根对象: | 参数名 | 类型 | 内容 | 必要性 | 备注 | | --- | --- | --- | --- | --- | -| dyn_req | obj | 请求本体 | 必要 | | +| dyn_req | object | 请求本体 | 必要 | | -`dyn_req`对象: +`dyn_req` 对象: | 参数名 | 类型 | 内容 | 必要性 | 备注 | | --- | --- | --- | --- | --- | -| attach_card | obj | 特殊卡片 | 非必要 | 如直播预约等 | -| content | obj | 动态内容 | 必要 | | -| meta | obj | 元信息 | 非必要 | 大概是来源信息 | -| scene | num | 动态类型? | 必要 | 纯文本: 1<br/>带图: 2 | -| pics | array | 携带图片 | 非必要 | 最多九个 | -| topic | obj | 话题 | 非必要 | | -| option | obj | 互动设置 | 非必要 | 没有此项时默认开启评论区 | -| upload_id | str | 客户端生成的 | 非必要 | 内容为`发送人mid`+`当前秒级时间戳`+`四位随机整数`,中间用`_`隔开 | +| attach_card | object | 特殊卡片 | 非必要 | 如直播预约等 | +| content | object | 动态内容 | 非必要 | | +| meta | object | 元信息 | 非必要 | 大概是来源信息 | +| scene | number | 动态类型? | 必要 | 纯文本: 1 (实际同 2)<br/>带图: 2<br />4: 转发 | +| pics | object[] | 携带图片 | 非必要 | 最多九个 | +| topic | object | 话题 | 非必要 | | +| option | object | 互动设置 | 非必要 | 没有此项时默认开启评论区 | +| upload_id | string | 客户端生成的 | 非必要 | 内容为`发送人mid`+`当前秒级时间戳`+`四位随机整数`,中间用`_`隔开 | -`dyn_req`对象的`meta`对象,大概是来源信息,很简单就不详细列表了: +`dyn_req.meta` 对象: + +大概是来源信息, 示例见下 ```json { - "app_meta": { - "from": "create.dynamic.web", - "mobi_app": "web" - } + "app_meta": { + "from": "create.dynamic.web", + "mobi_app": "web" + } } ``` -`dyn_req`对象的`content`对象: +`dyn_req.content` 对象: | 参数名 | 类型 | 内容 | 必要性 | 备注 | | -------- | ----- | -------------------- | ------ | ---- | -| contents | array | 动态组件对象有序数组 | 必要 | | +| contents | object[] | 动态组件对象有序数组 | 必要 | | -`contents`数组内每一个动态组件对象: +`dyn_req.content.contents[]` 对象: -```json -{ - "raw_text": "ui上直接显示的字符串", - "type": 组件类型id, - "biz_id": "动态组件的内容id转字符串,比如投票id" -} -``` +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ---- | ------ | ---- | +| raw_text | string | 文本 | 必要 | | +| type | number | 组件类型 id | 不必要 | 参见 [富文本节点类型](../opus/rich_text_nodes.md) | +| biz_id | string | 动态组件的内容id转字符串 | 不必要 | 参见 [富文本节点类型](../opus/rich_text_nodes.md) | -动态组件类型: - -| 组件名 | type | `biz_id`含义 | -| ------ | ---- | ------------ | -| 纯文本 | 1 | 空 | -| AT人 | 2 | AT人的mid | -| 表情 | 9 | 空 | -| 投票 | 4 | 投票id | - -`dyn_req`对象的`topic`对象 +`dyn_req.topic` 对象: | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ------------- | ---- | ------- | ------ | -------------------------- | -| from_source | str | 来源id? | 必要 | 网页版直接选为dyn.web.list | -| from_topic_id | num | 0 | 必要 | | -| id | num | 话题id | 必要 | | -| name | str | 话题名 | 必要 | | +| from_source | string | 来源id? | 不必要 | 网页版直接选为 `dyn.web.list` | +| from_topic_id | number | 0 | 不必要 | | +| id | number | 话题id | 必要 | | +| name | string | 话题名 | 不必要 | | -`dyn_req`对象的`pics`数组的每一项对象: +`dyn_req.pics[]` 对象: -| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | | ---------- | ----- | ---------------- | ------ | ------------------------------------------------------------ | -| img_height | num | 图片高 | 非必要 | 这个东西会直接原封不动传到前端,比如你都写0在网页上就看不见了,但是还会加载 | -| img_width | num | 图片宽 | 非必要 | 同上 | +| img_height | number | 图高 | 非必要 | 这个东西会直接原封不动传到前端,比如你都写 0 在网页上就看不见了, 但是还会加载 | +| img_width | number | 图宽 | 非必要 | 同上 | | img_size | float | 图片文件大小(KB) | 非必要 | | -| img_src | str | 图片bfs链接 | 必要 | | +| img_src | string | 图片 URL | 必要 | | -`dyn_req`对象的`option`对象: +`dyn_req.option` 对象: | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ----------------- | ---- | ------------ | ------ | --------------- | -| up_choose_comment | num | 精选评论flag | 非必要 | 1: 开启 | -| close_comment | num | 关闭评论flag | 非必要 | 同上,与上二选一 | +| up_choose_comment | number | 精选评论flag | 非必要 | 1: 开启 | +| close_comment | number | 关闭评论flag | 非必要 | 同上, 上二选一 | -`dyn_req`对象的`topic`对象: +`dyn_req.topic` 对象: | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ------------- | ---- | ------------ | ------ | -------- | -| from_source | str | dyn.web.list | 非必要 | 作用不明 | -| from_topic_id | num | 0 | 非必要 | 作用不明 | -| id | num | 话题id | 必要 | | -| name | str | 话题名 | 非必要 | | +| from_source | string | `dyn.web.list` | 非必要 | 作用不明 | +| from_topic_id | number | 0 | 非必要 | 作用不明 | +| id | number | 话题id | 必要 | | +| name | string | 话题名 | 非必要 | | -**json回复:** +**JSON 回复:** 根对象: | 字段 | 类型 | 内容 | 备注 | | --- | --- | --- | --- | -| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />4126021:你没有绑定手机,无法发布动态 | -| message | str | 错误信息 | 成功为空 | -| data | obj | 数据本体 | | +| code | number | 返回值 | 0: 成功<br />-101: 账号未登录<br />4126021: 你没有绑定手机,无法发布动态 | +| message | string | 错误信息 | 成功为空 | +| data | object | 数据本体 | | -`data`对象: - -当Cookie中含有任意的`buvid3`时,比较干净简洁: +`data` 对象: | 字段 | 类型 | 内容 | 备注 | | --- | --- | --- | --- | -| result | num | 0 | | -| message | str | 错误信息 | | -| dyn_id | num | 动态 id | | -| dyn_id_str | str | 动态 id | 字符串格式 | -| dyn_type | num | 动态类型 | 不带图片: 4<br/>带图片: 2<br/>其他请参考 get_dynamic_detail.md | -| \_gt_ | num | 0 | | +| result | number | 0 | | +| message | string | 错误信息 | | +| dyn_id | number | 动态 id | | +| dyn_id_str | string | 动态 id | 字符串格式 | +| dyn_type | number | 动态类型 | 1: 转发<br />2: 图文 | +| share_window | object | 分享提示 | 当 Cookie 不存在 `buvid3` 时存在 | -**警告:下面的内容又乱又杂,而且绝大多数情况用不到,我建议大家用这个接口的时候随便带一个buvid3的cookie屏蔽掉它们算了.** +`data.share_window` 对象: -当Cookie中不含有`buvid3`时,较上述字段多出一个`fake_card`对象,大概是移动端用的卡片: +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| main_title | string | `分享后会获得更多曝光,快去分享吧` | | -| 字段 | 类型 | 内容 | 备注 | -| --------- | ---- | ---- | ------------ | -| fake_card | obj | 0 | 又多又乱又杂 | - -`fake_card`对象: - -| 字段 | 类型 | 内容 | 备注 | -| --------- | ----- | ------------ | ------------------------------------------------------------ | -| card_type | num | 卡片类型 | 不带图片: 4<br/>带图片: 2<br/>其他请参考 [获取特定动态卡片信息](get_dynamic_detail.md) | -| modules | array | 卡片组件列表 | | -| extend | obj | 其他杂项信息 | | - -`fake_card`对象的`modules`数组中每一项对象: - -| 字段 | 类型 | 内容 | 备注 | -| ----------- | ---- | -------- | -------------------------------------------- | -| module_type | num | 组件类型 | 1: 作者信息<br/>3: 动态内容<br/>其他有待发现 | -| ModuleItem | obj | 卡片组件 | | - -`ModuleItem`对象与`module_type`对应关系: - -| module_type | `ModuleItem`含有的唯一一个key | 备注 | -| ----------- | ----------------------------- | ----------------------- | -| 1 | module_author | 作者信息 | -| 3 | module_desc | 动态内容 | -| 4 | module_dynamic | 携带图片等 | -| 9 | module_stat | 不明,貌似一直都是空对象 | - - `ModuleItem`内`module_author`: - -| 字段 | 类型 | 内容 | 备注 | -| ---------------- | ---- | -------------------------------- | ------------------------------------------------ | -| mid | num | 发送者mid | | -| ptime_label_text | str | 发送时间(人类可读形式)肯定是刚刚 | | -| author | obj | 作者详细信息 | 请参考[用户基本信息](../user/info.md),不再赘述.. | - - `ModuleItem`内`module_desc`: - -| 字段 | 类型 | 内容 | 备注 | -| ---- | ----- | -------------- | ---- | -| desc | array | 动态组件列表 | | -| text | str | 动态纯文本形式 | | - -`module_desc`的`desc`数组: - -| 项 | 类型 | 备注 | -| ---- | ---- | ------------------- | -| 0 | obj | 第0个动态组件 | -| n | obj | 第n+1个动态组件组件 | -| ... | obj | ... | - -`desc`数组的每一项: - -| 字段 | 类型 | 内容 | 备注 | -| ---- | ---- | ------------------------------------------------ | ----------------------------- | -| text | str | 该组件对外显示的纯文本 | 对应请求时该组件的`raw_text` | -| type | num | 组件类型 | 对应请求时该组件的`type` | -| rid | str | 组件内容的id,例如@人的mid | 根据需要出现,比如纯文本就没有 | -| uri | str | b站自定义`bilibili://`协议链接,用于@人点击跳转等 | 根据需要出现,比如纯文本就没有 | - - `ModuleItem`内`module_dynamic`: - -| 字段 | 类型 | 内容 | 备注 | -| ---------- | ---- | ------------------ | -------------------- | -| type | num | 不知道是什么的类型 | 5: 图片<br/>其他未知 | -| ModuleItem | obj | 组件? | 怎么还有套娃的? | - -当`module_dynamic`的`type`字段为`5`时: - -`module_dynamic`的`ModuleItem`有唯一key`dyn_draw`: - -| 字段 | 类型 | 内容 | 备注 | -| ----- | ----- | -------------------------------- | ------------------------------------------------ | -| items | array | 图片数组 | 与请求部分`dyn_req.pics`一致 | -| id | num | 这条图片动态所对应的相簿`doc_id` | 可以参考本文档的[相簿基本信息](../album/info.md) | - -`fake_card`的`extend`对象: - -| 字段 | 类型 | 内容 | 备注 | -| ------------- | ----- | ---------------------------------------------- | ---------------------------------------- | -| dyn_id_str | str | 动态id字符串形式 | | -| business_id | str | 未知 | 根据情况出现 | -| orif_img_url | str | 封面图url(如果有) | | -| share_type | str | 一般为3 | 未知 | -| share_scene | str | 一般为dynamic | 未知 | -| is_fast_share | bool | 一般为true | 未知 | -| dyn_type | num | 动态类型 | 不带图片: 4<br/>带图片: 2<br/>其他待探索 | -| uid | num | 发送者mid | | -| card_url | str | b站自定义`bilibili://`协议链接,指向该条动态 | | -| desc | array | 动态组件列表,重复了一遍`module_desc`的desc数组 | | -| reply | obj | 评论区相关 | | - -`extend`的`reply`对象: - -| 字段 | 类型 | 内容 | 备注 | -| ------ | ----- | ------------------------------------------------- | ---- | -| uri | str | b站自定义`bilibili://`协议链接,指向该条动态评论区 | | -| params | array | 未知 | | +**示例:** <details> -<summary>查看示例(不带`buvid3`)</summary> - -```bash -curl -X POST 'https://api.bilibili.com/x/dynamic/feed/create/dyn?csrf=xxxxx' \ --b 'buvid3=114514;SESSDATA=xxxxx;' \ ---header 'Content-Type: application/json' \ ---data-raw '{ - "dyn_req": { - "content": { - "contents": [ - { - "raw_text": "Test", - "type": 1, - "biz_id": "" - }, - { - "raw_text": "礼堂丁真,鉴定为一眼丁真", - "type": 2, - "biz_id": "1463028352" - } - ] - }, - "pics": [ - { - "img_src": "http://i0.hdslb.com/bfs/new_dyn/322acd0fa92cfa59c0ad70e95ab95476470310172.png", - "img_width": 1368, - "img_height": 1500, - "img_size": 662.6005859375 - }, - { - "img_src": "http://i0.hdslb.com/bfs/new_dyn/322acd0fa92cfa59c0ad70e95ab95476470310172.png", - "img_width": 1368, - "img_height": 1500, - "img_size": 662.6005859375 - } - ], - "option": { - "close_comment": 1 - }, - "scene": 2 - } -}' -``` - -响应: - -```json -{ - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "dyn_id": 755402937023332386, - "dyn_id_str": "755402937023332386", - "dyn_type": 2, - "dyn_rid": 221621929, - "fake_card": { - "card_type": 7, - "modules": [ - { - "module_type": 1, - "ModuleItem": { - "module_author": { - "mid": 470310172, - "ptime_label_text": "刚刚", - "author": { - "mid": 470310172, - "name": "I_Min", - "face": "https://i1.hdslb.com/bfs/face/d36e9dc2d14b545a055980a2f3c1f2d5621646c6.png", - "official": { - "type": -1 - }, - "vip": { - "Type": 1, - "due_date": 1673366400000, - "label": {} - }, - "uri": "bilibili://space/470310172?defaultTab=dynamic", - "pendant": {}, - "nameplate": { - "nid": 3, - "name": "白银殿堂", - "image": "https://i1.hdslb.com/bfs/face/f6a31275029365ae5dc710006585ddcf1139bde1.png", - "image_small": "https://i0.hdslb.com/bfs/face/b09cdb4c119c467cf2d15db5263b4f539fa6e30b.png", - "level": "高级勋章", - "condition": "单个自制视频总播放数>=10万" - } - }, - "decorate_card": { - "id": 984, - "card_url": "https://i0.hdslb.com/bfs/vip/e42569d2f91a17346cdb991c7c34d3bbc677d4ef.png", - "jump_url": "https://www.bilibili.com/h5/mall/equity-link/home?navhide=1&item_id=984&part=card&f_source=garb&from=post&isdiy=0", - "fan": { - "number_str": "000000" - } - }, - "tp_list": [ - { - "type": 3, - "Item": { - "share": { - "icon": "http://i0.hdslb.com/bfs/feed-admin/ee5902a63bbe4a0d78646d11036b062ea60573f6.png", - "title": "分享" - } - } - }, - { - "type": 7, - "Item": { - "default": { - "icon": "http://i0.hdslb.com/bfs/feed-admin/9163a7b29964cb84cb5fc35e4f7b899151cf2afc.png", - "title": "删除" - } - } - } - ] - } - } - }, - { - "module_type": 3, - "ModuleItem": { - "module_desc": { - "desc": [ - { - "text": "Test", - "type": 1 - }, - { - "text": "礼堂丁真,鉴定为一眼丁真", - "type": 2, - "uri": "bilibili://space/1463028352?defaultTab=dynamic", - "rid": "1463028352" - } - ], - "text": "Test礼堂丁真,鉴定为一眼丁真" - } - } - }, - { - "module_type": 4, - "ModuleItem": { - "module_dynamic": { - "type": 5, - "ModuleItem": { - "dyn_draw": { - "items": [ - { - "src": "http://i0.hdslb.com/bfs/new_dyn/322acd0fa92cfa59c0ad70e95ab95476470310172.png", - "width": 1368, - "height": 1500, - "size": 662.6006 - }, - { - "src": "http://i0.hdslb.com/bfs/new_dyn/322acd0fa92cfa59c0ad70e95ab95476470310172.png", - "width": 1368, - "height": 1500, - "size": 662.6006 - } - ], - "id": 221621929 - } - } - } - } - }, - { - "module_type": 9, - "ModuleItem": { - "module_stat": {} - } - } - ], - "extend": { - "dyn_id_str": "755402937023332386", - "business_id": "221621929", - "orig_img_url": "http://i0.hdslb.com/bfs/new_dyn/322acd0fa92cfa59c0ad70e95ab95476470310172.png", - "desc": [ - { - "text": "Test", - "type": 1 - }, - { - "text": "礼堂丁真,鉴定为一眼丁真", - "type": 2, - "uri": "bilibili://space/1463028352?defaultTab=dynamic", - "rid": "1463028352" - } - ], - "share_type": "3", - "share_scene": "dynamic", - "is_fast_share": true, - "dyn_type": 2, - "uid": 470310172, - "card_url": "bilibili://following/detail/755402937023332386?cardType=2&rid=221621929", - "reply": { - "uri": "bilibili://following/detail/755402937023332386?cardType=2&rid=221621929", - "params": [ - { - "key": "comment_on", - "value": "1" - } - ] - } - } - } - } -} -``` - -</details> - -<details> -<summary>查看示例(带`buvid3`)</summary> +<summary>Cookie 带 `buvid3`:</summary> 动态正文 ``` @@ -817,35 +503,33 @@ curl -X POST 'https://api.bilibili.com/x/dynamic/feed/create/dyn?csrf=xxxxx' \ } ``` - - </details> ## 立即发布定时动态 > https://api.vc.bilibili.com/dynamic_draft/v1/dynamic_draft/publish_now -*请求方式:POST* +*请求方法: POST* -认证方式:Cookie(SESSDATA) +认证方式: Cookie (SESSDATA) -**正文参数 (application/x-www-form-urlencoded):** +**正文参数 (application/x-www-form-urlencoded):** | 参数名 | 类型 | 内容 | 必要性 | 备注 | | -------- | ---- | ------------------------ | ------ | ---- | | draft_id | file | 定时动态(草稿)id | 必要 | | -| csrf | str | CSRF Token(位于cookie) | 必要 | | +| csrf | string | CSRF Token(即 Cookie 中 bili_jct) | 必要 | | -**json回复:** +**JSON 回复:** -根对象: +根对象: | 字段 | 类型 | 内容 | 备注 | | ------- | ---- | -------- | ------------ | -| code | num | 返回值 | 0:成功 | -| data | obj | 信息本体 | 正常为空对象 | -| message | str | 错误消息 | 正常为"0" | -| ttl | num | 1 | 不明 | +| code | number | 返回值 | 0: 成功 | +| data | object | 信息本体 | 正常为空对象 | +| message | string | 错误消息 | 正常为 `0` | +| ttl | number | 1 | | <details> <summary>查看示例</summary> @@ -861,12 +545,11 @@ curl -X POST 'https://api.vc.bilibili.com/dynamic_draft/v1/dynamic_draft/publish ```json { - "code":0, - "message":"0", - "ttl":1, - "data":{} + "code": 0, + "message": "0", + "ttl": 1, + "data": {} } ``` </details> - diff --git a/docs/dynamic/space.md b/docs/dynamic/space.md index 0a150f9..a83f3a0 100644 --- a/docs/dynamic/space.md +++ b/docs/dynamic/space.md @@ -1,1143 +1,4473 @@ -# 获取用户空间动态 +# 用户空间动态 + +## 获取用户空间动态 > https://api.bilibili.com/x/polymer/web-dynamic/v1/feed/space +> +> https://api.bilibili.com/x/polymer/web-dynamic/desktop/v1/feed/space -请求方式:`GET` +*请求方法: GET* -认证方式:Cookie(SESSDATA) +鉴权方式: +* 未登录: 请求标头 `User-Agent` 字段, `Cookie` 需含 `buvid3`; WBI 签名, `dm_img` 系列风控 +* 已登录: 请求标头 `Cookie` 含有效 `SESSDATA` -## URL参数 +注: 该接口现在有一些奇奇怪怪的校验, 存在一定运气成分, 参见 [#686](https://github.com/SocialSisterYi/bilibili-API-collect/issues/686), 所以建议您还是登录吧~ -| 参数名 | 类型 | 必填 | 内容 | 备注 | -|-----------------|-----|-----|--------|-----| -| offset | str | | 分页偏移量 | | -| host_mid | str | √ | 用户UID | | -| timezone_offset | num | | `-480` | | -| features | str | | itemOpusStyle | | +**URL 参数:** -## Json回复 +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +|-----------------|--------|--------|-----| - | +| offset | string | 分页偏移量 | 不必要 | | +| host_mid | string | 被查询用户 UID (mid) |必要| | +| timezone_offset | number | 时区偏移| 不必要| 默认 `-480` | +| platform | string | 平台 | 不必要 | 如 `web` | +| features | string | 功能 | 不必要 | 留空为空, 默认为 `itemOpusStyle,listOnlyfans,opusBigCover,onlyfansVote,forwardListHidden,decorationCard,commentsNewVersion,onlyfansAssetsV2,ugcDelete,onlyfansQaCard`, 参见 [功能模块](../opus/features.md#features) | +| web_location | string | `333.1387` | 不必要 | | +| dm_img_switch | number | `0` | 不必要 | 仅登录时存在 | +| dm_img_list | object[] | `dm_img` 系列风控 | 不必要 | 仅未登录时存在 | +| dm_img_str | string | `dm_img` 系列风控 | 不必要 | 仅未登录时存在 | +| dm_cover_img_str | string | `dm_img` 系列风控 | 不必要 | 仅未登录时存在 | +| dm_img_inter | object | `dm_img` 系列风控 | 不必要 | 仅未登录时存在 | +| x-bili-device-req-json | object | `{"platform":"web","device":"pc"}` | 不必要 | | +| x-bili-web-req-json | object | `{"spm_id":"333.1387"}` | 不必要 | | +| w_rid | string | WBI 签名 | 不必要 | 参见 [WBI 签名](../misc/sign/wbi.md) | +| wts | number | UNIX 秒级时间戳 | 不必要 | 参见 [WBI 签名](../misc/sign/wbi.md) | -参照 [获取动态列表](./all.md#获取动态列表) +**JSON 回复:** -## 请求示例 +可参考 [获取动态列表](./all.md#获取动态列表) + +**示例:** ```shell -curl -L -X GET 'https://api.bilibili.com/x/polymer/web-dynamic/v1/feed/space?host_mid=1' +curl 'https://api.bilibili.com/x/polymer/web-dynamic/v1/feed/space?host_mid=2095498218&features=itemOpusStyle,listOnlyfans,opusBigCover,onlyfansVote,forwardListHidden,decorationCard,commentsNewVersion,onlyfansAssetsV2,ugcDelete,onlyfansQaCard' \ +-b 'SESSDATA=xxx' ``` -## 响应示例 - <details> -<summary>点击查看</summary> +<summary>点击查看响应示例:</summary> ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "has_more": false, - "items": [ - { - "basic": { - "comment_id_str": "463864834570585963", - "comment_type": 17, - "like_icon": { - "action_url": "", - "end_url": "", - "id": 0, - "start_url": "" + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "has_more": true, + "items": [ + { + "basic": { + "comment_id_str": "349795473", + "comment_type": 11, + "jump_url": "//www.bilibili.com/opus/1063487284684259332", + "like_icon": { + "action_url": "https://i0.hdslb.com/bfs/garb/item/cb34de5fbca6b8507adf7364ae785822b74df1f9.bin", + "end_url": "", + "id": 68554, + "start_url": "" + }, + "rid_str": "349795473" + }, + "id_str": "1063487284684259332", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.375, + "width": 1.375 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } }, - "rid_str": "463864834566075427" - }, - "id_str": "463864834570585963", - "modules": { - "module_author": { - "face": "http://i0.hdslb.com/bfs/face/34c5b30a990c7ce4a809626d8153fa7895ec7b63.gif", - "face_nft": false, - "following": null, - "jump_url": "//space.bilibili.com/1/dynamic", - "label": "", - "mid": 1, - "name": "bishi", - "official_verify": { - "desc": "", - "type": -1 - }, - "pendant": { - "expire": 0, - "image": "", - "image_enhance": "", - "image_enhance_frame": "", - "name": "", - "pid": 0 - }, - "pub_action": "", - "pub_location_text": "", - "pub_time": "2020-12-02", - "pub_ts": 1606840348, - "type": "AUTHOR_TYPE_NORMAL", - "vip": { - "avatar_subscript": 1, - "avatar_subscript_url": "", - "due_date": 1816099200000, - "label": { - "bg_color": "#FB7299", - "bg_style": 1, - "border_color": "", - "img_label_uri_hans": "", - "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", - "img_label_uri_hant": "", - "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", - "label_theme": "annual_vip", - "path": "", - "text": "年度大会员", - "text_color": "#FFFFFF", - "use_img_label": true - }, - "nickname_color": "#FB7299", - "status": 1, - "theme_type": 0, - "type": 2 - } - }, - "module_dynamic": { - "additional": null, - "desc": { - "rich_text_nodes": [ - { - "orig_text": "好家伙", - "text": "好家伙", - "type": "RICH_TEXT_NODE_TYPE_TEXT" - } - ], - "text": "好家伙" - }, - "major": null, - "topic": null - }, - "module_more": { - "three_point_items": [ - { - "label": "举报", - "type": "THREE_POINT_REPORT" + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" } - ] - }, - "module_stat": { - "comment": { - "count": 979, - "forbidden": false - }, - "forward": { - "count": 81, - "forbidden": false - }, - "like": { - "count": 7694, - "forbidden": false, - "status": false + } } - } - }, - "orig": { - "basic": { - "comment_id_str": "", - "comment_type": 0, - "like_icon": { - "action_url": "", - "end_url": "", - "id": 0, - "start_url": "" - }, - "rid_str": "" + } }, - "id_str": "459720423056997502", - "modules": { - "module_author": { - "decorate": { - "card_url": "http://i0.hdslb.com/bfs/garb/item/3fc3f5914f0bcbefac9e9fa96aec454cf347287a.png", - "fan": { - "color": "#ec3d3d", - "is_fan": true, - "num_str": "004156", - "number": 4156 - }, - "id": 1418, - "jump_url": "https://www.bilibili.com/h5/mall/fans/recommend/1431?navhide=1&mid=249608727&from=dynamic&isdiy=0", - "name": "2020拜年祭粉丝专属", - "type": 3 - }, - "face": "https://i0.hdslb.com/bfs/face/e422a095e58305218e2745714ceb4c9754e752a7.jpg", - "face_nft": false, - "following": null, - "jump_url": "//space.bilibili.com/249608727/dynamic", - "label": "", - "mid": 249608727, - "name": "杨可爱Ukulele", - "official_verify": { - "desc": "全民音乐UP主年度30强", - "type": 0 - }, - "pendant": { - "expire": 0, - "image": "https://i0.hdslb.com/bfs/face/c93e1eeb77b1bb0753eff243d49c006bf18d69c5.png", - "image_enhance": "https://i0.hdslb.com/bfs/face/c93e1eeb77b1bb0753eff243d49c006bf18d69c5.png", - "image_enhance_frame": "", - "name": "梦塔·雪谜城", - "pid": 299 - }, - "pub_action": "投稿了视频", - "pub_time": "", - "pub_ts": 1605875402, - "type": "AUTHOR_TYPE_NORMAL", - "vip": { - "avatar_subscript": 1, - "avatar_subscript_url": "", - "due_date": 1793462400000, - "label": { - "bg_color": "#FB7299", - "bg_style": 1, - "border_color": "", - "img_label_uri_hans": "", - "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", - "img_label_uri_hant": "", - "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", - "label_theme": "annual_vip", - "path": "", - "text": "年度大会员", - "text_color": "#FFFFFF", - "use_img_label": true - }, - "nickname_color": "#FB7299", - "status": 1, - "theme_type": 0, - "type": 2 - } - }, - "module_dynamic": { - "additional": null, - "desc": { - "rich_text_nodes": [ - { - "jump_url": "//search.bilibili.com/all?keyword=%23%E9%87%91%E7%A7%8B%E9%9F%B3%E4%B9%90%E5%AD%A3%23", - "orig_text": "#金秋音乐季#", - "text": "#金秋音乐季#", - "type": "RICH_TEXT_NODE_TYPE_TOPIC" - }, - { - "orig_text": "\n大家推荐给我很多神曲 一直没机会做\n这不\n杨同学带着《酒醉的蝴蝶》《爱河》《黑人抬棺》《最炫民族风》..等10余位选手来了\n改编成中国风之后 好像 有点 串味儿了\n大家三连之后再细细观看可好?", - "text": "\n大家推荐给我很多神曲 一直没机会做\n这不\n杨同学带着《酒醉的蝴蝶》《爱河》《黑人抬棺》《最炫民族风》..等10余位选手来了\n改编成中国风之后 好像 有点 串味儿了\n大家三连之后再细细观看可好?", - "type": "RICH_TEXT_NODE_TYPE_TEXT" - } - ], - "text": "#金秋音乐季#\n大家推荐给我很多神曲 一直没机会做\n这不\n杨同学带着《酒醉的蝴蝶》《爱河》《黑人抬棺》《最炫民族风》..等10余位选手来了\n改编成中国风之后 好像 有点 串味儿了\n大家三连之后再细细观看可好?" - }, - "major": { - "archive": { - "aid": "970285943", - "badge": { - "bg_color": "#FB7299", - "color": "#FFFFFF", - "text": "投稿视频" - }, - "bvid": "BV12p4y167Kq", - "cover": "http://i0.hdslb.com/bfs/archive/20c86c66df71770a7a91cc0871b455d1c582094b.jpg", - "desc": "大家好,今天想要跟大家分享我的快乐源泉,以及去KTV的必点神曲\n大家如果觉得十首看了还不过瘾的话\n这样\n点赞过十万 热评第一说出啥改编我就出啥 (前提是我做得来...\n\n(“土味”只是一个外号,它们其实不土,它们只是快乐的传递者\n 大部分的填词都是根据原版歌曲填哒,偶尔有些小发挥,大家当看娱乐视频就好啦)\n--------------------\n原唱:崔伟立、凤凰传奇、Vicetone&Tony Igy、神马乐团、筷子兄弟、慕容晓晓、李佳璐\n改编编曲/演唱/尤克里里:杨可爱\n改编填词:不迟等\n混音:", - "disable_preview": 0, - "duration_text": "06:12", - "jump_url": "//www.bilibili.com/video/BV12p4y167Kq", - "stat": { - "danmaku": "3519", - "play": "153万" - }, - "title": "没内味儿?我把十五年最火的10首土味神曲做成了一首中国风..", - "type": 1 - }, - "type": "MAJOR_TYPE_ARCHIVE" - }, - "topic": null + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg" + }, + "src_type": 1 } + }, + "res_type": 3 }, - "type": "DYNAMIC_TYPE_AV", "visible": true - }, - "type": "DYNAMIC_TYPE_FORWARD", - "visible": true - }, - { - "basic": { - "comment_id_str": "269459814293507419", - "comment_type": 17, - "like_icon": { - "action_url": "", - "end_url": "", - "id": 0, - "start_url": "" + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } }, - "rid_str": "269459814290043403" - }, - "id_str": "269459814293507419", - "modules": { - "module_author": { - "face": "http://i0.hdslb.com/bfs/face/34c5b30a990c7ce4a809626d8153fa7895ec7b63.gif", - "face_nft": false, - "following": null, - "jump_url": "//space.bilibili.com/1/dynamic", - "label": "", - "mid": 1, - "name": "bishi", - "official_verify": { - "desc": "", - "type": -1 - }, - "pendant": { - "expire": 0, - "image": "", - "image_enhance": "", - "image_enhance_frame": "", - "name": "", - "pid": 0 - }, - "pub_action": "", - "pub_location_text": "", - "pub_time": "2019-06-27", - "pub_ts": 1561576902, - "type": "AUTHOR_TYPE_NORMAL", - "vip": { - "avatar_subscript": 1, - "avatar_subscript_url": "", - "due_date": 1816099200000, - "label": { - "bg_color": "#FB7299", - "bg_style": 1, - "border_color": "", - "img_label_uri_hans": "", - "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", - "img_label_uri_hant": "", - "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", - "label_theme": "annual_vip", - "path": "", - "text": "年度大会员", - "text_color": "#FFFFFF", - "use_img_label": true - }, - "nickname_color": "#FB7299", - "status": 1, - "theme_type": 0, - "type": 2 + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png" + }, + "src_type": 1 } + }, + "res_type": 3 }, - "module_dynamic": { - "additional": null, - "desc": { - "rich_text_nodes": [ - { - "orig_text": "来一锄头!", - "text": "来一锄头!", - "type": "RICH_TEXT_NODE_TYPE_TEXT" - } - ], - "text": "来一锄头!" - }, - "major": null, - "topic": null - }, - "module_more": { - "three_point_items": [ - { - "label": "举报", - "type": "THREE_POINT_REPORT" - } - ] - }, - "module_stat": { - "comment": { - "count": 1233, - "forbidden": false - }, - "forward": { - "count": 32, - "forbidden": false - }, - "like": { - "count": 8428, - "forbidden": false, - "status": false - } - } - }, - "orig": { - "basic": { - "comment_id_str": "", - "comment_type": 0, - "like_icon": { - "action_url": "", - "end_url": "", - "id": 0, - "start_url": "" - }, - "rid_str": "" - }, - "id_str": 4038269986840689, - "modules": { - "module_author": { - "face": "http://i0.hdslb.com/bfs/face/210cac322eb3a689f63f3a19d59ea641347c3c52.jpg", - "face_nft": false, - "following": null, - "jump_url": "//space.bilibili.com/10410/dynamic", - "label": "", - "mid": 10410, - "name": "hotfloor", - "official_verify": { - "desc": "", - "type": -1 - }, - "pendant": { - "expire": 0, - "image": "", - "image_enhance": "", - "image_enhance_frame": "", - "name": "", - "pid": 0 - }, - "pub_action": "投稿了视频", - "pub_time": "", - "pub_ts": 1327584664, - "type": "AUTHOR_TYPE_NORMAL", - "vip": { - "avatar_subscript": 1, - "avatar_subscript_url": "", - "due_date": 1700150400000, - "label": { - "bg_color": "#FB7299", - "bg_style": 1, - "border_color": "", - "img_label_uri_hans": "", - "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", - "img_label_uri_hant": "", - "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", - "label_theme": "annual_vip", - "path": "", - "text": "年度大会员", - "text_color": "#FFFFFF", - "use_img_label": true - }, - "nickname_color": "#FB7299", - "status": 1, - "theme_type": 0, - "type": 2 - } - }, - "module_dynamic": { - "additional": null, - "desc": null, - "major": { - "archive": { - "aid": "205419", - "badge": { - "bg_color": "#FB7299", - "color": "#FFFFFF", - "text": "投稿视频" - }, - "bvid": "BV1bx411w7SF", - "cover": "http://i1.hdslb.com/bfs/archive/5607be9a736a426ae21e3e59fad664296f91df8e.png", - "desc": "原创 拖到今天才做完了……总之祝各位新年快乐,做这个只是为了感谢这一年陪伴我们的各种新番,与新番一起成长的UP主们,和浪费我们大半人生的bili,谢谢你们带给我们的欢笑和泪水,即使是世界末日也不会忘记…… PS.感谢哦拖拖帮忙取标题 下载:http://pan.baidu.com/s/1c0ImLva 密码:8xb4 原曲MV联动av210810 自己的MADlist-->mylist27438", - "disable_preview": 0, - "duration_text": "04:49", - "jump_url": "//www.bilibili.com/video/BV1bx411w7SF", - "stat": { - "danmaku": "2.4万", - "play": "54.6万" - }, - "title": "【MAD】[送给所有热爱bili的各位]干杯", - "type": 1 - }, - "type": "MAJOR_TYPE_ARCHIVE" - }, - "topic": null - } - }, - "type": "DYNAMIC_TYPE_AV", "visible": true - }, - "type": "DYNAMIC_TYPE_FORWARD", - "visible": true + } + ] + }, + "mid": "2095498218" }, - { - "basic": { - "comment_id_str": "26050777", - "comment_type": 11, - "like_icon": { - "action_url": "", - "end_url": "", - "id": 0, - "start_url": "" - }, - "rid_str": "26050777" + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "fan": { + "color": "#a465e5", + "color_format": { + "colors": [ + "#a465e5FF", + "#a465e5FF" + ], + "end_point": "0,100", + "gradients": [ + 0, + 100 + ], + "start_point": "0,0" }, - "id_str": "269003035929570655", - "modules": { - "module_author": { - "face": "http://i0.hdslb.com/bfs/face/34c5b30a990c7ce4a809626d8153fa7895ec7b63.gif", - "face_nft": false, - "following": null, - "jump_url": "//space.bilibili.com/1/dynamic", - "label": "", - "mid": 1, - "name": "bishi", - "official_verify": { - "desc": "", - "type": -1 - }, - "pendant": { - "expire": 0, - "image": "", - "image_enhance": "", - "image_enhance_frame": "", - "name": "", - "pid": 0 - }, - "pub_action": "", - "pub_location_text": "", - "pub_time": "2019-06-25", - "pub_ts": 1561470550, - "type": "AUTHOR_TYPE_NORMAL", - "vip": { - "avatar_subscript": 1, - "avatar_subscript_url": "", - "due_date": 1816099200000, - "label": { - "bg_color": "#FB7299", - "bg_style": 1, - "border_color": "", - "img_label_uri_hans": "", - "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", - "img_label_uri_hant": "", - "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", - "label_theme": "annual_vip", - "path": "", - "text": "年度大会员", - "text_color": "#FFFFFF", - "use_img_label": true - }, - "nickname_color": "#FB7299", - "status": 1, - "theme_type": 0, - "type": 2 - } - }, - "module_dynamic": { - "additional": null, - "desc": { - "rich_text_nodes": [ - { - "jump_url": "//search.bilibili.com/all?keyword=%23%E5%B9%B2%E6%9D%AF%E5%8D%81%E5%91%A8%E5%B9%B4%23", - "orig_text": "#干杯十周年#", - "text": "#干杯十周年#", - "type": "RICH_TEXT_NODE_TYPE_TOPIC" - }, - { - "orig_text": "Yo,My Friend,Nice to see you again.", - "text": "Yo,My Friend,Nice to see you again.", - "type": "RICH_TEXT_NODE_TYPE_TEXT" - }, - { - "jump_url": "https://www.bilibili.com/blackboard/bilibili2009.html", - "orig_text": "https://www.bilibili.com/blackboard/bilibili2009.html", - "text": "网页链接", - "type": "RICH_TEXT_NODE_TYPE_WEB" - } - ], - "text": "#干杯十周年#Yo,My Friend,Nice to see you again.https://www.bilibili.com/blackboard/bilibili2009.html" - }, - "major": { - "draw": { - "id": 26050777, - "items": [ - { - "height": 1360, - "size": 500, - "src": "https://i0.hdslb.com/bfs/active/1ddb2cb9a1edb74ba7c4f0e15c1bbef9dc3ce548.jpg", - "tags": [], - "width": 935 - } - ] - }, - "type": "MAJOR_TYPE_DRAW" - }, - "topic": null - }, - "module_more": { - "three_point_items": [ - { - "label": "举报", - "type": "THREE_POINT_REPORT" - } - ] - }, - "module_stat": { - "comment": { - "count": 1515, - "forbidden": false - }, - "forward": { - "count": 214, - "forbidden": false - }, - "like": { - "count": 11041, - "forbidden": false, - "status": false - } - } - }, - "type": "DYNAMIC_TYPE_DRAW", - "visible": true + "is_fan": 1, + "name": "坠落·空", + "num_desc": "002272", + "number": 2272 + }, + "id": 68557, + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "item_id": 68557, + "jump_url": "https://www.bilibili.com/h5/mall/equity-link/collect-home?item_id=68557&isdiy=0&part=card&from=post&f_source=garb&vmid=2095498218&native.theme=1&navhide=1", + "name": "坠落·空粉丝" }, - { - "basic": { - "comment_id_str": "264471510427272642", - "comment_type": 17, - "like_icon": { - "action_url": "", - "end_url": "", - "id": 0, - "start_url": "" - }, - "rid_str": "264471510424746690" - }, - "id_str": "264471510427272642", - "modules": { - "module_author": { - "face": "http://i0.hdslb.com/bfs/face/34c5b30a990c7ce4a809626d8153fa7895ec7b63.gif", - "face_nft": false, - "following": null, - "jump_url": "//space.bilibili.com/1/dynamic", - "label": "", - "mid": 1, - "name": "bishi", - "official_verify": { - "desc": "", - "type": -1 - }, - "pendant": { - "expire": 0, - "image": "", - "image_enhance": "", - "image_enhance_frame": "", - "name": "", - "pid": 0 - }, - "pub_action": "", - "pub_location_text": "", - "pub_time": "2019-06-13", - "pub_ts": 1560415472, - "type": "AUTHOR_TYPE_NORMAL", - "vip": { - "avatar_subscript": 1, - "avatar_subscript_url": "", - "due_date": 1816099200000, - "label": { - "bg_color": "#FB7299", - "bg_style": 1, - "border_color": "", - "img_label_uri_hans": "", - "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", - "img_label_uri_hant": "", - "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", - "label_theme": "annual_vip", - "path": "", - "text": "年度大会员", - "text_color": "#FFFFFF", - "use_img_label": true - }, - "nickname_color": "#FB7299", - "status": 1, - "theme_type": 0, - "type": 2 - } - }, - "module_dynamic": { - "additional": null, - "desc": { - "rich_text_nodes": [ - { - "orig_text": "圈错号了", - "text": "圈错号了", - "type": "RICH_TEXT_NODE_TYPE_TEXT" - }, - { - "emoji": { - "icon_url": "http://i0.hdslb.com/bfs/emote/33ad6000d9f9f168a0976bc60937786f239e5d8c.png", - "size": 1, - "text": "[呆]", - "type": 1 - }, - "orig_text": "[呆]", - "text": "[呆]", - "type": "RICH_TEXT_NODE_TYPE_EMOJI" - }, - { - "orig_text": "//", - "text": "//", - "type": "RICH_TEXT_NODE_TYPE_TEXT" - }, - { - "orig_text": "@柴刀娘木木", - "rid": "9", - "text": "@柴刀娘木木", - "type": "RICH_TEXT_NODE_TYPE_AT" - }, - { - "orig_text": ":", - "text": ":", - "type": "RICH_TEXT_NODE_TYPE_TEXT" - }, - { - "orig_text": "@bishi", - "rid": "1", - "text": "@bishi", - "type": "RICH_TEXT_NODE_TYPE_AT" - }, - { - "orig_text": "我来组成分母,测试欧气,我要是中了再抽人送出", - "text": "我来组成分母,测试欧气,我要是中了再抽人送出", - "type": "RICH_TEXT_NODE_TYPE_TEXT" - }, - { - "emoji": { - "icon_url": "http://i0.hdslb.com/bfs/emote/6c49d226e76c42cd8002abc47b3112bc5a92f66a.png", - "size": 1, - "text": "[偷笑]", - "type": 1 - }, - "orig_text": "[偷笑]", - "text": "[偷笑]", - "type": "RICH_TEXT_NODE_TYPE_EMOJI" - } - ], - "text": "圈错号了[呆]//@柴刀娘木木:@bishi我来组成分母,测试欧气,我要是中了再抽人送出[偷笑]" - }, - "major": null, - "topic": null - }, - "module_more": { - "three_point_items": [ - { - "label": "举报", - "type": "THREE_POINT_REPORT" - } - ] - }, - "module_stat": { - "comment": { - "count": 1013, - "forbidden": false - }, - "forward": { - "count": 109, - "forbidden": false - }, - "like": { - "count": 4751, - "forbidden": false, - "status": false - } - } - }, - "orig": { - "basic": { - "comment_id_str": "", - "comment_type": 0, - "like_icon": { - "action_url": "", - "end_url": "", - "id": 0, - "start_url": "" - }, - "rid_str": "" - }, - "id_str": "264180341709040397", - "modules": { - "module_author": { - "decorate": { - "card_url": "http://i0.hdslb.com/bfs/garb/item/fe745063c05881face209a772d17bb056a4034f1.png", - "fan": { - "color": "#6857ea", - "is_fan": true, - "num_str": "001647", - "number": 1647 - }, - "id": 5203, - "jump_url": "https://www.bilibili.com/h5/mall/fans/recommend/5235?navhide=1&mid=12&from=dynamic&isdiy=0", - "name": "BML2021粉丝专属", - "type": 3 - }, - "face": "http://i2.hdslb.com/bfs/face/4f640086bc17e180faf8ad6b86b5bf4be24eb9f1.jpg", - "face_nft": false, - "following": null, - "jump_url": "//space.bilibili.com/12/dynamic", - "label": "", - "mid": 12, - "name": "MagicBear", - "official_verify": { - "desc": "", - "type": 0 - }, - "pendant": { - "expire": 0, - "image": "https://i0.hdslb.com/bfs/face/a959c72407b2ac553d4328fd76d55d0134e20f65.png", - "image_enhance": "https://i0.hdslb.com/bfs/face/a959c72407b2ac553d4328fd76d55d0134e20f65.png", - "image_enhance_frame": "", - "name": "异常生物", - "pid": 460 - }, - "pub_action": "", - "pub_time": "", - "pub_ts": 1560347679, - "type": "AUTHOR_TYPE_NORMAL", - "vip": { - "avatar_subscript": 1, - "avatar_subscript_url": "", - "due_date": 1761580800000, - "label": { - "bg_color": "#FB7299", - "bg_style": 1, - "border_color": "", - "img_label_uri_hans": "https://i0.hdslb.com/bfs/activity-plat/static/20220608/e369244d0b14644f5e1a06431e22a4d5/0DFy9BHgwE.gif", - "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d7e624d13d3e134251e4174a7318c19a8edbd71.png", - "img_label_uri_hant": "", - "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/uckjAv3Npy.png", - "label_theme": "annual_vip", - "path": "", - "text": "年度大会员", - "text_color": "#FFFFFF", - "use_img_label": true - }, - "nickname_color": "#FB7299", - "status": 1, - "theme_type": 0, - "type": 2 - } - }, - "module_dynamic": { - "additional": null, - "desc": { - "rich_text_nodes": [ - { - "orig_text": "​互动抽奖", - "text": "​互动抽奖", - "type": "RICH_TEXT_NODE_TYPE_TEXT" - }, - { - "jump_url": "//search.bilibili.com/all?keyword=%23%E8%BD%AC%E5%8F%91%E6%8A%BD%E5%A5%96%23", - "orig_text": "#转发抽奖#", - "text": "#转发抽奖#", - "type": "RICH_TEXT_NODE_TYPE_TOPIC" - }, - { - "jump_url": "//search.bilibili.com/all?keyword=%23PC%E7%A1%AC%E4%BB%B6%23", - "orig_text": "#PC硬件#", - "text": "#PC硬件#", - "type": "RICH_TEXT_NODE_TYPE_TOPIC" - }, - { - "jump_url": "//search.bilibili.com/all?keyword=%23%E6%97%A7%E8%B4%A7%E6%B8%85%E7%90%86%E8%AE%A1%E5%88%92%23", - "orig_text": "#旧货清理计划#", - "text": "#旧货清理计划#", - "type": "RICH_TEXT_NODE_TYPE_TOPIC" - }, - { - "orig_text": " 很久以前购入然后一直沒用上的SSD一枚 型号:PX-G512M6e ", - "text": " 很久以前购入然后一直沒用上的SSD一枚 型号:PX-G512M6e ", - "type": "RICH_TEXT_NODE_TYPE_TEXT" - }, - { - "emoji": { - "icon_url": "http://i0.hdslb.com/bfs/emote/6ea59c827c414b4a2955fe79e0f6fd3dcd515e24.png", - "size": 1, - "text": "[tv_doge]", - "type": 1 - }, - "orig_text": "[tv_doge]", - "text": "[tv_doge]", - "type": "RICH_TEXT_NODE_TYPE_EMOJI" - }, - { - "orig_text": " 关注并转发抽奖送出", - "text": " 关注并转发抽奖送出", - "type": "RICH_TEXT_NODE_TYPE_TEXT" - } - ], - "text": "​互动抽奖#转发抽奖##PC硬件##旧货清理计划# 很久以前购入然后一直沒用上的SSD一枚 型号:PX-G512M6e [tv_doge] 关注并转发抽奖送出" - }, - "major": { - "draw": { - "id": 24303852, - "items": [ - { - "height": 1242, - "size": 150.93652, - "src": "https://i0.hdslb.com/bfs/album/cd767602a291a5b7d4deebd8c65ebeeb0dfce1a2.jpg", - "tags": [], - "width": 2688 - } - ] - }, - "type": "MAJOR_TYPE_DRAW" - }, - "topic": null - } - }, - "type": "DYNAMIC_TYPE_DRAW", - "visible": true - }, - "type": "DYNAMIC_TYPE_FORWARD", - "visible": true + "face": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/2095498218/dynamic", + "label": "", + "mid": 2095498218, + "name": "次元壁小宋", + "official_verify": { + "desc": "", + "type": -1 }, - { - "basic": { - "comment_id_str": "55", - "comment_type": 1, - "like_icon": { - "action_url": "", - "end_url": "", - "id": 0, - "start_url": "" - }, - "rid_str": "55" - }, - "id_str": 76690937085980, - "modules": { - "module_author": { - "face": "http://i0.hdslb.com/bfs/face/34c5b30a990c7ce4a809626d8153fa7895ec7b63.gif", - "face_nft": false, - "following": null, - "jump_url": "//space.bilibili.com/1/dynamic", - "label": "", - "mid": 1, - "name": "bishi", - "official_verify": { - "desc": "", - "type": -1 - }, - "pendant": { - "expire": 0, - "image": "", - "image_enhance": "", - "image_enhance_frame": "", - "name": "", - "pid": 0 - }, - "pub_action": "投稿了视频", - "pub_location_text": "", - "pub_time": "2009-07-13", - "pub_ts": 1247496094, - "type": "AUTHOR_TYPE_NORMAL", - "vip": { - "avatar_subscript": 1, - "avatar_subscript_url": "", - "due_date": 1816099200000, - "label": { - "bg_color": "#FB7299", - "bg_style": 1, - "border_color": "", - "img_label_uri_hans": "", - "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", - "img_label_uri_hant": "", - "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", - "label_theme": "annual_vip", - "path": "", - "text": "年度大会员", - "text_color": "#FFFFFF", - "use_img_label": true - }, - "nickname_color": "#FB7299", - "status": 1, - "theme_type": 0, - "type": 2 - } - }, - "module_dynamic": { - "additional": null, - "desc": null, - "major": { - "archive": { - "aid": "55", - "badge": { - "bg_color": "#FB7299", - "color": "#FFFFFF", - "text": "投稿视频" - }, - "bvid": "BV1xx411c7Ug", - "cover": "http://i0.hdslb.com/bfs/archive/c392288c19bbdf3762919774bce01c76dc346344.jpg", - "desc": "没有听过这首歌的话会是人参的一大遗憾呢..(望天", - "disable_preview": 0, - "duration_text": "01:38", - "jump_url": "//www.bilibili.com/video/BV1xx411c7Ug", - "stat": { - "danmaku": "2965", - "play": "116.6万" - }, - "title": "【天哥版】最春哥", - "type": 1 - }, - "type": "MAJOR_TYPE_ARCHIVE" - }, - "topic": null - }, - "module_more": { - "three_point_items": [ - { - "label": "举报", - "type": "THREE_POINT_REPORT" - } - ] - }, - "module_stat": { - "comment": { - "count": 20434, - "forbidden": false - }, - "forward": { - "count": 585, - "forbidden": false - }, - "like": { - "count": 27958, - "forbidden": false, - "status": false - } - } - }, - "type": "DYNAMIC_TYPE_AV", - "visible": true + "pendant": { + "expire": 0, + "image": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance_frame": "", + "n_pid": 68553, + "name": "坠落·空", + "pid": 68553 }, - { - "basic": { - "comment_id_str": "16", - "comment_type": 1, - "like_icon": { - "action_url": "", - "end_url": "", - "id": 0, - "start_url": "" - }, - "rid_str": "16" - }, - "id_str": 55783037337604, - "modules": { - "module_author": { - "face": "http://i0.hdslb.com/bfs/face/34c5b30a990c7ce4a809626d8153fa7895ec7b63.gif", - "face_nft": false, - "following": null, - "jump_url": "//space.bilibili.com/1/dynamic", - "label": "", - "mid": 1, - "name": "bishi", - "official_verify": { - "desc": "", - "type": -1 - }, - "pendant": { - "expire": 0, - "image": "", - "image_enhance": "", - "image_enhance_frame": "", - "name": "", - "pid": 0 - }, - "pub_action": "投稿了视频", - "pub_location_text": "", - "pub_time": "2009-07-09", - "pub_ts": 1247073333, - "type": "AUTHOR_TYPE_NORMAL", - "vip": { - "avatar_subscript": 1, - "avatar_subscript_url": "", - "due_date": 1816099200000, - "label": { - "bg_color": "#FB7299", - "bg_style": 1, - "border_color": "", - "img_label_uri_hans": "", - "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", - "img_label_uri_hant": "", - "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", - "label_theme": "annual_vip", - "path": "", - "text": "年度大会员", - "text_color": "#FFFFFF", - "use_img_label": true - }, - "nickname_color": "#FB7299", - "status": 1, - "theme_type": 0, - "type": 2 - } - }, - "module_dynamic": { - "additional": null, - "desc": null, - "major": { - "archive": { - "aid": "16", - "badge": { - "bg_color": "#FB7299", - "color": "#FFFFFF", - "text": "投稿视频" - }, - "bvid": "BV1xx411c7mi", - "cover": "http://i1.hdslb.com/bfs/archive/ef521697c031bd2b0aab5c8aab3abe1ea0ca63b9.jpg", - "desc": "CRUCIS FATAL FAKE : Fate Stay Night的同人格斗游戏. MV制作 : yaomenghua 天下格斗之同人堂", - "disable_preview": 0, - "duration_text": "09:43", - "jump_url": "//www.bilibili.com/video/BV1xx411c7mi", - "stat": { - "danmaku": "6205", - "play": "141.8万" - }, - "title": "【FATE相关】CRUCIS FATAL FAKE MV 《Faker》", - "type": 1 - }, - "type": "MAJOR_TYPE_ARCHIVE" - }, - "topic": null - }, - "module_more": { - "three_point_items": [ - { - "label": "举报", - "type": "THREE_POINT_REPORT" - } - ] - }, - "module_stat": { - "comment": { - "count": 13354, - "forbidden": false - }, - "forward": { - "count": 473, - "forbidden": false - }, - "like": { - "count": 39657, - "forbidden": false, - "status": false - } - } - }, - "type": "DYNAMIC_TYPE_AV", - "visible": true + "pub_action": "", + "pub_location_text": "", + "pub_time": "27分钟前", + "pub_ts": 1746450829, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1683129600000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 1 } - ], - "offset": "", - "update_baseline": "", - "update_num": 0 - } + }, + "module_dynamic": { + "additional": null, + "desc": null, + "major": { + "opus": { + "fold_action": [ + "展开", + "收起" + ], + "jump_url": "//www.bilibili.com/opus/1063487284684259332", + "pics": [ + { + "height": 512, + "live_url": null, + "size": 9.783203125, + "url": "http://i0.hdslb.com/bfs/new_dyn/8bc3298efe55f2fc3949678538ed5fa52095498218.png", + "width": 512 + } + ], + "summary": { + "rich_text_nodes": [ + { + "orig_text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean a augue eget sapien ultricies tristique. Integer rutrum convallis elit et vestibulum. Proin porta magna id congue lobortis. Vestibulum et arcu vestibulum, dignissim est ultrices, laoreet lectus. Nam sed sem vehicula, iaculis lorem ac, tempor arcu. Aliquam nec porta sapien. Nam convallis iaculis urna, et varius dolor. Sed non pellentesque enim. Praesent molestie efficitur rutrum. Nunc sit amet tempus nisl, at sodales augue. Nunc eu risus quis eros euismod rhoncus quis at purus. Aliquam vulputate magna non enim dapibus vestibulum. Sed pellentesque leo eget imperdiet viverra. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae;\n\nUt porta non ex quis porta. Proin maximus, diam eget commodo tempus, justo libero ultricies ante, feugiat elementum sem ante sit amet magna. Donec auctor arcu sed ligula imperdiet, eget iaculis nunc mollis.", + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean a augue eget sapien ultricies tristique. Integer rutrum convallis elit et vestibulum. Proin porta magna id congue lobortis. Vestibulum et arcu vestibulum, dignissim est ultrices, laoreet lectus. Nam sed sem vehicula, iaculis lorem ac, tempor arcu. Aliquam nec porta sapien. Nam convallis iaculis urna, et varius dolor. Sed non pellentesque enim. Praesent molestie efficitur rutrum. Nunc sit amet tempus nisl, at sodales augue. Nunc eu risus quis eros euismod rhoncus quis at purus. Aliquam vulputate magna non enim dapibus vestibulum. Sed pellentesque leo eget imperdiet viverra. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae;\n\nUt porta non ex quis porta. Proin maximus, diam eget commodo tempus, justo libero ultricies ante, feugiat elementum sem ante sit amet magna. Donec auctor arcu sed ligula imperdiet, eget iaculis nunc mollis.", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean a augue eget sapien ultricies tristique. Integer rutrum convallis elit et vestibulum. Proin porta magna id congue lobortis. Vestibulum et arcu vestibulum, dignissim est ultrices, laoreet lectus. Nam sed sem vehicula, iaculis lorem ac, tempor arcu. Aliquam nec porta sapien. Nam convallis iaculis urna, et varius dolor. Sed non pellentesque enim. Praesent molestie efficitur rutrum. Nunc sit amet tempus nisl, at sodales augue. Nunc eu risus quis eros euismod rhoncus quis at purus. Aliquam vulputate magna non enim dapibus vestibulum. Sed pellentesque leo eget imperdiet viverra. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae;\n\nUt porta non ex quis porta. Proin maximus, diam eget commodo tempus, justo libero ultricies ante, feugiat elementum sem ante sit amet magna. Donec auctor arcu sed ligula imperdiet, eget iaculis nunc mollis." + }, + "title": "Lorem ipsum dolor si" + }, + "type": "MAJOR_TYPE_OPUS" + }, + "topic": null + }, + "module_interaction": { + "items": [ + { + "desc": { + "rich_text_nodes": [ + { + "orig_text": "RPG_Teng_Lin", + "rid": "357413690", + "text": "RPG_Teng_Lin", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": " 赞了", + "text": " 赞了", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "" + }, + "type": 0 + } + ] + }, + "module_more": { + "three_point_items": [ + { + "label": "取消置顶", + "params": { + "dynamic_id": "1063487284684259332", + "status": true + }, + "type": "THREE_POINT_TOP" + }, + { + "label": "删除", + "modal": { + "cancel": "取消", + "confirm": "确认删除", + "content": "动态删除后将无法恢复,请谨慎操作", + "title": "要删除动态吗?" + }, + "params": { + "dyn_id_str": "1063487284684259332", + "dyn_type": 2, + "rid_str": "349795473" + }, + "type": "THREE_POINT_DELETE" + } + ] + }, + "module_stat": { + "comment": { + "count": 0, + "forbidden": false + }, + "forward": { + "count": 0, + "forbidden": false + }, + "like": { + "count": 1, + "forbidden": false, + "status": false + } + }, + "module_tag": { + "text": "置顶" + } + }, + "type": "DYNAMIC_TYPE_DRAW", + "visible": true + }, + { + "basic": { + "comment_id_str": "114443295918557", + "comment_type": 1, + "like_icon": { + "action_url": "https://i0.hdslb.com/bfs/garb/item/cb34de5fbca6b8507adf7364ae785822b74df1f9.bin", + "end_url": "", + "id": 68554, + "start_url": "" + }, + "rid_str": "114443295918557" + }, + "id_str": "1062695803784527872", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.375, + "width": 1.375 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "2095498218" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "fan": { + "color": "#a465e5", + "color_format": { + "colors": [ + "#a465e5FF", + "#a465e5FF" + ], + "end_point": "0,100", + "gradients": [ + 0, + 100 + ], + "start_point": "0,0" + }, + "is_fan": 1, + "name": "坠落·空", + "num_desc": "002272", + "number": 2272 + }, + "id": 68557, + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "item_id": 68557, + "jump_url": "https://www.bilibili.com/h5/mall/equity-link/collect-home?item_id=68557&isdiy=0&part=card&from=post&f_source=garb&vmid=2095498218&native.theme=1&navhide=1", + "name": "坠落·空粉丝" + }, + "face": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/2095498218/dynamic", + "label": "", + "mid": 2095498218, + "name": "次元壁小宋", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance_frame": "", + "n_pid": 68553, + "name": "坠落·空", + "pid": 68553 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "2天前", + "pub_ts": 1746266548, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1683129600000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 1 + } + }, + "module_dynamic": { + "additional": null, + "desc": null, + "major": { + "archive": { + "aid": "114443295918557", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1HUVnz7EX1", + "cover": "http://i1.hdslb.com/bfs/archive/515f60c051c83f98922f78de95a072feebc8f041.jpg", + "desc": "-", + "disable_preview": 0, + "duration_text": "05:14", + "jump_url": "//www.bilibili.com/video/BV1HUVnz7EX1/", + "stat": { + "danmaku": "1", + "play": "26" + }, + "title": "来自阿洛娜的权威", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_interaction": { + "items": [ + { + "desc": { + "rich_text_nodes": [ + { + "orig_text": "长安不见-雪", + "rid": "3546712641636719", + "text": "长安不见-雪", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": "、", + "text": "、", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "旋转的M2", + "rid": "3493264944531941", + "text": "旋转的M2", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": " 赞了", + "text": " 赞了", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "" + }, + "type": 0 + } + ] + }, + "module_more": { + "three_point_items": [ + { + "label": "置顶", + "params": { + "dynamic_id": "1062695803784527872", + "status": false + }, + "type": "THREE_POINT_TOP" + }, + { + "label": "删除", + "modal": { + "cancel": "取消", + "confirm": "确认删除", + "content": "视频删除后将无法恢复,请谨慎操作", + "title": "删除动态会同时删除视频稿件" + }, + "params": { + "dyn_id_str": "1062695803784527872", + "dyn_type": 8, + "rid_str": "114443295918557" + }, + "type": "THREE_POINT_DELETE" + } + ] + }, + "module_stat": { + "comment": { + "count": 1, + "forbidden": false + }, + "forward": { + "count": 0, + "forbidden": false + }, + "like": { + "count": 4, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + { + "basic": { + "comment_id_str": "114402862959003", + "comment_type": 1, + "like_icon": { + "action_url": "https://i0.hdslb.com/bfs/garb/item/cb34de5fbca6b8507adf7364ae785822b74df1f9.bin", + "end_url": "", + "id": 68554, + "start_url": "" + }, + "rid_str": "114402862959003" + }, + "id_str": "1060045976462426117", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.375, + "width": 1.375 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "2095498218" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "fan": { + "color": "#a465e5", + "color_format": { + "colors": [ + "#a465e5FF", + "#a465e5FF" + ], + "end_point": "0,100", + "gradients": [ + 0, + 100 + ], + "start_point": "0,0" + }, + "is_fan": 1, + "name": "坠落·空", + "num_desc": "002272", + "number": 2272 + }, + "id": 68557, + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "item_id": 68557, + "jump_url": "https://www.bilibili.com/h5/mall/equity-link/collect-home?item_id=68557&isdiy=0&part=card&from=post&f_source=garb&vmid=2095498218&native.theme=1&navhide=1", + "name": "坠落·空粉丝" + }, + "face": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/2095498218/dynamic", + "label": "", + "mid": 2095498218, + "name": "次元壁小宋", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance_frame": "", + "n_pid": 68553, + "name": "坠落·空", + "pid": 68553 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "04月26日", + "pub_ts": 1745649587, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1683129600000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 1 + } + }, + "module_dynamic": { + "additional": null, + "desc": null, + "major": { + "archive": { + "aid": "114402862959003", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1ovLXzPEFq", + "cover": "http://i0.hdslb.com/bfs/archive/b361f14b56080cb17ed5ff24d0b629945c0c150d.jpg", + "desc": "-", + "disable_preview": 0, + "duration_text": "02:42", + "jump_url": "//www.bilibili.com/video/BV1ovLXzPEFq/", + "stat": { + "danmaku": "0", + "play": "199" + }, + "title": "终于把星野酱带回家了૮₍˃̶ꇴ˂̶₎ა", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_interaction": { + "items": [ + { + "desc": { + "rich_text_nodes": [ + { + "orig_text": "蔚蓝绪山", + "rid": "3493074818828658", + "text": "蔚蓝绪山", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": "、", + "text": "、", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "蚕茧自缠萦", + "rid": "291098307", + "text": "蚕茧自缠萦", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": " 赞了", + "text": " 赞了", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "" + }, + "type": 0 + } + ] + }, + "module_more": { + "three_point_items": [ + { + "label": "置顶", + "params": { + "dynamic_id": "1060045976462426117", + "status": false + }, + "type": "THREE_POINT_TOP" + }, + { + "label": "删除", + "modal": { + "cancel": "取消", + "confirm": "确认删除", + "content": "视频删除后将无法恢复,请谨慎操作", + "title": "删除动态会同时删除视频稿件" + }, + "params": { + "dyn_id_str": "1060045976462426117", + "dyn_type": 8, + "rid_str": "114402862959003" + }, + "type": "THREE_POINT_DELETE" + } + ] + }, + "module_stat": { + "comment": { + "count": 8, + "forbidden": false + }, + "forward": { + "count": 0, + "forbidden": false + }, + "like": { + "count": 9, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + { + "basic": { + "comment_id_str": "114398483975404", + "comment_type": 1, + "like_icon": { + "action_url": "https://i0.hdslb.com/bfs/garb/item/cb34de5fbca6b8507adf7364ae785822b74df1f9.bin", + "end_url": "", + "id": 68554, + "start_url": "" + }, + "rid_str": "114398483975404" + }, + "id_str": "1059758291001802840", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.375, + "width": 1.375 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "2095498218" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "fan": { + "color": "#a465e5", + "color_format": { + "colors": [ + "#a465e5FF", + "#a465e5FF" + ], + "end_point": "0,100", + "gradients": [ + 0, + 100 + ], + "start_point": "0,0" + }, + "is_fan": 1, + "name": "坠落·空", + "num_desc": "002272", + "number": 2272 + }, + "id": 68557, + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "item_id": 68557, + "jump_url": "https://www.bilibili.com/h5/mall/equity-link/collect-home?item_id=68557&isdiy=0&part=card&from=post&f_source=garb&vmid=2095498218&native.theme=1&navhide=1", + "name": "坠落·空粉丝" + }, + "face": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/2095498218/dynamic", + "label": "", + "mid": 2095498218, + "name": "次元壁小宋", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance_frame": "", + "n_pid": 68553, + "name": "坠落·空", + "pid": 68553 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "04月25日", + "pub_ts": 1745582605, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1683129600000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 1 + } + }, + "module_dynamic": { + "additional": null, + "desc": null, + "major": { + "archive": { + "aid": "114398483975404", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1KXLEz9EV8", + "cover": "http://i2.hdslb.com/bfs/archive/915817adaf0c1618ecf28d06d03eb8be8f6c89ff.jpg", + "desc": "-", + "disable_preview": 0, + "duration_text": "00:14", + "jump_url": "//www.bilibili.com/video/BV1KXLEz9EV8/", + "stat": { + "danmaku": "0", + "play": "205" + }, + "title": "玩了一年多codm,这个什么玩意……", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_interaction": { + "items": [ + { + "desc": { + "rich_text_nodes": [ + { + "orig_text": "长安不见-雪", + "rid": "3546712641636719", + "text": "长安不见-雪", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": "、", + "text": "、", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "坤坤丨宝宝", + "rid": "510272506", + "text": "坤坤丨宝宝", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": " 赞了", + "text": " 赞了", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "" + }, + "type": 0 + } + ] + }, + "module_more": { + "three_point_items": [ + { + "label": "置顶", + "params": { + "dynamic_id": "1059758291001802840", + "status": false + }, + "type": "THREE_POINT_TOP" + }, + { + "label": "删除", + "modal": { + "cancel": "取消", + "confirm": "确认删除", + "content": "视频删除后将无法恢复,请谨慎操作", + "title": "删除动态会同时删除视频稿件" + }, + "params": { + "dyn_id_str": "1059758291001802840", + "dyn_type": 8, + "rid_str": "114398483975404" + }, + "type": "THREE_POINT_DELETE" + } + ] + }, + "module_stat": { + "comment": { + "count": 1, + "forbidden": false + }, + "forward": { + "count": 0, + "forbidden": false + }, + "like": { + "count": 6, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + { + "basic": { + "comment_id_str": "114392746165578", + "comment_type": 1, + "like_icon": { + "action_url": "https://i0.hdslb.com/bfs/garb/item/cb34de5fbca6b8507adf7364ae785822b74df1f9.bin", + "end_url": "", + "id": 68554, + "start_url": "" + }, + "rid_str": "114392746165578" + }, + "id_str": "1059382215079624725", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.375, + "width": 1.375 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "2095498218" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "fan": { + "color": "#a465e5", + "color_format": { + "colors": [ + "#a465e5FF", + "#a465e5FF" + ], + "end_point": "0,100", + "gradients": [ + 0, + 100 + ], + "start_point": "0,0" + }, + "is_fan": 1, + "name": "坠落·空", + "num_desc": "002272", + "number": 2272 + }, + "id": 68557, + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "item_id": 68557, + "jump_url": "https://www.bilibili.com/h5/mall/equity-link/collect-home?item_id=68557&isdiy=0&part=card&from=post&f_source=garb&vmid=2095498218&native.theme=1&navhide=1", + "name": "坠落·空粉丝" + }, + "face": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/2095498218/dynamic", + "label": "", + "mid": 2095498218, + "name": "次元壁小宋", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance_frame": "", + "n_pid": 68553, + "name": "坠落·空", + "pid": 68553 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "04月24日", + "pub_ts": 1745495043, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1683129600000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 1 + } + }, + "module_dynamic": { + "additional": null, + "desc": null, + "major": { + "archive": { + "aid": "114392746165578", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1oZLgz7EeX", + "cover": "http://i1.hdslb.com/bfs/archive/f62117a5e67f2775c892123d1ebe9e23d3523ca8.jpg", + "desc": "-", + "disable_preview": 0, + "duration_text": "12:25", + "jump_url": "//www.bilibili.com/video/BV1oZLgz7EeX/", + "stat": { + "danmaku": "0", + "play": "335" + }, + "title": "什么才是叫作史上最绝望的死法,……(这爆率正常吗)", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_interaction": { + "items": [ + { + "desc": { + "rich_text_nodes": [ + { + "orig_text": "菌哥电影", + "rid": "628092353", + "text": "菌哥电影", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": "、", + "text": "、", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "是轻甄不是饭团酱", + "rid": "646061108", + "text": "是轻甄不是饭团酱", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": " 赞了", + "text": " 赞了", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "" + }, + "type": 0 + } + ] + }, + "module_more": { + "three_point_items": [ + { + "label": "置顶", + "params": { + "dynamic_id": "1059382215079624725", + "status": false + }, + "type": "THREE_POINT_TOP" + }, + { + "label": "删除", + "modal": { + "cancel": "取消", + "confirm": "确认删除", + "content": "视频删除后将无法恢复,请谨慎操作", + "title": "删除动态会同时删除视频稿件" + }, + "params": { + "dyn_id_str": "1059382215079624725", + "dyn_type": 8, + "rid_str": "114392746165578" + }, + "type": "THREE_POINT_DELETE" + } + ] + }, + "module_stat": { + "comment": { + "count": 8, + "forbidden": false + }, + "forward": { + "count": 0, + "forbidden": false + }, + "like": { + "count": 18, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + { + "basic": { + "comment_id_str": "114291361449486", + "comment_type": 1, + "like_icon": { + "action_url": "https://i0.hdslb.com/bfs/garb/item/cb34de5fbca6b8507adf7364ae785822b74df1f9.bin", + "end_url": "", + "id": 68554, + "start_url": "" + }, + "rid_str": "114291361449486" + }, + "id_str": "1052737677322878980", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.375, + "width": 1.375 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "2095498218" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "fan": { + "color": "#a465e5", + "color_format": { + "colors": [ + "#a465e5FF", + "#a465e5FF" + ], + "end_point": "0,100", + "gradients": [ + 0, + 100 + ], + "start_point": "0,0" + }, + "is_fan": 1, + "name": "坠落·空", + "num_desc": "002272", + "number": 2272 + }, + "id": 68557, + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "item_id": 68557, + "jump_url": "https://www.bilibili.com/h5/mall/equity-link/collect-home?item_id=68557&isdiy=0&part=card&from=post&f_source=garb&vmid=2095498218&native.theme=1&navhide=1", + "name": "坠落·空粉丝" + }, + "face": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/2095498218/dynamic", + "label": "", + "mid": 2095498218, + "name": "次元壁小宋", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance_frame": "", + "n_pid": 68553, + "name": "坠落·空", + "pid": 68553 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "04月06日", + "pub_ts": 1743947991, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1683129600000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 1 + } + }, + "module_dynamic": { + "additional": null, + "desc": null, + "major": { + "archive": { + "aid": "114291361449486", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV15tR6YEEGN", + "cover": "http://i1.hdslb.com/bfs/archive/f53a964d2438e44db579a2ff373b49e57ea9c752.jpg", + "desc": "-", + "disable_preview": 0, + "duration_text": "10:26", + "jump_url": "//www.bilibili.com/video/BV15tR6YEEGN/", + "stat": { + "danmaku": "0", + "play": "152" + }, + "title": "有这一款游戏,爆率逆天没有别的(封神)", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_interaction": { + "items": [ + { + "desc": { + "rich_text_nodes": [ + { + "orig_text": "长安不见-雪", + "rid": "3546712641636719", + "text": "长安不见-雪", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": " 赞了", + "text": " 赞了", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "" + }, + "type": 0 + } + ] + }, + "module_more": { + "three_point_items": [ + { + "label": "置顶", + "params": { + "dynamic_id": "1052737677322878980", + "status": false + }, + "type": "THREE_POINT_TOP" + }, + { + "label": "删除", + "modal": { + "cancel": "取消", + "confirm": "确认删除", + "content": "视频删除后将无法恢复,请谨慎操作", + "title": "删除动态会同时删除视频稿件" + }, + "params": { + "dyn_id_str": "1052737677322878980", + "dyn_type": 8, + "rid_str": "114291361449486" + }, + "type": "THREE_POINT_DELETE" + } + ] + }, + "module_stat": { + "comment": { + "count": 4, + "forbidden": false + }, + "forward": { + "count": 0, + "forbidden": false + }, + "like": { + "count": 3, + "forbidden": false, + "status": true + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + { + "basic": { + "comment_id_str": "1050478468672782345", + "comment_type": 17, + "like_icon": { + "action_url": "https://i0.hdslb.com/bfs/garb/item/cb34de5fbca6b8507adf7364ae785822b74df1f9.bin", + "end_url": "", + "id": 68554, + "start_url": "" + }, + "rid_str": "1050478468672782345" + }, + "id_str": "1050478468672782345", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.375, + "width": 1.375 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "2095498218" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "fan": { + "color": "#a465e5", + "color_format": { + "colors": [ + "#a465e5FF", + "#a465e5FF" + ], + "end_point": "0,100", + "gradients": [ + 0, + 100 + ], + "start_point": "0,0" + }, + "is_fan": 1, + "name": "坠落·空", + "num_desc": "002272", + "number": 2272 + }, + "id": 68557, + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "item_id": 68557, + "jump_url": "https://www.bilibili.com/h5/mall/equity-link/collect-home?item_id=68557&isdiy=0&part=card&from=post&f_source=garb&vmid=2095498218&native.theme=1&navhide=1", + "name": "坠落·空粉丝" + }, + "face": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/2095498218/dynamic", + "label": "", + "mid": 2095498218, + "name": "次元壁小宋", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance_frame": "", + "n_pid": 68553, + "name": "坠落·空", + "pid": 68553 + }, + "pub_action": "", + "pub_location_text": "", + "pub_time": "03月31日", + "pub_ts": 1743421978, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1683129600000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 1 + } + }, + "module_dynamic": { + "additional": null, + "desc": { + "rich_text_nodes": [ + { + "orig_text": "我昨晚也有Bug,打航天基地的爆破第二局后我的,趴下滑铲不知道咋回事就点不了跳跃键也点不了然后就只能点开火键和操作键,投掷物能丢以外其他啥也干不了,只能跟人机样送一整局就输了", + "text": "我昨晚也有Bug,打航天基地的爆破第二局后我的,趴下滑铲不知道咋回事就点不了跳跃键也点不了然后就只能点开火键和操作键,投掷物能丢以外其他啥也干不了,只能跟人机样送一整局就输了", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "emoji": { + "icon_url": "https://i0.hdslb.com/bfs/emote/493b36cbadea2356f09933b39e49c5a2f8f625b8.png", + "size": 2, + "text": "[坠落·空_自闭]", + "type": 3 + }, + "orig_text": "[坠落·空_自闭]", + "text": "[坠落·空_自闭]", + "type": "RICH_TEXT_NODE_TYPE_EMOJI" + }, + { + "emoji": { + "icon_url": "https://i0.hdslb.com/bfs/emote/86c614f2d21263387fa7ef168450ccd69cce9a0b.png", + "size": 2, + "text": "[坠落·空_哭泣]", + "type": 3 + }, + "orig_text": "[坠落·空_哭泣]", + "text": "[坠落·空_哭泣]", + "type": "RICH_TEXT_NODE_TYPE_EMOJI" + } + ], + "text": "我昨晚也有Bug,打航天基地的爆破第二局后我的,趴下滑铲不知道咋回事就点不了跳跃键也点不了然后就只能点开火键和操作键,投掷物能丢以外其他啥也干不了,只能跟人机样送一整局就输了[坠落·空_自闭][坠落·空_哭泣]" + }, + "major": null, + "topic": null + }, + "module_interaction": { + "items": [ + { + "desc": { + "rich_text_nodes": [ + { + "orig_text": "长安不见-雪", + "rid": "3546712641636719", + "text": "长安不见-雪", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": " 赞了", + "text": " 赞了", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "" + }, + "type": 0 + } + ] + }, + "module_more": { + "three_point_items": [ + { + "label": "置顶", + "params": { + "dynamic_id": "1050478468672782345", + "status": false + }, + "type": "THREE_POINT_TOP" + }, + { + "label": "删除", + "modal": { + "cancel": "取消", + "confirm": "确认删除", + "content": "动态删除后将无法恢复,请谨慎操作", + "title": "要删除动态吗?" + }, + "params": { + "dyn_id_str": "1050478468672782345", + "dyn_type": 1, + "rid_str": "1050478468672782345" + }, + "type": "THREE_POINT_DELETE" + } + ] + }, + "module_stat": { + "comment": { + "count": 0, + "forbidden": false + }, + "forward": { + "count": 0, + "forbidden": false + }, + "like": { + "count": 1, + "forbidden": false, + "status": false + } + } + }, + "orig": { + "basic": { + "comment_id_str": "", + "comment_type": 0, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "" + }, + "id_str": "1049725573770772488", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i2.hdslb.com/bfs/face/ad1944a6564f065fae1b5d7ee963d08c900fe8d3.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "289949153" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/vip/e2ffa1d1d491fe0464338ed3921327ef5e4b42c5.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/vip/a9e3d993c7a15e88ce0bf714a142f7d2b44121e2.png", + "fan": {}, + "id": 28, + "image_enhance": "https://i0.hdslb.com/bfs/vip/a9e3d993c7a15e88ce0bf714a142f7d2b44121e2.png", + "item_id": 28, + "jump_url": "https://www.bilibili.com/h5/mall/equity-link/collect-home?item_id=28&isdiy=0&part=card&from=post&f_source=garb&vmid=289949153&native.theme=1&navhide=1", + "name": "2233娘" + }, + "face": "https://i2.hdslb.com/bfs/face/ad1944a6564f065fae1b5d7ee963d08c900fe8d3.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/289949153/dynamic", + "label": "", + "mid": 289949153, + "name": "谁是fufu", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "投稿了视频", + "pub_time": "", + "pub_ts": 1743246681, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1743350400000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 1 + } + }, + "module_dynamic": { + "additional": null, + "desc": null, + "major": { + "archive": { + "aid": "114245391947434", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1vmZAYDEcT", + "cover": "http://i0.hdslb.com/bfs/archive/d3ccb1bd474d55cc4415e073d21f1c8a3d12c22d.jpg", + "desc": "-", + "disable_preview": 0, + "duration_text": "02:43", + "jump_url": "//www.bilibili.com/video/BV1vmZAYDEcT/", + "stat": { + "danmaku": "49", + "play": "6.5万" + }, + "title": "上号成为人机了!是BUG还是分身?", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": { + "id": 1061343, + "jump_url": "https://m.bilibili.com/topic-detail?topic_id=1061343&topic_name=%E4%BD%BF%E5%91%BD%E5%8F%AC%E5%94%A4%E6%89%8B%E6%B8%B8%E8%AE%B0%E5%BD%95", + "name": "使命召唤手游记录" + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "type": "DYNAMIC_TYPE_FORWARD", + "visible": true + }, + { + "basic": { + "comment_id_str": "1049490226780569608", + "comment_type": 17, + "like_icon": { + "action_url": "https://i0.hdslb.com/bfs/garb/item/cb34de5fbca6b8507adf7364ae785822b74df1f9.bin", + "end_url": "", + "id": 68554, + "start_url": "" + }, + "rid_str": "1049490226780569608" + }, + "id_str": "1049490226780569608", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.375, + "width": 1.375 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "2095498218" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "fan": { + "color": "#a465e5", + "color_format": { + "colors": [ + "#a465e5FF", + "#a465e5FF" + ], + "end_point": "0,100", + "gradients": [ + 0, + 100 + ], + "start_point": "0,0" + }, + "is_fan": 1, + "name": "坠落·空", + "num_desc": "002272", + "number": 2272 + }, + "id": 68557, + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "item_id": 68557, + "jump_url": "https://www.bilibili.com/h5/mall/equity-link/collect-home?item_id=68557&isdiy=0&part=card&from=post&f_source=garb&vmid=2095498218&native.theme=1&navhide=1", + "name": "坠落·空粉丝" + }, + "face": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/2095498218/dynamic", + "label": "", + "mid": 2095498218, + "name": "次元壁小宋", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance_frame": "", + "n_pid": 68553, + "name": "坠落·空", + "pid": 68553 + }, + "pub_action": "", + "pub_location_text": "", + "pub_time": "03月29日", + "pub_ts": 1743191885, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1683129600000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 1 + } + }, + "module_dynamic": { + "additional": null, + "desc": { + "rich_text_nodes": [ + { + "orig_text": "回复 ", + "text": "回复 ", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "@狂热的地幔", + "rid": "1333987156", + "text": "@狂热的地幔", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": " :我试过玩上一个月删了,然后现在我又想玩不知道为什么玩几天又想删", + "text": " :我试过玩上一个月删了,然后现在我又想玩不知道为什么玩几天又想删", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "emoji": { + "icon_url": "https://i0.hdslb.com/bfs/emote/c3043ba94babf824dea03ce500d0e73763bf4f40.png", + "size": 1, + "text": "[笑哭]", + "type": 1 + }, + "orig_text": "[笑哭]", + "text": "[笑哭]", + "type": "RICH_TEXT_NODE_TYPE_EMOJI" + } + ], + "text": "回复 @狂热的地幔 :我试过玩上一个月删了,然后现在我又想玩不知道为什么玩几天又想删[笑哭]" + }, + "major": null, + "topic": null + }, + "module_interaction": { + "items": [ + { + "desc": { + "rich_text_nodes": [ + { + "orig_text": "长安不见-雪", + "rid": "3546712641636719", + "text": "长安不见-雪", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": " 赞了", + "text": " 赞了", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "" + }, + "type": 0 + } + ] + }, + "module_more": { + "three_point_items": [ + { + "label": "置顶", + "params": { + "dynamic_id": "1049490226780569608", + "status": false + }, + "type": "THREE_POINT_TOP" + }, + { + "label": "删除", + "modal": { + "cancel": "取消", + "confirm": "确认删除", + "content": "动态删除后将无法恢复,请谨慎操作", + "title": "要删除动态吗?" + }, + "params": { + "dyn_id_str": "1049490226780569608", + "dyn_type": 1, + "rid_str": "1049490226780569608" + }, + "type": "THREE_POINT_DELETE" + } + ] + }, + "module_stat": { + "comment": { + "count": 0, + "forbidden": false + }, + "forward": { + "count": 0, + "forbidden": false + }, + "like": { + "count": 1, + "forbidden": false, + "status": false + } + } + }, + "orig": { + "basic": { + "comment_id_str": "", + "comment_type": 0, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "" + }, + "id_str": "1049336535656169477", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i1.hdslb.com/bfs/face/929fb162c6eb9f81b55b67b3016364a3d00fb437.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.8000000000000002, + "axis_y": 0.8000000000000002, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "rgb(255,255,255)", + "border": "2px solid rgba(255,255,255,1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 3, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "497979931" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/vip/40b8bef91ed10dd8c2b9302d85db76c5f1f3c292.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/vip/99f54078df2412394140aa5df4422bc0a1ca3d3e.png", + "fan": {}, + "id": 5, + "image_enhance": "https://i0.hdslb.com/bfs/vip/99f54078df2412394140aa5df4422bc0a1ca3d3e.png", + "item_id": 5, + "jump_url": "https://www.bilibili.com/h5/mall/equity-link/collect-home?item_id=5&isdiy=0&part=card&from=post&f_source=garb&vmid=497979931&native.theme=1&navhide=1", + "name": "33娘" + }, + "face": "https://i1.hdslb.com/bfs/face/929fb162c6eb9f81b55b67b3016364a3d00fb437.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/497979931/dynamic", + "label": "", + "mid": 497979931, + "name": "冰林L", + "official_verify": { + "desc": "", + "type": 0 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "投稿了视频", + "pub_time": "", + "pub_ts": 1743156101, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1745856000000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 1 + } + }, + "module_dynamic": { + "additional": null, + "desc": null, + "major": { + "archive": { + "aid": "114239469520401", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1E7oXYhEhp", + "cover": "http://i2.hdslb.com/bfs/archive/db15a6d18cdf6cef3cb41b9d9f11847b5c950bc4.jpg", + "desc": "我知道MC不是我生活的全部,但我希望他能陪我更久一点,未来我可能会去尝试做一些MC动画,或者其他的游戏。", + "disable_preview": 0, + "duration_text": "02:39", + "jump_url": "//www.bilibili.com/video/BV1E7oXYhEhp/", + "stat": { + "danmaku": "548", + "play": "31.2万" + }, + "title": "做MC视频10年了,为什么MC越来越无聊了…", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "type": "DYNAMIC_TYPE_FORWARD", + "visible": true + }, + { + "basic": { + "comment_id_str": "1046005002557980674", + "comment_type": 17, + "like_icon": { + "action_url": "https://i0.hdslb.com/bfs/garb/item/cb34de5fbca6b8507adf7364ae785822b74df1f9.bin", + "end_url": "", + "id": 68554, + "start_url": "" + }, + "rid_str": "1046376087871815681" + }, + "id_str": "1046005002557980674", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.375, + "width": 1.375 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "2095498218" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "fan": { + "color": "#a465e5", + "color_format": { + "colors": [ + "#a465e5FF", + "#a465e5FF" + ], + "end_point": "0,100", + "gradients": [ + 0, + 100 + ], + "start_point": "0,0" + }, + "is_fan": 1, + "name": "坠落·空", + "num_desc": "002272", + "number": 2272 + }, + "id": 68557, + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "item_id": 68557, + "jump_url": "https://www.bilibili.com/h5/mall/equity-link/collect-home?item_id=68557&isdiy=0&part=card&from=post&f_source=garb&vmid=2095498218&native.theme=1&navhide=1", + "name": "坠落·空粉丝" + }, + "face": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/2095498218/dynamic", + "label": "", + "mid": 2095498218, + "name": "次元壁小宋", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance_frame": "", + "n_pid": 68553, + "name": "坠落·空", + "pid": 68553 + }, + "pub_action": "", + "pub_location_text": "", + "pub_time": "03月19日", + "pub_ts": 1742380418, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1683129600000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 1 + } + }, + "module_dynamic": { + "additional": null, + "desc": { + "rich_text_nodes": [ + { + "jump_url": "//search.bilibili.com/all?keyword=bilibili%E4%B8%AA%E6%80%A7%E8%A3%85%E6%89%AE", + "orig_text": "#bilibili个性装扮#", + "text": "#bilibili个性装扮#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "orig_text": " 我正在使用“坠落·空”头像挂件,你也来试试~", + "text": " 我正在使用“坠落·空”头像挂件,你也来试试~", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "#bilibili个性装扮# 我正在使用“坠落·空”头像挂件,你也来试试~" + }, + "major": { + "common": { + "badge": { + "bg_color": "#FB7299", + "color": "#ffffff", + "text": "装扮" + }, + "biz_id": 0, + "biz_type": 231, + "cover": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "desc": "挂件", + "id": "1046376087871815681", + "jump_url": "https://www.bilibili.com/h5/mall/equity-link/collect-home?f_source=dynamic&from=share&isdiy=0&item_id=68595&native.theme=1&navhide=1&part=pendant&q=953008717620250319183338&vmid=2095498218", + "label": "", + "sketch_id": "1046376087871815680", + "style": 1, + "title": "坠落·空" + }, + "type": "MAJOR_TYPE_COMMON" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "置顶", + "params": { + "dynamic_id": "1046005002557980674", + "status": false + }, + "type": "THREE_POINT_TOP" + }, + { + "label": "删除", + "modal": { + "cancel": "取消", + "confirm": "确认删除", + "content": "动态删除后将无法恢复,请谨慎操作", + "title": "要删除动态吗?" + }, + "params": { + "dyn_id_str": "1046005002557980674", + "dyn_type": 2048, + "rid_str": "1046376087871815681" + }, + "type": "THREE_POINT_DELETE" + } + ] + }, + "module_stat": { + "comment": { + "count": 0, + "forbidden": false + }, + "forward": { + "count": 0, + "forbidden": false + }, + "like": { + "count": 1, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_COMMON_SQUARE", + "visible": true + }, + { + "basic": { + "comment_id_str": "1044401021238902802", + "comment_type": 17, + "like_icon": { + "action_url": "https://i0.hdslb.com/bfs/garb/item/cb34de5fbca6b8507adf7364ae785822b74df1f9.bin", + "end_url": "", + "id": 68554, + "start_url": "" + }, + "rid_str": "1044401021238902802" + }, + "id_str": "1044401021238902802", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.375, + "width": 1.375 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "2095498218" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "fan": { + "color": "#a465e5", + "color_format": { + "colors": [ + "#a465e5FF", + "#a465e5FF" + ], + "end_point": "0,100", + "gradients": [ + 0, + 100 + ], + "start_point": "0,0" + }, + "is_fan": 1, + "name": "坠落·空", + "num_desc": "002272", + "number": 2272 + }, + "id": 68557, + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "item_id": 68557, + "jump_url": "https://www.bilibili.com/h5/mall/equity-link/collect-home?item_id=68557&isdiy=0&part=card&from=post&f_source=garb&vmid=2095498218&native.theme=1&navhide=1", + "name": "坠落·空粉丝" + }, + "face": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/2095498218/dynamic", + "label": "", + "mid": 2095498218, + "name": "次元壁小宋", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance_frame": "", + "n_pid": 68553, + "name": "坠落·空", + "pid": 68553 + }, + "pub_action": "", + "pub_location_text": "", + "pub_time": "03月15日", + "pub_ts": 1742006962, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1683129600000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 1 + } + }, + "module_dynamic": { + "additional": null, + "desc": { + "rich_text_nodes": [ + { + "orig_text": "我参与了投票", + "text": "我参与了投票", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "​视频类型", + "rid": "14746295", + "text": "​视频类型", + "type": "RICH_TEXT_NODE_TYPE_VOTE" + }, + { + "orig_text": "我投给了我想看抽象的2D动画", + "text": "我投给了我想看抽象的2D动画", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "我参与了投票​视频类型我投给了我想看抽象的2D动画" + }, + "major": null, + "topic": null + }, + "module_interaction": { + "items": [ + { + "desc": { + "rich_text_nodes": [ + { + "orig_text": "长安不见-雪", + "rid": "3546712641636719", + "text": "长安不见-雪", + "type": "RICH_TEXT_NODE_TYPE_AT" + }, + { + "orig_text": " 赞了", + "text": " 赞了", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "" + }, + "type": 0 + } + ] + }, + "module_more": { + "three_point_items": [ + { + "label": "置顶", + "params": { + "dynamic_id": "1044401021238902802", + "status": false + }, + "type": "THREE_POINT_TOP" + }, + { + "label": "删除", + "modal": { + "cancel": "取消", + "confirm": "确认删除", + "content": "动态删除后将无法恢复,请谨慎操作", + "title": "要删除动态吗?" + }, + "params": { + "dyn_id_str": "1044401021238902802", + "dyn_type": 1, + "rid_str": "1044401021238902802" + }, + "type": "THREE_POINT_DELETE" + } + ] + }, + "module_stat": { + "comment": { + "count": 0, + "forbidden": false + }, + "forward": { + "count": 0, + "forbidden": false + }, + "like": { + "count": 1, + "forbidden": false, + "status": false + } + } + }, + "orig": { + "basic": { + "comment_id_str": "", + "comment_type": 0, + "jump_url": "//www.bilibili.com/opus/1044394265267929093", + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "" + }, + "id_str": "1044394265267929093", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.375, + "width": 1.375 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i1.hdslb.com/bfs/face/4e08982dd07abbdf86f35a68483424b743f07730.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i1.hdslb.com/bfs/face/5bb7bef5107e448892ab54539298d50eb678de05.png" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.7560000000000001, + "axis_y": 0.7726666666666667, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "rgb(255,255,255)", + "border": "2px solid rgba(255,255,255,1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 3, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "1142084989" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/archive/7e0eed18747150fa233ba6994489b9096f1d9fe8.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/archive/7e0eed18747150fa233ba6994489b9096f1d9fe8.png", + "fan": { + "color": "#BFC8D2", + "color_format": { + "colors": [ + "#B8C7D0FF", + "#A2A7B0FF" + ], + "end_point": "100,100", + "gradients": [ + 0, + 100 + ], + "start_point": "0,0" + }, + "is_fan": 1, + "name": "XXXX", + "num_desc": "047769", + "number": 47769 + }, + "id": 66945, + "image_enhance": "https://i0.hdslb.com/bfs/archive/7e0eed18747150fa233ba6994489b9096f1d9fe8.png", + "item_id": 66945, + "jump_url": "https://www.bilibili.com/h5/mall/digital-card/home?act_id=101116&from=post&f_source=garb&-Abrowser=live&hybrid_set_header=2&navhide=1&anchor_task=1", + "name": "初音未来三连快乐勋章" + }, + "face": "https://i1.hdslb.com/bfs/face/4e08982dd07abbdf86f35a68483424b743f07730.jpg", + "face_nft": false, + "following": true, + "jump_url": "//space.bilibili.com/1142084989/dynamic", + "label": "", + "mid": 1142084989, + "name": "不抽象的真菌零_Jack", + "official_verify": { + "desc": "", + "type": 0 + }, + "pendant": { + "expire": 0, + "image": "https://i1.hdslb.com/bfs/face/5bb7bef5107e448892ab54539298d50eb678de05.png", + "image_enhance": "https://i1.hdslb.com/bfs/face/5bb7bef5107e448892ab54539298d50eb678de05.png", + "image_enhance_frame": "", + "n_pid": 294, + "name": "茶啊二中", + "pid": 294 + }, + "pub_action": "", + "pub_time": "", + "pub_ts": 1742005389, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 1, + "avatar_subscript_url": "", + "due_date": 1751558400000, + "label": { + "bg_color": "#FB7299", + "bg_style": 1, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/3788b674c69072f1ee252b79a31ecc8c43af3039.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/jwXBWRVwa5.png", + "label_theme": "vip", + "path": "", + "text": "大会员", + "text_color": "#FFFFFF", + "use_img_label": true + }, + "nickname_color": "#FB7299", + "status": 1, + "theme_type": 0, + "type": 1 + } + }, + "module_dynamic": { + "additional": { + "type": "ADDITIONAL_TYPE_VOTE", + "vote": { + "button": { + "jump_style": { + "text": "参与" + }, + "type": 1 + }, + "choice_cnt": 1, + "default_share": 1, + "desc": "153人参与", + "end_time": 1742091752, + "join_num": 153, + "status": 4, + "title": "视频类型", + "type": null, + "uid": 1142084989, + "vote_id": 14746295 + } + }, + "desc": null, + "major": { + "opus": { + "fold_action": [ + "展开", + "收起" + ], + "jump_url": "//www.bilibili.com/opus/1044394265267929093", + "pics": [], + "summary": { + "rich_text_nodes": [ + { + "orig_text": "投票", + "text": "投票", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "​视频类型", + "rid": "14746295", + "text": "​视频类型", + "type": "RICH_TEXT_NODE_TYPE_VOTE" + } + ], + "text": "投票​视频类型" + }, + "title": null + }, + "type": "MAJOR_TYPE_OPUS" + }, + "topic": null + } + }, + "type": "DYNAMIC_TYPE_WORD", + "visible": true + }, + "type": "DYNAMIC_TYPE_FORWARD", + "visible": true + }, + { + "basic": { + "comment_id_str": "1044400750626603011", + "comment_type": 17, + "like_icon": { + "action_url": "https://i0.hdslb.com/bfs/garb/item/cb34de5fbca6b8507adf7364ae785822b74df1f9.bin", + "end_url": "", + "id": 68554, + "start_url": "" + }, + "rid_str": "1044400750626603011" + }, + "id_str": "1044400750626603011", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.375, + "width": 1.375 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "2095498218" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "fan": { + "color": "#a465e5", + "color_format": { + "colors": [ + "#a465e5FF", + "#a465e5FF" + ], + "end_point": "0,100", + "gradients": [ + 0, + 100 + ], + "start_point": "0,0" + }, + "is_fan": 1, + "name": "坠落·空", + "num_desc": "002272", + "number": 2272 + }, + "id": 68557, + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "item_id": 68557, + "jump_url": "https://www.bilibili.com/h5/mall/equity-link/collect-home?item_id=68557&isdiy=0&part=card&from=post&f_source=garb&vmid=2095498218&native.theme=1&navhide=1", + "name": "坠落·空粉丝" + }, + "face": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/2095498218/dynamic", + "label": "", + "mid": 2095498218, + "name": "次元壁小宋", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance_frame": "", + "n_pid": 68553, + "name": "坠落·空", + "pid": 68553 + }, + "pub_action": "", + "pub_location_text": "", + "pub_time": "03月15日", + "pub_ts": 1742006899, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1683129600000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 1 + } + }, + "module_dynamic": { + "additional": null, + "desc": { + "rich_text_nodes": [ + { + "orig_text": "我参与了投票", + "text": "我参与了投票", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "​你们的头像是", + "rid": "14514807", + "text": "​你们的头像是", + "type": "RICH_TEXT_NODE_TYPE_VOTE" + }, + { + "orig_text": "我投给了女性", + "text": "我投给了女性", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "我参与了投票​你们的头像是我投给了女性" + }, + "major": null, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "置顶", + "params": { + "dynamic_id": "1044400750626603011", + "status": false + }, + "type": "THREE_POINT_TOP" + }, + { + "label": "删除", + "modal": { + "cancel": "取消", + "confirm": "确认删除", + "content": "动态删除后将无法恢复,请谨慎操作", + "title": "要删除动态吗?" + }, + "params": { + "dyn_id_str": "1044400750626603011", + "dyn_type": 1, + "rid_str": "1044400750626603011" + }, + "type": "THREE_POINT_DELETE" + } + ] + }, + "module_stat": { + "comment": { + "count": 0, + "forbidden": false + }, + "forward": { + "count": 0, + "forbidden": false + }, + "like": { + "count": 0, + "forbidden": false, + "status": false + } + } + }, + "orig": { + "basic": { + "comment_id_str": "", + "comment_type": 0, + "jump_url": "//www.bilibili.com/opus/1034151558512640008", + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "" + }, + "id_str": "1034151558512640008", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i1.hdslb.com/bfs/face/3c35c94e5c9fc5aad09052078339ec9faf1aad87.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "1403650486" + }, + "face": "https://i1.hdslb.com/bfs/face/3c35c94e5c9fc5aad09052078339ec9faf1aad87.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/1403650486/dynamic", + "label": "", + "mid": 1403650486, + "name": "小邓Channel", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "", + "pub_time": "", + "pub_ts": 1739620573, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1711382400000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 1 + } + }, + "module_dynamic": { + "additional": { + "type": "ADDITIONAL_TYPE_VOTE", + "vote": { + "button": { + "jump_style": { + "text": "参与" + }, + "type": 1 + }, + "choice_cnt": 1, + "default_share": 1, + "desc": "1135人参与", + "end_time": 1742039701, + "join_num": 1135, + "status": 4, + "title": "你们的头像是", + "type": null, + "uid": 1403650486, + "vote_id": 14514807 + } + }, + "desc": null, + "major": { + "opus": { + "fold_action": [ + "展开", + "收起" + ], + "jump_url": "//www.bilibili.com/opus/1034151558512640008", + "pics": [], + "summary": { + "rich_text_nodes": [ + { + "orig_text": "我发起了一个投票", + "text": "我发起了一个投票", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "​你们的头像是", + "rid": "14514807", + "text": "​你们的头像是", + "type": "RICH_TEXT_NODE_TYPE_VOTE" + } + ], + "text": "我发起了一个投票​你们的头像是" + }, + "title": null + }, + "type": "MAJOR_TYPE_OPUS" + }, + "topic": null + } + }, + "type": "DYNAMIC_TYPE_WORD", + "visible": true + }, + "type": "DYNAMIC_TYPE_FORWARD", + "visible": true + }, + { + "basic": { + "comment_id_str": "1044400681921806345", + "comment_type": 17, + "like_icon": { + "action_url": "https://i0.hdslb.com/bfs/garb/item/cb34de5fbca6b8507adf7364ae785822b74df1f9.bin", + "end_url": "", + "id": 68554, + "start_url": "" + }, + "rid_str": "1044400681921806345" + }, + "id_str": "1044400681921806345", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.375, + "width": 1.375 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "2095498218" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "fan": { + "color": "#a465e5", + "color_format": { + "colors": [ + "#a465e5FF", + "#a465e5FF" + ], + "end_point": "0,100", + "gradients": [ + 0, + 100 + ], + "start_point": "0,0" + }, + "is_fan": 1, + "name": "坠落·空", + "num_desc": "002272", + "number": 2272 + }, + "id": 68557, + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/5f6f72f12f56a8217913f29ef991171c897ab443.png", + "item_id": 68557, + "jump_url": "https://www.bilibili.com/h5/mall/equity-link/collect-home?item_id=68557&isdiy=0&part=card&from=post&f_source=garb&vmid=2095498218&native.theme=1&navhide=1", + "name": "坠落·空粉丝" + }, + "face": "https://i0.hdslb.com/bfs/face/3f77a9eeb6aa503bd5e0353865d6d737e4ff69c1.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/2095498218/dynamic", + "label": "", + "mid": 2095498218, + "name": "次元壁小宋", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/640b9ee5a12d77bb7431cfc9c815dd25c05f9915.png", + "image_enhance_frame": "", + "n_pid": 68553, + "name": "坠落·空", + "pid": 68553 + }, + "pub_action": "", + "pub_location_text": "", + "pub_time": "03月15日", + "pub_ts": 1742006883, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1683129600000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 1 + } + }, + "module_dynamic": { + "additional": null, + "desc": { + "rich_text_nodes": [ + { + "orig_text": "我参与了投票", + "text": "我参与了投票", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "​你们露过声吗?", + "rid": "14689974", + "text": "​你们露过声吗?", + "type": "RICH_TEXT_NODE_TYPE_VOTE" + }, + { + "orig_text": "我投给了没露过", + "text": "我投给了没露过", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "我参与了投票​你们露过声吗?我投给了没露过" + }, + "major": null, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "置顶", + "params": { + "dynamic_id": "1044400681921806345", + "status": false + }, + "type": "THREE_POINT_TOP" + }, + { + "label": "删除", + "modal": { + "cancel": "取消", + "confirm": "确认删除", + "content": "动态删除后将无法恢复,请谨慎操作", + "title": "要删除动态吗?" + }, + "params": { + "dyn_id_str": "1044400681921806345", + "dyn_type": 1, + "rid_str": "1044400681921806345" + }, + "type": "THREE_POINT_DELETE" + } + ] + }, + "module_stat": { + "comment": { + "count": 0, + "forbidden": false + }, + "forward": { + "count": 0, + "forbidden": false + }, + "like": { + "count": 0, + "forbidden": false, + "status": false + } + } + }, + "orig": { + "basic": { + "comment_id_str": "", + "comment_type": 0, + "jump_url": "//www.bilibili.com/opus/1041900177728733184", + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "" + }, + "id_str": "1041900177728733184", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i2.hdslb.com/bfs/face/70af6734f5e92c4345c592b099200b9519fdac23.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "3546855879215762" + }, + "face": "https://i2.hdslb.com/bfs/face/70af6734f5e92c4345c592b099200b9519fdac23.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/3546855879215762/dynamic", + "label": "", + "mid": 3546855879215762, + "name": "爱玩休闲区的樱梦雪", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "", + "pub_time": "", + "pub_ts": 1741424689, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 0, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 0 + } + }, + "module_dynamic": { + "additional": { + "type": "ADDITIONAL_TYPE_VOTE", + "vote": { + "button": { + "jump_style": { + "text": "参与" + }, + "type": 1 + }, + "choice_cnt": 1, + "default_share": 1, + "desc": "818人参与", + "end_time": 1743239041, + "join_num": 818, + "status": 4, + "title": "你们露过声吗?", + "type": null, + "uid": 3546855879215762, + "vote_id": 14689974 + } + }, + "desc": null, + "major": { + "opus": { + "fold_action": [ + "展开", + "收起" + ], + "jump_url": "//www.bilibili.com/opus/1041900177728733184", + "pics": [], + "summary": { + "rich_text_nodes": [ + { + "orig_text": "我发起了一个投票", + "text": "我发起了一个投票", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "orig_text": "​你们露过声吗?", + "rid": "14689974", + "text": "​你们露过声吗?", + "type": "RICH_TEXT_NODE_TYPE_VOTE" + } + ], + "text": "我发起了一个投票​你们露过声吗?" + }, + "title": null + }, + "type": "MAJOR_TYPE_OPUS" + }, + "topic": null + } + }, + "type": "DYNAMIC_TYPE_WORD", + "visible": true + }, + "type": "DYNAMIC_TYPE_FORWARD", + "visible": true + } + ], + "offset": "1044400681921806345", + "update_baseline": "", + "update_num": 0 + } } ``` </details> + +## 设置置顶动态 + +参见 [设置置顶动态](action.md#设置置顶动态) + +## 取消置顶动态 + +参见 [取消置顶动态](action.md#取消置顶动态) diff --git a/docs/dynamic/tag_dynamics.md b/docs/dynamic/tag_dynamics.md deleted file mode 100644 index e4d8dcc..0000000 --- a/docs/dynamic/tag_dynamics.md +++ /dev/null @@ -1,7931 +0,0 @@ -# 话题下特定动态信息 - -## 获取包含置顶及热门的动态列表 - -> https://api.vc.bilibili.com/topic_svr/v1/topic_svr/fetch_dynamics - -*请求方式:GET* - -**url参数:** - -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------------ | ---- | ---------- | ------ | -------- | -| topic_name | str | 话题名称 | 必要(可选) | topic_id与topic_name任选一个 | -| topic_id | num | 话题id | 必要(可选) | topic_id与topic_name任选一个 | -| sortby | num | 排序方式 | 非必要 | 一般情况下带上参数2,在部分话题中使用可以排除热门部分| -| offset | num | 偏移值 | 非必要| 可用于偏移显示的动态列表(为`0`时获取不包含置顶及热门的最新动态) | - -**json回复:** - -根对象: - -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------- | -| code | num | 返回值 | 0:成功 | -| data | obj | 信息本体 | | -| message | str | 错误信息 | 默认为空 | -| msg | num | 空 | | - -`data`对象: - -| 字段 | 类型 | 内容 | 备注 | -| ----------- | ----- | ---------- | ------------ | -| attentions | obj | 当前登录账户关注列表(仅在传递了登录信息时出现) | | -| cards | array | 动态列表 | | -| founder_uid | num | 0 | 作用尚不明确 | -| has_more | num | 当前话题是否有额外的动态 | 0:无额外动态<br />1:有额外动态 | -| is_drawer_topic | num | 0 | 作用尚不明确 | -| offset | str | 接下来获取列表时的偏移值 | 一般为当前获取的话题列表下最后一个动态id | -| \_gt\_ | num | 0 | 作用尚不明确 | - -`data`中的`cards`数组: - -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ------------- | ---- | -| 0 | obj | 第1条动态卡片 | | -| n | obj | 第(n+1)条动态卡片 | | -| …… | obj | …… | …… | - -`data`中的`cards`数组中的对象: - -基本同「[获取特定动态卡片信息](get_dynamic_detail.md)」中的data对象 - -**示例:** - -获取话题`哔哩哔哩漫画`(话题id`7539944`)的当前动态列表(包含置顶&热门) - -topic_name方式: -```shell -curl -G 'https://api.vc.bilibili.com/topic_svr/v1/topic_svr/fetch_dynamics' \ ---data-urlencode 'topic_name=哔哩哔哩漫画&sortby=2' -``` -topic_id方式: -```shell -curl -G 'https://api.vc.bilibili.com/topic_svr/v1/topic_svr/fetch_dynamics' \ ---data-urlencode 'topic_id=7539944&sortby=2' -``` - -<details> -<summary>查看响应示例:</summary> - -```json -{ - "code": 0, - "msg": "", - "message": "", - "data": { - "has_more": 1, - "cards": [ - { - "desc": { - "uid": 628215255, - "type": 8, - "rid": 332648194, - "view": 4768, - "repost": 18, - "like": 8325, - "is_liked": 0, - "dynamic_id": 516720707860453704, - "timestamp": 1619146815, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 628215255, - "uname": "faguowenhua", - "face": "https://i0.hdslb.com/bfs/face/341a390cbae7efc021d3c492da56665f2a4944ee.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "法国文化官方账号" - } - }, - "vip": { - "vipType": 0, - "vipDueDate": 0, - "vipStatus": 0, - "themeType": 0, - "label": { - "path": "", - "text": "", - "label_theme": "", - "text_color": "", - "bg_style": 0, - "bg_color": "", - "border_color": "" - }, - "avatar_subscript": 0, - "nickname_color": "", - "role": 0, - "avatar_subscript_url": "" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "法国驻华使馆文化处官方平台", - "level_info": { - "current_level": 2 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "r_type": 1, - "topic_board": "A", - "topic_board_desc": "热门", - "status": 1, - "dynamic_id_str": "516720707860453704", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "332648194", - "bvid": "BV1eA411L7Ck" - }, - "card": "{\"aid\":332648194,\"attribute\":0,\"cid\":327661869,\"copyright\":1,\"ctime\":1619091334,\"desc\":\"漫画节之际,恰逢世界读书日,哔哩哔哩漫画联合欧漫达高,邀请到了法国驻上海总领事馆文化领事柯梅燕女士在线推荐漫画啦!\\n被称为“图像小说”的纯正法国漫画是什么样呢?让我们一起跟着柯梅燕女士的介绍看看这本《莫奈逐光者》,领略欧陆漫画艺术的独特魅力吧~\",\"dimension\":{\"height\":2160,\"rotate\":0,\"width\":3840},\"duration\":219,\"dynamic\":\"漫画节之际,恰逢世界读书日,法国驻上海总领事馆文化领事柯梅燕女士应哔哩哔哩漫画与@欧漫达高 邀请,来给大家推荐漫画啦!\",\"item\":{\"at_control\":\"\"},\"jump_url\":\"bilibili:\\/\\/video\\/332648194\\/?page=1&player_preload=null&player_width=3840&player_height=2160&player_rotate=0\",\"mission_id\":20024,\"owner\":{\"face\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/face\\/341a390cbae7efc021d3c492da56665f2a4944ee.jpg\",\"mid\":628215255,\"name\":\"faguowenhua\"},\"pic\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/archive\\/7de60703c311c2afae10fab44a18bd3fbb5b3a13.jpg\",\"player_info\":null,\"pubdate\":1619146812,\"rights\":{\"autoplay\":1,\"bp\":0,\"download\":0,\"elec\":0,\"hd5\":1,\"is_cooperation\":1,\"movie\":0,\"no_background\":0,\"no_reprint\":1,\"pay\":0,\"ugc_pay\":0,\"ugc_pay_preview\":0},\"short_link\":\"https:\\/\\/b23.tv\\/BV1eA411L7Ck\",\"short_link_v2\":\"https:\\/\\/b23.tv\\/BV1eA411L7Ck\",\"stat\":{\"aid\":332648194,\"coin\":291,\"danmaku\":18,\"dislike\":0,\"favorite\":295,\"his_rank\":0,\"like\":8325,\"now_rank\":0,\"reply\":148,\"share\":95,\"view\":42916},\"state\":0,\"tid\":124,\"title\":\"大师的故事《莫奈逐光者》——来自法国文化领事的漫画推荐│哔哩哔哩漫画节\",\"tname\":\"社科人文\",\"videos\":1}", - "extend_json": "{\"\":{\"ogv\":{\"ogv_id\":0}},\"dispute\":{\"content\":\"\"},\"from\":{\"from\":\"\",\"verify\":{}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "activity_infos": { - "details": [ - { - "type": 1, - "detail": "{\"is_show\":1,\"topic_id\":877418,\"topic_link\":\"https:\\/\\/www.bilibili.com\\/blackboard\\/activity-7uSyvlCGRS.html\",\"topic_name\":\"漫画节\"}" - } - ] - }, - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 19380831, - "topic_name": "2021读书日", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 1449371, - "topic_name": "法国漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 877418, - "topic_name": "漫画节", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/activity-7uSyvlCGRS.html" - }, - { - "topic_id": 591844, - "topic_name": "莫奈", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 507003, - "topic_name": "欧漫", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "usr_action_txt": "投稿了视频", - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "tags": [ - { - "tag_type": 3, - "sub_type": 1, - "icon": "https://i0.hdslb.com/bfs/album/4c1880a3e9d5fd2c72b339929a73a4b83d2bab93.png", - "text": "漫画节", - "link": "https://www.bilibili.com/blackboard/activity-7uSyvlCGRS.html?topic_from=topic-card&name=%E6%BC%AB%E7%94%BB%E8%8A%82", - "rid": 877418, - "sub_module": "topic" - } - ], - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - }, - "cover_play_icon_url": "https://i0.hdslb.com/bfs/album/2269afa7897830b397797ebe5f032b899b405c67.png" - } - }, - { - "desc": { - "uid": 7435683, - "type": 8, - "rid": 630241940, - "acl": 0, - "view": 32187, - "repost": 13, - "like": 10044, - "is_liked": 0, - "dynamic_id": 516457881633694548, - "timestamp": 1619085621, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 7435683, - "uname": "葉月Mashiro灬", - "face": "https://i0.hdslb.com/bfs/face/a536ad1c4c66e17113cfb599fcbb97e03bcdae44.jpg" - }, - "card": { - "official_verify": { - "type": 0, - "desc": "bilibili 知名动漫UP主" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1642694400000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "年度大会员", - "label_theme": "annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 3, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 2701, - "name": "七濑胡桃", - "image": "https://i0.hdslb.com/bfs/garb/item/2c40fe802d1935d96e4fc63ec42274d8846a34b7.png", - "expire": 0, - "image_enhance": "https://i0.hdslb.com/bfs/garb/item/2c40fe802d1935d96e4fc63ec42274d8846a34b7.png", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "个人up主 商业合作QQ:740998177月月本人 动漫交流群:958318991 约稿请私信", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "A", - "topic_board_desc": "热门", - "status": 1, - "dynamic_id_str": "516457881633694548", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "630241940", - "bvid": "BV1b84y1F7qT" - }, - "card": "{\"aid\":630241940,\"attribute\":0,\"cid\":325729439,\"copyright\":1,\"ctime\":1618830035,\"desc\":\"BGM:No Rainbows In The Desert (Pluto Tapes),歌手名:Unlike Pluto\\n咒术回战单素材,帅就完事!求3连!\",\"dimension\":{\"height\":1080,\"rotate\":0,\"width\":1920},\"duration\":94,\"dynamic\":\"\",\"item\":{\"at_control\":\"\"},\"jump_url\":\"bilibili:\\/\\/video\\/630241940\\/?page=1&player_preload=null&player_width=1920&player_height=1080&player_rotate=0\",\"owner\":{\"face\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/face\\/a536ad1c4c66e17113cfb599fcbb97e03bcdae44.jpg\",\"mid\":7435683,\"name\":\"葉月Mashiro灬\"},\"pic\":\"https:\\/\\/i2.hdslb.com\\/bfs\\/archive\\/663b7f275b0f93356523880aa7e626803168df93.jpg\",\"player_info\":null,\"pubdate\":1619085619,\"rights\":{\"autoplay\":1,\"bp\":0,\"download\":0,\"elec\":0,\"hd5\":1,\"is_cooperation\":1,\"movie\":0,\"no_background\":0,\"no_reprint\":1,\"pay\":0,\"ugc_pay\":0,\"ugc_pay_preview\":0},\"short_link\":\"https:\\/\\/b23.tv\\/BV1b84y1F7qT\",\"short_link_v2\":\"https:\\/\\/b23.tv\\/BV1b84y1F7qT\",\"stat\":{\"aid\":630241940,\"coin\":889,\"danmaku\":146,\"dislike\":0,\"favorite\":1163,\"his_rank\":0,\"like\":10044,\"now_rank\":0,\"reply\":95,\"share\":205,\"view\":61268},\"state\":0,\"tid\":24,\"title\":\"全员高能!这才是咒术回战!\",\"tname\":\"MAD·AMV\",\"videos\":1}", - "extend_json": "{\"\":{\"decoration\":{\"decoration_id\":0},\"game\":{\"game_id\":0},\"manga\":{\"manga_id\":26505},\"match\":{\"match_id\":0},\"official_activity\":{\"official_activity_id\":0},\"ogv\":{\"auto_bind\":0,\"ogv_id\":0},\"pgc\":0,\"pugv\":{\"pugv_id\":0},\"reserve\":{\"reserve_id\":0},\"ugc\":{\"ugc_id\":0}},\"bottom\":{},\"dispute\":{\"content\":\"\"},\"from\":{\"from\":\"\"},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 391, - "topic_name": "AMV", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 281, - "topic_name": "MAD", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 7662089, - "topic_name": "五条悟", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/66796" - }, - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 6497596, - "topic_name": "咒术回战", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 3545, - "topic_name": "热血", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "usr_action_txt": "投稿了视频", - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "attach_card": { - "type": "manga", - "head_text": "相关漫画作品", - "cover_url": "https://i0.hdslb.com/bfs/manga-static/ca4c24bd8bf896545811f401106c19588b80549d.png", - "cover_type": 2, - "title": "咒术回战", - "desc_first": "更新至146", - "desc_second": "冒险,热血,奇幻", - "jump_url": "https://manga.bilibili.com/m/detail/mc26505?from=sub_card", - "button": { - "type": 2, - "uncheck": { - "icon": "https://i0.hdslb.com/bfs/bangumi/154b6898d2b2c20c21ccef9e41fcf809b518ebb4.png", - "text": "追漫" - }, - "check": { - "icon": "", - "text": "已追漫" - }, - "status": 1 - }, - "oid_str": "26505" - }, - "add_on_card_info": [ - { - "add_on_card_show_type": 2, - "attach_card": { - "type": "manga", - "head_text": "相关漫画作品", - "cover_url": "https://i0.hdslb.com/bfs/manga-static/ca4c24bd8bf896545811f401106c19588b80549d.png", - "cover_type": 2, - "title": "咒术回战", - "desc_first": "更新至146", - "desc_second": "冒险,热血,奇幻", - "jump_url": "https://manga.bilibili.com/m/detail/mc26505?from=sub_card", - "button": { - "type": 2, - "uncheck": { - "icon": "https://i0.hdslb.com/bfs/bangumi/154b6898d2b2c20c21ccef9e41fcf809b518ebb4.png", - "text": "追漫" - }, - "check": { - "icon": "", - "text": "已追漫" - }, - "status": 1 - }, - "oid_str": "26505" - } - } - ], - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - }, - "cover_play_icon_url": "https://i0.hdslb.com/bfs/album/2269afa7897830b397797ebe5f032b899b405c67.png" - } - }, - { - "desc": { - "uid": 381355897, - "type": 2, - "rid": 131242904, - "acl": 0, - "view": 20829, - "repost": 0, - "comment": 0, - "like": 99, - "is_liked": 0, - "dynamic_id": 516859813265346703, - "timestamp": 1619179203, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 381355897, - "uname": "电绘狂", - "face": "https://i1.hdslb.com/bfs/face/19c52b3c93e12698cd1e23093f8e2661e32e2533.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 1, - "vipDueDate": 1580486400000, - "vipStatus": 0, - "themeType": 0, - "label": { - "path": "", - "text": "", - "label_theme": "", - "text_color": "", - "bg_style": 0, - "bg_color": "", - "border_color": "" - }, - "avatar_subscript": 0, - "nickname_color": "", - "role": 0, - "avatar_subscript_url": "" - }, - "pendant": { - "pid": 1823, - "name": "春日樱花", - "image": "https://i1.hdslb.com/bfs/garb/item/dbe7d6c13cfa15ee717f7219501dc4613affbb9c.png", - "expire": 0, - "image_enhance": "https://i1.hdslb.com/bfs/garb/item/dbe7d6c13cfa15ee717f7219501dc4613affbb9c.png", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "交流群:100931574、cctalk&B站每周三天 直播绘画教学+改图", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "A", - "topic_board_desc": "热门", - "status": 1, - "dynamic_id_str": "516859813265346703", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131242904" - }, - "card": "{\"item\":{\"at_control\":\"\",\"category\":\"daily\",\"description\":\"‍【#寒远#第十话:你穿什么都好看!!】\\n新角色登场!!猜猜他们是小公主的谁呢?[妙啊]\\n彩色条漫+每周五更新+ :https:\\/\\/manga.bilibili.com\\/detail\\/mc29468 \\n\\n#哔哩哔哩漫画# \",\"id\":131242904,\"is_fav\":0,\"pictures\":[{\"img_height\":1260,\"img_size\":151.478515625,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/cce04242486413faf4299ba0fd4e6cb072cd376e.jpg\",\"img_tags\":null,\"img_width\":750},{\"img_height\":1040,\"img_size\":126.9970703125,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/678a826ac0e2e869e4ee2c1556a60c69d626dbfd.jpg\",\"img_tags\":null,\"img_width\":750}],\"pictures_count\":2,\"reply\":0,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619179203},\"user\":{\"head_url\":\"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/19c52b3c93e12698cd1e23093f8e2661e32e2533.jpg\",\"name\":\"电绘狂\",\"uid\":381355897,\"vip\":{\"avatar_subscript\":0,\"due_date\":1580486400000,\"label\":{\"label_theme\":\"\",\"path\":\"\",\"text\":\"\"},\"nickname_color\":\"\",\"status\":0,\"theme_type\":0,\"type\":1,\"vip_pay_type\":0}}}", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"timer.publish\",\"up_close_comment\":0,\"verify\":{\"cc\":{\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 17996793, - "topic_name": "寒远", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[妙啊]", - "id": 435, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[妙啊]", - "url": "https://i0.hdslb.com/bfs/emote/b4cb77159d58614a9b787b91b1cd22a81f383535.png", - "meta": { - "size": 1 - }, - "mtime": 1617293741 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 350963773, - "type": 8, - "rid": 972741830, - "acl": 0, - "view": 2059, - "repost": 5, - "like": 53, - "is_liked": 0, - "dynamic_id": 515066247810442308, - "timestamp": 1618761606, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 350963773, - "uname": "届不到_Zula", - "face": "https://i1.hdslb.com/bfs/face/613e6dcd59feaecf875092ae945834a362b37f6c.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1674403200000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "年度大会员", - "label_theme": "annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 3, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "什么时候来个卡车,善良的送我去异世界", - "level_info": { - "current_level": 5 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "A", - "topic_board_desc": "热门", - "status": 1, - "dynamic_id_str": "515066247810442308", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "972741830", - "bvid": "BV1Mp4y1b7vk" - }, - "card": "{\"aid\":972741830,\"attribute\":0,\"cid\":325740795,\"copyright\":1,\"ctime\":1618713447,\"desc\":\"我永远喜欢水原千鹤!\\n水原千鹤应援群:605563880\\n欢迎加入!\",\"dimension\":{\"height\":1080,\"rotate\":0,\"width\":1920},\"duration\":207,\"dynamic\":\"水原千鹤,生日快乐\",\"item\":{\"at_control\":\"\"},\"jump_url\":\"bilibili:\\/\\/video\\/972741830\\/?page=1&player_preload=null&player_width=1920&player_height=1080&player_rotate=0\",\"owner\":{\"face\":\"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/613e6dcd59feaecf875092ae945834a362b37f6c.jpg\",\"mid\":350963773,\"name\":\"届不到_Zula\"},\"pic\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/archive\\/5e8a7e26b2b386626f3ddc54d1999ee3f1978888.jpg\",\"player_info\":null,\"pubdate\":1618761602,\"rights\":{\"autoplay\":1,\"bp\":0,\"download\":0,\"elec\":0,\"hd5\":0,\"is_cooperation\":0,\"movie\":0,\"no_background\":0,\"no_reprint\":1,\"pay\":0,\"ugc_pay\":0,\"ugc_pay_preview\":0},\"short_link\":\"https:\\/\\/b23.tv\\/BV1Mp4y1b7vk\",\"short_link_v2\":\"https:\\/\\/b23.tv\\/BV1Mp4y1b7vk\",\"stat\":{\"aid\":972741830,\"coin\":58,\"danmaku\":15,\"dislike\":0,\"favorite\":29,\"his_rank\":0,\"like\":53,\"now_rank\":0,\"reply\":45,\"share\":15,\"view\":427},\"state\":0,\"tid\":24,\"title\":\"【2021水原千鹤生贺】此生能遇见你,真是太好了\",\"tname\":\"MAD·AMV\",\"up_from_v2\":19,\"videos\":2}", - "extend_json": "{\"\":{\"ogv\":{\"ogv_id\":0}},\"bottom\":{},\"dispute\":{\"content\":\"\"},\"from\":{\"from\":\"\",\"verify\":{}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 170379, - "topic_name": "生贺", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 4145, - "topic_name": "恋爱", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 391, - "topic_name": "AMV", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 281, - "topic_name": "MAD", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 7382791, - "topic_name": "水原千鹤", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/43055" - } - ] - }, - "usr_action_txt": "投稿了视频", - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "tags": [ - { - "tag_type": 5, - "icon": "https://i0.hdslb.com/bfs/album/969bfb96b77f12acb2e36068fa03de3b418b2219.png", - "text": "领取专属形象赢大奖", - "link": "https://www.bilibili.com/blackboard/activity-K4Yvj51WtJ.html", - "sub_module": "diversion", - "show_action": 0 - } - ], - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - }, - "cover_play_icon_url": "https://i0.hdslb.com/bfs/album/2269afa7897830b397797ebe5f032b899b405c67.png" - } - }, - { - "desc": { - "uid": 326499679, - "type": 2, - "rid": 131534120, - "acl": 0, - "view": 196445, - "repost": 2, - "comment": 54, - "like": 1048, - "is_liked": 0, - "dynamic_id": 517602000793534062, - "timestamp": 1619352007, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517602000793534062", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131534120" - }, - "card": "{\"item\":{\"at_control\":\"\",\"category\":\"daily\",\"description\":\"【#哔哩哔哩漫画# 作品推荐】兽人控狂喜!《#不莱梅乐队#》:https:\\/\\/manga.bilibili.com\\/m\\/detail\\/mc28880\\n[思考]大家小时候看过一篇叫做《不莱梅的音乐家》的格林童话吗?\\n[惊喜]只不过在这部#欧漫#里,这四个动物的目的不是赶走强盗,而是追逐梦想、爱情、自由、正义。在这个充满混沌的世界里,他们将用音乐的力量改写自己和他人的命运。 \",\"id\":131534120,\"is_fav\":0,\"pictures\":[{\"img_height\":1922,\"img_size\":1163.9267578125,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/f5a82f03475eed52973b3cecb2b5180b090cc5f0.png\",\"img_tags\":null,\"img_width\":1080},{\"img_height\":757,\"img_size\":273.130859375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/ca4055c7b9c246e7e922190102d5c87cd4dbcea8.png\",\"img_tags\":null,\"img_width\":436},{\"img_height\":1067,\"img_size\":640.29296875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/9de3ece4d374d07fb7b192db4520779a477cdf97.png\",\"img_tags\":null,\"img_width\":542},{\"img_height\":972,\"img_size\":374.8349609375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/cac12d548a3686335d3154cce672f1823ca92517.png\",\"img_tags\":null,\"img_width\":487}],\"pictures_count\":4,\"reply\":54,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619352007},\"user\":{\"head_url\":\"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\",\"name\":\"哔哩哔哩漫画\",\"uid\":326499679,\"vip\":{\"avatar_subscript\":1,\"due_date\":1941033600000,\"label\":{\"label_theme\":\"ten_annual_vip\",\"path\":\"\",\"text\":\"十年大会员\"},\"nickname_color\":\"#FB7299\",\"status\":1,\"theme_type\":0,\"type\":2,\"vip_pay_type\":0}}}", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"timer.publish\",\"up_close_comment\":0,\"verify\":{\"asw\":{\"fl\":15,\"nv\":1},\"cc\":{\"nv\":1},\"sw\":{\"fl\":15,\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 15149492, - "topic_name": "不莱梅乐队", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 507003, - "topic_name": "欧漫", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[思考]", - "id": 1941, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[思考]", - "url": "https://i0.hdslb.com/bfs/emote/cfa9b7e89e4bfe04bbcd34ccb1b0df37f4fa905c.png", - "meta": { - "size": 1 - }, - "mtime": 1597738918 - }, - { - "emoji_name": "[惊喜]", - "id": 19, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[惊喜]", - "url": "https://i0.hdslb.com/bfs/emote/0afecaf3a3499479af946f29749e1a6c285b6f65.png", - "meta": { - "size": 1 - }, - "mtime": 1597738918 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 240911350, - "type": 1, - "rid": 517516389208371264, - "acl": 0, - "view": 237, - "repost": 0, - "comment": 0, - "like": 2, - "is_liked": 0, - "dynamic_id": 517516389214088892, - "timestamp": 1619332074, - "pre_dy_id": 517479366596833835, - "orig_dy_id": 517479366596833835, - "orig_type": 2, - "user_profile": { - "info": { - "uid": 240911350, - "uname": "Kekkai-piano", - "face": "https://i1.hdslb.com/bfs/face/f9b56adf0e9fb16d556fb5af93fc8367a255e4af.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1658851200000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "年度大会员", - "label_theme": "annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 3, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 2511, - "name": "初音未来13周年", - "image": "https://i1.hdslb.com/bfs/garb/item/4f8f3f1f2d47f0dad84f66aa57acd4409ea46361.png", - "expire": 0, - "image_enhance": "https://i1.hdslb.com/bfs/garb/item/fe0b83b53e2342b16646f6e7a9370d8a867decdb.webp", - "image_enhance_frame": "https://i1.hdslb.com/bfs/garb/item/127c507ec8448be30cf5f79500ecc6ef2fd32f2c.png" - }, - "rank": "10000", - "sign": "看动画片的88键音游爱好者 \n专业人士轻喷 \n正在寻找缺失之物 \n超天変地異みたいな狂騒にも慣れて\n高三备考ing,莫要取关(bushi)", - "level_info": { - "current_level": 5 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517516389214088892", - "pre_dy_id_str": "517479366596833835", - "orig_dy_id_str": "517479366596833835", - "rid_str": "517516389208371264", - "origin": { - "uid": 326499679, - "type": 2, - "rid": 131479206, - "acl": 1024, - "view": 1379492, - "repost": 11233, - "dynamic_id": 517479366596833835, - "timestamp": 1619323454, - "uid_type": 1, - "r_type": 1, - "status": 1, - "dynamic_id_str": "517479366596833835", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131479206" - } - }, - "card": "{ \"user\": { \"uid\": 240911350, \"uname\": \"Kekkai-piano\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/f9b56adf0e9fb16d556fb5af93fc8367a255e4af.jpg\" }, \"item\": { \"rp_id\": 517516389208371264, \"uid\": 240911350, \"content\": \"分母报道[doge]#哔哩哔哩漫画#,#AISHA#\", \"orig_dy_id\": 517479366596833835, \"pre_dy_id\": 517479366596833835, \"timestamp\": 1619332074, \"reply\": 0, \"orig_type\": 2 }, \"origin\": \"{\\\"item\\\":{\\\"at_control\\\":\\\"[{\\\\\\\"data\\\\\\\":\\\\\\\"5\\\\\\\",\\\\\\\"length\\\\\\\":0,\\\\\\\"location\\\\\\\":0,\\\\\\\"type\\\\\\\":2},{\\\\\\\"location\\\\\\\":19,\\\\\\\"type\\\\\\\":1,\\\\\\\"length\\\\\\\":8,\\\\\\\"data\\\\\\\":\\\\\\\"1425490690\\\\\\\"}]\\\",\\\"category\\\":\\\"daily\\\",\\\"description\\\":\\\"​互动抽奖 关+转,抽3位幸运小伙伴送@漫画家法吉特 【《逆光》画集作者签名版】~\\\\n #哔哩哔哩漫画#重磅安利之《#AISHA#》\\\\n当当当当!剧情党福音~\\\\n答题就有机会赢得礼物?还有法吉特太太亲签精美画集?\\\\n活动入口→https:\\\\\\/\\\\\\/www.bilibili.com\\\\\\/blackboard\\\\\\/topic\\\\\\/activity-oPISh007wv.html\\\\n\\\\n你以为这样就结束了了吗?\\\\nNONONO~\\\\n法吉特老师首次出版个人作品集《逆光》~商城4月25日0点首发开售!\\\\n有法吉特老师签名版掉落哦!随书额外附赠专属书签特典!\\\\n活动指路:哔哩哔哩漫画APP-我的-商城-banner\\\",\\\"id\\\":131479206,\\\"is_fav\\\":0,\\\"pictures\\\":[{\\\"img_height\\\":782,\\\"img_size\\\":1097.2451171875,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/8965a784f77e2545f4f2f168df4f417ed3ace818.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":750}],\\\"pictures_count\\\":1,\\\"reply\\\":573,\\\"role\\\":[],\\\"settings\\\":{\\\"copy_forbidden\\\":\\\"0\\\"},\\\"source\\\":[],\\\"title\\\":\\\"\\\",\\\"upload_time\\\":1619323454},\\\"user\\\":{\\\"head_url\\\":\\\"https:\\\\\\/\\\\\\/i1.hdslb.com\\\\\\/bfs\\\\\\/face\\\\\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\\\",\\\"name\\\":\\\"哔哩哔哩漫画\\\",\\\"uid\\\":326499679,\\\"vip\\\":{\\\"avatar_subscript\\\":1,\\\"due_date\\\":1941033600000,\\\"label\\\":{\\\"label_theme\\\":\\\"ten_annual_vip\\\",\\\"path\\\":\\\"\\\",\\\"text\\\":\\\"十年大会员\\\"},\\\"nickname_color\\\":\\\"#FB7299\\\",\\\"status\\\":1,\\\"theme_type\\\":0,\\\"type\\\":2,\\\"vip_pay_type\\\":0}}}\", \"origin_extension\": { \"lott\": \"{\\\"lottery_id\\\":61398}\" }, \"origin_extend_json\": \"{\\\"ctrl\\\":[{\\\"data\\\":\\\"5\\\",\\\"length\\\":0,\\\"location\\\":0,\\\"type\\\":2},{\\\"data\\\":\\\"1425490690\\\",\\\"length\\\":8,\\\"location\\\":19,\\\"type\\\":1}],\\\"from\\\":{\\\"emoji_type\\\":1,\\\"from\\\":\\\"create.dynamic.web\\\",\\\"up_close_comment\\\":0,\\\"verify\\\":{\\\"asw\\\":{\\\"fl\\\":15,\\\"nv\\\":1},\\\"cc\\\":{\\\"vf\\\":1},\\\"sw\\\":{\\\"fl\\\":15,\\\"nv\\\":1}}},\\\"like_icon\\\":{\\\"action\\\":\\\"\\\",\\\"action_url\\\":\\\"\\\",\\\"end\\\":\\\"\\\",\\\"end_url\\\":\\\"\\\",\\\"start\\\":\\\"\\\",\\\"start_url\\\":\\\"\\\"},\\\"lott\\\":{\\\"lottery_id\\\":61398},\\\"topic\\\":{\\\"is_attach_topic\\\":1}}\", \"origin_user\": { \"info\": { \"uid\": 326499679, \"uname\": \"哔哩哔哩漫画\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\" }, \"card\": { \"official_verify\": { \"type\": 1, \"desc\": \"哔哩哔哩漫画官方账号\" } }, \"vip\": { \"vipType\": 2, \"vipDueDate\": 1941033600000, \"vipStatus\": 1, \"themeType\": 0, \"label\": { \"path\": \"\", \"text\": \"十年大会员\", \"label_theme\": \"ten_annual_vip\", \"text_color\": \"#FFFFFF\", \"bg_style\": 1, \"bg_color\": \"#FB7299\", \"border_color\": \"\" }, \"avatar_subscript\": 1, \"nickname_color\": \"#FB7299\", \"role\": 7, \"avatar_subscript_url\": \"https:\\/\\/i0.hdslb.com\\/bfs\\/vip\\/icon_Certification_big_member_22_3x.png\" }, \"pendant\": { \"pid\": 0, \"name\": \"\", \"image\": \"\", \"expire\": 0, \"image_enhance\": \"\", \"image_enhance_frame\": \"\" }, \"rank\": \"10000\", \"sign\": \"↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑\", \"level_info\": { \"current_level\": 6 } } }", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"create.comment\",\"up_close_comment\":0},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 148830, - "topic_name": "AISHA", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/18159" - }, - { - "topic_id": 2514603, - "topic_name": "aisha", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "origin": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 148830, - "topic_name": "AISHA", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/18159" - }, - { - "topic_id": 2514603, - "topic_name": "aisha", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[doge]", - "id": 26, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[doge]", - "url": "https://i0.hdslb.com/bfs/emote/3087d273a78ccaff4bb1e9972e2ba2a7583c9f11.png", - "meta": { - "size": 1 - }, - "mtime": 1617293741 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 1192711092, - "type": 1, - "rid": 517505230885402892, - "acl": 0, - "view": 2, - "repost": 0, - "comment": 0, - "like": 0, - "is_liked": 0, - "dynamic_id": 517505230886905525, - "timestamp": 1619329476, - "pre_dy_id": 517241610091321208, - "orig_dy_id": 517241610091321208, - "orig_type": 2, - "user_profile": { - "info": { - "uid": 1192711092, - "uname": "会发光的偶恰", - "face": "https://i0.hdslb.com/bfs/face/b85a508793bd96deec61e2491d60e68f10378395.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 0, - "vipDueDate": 0, - "vipStatus": 0, - "themeType": 0, - "label": { - "path": "", - "text": "", - "label_theme": "", - "text_color": "", - "bg_style": 0, - "bg_color": "", - "border_color": "" - }, - "avatar_subscript": 0, - "nickname_color": "", - "role": 0, - "avatar_subscript_url": "" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "", - "level_info": { - "current_level": 3 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517505230886905525", - "pre_dy_id_str": "517241610091321208", - "orig_dy_id_str": "517241610091321208", - "rid_str": "517505230885402892", - "origin": { - "uid": 326499679, - "type": 2, - "rid": 131403515, - "acl": 1024, - "view": 1951519, - "repost": 16543, - "dynamic_id": 517241610091321208, - "timestamp": 1619268097, - "uid_type": 1, - "r_type": 1, - "status": 1, - "dynamic_id_str": "517241610091321208", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131403515" - } - }, - "card": "{ \"user\": { \"uid\": 1192711092, \"uname\": \"会发光的偶恰\", \"face\": \"https:\\/\\/i0.hdslb.com\\/bfs\\/face\\/b85a508793bd96deec61e2491d60e68f10378395.jpg\" }, \"item\": { \"rp_id\": 517505230885402892, \"uid\": 1192711092, \"content\": \"我最喜欢这个了,我也想要#哔哩哔哩漫画#\", \"orig_dy_id\": 517241610091321208, \"pre_dy_id\": 517241610091321208, \"timestamp\": 1619329476, \"reply\": 0, \"orig_type\": 2 }, \"origin\": \"{\\\"item\\\":{\\\"at_control\\\":\\\"[{\\\\\\\"type\\\\\\\":2,\\\\\\\"location\\\\\\\":0,\\\\\\\"length\\\\\\\":0,\\\\\\\"data\\\\\\\":\\\\\\\"5\\\\\\\"}]\\\",\\\"category\\\":\\\"daily\\\",\\\"description\\\":\\\"​互动抽奖 【关+转】抽1位小伙伴送【哔哩哔哩小电视兔子包】~\\\\n【#哔哩哔哩漫画# 作品推荐】大量西幻少女漫爆更来啦———\\\\n[干杯] 即日起,《重生成为公爵家的丑女》《暴君的监护人是反派魔女》《姐姐捡回了男主》等大量西幻少女精品漫画爆更,追漫更有樱花立牌\\\\\\/玩偶等福利好礼相送!\\\\n[干杯] 快来哔哩哔哩漫画追漫吧~\\\",\\\"id\\\":131403515,\\\"is_fav\\\":0,\\\"pictures\\\":[{\\\"img_height\\\":1357,\\\"img_size\\\":1759.1650390625,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/1ce565e7f36e0ae5a3809df21bb39aa2fe578a88.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":1238,\\\"img_size\\\":832.51953125,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/6df0150c77a7f42a5d31cce8bb006105a660dad9.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":2193,\\\"img_size\\\":3424.060546875,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/adce81c59436184b56d84e5394583d2ab491b2e6.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":800,\\\"img_size\\\":166.1552734375,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/9c4e8d6fc04d5a1f3df225d5967fb65c7a3f5f09.jpg\\\",\\\"img_tags\\\":null,\\\"img_width\\\":800}],\\\"pictures_count\\\":4,\\\"reply\\\":1003,\\\"role\\\":[],\\\"settings\\\":{\\\"copy_forbidden\\\":\\\"0\\\"},\\\"source\\\":[],\\\"title\\\":\\\"\\\",\\\"upload_time\\\":1619268097},\\\"user\\\":{\\\"head_url\\\":\\\"https:\\\\\\/\\\\\\/i1.hdslb.com\\\\\\/bfs\\\\\\/face\\\\\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\\\",\\\"name\\\":\\\"哔哩哔哩漫画\\\",\\\"uid\\\":326499679,\\\"vip\\\":{\\\"avatar_subscript\\\":1,\\\"due_date\\\":1941033600000,\\\"label\\\":{\\\"label_theme\\\":\\\"ten_annual_vip\\\",\\\"path\\\":\\\"\\\",\\\"text\\\":\\\"十年大会员\\\"},\\\"nickname_color\\\":\\\"#FB7299\\\",\\\"status\\\":1,\\\"theme_type\\\":0,\\\"type\\\":2,\\\"vip_pay_type\\\":0}}}\", \"origin_extension\": { \"lott\": \"{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"}\" }, \"origin_extend_json\": \"{\\\"ctrl\\\":[{\\\"data\\\":\\\"5\\\",\\\"length\\\":0,\\\"location\\\":0,\\\"type\\\":2}],\\\"from\\\":{\\\"emoji_type\\\":1,\\\"from\\\":\\\"\\\",\\\"up_close_comment\\\":0,\\\"verify\\\":{\\\"asw\\\":{\\\"fl\\\":15,\\\"nv\\\":1},\\\"cc\\\":{\\\"vf\\\":1},\\\"sw\\\":{\\\"fl\\\":15,\\\"nv\\\":1}}},\\\"like_icon\\\":{\\\"action\\\":\\\"\\\",\\\"action_url\\\":\\\"\\\",\\\"end\\\":\\\"\\\",\\\"end_url\\\":\\\"\\\",\\\"start\\\":\\\"\\\",\\\"start_url\\\":\\\"\\\"},\\\"lott\\\":{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"},\\\"topic\\\":{\\\"is_attach_topic\\\":1}}\", \"origin_user\": { \"info\": { \"uid\": 326499679, \"uname\": \"哔哩哔哩漫画\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\" }, \"card\": { \"official_verify\": { \"type\": 1, \"desc\": \"哔哩哔哩漫画官方账号\" } }, \"vip\": { \"vipType\": 2, \"vipDueDate\": 1941033600000, \"vipStatus\": 1, \"themeType\": 0, \"label\": { \"path\": \"\", \"text\": \"十年大会员\", \"label_theme\": \"ten_annual_vip\", \"text_color\": \"#FFFFFF\", \"bg_style\": 1, \"bg_color\": \"#FB7299\", \"border_color\": \"\" }, \"avatar_subscript\": 1, \"nickname_color\": \"#FB7299\", \"role\": 7, \"avatar_subscript_url\": \"https:\\/\\/i0.hdslb.com\\/bfs\\/vip\\/icon_Certification_big_member_22_3x.png\" }, \"pendant\": { \"pid\": 0, \"name\": \"\", \"image\": \"\", \"expire\": 0, \"image_enhance\": \"\", \"image_enhance_frame\": \"\" }, \"rank\": \"10000\", \"sign\": \"↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑\", \"level_info\": { \"current_level\": 6 } } }", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"create.comment\",\"up_close_comment\":0},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "origin": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[干杯]", - "id": 1949, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[干杯]", - "url": "https://i0.hdslb.com/bfs/emote/8da12d5f55a2c7e9778dcc05b40571979fe208e6.png", - "meta": { - "size": 1 - }, - "mtime": 1597738918 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 1365116, - "type": 1, - "rid": 517503525787575777, - "acl": 0, - "view": 1, - "repost": 0, - "comment": 0, - "like": 0, - "is_liked": 0, - "dynamic_id": 517503525779637979, - "timestamp": 1619329079, - "pre_dy_id": 517241610091321208, - "orig_dy_id": 517241610091321208, - "orig_type": 2, - "user_profile": { - "info": { - "uid": 1365116, - "uname": "濑户的海参", - "face": "https://i2.hdslb.com/bfs/face/8426c61be9c3ccd2296d080a54691c3bed5f2f9f.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 0, - "vipDueDate": 0, - "vipStatus": 0, - "themeType": 0, - "label": { - "path": "", - "text": "", - "label_theme": "", - "text_color": "", - "bg_style": 0, - "bg_color": "", - "border_color": "" - }, - "avatar_subscript": 0, - "nickname_color": "", - "role": 0, - "avatar_subscript_url": "" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "", - "level_info": { - "current_level": 5 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517503525779637979", - "pre_dy_id_str": "517241610091321208", - "orig_dy_id_str": "517241610091321208", - "rid_str": "517503525787575777", - "origin": { - "uid": 326499679, - "type": 2, - "rid": 131403515, - "acl": 1024, - "view": 1951519, - "repost": 16543, - "comment": 1003, - "like": 6950, - "is_liked": 0, - "dynamic_id": 517241610091321208, - "timestamp": 1619268097, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "r_type": 1, - "status": 1, - "dynamic_id_str": "517241610091321208", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131403515" - } - }, - "card": "{ \"user\": { \"uid\": 1365116, \"uname\": \"濑户的海参\", \"face\": \"https:\\/\\/i2.hdslb.com\\/bfs\\/face\\/8426c61be9c3ccd2296d080a54691c3bed5f2f9f.jpg\" }, \"item\": { \"rp_id\": 517503525787575777, \"uid\": 1365116, \"content\": \"嗯哼#哔哩哔哩漫画#\", \"orig_dy_id\": 517241610091321208, \"pre_dy_id\": 517241610091321208, \"timestamp\": 1619329079, \"reply\": 0, \"orig_type\": 2 }, \"origin\": \"{\\\"item\\\":{\\\"at_control\\\":\\\"[{\\\\\\\"type\\\\\\\":2,\\\\\\\"location\\\\\\\":0,\\\\\\\"length\\\\\\\":0,\\\\\\\"data\\\\\\\":\\\\\\\"5\\\\\\\"}]\\\",\\\"category\\\":\\\"daily\\\",\\\"description\\\":\\\"​互动抽奖 【关+转】抽1位小伙伴送【哔哩哔哩小电视兔子包】~\\\\n【#哔哩哔哩漫画# 作品推荐】大量西幻少女漫爆更来啦———\\\\n[干杯] 即日起,《重生成为公爵家的丑女》《暴君的监护人是反派魔女》《姐姐捡回了男主》等大量西幻少女精品漫画爆更,追漫更有樱花立牌\\\\\\/玩偶等福利好礼相送!\\\\n[干杯] 快来哔哩哔哩漫画追漫吧~\\\",\\\"id\\\":131403515,\\\"is_fav\\\":0,\\\"pictures\\\":[{\\\"img_height\\\":1357,\\\"img_size\\\":1759.1650390625,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/1ce565e7f36e0ae5a3809df21bb39aa2fe578a88.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":1238,\\\"img_size\\\":832.51953125,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/6df0150c77a7f42a5d31cce8bb006105a660dad9.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":2193,\\\"img_size\\\":3424.060546875,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/adce81c59436184b56d84e5394583d2ab491b2e6.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":800,\\\"img_size\\\":166.1552734375,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/9c4e8d6fc04d5a1f3df225d5967fb65c7a3f5f09.jpg\\\",\\\"img_tags\\\":null,\\\"img_width\\\":800}],\\\"pictures_count\\\":4,\\\"reply\\\":1003,\\\"role\\\":[],\\\"settings\\\":{\\\"copy_forbidden\\\":\\\"0\\\"},\\\"source\\\":[],\\\"title\\\":\\\"\\\",\\\"upload_time\\\":1619268097},\\\"user\\\":{\\\"head_url\\\":\\\"https:\\\\\\/\\\\\\/i1.hdslb.com\\\\\\/bfs\\\\\\/face\\\\\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\\\",\\\"name\\\":\\\"哔哩哔哩漫画\\\",\\\"uid\\\":326499679,\\\"vip\\\":{\\\"avatar_subscript\\\":1,\\\"due_date\\\":1941033600000,\\\"label\\\":{\\\"label_theme\\\":\\\"ten_annual_vip\\\",\\\"path\\\":\\\"\\\",\\\"text\\\":\\\"十年大会员\\\"},\\\"nickname_color\\\":\\\"#FB7299\\\",\\\"status\\\":1,\\\"theme_type\\\":0,\\\"type\\\":2,\\\"vip_pay_type\\\":0}}}\", \"origin_extension\": { \"lott\": \"{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"}\" }, \"origin_extend_json\": \"{\\\"ctrl\\\":[{\\\"data\\\":\\\"5\\\",\\\"length\\\":0,\\\"location\\\":0,\\\"type\\\":2}],\\\"from\\\":{\\\"emoji_type\\\":1,\\\"from\\\":\\\"\\\",\\\"up_close_comment\\\":0,\\\"verify\\\":{\\\"asw\\\":{\\\"fl\\\":15,\\\"nv\\\":1},\\\"cc\\\":{\\\"vf\\\":1},\\\"sw\\\":{\\\"fl\\\":15,\\\"nv\\\":1}}},\\\"like_icon\\\":{\\\"action\\\":\\\"\\\",\\\"action_url\\\":\\\"\\\",\\\"end\\\":\\\"\\\",\\\"end_url\\\":\\\"\\\",\\\"start\\\":\\\"\\\",\\\"start_url\\\":\\\"\\\"},\\\"lott\\\":{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"},\\\"topic\\\":{\\\"is_attach_topic\\\":1}}\", \"origin_user\": { \"info\": { \"uid\": 326499679, \"uname\": \"哔哩哔哩漫画\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\" }, \"card\": { \"official_verify\": { \"type\": 1, \"desc\": \"哔哩哔哩漫画官方账号\" } }, \"vip\": { \"vipType\": 2, \"vipDueDate\": 1941033600000, \"vipStatus\": 1, \"themeType\": 0, \"label\": { \"path\": \"\", \"text\": \"十年大会员\", \"label_theme\": \"ten_annual_vip\", \"text_color\": \"#FFFFFF\", \"bg_style\": 1, \"bg_color\": \"#FB7299\", \"border_color\": \"\" }, \"avatar_subscript\": 1, \"nickname_color\": \"#FB7299\", \"role\": 7, \"avatar_subscript_url\": \"https:\\/\\/i0.hdslb.com\\/bfs\\/vip\\/icon_Certification_big_member_22_3x.png\" }, \"pendant\": { \"pid\": 0, \"name\": \"\", \"image\": \"\", \"expire\": 0, \"image_enhance\": \"\", \"image_enhance_frame\": \"\" }, \"rank\": \"10000\", \"sign\": \"↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑\", \"level_info\": { \"current_level\": 6 } } }", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"create.comment\",\"up_close_comment\":0},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "origin": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[干杯]", - "id": 1949, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[干杯]", - "url": "https://i0.hdslb.com/bfs/emote/8da12d5f55a2c7e9778dcc05b40571979fe208e6.png", - "meta": { - "size": 1 - }, - "mtime": 1597738918 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 326499679, - "type": 2, - "rid": 131489076, - "acl": 0, - "view": 1385233, - "repost": 31, - "comment": 23, - "like": 3737, - "is_liked": 0, - "dynamic_id": 517501494260096644, - "timestamp": 1619328606, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517501494260096644", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131489076" - }, - "card": "{\"item\":{\"at_control\":\"\",\"category\":\"daily\",\"description\":\"【#哔哩哔哩漫画# 限免活动+周边路透】✿ヽ(°▽°)ノ✿ \\n《#天宝伏妖录#》漫画第二卷将在【4月25日至5月2日】限时免费1周[打call][打call],感谢大家一直以来的支持[W-哈哈]!精彩剧情,不容错过!\\n同时之前《#天宝伏妖录#》第三卷活动售卖的周边近期在准备开补款啦~\\n小伙伴们先看看限定周边的实物图透叭(P1-P8)[打call]! 新卷也一直在筹备中,新卷封面同时奉上(P9)! \\n【追漫传送】:https:\\/\\/manga.bilibili.com\\/m\\/detail\\/mc27592 \",\"id\":131489076,\"is_fav\":0,\"pictures\":[{\"img_height\":5046,\"img_size\":16654.3876953125,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/6bcd7a96fe7bc616a7ea334319b58a3ab451cda2.jpg\",\"img_tags\":null,\"img_width\":6728},{\"img_height\":5046,\"img_size\":15713.2236328125,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/41e9e8ed2f181ce84adbb1175dcfc47b6b32d270.jpg\",\"img_tags\":null,\"img_width\":6728},{\"img_height\":5136,\"img_size\":20368.2822265625,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/81936f0dacc1fa63264d18cdba738b3582562cdd.jpg\",\"img_tags\":null,\"img_width\":7705},{\"img_height\":4427,\"img_size\":15909.310546875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/5116024add807a033cf63395683c5b6ade28fbcf.jpg\",\"img_tags\":null,\"img_width\":6641},{\"img_height\":5136,\"img_size\":20431.3994140625,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/61155f325c5a862b0dcdb1dacc95f252ac768a4e.jpg\",\"img_tags\":null,\"img_width\":7705},{\"img_height\":5261,\"img_size\":19335.5029296875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/6f5a7241d8f0093952edf16195b4d0aecfa2c6cd.jpg\",\"img_tags\":null,\"img_width\":7014},{\"img_height\":1408,\"img_size\":4784.3037109375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/0350c791822a980d72450da226b1d61fa7b68c8f.png\",\"img_tags\":null,\"img_width\":1878},{\"img_height\":1408,\"img_size\":4614.8251953125,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/271187137e9973d07f01763a9a41b9b7f25f68fd.png\",\"img_tags\":null,\"img_width\":1878},{\"img_height\":3508,\"img_size\":1452.4482421875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/f818bb197c7cc914ed4c921a6f7488f87ca15faf.jpg\",\"img_tags\":null,\"img_width\":2480}],\"pictures_count\":9,\"reply\":23,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619328606},\"user\":{\"head_url\":\"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\",\"name\":\"哔哩哔哩漫画\",\"uid\":326499679,\"vip\":{\"avatar_subscript\":1,\"due_date\":1941033600000,\"label\":{\"label_theme\":\"ten_annual_vip\",\"path\":\"\",\"text\":\"十年大会员\"},\"nickname_color\":\"#FB7299\",\"status\":1,\"theme_type\":0,\"type\":2,\"vip_pay_type\":0}}}", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"timer.publish\",\"up_close_comment\":0,\"verify\":{\"cc\":{\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 3812656, - "topic_name": "天宝伏妖录", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/62601" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[W-哈哈]", - "id": 3045, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[W-哈哈]", - "url": "https://i0.hdslb.com/bfs/emote/83d527303c8f62f494e6971c48836487e7d87b1b.png", - "meta": { - "size": 1 - }, - "mtime": 1608785082 - }, - { - "emoji_name": "[打call]", - "id": 510, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[打call]", - "url": "https://i0.hdslb.com/bfs/emote/431432c43da3ee5aab5b0e4f8931953e649e9975.png", - "meta": { - "size": 1 - }, - "mtime": 1617293741 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 1902548007, - "type": 2, - "rid": 131480564, - "acl": 0, - "view": 1056, - "repost": 0, - "comment": 0, - "like": 16, - "is_liked": 0, - "dynamic_id": 517482725259184156, - "timestamp": 1619324236, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 1902548007, - "uname": "BV社", - "face": "https://i0.hdslb.com/bfs/face/48f8e6afa688e37b9f1e3721a86bea8ce02688dc.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "BV社官方账号" - } - }, - "vip": { - "vipType": 0, - "vipDueDate": 0, - "vipStatus": 0, - "themeType": 0, - "label": { - "path": "", - "text": "", - "label_theme": "", - "text_color": "", - "bg_style": 0, - "bg_color": "", - "border_color": "" - }, - "avatar_subscript": 0, - "nickname_color": "", - "role": 0, - "avatar_subscript_url": "" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "Vomic,让你爱的漫画更动听", - "level_info": { - "current_level": 2 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517482725259184156", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131480564" - }, - "card": "{\"item\":{\"at_control\":\"[{\\\"location\\\":122,\\\"type\\\":1,\\\"length\\\":8,\\\"data\\\":\\\"326499679\\\"},{\\\"location\\\":133,\\\"type\\\":1,\\\"length\\\":5,\\\"data\\\":\\\"1902548007\\\"},{\\\"location\\\":141,\\\"type\\\":1,\\\"length\\\":9,\\\"data\\\":\\\"386135764\\\"},{\\\"location\\\":153,\\\"type\\\":1,\\\"length\\\":6,\\\"data\\\":\\\"1740792\\\"}]\",\"category\":\"daily\",\"description\":\"#哔哩哔哩漫画#独家\\n“女鬼”找上门,却是为了救人?\\n“养尸地?那是啥?里面有宝贝嘛?”\\n“有凶尸。”\\n哟,父子俩这是什么情况?\\n惊奇 #Vomic##幽冥诡匠#第五集正式上线!每周日更新!更多精彩,小剧场,花絮,尽在哔哩哔哩漫画APP\\n出品:@哔哩哔哩漫画\\n策划:@BV社\\n制作:@回声漫响工作室\\n录制:@音熊联萌 \",\"id\":131480564,\"is_fav\":0,\"pictures\":[{\"img_height\":2400,\"img_size\":2852.115234375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/cb7632509c8cb8a7703f5ab289320b26a07ec62e.jpg\",\"img_tags\":null,\"img_width\":2400}],\"pictures_count\":1,\"reply\":0,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619324236},\"user\":{\"head_url\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/face\\/48f8e6afa688e37b9f1e3721a86bea8ce02688dc.jpg\",\"name\":\"BV社\",\"uid\":1902548007,\"vip\":{\"avatar_subscript\":0,\"due_date\":0,\"label\":{\"label_theme\":\"\",\"path\":\"\",\"text\":\"\"},\"nickname_color\":\"\",\"status\":0,\"theme_type\":0,\"type\":0,\"vip_pay_type\":0}}}", - "extend_json": "{\"ctrl\":[{\"data\":\"326499679\",\"length\":8,\"location\":122,\"type\":1},{\"data\":\"1902548007\",\"length\":5,\"location\":133,\"type\":1},{\"data\":\"386135764\",\"length\":9,\"location\":141,\"type\":1},{\"data\":\"1740792\",\"length\":6,\"location\":153,\"type\":1}],\"from\":{\"emoji_type\":1,\"from\":\"create.dynamic.web\",\"up_close_comment\":0,\"verify\":{\"asw\":{\"fl\":15,\"nv\":1},\"sw\":{\"fl\":15,\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 3208432, - "topic_name": "Vomic", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/106426" - }, - { - "topic_id": 7128092, - "topic_name": "幽冥诡匠", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/42527" - }, - { - "topic_id": 37542, - "topic_name": "VOMIC", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/106283" - }, - { - "topic_id": 8972604, - "topic_name": "vomic", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/106766" - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 255495142, - "type": 1, - "rid": 517480856950088884, - "acl": 0, - "view": 331, - "repost": 0, - "comment": 0, - "like": 0, - "is_liked": 0, - "dynamic_id": 517480856947349138, - "timestamp": 1619323801, - "pre_dy_id": 517479366596833835, - "orig_dy_id": 517479366596833835, - "orig_type": 2, - "user_profile": { - "info": { - "uid": 255495142, - "uname": "坐怀不乱登徒子", - "face": "https://i1.hdslb.com/bfs/face/fa18d118f6c58da704400909743fb895c4c47627.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1626451200000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "年度大会员", - "label_theme": "annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 3, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 204, - "name": "至高守护", - "image": "https://i1.hdslb.com/bfs/face/88162662c23c2768c9e9e5c25017375685e83798.png", - "expire": 0, - "image_enhance": "https://i1.hdslb.com/bfs/face/88162662c23c2768c9e9e5c25017375685e83798.png", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "", - "level_info": { - "current_level": 5 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517480856947349138", - "pre_dy_id_str": "517479366596833835", - "orig_dy_id_str": "517479366596833835", - "rid_str": "517480856950088884", - "origin": { - "uid": 326499679, - "type": 2, - "rid": 131479206, - "acl": 1024, - "view": 1379492, - "repost": 11233, - "comment": 573, - "like": 6337, - "is_liked": 0, - "dynamic_id": 517479366596833835, - "timestamp": 1619323454, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "r_type": 1, - "status": 1, - "dynamic_id_str": "517479366596833835", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131479206" - } - }, - "card": "{ \"user\": { \"uid\": 255495142, \"uname\": \"坐怀不乱登徒子\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/fa18d118f6c58da704400909743fb895c4c47627.jpg\" }, \"item\": { \"rp_id\": 517480856950088884, \"uid\": 255495142, \"content\": \"[doge]#哔哩哔哩漫画#,#AISHA#\", \"orig_dy_id\": 517479366596833835, \"pre_dy_id\": 517479366596833835, \"timestamp\": 1619323801, \"reply\": 0, \"orig_type\": 2 }, \"origin\": \"{\\\"item\\\":{\\\"at_control\\\":\\\"[{\\\\\\\"data\\\\\\\":\\\\\\\"5\\\\\\\",\\\\\\\"length\\\\\\\":0,\\\\\\\"location\\\\\\\":0,\\\\\\\"type\\\\\\\":2},{\\\\\\\"location\\\\\\\":19,\\\\\\\"type\\\\\\\":1,\\\\\\\"length\\\\\\\":8,\\\\\\\"data\\\\\\\":\\\\\\\"1425490690\\\\\\\"}]\\\",\\\"category\\\":\\\"daily\\\",\\\"description\\\":\\\"​互动抽奖 关+转,抽3位幸运小伙伴送@漫画家法吉特 【《逆光》画集作者签名版】~\\\\n #哔哩哔哩漫画#重磅安利之《#AISHA#》\\\\n当当当当!剧情党福音~\\\\n答题就有机会赢得礼物?还有法吉特太太亲签精美画集?\\\\n活动入口→https:\\\\\\/\\\\\\/www.bilibili.com\\\\\\/blackboard\\\\\\/topic\\\\\\/activity-oPISh007wv.html\\\\n\\\\n你以为这样就结束了了吗?\\\\nNONONO~\\\\n法吉特老师首次出版个人作品集《逆光》~商城4月25日0点首发开售!\\\\n有法吉特老师签名版掉落哦!随书额外附赠专属书签特典!\\\\n活动指路:哔哩哔哩漫画APP-我的-商城-banner\\\",\\\"id\\\":131479206,\\\"is_fav\\\":0,\\\"pictures\\\":[{\\\"img_height\\\":782,\\\"img_size\\\":1097.2451171875,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/8965a784f77e2545f4f2f168df4f417ed3ace818.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":750}],\\\"pictures_count\\\":1,\\\"reply\\\":573,\\\"role\\\":[],\\\"settings\\\":{\\\"copy_forbidden\\\":\\\"0\\\"},\\\"source\\\":[],\\\"title\\\":\\\"\\\",\\\"upload_time\\\":1619323454},\\\"user\\\":{\\\"head_url\\\":\\\"https:\\\\\\/\\\\\\/i1.hdslb.com\\\\\\/bfs\\\\\\/face\\\\\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\\\",\\\"name\\\":\\\"哔哩哔哩漫画\\\",\\\"uid\\\":326499679,\\\"vip\\\":{\\\"avatar_subscript\\\":1,\\\"due_date\\\":1941033600000,\\\"label\\\":{\\\"label_theme\\\":\\\"ten_annual_vip\\\",\\\"path\\\":\\\"\\\",\\\"text\\\":\\\"十年大会员\\\"},\\\"nickname_color\\\":\\\"#FB7299\\\",\\\"status\\\":1,\\\"theme_type\\\":0,\\\"type\\\":2,\\\"vip_pay_type\\\":0}}}\", \"origin_extension\": { \"lott\": \"{\\\"lottery_id\\\":61398}\" }, \"origin_extend_json\": \"{\\\"ctrl\\\":[{\\\"data\\\":\\\"5\\\",\\\"length\\\":0,\\\"location\\\":0,\\\"type\\\":2},{\\\"data\\\":\\\"1425490690\\\",\\\"length\\\":8,\\\"location\\\":19,\\\"type\\\":1}],\\\"from\\\":{\\\"emoji_type\\\":1,\\\"from\\\":\\\"create.dynamic.web\\\",\\\"up_close_comment\\\":0,\\\"verify\\\":{\\\"asw\\\":{\\\"fl\\\":15,\\\"nv\\\":1},\\\"cc\\\":{\\\"vf\\\":1},\\\"sw\\\":{\\\"fl\\\":15,\\\"nv\\\":1}}},\\\"like_icon\\\":{\\\"action\\\":\\\"\\\",\\\"action_url\\\":\\\"\\\",\\\"end\\\":\\\"\\\",\\\"end_url\\\":\\\"\\\",\\\"start\\\":\\\"\\\",\\\"start_url\\\":\\\"\\\"},\\\"lott\\\":{\\\"lottery_id\\\":61398},\\\"topic\\\":{\\\"is_attach_topic\\\":1}}\", \"origin_user\": { \"info\": { \"uid\": 326499679, \"uname\": \"哔哩哔哩漫画\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\" }, \"card\": { \"official_verify\": { \"type\": 1, \"desc\": \"哔哩哔哩漫画官方账号\" } }, \"vip\": { \"vipType\": 2, \"vipDueDate\": 1941033600000, \"vipStatus\": 1, \"themeType\": 0, \"label\": { \"path\": \"\", \"text\": \"十年大会员\", \"label_theme\": \"ten_annual_vip\", \"text_color\": \"#FFFFFF\", \"bg_style\": 1, \"bg_color\": \"#FB7299\", \"border_color\": \"\" }, \"avatar_subscript\": 1, \"nickname_color\": \"#FB7299\", \"role\": 7, \"avatar_subscript_url\": \"https:\\/\\/i0.hdslb.com\\/bfs\\/vip\\/icon_Certification_big_member_22_3x.png\" }, \"pendant\": { \"pid\": 0, \"name\": \"\", \"image\": \"\", \"expire\": 0, \"image_enhance\": \"\", \"image_enhance_frame\": \"\" }, \"rank\": \"10000\", \"sign\": \"↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑\", \"level_info\": { \"current_level\": 6 } } }", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"create.comment\",\"up_close_comment\":0},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 148830, - "topic_name": "AISHA", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/18159" - }, - { - "topic_id": 2514603, - "topic_name": "aisha", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "origin": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 148830, - "topic_name": "AISHA", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/18159" - }, - { - "topic_id": 2514603, - "topic_name": "aisha", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[doge]", - "id": 26, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[doge]", - "url": "https://i0.hdslb.com/bfs/emote/3087d273a78ccaff4bb1e9972e2ba2a7583c9f11.png", - "meta": { - "size": 1 - }, - "mtime": 1617293741 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 326499679, - "type": 2, - "rid": 131479206, - "acl": 1024, - "view": 1379492, - "repost": 11233, - "comment": 573, - "like": 6337, - "is_liked": 0, - "dynamic_id": 517479366596833835, - "timestamp": 1619323454, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "r_type": 1, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517479366596833835", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131479206" - }, - "card": "{\"item\":{\"at_control\":\"[{\\\"data\\\":\\\"5\\\",\\\"length\\\":0,\\\"location\\\":0,\\\"type\\\":2},{\\\"location\\\":19,\\\"type\\\":1,\\\"length\\\":8,\\\"data\\\":\\\"1425490690\\\"}]\",\"category\":\"daily\",\"description\":\"​互动抽奖 关+转,抽3位幸运小伙伴送@漫画家法吉特 【《逆光》画集作者签名版】~\\n #哔哩哔哩漫画#重磅安利之《#AISHA#》\\n当当当当!剧情党福音~\\n答题就有机会赢得礼物?还有法吉特太太亲签精美画集?\\n活动入口→https:\\/\\/www.bilibili.com\\/blackboard\\/topic\\/activity-oPISh007wv.html\\n\\n你以为这样就结束了了吗?\\nNONONO~\\n法吉特老师首次出版个人作品集《逆光》~商城4月25日0点首发开售!\\n有法吉特老师签名版掉落哦!随书额外附赠专属书签特典!\\n活动指路:哔哩哔哩漫画APP-我的-商城-banner\",\"id\":131479206,\"is_fav\":0,\"pictures\":[{\"img_height\":782,\"img_size\":1097.2451171875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/8965a784f77e2545f4f2f168df4f417ed3ace818.png\",\"img_tags\":null,\"img_width\":750}],\"pictures_count\":1,\"reply\":573,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619323454},\"user\":{\"head_url\":\"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\",\"name\":\"哔哩哔哩漫画\",\"uid\":326499679,\"vip\":{\"avatar_subscript\":1,\"due_date\":1941033600000,\"label\":{\"label_theme\":\"ten_annual_vip\",\"path\":\"\",\"text\":\"十年大会员\"},\"nickname_color\":\"#FB7299\",\"status\":1,\"theme_type\":0,\"type\":2,\"vip_pay_type\":0}}}", - "extension": { - "lott": "{\"lottery_id\":61398}" - }, - "extend_json": "{\"ctrl\":[{\"data\":\"5\",\"length\":0,\"location\":0,\"type\":2},{\"data\":\"1425490690\",\"length\":8,\"location\":19,\"type\":1}],\"from\":{\"emoji_type\":1,\"from\":\"create.dynamic.web\",\"up_close_comment\":0,\"verify\":{\"asw\":{\"fl\":15,\"nv\":1},\"cc\":{\"vf\":1},\"sw\":{\"fl\":15,\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"lott\":{\"lottery_id\":61398},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 148830, - "topic_name": "AISHA", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/18159" - }, - { - "topic_id": 2514603, - "topic_name": "aisha", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 271873076, - "type": 2, - "rid": 131468623, - "acl": 0, - "view": 22, - "repost": 0, - "comment": 0, - "like": 0, - "is_liked": 0, - "dynamic_id": 517452016241823721, - "timestamp": 1619317086, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 271873076, - "uname": "爱乐果iLEGUO", - "face": "https://i2.hdslb.com/bfs/face/fb79ac0f6de92c8ecc7d4cd1e958d19376c85fe8.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 0, - "vipDueDate": 0, - "vipStatus": 0, - "themeType": 0, - "label": { - "path": "", - "text": "", - "label_theme": "", - "text_color": "", - "bg_style": 0, - "bg_color": "", - "border_color": "" - }, - "avatar_subscript": 0, - "nickname_color": "", - "role": 0, - "avatar_subscript_url": "" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "龙俦纪+羞耻侠+妖怪IDOLS+偶像饲养手册+闪亮的家+神奇少年团+第8界+爱果系列+爱次元!研究社", - "level_info": { - "current_level": 4 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517452016241823721", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131468623" - }, - "card": "{\"item\":{\"at_control\":\"\",\"category\":\"daily\",\"description\":\"《龙俦纪》第99话4月25日更新!\\n高振采药遇险,竟然从悬崖上坠入万丈深渊?!!\\n苏郃首次展现能力,苏千屹又从苏郃身上发现了什么秘密?\\n《龙俦纪》正在好评连载中,逢“五”更新,欢迎追漫!\\n#哔哩哔哩漫画# https:\\/\\/manga.bilibili.com\\/m\\/detail\\/mc26014 \\n#宝藏漫画##爱乐果##漫画##二次元##古风##玄幻##二次元条漫# \",\"id\":131468623,\"is_fav\":0,\"pictures\":[{\"img_height\":720,\"img_size\":297.19140625,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/54e4f9e0c339f42484fcbe42cb7e7f69be4b87aa.jpg\",\"img_tags\":null,\"img_width\":1280}],\"pictures_count\":1,\"reply\":0,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619317086},\"user\":{\"head_url\":\"https:\\/\\/i2.hdslb.com\\/bfs\\/face\\/fb79ac0f6de92c8ecc7d4cd1e958d19376c85fe8.jpg\",\"name\":\"爱乐果iLEGUO\",\"uid\":271873076,\"vip\":{\"avatar_subscript\":0,\"due_date\":0,\"label\":{\"label_theme\":\"\",\"path\":\"\",\"text\":\"\"},\"nickname_color\":\"\",\"status\":0,\"theme_type\":0,\"type\":0,\"vip_pay_type\":0}}}", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"timer.publish\",\"up_close_comment\":0,\"verify\":{}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 10182306, - "topic_name": "宝藏漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 9628017, - "topic_name": "爱乐果", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 1184, - "topic_name": "漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 1907, - "topic_name": "二次元", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/7694" - }, - { - "topic_id": 8227, - "topic_name": "古风", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 62935, - "topic_name": "玄幻", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 12532729, - "topic_name": "二次元条漫", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 1677019, - "type": 1, - "rid": 517443572335742626, - "acl": 0, - "view": 3, - "repost": 0, - "comment": 0, - "like": 0, - "is_liked": 0, - "dynamic_id": 517443572332941328, - "timestamp": 1619315120, - "pre_dy_id": 517241610091321208, - "orig_dy_id": 517241610091321208, - "orig_type": 2, - "user_profile": { - "info": { - "uid": 1677019, - "uname": "逗妇卤", - "face": "https://i1.hdslb.com/bfs/face/15a8f5d8c93f8f30bda71f192b92cfde2c76a1c7.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1637510400000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "年度大会员", - "label_theme": "annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 3, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "", - "level_info": { - "current_level": 5 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517443572332941328", - "pre_dy_id_str": "517241610091321208", - "orig_dy_id_str": "517241610091321208", - "rid_str": "517443572335742626", - "origin": { - "uid": 326499679, - "type": 2, - "rid": 131403515, - "acl": 1024, - "view": 1951519, - "repost": 16543, - "comment": 1003, - "like": 6950, - "is_liked": 0, - "dynamic_id": 517241610091321208, - "timestamp": 1619268097, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "r_type": 1, - "status": 1, - "dynamic_id_str": "517241610091321208", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131403515" - } - }, - "card": "{ \"user\": { \"uid\": 1677019, \"uname\": \"逗妇卤\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/15a8f5d8c93f8f30bda71f192b92cfde2c76a1c7.jpg\" }, \"item\": { \"rp_id\": 517443572335742626, \"uid\": 1677019, \"content\": \"【关+转】抽1位小伙伴送【哔哩哔哩小电视兔子包】~\\n【#哔哩哔哩漫画# 作品推荐】大量西幻少女漫爆更来啦———\\n[干杯] 即日起,《重生成为公爵家的丑女》《暴君的监护人是反派魔女》《姐姐捡回了男主》等大量西幻少女精品漫画爆更,追漫更有樱花立牌\\/玩偶等福利好礼相送!\\n[干杯] 快来哔哩哔哩漫画追漫吧~\", \"orig_dy_id\": 517241610091321208, \"pre_dy_id\": 517241610091321208, \"timestamp\": 1619315120, \"reply\": 0, \"orig_type\": 2 }, \"origin\": \"{\\\"item\\\":{\\\"at_control\\\":\\\"[{\\\\\\\"type\\\\\\\":2,\\\\\\\"location\\\\\\\":0,\\\\\\\"length\\\\\\\":0,\\\\\\\"data\\\\\\\":\\\\\\\"5\\\\\\\"}]\\\",\\\"category\\\":\\\"daily\\\",\\\"description\\\":\\\"​互动抽奖 【关+转】抽1位小伙伴送【哔哩哔哩小电视兔子包】~\\\\n【#哔哩哔哩漫画# 作品推荐】大量西幻少女漫爆更来啦———\\\\n[干杯] 即日起,《重生成为公爵家的丑女》《暴君的监护人是反派魔女》《姐姐捡回了男主》等大量西幻少女精品漫画爆更,追漫更有樱花立牌\\\\\\/玩偶等福利好礼相送!\\\\n[干杯] 快来哔哩哔哩漫画追漫吧~\\\",\\\"id\\\":131403515,\\\"is_fav\\\":0,\\\"pictures\\\":[{\\\"img_height\\\":1357,\\\"img_size\\\":1759.1650390625,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/1ce565e7f36e0ae5a3809df21bb39aa2fe578a88.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":1238,\\\"img_size\\\":832.51953125,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/6df0150c77a7f42a5d31cce8bb006105a660dad9.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":2193,\\\"img_size\\\":3424.060546875,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/adce81c59436184b56d84e5394583d2ab491b2e6.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":800,\\\"img_size\\\":166.1552734375,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/9c4e8d6fc04d5a1f3df225d5967fb65c7a3f5f09.jpg\\\",\\\"img_tags\\\":null,\\\"img_width\\\":800}],\\\"pictures_count\\\":4,\\\"reply\\\":1003,\\\"role\\\":[],\\\"settings\\\":{\\\"copy_forbidden\\\":\\\"0\\\"},\\\"source\\\":[],\\\"title\\\":\\\"\\\",\\\"upload_time\\\":1619268097},\\\"user\\\":{\\\"head_url\\\":\\\"https:\\\\\\/\\\\\\/i1.hdslb.com\\\\\\/bfs\\\\\\/face\\\\\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\\\",\\\"name\\\":\\\"哔哩哔哩漫画\\\",\\\"uid\\\":326499679,\\\"vip\\\":{\\\"avatar_subscript\\\":1,\\\"due_date\\\":1941033600000,\\\"label\\\":{\\\"label_theme\\\":\\\"ten_annual_vip\\\",\\\"path\\\":\\\"\\\",\\\"text\\\":\\\"十年大会员\\\"},\\\"nickname_color\\\":\\\"#FB7299\\\",\\\"status\\\":1,\\\"theme_type\\\":0,\\\"type\\\":2,\\\"vip_pay_type\\\":0}}}\", \"origin_extension\": { \"lott\": \"{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"}\" }, \"origin_extend_json\": \"{\\\"ctrl\\\":[{\\\"data\\\":\\\"5\\\",\\\"length\\\":0,\\\"location\\\":0,\\\"type\\\":2}],\\\"from\\\":{\\\"emoji_type\\\":1,\\\"from\\\":\\\"\\\",\\\"up_close_comment\\\":0,\\\"verify\\\":{\\\"asw\\\":{\\\"fl\\\":15,\\\"nv\\\":1},\\\"cc\\\":{\\\"vf\\\":1},\\\"sw\\\":{\\\"fl\\\":15,\\\"nv\\\":1}}},\\\"like_icon\\\":{\\\"action\\\":\\\"\\\",\\\"action_url\\\":\\\"\\\",\\\"end\\\":\\\"\\\",\\\"end_url\\\":\\\"\\\",\\\"start\\\":\\\"\\\",\\\"start_url\\\":\\\"\\\"},\\\"lott\\\":{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"},\\\"topic\\\":{\\\"is_attach_topic\\\":1}}\", \"origin_user\": { \"info\": { \"uid\": 326499679, \"uname\": \"哔哩哔哩漫画\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\" }, \"card\": { \"official_verify\": { \"type\": 1, \"desc\": \"哔哩哔哩漫画官方账号\" } }, \"vip\": { \"vipType\": 2, \"vipDueDate\": 1941033600000, \"vipStatus\": 1, \"themeType\": 0, \"label\": { \"path\": \"\", \"text\": \"十年大会员\", \"label_theme\": \"ten_annual_vip\", \"text_color\": \"#FFFFFF\", \"bg_style\": 1, \"bg_color\": \"#FB7299\", \"border_color\": \"\" }, \"avatar_subscript\": 1, \"nickname_color\": \"#FB7299\", \"role\": 7, \"avatar_subscript_url\": \"https:\\/\\/i0.hdslb.com\\/bfs\\/vip\\/icon_Certification_big_member_22_3x.png\" }, \"pendant\": { \"pid\": 0, \"name\": \"\", \"image\": \"\", \"expire\": 0, \"image_enhance\": \"\", \"image_enhance_frame\": \"\" }, \"rank\": \"10000\", \"sign\": \"↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑\", \"level_info\": { \"current_level\": 6 } } }", - "extend_json": "{\"from\":{\"emoji_type\":1,\"up_close_comment\":0,\"verify\":{\"asw\":{\"fl\":15,\"nv\":1},\"sw\":{\"fl\":15,\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "origin": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[干杯]", - "id": 1949, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[干杯]", - "url": "https://i0.hdslb.com/bfs/emote/8da12d5f55a2c7e9778dcc05b40571979fe208e6.png", - "meta": { - "size": 1 - }, - "mtime": 1597738918 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[干杯]", - "id": 1949, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[干杯]", - "url": "https://i0.hdslb.com/bfs/emote/8da12d5f55a2c7e9778dcc05b40571979fe208e6.png", - "meta": { - "size": 1 - }, - "mtime": 1597738918 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 324540735, - "type": 8, - "rid": 672631542, - "acl": 0, - "view": 29, - "repost": 0, - "like": 1, - "is_liked": 0, - "dynamic_id": 517311278755293659, - "timestamp": 1619284318, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 324540735, - "uname": "文雯兄", - "face": "https://i0.hdslb.com/bfs/face/8000d5ad4652f8bf9074781a108eb54243a06889.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 1, - "vipDueDate": 1613491200000, - "vipStatus": 0, - "themeType": 0, - "label": { - "path": "", - "text": "", - "label_theme": "", - "text_color": "", - "bg_style": 0, - "bg_color": "", - "border_color": "" - }, - "avatar_subscript": 0, - "nickname_color": "", - "role": 0, - "avatar_subscript_url": "" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "游说万乘苦不早,著鞭跨马涉远道。", - "level_info": { - "current_level": 4 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517311278755293659", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "672631542", - "bvid": "BV1dU4y1h78A" - }, - "card": "{\"aid\":672631542,\"attribute\":0,\"cid\":328783995,\"copyright\":1,\"ctime\":1619284318,\"desc\":\"本漫画由哔哩哔哩漫画出品,本人配音,谢谢大家的支持。\",\"dimension\":{\"height\":1920,\"rotate\":0,\"width\":864},\"duration\":191,\"dynamic\":\"\",\"item\":{\"at_control\":\"\"},\"jump_url\":\"bilibili:\\/\\/video\\/672631542\\/?page=1&player_preload=null&player_width=864&player_height=1920&player_rotate=0\",\"mission_id\":18978,\"owner\":{\"face\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/face\\/8000d5ad4652f8bf9074781a108eb54243a06889.jpg\",\"mid\":324540735,\"name\":\"文雯兄\"},\"pic\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/archive\\/b2d2dc3a909696ea1db3fbfeeb7ab42dc37ced87.jpg\",\"player_info\":null,\"pubdate\":1619284318,\"rights\":{\"autoplay\":1,\"bp\":0,\"download\":0,\"elec\":0,\"hd5\":0,\"is_cooperation\":0,\"movie\":0,\"no_background\":0,\"no_reprint\":1,\"pay\":0,\"ugc_pay\":0,\"ugc_pay_preview\":0},\"short_link\":\"https:\\/\\/b23.tv\\/BV1dU4y1h78A\",\"short_link_v2\":\"https:\\/\\/b23.tv\\/BV1dU4y1h78A\",\"stat\":{\"aid\":672631542,\"coin\":0,\"danmaku\":0,\"dislike\":0,\"favorite\":0,\"his_rank\":0,\"like\":1,\"now_rank\":0,\"reply\":0,\"share\":0,\"view\":10},\"state\":0,\"tid\":138,\"title\":\"怎么办,我穿越成最弱小野怪了(三十九)【关于我不当人的这件事】\",\"tname\":\"搞笑\",\"up_from_v2\":8,\"videos\":1}", - "extend_json": "{\"\":{\"ogv\":{\"ogv_id\":0}},\"dispute\":{\"content\":\"\"},\"from\":{\"from\":\"\"},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 19254944, - "topic_name": "火力配音王-配音剧场", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/108663" - }, - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 3844, - "topic_name": "穿越", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 1833, - "topic_name": "搞笑", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 1217, - "topic_name": "自制", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 1184, - "topic_name": "漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "usr_action_txt": "投稿了视频", - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - }, - "cover_play_icon_url": "https://i0.hdslb.com/bfs/album/2269afa7897830b397797ebe5f032b899b405c67.png" - } - }, - { - "desc": { - "uid": 326499679, - "type": 8, - "rid": 972719486, - "acl": 0, - "view": 2745390, - "repost": 4, - "like": 5879, - "is_liked": 0, - "dynamic_id": 517261895213635612, - "timestamp": 1619272820, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF",- - "orig_dy_id_str": "0", - "rid_str": "972719486", - "bvid": "BV1Gp4y1b7ZB" - }, - "card": "{\"aid\":972719486,\"attribute\":0,\"cid\":328058863,\"copyright\":1,\"ctime\":1619272820,\"desc\":\"#反派初始化# #Vomic#\\n圈圈叉叉,桃树开花,花瓣落下,生出新芽。\\n@哔哩哔哩漫画 出品、@BV社 策划、 @Antler_墨柚 原作、@叉叉叉叉叉口叉 主笔、@补天研究所 制作、@音熊联萌 录制、Vomic《反派初始化》第二集正式上线!\\n哔哩哔哩漫画独家播放,每周六更新!\\n还有小剧场,花絮不定时掉落、敬请期待~\\n\\n出品:@哔哩哔哩漫画\\n策划:@BV社\\n制作:@补天研究所\\n录制:@音熊联萌\",\"dimension\":{\"height\":1080,\"rotate\":0,\"width\":1920},\"duration\":62,\"dynamic\":\"#哔哩哔哩漫画#独家,#Vomic#2021年4月3日起每周六更新!更多精彩,小剧场,花絮,尽在哔哩哔哩漫画APP\",\"item\":{\"at_control\":\"\"},\"jump_url\":\"bilibili:\\/\\/video\\/972719486\\/?page=1&player_preload=null&player_width=1920&player_height=1080&player_rotate=0\",\"owner\":{\"face\":\"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\",\"mid\":326499679,\"name\":\"哔哩哔哩漫画\"},\"pic\":\"https:\\/\\/i2.hdslb.com\\/bfs\\/archive\\/3c8a720b809153f95b1134acb991011eb79dc80b.jpg\",\"player_info\":null,\"pubdate\":1619272819,\"rights\":{\"autoplay\":1,\"bp\":0,\"download\":0,\"elec\":0,\"hd5\":1,\"is_cooperation\":0,\"movie\":0,\"no_background\":0,\"no_reprint\":1,\"pay\":0,\"ugc_pay\":0,\"ugc_pay_preview\":0},\"short_link\":\"https:\\/\\/b23.tv\\/BV1Gp4y1b7ZB\",\"short_link_v2\":\"https:\\/\\/b23.tv\\/BV1Gp4y1b7ZB\",\"stat\":{\"aid\":972719486,\"coin\":115,\"danmaku\":4,\"dislike\":0,\"favorite\":43,\"his_rank\":0,\"like\":5879,\"now_rank\":0,\"reply\":36,\"share\":145,\"view\":31840},\"state\":0,\"tid\":27,\"title\":\"【Vomic】滴——《反派初始化》第二集精彩片段!\",\"tname\":\"综合\",\"videos\":1}", - "extend_json": "{\"\":{\"ogv\":{\"ogv_id\":0}},\"dispute\":{\"content\":\"\"},\"from\":{\"from\":\"\",\"verify\":{}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 3208432, - "topic_name": "Vomic", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/106426" - }, - { - "topic_id": 37542, - "topic_name": "VOMIC", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/106283" - }, - { - "topic_id": 8972604, - "topic_name": "vomic", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/106766" - }, - { - "topic_id": 210754, - "topic_name": "夏磊", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 10526139, - "topic_name": "反派初始化", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 1322133, - "topic_name": "赵路", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 423864, - "topic_name": "音熊联萌", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/17389" - } - ] - }, - "usr_action_txt": "投稿了视频", - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - }, - "cover_play_icon_url": "https://i0.hdslb.com/bfs/album/2269afa7897830b397797ebe5f032b899b405c67.png" - } - }, - { - "desc": { - "uid": 255495142, - "type": 1, - "rid": 517243774753706830, - "acl": 0, - "view": 8, - "repost": 0, - "comment": 0, - "like": 0, - "is_liked": 0, - "dynamic_id": 517243774755903256, - "timestamp": 1619268601, - "pre_dy_id": 517241610091321208, - "orig_dy_id": 517241610091321208, - "orig_type": 2, - "user_profile": { - "info": { - "uid": 255495142, - "uname": "坐怀不乱登徒子", - "face": "https://i1.hdslb.com/bfs/face/fa18d118f6c58da704400909743fb895c4c47627.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1626451200000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "年度大会员", - "label_theme": "annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 3, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 204, - "name": "至高守护", - "image": "https://i1.hdslb.com/bfs/face/88162662c23c2768c9e9e5c25017375685e83798.png", - "expire": 0, - "image_enhance": "https://i1.hdslb.com/bfs/face/88162662c23c2768c9e9e5c25017375685e83798.png", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "", - "level_info": { - "current_level": 5 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517243774755903256", - "pre_dy_id_str": "517241610091321208", - "orig_dy_id_str": "517241610091321208", - "rid_str": "517243774753706830", - "origin": { - "uid": 326499679, - "type": 2, - "rid": 131403515, - "acl": 1024, - "view": 1951519, - "repost": 16543, - "comment": 1003, - "like": 6950, - "is_liked": 0, - "dynamic_id": 517241610091321208, - "timestamp": 1619268097, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "r_type": 1, - "status": 1, - "dynamic_id_str": "517241610091321208", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131403515" - } - }, - "card": "{ \"user\": { \"uid\": 255495142, \"uname\": \"坐怀不乱登徒子\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/fa18d118f6c58da704400909743fb895c4c47627.jpg\" }, \"item\": { \"rp_id\": 517243774753706830, \"uid\": 255495142, \"content\": \"冲冲冲#哔哩哔哩漫画#\", \"orig_dy_id\": 517241610091321208, \"pre_dy_id\": 517241610091321208, \"timestamp\": 1619268601, \"reply\": 0, \"orig_type\": 2 }, \"origin\": \"{\\\"item\\\":{\\\"at_control\\\":\\\"[{\\\\\\\"type\\\\\\\":2,\\\\\\\"location\\\\\\\":0,\\\\\\\"length\\\\\\\":0,\\\\\\\"data\\\\\\\":\\\\\\\"5\\\\\\\"}]\\\",\\\"category\\\":\\\"daily\\\",\\\"description\\\":\\\"​互动抽奖 【关+转】抽1位小伙伴送【哔哩哔哩小电视兔子包】~\\\\n【#哔哩哔哩漫画# 作品推荐】大量西幻少女漫爆更来啦———\\\\n[干杯] 即日起,《重生成为公爵家的丑女》《暴君的监护人是反派魔女》《姐姐捡回了男主》等大量西幻少女精品漫画爆更,追漫更有樱花立牌\\\\\\/玩偶等福利好礼相送!\\\\n[干杯] 快来哔哩哔哩漫画追漫吧~\\\",\\\"id\\\":131403515,\\\"is_fav\\\":0,\\\"pictures\\\":[{\\\"img_height\\\":1357,\\\"img_size\\\":1759.1650390625,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/1ce565e7f36e0ae5a3809df21bb39aa2fe578a88.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":1238,\\\"img_size\\\":832.51953125,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/6df0150c77a7f42a5d31cce8bb006105a660dad9.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":2193,\\\"img_size\\\":3424.060546875,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/adce81c59436184b56d84e5394583d2ab491b2e6.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":800,\\\"img_size\\\":166.1552734375,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/9c4e8d6fc04d5a1f3df225d5967fb65c7a3f5f09.jpg\\\",\\\"img_tags\\\":null,\\\"img_width\\\":800}],\\\"pictures_count\\\":4,\\\"reply\\\":1003,\\\"role\\\":[],\\\"settings\\\":{\\\"copy_forbidden\\\":\\\"0\\\"},\\\"source\\\":[],\\\"title\\\":\\\"\\\",\\\"upload_time\\\":1619268097},\\\"user\\\":{\\\"head_url\\\":\\\"https:\\\\\\/\\\\\\/i1.hdslb.com\\\\\\/bfs\\\\\\/face\\\\\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\\\",\\\"name\\\":\\\"哔哩哔哩漫画\\\",\\\"uid\\\":326499679,\\\"vip\\\":{\\\"avatar_subscript\\\":1,\\\"due_date\\\":1941033600000,\\\"label\\\":{\\\"label_theme\\\":\\\"ten_annual_vip\\\",\\\"path\\\":\\\"\\\",\\\"text\\\":\\\"十年大会员\\\"},\\\"nickname_color\\\":\\\"#FB7299\\\",\\\"status\\\":1,\\\"theme_type\\\":0,\\\"type\\\":2,\\\"vip_pay_type\\\":0}}}\", \"origin_extension\": { \"lott\": \"{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"}\" }, \"origin_extend_json\": \"{\\\"ctrl\\\":[{\\\"data\\\":\\\"5\\\",\\\"length\\\":0,\\\"location\\\":0,\\\"type\\\":2}],\\\"from\\\":{\\\"emoji_type\\\":1,\\\"from\\\":\\\"\\\",\\\"up_close_comment\\\":0,\\\"verify\\\":{\\\"asw\\\":{\\\"fl\\\":15,\\\"nv\\\":1},\\\"cc\\\":{\\\"vf\\\":1},\\\"sw\\\":{\\\"fl\\\":15,\\\"nv\\\":1}}},\\\"like_icon\\\":{\\\"action\\\":\\\"\\\",\\\"action_url\\\":\\\"\\\",\\\"end\\\":\\\"\\\",\\\"end_url\\\":\\\"\\\",\\\"start\\\":\\\"\\\",\\\"start_url\\\":\\\"\\\"},\\\"lott\\\":{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"},\\\"topic\\\":{\\\"is_attach_topic\\\":1}}\", \"origin_user\": { \"info\": { \"uid\": 326499679, \"uname\": \"哔哩哔哩漫画\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\" }, \"card\": { \"official_verify\": { \"type\": 1, \"desc\": \"哔哩哔哩漫画官方账号\" } }, \"vip\": { \"vipType\": 2, \"vipDueDate\": 1941033600000, \"vipStatus\": 1, \"themeType\": 0, \"label\": { \"path\": \"\", \"text\": \"十年大会员\", \"label_theme\": \"ten_annual_vip\", \"text_color\": \"#FFFFFF\", \"bg_style\": 1, \"bg_color\": \"#FB7299\", \"border_color\": \"\" }, \"avatar_subscript\": 1, \"nickname_color\": \"#FB7299\", \"role\": 7, \"avatar_subscript_url\": \"https:\\/\\/i0.hdslb.com\\/bfs\\/vip\\/icon_Certification_big_member_22_3x.png\" }, \"pendant\": { \"pid\": 0, \"name\": \"\", \"image\": \"\", \"expire\": 0, \"image_enhance\": \"\", \"image_enhance_frame\": \"\" }, \"rank\": \"10000\", \"sign\": \"↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑\", \"level_info\": { \"current_level\": 6 } } }", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"create.comment\",\"up_close_comment\":0},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "origin": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[干杯]", - "id": 1949, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[干杯]", - "url": "https://i0.hdslb.com/bfs/emote/8da12d5f55a2c7e9778dcc05b40571979fe208e6.png", - "meta": { - "size": 1 - }, - "mtime": 1597738918 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 335270851, - "type": 1, - "rid": 517243658786443535, - "acl": 0, - "view": 24, - "repost": 0, - "comment": 0, - "like": 1, - "is_liked": 0, - "dynamic_id": 517243658790736702, - "timestamp": 1619268574, - "pre_dy_id": 517241610091321208, - "orig_dy_id": 517241610091321208, - "orig_type": 2, - "user_profile": { - "info": { - "uid": 335270851, - "uname": "符号门", - "face": "https://i1.hdslb.com/bfs/face/67371311c9e047543a70c1d41e7a03c3854f2981.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1647014400000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "年度大会员", - "label_theme": "annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 3, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "", - "level_info": { - "current_level": 4 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517243658790736702", - "pre_dy_id_str": "517241610091321208", - "orig_dy_id_str": "517241610091321208", - "rid_str": "517243658786443535", - "origin": { - "uid": 326499679, - "type": 2, - "rid": 131403515, - "acl": 1024, - "view": 1951519, - "repost": 16543, - "comment": 1003, - "like": 6950, - "is_liked": 0, - "dynamic_id": 517241610091321208, - "timestamp": 1619268097, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "r_type": 1, - "status": 1, - "dynamic_id_str": "517241610091321208", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131403515" - } - }, - "card": "{ \"user\": { \"uid\": 335270851, \"uname\": \"符号门\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/67371311c9e047543a70c1d41e7a03c3854f2981.jpg\" }, \"item\": { \"rp_id\": 517243658786443535, \"uid\": 335270851, \"content\": \"#哔哩哔哩漫画#[打call][打call][打call]\", \"orig_dy_id\": 517241610091321208, \"pre_dy_id\": 517241610091321208, \"timestamp\": 1619268574, \"reply\": 0, \"orig_type\": 2 }, \"origin\": \"{\\\"item\\\":{\\\"at_control\\\":\\\"[{\\\\\\\"type\\\\\\\":2,\\\\\\\"location\\\\\\\":0,\\\\\\\"length\\\\\\\":0,\\\\\\\"data\\\\\\\":\\\\\\\"5\\\\\\\"}]\\\",\\\"category\\\":\\\"daily\\\",\\\"description\\\":\\\"​互动抽奖 【关+转】抽1位小伙伴送【哔哩哔哩小电视兔子包】~\\\\n【#哔哩哔哩漫画# 作品推荐】大量西幻少女漫爆更来啦———\\\\n[干杯] 即日起,《重生成为公爵家的丑女》《暴君的监护人是反派魔女》《姐姐捡回了男主》等大量西幻少女精品漫画爆更,追漫更有樱花立牌\\\\\\/玩偶等福利好礼相送!\\\\n[干杯] 快来哔哩哔哩漫画追漫吧~\\\",\\\"id\\\":131403515,\\\"is_fav\\\":0,\\\"pictures\\\":[{\\\"img_height\\\":1357,\\\"img_size\\\":1759.1650390625,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/1ce565e7f36e0ae5a3809df21bb39aa2fe578a88.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":1238,\\\"img_size\\\":832.51953125,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/6df0150c77a7f42a5d31cce8bb006105a660dad9.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":2193,\\\"img_size\\\":3424.060546875,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/adce81c59436184b56d84e5394583d2ab491b2e6.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":800,\\\"img_size\\\":166.1552734375,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/9c4e8d6fc04d5a1f3df225d5967fb65c7a3f5f09.jpg\\\",\\\"img_tags\\\":null,\\\"img_width\\\":800}],\\\"pictures_count\\\":4,\\\"reply\\\":1003,\\\"role\\\":[],\\\"settings\\\":{\\\"copy_forbidden\\\":\\\"0\\\"},\\\"source\\\":[],\\\"title\\\":\\\"\\\",\\\"upload_time\\\":1619268097},\\\"user\\\":{\\\"head_url\\\":\\\"https:\\\\\\/\\\\\\/i1.hdslb.com\\\\\\/bfs\\\\\\/face\\\\\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\\\",\\\"name\\\":\\\"哔哩哔哩漫画\\\",\\\"uid\\\":326499679,\\\"vip\\\":{\\\"avatar_subscript\\\":1,\\\"due_date\\\":1941033600000,\\\"label\\\":{\\\"label_theme\\\":\\\"ten_annual_vip\\\",\\\"path\\\":\\\"\\\",\\\"text\\\":\\\"十年大会员\\\"},\\\"nickname_color\\\":\\\"#FB7299\\\",\\\"status\\\":1,\\\"theme_type\\\":0,\\\"type\\\":2,\\\"vip_pay_type\\\":0}}}\", \"origin_extension\": { \"lott\": \"{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"}\" }, \"origin_extend_json\": \"{\\\"ctrl\\\":[{\\\"data\\\":\\\"5\\\",\\\"length\\\":0,\\\"location\\\":0,\\\"type\\\":2}],\\\"from\\\":{\\\"emoji_type\\\":1,\\\"from\\\":\\\"\\\",\\\"up_close_comment\\\":0,\\\"verify\\\":{\\\"asw\\\":{\\\"fl\\\":15,\\\"nv\\\":1},\\\"cc\\\":{\\\"vf\\\":1},\\\"sw\\\":{\\\"fl\\\":15,\\\"nv\\\":1}}},\\\"like_icon\\\":{\\\"action\\\":\\\"\\\",\\\"action_url\\\":\\\"\\\",\\\"end\\\":\\\"\\\",\\\"end_url\\\":\\\"\\\",\\\"start\\\":\\\"\\\",\\\"start_url\\\":\\\"\\\"},\\\"lott\\\":{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"},\\\"topic\\\":{\\\"is_attach_topic\\\":1}}\", \"origin_user\": { \"info\": { \"uid\": 326499679, \"uname\": \"哔哩哔哩漫画\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\" }, \"card\": { \"official_verify\": { \"type\": 1, \"desc\": \"哔哩哔哩漫画官方账号\" } }, \"vip\": { \"vipType\": 2, \"vipDueDate\": 1941033600000, \"vipStatus\": 1, \"themeType\": 0, \"label\": { \"path\": \"\", \"text\": \"十年大会员\", \"label_theme\": \"ten_annual_vip\", \"text_color\": \"#FFFFFF\", \"bg_style\": 1, \"bg_color\": \"#FB7299\", \"border_color\": \"\" }, \"avatar_subscript\": 1, \"nickname_color\": \"#FB7299\", \"role\": 7, \"avatar_subscript_url\": \"https:\\/\\/i0.hdslb.com\\/bfs\\/vip\\/icon_Certification_big_member_22_3x.png\" }, \"pendant\": { \"pid\": 0, \"name\": \"\", \"image\": \"\", \"expire\": 0, \"image_enhance\": \"\", \"image_enhance_frame\": \"\" }, \"rank\": \"10000\", \"sign\": \"↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑\", \"level_info\": { \"current_level\": 6 } } }", - "extend_json": "{\"from\":{\"emoji_type\":1,\"up_close_comment\":0},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "origin": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[干杯]", - "id": 1949, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[干杯]", - "url": "https://i0.hdslb.com/bfs/emote/8da12d5f55a2c7e9778dcc05b40571979fe208e6.png", - "meta": { - "size": 1 - }, - "mtime": 1597738918 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[打call]", - "id": 510, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[打call]", - "url": "https://i0.hdslb.com/bfs/emote/431432c43da3ee5aab5b0e4f8931953e649e9975.png", - "meta": { - "size": 1 - }, - "mtime": 1617293741 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 326499679, - "type": 2, - "rid": 131403515, - "acl": 1024, - "view": 1951519, - "repost": 16543, - "comment": 1003, - "like": 6950, - "is_liked": 0, - "dynamic_id": 517241610091321208, - "timestamp": 1619268097, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "r_type": 1, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517241610091321208", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131403515" - }, - "card": "{\"item\":{\"at_control\":\"[{\\\"type\\\":2,\\\"location\\\":0,\\\"length\\\":0,\\\"data\\\":\\\"5\\\"}]\",\"category\":\"daily\",\"description\":\"​互动抽奖 【关+转】抽1位小伙伴送【哔哩哔哩小电视兔子包】~\\n【#哔哩哔哩漫画# 作品推荐】大量西幻少女漫爆更来啦———\\n[干杯] 即日起,《重生成为公爵家的丑女》《暴君的监护人是反派魔女》《姐姐捡回了男主》等大量西幻少女精品漫画爆更,追漫更有樱花立牌\\/玩偶等福利好礼相送!\\n[干杯] 快来哔哩哔哩漫画追漫吧~\",\"id\":131403515,\"is_fav\":0,\"pictures\":[{\"img_height\":1357,\"img_size\":1759.1650390625,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/1ce565e7f36e0ae5a3809df21bb39aa2fe578a88.png\",\"img_tags\":null,\"img_width\":1080},{\"img_height\":1238,\"img_size\":832.51953125,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/6df0150c77a7f42a5d31cce8bb006105a660dad9.png\",\"img_tags\":null,\"img_width\":1080},{\"img_height\":2193,\"img_size\":3424.060546875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/adce81c59436184b56d84e5394583d2ab491b2e6.png\",\"img_tags\":null,\"img_width\":1080},{\"img_height\":800,\"img_size\":166.1552734375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/9c4e8d6fc04d5a1f3df225d5967fb65c7a3f5f09.jpg\",\"img_tags\":null,\"img_width\":800}],\"pictures_count\":4,\"reply\":1003,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619268097},\"user\":{\"head_url\":\"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\",\"name\":\"哔哩哔哩漫画\",\"uid\":326499679,\"vip\":{\"avatar_subscript\":1,\"due_date\":1941033600000,\"label\":{\"label_theme\":\"ten_annual_vip\",\"path\":\"\",\"text\":\"十年大会员\"},\"nickname_color\":\"#FB7299\",\"status\":1,\"theme_type\":0,\"type\":2,\"vip_pay_type\":0}}}", - "extension": { - "lott": "{\"callbackId\":10,\"lottery_id\":61382,\"lottery_time\":1620504000,\"title\":\"互动抽奖\"}" - }, - "extend_json": "{\"ctrl\":[{\"data\":\"5\",\"length\":0,\"location\":0,\"type\":2}],\"from\":{\"emoji_type\":1,\"from\":\"\",\"up_close_comment\":0,\"verify\":{\"asw\":{\"fl\":15,\"nv\":1},\"cc\":{\"vf\":1},\"sw\":{\"fl\":15,\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"lott\":{\"callbackId\":10,\"lottery_id\":61382,\"lottery_time\":1620504000,\"title\":\"互动抽奖\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[干杯]", - "id": 1949, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[干杯]", - "url": "https://i0.hdslb.com/bfs/emote/8da12d5f55a2c7e9778dcc05b40571979fe208e6.png", - "meta": { - "size": 1 - }, - "mtime": 1597738918 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 326499679, - "type": 2, - "rid": 131384529, - "acl": 0, - "view": 1599049, - "repost": 5, - "comment": 63, - "like": 4614, - "is_liked": 0, - "dynamic_id": 517215462328123502, - "timestamp": 1619262009, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517215462328123502", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131384529" - }, - "card": "{\"item\":{\"at_control\":\"\",\"category\":\"daily\",\"description\":\"【#哔哩哔哩漫画# 近期更新】(`・ω・´)\\nP1《#辉夜大小姐想让我告白# ~天才们的恋爱头脑战~ 》:https:\\/\\/manga.bilibili.com\\/m\\/detail\\/mc26009\\nP2《#入间同学入魔了#!》:https:\\/\\/manga.bilibili.com\\/m\\/detail\\/mc27189\\nP3《催眠麦克风-Division Rap Battle- side D.H&B.A.T》\\nP4《他和她的魔法契约》\\nP5《瓦尼塔斯的手记》\\nP6《见面5秒开始战斗》\\nP7《魔气来袭》\\nP8《尖帽子的魔法工坊》 \",\"id\":131384529,\"is_fav\":0,\"pictures\":[{\"img_height\":2920,\"img_size\":1993.103515625,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/24a3e5d04e8ad86fcdae48e6ee88f90a0351f82d.jpg\",\"img_tags\":null,\"img_width\":2000},{\"img_height\":2872,\"img_size\":2453.1513671875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/d512d771dd3f91b54733f104e5de7e38d61ef56c.jpg\",\"img_tags\":null,\"img_width\":2000},{\"img_height\":2806,\"img_size\":4156.140625,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/119fe01717120eb9c8c04d2c48a22298c8f88d17.jpg\",\"img_tags\":null,\"img_width\":2000},{\"img_height\":1147,\"img_size\":152.23046875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/d2fb2a6d2229a03ea967ee2182faefd67b0811fd.jpg\",\"img_tags\":null,\"img_width\":800},{\"img_height\":2637,\"img_size\":10432.2978515625,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/e8966e96d34938474eebfcf60f38e14932e09be4.jpg\",\"img_tags\":null,\"img_width\":3600},{\"img_height\":2268,\"img_size\":6175.017578125,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/4ed99d7329108e9e585db49da63a56bdcf7e8670.jpg\",\"img_tags\":null,\"img_width\":3200},{\"img_height\":1461,\"img_size\":283.990234375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/a8f37ec732103b1912fd3448d06d610cae5486df.jpg\",\"img_tags\":null,\"img_width\":800},{\"img_height\":2871,\"img_size\":3639.478515625,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/fe8e58fd4f7c7063f880f064b3366e758dbfd7ee.jpg\",\"img_tags\":null,\"img_width\":2000}],\"pictures_count\":8,\"reply\":63,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619262009},\"user\":{\"head_url\":\"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\",\"name\":\"哔哩哔哩漫画\",\"uid\":326499679,\"vip\":{\"avatar_subscript\":1,\"due_date\":1941033600000,\"label\":{\"label_theme\":\"ten_annual_vip\",\"path\":\"\",\"text\":\"十年大会员\"},\"nickname_color\":\"#FB7299\",\"status\":1,\"theme_type\":0,\"type\":2,\"vip_pay_type\":0}}}", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"timer.publish\",\"up_close_comment\":0,\"verify\":{\"cc\":{\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 4386628, - "topic_name": "辉夜大小姐想让我告白", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 8724199, - "topic_name": "入间同学入魔了", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/69330" - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - } - ], - "offset": "517215462328123502", - "is_drawer_topic": 0, - "founder_uid": 0, - "_gt_": 0 - } -} -``` - -</details> - -## 获取历史动态列表 -> https://api.vc.bilibili.com/topic_svr/v1/topic_svr/topic_history - - *请求方式:GET* - - -**url参数:** - -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------------ | ---- | ---------- | ------ | -------- | -| topic_name | str | 话题名称 | 必要(可选) | topic_id与topic_name任选一个 | -| topic_id | num | 话题id | 必要(可选) | topic_id与topic_name任选一个 | -| offset_dynamic_id | num | 偏移值 | 必要| 可用于偏移显示的动态列表(为`0`时获取最新动态) | - -**json回复:** - -根对象: - -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | -------- | -| code | num | 返回值 | 0:成功 | -| data | obj | 信息本体 | | -| message | str | 错误信息 | 默认为空 | -| msg | num | 空 | | - -`data`对象: - -| 字段 | 类型 | 内容 | 备注 | -| ----------- | ----- | ---------- | ------------ | -| attentions | obj | 当前登录账户关注列表(仅在传递了登录信息时出现) | | -| cards | array | 动态列表 | | -| has_more | num | 当前话题是否有额外的动态 | 0:无额外动态<br />1:有额外动态 | -| offset | str | 接下来获取列表时的偏移值 | 一般为当前获取的话题列表下最后一个动态id | -| \_gt\_ | num | 0 | 作用尚不明确 | - -`data`中的`cards`数组: - -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ------------- | ---- | -| 0 | obj | 第1条动态卡片 | | -| n | obj | 第(n+1)条动态卡片 | | -| …… | obj | …… | …… | - -`data`中的`cards`数组中的对象: - -基本同「[获取特定动态卡片信息](get_dynamic_detail.md)」中的data对象 - -**示例:** - -获取话题`哔哩哔哩漫画`(话题id`7539944`)的当前动态列表 - -topic_name方式: -```shell -curl -G 'https://api.vc.bilibili.com/topic_svr/v1/topic_svr/topic_history' \ ---data-urlencode 'topic_name=哔哩哔哩漫画&offset_dynamic_id=0' -``` -topic_id方式: -```shell -curl -G 'https://api.vc.bilibili.com/topic_svr/v1/topic_svr/topic_history' \ ---data-urlencode 'topic_id=7539944&offset_dynamic_id=0' -``` - -<details> -<summary>查看响应示例:</summary> - -```json -{ - "code": 0, - "msg": "", - "message": "", - "data": { - "has_more": 1, - "cards": [ - { - "desc": { - "uid": 326499679, - "type": 2, - "rid": 131534120, - "acl": 0, - "view": 555573, - "repost": 9, - "comment": 90, - "like": 2478, - "is_liked": 0, - "dynamic_id": 517602000793534062, - "timestamp": 1619352007, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517602000793534062", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131534120" - }, - "card": "{\"item\":{\"at_control\":\"\",\"category\":\"daily\",\"description\":\"【#哔哩哔哩漫画# 作品推荐】兽人控狂喜!《#不莱梅乐队#》:https:\\/\\/manga.bilibili.com\\/m\\/detail\\/mc28880\\n[思考]大家小时候看过一篇叫做《不莱梅的音乐家》的格林童话吗?\\n[惊喜]只不过在这部#欧漫#里,这四个动物的目的不是赶走强盗,而是追逐梦想、爱情、自由、正义。在这个充满混沌的世界里,他们将用音乐的力量改写自己和他人的命运。 \",\"id\":131534120,\"is_fav\":0,\"pictures\":[{\"img_height\":1922,\"img_size\":1163.9267578125,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/f5a82f03475eed52973b3cecb2b5180b090cc5f0.png\",\"img_tags\":null,\"img_width\":1080},{\"img_height\":757,\"img_size\":273.130859375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/ca4055c7b9c246e7e922190102d5c87cd4dbcea8.png\",\"img_tags\":null,\"img_width\":436},{\"img_height\":1067,\"img_size\":640.29296875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/9de3ece4d374d07fb7b192db4520779a477cdf97.png\",\"img_tags\":null,\"img_width\":542},{\"img_height\":972,\"img_size\":374.8349609375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/cac12d548a3686335d3154cce672f1823ca92517.png\",\"img_tags\":null,\"img_width\":487}],\"pictures_count\":4,\"reply\":90,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619352007},\"user\":{\"head_url\":\"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\",\"name\":\"哔哩哔哩漫画\",\"uid\":326499679,\"vip\":{\"avatar_subscript\":1,\"due_date\":1941033600000,\"label\":{\"label_theme\":\"ten_annual_vip\",\"path\":\"\",\"text\":\"十年大会员\"},\"nickname_color\":\"#FB7299\",\"status\":1,\"theme_type\":0,\"type\":2,\"vip_pay_type\":0}}}", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"timer.publish\",\"up_close_comment\":0,\"verify\":{\"asw\":{\"fl\":15,\"nv\":1},\"cc\":{\"nv\":1},\"sw\":{\"fl\":15,\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 15149492, - "topic_name": "不莱梅乐队", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 507003, - "topic_name": "欧漫", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[思考]", - "id": 1941, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[思考]", - "url": "https://i0.hdslb.com/bfs/emote/cfa9b7e89e4bfe04bbcd34ccb1b0df37f4fa905c.png", - "meta": { - "size": 1 - }, - "mtime": 1597738918 - }, - { - "emoji_name": "[惊喜]", - "id": 19, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[惊喜]", - "url": "https://i0.hdslb.com/bfs/emote/0afecaf3a3499479af946f29749e1a6c285b6f65.png", - "meta": { - "size": 1 - }, - "mtime": 1597738918 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 240911350, - "type": 1, - "rid": 517516389208371264, - "acl": 0, - "view": 251, - "repost": 0, - "comment": 0, - "like": 2, - "is_liked": 0, - "dynamic_id": 517516389214088892, - "timestamp": 1619332074, - "pre_dy_id": 517479366596833835, - "orig_dy_id": 517479366596833835, - "orig_type": 2, - "user_profile": { - "info": { - "uid": 240911350, - "uname": "Kekkai-piano", - "face": "https://i1.hdslb.com/bfs/face/f9b56adf0e9fb16d556fb5af93fc8367a255e4af.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1658851200000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "年度大会员", - "label_theme": "annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 3, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 2511, - "name": "初音未来13周年", - "image": "https://i1.hdslb.com/bfs/garb/item/4f8f3f1f2d47f0dad84f66aa57acd4409ea46361.png", - "expire": 0, - "image_enhance": "https://i1.hdslb.com/bfs/garb/item/fe0b83b53e2342b16646f6e7a9370d8a867decdb.webp", - "image_enhance_frame": "https://i1.hdslb.com/bfs/garb/item/127c507ec8448be30cf5f79500ecc6ef2fd32f2c.png" - }, - "rank": "10000", - "sign": "看动画片的88键音游爱好者 \n专业人士轻喷 \n正在寻找缺失之物 \n超天変地異みたいな狂騒にも慣れて\n高三备考ing,莫要取关(bushi)", - "level_info": { - "current_level": 5 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517516389214088892", - "pre_dy_id_str": "517479366596833835", - "orig_dy_id_str": "517479366596833835", - "rid_str": "517516389208371264", - "origin": { - "uid": 326499679, - "type": 2, - "rid": 131479206, - "acl": 1024, - "view": 1412747, - "repost": 11488, - "dynamic_id": 517479366596833835, - "timestamp": 1619323454, - "uid_type": 1, - "r_type": 1, - "status": 1, - "dynamic_id_str": "517479366596833835", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131479206" - } - }, - "card": "{ \"user\": { \"uid\": 240911350, \"uname\": \"Kekkai-piano\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/f9b56adf0e9fb16d556fb5af93fc8367a255e4af.jpg\" }, \"item\": { \"rp_id\": 517516389208371264, \"uid\": 240911350, \"content\": \"分母报道[doge]#哔哩哔哩漫画#,#AISHA#\", \"orig_dy_id\": 517479366596833835, \"pre_dy_id\": 517479366596833835, \"timestamp\": 1619332074, \"reply\": 0, \"orig_type\": 2 }, \"origin\": \"{\\\"item\\\":{\\\"at_control\\\":\\\"[{\\\\\\\"data\\\\\\\":\\\\\\\"5\\\\\\\",\\\\\\\"length\\\\\\\":0,\\\\\\\"location\\\\\\\":0,\\\\\\\"type\\\\\\\":2},{\\\\\\\"location\\\\\\\":19,\\\\\\\"type\\\\\\\":1,\\\\\\\"length\\\\\\\":8,\\\\\\\"data\\\\\\\":\\\\\\\"1425490690\\\\\\\"}]\\\",\\\"category\\\":\\\"daily\\\",\\\"description\\\":\\\"​互动抽奖 关+转,抽3位幸运小伙伴送@漫画家法吉特 【《逆光》画集作者签名版】~\\\\n #哔哩哔哩漫画#重磅安利之《#AISHA#》\\\\n当当当当!剧情党福音~\\\\n答题就有机会赢得礼物?还有法吉特太太亲签精美画集?\\\\n活动入口→https:\\\\\\/\\\\\\/www.bilibili.com\\\\\\/blackboard\\\\\\/topic\\\\\\/activity-oPISh007wv.html\\\\n\\\\n你以为这样就结束了了吗?\\\\nNONONO~\\\\n法吉特老师首次出版个人作品集《逆光》~商城4月25日0点首发开售!\\\\n有法吉特老师签名版掉落哦!随书额外附赠专属书签特典!\\\\n活动指路:哔哩哔哩漫画APP-我的-商城-banner\\\",\\\"id\\\":131479206,\\\"is_fav\\\":0,\\\"pictures\\\":[{\\\"img_height\\\":782,\\\"img_size\\\":1097.2451171875,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/8965a784f77e2545f4f2f168df4f417ed3ace818.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":750}],\\\"pictures_count\\\":1,\\\"reply\\\":599,\\\"role\\\":[],\\\"settings\\\":{\\\"copy_forbidden\\\":\\\"0\\\"},\\\"source\\\":[],\\\"title\\\":\\\"\\\",\\\"upload_time\\\":1619323454},\\\"user\\\":{\\\"head_url\\\":\\\"https:\\\\\\/\\\\\\/i1.hdslb.com\\\\\\/bfs\\\\\\/face\\\\\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\\\",\\\"name\\\":\\\"哔哩哔哩漫画\\\",\\\"uid\\\":326499679,\\\"vip\\\":{\\\"avatar_subscript\\\":1,\\\"due_date\\\":1941033600000,\\\"label\\\":{\\\"label_theme\\\":\\\"ten_annual_vip\\\",\\\"path\\\":\\\"\\\",\\\"text\\\":\\\"十年大会员\\\"},\\\"nickname_color\\\":\\\"#FB7299\\\",\\\"status\\\":1,\\\"theme_type\\\":0,\\\"type\\\":2,\\\"vip_pay_type\\\":0}}}\", \"origin_extension\": { \"lott\": \"{\\\"lottery_id\\\":61398}\" }, \"origin_extend_json\": \"{\\\"ctrl\\\":[{\\\"data\\\":\\\"5\\\",\\\"length\\\":0,\\\"location\\\":0,\\\"type\\\":2},{\\\"data\\\":\\\"1425490690\\\",\\\"length\\\":8,\\\"location\\\":19,\\\"type\\\":1}],\\\"from\\\":{\\\"emoji_type\\\":1,\\\"from\\\":\\\"create.dynamic.web\\\",\\\"up_close_comment\\\":0,\\\"verify\\\":{\\\"asw\\\":{\\\"fl\\\":15,\\\"nv\\\":1},\\\"cc\\\":{\\\"vf\\\":1},\\\"sw\\\":{\\\"fl\\\":15,\\\"nv\\\":1}}},\\\"like_icon\\\":{\\\"action\\\":\\\"\\\",\\\"action_url\\\":\\\"\\\",\\\"end\\\":\\\"\\\",\\\"end_url\\\":\\\"\\\",\\\"start\\\":\\\"\\\",\\\"start_url\\\":\\\"\\\"},\\\"lott\\\":{\\\"lottery_id\\\":61398},\\\"topic\\\":{\\\"is_attach_topic\\\":1}}\", \"origin_user\": { \"info\": { \"uid\": 326499679, \"uname\": \"哔哩哔哩漫画\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\" }, \"card\": { \"official_verify\": { \"type\": 1, \"desc\": \"哔哩哔哩漫画官方账号\" } }, \"vip\": { \"vipType\": 2, \"vipDueDate\": 1941033600000, \"vipStatus\": 1, \"themeType\": 0, \"label\": { \"path\": \"\", \"text\": \"十年大会员\", \"label_theme\": \"ten_annual_vip\", \"text_color\": \"#FFFFFF\", \"bg_style\": 1, \"bg_color\": \"#FB7299\", \"border_color\": \"\" }, \"avatar_subscript\": 1, \"nickname_color\": \"#FB7299\", \"role\": 7, \"avatar_subscript_url\": \"https:\\/\\/i0.hdslb.com\\/bfs\\/vip\\/icon_Certification_big_member_22_3x.png\" }, \"pendant\": { \"pid\": 0, \"name\": \"\", \"image\": \"\", \"expire\": 0, \"image_enhance\": \"\", \"image_enhance_frame\": \"\" }, \"rank\": \"10000\", \"sign\": \"↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑\", \"level_info\": { \"current_level\": 6 } } }", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"create.comment\",\"up_close_comment\":0},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 148830, - "topic_name": "AISHA", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/18159" - }, - { - "topic_id": 2514603, - "topic_name": "aisha", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "origin": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 148830, - "topic_name": "AISHA", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/18159" - }, - { - "topic_id": 2514603, - "topic_name": "aisha", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[doge]", - "id": 26, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[doge]", - "url": "https://i0.hdslb.com/bfs/emote/3087d273a78ccaff4bb1e9972e2ba2a7583c9f11.png", - "meta": { - "size": 1 - }, - "mtime": 1617293741 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 1192711092, - "type": 1, - "rid": 517505230885402892, - "acl": 0, - "view": 3, - "repost": 0, - "comment": 0, - "like": 0, - "is_liked": 0, - "dynamic_id": 517505230886905525, - "timestamp": 1619329476, - "pre_dy_id": 517241610091321208, - "orig_dy_id": 517241610091321208, - "orig_type": 2, - "user_profile": { - "info": { - "uid": 1192711092, - "uname": "会发光的偶恰", - "face": "https://i0.hdslb.com/bfs/face/b85a508793bd96deec61e2491d60e68f10378395.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 0, - "vipDueDate": 0, - "vipStatus": 0, - "themeType": 0, - "label": { - "path": "", - "text": "", - "label_theme": "", - "text_color": "", - "bg_style": 0, - "bg_color": "", - "border_color": "" - }, - "avatar_subscript": 0, - "nickname_color": "", - "role": 0, - "avatar_subscript_url": "" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "", - "level_info": { - "current_level": 3 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517505230886905525", - "pre_dy_id_str": "517241610091321208", - "orig_dy_id_str": "517241610091321208", - "rid_str": "517505230885402892", - "origin": { - "uid": 326499679, - "type": 2, - "rid": 131403515, - "acl": 1024, - "view": 1962092, - "repost": 16607, - "dynamic_id": 517241610091321208, - "timestamp": 1619268097, - "uid_type": 1, - "r_type": 1, - "status": 1, - "dynamic_id_str": "517241610091321208", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131403515" - } - }, - "card": "{ \"user\": { \"uid\": 1192711092, \"uname\": \"会发光的偶恰\", \"face\": \"https:\\/\\/i0.hdslb.com\\/bfs\\/face\\/b85a508793bd96deec61e2491d60e68f10378395.jpg\" }, \"item\": { \"rp_id\": 517505230885402892, \"uid\": 1192711092, \"content\": \"我最喜欢这个了,我也想要#哔哩哔哩漫画#\", \"orig_dy_id\": 517241610091321208, \"pre_dy_id\": 517241610091321208, \"timestamp\": 1619329476, \"reply\": 0, \"orig_type\": 2 }, \"origin\": \"{\\\"item\\\":{\\\"at_control\\\":\\\"[{\\\\\\\"type\\\\\\\":2,\\\\\\\"location\\\\\\\":0,\\\\\\\"length\\\\\\\":0,\\\\\\\"data\\\\\\\":\\\\\\\"5\\\\\\\"}]\\\",\\\"category\\\":\\\"daily\\\",\\\"description\\\":\\\"​互动抽奖 【关+转】抽1位小伙伴送【哔哩哔哩小电视兔子包】~\\\\n【#哔哩哔哩漫画# 作品推荐】大量西幻少女漫爆更来啦———\\\\n[干杯] 即日起,《重生成为公爵家的丑女》《暴君的监护人是反派魔女》《姐姐捡回了男主》等大量西幻少女精品漫画爆更,追漫更有樱花立牌\\\\\\/玩偶等福利好礼相送!\\\\n[干杯] 快来哔哩哔哩漫画追漫吧~\\\",\\\"id\\\":131403515,\\\"is_fav\\\":0,\\\"pictures\\\":[{\\\"img_height\\\":1357,\\\"img_size\\\":1759.1650390625,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/1ce565e7f36e0ae5a3809df21bb39aa2fe578a88.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":1238,\\\"img_size\\\":832.51953125,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/6df0150c77a7f42a5d31cce8bb006105a660dad9.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":2193,\\\"img_size\\\":3424.060546875,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/adce81c59436184b56d84e5394583d2ab491b2e6.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":800,\\\"img_size\\\":166.1552734375,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/9c4e8d6fc04d5a1f3df225d5967fb65c7a3f5f09.jpg\\\",\\\"img_tags\\\":null,\\\"img_width\\\":800}],\\\"pictures_count\\\":4,\\\"reply\\\":1020,\\\"role\\\":[],\\\"settings\\\":{\\\"copy_forbidden\\\":\\\"0\\\"},\\\"source\\\":[],\\\"title\\\":\\\"\\\",\\\"upload_time\\\":1619268097},\\\"user\\\":{\\\"head_url\\\":\\\"https:\\\\\\/\\\\\\/i1.hdslb.com\\\\\\/bfs\\\\\\/face\\\\\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\\\",\\\"name\\\":\\\"哔哩哔哩漫画\\\",\\\"uid\\\":326499679,\\\"vip\\\":{\\\"avatar_subscript\\\":1,\\\"due_date\\\":1941033600000,\\\"label\\\":{\\\"label_theme\\\":\\\"ten_annual_vip\\\",\\\"path\\\":\\\"\\\",\\\"text\\\":\\\"十年大会员\\\"},\\\"nickname_color\\\":\\\"#FB7299\\\",\\\"status\\\":1,\\\"theme_type\\\":0,\\\"type\\\":2,\\\"vip_pay_type\\\":0}}}\", \"origin_extension\": { \"lott\": \"{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"}\" }, \"origin_extend_json\": \"{\\\"ctrl\\\":[{\\\"data\\\":\\\"5\\\",\\\"length\\\":0,\\\"location\\\":0,\\\"type\\\":2}],\\\"from\\\":{\\\"emoji_type\\\":1,\\\"from\\\":\\\"\\\",\\\"up_close_comment\\\":0,\\\"verify\\\":{\\\"asw\\\":{\\\"fl\\\":15,\\\"nv\\\":1},\\\"cc\\\":{\\\"vf\\\":1},\\\"sw\\\":{\\\"fl\\\":15,\\\"nv\\\":1}}},\\\"like_icon\\\":{\\\"action\\\":\\\"\\\",\\\"action_url\\\":\\\"\\\",\\\"end\\\":\\\"\\\",\\\"end_url\\\":\\\"\\\",\\\"start\\\":\\\"\\\",\\\"start_url\\\":\\\"\\\"},\\\"lott\\\":{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"},\\\"topic\\\":{\\\"is_attach_topic\\\":1}}\", \"origin_user\": { \"info\": { \"uid\": 326499679, \"uname\": \"哔哩哔哩漫画\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\" }, \"card\": { \"official_verify\": { \"type\": 1, \"desc\": \"哔哩哔哩漫画官方账号\" } }, \"vip\": { \"vipType\": 2, \"vipDueDate\": 1941033600000, \"vipStatus\": 1, \"themeType\": 0, \"label\": { \"path\": \"\", \"text\": \"十年大会员\", \"label_theme\": \"ten_annual_vip\", \"text_color\": \"#FFFFFF\", \"bg_style\": 1, \"bg_color\": \"#FB7299\", \"border_color\": \"\" }, \"avatar_subscript\": 1, \"nickname_color\": \"#FB7299\", \"role\": 7, \"avatar_subscript_url\": \"https:\\/\\/i0.hdslb.com\\/bfs\\/vip\\/icon_Certification_big_member_22_3x.png\" }, \"pendant\": { \"pid\": 0, \"name\": \"\", \"image\": \"\", \"expire\": 0, \"image_enhance\": \"\", \"image_enhance_frame\": \"\" }, \"rank\": \"10000\", \"sign\": \"↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑\", \"level_info\": { \"current_level\": 6 } } }", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"create.comment\",\"up_close_comment\":0},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "origin": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[干杯]", - "id": 1949, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[干杯]", - "url": "https://i0.hdslb.com/bfs/emote/8da12d5f55a2c7e9778dcc05b40571979fe208e6.png", - "meta": { - "size": 1 - }, - "mtime": 1597738918 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 1365116, - "type": 1, - "rid": 517503525787575777, - "acl": 0, - "view": 2, - "repost": 0, - "comment": 0, - "like": 0, - "is_liked": 0, - "dynamic_id": 517503525779637979, - "timestamp": 1619329079, - "pre_dy_id": 517241610091321208, - "orig_dy_id": 517241610091321208, - "orig_type": 2, - "user_profile": { - "info": { - "uid": 1365116, - "uname": "濑户的海参", - "face": "https://i2.hdslb.com/bfs/face/8426c61be9c3ccd2296d080a54691c3bed5f2f9f.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 0, - "vipDueDate": 0, - "vipStatus": 0, - "themeType": 0, - "label": { - "path": "", - "text": "", - "label_theme": "", - "text_color": "", - "bg_style": 0, - "bg_color": "", - "border_color": "" - }, - "avatar_subscript": 0, - "nickname_color": "", - "role": 0, - "avatar_subscript_url": "" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "", - "level_info": { - "current_level": 5 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517503525779637979", - "pre_dy_id_str": "517241610091321208", - "orig_dy_id_str": "517241610091321208", - "rid_str": "517503525787575777", - "origin": { - "uid": 326499679, - "type": 2, - "rid": 131403515, - "acl": 1024, - "view": 1962092, - "repost": 16607, - "dynamic_id": 517241610091321208, - "timestamp": 1619268097, - "uid_type": 1, - "r_type": 1, - "status": 1, - "dynamic_id_str": "517241610091321208", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131403515" - } - }, - "card": "{ \"user\": { \"uid\": 1365116, \"uname\": \"濑户的海参\", \"face\": \"https:\\/\\/i2.hdslb.com\\/bfs\\/face\\/8426c61be9c3ccd2296d080a54691c3bed5f2f9f.jpg\" }, \"item\": { \"rp_id\": 517503525787575777, \"uid\": 1365116, \"content\": \"嗯哼#哔哩哔哩漫画#\", \"orig_dy_id\": 517241610091321208, \"pre_dy_id\": 517241610091321208, \"timestamp\": 1619329079, \"reply\": 0, \"orig_type\": 2 }, \"origin\": \"{\\\"item\\\":{\\\"at_control\\\":\\\"[{\\\\\\\"type\\\\\\\":2,\\\\\\\"location\\\\\\\":0,\\\\\\\"length\\\\\\\":0,\\\\\\\"data\\\\\\\":\\\\\\\"5\\\\\\\"}]\\\",\\\"category\\\":\\\"daily\\\",\\\"description\\\":\\\"​互动抽奖 【关+转】抽1位小伙伴送【哔哩哔哩小电视兔子包】~\\\\n【#哔哩哔哩漫画# 作品推荐】大量西幻少女漫爆更来啦———\\\\n[干杯] 即日起,《重生成为公爵家的丑女》《暴君的监护人是反派魔女》《姐姐捡回了男主》等大量西幻少女精品漫画爆更,追漫更有樱花立牌\\\\\\/玩偶等福利好礼相送!\\\\n[干杯] 快来哔哩哔哩漫画追漫吧~\\\",\\\"id\\\":131403515,\\\"is_fav\\\":0,\\\"pictures\\\":[{\\\"img_height\\\":1357,\\\"img_size\\\":1759.1650390625,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/1ce565e7f36e0ae5a3809df21bb39aa2fe578a88.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":1238,\\\"img_size\\\":832.51953125,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/6df0150c77a7f42a5d31cce8bb006105a660dad9.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":2193,\\\"img_size\\\":3424.060546875,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/adce81c59436184b56d84e5394583d2ab491b2e6.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":800,\\\"img_size\\\":166.1552734375,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/9c4e8d6fc04d5a1f3df225d5967fb65c7a3f5f09.jpg\\\",\\\"img_tags\\\":null,\\\"img_width\\\":800}],\\\"pictures_count\\\":4,\\\"reply\\\":1020,\\\"role\\\":[],\\\"settings\\\":{\\\"copy_forbidden\\\":\\\"0\\\"},\\\"source\\\":[],\\\"title\\\":\\\"\\\",\\\"upload_time\\\":1619268097},\\\"user\\\":{\\\"head_url\\\":\\\"https:\\\\\\/\\\\\\/i1.hdslb.com\\\\\\/bfs\\\\\\/face\\\\\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\\\",\\\"name\\\":\\\"哔哩哔哩漫画\\\",\\\"uid\\\":326499679,\\\"vip\\\":{\\\"avatar_subscript\\\":1,\\\"due_date\\\":1941033600000,\\\"label\\\":{\\\"label_theme\\\":\\\"ten_annual_vip\\\",\\\"path\\\":\\\"\\\",\\\"text\\\":\\\"十年大会员\\\"},\\\"nickname_color\\\":\\\"#FB7299\\\",\\\"status\\\":1,\\\"theme_type\\\":0,\\\"type\\\":2,\\\"vip_pay_type\\\":0}}}\", \"origin_extension\": { \"lott\": \"{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"}\" }, \"origin_extend_json\": \"{\\\"ctrl\\\":[{\\\"data\\\":\\\"5\\\",\\\"length\\\":0,\\\"location\\\":0,\\\"type\\\":2}],\\\"from\\\":{\\\"emoji_type\\\":1,\\\"from\\\":\\\"\\\",\\\"up_close_comment\\\":0,\\\"verify\\\":{\\\"asw\\\":{\\\"fl\\\":15,\\\"nv\\\":1},\\\"cc\\\":{\\\"vf\\\":1},\\\"sw\\\":{\\\"fl\\\":15,\\\"nv\\\":1}}},\\\"like_icon\\\":{\\\"action\\\":\\\"\\\",\\\"action_url\\\":\\\"\\\",\\\"end\\\":\\\"\\\",\\\"end_url\\\":\\\"\\\",\\\"start\\\":\\\"\\\",\\\"start_url\\\":\\\"\\\"},\\\"lott\\\":{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"},\\\"topic\\\":{\\\"is_attach_topic\\\":1}}\", \"origin_user\": { \"info\": { \"uid\": 326499679, \"uname\": \"哔哩哔哩漫画\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\" }, \"card\": { \"official_verify\": { \"type\": 1, \"desc\": \"哔哩哔哩漫画官方账号\" } }, \"vip\": { \"vipType\": 2, \"vipDueDate\": 1941033600000, \"vipStatus\": 1, \"themeType\": 0, \"label\": { \"path\": \"\", \"text\": \"十年大会员\", \"label_theme\": \"ten_annual_vip\", \"text_color\": \"#FFFFFF\", \"bg_style\": 1, \"bg_color\": \"#FB7299\", \"border_color\": \"\" }, \"avatar_subscript\": 1, \"nickname_color\": \"#FB7299\", \"role\": 7, \"avatar_subscript_url\": \"https:\\/\\/i0.hdslb.com\\/bfs\\/vip\\/icon_Certification_big_member_22_3x.png\" }, \"pendant\": { \"pid\": 0, \"name\": \"\", \"image\": \"\", \"expire\": 0, \"image_enhance\": \"\", \"image_enhance_frame\": \"\" }, \"rank\": \"10000\", \"sign\": \"↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑\", \"level_info\": { \"current_level\": 6 } } }", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"create.comment\",\"up_close_comment\":0},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "origin": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[干杯]", - "id": 1949, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[干杯]", - "url": "https://i0.hdslb.com/bfs/emote/8da12d5f55a2c7e9778dcc05b40571979fe208e6.png", - "meta": { - "size": 1 - }, - "mtime": 1597738918 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 326499679, - "type": 2, - "rid": 131489076, - "acl": 0, - "view": 1429218, - "repost": 34, - "comment": 23, - "like": 3872, - "is_liked": 0, - "dynamic_id": 517501494260096644, - "timestamp": 1619328606, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517501494260096644", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131489076" - }, - "card": "{\"item\":{\"at_control\":\"\",\"category\":\"daily\",\"description\":\"【#哔哩哔哩漫画# 限免活动+周边路透】✿ヽ(°▽°)ノ✿ \\n《#天宝伏妖录#》漫画第二卷将在【4月25日至5月2日】限时免费1周[打call][打call],感谢大家一直以来的支持[W-哈哈]!精彩剧情,不容错过!\\n同时之前《#天宝伏妖录#》第三卷活动售卖的周边近期在准备开补款啦~\\n小伙伴们先看看限定周边的实物图透叭(P1-P8)[打call]! 新卷也一直在筹备中,新卷封面同时奉上(P9)! \\n【追漫传送】:https:\\/\\/manga.bilibili.com\\/m\\/detail\\/mc27592 \",\"id\":131489076,\"is_fav\":0,\"pictures\":[{\"img_height\":5046,\"img_size\":16654.3876953125,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/6bcd7a96fe7bc616a7ea334319b58a3ab451cda2.jpg\",\"img_tags\":null,\"img_width\":6728},{\"img_height\":5046,\"img_size\":15713.2236328125,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/41e9e8ed2f181ce84adbb1175dcfc47b6b32d270.jpg\",\"img_tags\":null,\"img_width\":6728},{\"img_height\":5136,\"img_size\":20368.2822265625,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/81936f0dacc1fa63264d18cdba738b3582562cdd.jpg\",\"img_tags\":null,\"img_width\":7705},{\"img_height\":4427,\"img_size\":15909.310546875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/5116024add807a033cf63395683c5b6ade28fbcf.jpg\",\"img_tags\":null,\"img_width\":6641},{\"img_height\":5136,\"img_size\":20431.3994140625,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/61155f325c5a862b0dcdb1dacc95f252ac768a4e.jpg\",\"img_tags\":null,\"img_width\":7705},{\"img_height\":5261,\"img_size\":19335.5029296875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/6f5a7241d8f0093952edf16195b4d0aecfa2c6cd.jpg\",\"img_tags\":null,\"img_width\":7014},{\"img_height\":1408,\"img_size\":4784.3037109375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/0350c791822a980d72450da226b1d61fa7b68c8f.png\",\"img_tags\":null,\"img_width\":1878},{\"img_height\":1408,\"img_size\":4614.8251953125,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/271187137e9973d07f01763a9a41b9b7f25f68fd.png\",\"img_tags\":null,\"img_width\":1878},{\"img_height\":3508,\"img_size\":1452.4482421875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/f818bb197c7cc914ed4c921a6f7488f87ca15faf.jpg\",\"img_tags\":null,\"img_width\":2480}],\"pictures_count\":9,\"reply\":23,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619328606},\"user\":{\"head_url\":\"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\",\"name\":\"哔哩哔哩漫画\",\"uid\":326499679,\"vip\":{\"avatar_subscript\":1,\"due_date\":1941033600000,\"label\":{\"label_theme\":\"ten_annual_vip\",\"path\":\"\",\"text\":\"十年大会员\"},\"nickname_color\":\"#FB7299\",\"status\":1,\"theme_type\":0,\"type\":2,\"vip_pay_type\":0}}}", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"timer.publish\",\"up_close_comment\":0,\"verify\":{\"cc\":{\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 3812656, - "topic_name": "天宝伏妖录", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/62601" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[W-哈哈]", - "id": 3045, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[W-哈哈]", - "url": "https://i0.hdslb.com/bfs/emote/83d527303c8f62f494e6971c48836487e7d87b1b.png", - "meta": { - "size": 1 - }, - "mtime": 1608785082 - }, - { - "emoji_name": "[打call]", - "id": 510, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[打call]", - "url": "https://i0.hdslb.com/bfs/emote/431432c43da3ee5aab5b0e4f8931953e649e9975.png", - "meta": { - "size": 1 - }, - "mtime": 1617293741 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 1902548007, - "type": 2, - "rid": 131480564, - "acl": 0, - "view": 1095, - "repost": 0, - "comment": 0, - "like": 16, - "is_liked": 0, - "dynamic_id": 517482725259184156, - "timestamp": 1619324236, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 1902548007, - "uname": "BV社", - "face": "https://i0.hdslb.com/bfs/face/48f8e6afa688e37b9f1e3721a86bea8ce02688dc.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "BV社官方账号" - } - }, - "vip": { - "vipType": 0, - "vipDueDate": 0, - "vipStatus": 0, - "themeType": 0, - "label": { - "path": "", - "text": "", - "label_theme": "", - "text_color": "", - "bg_style": 0, - "bg_color": "", - "border_color": "" - }, - "avatar_subscript": 0, - "nickname_color": "", - "role": 0, - "avatar_subscript_url": "" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "Vomic,让你爱的漫画更动听", - "level_info": { - "current_level": 2 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517482725259184156", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131480564" - }, - "card": "{\"item\":{\"at_control\":\"[{\\\"location\\\":122,\\\"type\\\":1,\\\"length\\\":8,\\\"data\\\":\\\"326499679\\\"},{\\\"location\\\":133,\\\"type\\\":1,\\\"length\\\":5,\\\"data\\\":\\\"1902548007\\\"},{\\\"location\\\":141,\\\"type\\\":1,\\\"length\\\":9,\\\"data\\\":\\\"386135764\\\"},{\\\"location\\\":153,\\\"type\\\":1,\\\"length\\\":6,\\\"data\\\":\\\"1740792\\\"}]\",\"category\":\"daily\",\"description\":\"#哔哩哔哩漫画#独家\\n“女鬼”找上门,却是为了救人?\\n“养尸地?那是啥?里面有宝贝嘛?”\\n“有凶尸。”\\n哟,父子俩这是什么情况?\\n惊奇 #Vomic##幽冥诡匠#第五集正式上线!每周日更新!更多精彩,小剧场,花絮,尽在哔哩哔哩漫画APP\\n出品:@哔哩哔哩漫画\\n策划:@BV社\\n制作:@回声漫响工作室\\n录制:@音熊联萌 \",\"id\":131480564,\"is_fav\":0,\"pictures\":[{\"img_height\":2400,\"img_size\":2852.115234375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/cb7632509c8cb8a7703f5ab289320b26a07ec62e.jpg\",\"img_tags\":null,\"img_width\":2400}],\"pictures_count\":1,\"reply\":0,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619324236},\"user\":{\"head_url\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/face\\/48f8e6afa688e37b9f1e3721a86bea8ce02688dc.jpg\",\"name\":\"BV社\",\"uid\":1902548007,\"vip\":{\"avatar_subscript\":0,\"due_date\":0,\"label\":{\"label_theme\":\"\",\"path\":\"\",\"text\":\"\"},\"nickname_color\":\"\",\"status\":0,\"theme_type\":0,\"type\":0,\"vip_pay_type\":0}}}", - "extend_json": "{\"ctrl\":[{\"data\":\"326499679\",\"length\":8,\"location\":122,\"type\":1},{\"data\":\"1902548007\",\"length\":5,\"location\":133,\"type\":1},{\"data\":\"386135764\",\"length\":9,\"location\":141,\"type\":1},{\"data\":\"1740792\",\"length\":6,\"location\":153,\"type\":1}],\"from\":{\"emoji_type\":1,\"from\":\"create.dynamic.web\",\"up_close_comment\":0,\"verify\":{\"asw\":{\"fl\":15,\"nv\":1},\"sw\":{\"fl\":15,\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 3208432, - "topic_name": "Vomic", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/106426" - }, - { - "topic_id": 7128092, - "topic_name": "幽冥诡匠", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/42527" - }, - { - "topic_id": 37542, - "topic_name": "VOMIC", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/106283" - }, - { - "topic_id": 8972604, - "topic_name": "vomic", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/106766" - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 255495142, - "type": 1, - "rid": 517480856950088884, - "acl": 0, - "view": 344, - "repost": 0, - "comment": 0, - "like": 0, - "is_liked": 0, - "dynamic_id": 517480856947349138, - "timestamp": 1619323801, - "pre_dy_id": 517479366596833835, - "orig_dy_id": 517479366596833835, - "orig_type": 2, - "user_profile": { - "info": { - "uid": 255495142, - "uname": "坐怀不乱登徒子", - "face": "https://i1.hdslb.com/bfs/face/fa18d118f6c58da704400909743fb895c4c47627.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1626451200000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "年度大会员", - "label_theme": "annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 3, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 204, - "name": "至高守护", - "image": "https://i1.hdslb.com/bfs/face/88162662c23c2768c9e9e5c25017375685e83798.png", - "expire": 0, - "image_enhance": "https://i1.hdslb.com/bfs/face/88162662c23c2768c9e9e5c25017375685e83798.png", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "", - "level_info": { - "current_level": 5 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517480856947349138", - "pre_dy_id_str": "517479366596833835", - "orig_dy_id_str": "517479366596833835", - "rid_str": "517480856950088884", - "origin": { - "uid": 326499679, - "type": 2, - "rid": 131479206, - "acl": 1024, - "view": 1412747, - "repost": 11488, - "dynamic_id": 517479366596833835, - "timestamp": 1619323454, - "uid_type": 1, - "r_type": 1, - "status": 1, - "dynamic_id_str": "517479366596833835", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131479206" - } - }, - "card": "{ \"user\": { \"uid\": 255495142, \"uname\": \"坐怀不乱登徒子\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/fa18d118f6c58da704400909743fb895c4c47627.jpg\" }, \"item\": { \"rp_id\": 517480856950088884, \"uid\": 255495142, \"content\": \"[doge]#哔哩哔哩漫画#,#AISHA#\", \"orig_dy_id\": 517479366596833835, \"pre_dy_id\": 517479366596833835, \"timestamp\": 1619323801, \"reply\": 0, \"orig_type\": 2 }, \"origin\": \"{\\\"item\\\":{\\\"at_control\\\":\\\"[{\\\\\\\"data\\\\\\\":\\\\\\\"5\\\\\\\",\\\\\\\"length\\\\\\\":0,\\\\\\\"location\\\\\\\":0,\\\\\\\"type\\\\\\\":2},{\\\\\\\"location\\\\\\\":19,\\\\\\\"type\\\\\\\":1,\\\\\\\"length\\\\\\\":8,\\\\\\\"data\\\\\\\":\\\\\\\"1425490690\\\\\\\"}]\\\",\\\"category\\\":\\\"daily\\\",\\\"description\\\":\\\"​互动抽奖 关+转,抽3位幸运小伙伴送@漫画家法吉特 【《逆光》画集作者签名版】~\\\\n #哔哩哔哩漫画#重磅安利之《#AISHA#》\\\\n当当当当!剧情党福音~\\\\n答题就有机会赢得礼物?还有法吉特太太亲签精美画集?\\\\n活动入口→https:\\\\\\/\\\\\\/www.bilibili.com\\\\\\/blackboard\\\\\\/topic\\\\\\/activity-oPISh007wv.html\\\\n\\\\n你以为这样就结束了了吗?\\\\nNONONO~\\\\n法吉特老师首次出版个人作品集《逆光》~商城4月25日0点首发开售!\\\\n有法吉特老师签名版掉落哦!随书额外附赠专属书签特典!\\\\n活动指路:哔哩哔哩漫画APP-我的-商城-banner\\\",\\\"id\\\":131479206,\\\"is_fav\\\":0,\\\"pictures\\\":[{\\\"img_height\\\":782,\\\"img_size\\\":1097.2451171875,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/8965a784f77e2545f4f2f168df4f417ed3ace818.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":750}],\\\"pictures_count\\\":1,\\\"reply\\\":599,\\\"role\\\":[],\\\"settings\\\":{\\\"copy_forbidden\\\":\\\"0\\\"},\\\"source\\\":[],\\\"title\\\":\\\"\\\",\\\"upload_time\\\":1619323454},\\\"user\\\":{\\\"head_url\\\":\\\"https:\\\\\\/\\\\\\/i1.hdslb.com\\\\\\/bfs\\\\\\/face\\\\\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\\\",\\\"name\\\":\\\"哔哩哔哩漫画\\\",\\\"uid\\\":326499679,\\\"vip\\\":{\\\"avatar_subscript\\\":1,\\\"due_date\\\":1941033600000,\\\"label\\\":{\\\"label_theme\\\":\\\"ten_annual_vip\\\",\\\"path\\\":\\\"\\\",\\\"text\\\":\\\"十年大会员\\\"},\\\"nickname_color\\\":\\\"#FB7299\\\",\\\"status\\\":1,\\\"theme_type\\\":0,\\\"type\\\":2,\\\"vip_pay_type\\\":0}}}\", \"origin_extension\": { \"lott\": \"{\\\"lottery_id\\\":61398}\" }, \"origin_extend_json\": \"{\\\"ctrl\\\":[{\\\"data\\\":\\\"5\\\",\\\"length\\\":0,\\\"location\\\":0,\\\"type\\\":2},{\\\"data\\\":\\\"1425490690\\\",\\\"length\\\":8,\\\"location\\\":19,\\\"type\\\":1}],\\\"from\\\":{\\\"emoji_type\\\":1,\\\"from\\\":\\\"create.dynamic.web\\\",\\\"up_close_comment\\\":0,\\\"verify\\\":{\\\"asw\\\":{\\\"fl\\\":15,\\\"nv\\\":1},\\\"cc\\\":{\\\"vf\\\":1},\\\"sw\\\":{\\\"fl\\\":15,\\\"nv\\\":1}}},\\\"like_icon\\\":{\\\"action\\\":\\\"\\\",\\\"action_url\\\":\\\"\\\",\\\"end\\\":\\\"\\\",\\\"end_url\\\":\\\"\\\",\\\"start\\\":\\\"\\\",\\\"start_url\\\":\\\"\\\"},\\\"lott\\\":{\\\"lottery_id\\\":61398},\\\"topic\\\":{\\\"is_attach_topic\\\":1}}\", \"origin_user\": { \"info\": { \"uid\": 326499679, \"uname\": \"哔哩哔哩漫画\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\" }, \"card\": { \"official_verify\": { \"type\": 1, \"desc\": \"哔哩哔哩漫画官方账号\" } }, \"vip\": { \"vipType\": 2, \"vipDueDate\": 1941033600000, \"vipStatus\": 1, \"themeType\": 0, \"label\": { \"path\": \"\", \"text\": \"十年大会员\", \"label_theme\": \"ten_annual_vip\", \"text_color\": \"#FFFFFF\", \"bg_style\": 1, \"bg_color\": \"#FB7299\", \"border_color\": \"\" }, \"avatar_subscript\": 1, \"nickname_color\": \"#FB7299\", \"role\": 7, \"avatar_subscript_url\": \"https:\\/\\/i0.hdslb.com\\/bfs\\/vip\\/icon_Certification_big_member_22_3x.png\" }, \"pendant\": { \"pid\": 0, \"name\": \"\", \"image\": \"\", \"expire\": 0, \"image_enhance\": \"\", \"image_enhance_frame\": \"\" }, \"rank\": \"10000\", \"sign\": \"↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑\", \"level_info\": { \"current_level\": 6 } } }", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"create.comment\",\"up_close_comment\":0},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 148830, - "topic_name": "AISHA", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/18159" - }, - { - "topic_id": 2514603, - "topic_name": "aisha", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "origin": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 148830, - "topic_name": "AISHA", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/18159" - }, - { - "topic_id": 2514603, - "topic_name": "aisha", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[doge]", - "id": 26, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[doge]", - "url": "https://i0.hdslb.com/bfs/emote/3087d273a78ccaff4bb1e9972e2ba2a7583c9f11.png", - "meta": { - "size": 1 - }, - "mtime": 1617293741 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 326499679, - "type": 2, - "rid": 131479206, - "acl": 1024, - "view": 1412747, - "repost": 11488, - "comment": 599, - "like": 6530, - "is_liked": 0, - "dynamic_id": 517479366596833835, - "timestamp": 1619323454, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "r_type": 1, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517479366596833835", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131479206" - }, - "card": "{\"item\":{\"at_control\":\"[{\\\"data\\\":\\\"5\\\",\\\"length\\\":0,\\\"location\\\":0,\\\"type\\\":2},{\\\"location\\\":19,\\\"type\\\":1,\\\"length\\\":8,\\\"data\\\":\\\"1425490690\\\"}]\",\"category\":\"daily\",\"description\":\"​互动抽奖 关+转,抽3位幸运小伙伴送@漫画家法吉特 【《逆光》画集作者签名版】~\\n #哔哩哔哩漫画#重磅安利之《#AISHA#》\\n当当当当!剧情党福音~\\n答题就有机会赢得礼物?还有法吉特太太亲签精美画集?\\n活动入口→https:\\/\\/www.bilibili.com\\/blackboard\\/topic\\/activity-oPISh007wv.html\\n\\n你以为这样就结束了了吗?\\nNONONO~\\n法吉特老师首次出版个人作品集《逆光》~商城4月25日0点首发开售!\\n有法吉特老师签名版掉落哦!随书额外附赠专属书签特典!\\n活动指路:哔哩哔哩漫画APP-我的-商城-banner\",\"id\":131479206,\"is_fav\":0,\"pictures\":[{\"img_height\":782,\"img_size\":1097.2451171875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/8965a784f77e2545f4f2f168df4f417ed3ace818.png\",\"img_tags\":null,\"img_width\":750}],\"pictures_count\":1,\"reply\":599,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619323454},\"user\":{\"head_url\":\"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\",\"name\":\"哔哩哔哩漫画\",\"uid\":326499679,\"vip\":{\"avatar_subscript\":1,\"due_date\":1941033600000,\"label\":{\"label_theme\":\"ten_annual_vip\",\"path\":\"\",\"text\":\"十年大会员\"},\"nickname_color\":\"#FB7299\",\"status\":1,\"theme_type\":0,\"type\":2,\"vip_pay_type\":0}}}", - "extension": { - "lott": "{\"lottery_id\":61398}" - }, - "extend_json": "{\"ctrl\":[{\"data\":\"5\",\"length\":0,\"location\":0,\"type\":2},{\"data\":\"1425490690\",\"length\":8,\"location\":19,\"type\":1}],\"from\":{\"emoji_type\":1,\"from\":\"create.dynamic.web\",\"up_close_comment\":0,\"verify\":{\"asw\":{\"fl\":15,\"nv\":1},\"cc\":{\"vf\":1},\"sw\":{\"fl\":15,\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"lott\":{\"lottery_id\":61398},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 148830, - "topic_name": "AISHA", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/18159" - }, - { - "topic_id": 2514603, - "topic_name": "aisha", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 271873076, - "type": 2, - "rid": 131468623, - "acl": 0, - "view": 23, - "repost": 0, - "comment": 0, - "like": 0, - "is_liked": 0, - "dynamic_id": 517452016241823721, - "timestamp": 1619317086, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 271873076, - "uname": "爱乐果iLEGUO", - "face": "https://i2.hdslb.com/bfs/face/fb79ac0f6de92c8ecc7d4cd1e958d19376c85fe8.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 0, - "vipDueDate": 0, - "vipStatus": 0, - "themeType": 0, - "label": { - "path": "", - "text": "", - "label_theme": "", - "text_color": "", - "bg_style": 0, - "bg_color": "", - "border_color": "" - }, - "avatar_subscript": 0, - "nickname_color": "", - "role": 0, - "avatar_subscript_url": "" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "龙俦纪+羞耻侠+妖怪IDOLS+偶像饲养手册+闪亮的家+神奇少年团+第8界+爱果系列+爱次元!研究社", - "level_info": { - "current_level": 4 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517452016241823721", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131468623" - }, - "card": "{\"item\":{\"at_control\":\"\",\"category\":\"daily\",\"description\":\"《龙俦纪》第99话4月25日更新!\\n高振采药遇险,竟然从悬崖上坠入万丈深渊?!!\\n苏郃首次展现能力,苏千屹又从苏郃身上发现了什么秘密?\\n《龙俦纪》正在好评连载中,逢“五”更新,欢迎追漫!\\n#哔哩哔哩漫画# https:\\/\\/manga.bilibili.com\\/m\\/detail\\/mc26014 \\n#宝藏漫画##爱乐果##漫画##二次元##古风##玄幻##二次元条漫# \",\"id\":131468623,\"is_fav\":0,\"pictures\":[{\"img_height\":720,\"img_size\":297.19140625,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/54e4f9e0c339f42484fcbe42cb7e7f69be4b87aa.jpg\",\"img_tags\":null,\"img_width\":1280}],\"pictures_count\":1,\"reply\":0,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619317086},\"user\":{\"head_url\":\"https:\\/\\/i2.hdslb.com\\/bfs\\/face\\/fb79ac0f6de92c8ecc7d4cd1e958d19376c85fe8.jpg\",\"name\":\"爱乐果iLEGUO\",\"uid\":271873076,\"vip\":{\"avatar_subscript\":0,\"due_date\":0,\"label\":{\"label_theme\":\"\",\"path\":\"\",\"text\":\"\"},\"nickname_color\":\"\",\"status\":0,\"theme_type\":0,\"type\":0,\"vip_pay_type\":0}}}", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"timer.publish\",\"up_close_comment\":0,\"verify\":{}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 10182306, - "topic_name": "宝藏漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 9628017, - "topic_name": "爱乐果", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 1184, - "topic_name": "漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 1907, - "topic_name": "二次元", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/7694" - }, - { - "topic_id": 8227, - "topic_name": "古风", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 62935, - "topic_name": "玄幻", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 12532729, - "topic_name": "二次元条漫", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 1677019, - "type": 1, - "rid": 517443572335742626, - "acl": 0, - "view": 5, - "repost": 0, - "comment": 0, - "like": 0, - "is_liked": 0, - "dynamic_id": 517443572332941328, - "timestamp": 1619315120, - "pre_dy_id": 517241610091321208, - "orig_dy_id": 517241610091321208, - "orig_type": 2, - "user_profile": { - "info": { - "uid": 1677019, - "uname": "逗妇卤", - "face": "https://i1.hdslb.com/bfs/face/15a8f5d8c93f8f30bda71f192b92cfde2c76a1c7.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1637510400000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "年度大会员", - "label_theme": "annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 3, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "", - "level_info": { - "current_level": 5 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517443572332941328", - "pre_dy_id_str": "517241610091321208", - "orig_dy_id_str": "517241610091321208", - "rid_str": "517443572335742626", - "origin": { - "uid": 326499679, - "type": 2, - "rid": 131403515, - "acl": 1024, - "view": 1962092, - "repost": 16607, - "comment": 1020, - "like": 7002, - "is_liked": 0, - "dynamic_id": 517241610091321208, - "timestamp": 1619268097, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "r_type": 1, - "status": 1, - "dynamic_id_str": "517241610091321208", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131403515" - } - }, - "card": "{ \"user\": { \"uid\": 1677019, \"uname\": \"逗妇卤\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/15a8f5d8c93f8f30bda71f192b92cfde2c76a1c7.jpg\" }, \"item\": { \"rp_id\": 517443572335742626, \"uid\": 1677019, \"content\": \"【关+转】抽1位小伙伴送【哔哩哔哩小电视兔子包】~\\n【#哔哩哔哩漫画# 作品推荐】大量西幻少女漫爆更来啦———\\n[干杯] 即日起,《重生成为公爵家的丑女》《暴君的监护人是反派魔女》《姐姐捡回了男主》等大量西幻少女精品漫画爆更,追漫更有樱花立牌\\/玩偶等福利好礼相送!\\n[干杯] 快来哔哩哔哩漫画追漫吧~\", \"orig_dy_id\": 517241610091321208, \"pre_dy_id\": 517241610091321208, \"timestamp\": 1619315120, \"reply\": 0, \"orig_type\": 2 }, \"origin\": \"{\\\"item\\\":{\\\"at_control\\\":\\\"[{\\\\\\\"type\\\\\\\":2,\\\\\\\"location\\\\\\\":0,\\\\\\\"length\\\\\\\":0,\\\\\\\"data\\\\\\\":\\\\\\\"5\\\\\\\"}]\\\",\\\"category\\\":\\\"daily\\\",\\\"description\\\":\\\"​互动抽奖 【关+转】抽1位小伙伴送【哔哩哔哩小电视兔子包】~\\\\n【#哔哩哔哩漫画# 作品推荐】大量西幻少女漫爆更来啦———\\\\n[干杯] 即日起,《重生成为公爵家的丑女》《暴君的监护人是反派魔女》《姐姐捡回了男主》等大量西幻少女精品漫画爆更,追漫更有樱花立牌\\\\\\/玩偶等福利好礼相送!\\\\n[干杯] 快来哔哩哔哩漫画追漫吧~\\\",\\\"id\\\":131403515,\\\"is_fav\\\":0,\\\"pictures\\\":[{\\\"img_height\\\":1357,\\\"img_size\\\":1759.1650390625,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/1ce565e7f36e0ae5a3809df21bb39aa2fe578a88.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":1238,\\\"img_size\\\":832.51953125,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/6df0150c77a7f42a5d31cce8bb006105a660dad9.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":2193,\\\"img_size\\\":3424.060546875,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/adce81c59436184b56d84e5394583d2ab491b2e6.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":800,\\\"img_size\\\":166.1552734375,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/9c4e8d6fc04d5a1f3df225d5967fb65c7a3f5f09.jpg\\\",\\\"img_tags\\\":null,\\\"img_width\\\":800}],\\\"pictures_count\\\":4,\\\"reply\\\":1020,\\\"role\\\":[],\\\"settings\\\":{\\\"copy_forbidden\\\":\\\"0\\\"},\\\"source\\\":[],\\\"title\\\":\\\"\\\",\\\"upload_time\\\":1619268097},\\\"user\\\":{\\\"head_url\\\":\\\"https:\\\\\\/\\\\\\/i1.hdslb.com\\\\\\/bfs\\\\\\/face\\\\\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\\\",\\\"name\\\":\\\"哔哩哔哩漫画\\\",\\\"uid\\\":326499679,\\\"vip\\\":{\\\"avatar_subscript\\\":1,\\\"due_date\\\":1941033600000,\\\"label\\\":{\\\"label_theme\\\":\\\"ten_annual_vip\\\",\\\"path\\\":\\\"\\\",\\\"text\\\":\\\"十年大会员\\\"},\\\"nickname_color\\\":\\\"#FB7299\\\",\\\"status\\\":1,\\\"theme_type\\\":0,\\\"type\\\":2,\\\"vip_pay_type\\\":0}}}\", \"origin_extension\": { \"lott\": \"{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"}\" }, \"origin_extend_json\": \"{\\\"ctrl\\\":[{\\\"data\\\":\\\"5\\\",\\\"length\\\":0,\\\"location\\\":0,\\\"type\\\":2}],\\\"from\\\":{\\\"emoji_type\\\":1,\\\"from\\\":\\\"\\\",\\\"up_close_comment\\\":0,\\\"verify\\\":{\\\"asw\\\":{\\\"fl\\\":15,\\\"nv\\\":1},\\\"cc\\\":{\\\"vf\\\":1},\\\"sw\\\":{\\\"fl\\\":15,\\\"nv\\\":1}}},\\\"like_icon\\\":{\\\"action\\\":\\\"\\\",\\\"action_url\\\":\\\"\\\",\\\"end\\\":\\\"\\\",\\\"end_url\\\":\\\"\\\",\\\"start\\\":\\\"\\\",\\\"start_url\\\":\\\"\\\"},\\\"lott\\\":{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"},\\\"topic\\\":{\\\"is_attach_topic\\\":1}}\", \"origin_user\": { \"info\": { \"uid\": 326499679, \"uname\": \"哔哩哔哩漫画\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\" }, \"card\": { \"official_verify\": { \"type\": 1, \"desc\": \"哔哩哔哩漫画官方账号\" } }, \"vip\": { \"vipType\": 2, \"vipDueDate\": 1941033600000, \"vipStatus\": 1, \"themeType\": 0, \"label\": { \"path\": \"\", \"text\": \"十年大会员\", \"label_theme\": \"ten_annual_vip\", \"text_color\": \"#FFFFFF\", \"bg_style\": 1, \"bg_color\": \"#FB7299\", \"border_color\": \"\" }, \"avatar_subscript\": 1, \"nickname_color\": \"#FB7299\", \"role\": 7, \"avatar_subscript_url\": \"https:\\/\\/i0.hdslb.com\\/bfs\\/vip\\/icon_Certification_big_member_22_3x.png\" }, \"pendant\": { \"pid\": 0, \"name\": \"\", \"image\": \"\", \"expire\": 0, \"image_enhance\": \"\", \"image_enhance_frame\": \"\" }, \"rank\": \"10000\", \"sign\": \"↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑\", \"level_info\": { \"current_level\": 6 } } }", - "extend_json": "{\"from\":{\"emoji_type\":1,\"up_close_comment\":0,\"verify\":{\"asw\":{\"fl\":15,\"nv\":1},\"sw\":{\"fl\":15,\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "origin": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[干杯]", - "id": 1949, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[干杯]", - "url": "https://i0.hdslb.com/bfs/emote/8da12d5f55a2c7e9778dcc05b40571979fe208e6.png", - "meta": { - "size": 1 - }, - "mtime": 1597738918 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[干杯]", - "id": 1949, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[干杯]", - "url": "https://i0.hdslb.com/bfs/emote/8da12d5f55a2c7e9778dcc05b40571979fe208e6.png", - "meta": { - "size": 1 - }, - "mtime": 1597738918 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 324540735, - "type": 8, - "rid": 672631542, - "acl": 0, - "view": 31, - "repost": 0, - "like": 1, - "is_liked": 0, - "dynamic_id": 517311278755293659, - "timestamp": 1619284318, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 324540735, - "uname": "文雯兄", - "face": "https://i0.hdslb.com/bfs/face/8000d5ad4652f8bf9074781a108eb54243a06889.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 1, - "vipDueDate": 1613491200000, - "vipStatus": 0, - "themeType": 0, - "label": { - "path": "", - "text": "", - "label_theme": "", - "text_color": "", - "bg_style": 0, - "bg_color": "", - "border_color": "" - }, - "avatar_subscript": 0, - "nickname_color": "", - "role": 0, - "avatar_subscript_url": "" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "游说万乘苦不早,著鞭跨马涉远道。", - "level_info": { - "current_level": 4 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517311278755293659", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "672631542", - "bvid": "BV1dU4y1h78A" - }, - "card": "{\"aid\":672631542,\"attribute\":0,\"cid\":328783995,\"copyright\":1,\"ctime\":1619284318,\"desc\":\"本漫画由哔哩哔哩漫画出品,本人配音,谢谢大家的支持。\",\"dimension\":{\"height\":1920,\"rotate\":0,\"width\":864},\"duration\":191,\"dynamic\":\"\",\"item\":{\"at_control\":\"\"},\"jump_url\":\"bilibili:\\/\\/video\\/672631542\\/?page=1&player_preload=null&player_width=864&player_height=1920&player_rotate=0\",\"mission_id\":18978,\"owner\":{\"face\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/face\\/8000d5ad4652f8bf9074781a108eb54243a06889.jpg\",\"mid\":324540735,\"name\":\"文雯兄\"},\"pic\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/archive\\/b2d2dc3a909696ea1db3fbfeeb7ab42dc37ced87.jpg\",\"player_info\":null,\"pubdate\":1619284318,\"rights\":{\"autoplay\":1,\"bp\":0,\"download\":0,\"elec\":0,\"hd5\":0,\"is_cooperation\":0,\"movie\":0,\"no_background\":0,\"no_reprint\":1,\"pay\":0,\"ugc_pay\":0,\"ugc_pay_preview\":0},\"short_link\":\"https:\\/\\/b23.tv\\/BV1dU4y1h78A\",\"short_link_v2\":\"https:\\/\\/b23.tv\\/BV1dU4y1h78A\",\"stat\":{\"aid\":672631542,\"coin\":0,\"danmaku\":0,\"dislike\":0,\"favorite\":0,\"his_rank\":0,\"like\":1,\"now_rank\":0,\"reply\":0,\"share\":0,\"view\":10},\"state\":0,\"tid\":138,\"title\":\"怎么办,我穿越成最弱小野怪了(三十九)【关于我不当人的这件事】\",\"tname\":\"搞笑\",\"up_from_v2\":8,\"videos\":1}", - "extend_json": "{\"\":{\"ogv\":{\"ogv_id\":0}},\"dispute\":{\"content\":\"\"},\"from\":{\"from\":\"\"},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 19254944, - "topic_name": "火力配音王-配音剧场", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/108663" - }, - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 3844, - "topic_name": "穿越", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 1833, - "topic_name": "搞笑", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 1217, - "topic_name": "自制", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 1184, - "topic_name": "漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "usr_action_txt": "投稿了视频", - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - }, - "cover_play_icon_url": "https://i0.hdslb.com/bfs/album/2269afa7897830b397797ebe5f032b899b405c67.png" - } - }, - { - "desc": { - "uid": 326499679, - "type": 8, - "rid": 972719486, - "acl": 0, - "view": 2766257, - "repost": 3, - "like": 5925, - "is_liked": 0, - "dynamic_id": 517261895213635612, - "timestamp": 1619272820, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517261895213635612", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "972719486", - "bvid": "BV1Gp4y1b7ZB" - }, - "card": "{\"aid\":972719486,\"attribute\":0,\"cid\":328058863,\"copyright\":1,\"ctime\":1619272820,\"desc\":\"#反派初始化# #Vomic#\\n圈圈叉叉,桃树开花,花瓣落下,生出新芽。\\n@哔哩哔哩漫画 出品、@BV社 策划、 @Antler_墨柚 原作、@叉叉叉叉叉口叉 主笔、@补天研究所 制作、@音熊联萌 录制、Vomic《反派初始化》第二集正式上线!\\n哔哩哔哩漫画独家播放,每周六更新!\\n还有小剧场,花絮不定时掉落、敬请期待~\\n\\n出品:@哔哩哔哩漫画\\n策划:@BV社\\n制作:@补天研究所\\n录制:@音熊联萌\",\"dimension\":{\"height\":1080,\"rotate\":0,\"width\":1920},\"duration\":62,\"dynamic\":\"#哔哩哔哩漫画#独家,#Vomic#2021年4月3日起每周六更新!更多精彩,小剧场,花絮,尽在哔哩哔哩漫画APP\",\"item\":{\"at_control\":\"\"},\"jump_url\":\"bilibili:\\/\\/video\\/972719486\\/?page=1&player_preload=null&player_width=1920&player_height=1080&player_rotate=0\",\"owner\":{\"face\":\"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\",\"mid\":326499679,\"name\":\"哔哩哔哩漫画\"},\"pic\":\"https:\\/\\/i2.hdslb.com\\/bfs\\/archive\\/3c8a720b809153f95b1134acb991011eb79dc80b.jpg\",\"player_info\":null,\"pubdate\":1619272819,\"rights\":{\"autoplay\":1,\"bp\":0,\"download\":0,\"elec\":0,\"hd5\":1,\"is_cooperation\":0,\"movie\":0,\"no_background\":0,\"no_reprint\":1,\"pay\":0,\"ugc_pay\":0,\"ugc_pay_preview\":0},\"short_link\":\"https:\\/\\/b23.tv\\/BV1Gp4y1b7ZB\",\"short_link_v2\":\"https:\\/\\/b23.tv\\/BV1Gp4y1b7ZB\",\"stat\":{\"aid\":972719486,\"coin\":115,\"danmaku\":4,\"dislike\":0,\"favorite\":44,\"his_rank\":0,\"like\":5925,\"now_rank\":0,\"reply\":35,\"share\":145,\"view\":32070},\"state\":0,\"tid\":27,\"title\":\"【Vomic】滴——《反派初始化》第二集精彩片段!\",\"tname\":\"综合\",\"videos\":1}", - "extend_json": "{\"\":{\"ogv\":{\"ogv_id\":0}},\"dispute\":{\"content\":\"\"},\"from\":{\"from\":\"\",\"verify\":{}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 3208432, - "topic_name": "Vomic", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/106426" - }, - { - "topic_id": 37542, - "topic_name": "VOMIC", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/106283" - }, - { - "topic_id": 8972604, - "topic_name": "vomic", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/106766" - }, - { - "topic_id": 210754, - "topic_name": "夏磊", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 10526139, - "topic_name": "反派初始化", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 1322133, - "topic_name": "赵路", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 423864, - "topic_name": "音熊联萌", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/17389" - } - ] - }, - "usr_action_txt": "投稿了视频", - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - }, - "cover_play_icon_url": "https://i0.hdslb.com/bfs/album/2269afa7897830b397797ebe5f032b899b405c67.png" - } - }, - { - "desc": { - "uid": 255495142, - "type": 1, - "rid": 517243774753706830, - "acl": 0, - "view": 9, - "repost": 0, - "comment": 0, - "like": 0, - "is_liked": 0, - "dynamic_id": 517243774755903256, - "timestamp": 1619268601, - "pre_dy_id": 517241610091321208, - "orig_dy_id": 517241610091321208, - "orig_type": 2, - "user_profile": { - "info": { - "uid": 255495142, - "uname": "坐怀不乱登徒子", - "face": "https://i1.hdslb.com/bfs/face/fa18d118f6c58da704400909743fb895c4c47627.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1626451200000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "年度大会员", - "label_theme": "annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 3, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 204, - "name": "至高守护", - "image": "https://i1.hdslb.com/bfs/face/88162662c23c2768c9e9e5c25017375685e83798.png", - "expire": 0, - "image_enhance": "https://i1.hdslb.com/bfs/face/88162662c23c2768c9e9e5c25017375685e83798.png", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "", - "level_info": { - "current_level": 5 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517243774755903256", - "pre_dy_id_str": "517241610091321208", - "orig_dy_id_str": "517241610091321208", - "rid_str": "517243774753706830", - "origin": { - "uid": 326499679, - "type": 2, - "rid": 131403515, - "acl": 1024, - "view": 1962092, - "repost": 16607, - "comment": 1020, - "like": 7002, - "is_liked": 0, - "dynamic_id": 517241610091321208, - "timestamp": 1619268097, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "r_type": 1, - "status": 1, - "dynamic_id_str": "517241610091321208", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131403515" - } - }, - "card": "{ \"user\": { \"uid\": 255495142, \"uname\": \"坐怀不乱登徒子\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/fa18d118f6c58da704400909743fb895c4c47627.jpg\" }, \"item\": { \"rp_id\": 517243774753706830, \"uid\": 255495142, \"content\": \"冲冲冲#哔哩哔哩漫画#\", \"orig_dy_id\": 517241610091321208, \"pre_dy_id\": 517241610091321208, \"timestamp\": 1619268601, \"reply\": 0, \"orig_type\": 2 }, \"origin\": \"{\\\"item\\\":{\\\"at_control\\\":\\\"[{\\\\\\\"type\\\\\\\":2,\\\\\\\"location\\\\\\\":0,\\\\\\\"length\\\\\\\":0,\\\\\\\"data\\\\\\\":\\\\\\\"5\\\\\\\"}]\\\",\\\"category\\\":\\\"daily\\\",\\\"description\\\":\\\"​互动抽奖 【关+转】抽1位小伙伴送【哔哩哔哩小电视兔子包】~\\\\n【#哔哩哔哩漫画# 作品推荐】大量西幻少女漫爆更来啦———\\\\n[干杯] 即日起,《重生成为公爵家的丑女》《暴君的监护人是反派魔女》《姐姐捡回了男主》等大量西幻少女精品漫画爆更,追漫更有樱花立牌\\\\\\/玩偶等福利好礼相送!\\\\n[干杯] 快来哔哩哔哩漫画追漫吧~\\\",\\\"id\\\":131403515,\\\"is_fav\\\":0,\\\"pictures\\\":[{\\\"img_height\\\":1357,\\\"img_size\\\":1759.1650390625,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/1ce565e7f36e0ae5a3809df21bb39aa2fe578a88.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":1238,\\\"img_size\\\":832.51953125,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/6df0150c77a7f42a5d31cce8bb006105a660dad9.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":2193,\\\"img_size\\\":3424.060546875,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/adce81c59436184b56d84e5394583d2ab491b2e6.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":800,\\\"img_size\\\":166.1552734375,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/9c4e8d6fc04d5a1f3df225d5967fb65c7a3f5f09.jpg\\\",\\\"img_tags\\\":null,\\\"img_width\\\":800}],\\\"pictures_count\\\":4,\\\"reply\\\":1020,\\\"role\\\":[],\\\"settings\\\":{\\\"copy_forbidden\\\":\\\"0\\\"},\\\"source\\\":[],\\\"title\\\":\\\"\\\",\\\"upload_time\\\":1619268097},\\\"user\\\":{\\\"head_url\\\":\\\"https:\\\\\\/\\\\\\/i1.hdslb.com\\\\\\/bfs\\\\\\/face\\\\\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\\\",\\\"name\\\":\\\"哔哩哔哩漫画\\\",\\\"uid\\\":326499679,\\\"vip\\\":{\\\"avatar_subscript\\\":1,\\\"due_date\\\":1941033600000,\\\"label\\\":{\\\"label_theme\\\":\\\"ten_annual_vip\\\",\\\"path\\\":\\\"\\\",\\\"text\\\":\\\"十年大会员\\\"},\\\"nickname_color\\\":\\\"#FB7299\\\",\\\"status\\\":1,\\\"theme_type\\\":0,\\\"type\\\":2,\\\"vip_pay_type\\\":0}}}\", \"origin_extension\": { \"lott\": \"{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"}\" }, \"origin_extend_json\": \"{\\\"ctrl\\\":[{\\\"data\\\":\\\"5\\\",\\\"length\\\":0,\\\"location\\\":0,\\\"type\\\":2}],\\\"from\\\":{\\\"emoji_type\\\":1,\\\"from\\\":\\\"\\\",\\\"up_close_comment\\\":0,\\\"verify\\\":{\\\"asw\\\":{\\\"fl\\\":15,\\\"nv\\\":1},\\\"cc\\\":{\\\"vf\\\":1},\\\"sw\\\":{\\\"fl\\\":15,\\\"nv\\\":1}}},\\\"like_icon\\\":{\\\"action\\\":\\\"\\\",\\\"action_url\\\":\\\"\\\",\\\"end\\\":\\\"\\\",\\\"end_url\\\":\\\"\\\",\\\"start\\\":\\\"\\\",\\\"start_url\\\":\\\"\\\"},\\\"lott\\\":{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"},\\\"topic\\\":{\\\"is_attach_topic\\\":1}}\", \"origin_user\": { \"info\": { \"uid\": 326499679, \"uname\": \"哔哩哔哩漫画\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\" }, \"card\": { \"official_verify\": { \"type\": 1, \"desc\": \"哔哩哔哩漫画官方账号\" } }, \"vip\": { \"vipType\": 2, \"vipDueDate\": 1941033600000, \"vipStatus\": 1, \"themeType\": 0, \"label\": { \"path\": \"\", \"text\": \"十年大会员\", \"label_theme\": \"ten_annual_vip\", \"text_color\": \"#FFFFFF\", \"bg_style\": 1, \"bg_color\": \"#FB7299\", \"border_color\": \"\" }, \"avatar_subscript\": 1, \"nickname_color\": \"#FB7299\", \"role\": 7, \"avatar_subscript_url\": \"https:\\/\\/i0.hdslb.com\\/bfs\\/vip\\/icon_Certification_big_member_22_3x.png\" }, \"pendant\": { \"pid\": 0, \"name\": \"\", \"image\": \"\", \"expire\": 0, \"image_enhance\": \"\", \"image_enhance_frame\": \"\" }, \"rank\": \"10000\", \"sign\": \"↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑\", \"level_info\": { \"current_level\": 6 } } }", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"create.comment\",\"up_close_comment\":0},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "origin": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[干杯]", - "id": 1949, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[干杯]", - "url": "https://i0.hdslb.com/bfs/emote/8da12d5f55a2c7e9778dcc05b40571979fe208e6.png", - "meta": { - "size": 1 - }, - "mtime": 1597738918 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 335270851, - "type": 1, - "rid": 517243658786443535, - "acl": 0, - "view": 25, - "repost": 0, - "comment": 0, - "like": 1, - "is_liked": 0, - "dynamic_id": 517243658790736702, - "timestamp": 1619268574, - "pre_dy_id": 517241610091321208, - "orig_dy_id": 517241610091321208, - "orig_type": 2, - "user_profile": { - "info": { - "uid": 335270851, - "uname": "符号门", - "face": "https://i1.hdslb.com/bfs/face/67371311c9e047543a70c1d41e7a03c3854f2981.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1647014400000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "年度大会员", - "label_theme": "annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 3, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "", - "level_info": { - "current_level": 4 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517243658790736702", - "pre_dy_id_str": "517241610091321208", - "orig_dy_id_str": "517241610091321208", - "rid_str": "517243658786443535", - "origin": { - "uid": 326499679, - "type": 2, - "rid": 131403515, - "acl": 1024, - "view": 1962092, - "repost": 16607, - "comment": 1020, - "like": 7002, - "is_liked": 0, - "dynamic_id": 517241610091321208, - "timestamp": 1619268097, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "r_type": 1, - "status": 1, - "dynamic_id_str": "517241610091321208", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131403515" - } - }, - "card": "{ \"user\": { \"uid\": 335270851, \"uname\": \"符号门\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/67371311c9e047543a70c1d41e7a03c3854f2981.jpg\" }, \"item\": { \"rp_id\": 517243658786443535, \"uid\": 335270851, \"content\": \"#哔哩哔哩漫画#[打call][打call][打call]\", \"orig_dy_id\": 517241610091321208, \"pre_dy_id\": 517241610091321208, \"timestamp\": 1619268574, \"reply\": 0, \"orig_type\": 2 }, \"origin\": \"{\\\"item\\\":{\\\"at_control\\\":\\\"[{\\\\\\\"type\\\\\\\":2,\\\\\\\"location\\\\\\\":0,\\\\\\\"length\\\\\\\":0,\\\\\\\"data\\\\\\\":\\\\\\\"5\\\\\\\"}]\\\",\\\"category\\\":\\\"daily\\\",\\\"description\\\":\\\"​互动抽奖 【关+转】抽1位小伙伴送【哔哩哔哩小电视兔子包】~\\\\n【#哔哩哔哩漫画# 作品推荐】大量西幻少女漫爆更来啦———\\\\n[干杯] 即日起,《重生成为公爵家的丑女》《暴君的监护人是反派魔女》《姐姐捡回了男主》等大量西幻少女精品漫画爆更,追漫更有樱花立牌\\\\\\/玩偶等福利好礼相送!\\\\n[干杯] 快来哔哩哔哩漫画追漫吧~\\\",\\\"id\\\":131403515,\\\"is_fav\\\":0,\\\"pictures\\\":[{\\\"img_height\\\":1357,\\\"img_size\\\":1759.1650390625,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/1ce565e7f36e0ae5a3809df21bb39aa2fe578a88.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":1238,\\\"img_size\\\":832.51953125,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/6df0150c77a7f42a5d31cce8bb006105a660dad9.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":2193,\\\"img_size\\\":3424.060546875,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/adce81c59436184b56d84e5394583d2ab491b2e6.png\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1080},{\\\"img_height\\\":800,\\\"img_size\\\":166.1552734375,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/9c4e8d6fc04d5a1f3df225d5967fb65c7a3f5f09.jpg\\\",\\\"img_tags\\\":null,\\\"img_width\\\":800}],\\\"pictures_count\\\":4,\\\"reply\\\":1020,\\\"role\\\":[],\\\"settings\\\":{\\\"copy_forbidden\\\":\\\"0\\\"},\\\"source\\\":[],\\\"title\\\":\\\"\\\",\\\"upload_time\\\":1619268097},\\\"user\\\":{\\\"head_url\\\":\\\"https:\\\\\\/\\\\\\/i1.hdslb.com\\\\\\/bfs\\\\\\/face\\\\\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\\\",\\\"name\\\":\\\"哔哩哔哩漫画\\\",\\\"uid\\\":326499679,\\\"vip\\\":{\\\"avatar_subscript\\\":1,\\\"due_date\\\":1941033600000,\\\"label\\\":{\\\"label_theme\\\":\\\"ten_annual_vip\\\",\\\"path\\\":\\\"\\\",\\\"text\\\":\\\"十年大会员\\\"},\\\"nickname_color\\\":\\\"#FB7299\\\",\\\"status\\\":1,\\\"theme_type\\\":0,\\\"type\\\":2,\\\"vip_pay_type\\\":0}}}\", \"origin_extension\": { \"lott\": \"{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"}\" }, \"origin_extend_json\": \"{\\\"ctrl\\\":[{\\\"data\\\":\\\"5\\\",\\\"length\\\":0,\\\"location\\\":0,\\\"type\\\":2}],\\\"from\\\":{\\\"emoji_type\\\":1,\\\"from\\\":\\\"\\\",\\\"up_close_comment\\\":0,\\\"verify\\\":{\\\"asw\\\":{\\\"fl\\\":15,\\\"nv\\\":1},\\\"cc\\\":{\\\"vf\\\":1},\\\"sw\\\":{\\\"fl\\\":15,\\\"nv\\\":1}}},\\\"like_icon\\\":{\\\"action\\\":\\\"\\\",\\\"action_url\\\":\\\"\\\",\\\"end\\\":\\\"\\\",\\\"end_url\\\":\\\"\\\",\\\"start\\\":\\\"\\\",\\\"start_url\\\":\\\"\\\"},\\\"lott\\\":{\\\"callbackId\\\":10,\\\"lottery_id\\\":61382,\\\"lottery_time\\\":1620504000,\\\"title\\\":\\\"互动抽奖\\\"},\\\"topic\\\":{\\\"is_attach_topic\\\":1}}\", \"origin_user\": { \"info\": { \"uid\": 326499679, \"uname\": \"哔哩哔哩漫画\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\" }, \"card\": { \"official_verify\": { \"type\": 1, \"desc\": \"哔哩哔哩漫画官方账号\" } }, \"vip\": { \"vipType\": 2, \"vipDueDate\": 1941033600000, \"vipStatus\": 1, \"themeType\": 0, \"label\": { \"path\": \"\", \"text\": \"十年大会员\", \"label_theme\": \"ten_annual_vip\", \"text_color\": \"#FFFFFF\", \"bg_style\": 1, \"bg_color\": \"#FB7299\", \"border_color\": \"\" }, \"avatar_subscript\": 1, \"nickname_color\": \"#FB7299\", \"role\": 7, \"avatar_subscript_url\": \"https:\\/\\/i0.hdslb.com\\/bfs\\/vip\\/icon_Certification_big_member_22_3x.png\" }, \"pendant\": { \"pid\": 0, \"name\": \"\", \"image\": \"\", \"expire\": 0, \"image_enhance\": \"\", \"image_enhance_frame\": \"\" }, \"rank\": \"10000\", \"sign\": \"↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑\", \"level_info\": { \"current_level\": 6 } } }", - "extend_json": "{\"from\":{\"emoji_type\":1,\"up_close_comment\":0},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "origin": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[干杯]", - "id": 1949, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[干杯]", - "url": "https://i0.hdslb.com/bfs/emote/8da12d5f55a2c7e9778dcc05b40571979fe208e6.png", - "meta": { - "size": 1 - }, - "mtime": 1597738918 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[打call]", - "id": 510, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[打call]", - "url": "https://i0.hdslb.com/bfs/emote/431432c43da3ee5aab5b0e4f8931953e649e9975.png", - "meta": { - "size": 1 - }, - "mtime": 1617293741 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 326499679, - "type": 2, - "rid": 131403515, - "acl": 1024, - "view": 1962092, - "repost": 16607, - "comment": 1020, - "like": 7002, - "is_liked": 0, - "dynamic_id": 517241610091321208, - "timestamp": 1619268097, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "r_type": 1, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517241610091321208", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131403515" - }, - "card": "{\"item\":{\"at_control\":\"[{\\\"type\\\":2,\\\"location\\\":0,\\\"length\\\":0,\\\"data\\\":\\\"5\\\"}]\",\"category\":\"daily\",\"description\":\"​互动抽奖 【关+转】抽1位小伙伴送【哔哩哔哩小电视兔子包】~\\n【#哔哩哔哩漫画# 作品推荐】大量西幻少女漫爆更来啦———\\n[干杯] 即日起,《重生成为公爵家的丑女》《暴君的监护人是反派魔女》《姐姐捡回了男主》等大量西幻少女精品漫画爆更,追漫更有樱花立牌\\/玩偶等福利好礼相送!\\n[干杯] 快来哔哩哔哩漫画追漫吧~\",\"id\":131403515,\"is_fav\":0,\"pictures\":[{\"img_height\":1357,\"img_size\":1759.1650390625,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/1ce565e7f36e0ae5a3809df21bb39aa2fe578a88.png\",\"img_tags\":null,\"img_width\":1080},{\"img_height\":1238,\"img_size\":832.51953125,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/6df0150c77a7f42a5d31cce8bb006105a660dad9.png\",\"img_tags\":null,\"img_width\":1080},{\"img_height\":2193,\"img_size\":3424.060546875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/adce81c59436184b56d84e5394583d2ab491b2e6.png\",\"img_tags\":null,\"img_width\":1080},{\"img_height\":800,\"img_size\":166.1552734375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/9c4e8d6fc04d5a1f3df225d5967fb65c7a3f5f09.jpg\",\"img_tags\":null,\"img_width\":800}],\"pictures_count\":4,\"reply\":1020,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619268097},\"user\":{\"head_url\":\"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\",\"name\":\"哔哩哔哩漫画\",\"uid\":326499679,\"vip\":{\"avatar_subscript\":1,\"due_date\":1941033600000,\"label\":{\"label_theme\":\"ten_annual_vip\",\"path\":\"\",\"text\":\"十年大会员\"},\"nickname_color\":\"#FB7299\",\"status\":1,\"theme_type\":0,\"type\":2,\"vip_pay_type\":0}}}", - "extension": { - "lott": "{\"callbackId\":10,\"lottery_id\":61382,\"lottery_time\":1620504000,\"title\":\"互动抽奖\"}" - }, - "extend_json": "{\"ctrl\":[{\"data\":\"5\",\"length\":0,\"location\":0,\"type\":2}],\"from\":{\"emoji_type\":1,\"from\":\"\",\"up_close_comment\":0,\"verify\":{\"asw\":{\"fl\":15,\"nv\":1},\"cc\":{\"vf\":1},\"sw\":{\"fl\":15,\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"lott\":{\"callbackId\":10,\"lottery_id\":61382,\"lottery_time\":1620504000,\"title\":\"互动抽奖\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[干杯]", - "id": 1949, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[干杯]", - "url": "https://i0.hdslb.com/bfs/emote/8da12d5f55a2c7e9778dcc05b40571979fe208e6.png", - "meta": { - "size": 1 - }, - "mtime": 1597738918 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 326499679, - "type": 2, - "rid": 131384529, - "acl": 0, - "view": 1605629, - "repost": 5, - "comment": 63, - "like": 4631, - "is_liked": 0, - "dynamic_id": 517215462328123502, - "timestamp": 1619262009, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517215462328123502", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131384529" - }, - "card": "{\"item\":{\"at_control\":\"\",\"category\":\"daily\",\"description\":\"【#哔哩哔哩漫画# 近期更新】(`・ω・´)\\nP1《#辉夜大小姐想让我告白# ~天才们的恋爱头脑战~ 》:https:\\/\\/manga.bilibili.com\\/m\\/detail\\/mc26009\\nP2《#入间同学入魔了#!》:https:\\/\\/manga.bilibili.com\\/m\\/detail\\/mc27189\\nP3《催眠麦克风-Division Rap Battle- side D.H&B.A.T》\\nP4《他和她的魔法契约》\\nP5《瓦尼塔斯的手记》\\nP6《见面5秒开始战斗》\\nP7《魔气来袭》\\nP8《尖帽子的魔法工坊》 \",\"id\":131384529,\"is_fav\":0,\"pictures\":[{\"img_height\":2920,\"img_size\":1993.103515625,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/24a3e5d04e8ad86fcdae48e6ee88f90a0351f82d.jpg\",\"img_tags\":null,\"img_width\":2000},{\"img_height\":2872,\"img_size\":2453.1513671875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/d512d771dd3f91b54733f104e5de7e38d61ef56c.jpg\",\"img_tags\":null,\"img_width\":2000},{\"img_height\":2806,\"img_size\":4156.140625,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/119fe01717120eb9c8c04d2c48a22298c8f88d17.jpg\",\"img_tags\":null,\"img_width\":2000},{\"img_height\":1147,\"img_size\":152.23046875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/d2fb2a6d2229a03ea967ee2182faefd67b0811fd.jpg\",\"img_tags\":null,\"img_width\":800},{\"img_height\":2637,\"img_size\":10432.2978515625,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/e8966e96d34938474eebfcf60f38e14932e09be4.jpg\",\"img_tags\":null,\"img_width\":3600},{\"img_height\":2268,\"img_size\":6175.017578125,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/4ed99d7329108e9e585db49da63a56bdcf7e8670.jpg\",\"img_tags\":null,\"img_width\":3200},{\"img_height\":1461,\"img_size\":283.990234375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/a8f37ec732103b1912fd3448d06d610cae5486df.jpg\",\"img_tags\":null,\"img_width\":800},{\"img_height\":2871,\"img_size\":3639.478515625,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/fe8e58fd4f7c7063f880f064b3366e758dbfd7ee.jpg\",\"img_tags\":null,\"img_width\":2000}],\"pictures_count\":8,\"reply\":63,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619262009},\"user\":{\"head_url\":\"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\",\"name\":\"哔哩哔哩漫画\",\"uid\":326499679,\"vip\":{\"avatar_subscript\":1,\"due_date\":1941033600000,\"label\":{\"label_theme\":\"ten_annual_vip\",\"path\":\"\",\"text\":\"十年大会员\"},\"nickname_color\":\"#FB7299\",\"status\":1,\"theme_type\":0,\"type\":2,\"vip_pay_type\":0}}}", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"timer.publish\",\"up_close_comment\":0,\"verify\":{\"cc\":{\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 4386628, - "topic_name": "辉夜大小姐想让我告白", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 8724199, - "topic_name": "入间同学入魔了", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/69330" - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 1572178656, - "type": 2, - "rid": 131375699, - "acl": 0, - "view": 13, - "repost": 0, - "comment": 0, - "like": 0, - "is_liked": 0, - "dynamic_id": 517200331161362689, - "timestamp": 1619258486, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 1572178656, - "uname": "星宿战纪漫画", - "face": "https://i0.hdslb.com/bfs/face/f791586939dcbd3f19545af1e65c369983e63c39.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 0, - "vipDueDate": 0, - "vipStatus": 0, - "themeType": 0, - "label": { - "path": "", - "text": "", - "label_theme": "", - "text_color": "", - "bg_style": 0, - "bg_color": "", - "border_color": "" - }, - "avatar_subscript": 0, - "nickname_color": "", - "role": 0, - "avatar_subscript_url": "" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "", - "level_info": { - "current_level": 2 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517200331161362689", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131375699" - }, - "card": "{\"item\":{\"at_control\":\"\",\"category\":\"daily\",\"description\":\"#哔哩哔哩漫画# #星宿战纪# #星宿战纪漫画# #漫画# B漫:https:\\/\\/manga.bilibili.com\\/m\\/detail\\/mc29438\\n闭关修炼ing的小金蝉~可可爱爱[热词系列_奥力给]\",\"id\":131375699,\"is_fav\":0,\"pictures\":[{\"img_height\":593,\"img_size\":86.4052734375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/d3074ad36616678a285de9011d3ba1cee04fa69e.jpg\",\"img_tags\":null,\"img_width\":375}],\"pictures_count\":1,\"reply\":0,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619258486},\"user\":{\"head_url\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/face\\/f791586939dcbd3f19545af1e65c369983e63c39.jpg\",\"name\":\"星宿战纪漫画\",\"uid\":1572178656,\"vip\":{\"avatar_subscript\":0,\"due_date\":0,\"label\":{\"label_theme\":\"\",\"path\":\"\",\"text\":\"\"},\"nickname_color\":\"\",\"status\":0,\"theme_type\":0,\"type\":0,\"vip_pay_type\":0}}}", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"\",\"up_close_comment\":0,\"verify\":{}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 18523004, - "topic_name": "星宿战纪", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 18523003, - "topic_name": "星宿战纪漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 1184, - "topic_name": "漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[热词系列_奥力给]", - "id": 1885, - "package_id": 53, - "state": 0, - "type": 1, - "attr": 2, - "text": "[热词系列_奥力给]", - "url": "https://i0.hdslb.com/bfs/emote/c9b8683827ec6c00fea5327c9bec14f581cef2aa.png", - "meta": { - "size": 2 - }, - "mtime": 1598525979 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 326499679, - "type": 2, - "rid": 131350038, - "acl": 0, - "view": 1974729, - "repost": 13, - "comment": 39, - "like": 4732, - "is_liked": 0, - "dynamic_id": 517153601912668248, - "timestamp": 1619247606, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517153601912668248", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131350038" - }, - "card": "{\"item\":{\"at_control\":\"\",\"category\":\"daily\",\"description\":\"【#哔哩哔哩漫画# 作品推荐】来读一部治愈系#欧漫#吧:《#格莱米耶姐妹#》https:\\/\\/manga.bilibili.com\\/m\\/detail\\/mc28726\\n[W-哈哈]还记得童年最爱的五个魔力少女吗?《#魔力W.i.t.c.h.#》的作者带着全新的故事来了!\\n[打call]熟悉的画风,同样的治愈,主角变成了可爱的三姐妹。她们想在妈妈生日当天送给她一本图画书,却意外发现了一张特别的照片,一个亲情秘密即将被揭晓…… \",\"id\":131350038,\"is_fav\":0,\"pictures\":[{\"img_height\":960,\"img_size\":911.2685546875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/f88be70d1dee3dd408fb00daf27ca2b551045424.jpg\",\"img_tags\":null,\"img_width\":720},{\"img_height\":3705,\"img_size\":3552.703125,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/0c1ad02cfed7d09fb68da69f6f6ed3afb33759ac.png\",\"img_tags\":null,\"img_width\":800},{\"img_height\":3373,\"img_size\":2038.8671875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/4eed376d55d27870b126b7089082cd6f32582c55.png\",\"img_tags\":null,\"img_width\":800}],\"pictures_count\":3,\"reply\":39,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619247606},\"user\":{\"head_url\":\"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\",\"name\":\"哔哩哔哩漫画\",\"uid\":326499679,\"vip\":{\"avatar_subscript\":1,\"due_date\":1941033600000,\"label\":{\"label_theme\":\"ten_annual_vip\",\"path\":\"\",\"text\":\"十年大会员\"},\"nickname_color\":\"#FB7299\",\"status\":1,\"theme_type\":0,\"type\":2,\"vip_pay_type\":0}}}", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"timer.publish\",\"up_close_comment\":0,\"verify\":{\"cc\":{\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 507003, - "topic_name": "欧漫", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 19491399, - "topic_name": "格莱米耶姐妹", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 19491398, - "topic_name": "魔力W.i.t.c.h.", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 1161514, - "topic_name": "魔力W.I.T.C.H.", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[W-哈哈]", - "id": 3045, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[W-哈哈]", - "url": "https://i0.hdslb.com/bfs/emote/83d527303c8f62f494e6971c48836487e7d87b1b.png", - "meta": { - "size": 1 - }, - "mtime": 1608785082 - }, - { - "emoji_name": "[打call]", - "id": 510, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[打call]", - "url": "https://i0.hdslb.com/bfs/emote/431432c43da3ee5aab5b0e4f8931953e649e9975.png", - "meta": { - "size": 1 - }, - "mtime": 1617293741 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 1902548007, - "type": 2, - "rid": 131326547, - "acl": 0, - "view": 1681, - "repost": 0, - "comment": 2, - "like": 17, - "is_liked": 0, - "dynamic_id": 517110364476558101, - "timestamp": 1619237539, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 1902548007, - "uname": "BV社", - "face": "https://i0.hdslb.com/bfs/face/48f8e6afa688e37b9f1e3721a86bea8ce02688dc.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "BV社官方账号" - } - }, - "vip": { - "vipType": 0, - "vipDueDate": 0, - "vipStatus": 0, - "themeType": 0, - "label": { - "path": "", - "text": "", - "label_theme": "", - "text_color": "", - "bg_style": 0, - "bg_color": "", - "border_color": "" - }, - "avatar_subscript": 0, - "nickname_color": "", - "role": 0, - "avatar_subscript_url": "" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "Vomic,让你爱的漫画更动听", - "level_info": { - "current_level": 2 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "517110364476558101", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131326547" - }, - "card": "{\"item\":{\"at_control\":\"[{\\\"location\\\":93,\\\"type\\\":1,\\\"length\\\":8,\\\"data\\\":\\\"326499679\\\"},{\\\"location\\\":104,\\\"type\\\":1,\\\"length\\\":5,\\\"data\\\":\\\"1902548007\\\"},{\\\"location\\\":112,\\\"type\\\":1,\\\"length\\\":7,\\\"data\\\":\\\"492733946\\\"},{\\\"location\\\":122,\\\"type\\\":1,\\\"length\\\":6,\\\"data\\\":\\\"1740792\\\"}]\",\"category\":\"daily\",\"description\":\"#哔哩哔哩漫画#独家,#反派初始化# #Vomic# 我命定的男主!凌辰!!\\n第四集准时上线!2021年4月3日起每周六更新!更多精彩,小剧场,花絮,尽在哔哩哔哩漫画APP\\n \\n出品:@哔哩哔哩漫画\\n策划:@BV社\\n制作:@补天研究所\\n录制:@音熊联萌 \",\"id\":131326547,\"is_fav\":0,\"pictures\":[{\"img_height\":2400,\"img_size\":2228.2724609375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/461e7359ad89788cea42f61690b9cf7c73cc6ab5.jpg\",\"img_tags\":null,\"img_width\":2400}],\"pictures_count\":1,\"reply\":2,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619237539},\"user\":{\"head_url\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/face\\/48f8e6afa688e37b9f1e3721a86bea8ce02688dc.jpg\",\"name\":\"BV社\",\"uid\":1902548007,\"vip\":{\"avatar_subscript\":0,\"due_date\":0,\"label\":{\"label_theme\":\"\",\"path\":\"\",\"text\":\"\"},\"nickname_color\":\"\",\"status\":0,\"theme_type\":0,\"type\":0,\"vip_pay_type\":0}}}", - "extend_json": "{\"ctrl\":[{\"data\":\"326499679\",\"length\":8,\"location\":93,\"type\":1},{\"data\":\"1902548007\",\"length\":5,\"location\":104,\"type\":1},{\"data\":\"492733946\",\"length\":7,\"location\":112,\"type\":1},{\"data\":\"1740792\",\"length\":6,\"location\":122,\"type\":1}],\"from\":{\"emoji_type\":1,\"from\":\"create.dynamic.web\",\"up_close_comment\":0,\"verify\":{\"asw\":{\"fl\":15,\"nv\":1},\"sw\":{\"fl\":15,\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 10526139, - "topic_name": "反派初始化", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 3208432, - "topic_name": "Vomic", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/106426" - }, - { - "topic_id": 37542, - "topic_name": "VOMIC", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/106283" - }, - { - "topic_id": 8972604, - "topic_name": "vomic", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/106766" - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 1192711092, - "type": 1, - "rid": 516803952918881881, - "acl": 0, - "view": 231, - "repost": 0, - "comment": 0, - "like": 0, - "is_liked": 0, - "dynamic_id": 516803952924449005, - "timestamp": 1619166197, - "pre_dy_id": 516417934145814823, - "orig_dy_id": 516417934145814823, - "orig_type": 2, - "user_profile": { - "info": { - "uid": 1192711092, - "uname": "会发光的偶恰", - "face": "https://i0.hdslb.com/bfs/face/b85a508793bd96deec61e2491d60e68f10378395.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 0, - "vipDueDate": 0, - "vipStatus": 0, - "themeType": 0, - "label": { - "path": "", - "text": "", - "label_theme": "", - "text_color": "", - "bg_style": 0, - "bg_color": "", - "border_color": "" - }, - "avatar_subscript": 0, - "nickname_color": "", - "role": 0, - "avatar_subscript_url": "" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "", - "level_info": { - "current_level": 3 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "516803952924449005", - "pre_dy_id_str": "516417934145814823", - "orig_dy_id_str": "516417934145814823", - "rid_str": "516803952918881881", - "origin": { - "uid": 326499679, - "type": 2, - "rid": 131093146, - "acl": 1024, - "view": 1794629, - "repost": 10824, - "dynamic_id": 516417934145814823, - "timestamp": 1619076320, - "uid_type": 1, - "r_type": 1, - "status": 1, - "dynamic_id_str": "516417934145814823", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131093146" - } - }, - "card": "{ \"user\": { \"uid\": 1192711092, \"uname\": \"会发光的偶恰\", \"face\": \"https:\\/\\/i0.hdslb.com\\/bfs\\/face\\/b85a508793bd96deec61e2491d60e68f10378395.jpg\" }, \"item\": { \"rp_id\": 516803952918881881, \"uid\": 1192711092, \"content\": \"给我也整一个,我太爱了#漫画节#,#哔哩哔哩漫画#\", \"ctrl\": \"\", \"orig_dy_id\": 516417934145814823, \"pre_dy_id\": 516417934145814823, \"timestamp\": 1619166197, \"reply\": 0, \"orig_type\": 2 }, \"origin\": \"{\\\"item\\\":{\\\"at_control\\\":\\\"[{\\\\\\\"data\\\\\\\":\\\\\\\"5\\\\\\\",\\\\\\\"length\\\\\\\":0,\\\\\\\"location\\\\\\\":0,\\\\\\\"type\\\\\\\":2}]\\\",\\\"category\\\":\\\"daily\\\",\\\"description\\\":\\\"​互动抽奖 【关+转】抽3位幸运小伙伴送【哔哩哔哩漫画商城 · 50元图书无门槛优惠券】~\\\\n【#漫画节# 买书礼】商城图书活动开启,23日0点抢新书秒杀,最高立减160元!\\\\n《罗小黑战记 兰溪镇2》《我是蜘蛛又怎样》等多款新书5元起!\\\\n更有8折立减券,来商城看看吧!\\\\n[羞羞] 活动指路:#哔哩哔哩漫画#APP - 我的 - 漫画商城\\\",\\\"id\\\":131093146,\\\"is_fav\\\":0,\\\"pictures\\\":[{\\\"img_height\\\":600,\\\"img_size\\\":251.2998046875,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/1103a166b95de39f9f05455fed2bcfce5edfacc6.jpg\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1200}],\\\"pictures_count\\\":1,\\\"reply\\\":857,\\\"role\\\":[],\\\"settings\\\":{\\\"copy_forbidden\\\":\\\"0\\\"},\\\"source\\\":[],\\\"title\\\":\\\"\\\",\\\"upload_time\\\":1619076320},\\\"user\\\":{\\\"head_url\\\":\\\"https:\\\\\\/\\\\\\/i1.hdslb.com\\\\\\/bfs\\\\\\/face\\\\\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\\\",\\\"name\\\":\\\"哔哩哔哩漫画\\\",\\\"uid\\\":326499679,\\\"vip\\\":{\\\"avatar_subscript\\\":1,\\\"due_date\\\":1941033600000,\\\"label\\\":{\\\"label_theme\\\":\\\"ten_annual_vip\\\",\\\"path\\\":\\\"\\\",\\\"text\\\":\\\"十年大会员\\\"},\\\"nickname_color\\\":\\\"#FB7299\\\",\\\"status\\\":1,\\\"theme_type\\\":0,\\\"type\\\":2,\\\"vip_pay_type\\\":0}}}\", \"origin_extension\": { \"lott\": \"{\\\"lottery_id\\\":61227}\" }, \"origin_extend_json\": \"{\\\"\\\":{\\\"manga\\\":{\\\"manga_id\\\":26551}},\\\"ctrl\\\":[{\\\"data\\\":\\\"5\\\",\\\"length\\\":0,\\\"location\\\":0,\\\"type\\\":2}],\\\"from\\\":{\\\"emoji_type\\\":1,\\\"from\\\":\\\"create.dynamic.web\\\",\\\"up_close_comment\\\":0,\\\"verify\\\":{\\\"cc\\\":{\\\"vf\\\":1}}},\\\"like_icon\\\":{\\\"action\\\":\\\"\\\",\\\"action_url\\\":\\\"\\\",\\\"end\\\":\\\"\\\",\\\"end_url\\\":\\\"\\\",\\\"start\\\":\\\"\\\",\\\"start_url\\\":\\\"\\\"},\\\"lott\\\":{\\\"lottery_id\\\":61227},\\\"topic\\\":{\\\"is_attach_topic\\\":1}}\", \"origin_user\": { \"info\": { \"uid\": 326499679, \"uname\": \"哔哩哔哩漫画\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\" }, \"card\": { \"official_verify\": { \"type\": 1, \"desc\": \"哔哩哔哩漫画官方账号\" } }, \"vip\": { \"vipType\": 2, \"vipDueDate\": 1941033600000, \"vipStatus\": 1, \"themeType\": 0, \"label\": { \"path\": \"\", \"text\": \"十年大会员\", \"label_theme\": \"ten_annual_vip\", \"text_color\": \"#FFFFFF\", \"bg_style\": 1, \"bg_color\": \"#FB7299\", \"border_color\": \"\" }, \"avatar_subscript\": 1, \"nickname_color\": \"#FB7299\", \"role\": 7, \"avatar_subscript_url\": \"https:\\/\\/i0.hdslb.com\\/bfs\\/vip\\/icon_Certification_big_member_22_3x.png\" }, \"pendant\": { \"pid\": 0, \"name\": \"\", \"image\": \"\", \"expire\": 0, \"image_enhance\": \"\", \"image_enhance_frame\": \"\" }, \"rank\": \"10000\", \"sign\": \"↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑\", \"level_info\": { \"current_level\": 6 } }, \"activity_infos\": { \"details\": [ { \"type\": 1, \"detail\": \"{\\\"is_show\\\":1,\\\"topic_id\\\":877418,\\\"topic_link\\\":\\\"https:\\\\\\/\\\\\\/www.bilibili.com\\\\\\/blackboard\\\\\\/activity-7uSyvlCGRS.html\\\",\\\"topic_name\\\":\\\"漫画节\\\"}\" } ] } }", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"create.comment\",\"up_close_comment\":0},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 877418, - "topic_name": "漫画节", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/activity-7uSyvlCGRS.html" - }, - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "origin": { - "topic_info": { - "topic_details": [ - { - "topic_id": 877418, - "topic_name": "漫画节", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/activity-7uSyvlCGRS.html" - }, - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[羞羞]", - "id": 2901, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[羞羞]", - "url": "https://i0.hdslb.com/bfs/emote/f4f9171e4d8c3f30827a8b96ea1ce1beb825ad50.png", - "meta": { - "size": 1 - }, - "mtime": 1606448649 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "attach_card": { - "type": "manga", - "head_text": "相关漫画作品", - "cover_url": "https://i0.hdslb.com/bfs/manga-static/e79378436e02fd7f227b901efb9fe79c2df9499c.jpg", - "cover_type": 2, - "title": "罗小黑战记·蓝溪镇", - "desc_first": "更新至068", - "desc_second": "搞笑,治愈,古风", - "jump_url": "https://manga.bilibili.com/m/detail/mc26551?from=sub_card", - "button": { - "type": 2, - "uncheck": { - "icon": "https://i0.hdslb.com/bfs/bangumi/154b6898d2b2c20c21ccef9e41fcf809b518ebb4.png", - "text": "追漫" - }, - "check": { - "icon": "", - "text": "已追漫" - }, - "status": 1 - }, - "oid_str": "26551" - }, - "tags": [ - { - "tag_type": 3, - "sub_type": 1, - "icon": "https://i0.hdslb.com/bfs/album/4c1880a3e9d5fd2c72b339929a73a4b83d2bab93.png", - "text": "漫画节", - "link": "https://www.bilibili.com/blackboard/activity-7uSyvlCGRS.html?topic_from=topic-card&name=%E6%BC%AB%E7%94%BB%E8%8A%82", - "rid": 877418, - "sub_module": "topic" - } - ], - "add_on_card_info": [ - { - "add_on_card_show_type": 2, - "attach_card": { - "type": "manga", - "head_text": "相关漫画作品", - "cover_url": "https://i0.hdslb.com/bfs/manga-static/e79378436e02fd7f227b901efb9fe79c2df9499c.jpg", - "cover_type": 2, - "title": "罗小黑战记·蓝溪镇", - "desc_first": "更新至068", - "desc_second": "搞笑,治愈,古风", - "jump_url": "https://manga.bilibili.com/m/detail/mc26551?from=sub_card", - "button": { - "type": 2, - "uncheck": { - "icon": "https://i0.hdslb.com/bfs/bangumi/154b6898d2b2c20c21ccef9e41fcf809b518ebb4.png", - "text": "追漫" - }, - "check": { - "icon": "", - "text": "已追漫" - }, - "status": 1 - }, - "oid_str": "26551" - } - } - ], - "show_tip": { - "del_tip": "要删除动态吗?" - } - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 1365116, - "type": 1, - "rid": 516801496201774949, - "acl": 0, - "view": 185, - "repost": 0, - "comment": 0, - "like": 0, - "is_liked": 0, - "dynamic_id": 516801496202094777, - "timestamp": 1619165625, - "pre_dy_id": 516417934145814823, - "orig_dy_id": 516417934145814823, - "orig_type": 2, - "user_profile": { - "info": { - "uid": 1365116, - "uname": "濑户的海参", - "face": "https://i2.hdslb.com/bfs/face/8426c61be9c3ccd2296d080a54691c3bed5f2f9f.jpg" - }, - "card": { - "official_verify": { - "type": -1, - "desc": "" - } - }, - "vip": { - "vipType": 0, - "vipDueDate": 0, - "vipStatus": 0, - "themeType": 0, - "label": { - "path": "", - "text": "", - "label_theme": "", - "text_color": "", - "bg_style": 0, - "bg_color": "", - "border_color": "" - }, - "avatar_subscript": 0, - "nickname_color": "", - "role": 0, - "avatar_subscript_url": "" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "", - "level_info": { - "current_level": 5 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "516801496202094777", - "pre_dy_id_str": "516417934145814823", - "orig_dy_id_str": "516417934145814823", - "rid_str": "516801496201774949", - "origin": { - "uid": 326499679, - "type": 2, - "rid": 131093146, - "acl": 1024, - "view": 1794629, - "repost": 10824, - "dynamic_id": 516417934145814823, - "timestamp": 1619076320, - "uid_type": 1, - "r_type": 1, - "status": 1, - "dynamic_id_str": "516417934145814823", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131093146" - } - }, - "card": "{ \"user\": { \"uid\": 1365116, \"uname\": \"濑户的海参\", \"face\": \"https:\\/\\/i2.hdslb.com\\/bfs\\/face\\/8426c61be9c3ccd2296d080a54691c3bed5f2f9f.jpg\" }, \"item\": { \"rp_id\": 516801496201774949, \"uid\": 1365116, \"content\": \"嗯哼#漫画节#,#哔哩哔哩漫画#\", \"ctrl\": \"\", \"orig_dy_id\": 516417934145814823, \"pre_dy_id\": 516417934145814823, \"timestamp\": 1619165625, \"reply\": 0, \"orig_type\": 2 }, \"origin\": \"{\\\"item\\\":{\\\"at_control\\\":\\\"[{\\\\\\\"data\\\\\\\":\\\\\\\"5\\\\\\\",\\\\\\\"length\\\\\\\":0,\\\\\\\"location\\\\\\\":0,\\\\\\\"type\\\\\\\":2}]\\\",\\\"category\\\":\\\"daily\\\",\\\"description\\\":\\\"​互动抽奖 【关+转】抽3位幸运小伙伴送【哔哩哔哩漫画商城 · 50元图书无门槛优惠券】~\\\\n【#漫画节# 买书礼】商城图书活动开启,23日0点抢新书秒杀,最高立减160元!\\\\n《罗小黑战记 兰溪镇2》《我是蜘蛛又怎样》等多款新书5元起!\\\\n更有8折立减券,来商城看看吧!\\\\n[羞羞] 活动指路:#哔哩哔哩漫画#APP - 我的 - 漫画商城\\\",\\\"id\\\":131093146,\\\"is_fav\\\":0,\\\"pictures\\\":[{\\\"img_height\\\":600,\\\"img_size\\\":251.2998046875,\\\"img_src\\\":\\\"https:\\\\\\/\\\\\\/i0.hdslb.com\\\\\\/bfs\\\\\\/album\\\\\\/1103a166b95de39f9f05455fed2bcfce5edfacc6.jpg\\\",\\\"img_tags\\\":null,\\\"img_width\\\":1200}],\\\"pictures_count\\\":1,\\\"reply\\\":857,\\\"role\\\":[],\\\"settings\\\":{\\\"copy_forbidden\\\":\\\"0\\\"},\\\"source\\\":[],\\\"title\\\":\\\"\\\",\\\"upload_time\\\":1619076320},\\\"user\\\":{\\\"head_url\\\":\\\"https:\\\\\\/\\\\\\/i1.hdslb.com\\\\\\/bfs\\\\\\/face\\\\\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\\\",\\\"name\\\":\\\"哔哩哔哩漫画\\\",\\\"uid\\\":326499679,\\\"vip\\\":{\\\"avatar_subscript\\\":1,\\\"due_date\\\":1941033600000,\\\"label\\\":{\\\"label_theme\\\":\\\"ten_annual_vip\\\",\\\"path\\\":\\\"\\\",\\\"text\\\":\\\"十年大会员\\\"},\\\"nickname_color\\\":\\\"#FB7299\\\",\\\"status\\\":1,\\\"theme_type\\\":0,\\\"type\\\":2,\\\"vip_pay_type\\\":0}}}\", \"origin_extension\": { \"lott\": \"{\\\"lottery_id\\\":61227}\" }, \"origin_extend_json\": \"{\\\"\\\":{\\\"manga\\\":{\\\"manga_id\\\":26551}},\\\"ctrl\\\":[{\\\"data\\\":\\\"5\\\",\\\"length\\\":0,\\\"location\\\":0,\\\"type\\\":2}],\\\"from\\\":{\\\"emoji_type\\\":1,\\\"from\\\":\\\"create.dynamic.web\\\",\\\"up_close_comment\\\":0,\\\"verify\\\":{\\\"cc\\\":{\\\"vf\\\":1}}},\\\"like_icon\\\":{\\\"action\\\":\\\"\\\",\\\"action_url\\\":\\\"\\\",\\\"end\\\":\\\"\\\",\\\"end_url\\\":\\\"\\\",\\\"start\\\":\\\"\\\",\\\"start_url\\\":\\\"\\\"},\\\"lott\\\":{\\\"lottery_id\\\":61227},\\\"topic\\\":{\\\"is_attach_topic\\\":1}}\", \"origin_user\": { \"info\": { \"uid\": 326499679, \"uname\": \"哔哩哔哩漫画\", \"face\": \"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\" }, \"card\": { \"official_verify\": { \"type\": 1, \"desc\": \"哔哩哔哩漫画官方账号\" } }, \"vip\": { \"vipType\": 2, \"vipDueDate\": 1941033600000, \"vipStatus\": 1, \"themeType\": 0, \"label\": { \"path\": \"\", \"text\": \"十年大会员\", \"label_theme\": \"ten_annual_vip\", \"text_color\": \"#FFFFFF\", \"bg_style\": 1, \"bg_color\": \"#FB7299\", \"border_color\": \"\" }, \"avatar_subscript\": 1, \"nickname_color\": \"#FB7299\", \"role\": 7, \"avatar_subscript_url\": \"https:\\/\\/i0.hdslb.com\\/bfs\\/vip\\/icon_Certification_big_member_22_3x.png\" }, \"pendant\": { \"pid\": 0, \"name\": \"\", \"image\": \"\", \"expire\": 0, \"image_enhance\": \"\", \"image_enhance_frame\": \"\" }, \"rank\": \"10000\", \"sign\": \"↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑\", \"level_info\": { \"current_level\": 6 } }, \"activity_infos\": { \"details\": [ { \"type\": 1, \"detail\": \"{\\\"is_show\\\":1,\\\"topic_id\\\":877418,\\\"topic_link\\\":\\\"https:\\\\\\/\\\\\\/www.bilibili.com\\\\\\/blackboard\\\\\\/activity-7uSyvlCGRS.html\\\",\\\"topic_name\\\":\\\"漫画节\\\"}\" } ] } }", - "extend_json": "{\"from\":{\"emoji_type\":1,\"from\":\"create.comment\",\"up_close_comment\":0},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 877418, - "topic_name": "漫画节", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/activity-7uSyvlCGRS.html" - }, - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "origin": { - "topic_info": { - "topic_details": [ - { - "topic_id": 877418, - "topic_name": "漫画节", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/activity-7uSyvlCGRS.html" - }, - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[羞羞]", - "id": 2901, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[羞羞]", - "url": "https://i0.hdslb.com/bfs/emote/f4f9171e4d8c3f30827a8b96ea1ce1beb825ad50.png", - "meta": { - "size": 1 - }, - "mtime": 1606448649 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "attach_card": { - "type": "manga", - "head_text": "相关漫画作品", - "cover_url": "https://i0.hdslb.com/bfs/manga-static/e79378436e02fd7f227b901efb9fe79c2df9499c.jpg", - "cover_type": 2, - "title": "罗小黑战记·蓝溪镇", - "desc_first": "更新至068", - "desc_second": "搞笑,治愈,古风", - "jump_url": "https://manga.bilibili.com/m/detail/mc26551?from=sub_card", - "button": { - "type": 2, - "uncheck": { - "icon": "https://i0.hdslb.com/bfs/bangumi/154b6898d2b2c20c21ccef9e41fcf809b518ebb4.png", - "text": "追漫" - }, - "check": { - "icon": "", - "text": "已追漫" - }, - "status": 1 - }, - "oid_str": "26551" - }, - "tags": [ - { - "tag_type": 3, - "sub_type": 1, - "icon": "https://i0.hdslb.com/bfs/album/4c1880a3e9d5fd2c72b339929a73a4b83d2bab93.png", - "text": "漫画节", - "link": "https://www.bilibili.com/blackboard/activity-7uSyvlCGRS.html?topic_from=topic-card&name=%E6%BC%AB%E7%94%BB%E8%8A%82", - "rid": 877418, - "sub_module": "topic" - } - ], - "add_on_card_info": [ - { - "add_on_card_show_type": 2, - "attach_card": { - "type": "manga", - "head_text": "相关漫画作品", - "cover_url": "https://i0.hdslb.com/bfs/manga-static/e79378436e02fd7f227b901efb9fe79c2df9499c.jpg", - "cover_type": 2, - "title": "罗小黑战记·蓝溪镇", - "desc_first": "更新至068", - "desc_second": "搞笑,治愈,古风", - "jump_url": "https://manga.bilibili.com/m/detail/mc26551?from=sub_card", - "button": { - "type": 2, - "uncheck": { - "icon": "https://i0.hdslb.com/bfs/bangumi/154b6898d2b2c20c21ccef9e41fcf809b518ebb4.png", - "text": "追漫" - }, - "check": { - "icon": "", - "text": "已追漫" - }, - "status": 1 - }, - "oid_str": "26551" - } - } - ], - "show_tip": { - "del_tip": "要删除动态吗?" - } - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 1902548007, - "type": 2, - "rid": 131192629, - "view": 1537, - "repost": 0, - "comment": 1, - "like": 18, - "is_liked": 0, - "dynamic_id": 516737432462144044, - "timestamp": 1619150709, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 1902548007, - "uname": "BV社", - "face": "https://i0.hdslb.com/bfs/face/48f8e6afa688e37b9f1e3721a86bea8ce02688dc.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "BV社官方账号" - } - }, - "vip": { - "vipType": 0, - "vipDueDate": 0, - "vipStatus": 0, - "themeType": 0, - "label": { - "path": "", - "text": "", - "label_theme": "", - "text_color": "", - "bg_style": 0, - "bg_color": "", - "border_color": "" - }, - "avatar_subscript": 0, - "nickname_color": "", - "role": 0, - "avatar_subscript_url": "" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "Vomic,让你爱的漫画更动听", - "level_info": { - "current_level": 2 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "r_type": 1, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "516737432462144044", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131192629" - }, - "card": "{\"item\":{\"at_control\":\"[{\\\"location\\\":111,\\\"type\\\":1,\\\"length\\\":8,\\\"data\\\":\\\"326499679\\\"},{\\\"location\\\":122,\\\"type\\\":1,\\\"length\\\":5,\\\"data\\\":\\\"1902548007\\\"},{\\\"location\\\":130,\\\"type\\\":1,\\\"length\\\":6,\\\"data\\\":\\\"1740792\\\"}]\",\"category\":\"daily\",\"description\":\"#哔哩哔哩漫画#独家,#神赐予我这种尴尬的超能力究竟有什么用?# #Vomic# 这粉色情侣套间是怎么回事?搞这么大排场!?2021年4月9日起每周五更新!更多精彩,小剧场,花絮,尽在哔哩哔哩漫画APP \\n \\n出品:@哔哩哔哩漫画\\n策划:@BV社\\n承制:@音熊联萌 \",\"id\":131192629,\"is_fav\":0,\"pictures\":[{\"img_height\":2400,\"img_size\":2546.9873046875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/b355832bc3bf9196f9a6e024504b99279e1463fa.jpg\",\"img_tags\":null,\"img_width\":2400}],\"pictures_count\":1,\"reply\":1,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619150709},\"user\":{\"head_url\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/face\\/48f8e6afa688e37b9f1e3721a86bea8ce02688dc.jpg\",\"name\":\"BV社\",\"uid\":1902548007,\"vip\":{\"avatar_subscript\":0,\"due_date\":0,\"label\":{\"label_theme\":\"\",\"path\":\"\",\"text\":\"\"},\"nickname_color\":\"\",\"status\":0,\"theme_type\":0,\"type\":0,\"vip_pay_type\":0}}}", - "extend_json": "{\"ctrl\":[{\"data\":\"326499679\",\"length\":8,\"location\":111,\"type\":1},{\"data\":\"1902548007\",\"length\":5,\"location\":122,\"type\":1},{\"data\":\"1740792\",\"length\":6,\"location\":130,\"type\":1}],\"from\":{\"emoji_type\":1,\"from\":\"timer.publish\",\"up_close_comment\":0,\"verify\":{\"asw\":{\"fl\":15,\"nv\":1},\"sw\":{\"fl\":15,\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 15321050, - "topic_name": "神赐予我这种尴尬的超能力究竟有什么用?", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 3208432, - "topic_name": "Vomic", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/106426" - }, - { - "topic_id": 37542, - "topic_name": "VOMIC", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/106283" - }, - { - "topic_id": 8972604, - "topic_name": "vomic", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/106766" - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 326499679, - "type": 8, - "rid": 332648194, - "view": 2470218, - "repost": 11, - "like": 8329, - "is_liked": 0, - "dynamic_id": 516720707859405128, - "timestamp": 1619146815, - "orig_dy_id": 516720707860453704, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "r_type": 1, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "516720707859405128", - "pre_dy_id_str": "0", - "orig_dy_id_str": "516720707860453704", - "rid_str": "332648194", - "origin": { - "uid": 628215255, - "type": 8, - "rid": 332648194, - "view": 4802, - "repost": 18, - "dynamic_id": 516720707860453704, - "timestamp": 1619146815, - "uid_type": 1, - "r_type": 1, - "status": 1, - "dynamic_id_str": "516720707860453704", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "332648194", - "bvid": "BV1eA411L7Ck" - }, - "bvid": "BV1eA411L7Ck" - }, - "card": "{\"aid\":332648194,\"attribute\":0,\"cid\":327661869,\"copyright\":1,\"ctime\":1619091334,\"desc\":\"漫画节之际,恰逢世界读书日,哔哩哔哩漫画联合欧漫达高,邀请到了法国驻上海总领事馆文化领事柯梅燕女士在线推荐漫画啦!\\n被称为“图像小说”的纯正法国漫画是什么样呢?让我们一起跟着柯梅燕女士的介绍看看这本《莫奈逐光者》,领略欧陆漫画艺术的独特魅力吧~\",\"dimension\":{\"height\":2160,\"rotate\":0,\"width\":3840},\"duration\":219,\"dynamic\":\"漫画节之际,恰逢世界读书日,法国驻上海总领事馆文化领事柯梅燕女士应哔哩哔哩漫画与@欧漫达高 邀请,来给大家推荐漫画啦!\",\"item\":{\"at_control\":\"\"},\"jump_url\":\"bilibili:\\/\\/video\\/332648194\\/?page=1&player_preload=null&player_width=3840&player_height=2160&player_rotate=0\",\"mission_id\":20024,\"owner\":{\"face\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/face\\/341a390cbae7efc021d3c492da56665f2a4944ee.jpg\",\"mid\":628215255,\"name\":\"faguowenhua\"},\"pic\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/archive\\/7de60703c311c2afae10fab44a18bd3fbb5b3a13.jpg\",\"player_info\":null,\"pubdate\":1619146812,\"rights\":{\"autoplay\":1,\"bp\":0,\"download\":0,\"elec\":0,\"hd5\":1,\"is_cooperation\":1,\"movie\":0,\"no_background\":0,\"no_reprint\":1,\"pay\":0,\"ugc_pay\":0,\"ugc_pay_preview\":0},\"short_link\":\"https:\\/\\/b23.tv\\/BV1eA411L7Ck\",\"short_link_v2\":\"https:\\/\\/b23.tv\\/BV1eA411L7Ck\",\"stat\":{\"aid\":332648194,\"coin\":291,\"danmaku\":18,\"dislike\":0,\"favorite\":295,\"his_rank\":0,\"like\":8329,\"now_rank\":0,\"reply\":148,\"share\":95,\"view\":42929},\"state\":0,\"tid\":124,\"title\":\"大师的故事《莫奈逐光者》——来自法国文化领事的漫画推荐│哔哩哔哩漫画节\",\"tname\":\"社科人文\",\"videos\":1}", - "extend_json": "{\"\":{\"ogv\":{\"ogv_id\":0}},\"dispute\":{\"content\":\"\"},\"from\":{\"from\":\"\",\"verify\":{}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "activity_infos": { - "details": [ - { - "type": 1, - "detail": "{\"is_show\":1,\"topic_id\":877418,\"topic_link\":\"https:\\/\\/www.bilibili.com\\/blackboard\\/activity-7uSyvlCGRS.html\",\"topic_name\":\"漫画节\"}" - } - ] - }, - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 19380831, - "topic_name": "2021读书日", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 1449371, - "topic_name": "法国漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 877418, - "topic_name": "漫画节", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/activity-7uSyvlCGRS.html" - }, - { - "topic_id": 591844, - "topic_name": "莫奈", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 507003, - "topic_name": "欧漫", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "usr_action_txt": "与他人联合创作", - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "tags": [ - { - "tag_type": 3, - "sub_type": 1, - "icon": "https://i0.hdslb.com/bfs/album/4c1880a3e9d5fd2c72b339929a73a4b83d2bab93.png", - "text": "漫画节", - "link": "https://www.bilibili.com/blackboard/activity-7uSyvlCGRS.html?topic_from=topic-card&name=%E6%BC%AB%E7%94%BB%E8%8A%82", - "rid": 877418, - "sub_module": "topic" - } - ], - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - }, - "cover_play_icon_url": "https://i0.hdslb.com/bfs/album/2269afa7897830b397797ebe5f032b899b405c67.png" - } - }, - { - "desc": { - "uid": 326499679, - "type": 2, - "rid": 131140536, - "view": 2969785, - "repost": 11, - "comment": 55, - "like": 5077, - "is_liked": 0, - "dynamic_id": 516519647563103432, - "timestamp": 1619100002, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "r_type": 1, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "516519647563103432", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131140536" - }, - "card": "{\"item\":{\"at_control\":\"\",\"category\":\"daily\",\"description\":\"【#哔哩哔哩漫画# 作品推荐】《#蘑菇汤#》:https:\\/\\/manga.bilibili.com\\/m\\/detail\\/mc29622\\n[霜叶-疑问]才刚转学离开了熟悉的朋友们,就被爸爸送的“生日礼物”震惊到!\\n[煌-震撼]在2次敲打礼物树后,雅丽瞬间往地下坠落?!魅力无穷的蘑菇族的故事现在开始! \",\"id\":131140536,\"is_fav\":0,\"pictures\":[{\"img_height\":960,\"img_size\":198.8623046875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/b9f8d6849478db32593ebd4b6b452b873c989fae.jpg\",\"img_tags\":null,\"img_width\":720},{\"img_height\":4532,\"img_size\":4342.27734375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/ce9803ca6c0e3424cebcfa42fc4d9a59e809f3d7.jpg\",\"img_tags\":null,\"img_width\":1280},{\"img_height\":2293,\"img_size\":298.7080078125,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/d52ce6a063eba9c8256458e85e776cd3c82b07f7.jpg\",\"img_tags\":null,\"img_width\":1280},{\"img_height\":4122,\"img_size\":2115.80859375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/7bd83bd470376334a3c5ce9266cb6f045cb72faa.jpg\",\"img_tags\":null,\"img_width\":1280},{\"img_height\":4149,\"img_size\":1425.8837890625,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/80aaba99dbc558287b89aa961329e15814ff85a2.jpg\",\"img_tags\":null,\"img_width\":1280},{\"img_height\":5019,\"img_size\":1546.1396484375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/3a86cdd61a701559935bf87bdd7a3f68f59cf5f6.jpg\",\"img_tags\":null,\"img_width\":1280}],\"pictures_count\":6,\"reply\":55,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619100002},\"user\":{\"head_url\":\"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\",\"name\":\"哔哩哔哩漫画\",\"uid\":326499679,\"vip\":{\"avatar_subscript\":1,\"due_date\":1941033600000,\"label\":{\"label_theme\":\"ten_annual_vip\",\"path\":\"\",\"text\":\"十年大会员\"},\"nickname_color\":\"#FB7299\",\"status\":1,\"theme_type\":0,\"type\":2,\"vip_pay_type\":0}}}", - "extend_json": "{\"\":{\"manga\":{\"manga_id\":29622}},\"from\":{\"emoji_type\":1,\"from\":\"timer.publish\",\"up_close_comment\":0,\"verify\":{\"cc\":{\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 699, - "topic_name": "蘑菇汤", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[煌-震撼]", - "id": 3047, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[煌-震撼]", - "url": "https://i0.hdslb.com/bfs/emote/7bb39ac289bc97fe52af047020a9bf324ecdebe1.png", - "meta": { - "size": 1 - }, - "mtime": 1608785082 - }, - { - "emoji_name": "[霜叶-疑问]", - "id": 3048, - "package_id": 1, - "state": 0, - "type": 1, - "attr": 0, - "text": "[霜叶-疑问]", - "url": "https://i0.hdslb.com/bfs/emote/ada3aea8594e724511c1daad15fb3b23900d8e24.png", - "meta": { - "size": 1 - }, - "mtime": 1608785082 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "attach_card": { - "type": "manga", - "head_text": "相关漫画作品", - "cover_url": "https://i0.hdslb.com/bfs/manga-static/72bb5ca8058c0a5b19093136f09a77c2dca707cb.jpg", - "cover_type": 2, - "title": "蘑菇汤", - "desc_first": "更新至13", - "desc_second": "奇幻,日常,治愈", - "jump_url": "https://manga.bilibili.com/m/detail/mc29622?from=sub_card", - "button": { - "type": 2, - "uncheck": { - "icon": "https://i0.hdslb.com/bfs/bangumi/154b6898d2b2c20c21ccef9e41fcf809b518ebb4.png", - "text": "追漫" - }, - "check": { - "icon": "", - "text": "已追漫" - }, - "status": 1 - }, - "oid_str": "29622" - }, - "add_on_card_info": [ - { - "add_on_card_show_type": 2, - "attach_card": { - "type": "manga", - "head_text": "相关漫画作品", - "cover_url": "https://i0.hdslb.com/bfs/manga-static/72bb5ca8058c0a5b19093136f09a77c2dca707cb.jpg", - "cover_type": 2, - "title": "蘑菇汤", - "desc_first": "更新至13", - "desc_second": "奇幻,日常,治愈", - "jump_url": "https://manga.bilibili.com/m/detail/mc29622?from=sub_card", - "button": { - "type": 2, - "uncheck": { - "icon": "https://i0.hdslb.com/bfs/bangumi/154b6898d2b2c20c21ccef9e41fcf809b518ebb4.png", - "text": "追漫" - }, - "check": { - "icon": "", - "text": "已追漫" - }, - "status": 1 - }, - "oid_str": "29622" - } - } - ], - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 326499679, - "type": 2, - "rid": 131131421, - "acl": 0, - "view": 2620670, - "repost": 8, - "comment": 46, - "like": 4764, - "is_liked": 0, - "dynamic_id": 516504207153429574, - "timestamp": 1619096407, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "516504207153429574", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "131131421" - }, - "card": "{\"item\":{\"at_control\":\"\",\"category\":\"daily\",\"description\":\"【#哔哩哔哩漫画# 作品推荐】《#身体互换#》:https:\\/\\/manga.bilibili.com\\/m\\/detail\\/mc29621 \\n[热词系列_害]青梅竹马三人组,同是失恋沦落人,相逢在许愿池边时奇怪的事情发生了……\\n[热词系列_知识增加]什么?我和喜欢的女生互换了身体?!学霸、落落大方、机智果断的属性都出现在我自己的身上,突……突然感觉自己变帅了?\",\"id\":131131421,\"is_fav\":0,\"pictures\":[{\"img_height\":960,\"img_size\":537.4560546875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/0144a1a68b77eb293915fe8e63876a592c39a179.jpg\",\"img_tags\":null,\"img_width\":720},{\"img_height\":2687,\"img_size\":880.25,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/5c169c961e6abe6ed9e19a508d8ce742219fce48.jpg\",\"img_tags\":null,\"img_width\":1280},{\"img_height\":2329,\"img_size\":649.5859375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/20d28936c37fa2c62e9ef5bab0050d670a6074c7.jpg\",\"img_tags\":null,\"img_width\":1280},{\"img_height\":2236,\"img_size\":703.5146484375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/5ddea24d47abb40636d05b1cd07a759eb7fe7967.jpg\",\"img_tags\":null,\"img_width\":1280},{\"img_height\":3472,\"img_size\":714.130859375,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/d1c9aafd4317192c3815fb342aee64887cfd1a6e.jpg\",\"img_tags\":null,\"img_width\":2500},{\"img_height\":6321,\"img_size\":3838.9482421875,\"img_src\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/album\\/f16021df4379261ec1c118d7e2a3b7259e759671.jpg\",\"img_tags\":null,\"img_width\":2500}],\"pictures_count\":6,\"reply\":46,\"role\":[],\"settings\":{\"copy_forbidden\":\"0\"},\"source\":[],\"title\":\"\",\"upload_time\":1619096407},\"user\":{\"head_url\":\"https:\\/\\/i1.hdslb.com\\/bfs\\/face\\/2254162161a60b528cfec449f3450409a81ebc37.jpg\",\"name\":\"哔哩哔哩漫画\",\"uid\":326499679,\"vip\":{\"avatar_subscript\":1,\"due_date\":1941033600000,\"label\":{\"label_theme\":\"ten_annual_vip\",\"path\":\"\",\"text\":\"十年大会员\"},\"nickname_color\":\"#FB7299\",\"status\":1,\"theme_type\":0,\"type\":2,\"vip_pay_type\":0}}}", - "extend_json": "{\"\":{\"manga\":{\"manga_id\":29621}},\"from\":{\"emoji_type\":1,\"from\":\"timer.publish\",\"up_close_comment\":0,\"verify\":{\"cc\":{\"nv\":1}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 200686, - "topic_name": "身体互换", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/20573" - } - ] - }, - "emoji_info": { - "emoji_details": [ - { - "emoji_name": "[热词系列_害]", - "id": 1965, - "package_id": 53, - "state": 0, - "type": 1, - "attr": 2, - "text": "[热词系列_害]", - "url": "https://i0.hdslb.com/bfs/emote/cbe798a194612958537c5282fcca7c3bcd2aa15c.png", - "meta": { - "size": 2 - }, - "mtime": 1598525979 - }, - { - "emoji_name": "[热词系列_知识增加]", - "id": 1937, - "package_id": 53, - "state": 0, - "type": 1, - "attr": 2, - "text": "[热词系列_知识增加]", - "url": "https://i0.hdslb.com/bfs/emote/142409b595982b8210b2958f3d340f3b47942645.png", - "meta": { - "size": 2 - }, - "mtime": 1617293934 - } - ] - }, - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "attach_card": { - "type": "manga", - "head_text": "相关漫画作品", - "cover_url": "https://i0.hdslb.com/bfs/manga-static/2f7e4c1c1e6122c6488ce986d5785319fc329b89.jpg", - "cover_type": 2, - "title": "身体互换", - "desc_first": "更新至15", - "desc_second": "恋爱,校园,奇幻", - "jump_url": "https://manga.bilibili.com/m/detail/mc29621?from=sub_card", - "button": { - "type": 2, - "uncheck": { - "icon": "https://i0.hdslb.com/bfs/bangumi/154b6898d2b2c20c21ccef9e41fcf809b518ebb4.png", - "text": "追漫" - }, - "check": { - "icon": "", - "text": "已追漫" - }, - "status": 1 - }, - "oid_str": "29621" - }, - "add_on_card_info": [ - { - "add_on_card_show_type": 2, - "attach_card": { - "type": "manga", - "head_text": "相关漫画作品", - "cover_url": "https://i0.hdslb.com/bfs/manga-static/2f7e4c1c1e6122c6488ce986d5785319fc329b89.jpg", - "cover_type": 2, - "title": "身体互换", - "desc_first": "更新至15", - "desc_second": "恋爱,校园,奇幻", - "jump_url": "https://manga.bilibili.com/m/detail/mc29621?from=sub_card", - "button": { - "type": 2, - "uncheck": { - "icon": "https://i0.hdslb.com/bfs/bangumi/154b6898d2b2c20c21ccef9e41fcf809b518ebb4.png", - "text": "追漫" - }, - "check": { - "icon": "", - "text": "已追漫" - }, - "status": 1 - }, - "oid_str": "29621" - } - } - ], - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - } - } - }, - { - "desc": { - "uid": 398468825, - "type": 8, - "rid": 545184671, - "acl": 0, - "view": 393, - "repost": 0, - "like": 8, - "is_liked": 0, - "dynamic_id": 516478317094534470, - "timestamp": 1619090379, - "pre_dy_id": 0, - "orig_dy_id": 0, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 398468825, - "uname": "欧漫达高", - "face": "https://i2.hdslb.com/bfs/face/0ba24b18b461b80c5727b5dee9a66bb9e25c1f46.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "欧漫达高文化传媒(上海)有限公司" - } - }, - "vip": { - "vipType": 0, - "vipDueDate": 0, - "vipStatus": 0, - "themeType": 0, - "label": { - "path": "", - "text": "", - "label_theme": "", - "text_color": "", - "bg_style": 0, - "bg_color": "", - "border_color": "" - }, - "avatar_subscript": 0, - "nickname_color": "", - "role": 0, - "avatar_subscript_url": "" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "经典欧洲绘本、漫画、动画集合地。Weibo:欧漫达高 WeChat:DargaudShanghai", - "level_info": { - "current_level": 2 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "516478317094534470", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "545184671", - "bvid": "BV1ki4y1A7Kb" - }, - "card": "{\"aid\":545184671,\"attribute\":0,\"cid\":327679459,\"copyright\":1,\"ctime\":1619090379,\"desc\":\"2151年,由于气候变化,世界人口缩减到了原来的十分之一,人类生活在脆弱的平衡之中。仅剩的7个城市区建立了新的社会生活模式。宇航员西蒙是名为“未来计划”的太空探险任务的一员,但这将是一场有去无回的旅行,承载着人类历史上前所未有的野心。在出发之前,西蒙带儿子尤里兜了最后一次风。开始了解世界的尤里能否明白母亲对完美、对冒险和对未知的渴求呢?\",\"dimension\":{\"height\":1080,\"rotate\":0,\"width\":1920},\"duration\":58,\"dynamic\":\"昨天的科幻欧漫预告片还没看过瘾?今天和另一部科幻漫的编剧一起规划未来吧!这位作者的日常向漫画《双面人生》中文版在#哔哩哔哩漫画#就能看哦~\",\"item\":{\"at_control\":\"\"},\"jump_url\":\"bilibili:\\/\\/video\\/545184671\\/?page=1&player_preload=null&player_width=1920&player_height=1080&player_rotate=0\",\"owner\":{\"face\":\"https:\\/\\/i2.hdslb.com\\/bfs\\/face\\/0ba24b18b461b80c5727b5dee9a66bb9e25c1f46.jpg\",\"mid\":398468825,\"name\":\"欧漫达高\"},\"pic\":\"https:\\/\\/i2.hdslb.com\\/bfs\\/archive\\/3411696f65b2bce0954f1dc66b1adc0a73de398a.jpg\",\"player_info\":null,\"pubdate\":1619090379,\"rights\":{\"autoplay\":1,\"bp\":0,\"download\":0,\"elec\":0,\"hd5\":0,\"is_cooperation\":0,\"movie\":0,\"no_background\":0,\"no_reprint\":1,\"pay\":0,\"ugc_pay\":0,\"ugc_pay_preview\":0},\"short_link\":\"https:\\/\\/b23.tv\\/BV1ki4y1A7Kb\",\"short_link_v2\":\"https:\\/\\/b23.tv\\/BV1ki4y1A7Kb\",\"stat\":{\"aid\":545184671,\"coin\":4,\"danmaku\":0,\"dislike\":0,\"favorite\":1,\"his_rank\":0,\"like\":8,\"now_rank\":0,\"reply\":0,\"share\":1,\"view\":29},\"state\":0,\"tid\":27,\"title\":\"【欧漫作家访谈】《未来计划》(SOON)作者Thomas Cadène采访\",\"tname\":\"综合\",\"videos\":1}", - "extend_json": "{\"\":{\"ogv\":{\"ogv_id\":0}},\"dispute\":{\"content\":\"\"},\"from\":{\"from\":\"\",\"verify\":{\"asw\":{\"fl\":15},\"sw\":{\"fl\":15}}},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 530918, - "topic_name": "动漫杂谈", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 444408, - "topic_name": "编剧", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 43646, - "topic_name": "生态", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 33730, - "topic_name": "法语", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 13619, - "topic_name": "欧美", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 9264, - "topic_name": "宇宙", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "usr_action_txt": "投稿了视频", - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - }, - "cover_play_icon_url": "https://i0.hdslb.com/bfs/album/2269afa7897830b397797ebe5f032b899b405c67.png" - } - }, - { - "desc": { - "uid": 326499679, - "type": 8, - "rid": 630241940, - "view": 2624796, - "repost": 5, - "like": 10051, - "is_liked": 0, - "dynamic_id": 516457881632645972, - "timestamp": 1619085621, - "orig_dy_id": 516457881633694548, - "orig_type": 0, - "user_profile": { - "info": { - "uid": 326499679, - "uname": "哔哩哔哩漫画", - "face": "https://i1.hdslb.com/bfs/face/2254162161a60b528cfec449f3450409a81ebc37.jpg" - }, - "card": { - "official_verify": { - "type": 1, - "desc": "哔哩哔哩漫画官方账号" - } - }, - "vip": { - "vipType": 2, - "vipDueDate": 1941033600000, - "vipStatus": 1, - "themeType": 0, - "label": { - "path": "", - "text": "十年大会员", - "label_theme": "ten_annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "role": 7, - "avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png" - }, - "pendant": { - "pid": 0, - "name": "", - "image": "", - "expire": 0, - "image_enhance": "", - "image_enhance_frame": "" - }, - "rank": "10000", - "sign": "↑ 【关注漫画姬】就送【漫读券5张】,当日或次日登录哔哩哔哩漫画APP即可领取,快来关注领券吧(°∀°)ノ ↑", - "level_info": { - "current_level": 6 - } - }, - "uid_type": 1, - "recommend_info": { - "is_attention": 0 - }, - "r_type": 1, - "topic_board": "C", - "topic_board_desc": "最新", - "status": 1, - "dynamic_id_str": "516457881632645972", - "pre_dy_id_str": "0", - "orig_dy_id_str": "516457881633694548", - "rid_str": "630241940", - "origin": { - "uid": 7435683, - "type": 8, - "rid": 630241940, - "acl": 0, - "view": 32239, - "repost": 13, - "like": 0, - "dynamic_id": 516457881633694548, - "timestamp": 1619085621, - "pre_dy_id": 0, - "orig_dy_id": 0, - "uid_type": 1, - "stype": 0, - "r_type": 1, - "inner_id": 0, - "status": 1, - "dynamic_id_str": "516457881633694548", - "pre_dy_id_str": "0", - "orig_dy_id_str": "0", - "rid_str": "630241940", - "bvid": "BV1b84y1F7qT" - }, - "bvid": "BV1b84y1F7qT" - }, - "card": "{\"aid\":630241940,\"attribute\":0,\"cid\":325729439,\"copyright\":1,\"ctime\":1618830035,\"desc\":\"BGM:No Rainbows In The Desert (Pluto Tapes),歌手名:Unlike Pluto\\n咒术回战单素材,帅就完事!求3连!\",\"dimension\":{\"height\":1080,\"rotate\":0,\"width\":1920},\"duration\":94,\"dynamic\":\"\",\"item\":{\"at_control\":\"\"},\"jump_url\":\"bilibili:\\/\\/video\\/630241940\\/?page=1&player_preload=null&player_width=1920&player_height=1080&player_rotate=0\",\"owner\":{\"face\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/face\\/a536ad1c4c66e17113cfb599fcbb97e03bcdae44.jpg\",\"mid\":7435683,\"name\":\"葉月Mashiro灬\"},\"pic\":\"https:\\/\\/i2.hdslb.com\\/bfs\\/archive\\/663b7f275b0f93356523880aa7e626803168df93.jpg\",\"player_info\":null,\"pubdate\":1619085619,\"rights\":{\"autoplay\":1,\"bp\":0,\"download\":0,\"elec\":0,\"hd5\":1,\"is_cooperation\":1,\"movie\":0,\"no_background\":0,\"no_reprint\":1,\"pay\":0,\"ugc_pay\":0,\"ugc_pay_preview\":0},\"short_link\":\"https:\\/\\/b23.tv\\/BV1b84y1F7qT\",\"short_link_v2\":\"https:\\/\\/b23.tv\\/BV1b84y1F7qT\",\"stat\":{\"aid\":630241940,\"coin\":889,\"danmaku\":146,\"dislike\":0,\"favorite\":1167,\"his_rank\":0,\"like\":10051,\"now_rank\":0,\"reply\":95,\"share\":205,\"view\":61405},\"state\":0,\"tid\":24,\"title\":\"全员高能!这才是咒术回战!\",\"tname\":\"MAD·AMV\",\"videos\":1}", - "extend_json": "{\"\":{\"decoration\":{\"decoration_id\":0},\"game\":{\"game_id\":0},\"manga\":{\"manga_id\":26505},\"match\":{\"match_id\":0},\"official_activity\":{\"official_activity_id\":0},\"ogv\":{\"auto_bind\":0,\"ogv_id\":0},\"pgc\":0,\"pugv\":{\"pugv_id\":0},\"reserve\":{\"reserve_id\":0},\"ugc\":{\"ugc_id\":0}},\"bottom\":{},\"dispute\":{\"content\":\"\"},\"from\":{\"from\":\"\"},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}", - "display": { - "topic_info": { - "topic_details": [ - { - "topic_id": 391, - "topic_name": "AMV", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 281, - "topic_name": "MAD", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 7662089, - "topic_name": "五条悟", - "is_activity": 1, - "topic_link": "https://www.bilibili.com/blackboard/dynamic/66796" - }, - { - "topic_id": 7539944, - "topic_name": "哔哩哔哩漫画", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 6497596, - "topic_name": "咒术回战", - "is_activity": 0, - "topic_link": "" - }, - { - "topic_id": 3545, - "topic_name": "热血", - "is_activity": 0, - "topic_link": "" - } - ] - }, - "usr_action_txt": "与他人联合创作", - "relation": { - "status": 1, - "is_follow": 0, - "is_followed": 0 - }, - "attach_card": { - "type": "manga", - "head_text": "相关漫画作品", - "cover_url": "https://i0.hdslb.com/bfs/manga-static/ca4c24bd8bf896545811f401106c19588b80549d.png", - "cover_type": 2, - "title": "咒术回战", - "desc_first": "更新至146", - "desc_second": "冒险,热血,奇幻", - "jump_url": "https://manga.bilibili.com/m/detail/mc26505?from=sub_card", - "button": { - "type": 2, - "uncheck": { - "icon": "https://i0.hdslb.com/bfs/bangumi/154b6898d2b2c20c21ccef9e41fcf809b518ebb4.png", - "text": "追漫" - }, - "check": { - "icon": "", - "text": "已追漫" - }, - "status": 1 - }, - "oid_str": "26505" - }, - "add_on_card_info": [ - { - "add_on_card_show_type": 2, - "attach_card": { - "type": "manga", - "head_text": "相关漫画作品", - "cover_url": "https://i0.hdslb.com/bfs/manga-static/ca4c24bd8bf896545811f401106c19588b80549d.png", - "cover_type": 2, - "title": "咒术回战", - "desc_first": "更新至146", - "desc_second": "冒险,热血,奇幻", - "jump_url": "https://manga.bilibili.com/m/detail/mc26505?from=sub_card", - "button": { - "type": 2, - "uncheck": { - "icon": "https://i0.hdslb.com/bfs/bangumi/154b6898d2b2c20c21ccef9e41fcf809b518ebb4.png", - "text": "追漫" - }, - "check": { - "icon": "", - "text": "已追漫" - }, - "status": 1 - }, - "oid_str": "26505" - } - } - ], - "up_act_button": { - "report_title": "举报", - "founder_report_title": "举报(发起人)", - "top_title": "置顶", - "top_confirm_title": "确定将此动态置顶吗", - "top_cancel_title": "确定将此动态取消置顶吗" - }, - "show_tip": { - "del_tip": "要删除动态吗?" - }, - "cover_play_icon_url": "https://i0.hdslb.com/bfs/album/2269afa7897830b397797ebe5f032b899b405c67.png" - } - } - ], - "offset": "516457881632645972", - "_gt_": 0 - } -} -``` -</details> \ No newline at end of file diff --git a/docs/dynamic/topic.md b/docs/dynamic/topic.md index 570367d..d553635 100644 --- a/docs/dynamic/topic.md +++ b/docs/dynamic/topic.md @@ -1,4 +1,5114 @@ -# 话题搜索 +# 话题 + +## 获取话题下动态列表 + +> https://api.bilibili.com/x/polymer/web-dynamic/v1/feed/topic +> https://app.bilibili.com/x/topic/web/details/cards + +*请求方法: GET* + +**URL 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ---- | ------ | ---- | +| topic_id | number | 话题 ID | 必要 | | +| sort_by | number | 排序方式 | 不必要 | 见回复 `data.topic_card_list.topic_sort_by_conf` 对象 | +| offset | string | 偏移量 | 不必要 | 上一次请求回复的 `data.topic_card_list.offset` | +| page_size | number | 每页数量 | 不必要 | 默认为 `20` | +| source | string | 来源 | 不必要 | 如 `Web` (接口 1) `H5` (接口 2) | +| features | string | 功能模块 | 不必要 | 仅接口 1, 如 `itemOpusStyle,listOnlyfans,opusBigCover,onlyfansVote,decorationCard`, 参见 [功能模块](../opus/features.md) | +| web_location | string | `333.1036` | 不必要 | 仅接口 2 | + +**JSON 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| code | number | 返回值 | 0: 成功 | +| data | object | 数据本体 | | +| message | string | 错误信息 | 成功时为 `0` | +| ttl | number | `1` | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| related_topics | object | 相关话题? | 空对象 | +| topic_card_list | object | 话题卡片列表 | | + +`data.topic_card_list` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| has_more | boolean | 是否有更多 | | +| items | object[] | 动态列表 | 套了个娃 | +| offset | string | 偏移量 | | +| topic_sort_by_conf | object | 排序方式配置 | | + +`data.topic_card_list.items[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| dynamic_card_item | object | 动态 | 基本同 [获取全部动态列表](all.md#获取全部动态列表) 的 `data.items[]` 对象 | +| topic_type | string | 话题类型? | 目前所见似乎只有 `"DYNAMIC"` | + +`data.topic_card_list.topic_sort_by_conf` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| all_sort_by | object[] | 全部排序方式 | | +| default_sort_by | number | 默认排序方式 | | +| show_sort_by | number | 展示的排序方式 | | + +`data.topic_card_list.topic_sort_by_conf.all_sort_by[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| sort_by | number | 排序方式 | | +| sort_name | string | 排序名称 | | + +**示例:** + +```shell +curl 'https://api.bilibili.com/x/polymer/web-dynamic/v1/feed/topic?topic_id=34958&sort_by=0&offset=&page_size=20&source=Web&features=itemOpusStyle%2ClistOnlyfans%2CopusBigCover%2ConlyfansVote%2CdecorationCard' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "data": { + "related_topics": {}, + "topic_card_list": { + "has_more": true, + "items": [ + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "114687152757937", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "114687152757937" + }, + "id_str": "1078676238928707587", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i1.hdslb.com/bfs/face/38f6660463a00c412c5cd1917f91bbd8119ee7bc.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.8000000000000002, + "axis_y": 0.8000000000000002, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "rgb(255,255,255)", + "border": "2px solid rgba(255,255,255,1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 4, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "1310515966" + }, + "face": "https://i1.hdslb.com/bfs/face/38f6660463a00c412c5cd1917f91bbd8119ee7bc.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/1310515966/dynamic", + "label": "", + "mid": 1310515966, + "name": "声优音画", + "official_verify": { + "desc": "", + "type": 1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "06月15日", + "pub_ts": 1749987283, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 0, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 0 + } + }, + "module_dynamic": { + "additional": null, + "desc": null, + "major": { + "archive": { + "aid": "114687152757937", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1hCMtzKEyP", + "cover": "http://i2.hdslb.com/bfs/archive/5994a570d9a12a89bcb50258455ff1302efdb97b.jpg", + "desc": "“把妹王”火麟飞携金句杀疯全场,少年意气燃爆童年DNA!\n出镜配音演员:鞠月斌@配音演员鞠月斌", + "disable_preview": 0, + "duration_text": "00:43", + "jump_url": "//www.bilibili.com/video/BV1hCMtzKEyP/", + "stat": { + "danmaku": "69", + "play": "39.3万" + }, + "title": "声优音画|《超兽武装》经典热血回归!", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 328, + "forbidden": false + }, + "forward": { + "count": 6, + "forbidden": false + }, + "like": { + "count": 40598, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + }, + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "473683637", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "473683637" + }, + "id_str": "712669283716431894", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i2.hdslb.com/bfs/face/eba2897173640343e5f9294f365ee0eb2082f525.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.8000000000000002, + "axis_y": 0.8000000000000002, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "rgb(255,255,255)", + "border": "2px solid rgba(255,255,255,1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 1, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "387122516" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/garb/open/86e89e72b134283bf72e66c8e7c6e49b2d26d9e3.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/garb/open/86e89e72b134283bf72e66c8e7c6e49b2d26d9e3.png", + "fan": { + "color": "#BFC8D2", + "color_format": { + "colors": [ + "#B8C7D0FF", + "#A2A7B0FF" + ], + "end_point": "100,100", + "gradients": [ + 0, + 100 + ], + "start_point": "0,0" + }, + "is_fan": 1, + "name": "XXXX", + "num_desc": "008059", + "number": 8059 + }, + "id": 69432, + "image_enhance": "https://i0.hdslb.com/bfs/garb/open/86e89e72b134283bf72e66c8e7c6e49b2d26d9e3.png", + "item_id": 69432, + "jump_url": "https://www.bilibili.com/h5/mall/digital-card/home?act_id=102704&from=post&f_source=garb&-Abrowser=live&hybrid_set_header=2&navhide=1&anchor_task=1", + "name": "名侦探柯南30周年" + }, + "face": "https://i2.hdslb.com/bfs/face/eba2897173640343e5f9294f365ee0eb2082f525.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/387122516/dynamic", + "label": "", + "mid": 387122516, + "name": "橙子面包酱_", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "2022年10月03日", + "pub_ts": 1664769648, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 1, + "avatar_subscript_url": "", + "due_date": 1755273600000, + "label": { + "bg_color": "#FB7299", + "bg_style": 1, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", + "label_theme": "annual_vip", + "path": "http://i0.hdslb.com/bfs/vip/label_annual.png", + "text": "年度大会员", + "text_color": "#FFFFFF", + "use_img_label": true + }, + "nickname_color": "#FB7299", + "status": 1, + "theme_type": 0, + "type": 2 + } + }, + "module_dynamic": { + "additional": null, + "desc": { + "rich_text_nodes": [ + { + "orig_text": "来啦~", + "text": "来啦~", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "来啦~" + }, + "major": { + "archive": { + "aid": "473683637", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1BT411K7Gv", + "cover": "http://i1.hdslb.com/bfs/archive/d9ac37b09af57553b5d313eef60040a133c730d8.jpg", + "desc": "如果再给我一次机会,我一定会早点拍视频,呜呜呜呜拍到凌晨真的太困了dT-Tb\n这首歌很多人点,我也很喜欢!!!(感觉自己没唱好•᷄ࡇ•᷅)", + "disable_preview": 0, + "duration_text": "04:30", + "jump_url": "//www.bilibili.com/video/BV1BT411K7Gv/", + "stat": { + "danmaku": "463", + "play": "53.9万" + }, + "title": "趁17岁唱一首本兮的《未成年》!!!", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 1365, + "forbidden": false + }, + "forward": { + "count": 241, + "forbidden": false + }, + "like": { + "count": 28628, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + }, + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "113231091795405", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "113231091795405" + }, + "id_str": "983253769442557958", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i2.hdslb.com/bfs/face/e84fa744dd3cefd073c446fc7737ff3b2482e3a7.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.8000000000000002, + "axis_y": 0.8000000000000002, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "rgb(255,255,255)", + "border": "2px solid rgba(255,255,255,1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 3, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "2170934" + }, + "face": "https://i2.hdslb.com/bfs/face/e84fa744dd3cefd073c446fc7737ff3b2482e3a7.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/2170934/dynamic", + "label": "", + "mid": 2170934, + "name": "明月庄主", + "official_verify": { + "desc": "", + "type": 0 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "2024年10月01日", + "pub_ts": 1727770008, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 1, + "avatar_subscript_url": "", + "due_date": 1925308800000, + "label": { + "bg_color": "#FB7299", + "bg_style": 1, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/adb599797dd171e2d3d6d012f448b49679258344.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/sGu57N6pgK.png", + "label_theme": "ten_annual_vip", + "path": "http://i0.hdslb.com/bfs/vip/label_annual.png", + "text": "十年大会员", + "text_color": "#FFFFFF", + "use_img_label": true + }, + "nickname_color": "#FB7299", + "status": 1, + "theme_type": 0, + "type": 2 + } + }, + "module_dynamic": { + "additional": null, + "desc": { + "rich_text_nodes": [ + { + "orig_text": "这个MC存档10岁了!明月庄主单机生存开档十周年。存档发布", + "text": "这个MC存档10岁了!明月庄主单机生存开档十周年。存档发布", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "这个MC存档10岁了!明月庄主单机生存开档十周年。存档发布" + }, + "major": { + "archive": { + "aid": "113231091795405", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1RyxYeGEqC", + "cover": "http://i0.hdslb.com/bfs/archive/d91bd52665bbc354a57bb6470a56504373092adf.jpg", + "desc": "这个MC存档10岁了!明月庄主单机生存开档十周年。存档发布\n\n百度网盘:明月庄主的原版单机生存.优化过1.21.1.7z\n链接:https://pan.baidu.com/s/1eKocLGQyo7sVyysEK1t4lA?pwd=moon \n提取码:moon \n我用夸克网盘分享了「明月庄主的原版单机生存.优化过1.21.1.7z」\n链接:https://pan.quark.cn/s/f47bc9c695b7", + "disable_preview": 0, + "duration_text": "09:21", + "jump_url": "//www.bilibili.com/video/BV1RyxYeGEqC/", + "stat": { + "danmaku": "455", + "play": "9.6万" + }, + "title": "这个MC存档10岁了!明月庄主单机生存开档十周年。存档发布", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 883, + "forbidden": false + }, + "forward": { + "count": 33, + "forbidden": false + }, + "like": { + "count": 8656, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + }, + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "812023623", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "812023623" + }, + "id_str": "666777038344945689", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "http://i0.hdslb.com/bfs/face/010e6ac40fef4d6560d5d716128b499ea5edf729.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "36776949" + }, + "face": "http://i0.hdslb.com/bfs/face/010e6ac40fef4d6560d5d716128b499ea5edf729.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/36776949/dynamic", + "label": "", + "mid": 36776949, + "name": "柚子爱好者", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "2022年06月01日", + "pub_ts": 1654084527, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1617552000000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 1 + } + }, + "module_dynamic": { + "additional": null, + "desc": null, + "major": { + "archive": { + "aid": "812023623", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1N34y177uz", + "cover": "http://i1.hdslb.com/bfs/archive/b0ac9129e78b7cc4cc95d685c38b076dc0cdcf8e.jpg", + "desc": "最美好的六一礼物", + "disable_preview": 0, + "duration_text": "02:08", + "jump_url": "//www.bilibili.com/video/BV1N34y177uz/", + "stat": { + "danmaku": "240", + "play": "11.3万" + }, + "title": "最美好的六一礼物", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 359, + "forbidden": false + }, + "forward": { + "count": 26, + "forbidden": false + }, + "like": { + "count": 9186, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + }, + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "687206432", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "687206432" + }, + "id_str": "696709872294559798", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i2.hdslb.com/bfs/face/eba2897173640343e5f9294f365ee0eb2082f525.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.8000000000000002, + "axis_y": 0.8000000000000002, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "rgb(255,255,255)", + "border": "2px solid rgba(255,255,255,1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 1, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "387122516" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/garb/open/86e89e72b134283bf72e66c8e7c6e49b2d26d9e3.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/garb/open/86e89e72b134283bf72e66c8e7c6e49b2d26d9e3.png", + "fan": { + "color": "#BFC8D2", + "color_format": { + "colors": [ + "#B8C7D0FF", + "#A2A7B0FF" + ], + "end_point": "100,100", + "gradients": [ + 0, + 100 + ], + "start_point": "0,0" + }, + "is_fan": 1, + "name": "XXXX", + "num_desc": "008059", + "number": 8059 + }, + "id": 69432, + "image_enhance": "https://i0.hdslb.com/bfs/garb/open/86e89e72b134283bf72e66c8e7c6e49b2d26d9e3.png", + "item_id": 69432, + "jump_url": "https://www.bilibili.com/h5/mall/digital-card/home?act_id=102704&from=post&f_source=garb&-Abrowser=live&hybrid_set_header=2&navhide=1&anchor_task=1", + "name": "名侦探柯南30周年" + }, + "face": "https://i2.hdslb.com/bfs/face/eba2897173640343e5f9294f365ee0eb2082f525.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/387122516/dynamic", + "label": "", + "mid": 387122516, + "name": "橙子面包酱_", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "2022年08月21日", + "pub_ts": 1661053808, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 1, + "avatar_subscript_url": "", + "due_date": 1755273600000, + "label": { + "bg_color": "#FB7299", + "bg_style": 1, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", + "label_theme": "annual_vip", + "path": "http://i0.hdslb.com/bfs/vip/label_annual.png", + "text": "年度大会员", + "text_color": "#FFFFFF", + "use_img_label": true + }, + "nickname_color": "#FB7299", + "status": 1, + "theme_type": 0, + "type": 2 + } + }, + "module_dynamic": { + "additional": null, + "desc": { + "rich_text_nodes": [ + { + "orig_text": "♥(。→v←。)♥本兮本兮本兮", + "text": "♥(。→v←。)♥本兮本兮本兮", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "♥(。→v←。)♥本兮本兮本兮" + }, + "major": { + "archive": { + "aid": "687206432", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1FU4y1k75W", + "cover": "http://i0.hdslb.com/bfs/archive/1890a9b9362d57fe8da5aaf7c52c90b5317e821a.jpg", + "desc": "好多人点这首歌,但是我真的驾驭不了wwww˃ʍ˂\n唱错了几句(ᇂ_ᇂ|||)", + "disable_preview": 0, + "duration_text": "02:55", + "jump_url": "//www.bilibili.com/video/BV1FU4y1k75W/", + "stat": { + "danmaku": "125", + "play": "11万" + }, + "title": "【爷青回系列】《你在看孤独的风景》cover本兮", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 477, + "forbidden": false + }, + "forward": { + "count": 34, + "forbidden": false + }, + "like": { + "count": 5837, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + }, + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "452289087", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "452289087" + }, + "id_str": "875680820193394744", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i2.hdslb.com/bfs/face/9780c885127ddf5ae48b1f98c43e63b97c89ac14.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "7062857" + }, + "face": "https://i2.hdslb.com/bfs/face/9780c885127ddf5ae48b1f98c43e63b97c89ac14.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/7062857/dynamic", + "label": "", + "mid": 7062857, + "name": "星际靓仔", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "2023年12月16日", + "pub_ts": 1702723729, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1747670400000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 1 + } + }, + "module_dynamic": { + "additional": null, + "desc": null, + "major": { + "archive": { + "aid": "452289087", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1vj411p784", + "cover": "http://i1.hdslb.com/bfs/archive/3e50d9370c40bd5ea31ecf84419e02c913e895fa.jpg", + "desc": "非常感谢@君龙-金君龙 老师的音频授权!这首男版的《只凝视着你》燃爆了!好声音值得被更多人听到!\n歌手简介:金君龙,曾用名君龙,出生于吉林省延边,中国朝鲜族歌手、音乐制作人、阿里郎组合主唱。(以上内容来自百度百科)", + "disable_preview": 0, + "duration_text": "04:28", + "jump_url": "//www.bilibili.com/video/BV1vj411p784/", + "stat": { + "danmaku": "529", + "play": "20.3万" + }, + "title": "恐怖如斯!男歌手竟原调翻唱灌篮高手片尾曲《只凝视着你》!", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 508, + "forbidden": false + }, + "forward": { + "count": 23, + "forbidden": false + }, + "like": { + "count": 6151, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + }, + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "684664595", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "684664595" + }, + "id_str": "668133732620697639", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i2.hdslb.com/bfs/face/eba2897173640343e5f9294f365ee0eb2082f525.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.8000000000000002, + "axis_y": 0.8000000000000002, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "rgb(255,255,255)", + "border": "2px solid rgba(255,255,255,1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 1, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "387122516" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/garb/open/86e89e72b134283bf72e66c8e7c6e49b2d26d9e3.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/garb/open/86e89e72b134283bf72e66c8e7c6e49b2d26d9e3.png", + "fan": { + "color": "#BFC8D2", + "color_format": { + "colors": [ + "#B8C7D0FF", + "#A2A7B0FF" + ], + "end_point": "100,100", + "gradients": [ + 0, + 100 + ], + "start_point": "0,0" + }, + "is_fan": 1, + "name": "XXXX", + "num_desc": "008059", + "number": 8059 + }, + "id": 69432, + "image_enhance": "https://i0.hdslb.com/bfs/garb/open/86e89e72b134283bf72e66c8e7c6e49b2d26d9e3.png", + "item_id": 69432, + "jump_url": "https://www.bilibili.com/h5/mall/digital-card/home?act_id=102704&from=post&f_source=garb&-Abrowser=live&hybrid_set_header=2&navhide=1&anchor_task=1", + "name": "名侦探柯南30周年" + }, + "face": "https://i2.hdslb.com/bfs/face/eba2897173640343e5f9294f365ee0eb2082f525.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/387122516/dynamic", + "label": "", + "mid": 387122516, + "name": "橙子面包酱_", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "2022年06月05日", + "pub_ts": 1654400407, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 1, + "avatar_subscript_url": "", + "due_date": 1755273600000, + "label": { + "bg_color": "#FB7299", + "bg_style": 1, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", + "label_theme": "annual_vip", + "path": "http://i0.hdslb.com/bfs/vip/label_annual.png", + "text": "年度大会员", + "text_color": "#FFFFFF", + "use_img_label": true + }, + "nickname_color": "#FB7299", + "status": 1, + "theme_type": 0, + "type": 2 + } + }, + "module_dynamic": { + "additional": null, + "desc": null, + "major": { + "archive": { + "aid": "684664595", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV15U4y117XE", + "cover": "http://i1.hdslb.com/bfs/archive/abb1dbb1b3b194be1f44ee049a065387bef5560b.jpg", + "desc": "-", + "disable_preview": 0, + "duration_text": "02:05", + "jump_url": "//www.bilibili.com/video/BV15U4y117XE/", + "stat": { + "danmaku": "56", + "play": "9.6万" + }, + "title": "当然很《爱你》啦!!!今天是王心凌女孩~", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 290, + "forbidden": false + }, + "forward": { + "count": 17, + "forbidden": false + }, + "like": { + "count": 5214, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + }, + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "703146337", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "703146337" + }, + "id_str": "838814083642818565", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/1d89b423a12ba86987c5c4d4098b285bea645b1c.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.8000000000000002, + "axis_y": 0.8000000000000002, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "rgb(255,255,255)", + "border": "2px solid rgba(255,255,255,1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 1, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "44044545" + }, + "face": "https://i0.hdslb.com/bfs/face/1d89b423a12ba86987c5c4d4098b285bea645b1c.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/44044545/dynamic", + "label": "", + "mid": 44044545, + "name": "双马尾钳子", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "2023年09月08日", + "pub_ts": 1694140023, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 1, + "avatar_subscript_url": "", + "due_date": 1775750400000, + "label": { + "bg_color": "#FB7299", + "bg_style": 1, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", + "label_theme": "annual_vip", + "path": "http://i0.hdslb.com/bfs/vip/label_annual.png", + "text": "年度大会员", + "text_color": "#FFFFFF", + "use_img_label": true + }, + "nickname_color": "#FB7299", + "status": 1, + "theme_type": 0, + "type": 2 + } + }, + "module_dynamic": { + "additional": null, + "desc": { + "rich_text_nodes": [ + { + "orig_text": "雾草我做了四天(咳咳)(吐血)", + "text": "雾草我做了四天(咳咳)(吐血)", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "雾草我做了四天(咳咳)(吐血)" + }, + "major": { + "archive": { + "aid": "703146337", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1gm4y1K7rE", + "cover": "http://i1.hdslb.com/bfs/archive/04aadffdc48e010905a0ca2be4167dc4d5300022.jpg", + "desc": "BGM:BV1hT411L7fk\n剧情梗概:\n威廉和鲍勃本来是一对神界情侣,鲍勃为了保护威廉被乌鸦打落凡间转世为人,威廉为了追寻鲍勃,化身入树中,历经千辛万苦终于也转世为人。然而此时的两人已不认得对方,仅靠缘分结为情侣,却处处互相折磨,在痛苦中越陷越深,最后两人双双放手成全对方,各自踏上了新的人生之路。\n\n内含大量游戏贴图替换,剧情为恶搞,请勿当真!(不会真有人当真吧)", + "disable_preview": 0, + "duration_text": "04:25", + "jump_url": "//www.bilibili.com/video/BV1gm4y1K7rE/", + "stat": { + "danmaku": "193", + "play": "6.8万" + }, + "title": "【锈湖】用仙剑奇侠传三的方式打开锈湖", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 200, + "forbidden": false + }, + "forward": { + "count": 21, + "forbidden": false + }, + "like": { + "count": 5565, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + }, + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "511956063", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "511956063" + }, + "id_str": "664837929337618438", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i1.hdslb.com/bfs/face/04345e01722540db8dce258f8a0051e1a6dba029.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "19954576" + }, + "face": "https://i1.hdslb.com/bfs/face/04345e01722540db8dce258f8a0051e1a6dba029.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/19954576/dynamic", + "label": "", + "mid": 19954576, + "name": "克里斯不关门_", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "2022年05月27日", + "pub_ts": 1653633043, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 0, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 0 + } + }, + "module_dynamic": { + "additional": null, + "desc": { + "rich_text_nodes": [ + { + "orig_text": "王心凌男孩因为一条十年前表演《爱你》的视频 人生第一次被采访了 而且还是央视网…来听听看我的小作文发挥的咋样吧哈哈~还没看过原视频的欢迎来我的主页看看哟~ P.S. 感谢大家之前的热情回应,当年节目的完整版会在这周晚点发,记得关注我才不会错过更新哦 感恩! <3", + "text": "王心凌男孩因为一条十年前表演《爱你》的视频 人生第一次被采访了 而且还是央视网…来听听看我的小作文发挥的咋样吧哈哈~还没看过原视频的欢迎来我的主页看看哟~ P.S. 感谢大家之前的热情回应,当年节目的完整版会在这周晚点发,记得关注我才不会错过更新哦 感恩! <3", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "王心凌男孩因为一条十年前表演《爱你》的视频 人生第一次被采访了 而且还是央视网…来听听看我的小作文发挥的咋样吧哈哈~还没看过原视频的欢迎来我的主页看看哟~ P.S. 感谢大家之前的热情回应,当年节目的完整版会在这周晚点发,记得关注我才不会错过更新哦 感恩! <3" + }, + "major": { + "archive": { + "aid": "511956063", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1zg411o7Sn", + "cover": "http://i0.hdslb.com/bfs/archive/f9969e889d36042a4addfbe6cffc2b1ccf57efc2.jpg", + "desc": "王心凌男孩因为一条十年前表演《爱你》的视频 人生第一次被采访了 而且还是央视网…来听听看我的小作文发挥的咋样吧哈哈~还没看过原视频的欢迎来我的主页看看哟~ P.S. 感谢大家之前的热情回应,当年节目的完整版会在这周晚点发,记得关注我才不会错过更新哦 感恩! <3", + "disable_preview": 0, + "duration_text": "03:16", + "jump_url": "//www.bilibili.com/video/BV1zg411o7Sn/", + "stat": { + "danmaku": "59", + "play": "5.7万" + }, + "title": "王心凌男孩你好 我是央视网记者 可以问你几个问题吗?", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 136, + "forbidden": false + }, + "forward": { + "count": 9, + "forbidden": false + }, + "like": { + "count": 3696, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + }, + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "526638349", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "526638349" + }, + "id_str": "778087296460128312", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "http://i0.hdslb.com/bfs/face/dbe9074fda0c174a851d0d79e1bd27ddaa18c9e5.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "419805517" + }, + "face": "http://i0.hdslb.com/bfs/face/dbe9074fda0c174a851d0d79e1bd27ddaa18c9e5.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/419805517/dynamic", + "label": "", + "mid": 419805517, + "name": "精分小阿夺", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "2023年03月28日", + "pub_ts": 1680000966, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 0, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 0 + } + }, + "module_dynamic": { + "additional": null, + "desc": null, + "major": { + "archive": { + "aid": "526638349", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1xM411g7uZ", + "cover": "http://i2.hdslb.com/bfs/archive/ea2e6054e898241debf1fe991b5e36ab562a11df.jpg", + "desc": "-", + "disable_preview": 0, + "duration_text": "00:47", + "jump_url": "//www.bilibili.com/video/BV1xM411g7uZ/", + "stat": { + "danmaku": "55", + "play": "4.7万" + }, + "title": "有哪些动漫曾带给你“爷青回”的瞬间?", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 45, + "forbidden": false + }, + "forward": { + "count": 0, + "forbidden": false + }, + "like": { + "count": 3410, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + }, + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "726866951", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "726866951" + }, + "id_str": "663496718409531463", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i1.hdslb.com/bfs/face/675aa52717ee9e5aad48e8bd8dd2e1f259b3200c.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.8000000000000002, + "axis_y": 0.8000000000000002, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "rgb(255,255,255)", + "border": "2px solid rgba(255,255,255,1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 1, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "77060623" + }, + "face": "https://i1.hdslb.com/bfs/face/675aa52717ee9e5aad48e8bd8dd2e1f259b3200c.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/77060623/dynamic", + "label": "", + "mid": 77060623, + "name": "pH一sH_肨虎花", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "2022年05月23日", + "pub_ts": 1653320768, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 1, + "avatar_subscript_url": "", + "due_date": 1799596800000, + "label": { + "bg_color": "#FB7299", + "bg_style": 1, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", + "label_theme": "annual_vip", + "path": "http://i0.hdslb.com/bfs/vip/label_annual.png", + "text": "年度大会员", + "text_color": "#FFFFFF", + "use_img_label": true + }, + "nickname_color": "#FB7299", + "status": 1, + "theme_type": 0, + "type": 2 + } + }, + "module_dynamic": { + "additional": null, + "desc": { + "rich_text_nodes": [ + { + "orig_text": "午夜偷袭!", + "text": "午夜偷袭!", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "午夜偷袭!" + }, + "major": { + "archive": { + "aid": "726866951", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1iS4y1z7oC", + "cover": "http://i0.hdslb.com/bfs/archive/8b6fe643251147bc3a1791d028c56aa1c2ac6984.jpg", + "desc": "听到甜心教主的《爱你》真的忍不住了,忍着伤痛画了这一笔,希望能够得到你的三连!", + "disable_preview": 0, + "duration_text": "03:52", + "jump_url": "//www.bilibili.com/video/BV1iS4y1z7oC/", + "stat": { + "danmaku": "310", + "play": "3.3万" + }, + "title": "这一笔,爷青回!王心凌《梦的光点》", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 211, + "forbidden": false + }, + "forward": { + "count": 3, + "forbidden": false + }, + "like": { + "count": 2485, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + }, + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "114820430961589", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "114820430961589" + }, + "id_str": "1087411287614291971", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i1.hdslb.com/bfs/face/20843b2d7edf0d096bd09ff767065ebcec6fb3ad.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "3546766148372797" + }, + "face": "https://i1.hdslb.com/bfs/face/20843b2d7edf0d096bd09ff767065ebcec6fb3ad.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/3546766148372797/dynamic", + "label": "", + "mid": 3546766148372797, + "name": "柿杂乱", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "07月09日", + "pub_ts": 1752021070, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 0, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 0 + } + }, + "module_dynamic": { + "additional": null, + "desc": null, + "major": { + "archive": { + "aid": "114820430961589", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1XMGszTE8s", + "cover": "http://i0.hdslb.com/bfs/archive/ae8caade776af7e197d8b172f18004916d1f2eb8.jpg", + "desc": "这个视频抠图剪辑找素材花了好几天时间,期间运气太非酋抽卡一直不出彩,被迫开了个新号,感谢你对这个系列的支持。", + "disable_preview": 0, + "duration_text": "00:33", + "jump_url": "//www.bilibili.com/video/BV1XMGszTE8s/", + "stat": { + "danmaku": "39", + "play": "1.7万" + }, + "title": "【SCP×BA】SCP蔚蓝档案合作组织。希望这个也能火。", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 223, + "forbidden": false + }, + "forward": { + "count": 2, + "forbidden": false + }, + "like": { + "count": 2092, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + }, + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "946166332", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "946166332" + }, + "id_str": "738695406850932758", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.375, + "width": 1.375 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/2e591a702d42f753fdfb847825274ef745675e51.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/garb/item/488870931b1bba66da36d22848f0720480d3d79a.png" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.7560000000000001, + "axis_y": 0.7726666666666667, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "rgb(255,255,255)", + "border": "2px solid rgba(255,255,255,1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 1, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "layers": [ + { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/2e591a702d42f753fdfb847825274ef745675e51.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + { + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_animation": { + "webp_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/garb/item/5974f17f9d96a88bafba2f6d18d647a486e88312.webp" + }, + "src_type": 1 + } + }, + "res_type": 4 + }, + "visible": true + } + ] + }, + { + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.7560000000000001, + "axis_y": 0.7726666666666667, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "rgb(255,255,255)", + "border": "2px solid rgba(255,255,255,1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 1, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + } + ], + "mid": "2518014" + }, + "face": "https://i0.hdslb.com/bfs/face/2e591a702d42f753fdfb847825274ef745675e51.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/2518014/dynamic", + "label": "", + "mid": 2518014, + "name": "熊木柚子", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "https://i0.hdslb.com/bfs/garb/item/488870931b1bba66da36d22848f0720480d3d79a.png", + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/5974f17f9d96a88bafba2f6d18d647a486e88312.webp", + "image_enhance_frame": "https://i0.hdslb.com/bfs/garb/item/4316a3910bb0bd6f2f1c267a3e9187f0b9fe5bd0.png", + "n_pid": 32257, + "name": "EveOneCat2", + "pid": 32257 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "2022年12月12日", + "pub_ts": 1670829327, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 1, + "avatar_subscript_url": "", + "due_date": 1786550400000, + "label": { + "bg_color": "#FB7299", + "bg_style": 1, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", + "label_theme": "annual_vip", + "path": "http://i0.hdslb.com/bfs/vip/label_annual.png", + "text": "年度大会员", + "text_color": "#FFFFFF", + "use_img_label": true + }, + "nickname_color": "#FB7299", + "status": 1, + "theme_type": 0, + "type": 2 + } + }, + "module_dynamic": { + "additional": null, + "desc": { + "rich_text_nodes": [ + { + "orig_text": "彩虹岛里得到的第一件稀有武器就是“黑发狐妖可爱魔杖”", + "text": "彩虹岛里得到的第一件稀有武器就是“黑发狐妖可爱魔杖”", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "彩虹岛里得到的第一件稀有武器就是“黑发狐妖可爱魔杖”" + }, + "major": { + "archive": { + "aid": "946166332", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1iW4y1M7y2", + "cover": "http://i2.hdslb.com/bfs/archive/f49ae764cbee2f4bcda09334f1a2c64488597b76.jpg", + "desc": "彩虹岛游戏音乐翻奏\n作曲:ESti\n演奏乐器:长笛", + "disable_preview": 0, + "duration_text": "02:20", + "jump_url": "//www.bilibili.com/video/BV1iW4y1M7y2/", + "stat": { + "danmaku": "50", + "play": "4.5万" + }, + "title": "【彩虹岛】山岳地带bgm——《shanghai runner》", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 302, + "forbidden": false + }, + "forward": { + "count": 10, + "forbidden": false + }, + "like": { + "count": 2893, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + }, + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "274780128", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "274780128" + }, + "id_str": "830237944487870470", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i2.hdslb.com/bfs/face/0e66175c1933add3de8c7ff2612912b0ed0eabcb.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "1832864498" + }, + "face": "https://i2.hdslb.com/bfs/face/0e66175c1933add3de8c7ff2612912b0ed0eabcb.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/1832864498/dynamic", + "label": "", + "mid": 1832864498, + "name": "桃之夭夭之桃", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "2023年08月16日", + "pub_ts": 1692143235, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 0, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 0 + } + }, + "module_dynamic": { + "additional": null, + "desc": null, + "major": { + "archive": { + "aid": "274780128", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1tF411y73f", + "cover": "http://i2.hdslb.com/bfs/archive/ca224c68033c77cd028aa8c748cc544e0c3db746.jpg", + "desc": "最近真的很忙,忙着生病,忙着工作,忙着搬家,所以抓紧时间更新一下。", + "disable_preview": 0, + "duration_text": "02:20", + "jump_url": "//www.bilibili.com/video/BV1tF411y73f/", + "stat": { + "danmaku": "108", + "play": "3.4万" + }, + "title": "你不开心就来看我视频咯!Just forget me please!", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 152, + "forbidden": false + }, + "forward": { + "count": 2, + "forbidden": false + }, + "like": { + "count": 1221, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + }, + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "404110312", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "404110312" + }, + "id_str": "823361087690768450", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i1.hdslb.com/bfs/face/007e6c54bc86b40950b2d213973cd732f47163ce.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.8000000000000002, + "axis_y": 0.8000000000000002, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "rgb(255,255,255)", + "border": "2px solid rgba(255,255,255,1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 4, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "16836724" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/garb/item/ceb7d1827f13103f0d499f62b1ffa8af5f05c143.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/garb/item/ceb7d1827f13103f0d499f62b1ffa8af5f05c143.png", + "fan": { + "color": "#942b32", + "color_format": { + "colors": [ + "#942b32FF", + "#942b32FF" + ], + "end_point": "0,100", + "gradients": [ + 0, + 100 + ], + "start_point": "0,0" + }, + "is_fan": 1, + "name": "刺客信条15周年", + "num_desc": "000001", + "number": 1 + }, + "id": 38456, + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/ceb7d1827f13103f0d499f62b1ffa8af5f05c143.png", + "item_id": 38456, + "jump_url": "https://www.bilibili.com/h5/mall/equity-link/collect-home?item_id=38456&isdiy=0&part=card&from=post&f_source=garb&vmid=16836724&native.theme=1&navhide=1", + "name": "刺客信条15周年粉丝专属" + }, + "face": "https://i1.hdslb.com/bfs/face/007e6c54bc86b40950b2d213973cd732f47163ce.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/16836724/dynamic", + "label": "", + "mid": 16836724, + "name": "UBISOFT育碧", + "official_verify": { + "desc": "", + "type": 1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "2023年07月28日", + "pub_ts": 1690542092, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 1, + "avatar_subscript_url": "", + "due_date": 1755792000000, + "label": { + "bg_color": "#FB7299", + "bg_style": 1, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", + "label_theme": "annual_vip", + "path": "http://i0.hdslb.com/bfs/vip/label_annual.png", + "text": "年度大会员", + "text_color": "#FFFFFF", + "use_img_label": true + }, + "nickname_color": "#FB7299", + "status": 1, + "theme_type": 0, + "type": 2 + } + }, + "module_dynamic": { + "additional": null, + "desc": { + "rich_text_nodes": [ + { + "orig_text": "每个人都是如王子一般的主角,这段名为人生的冒险,就是一场终将胜利的横版闯关。\n《波斯王子》系列历经34年沉浮,如今", + "text": "每个人都是如王子一般的主角,这段名为人生的冒险,就是一场终将胜利的横版闯关。\n《波斯王子》系列历经34年沉浮,如今", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "jump_url": "//search.bilibili.com/all?keyword=%E6%B3%A2%E6%96%AF%E7%8E%8B%E5%AD%90%EF%BC%9A%E5%A4%B1%E8%90%BD%E7%9A%84%E7%8E%8B%E5%86%A0", + "orig_text": "#波斯王子:失落的王冠#", + "text": "#波斯王子:失落的王冠#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + { + "orig_text": "回归系列原点,以横版闯关游戏的姿态归来!想知道《波斯王子》系列是如何走到今天的吗?点击视频进入这场人生的“横版闯关”吧", + "text": "回归系列原点,以横版闯关游戏的姿态归来!想知道《波斯王子》系列是如何走到今天的吗?点击视频进入这场人生的“横版闯关”吧", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + }, + { + "emoji": { + "icon_url": "https://i0.hdslb.com/bfs/emote/431432c43da3ee5aab5b0e4f8931953e649e9975.png", + "size": 1, + "text": "[打call]", + "type": 1 + }, + "orig_text": "[打call]", + "text": "[打call]", + "type": "RICH_TEXT_NODE_TYPE_EMOJI" + } + ], + "text": "每个人都是如王子一般的主角,这段名为人生的冒险,就是一场终将胜利的横版闯关。\n《波斯王子》系列历经34年沉浮,如今#波斯王子:失落的王冠#回归系列原点,以横版闯关游戏的姿态归来!想知道《波斯王子》系列是如何走到今天的吗?点击视频进入这场人生的“横版闯关”吧[打call]" + }, + "major": { + "archive": { + "aid": "404110312", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV17V41157hA", + "cover": "http://i2.hdslb.com/bfs/archive/9c275f2eb0f3c6b051e5c1abbda1db8201dc7b0f.jpg", + "desc": "时之神力,逆转乾坤;波斯舞台,王子归来!《波斯王子:失落的王冠》的传奇冒险将于2024年1月18日开启!", + "disable_preview": 0, + "duration_text": "05:13", + "jump_url": "//www.bilibili.com/video/BV17V41157hA/", + "stat": { + "danmaku": "25", + "play": "4.6万" + }, + "title": "波斯最强体操运动员是谁?", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 92, + "forbidden": false + }, + "forward": { + "count": 5, + "forbidden": false + }, + "like": { + "count": 1350, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + }, + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "606448624", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "606448624" + }, + "id_str": "741290237143023616", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.375, + "width": 1.375 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/2e591a702d42f753fdfb847825274ef745675e51.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/garb/item/488870931b1bba66da36d22848f0720480d3d79a.png" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.7560000000000001, + "axis_y": 0.7726666666666667, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "rgb(255,255,255)", + "border": "2px solid rgba(255,255,255,1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 1, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "layers": [ + { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/2e591a702d42f753fdfb847825274ef745675e51.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + { + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_animation": { + "webp_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/garb/item/5974f17f9d96a88bafba2f6d18d647a486e88312.webp" + }, + "src_type": 1 + } + }, + "res_type": 4 + }, + "visible": true + } + ] + }, + { + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.7560000000000001, + "axis_y": 0.7726666666666667, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "rgb(255,255,255)", + "border": "2px solid rgba(255,255,255,1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 1, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + } + ], + "mid": "2518014" + }, + "face": "https://i0.hdslb.com/bfs/face/2e591a702d42f753fdfb847825274ef745675e51.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/2518014/dynamic", + "label": "", + "mid": 2518014, + "name": "熊木柚子", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "https://i0.hdslb.com/bfs/garb/item/488870931b1bba66da36d22848f0720480d3d79a.png", + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/5974f17f9d96a88bafba2f6d18d647a486e88312.webp", + "image_enhance_frame": "https://i0.hdslb.com/bfs/garb/item/4316a3910bb0bd6f2f1c267a3e9187f0b9fe5bd0.png", + "n_pid": 32257, + "name": "EveOneCat2", + "pid": 32257 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "2022年12月19日", + "pub_ts": 1671433483, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 1, + "avatar_subscript_url": "", + "due_date": 1786550400000, + "label": { + "bg_color": "#FB7299", + "bg_style": 1, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", + "label_theme": "annual_vip", + "path": "http://i0.hdslb.com/bfs/vip/label_annual.png", + "text": "年度大会员", + "text_color": "#FFFFFF", + "use_img_label": true + }, + "nickname_color": "#FB7299", + "status": 1, + "theme_type": 0, + "type": 2 + } + }, + "module_dynamic": { + "additional": null, + "desc": null, + "major": { + "archive": { + "aid": "606448624", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1J84y147af", + "cover": "http://i2.hdslb.com/bfs/archive/81ea384080b7598ed4a4ac7bc3cd68341932b042.jpg", + "desc": "-", + "disable_preview": 0, + "duration_text": "02:19", + "jump_url": "//www.bilibili.com/video/BV1J84y147af/", + "stat": { + "danmaku": "17", + "play": "1.4万" + }, + "title": "【彩虹岛】Merry Christmas 尖叫雪地BGM——《snowfield雪地回音》", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 214, + "forbidden": false + }, + "forward": { + "count": 5, + "forbidden": false + }, + "like": { + "count": 994, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + }, + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "772580225", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "772580225" + }, + "id_str": "700423623235600425", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i2.hdslb.com/bfs/face/eba2897173640343e5f9294f365ee0eb2082f525.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.8000000000000002, + "axis_y": 0.8000000000000002, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "rgb(255,255,255)", + "border": "2px solid rgba(255,255,255,1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 1, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "387122516" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/garb/open/86e89e72b134283bf72e66c8e7c6e49b2d26d9e3.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/garb/open/86e89e72b134283bf72e66c8e7c6e49b2d26d9e3.png", + "fan": { + "color": "#BFC8D2", + "color_format": { + "colors": [ + "#B8C7D0FF", + "#A2A7B0FF" + ], + "end_point": "100,100", + "gradients": [ + 0, + 100 + ], + "start_point": "0,0" + }, + "is_fan": 1, + "name": "XXXX", + "num_desc": "008059", + "number": 8059 + }, + "id": 69432, + "image_enhance": "https://i0.hdslb.com/bfs/garb/open/86e89e72b134283bf72e66c8e7c6e49b2d26d9e3.png", + "item_id": 69432, + "jump_url": "https://www.bilibili.com/h5/mall/digital-card/home?act_id=102704&from=post&f_source=garb&-Abrowser=live&hybrid_set_header=2&navhide=1&anchor_task=1", + "name": "名侦探柯南30周年" + }, + "face": "https://i2.hdslb.com/bfs/face/eba2897173640343e5f9294f365ee0eb2082f525.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/387122516/dynamic", + "label": "", + "mid": 387122516, + "name": "橙子面包酱_", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "2022年08月31日", + "pub_ts": 1661918483, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 1, + "avatar_subscript_url": "", + "due_date": 1755273600000, + "label": { + "bg_color": "#FB7299", + "bg_style": 1, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", + "label_theme": "annual_vip", + "path": "http://i0.hdslb.com/bfs/vip/label_annual.png", + "text": "年度大会员", + "text_color": "#FFFFFF", + "use_img_label": true + }, + "nickname_color": "#FB7299", + "status": 1, + "theme_type": 0, + "type": 2 + } + }, + "module_dynamic": { + "additional": null, + "desc": { + "rich_text_nodes": [ + { + "orig_text": "上学去了˃ʍ˂", + "text": "上学去了˃ʍ˂", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "上学去了˃ʍ˂" + }, + "major": { + "archive": { + "aid": "772580225", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1o14y1W7AZ", + "cover": "http://i2.hdslb.com/bfs/archive/fdf552056a23e3118c15b68f4acf3e62ae9a043d.jpg", + "desc": "开头有点夹子,对不起>人<!!!", + "disable_preview": 0, + "duration_text": "02:43", + "jump_url": "//www.bilibili.com/video/BV1o14y1W7AZ/", + "stat": { + "danmaku": "30", + "play": "1.7万" + }, + "title": "【爷青回系列】《某个心跳》cover本兮", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 159, + "forbidden": false + }, + "forward": { + "count": 6, + "forbidden": false + }, + "like": { + "count": 1222, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + }, + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "360051457", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "360051457" + }, + "id_str": "809870209103953945", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.375, + "width": 1.375 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i1.hdslb.com/bfs/face/991b66faf44236cdacacda526b9ab33f1445b10e.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i1.hdslb.com/bfs/garb/item/488870931b1bba66da36d22848f0720480d3d79a.png" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.7560000000000001, + "axis_y": 0.7726666666666667, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "rgb(255,255,255)", + "border": "2px solid rgba(255,255,255,1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 1, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "layers": [ + { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i1.hdslb.com/bfs/face/991b66faf44236cdacacda526b9ab33f1445b10e.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + { + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_animation": { + "webp_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i1.hdslb.com/bfs/garb/item/5974f17f9d96a88bafba2f6d18d647a486e88312.webp" + }, + "src_type": 1 + } + }, + "res_type": 4 + }, + "visible": true + } + ] + }, + { + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.7560000000000001, + "axis_y": 0.7726666666666667, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "rgb(255,255,255)", + "border": "2px solid rgba(255,255,255,1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 1, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + } + ], + "mid": "73276978" + }, + "face": "https://i1.hdslb.com/bfs/face/991b66faf44236cdacacda526b9ab33f1445b10e.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/73276978/dynamic", + "label": "", + "mid": 73276978, + "name": "醉樱履冰", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "https://i1.hdslb.com/bfs/garb/item/488870931b1bba66da36d22848f0720480d3d79a.png", + "image_enhance": "https://i1.hdslb.com/bfs/garb/item/5974f17f9d96a88bafba2f6d18d647a486e88312.webp", + "image_enhance_frame": "https://i1.hdslb.com/bfs/garb/item/4316a3910bb0bd6f2f1c267a3e9187f0b9fe5bd0.png", + "n_pid": 32257, + "name": "EveOneCat2", + "pid": 32257 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "2023年06月22日", + "pub_ts": 1687401002, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 1, + "avatar_subscript_url": "", + "due_date": 1767542400000, + "label": { + "bg_color": "#FB7299", + "bg_style": 1, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", + "label_theme": "annual_vip", + "path": "http://i0.hdslb.com/bfs/vip/label_annual.png", + "text": "年度大会员", + "text_color": "#FFFFFF", + "use_img_label": true + }, + "nickname_color": "#FB7299", + "status": 1, + "theme_type": 0, + "type": 2 + } + }, + "module_dynamic": { + "additional": null, + "desc": null, + "major": { + "archive": { + "aid": "360051457", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1ZX4y1W7zd", + "cover": "http://i2.hdslb.com/bfs/archive/627de932421b996ef8782c35ad17c816a1a9e7b8.jpg", + "desc": "回放:BV1tN411r7oU\n【逍遥散人】直播间:https://live.bilibili.com/1017\n【逍遥散人】主页:https://space.bilibili.com/168598", + "disable_preview": 0, + "duration_text": "20:16", + "jump_url": "//www.bilibili.com/video/BV1ZX4y1W7zd/", + "stat": { + "danmaku": "165", + "play": "5.6万" + }, + "title": "【逍遥散人】散人看11年前自己的实况《幽灵诡计》", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 80, + "forbidden": false + }, + "forward": { + "count": 0, + "forbidden": false + }, + "like": { + "count": 1339, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + }, + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "897064867", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "897064867" + }, + "id_str": "666670390017261601", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i2.hdslb.com/bfs/face/c93eb41c2b7c1a1741f4ef6126bc78a5332014df.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.8000000000000002, + "axis_y": 0.8000000000000002, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "rgb(255,255,255)", + "border": "2px solid rgba(255,255,255,1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 3, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "48421904" + }, + "decoration_card": { + "big_card_url": "https://i0.hdslb.com/bfs/vip/e2ffa1d1d491fe0464338ed3921327ef5e4b42c5.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/vip/a9e3d993c7a15e88ce0bf714a142f7d2b44121e2.png", + "fan": {}, + "id": 28, + "image_enhance": "https://i0.hdslb.com/bfs/vip/a9e3d993c7a15e88ce0bf714a142f7d2b44121e2.png", + "item_id": 28, + "jump_url": "https://www.bilibili.com/h5/mall/equity-link/collect-home?item_id=28&isdiy=0&part=card&from=post&f_source=garb&vmid=48421904&native.theme=1&navhide=1", + "name": "2233娘" + }, + "face": "https://i2.hdslb.com/bfs/face/c93eb41c2b7c1a1741f4ef6126bc78a5332014df.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/48421904/dynamic", + "label": "", + "mid": 48421904, + "name": "贾逸可", + "official_verify": { + "desc": "", + "type": 0 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "2022年06月01日", + "pub_ts": 1654059696, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1746288000000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 1 + } + }, + "module_dynamic": { + "additional": null, + "desc": { + "rich_text_nodes": [ + { + "orig_text": "一转眼十年啦,当时我还没有入驻B站,十年前你听过这首《红白机》(游戏机之歌)吗?\n我是既能模仿华语乐坛歌手翻唱,也能原创的贾逸可。祝大家儿童节快乐!\n", + "text": "一转眼十年啦,当时我还没有入驻B站,十年前你听过这首《红白机》(游戏机之歌)吗?\n我是既能模仿华语乐坛歌手翻唱,也能原创的贾逸可。祝大家儿童节快乐!\n", + "type": "RICH_TEXT_NODE_TYPE_TEXT" + } + ], + "text": "一转眼十年啦,当时我还没有入驻B站,十年前你听过这首《红白机》(游戏机之歌)吗?\n我是既能模仿华语乐坛歌手翻唱,也能原创的贾逸可。祝大家儿童节快乐!\n" + }, + "major": { + "archive": { + "aid": "897064867", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1aA4y1d7fQ", + "cover": "http://i1.hdslb.com/bfs/archive/5a20992eb2a886998afdd82a08b975c0e7ea2dbf.jpg", + "desc": "一转眼十年啦,当时我还没有入驻B站,十年前你听过这首《红白机》(游戏机之歌)吗?\n我是既能模仿华语乐坛歌手翻唱,也能原创的贾逸可。祝大家儿童节快乐!\n用这首歌送给我们的童年~一起爷青回,华语乐坛系列:\n【常玉(周董点赞原创)】BV1st4y1s7Kk\n【爱你】BV1gF41157J8\n【热爱105°C的你】BV1qw411Z7Zy\n【孤勇者】BV1AM4y1P7De\n【有何不可】BV1WL411T7vD\n【达拉崩吧】BV1rY411j73X\n【本操纲目】BV1PY411A7sJ\n【萨日朗】BV16L4y1", + "disable_preview": 0, + "duration_text": "03:32", + "jump_url": "//www.bilibili.com/video/BV1aA4y1d7fQ/", + "stat": { + "danmaku": "129", + "play": "2万" + }, + "title": "⚡️爷青回!原创游戏机之歌《红白机》⚡️", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 109, + "forbidden": false + }, + "forward": { + "count": 11, + "forbidden": false + }, + "like": { + "count": 1867, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + }, + { + "dynamic_card_item": { + "basic": { + "comment_id_str": "792152742", + "comment_type": 1, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "792152742" + }, + "id_str": "874962963680722993", + "modules": { + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/3bb211c6aa7a9adc08d22d30b3c818c5040797c1.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "1621845192" + }, + "face": "https://i0.hdslb.com/bfs/face/3bb211c6aa7a9adc08d22d30b3c818c5040797c1.jpg", + "face_nft": false, + "following": null, + "jump_url": "//space.bilibili.com/1621845192/dynamic", + "label": "", + "mid": 1621845192, + "name": "太阳嘟嘟小姐姐", + "official_verify": { + "desc": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_action": "投稿了视频", + "pub_location_text": "", + "pub_time": "2023年12月14日", + "pub_ts": 1702556590, + "type": "AUTHOR_TYPE_NORMAL", + "vip": { + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 0, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "status": 0, + "theme_type": 0, + "type": 0 + } + }, + "module_dynamic": { + "additional": null, + "desc": null, + "major": { + "archive": { + "aid": "792152742", + "badge": { + "bg_color": "#FB7299", + "color": "#FFFFFF", + "icon_url": null, + "text": "投稿视频" + }, + "bvid": "BV1ZC4y1X7zu", + "cover": "http://i2.hdslb.com/bfs/archive/edbfc6fa5a168714789678bbea3aab74d8af7e9c.jpg", + "desc": "-", + "disable_preview": 0, + "duration_text": "00:13", + "jump_url": "//www.bilibili.com/video/BV1ZC4y1X7zu/", + "stat": { + "danmaku": "5", + "play": "1.5万" + }, + "title": "仿青儿仿得我要心脏骤停了!大家都说太像了,把我高兴得做梦都要笑醒!呜呜呜太喜欢了!", + "type": 1 + }, + "type": "MAJOR_TYPE_ARCHIVE" + }, + "topic": null + }, + "module_more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + }, + { + "label": "与话题无关", + "type": "THREE_POINT_TOPIC_IRRELEVANT" + } + ] + }, + "module_stat": { + "comment": { + "count": 41, + "forbidden": false + }, + "forward": { + "count": 0, + "forbidden": false + }, + "like": { + "count": 1223, + "forbidden": false, + "status": false + } + } + }, + "type": "DYNAMIC_TYPE_AV", + "visible": true + }, + "topic_type": "DYNAMIC" + } + ], + "offset": "heat_2922347_20_20", + "topic_sort_by_conf": { + "all_sort_by": [ + { + "sort_by": 2, + "sort_name": "热门" + }, + { + "sort_by": 3, + "sort_name": "最新" + } + ], + "default_sort_by": 2, + "show_sort_by": 2 + } + } + }, + "message": "0", + "ttl": 1 +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-07-25T01:56:48.912698186Z --> + +## ~~获取包含置顶及热门的动态列表~~ + +> ~~https://api.vc.bilibili.com/topic_svr/v1/topic_svr/fetch_dynamics~~ + +该接口已失效, 参见 [#852](https://github.com/SocialSisterYi/bilibili-API-collect/issues/852), 历史文档见 [此处](https://github.com/SocialSisterYi/bilibili-API-collect/blob/e99f64c9b5c2bbd156e95ca254620378a22697f7/docs/dynamic/tag_dynamics.md#%E8%8E%B7%E5%8F%96%E5%8C%85%E5%90%AB%E7%BD%AE%E9%A1%B6%E5%8F%8A%E7%83%AD%E9%97%A8%E7%9A%84%E5%8A%A8%E6%80%81%E5%88%97%E8%A1%A8) + +## ~~获取历史动态列表~~ + +> ~~https://api.vc.bilibili.com/topic_svr/v1/topic_svr/topic_history~~ + +该接口已失效, 参见 [#852](https://github.com/SocialSisterYi/bilibili-API-collect/issues/852), 历史文档见 [此处](https://github.com/SocialSisterYi/bilibili-API-collect/blob/e99f64c9b5c2bbd156e95ca254620378a22697f7/docs/dynamic/tag_dynamics.md#%E8%8E%B7%E5%8F%96%E5%8E%86%E5%8F%B2%E5%8A%A8%E6%80%81%E5%88%97%E8%A1%A80) ## 搜索发布话题 @@ -61,7 +5171,7 @@ | --- | --- | --- | --- | | id | num | 话题 id | | | name | str | 话题名 | | -| view | num | 观看数 | | +| view | num | 浏览数 | | | discuss | num | 讨论数 | | | stat_desc | str | 状态描述 | | | description | str | 话题描述 | | @@ -143,7 +5253,7 @@ curl -G 'https://app.bilibili.com/x/topic/pub/search' \ *请求方法: GET* -注: 该接口啥也不返回, 但是网页端会请求该接口 +注: 该接口好像啥也不返回, 但是网页端会请求该接口 <!--{ "from": { @@ -175,7 +5285,7 @@ curl -G 'https://app.bilibili.com/x/topic/pub/search' \ | 字段 | 类型 | 内容 | 备注 | | --- | --- | -- | --- | -| topic_items | array | 空 | | +| topic_items | unknown[] | 空? | 可能与 [推荐话题](#推荐话题) 相同? | | request_id | str | 请求 id | 当传入 `keywords` 时不为空| **示例:** @@ -200,3 +5310,427 @@ curl -G 'https://app.bilibili.com/x/topic/pub/rcmd/search' ``` </details> + +## 推荐话题 + +> https://app.bilibili.com/x/topic/web/dynamic/rcmd + +*请求方法: GET* + +**URL 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------------ | ------ | ---------- | ------ | ---- | +| source | string | 来源 | 不必要 | 如 `Web` | +| page_size | number | 获取数量 | 不必要 | 默认为 `9`, 留空为 `6`, 最大为 `26`, 最小为 `1` | +| web_location | string | `333.1365` | 不必要 | | + + +**JSON 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| code | num | 返回值 | 0: 成功 | +| message | str | 错误信息 | 成功时为 `0` | +| ttl | num | `1` | | +| data | str | 数据本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| topic_items | object[] | 话题列表 | 套了个娃 | + +`data.topic_items[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| discuss | number | 讨论数 | | +| dynamics | number | 动态数 | | +| id | number | 话题 id | | +| jump_url | string | 跳转 URL | | +| name | string | 话题名 | | +| show_interact_data | boolean | 是否显示互动数据? | | +| view | number | 浏览数 | | + +**示例:** + +```shell +curl -G 'https://app.bilibili.com/x/topic/web/dynamic/rcmd?page_size=9' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "data": { + "topic_items": [ + { + "discuss": 147, + "dynamics": 20, + "id": 1305890, + "jump_url": "https://m.bilibili.com/topic-detail?topic_id=1305890", + "name": "燕云河西凉州篇预测", + "show_interact_data": false, + "view": 261060 + }, + { + "discuss": 554, + "dynamics": 24, + "id": 1305885, + "jump_url": "https://m.bilibili.com/topic-detail?topic_id=1305885", + "name": "真人版驯龙高手新预告", + "show_interact_data": false, + "view": 472265 + }, + { + "discuss": 24358, + "dynamics": 57, + "id": 1305877, + "jump_url": "https://m.bilibili.com/topic-detail?topic_id=1305877", + "name": "国米4-3巴萨", + "show_interact_data": false, + "view": 4851673 + }, + { + "discuss": 201, + "dynamics": 24, + "id": 1305933, + "jump_url": "https://m.bilibili.com/topic-detail?topic_id=1305933", + "name": "公积金住房贷款利率下调0.25%", + "show_interact_data": false, + "view": 111704 + }, + { + "discuss": 20201, + "dynamics": 70, + "id": 1305920, + "jump_url": "https://m.bilibili.com/topic-detail?topic_id=1305920", + "name": "印度巴基斯坦交火", + "show_interact_data": false, + "view": 12102634 + }, + { + "discuss": 2497, + "dynamics": 37, + "id": 1305940, + "jump_url": "https://m.bilibili.com/topic-detail?topic_id=1305940", + "name": "降准降息释放什么信号", + "show_interact_data": false, + "view": 475373 + }, + { + "discuss": 11970, + "dynamics": 51, + "id": 1305886, + "jump_url": "https://m.bilibili.com/topic-detail?topic_id=1305886", + "name": "淮水竹亭值得一看吗", + "show_interact_data": false, + "view": 3171863 + }, + { + "discuss": 860, + "dynamics": 38, + "id": 1305904, + "jump_url": "https://m.bilibili.com/topic-detail?topic_id=1305904", + "name": "GTA6全新预告", + "show_interact_data": false, + "view": 202393 + }, + { + "discuss": 576, + "dynamics": 23, + "id": 1305830, + "jump_url": "https://m.bilibili.com/topic-detail?topic_id=1305830", + "name": "默茨正式当选德国新任总理", + "show_interact_data": false, + "view": 280448 + } + ] + }, + "message": "0", + "ttl": 1 +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-05-08T06:56:53.249280549Z --> + +## 检查话题是否存在 + +> https://api.bilibili.com/x/topic/pub/is_existed + +*请求方法: GET* + +认证方式: Cookie (SESSDATA) + +<!-- #1357 --> + +**URL 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ---- | ------ | ---- | +| topic | string | 话题名 | 必要 | 大小写敏感 | + +**JSON 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| code | number | 返回值 | 0: 成功 | +| data | object | 数据本体 | | +| message | string | 错误信息 | 成功时为 `0` | +| ttl | number | `1` | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| already_existed | boolean | 是否已经存在 | | +| synonym_topic | object | 类似话题 | | + +`data.synonym_topic` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| topic_items | object[] | 话题列表 | | + +`data.synonym_topic.topic_items[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| description | string | 话题描述 | | +| discuss | number | 讨论数 | | +| dynamics | number | 动态数 | | +| id | number | 话题 id | | +| jump_url | string | 跳转 URL | | +| name | string | 话题名 | | +| show_interact_data | boolean | 显示互动数据? | | +| view | number | 浏览数 | | + +**示例:** + +```shell +-curl -G 'https://api.bilibili.com/x/topic/pub/is_existed' \ +--url-query 'topic=BW2025' \ +-b 'SESSDATA=xxx' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "data": { + "already_existed": true, + "synonym_topic": { + "topic_items": [ + { + "description": "Ave Mujica、大石昌良、宫野真守、虹咲学园 学园偶像同好会、偶像大师闪耀色彩、Machico、茅原实里、RAISE A SUILEN、TOGENASHI TOGEARI、yama等参演嘉宾信息已解禁🎶7月11日至13日,在国家会展中心(上海)虹馆EH与大家见面~", + "discuss": 44910, + "dynamics": 5183, + "id": 1297553, + "jump_url": "https://m.bilibili.com/topic-detail?topic_id=1297553", + "name": "BML2025", + "show_interact_data": false, + "view": 35386975 + }, + { + "description": "心火燎原,2025季中冠军赛即将到来。", + "discuss": 48373, + "dynamics": 523, + "id": 1313369, + "jump_url": "https://m.bilibili.com/topic-detail?topic_id=1313369", + "name": "2025MSI", + "show_interact_data": false, + "view": 15264132 + }, + { + "description": "简中版《命运-冠位指定》将于2025年8月8日-8月10日在杭州举办FES2025九周年纪念展。", + "discuss": 1421, + "dynamics": 121, + "id": 1315085, + "jump_url": "https://m.bilibili.com/topic-detail?topic_id=1315085", + "name": "FGOFES2025", + "show_interact_data": false, + "view": 927806 + } + ] + } + }, + "message": "0", + "ttl": 1 +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-07-26T02:37:34.536597611Z --> + +## 获取指定话题详细信息 + +> https://app.bilibili.com/x/topic/web/details/top + +*请求方法: GET* + +<!-- #1360 --> + +**URL 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ---- | ------ | ---- | +| topic_id | number | 话题 id | 必要 | | +| source | string | 来源 | 不必要 | 如 `Web` `H5` | +| web_location | string | `333.1036` | 不必要 | 当 `source` 为 `H5` 时 | + +**JSON 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| code | number | 返回值 | 0: 成功 | +| data | object | 数据本体 | | +| message | string | 错误信息 | 成功时为 `0` | +| ttl | number | `1` | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| click_area_card | object | 点击区域卡片? | | +| functional_card | object | 功能卡片 | | +| top_details | object | 话题详情 | | + +`data.click_area_card` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | + +`data.functional_card` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| traffic_card | object | 引流卡片 | | + +`data.functional_card.traffic_card` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| benefit_point | string | 奖励点 | | +| card_desc | string | 卡片描述 | | +| icon_url | string | 图标 URL | | +| jump_title | string | 跳转标题 | | +| jump_url | string | 跳转 URL | | +| name | string | 名称 | | + +`data.top_details` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| close_pub_layer_entry | boolean | 是否关闭发布层入口? | | +| has_create_jurisdiction | boolean | 是否有创建权限? | | +| operation_content | object | 操作内容? | | +| topic_creator | object | 话题创建者 | | +| topic_item | object | 话题详情 | | +| word_color | number | 话题字体颜色? | | + +`data.top_details.operation_content` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | + +`data.top_details.topic_creator` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| face | string | 头像 URL | | +| name | string | 昵称 | | +| uid | number | mid (UID) | | + +`data.top_details.topic_item` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| back_color | string | 背景色 | | +| ctime | number | 创建时间 | | +| description | string | 话题描述 | | +| discuss | number | 讨论数 | | +| dynamics | number | 动态数 | | +| fav | number | 收藏数 | | +| id | number | 话题 id | | +| jump_url | string | 跳转 URL | | +| like | number | 点赞数 | | +| name | string | 话题名 | | +| share | number | 分享数 | | +| share_pic | string | 分享图片 URL | 似乎就是话题的图标 | +| share_url | string | 分享的 URL | | +| show_interact_data | boolean | 显示互动数据? | | +| view | number | 浏览数 | | + +**示例:** + +```shell +curl -G 'https://app.bilibili.com/x/topic/web/details/top' \ +--url-query 'topic_id=1314000' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "data": { + "click_area_card": {}, + "functional_card": { + "traffic_card": { + "benefit_point": "投稿4K视频瓜分千万流量&奖金", + "card_desc": "2025-10-01 00:00截止", + "icon_url": "https://i0.hdslb.com/bfs/activity-plat/static/20211019/4c5b6134e2def772efe20dabcca1f6e1/vGqnSBjy8N.png", + "jump_title": "立即参与", + "jump_url": "https://www.bilibili.com/blackboard/era/4Kchaoqingpc.html", + "name": "眼见帧实·B站超高清视频计划" + } + }, + "top_details": { + "close_pub_layer_entry": false, + "has_create_jurisdiction": false, + "operation_content": {}, + "topic_creator": { + "face": "https://i0.hdslb.com/bfs/face/9da46bf581938ff29c2143f186b3f66409c11bf6.jpg", + "name": "赛博星人科技汪", + "uid": 394205865 + }, + "topic_item": { + "back_color": "#6188FF", + "ctime": 1750734201, + "description": "来B站,分享你的超高清视频!2025.6.30-9.30期间,参与“眼见帧实·B站超高清视频计划”活动,投稿超清视频,可以分享超清开箱、超清vlog、超清科普、超清美食、超清风光大片等内容!丰厚奖金&礼物等你来拿~", + "discuss": 435100, + "dynamics": 7902, + "fav": 15, + "id": 1314000, + "jump_url": "https://m.bilibili.com/topic-detail?topic_id=1314000", + "like": 19, + "name": "B站超高清视频计划", + "share": 7, + "share_pic": "http://i0.hdslb.com/bfs/vc/7701fba940e721ceb756cc73694ebb8f510fe0cc.png", + "share_url": "https://m.bilibili.com/topic-detail?topic_id=1314000", + "show_interact_data": true, + "view": 90735677 + }, + "word_color": 0 + } + }, + "message": "0", + "ttl": 1 +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-07-26T03:17:14.502472328Z --> diff --git a/docs/live/danmaku.md b/docs/live/danmaku.md index 68b8309..abff259 100644 --- a/docs/live/danmaku.md +++ b/docs/live/danmaku.md @@ -408,10 +408,10 @@ curl 'https://api.live.bilibili.com/xlive/web-room/v1/dM/AjaxSetConfig' \ | bubble | num | (?) | 非必要 | 值为`0` | | room\_type | num | (?) | 非必要 | `0` | | jumpfrom | num | (?) | 非必要 | `0` | -| reply\_mid | num | (?) | 非必要 | `0` | +| reply\_mid | num | 要“@”的用户mid | 非必要 | 默认为`0` | | reply\_attr | num | (?) | 非必要 | `0` | -| reply\_uname | str | (?) | 非必要 | `""` | -| replay\_dmid | str | (?) | 非必要 | `""` | +| reply\_uname | str | 要“@”的用户名称 | 非必要 | 默认为`""`,提供reply\_mid时不需要提供 | +| replay\_dmid | str | 要回复的弹幕id | 非必要 | 默认为`""` | | statistics | str | (?) | 非必要 | `{"appId":100,"platform":5}` | | csrf_token | str | 同csrf | 非必要 | | diff --git a/docs/live/gift.md b/docs/live/gift.md new file mode 100644 index 0000000..daa99a1 --- /dev/null +++ b/docs/live/gift.md @@ -0,0 +1,191 @@ +## 获取直播间内礼物 + +> https://api.live.bilibili.com/xlive/web-room/v1/giftPanel/roomGiftList + +*请求方式:GET* + +认证方式:无 (无需添加Cookie) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------------- | ---- | ---------- | ------ | -------------------------------- | +| platform | str | web | 必要 | | +| room_id | num | 主播房间号 | 必要 | | +| area_parent_id | num | 直播分区 | 非必要 | 不填写可能会获取不到部分活动礼物 | +| area_id | num | 直播子分区 | 非必要 | 不填写可能会获取不到部分活动礼物 | + +**json回复:** + + + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------- | +| code | num | 返回值 | 0:成功 | +| message | str | 错误信息 | | +| data | obj | 信息本体 | | + +`data.gift_config.base_config.list` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------------- | ---- | ------------------- | --------------------------- | +| id | num | 礼物id | | +| name | str | 礼物名字 | | +| price | num | 该值/1000的单位为元 | | +| type | num | | | +| coin_type | str | 一般为gold,即电池 | | +| effect | num | 特效类型? | 观察到可能出现的值为0,2,3 | +| stay_time | num | 礼物展示的时间? | 均为3 | +| animation_frame_num | num | 礼物动画帧数 | | +| desc | str | 礼物描述 | | +| img_basic | str | 礼物图片 | | +| gif | str | 礼物gif动画 | | + +**示例:** + +查询`room_id=23375552`的直播间礼物信息 + +```shell +curl 'https://api.live.bilibili.com/xlive/web-room/v1/giftPanel/roomGiftList?platform=pc&room_id=23174842' +``` + +## 获取盲盒概率 + +> https://api.live.bilibili.com/xlive/general-interface/v1/blindFirstWin/getInfo + +*请求方式:GET* + +认证方式:无 (无需添加Cookie) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------- | ---- | ---- | ---------------- | ---- | +| gift_id | num | | 盲盒对应的礼物id | | + +**json回复:** + + + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------- | +| code | num | 返回值 | 0:成功 | +| message | str | 错误信息 | | +| data | obj | 信息本体 | | + +`data`中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ----- | -------- | ---- | +| note_text | str | 描述 | | +| blind_price | num | 盲盒价格 | | +| blind_gift_name | str | 盲盒名字 | | +| gifts | array | 盲盒价格 | | + +`gifts数组`中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------- | ---- | -------------- | ---- | +| gift_id | num | 爆出的礼物id | | +| price | num | 爆出的礼物价格 | | +| gift_name | str | 礼物名字 | | +| gift_img | str | 礼物图片 | | +| chance | str | 概率 | | + +**示例:** + +查询`心动盲盒`的概率 + +```shell +curl 'https://api.live.bilibili.com/xlive/general-interface/v1/blindFirstWin/getInfo?gift_id=32251' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "note_text": "每日1次机会,首次投喂盲盒时享首抽福利!", + "blind_price": 15000, + "gifts": [ + { + "gift_id": 32125, + "price": 2000, + "gift_name": "电影票", + "gift_img": "https://s1.hdslb.com/bfs/live/20864a10beaea541c7dce264d5bbc56676d63e4f.png", + "is_win_gift": 0, + "chance": "6%" + }, + { + "gift_id": 32126, + "price": 9000, + "gift_name": "棉花糖", + "gift_img": "https://s1.hdslb.com/bfs/live/b555682af41551c28f8ad19dc5c4ed87943c84f4.png", + "is_win_gift": 0, + "chance": "44.5%" + }, + { + "gift_id": 32128, + "price": 16000, + "gift_name": "爱心抱枕", + "gift_img": "https://s1.hdslb.com/bfs/live/824714c830966d7bec381e35ef808b1f478e21ee.png", + "is_win_gift": 1, + "chance": "45.56%" + }, + { + "gift_id": 32281, + "price": 40000, + "gift_name": "绮彩权杖", + "gift_img": "https://s1.hdslb.com/bfs/live/5cecbf274a4205ef76ed3f11c6540f0c6743363c.png", + "is_win_gift": 1, + "chance": "3.7%" + }, + { + "gift_id": 32282, + "price": 100000, + "gift_name": "时空之站", + "gift_img": "https://s1.hdslb.com/bfs/live/9ee53aedda3c891fdf23d35c14b3bdc4e0504a97.png", + "is_win_gift": 1, + "chance": "0.12%" + }, + { + "gift_id": 34894, + "price": 200000, + "gift_name": "蛇形护符", + "gift_img": "https://s1.hdslb.com/bfs/live/2127dd998083a8981ef4e31a4e6787ce5a4d0f9f.png", + "is_win_gift": 1, + "chance": "0.08%" + }, + { + "gift_id": 32132, + "price": 2233000, + "gift_name": "浪漫城堡", + "gift_img": "https://s1.hdslb.com/bfs/live/216fac597b3c5619d56ed332bcf5f880ea657e8e.png", + "is_win_gift": 1, + "chance": "0.04%" + } + ], + "friday_yq_id": 106472, + "is_first": true, + "ab_res": 1, + "uid": 451537183, + "conf_id": 51, + "pre_imgs": [ + { + "gift_id": 32132, + "preview_url": "http://i0.hdslb.com/bfs/live/e40708d0c8ef9505027ac33ad2a17a23e8e01139.mp4" + } + ], + "blind_gift_name": "心动盲盒" + } +} +``` +</details> \ No newline at end of file diff --git a/docs/live/guard.md b/docs/live/guard.md new file mode 100644 index 0000000..2938907 --- /dev/null +++ b/docs/live/guard.md @@ -0,0 +1,592 @@ +## 查询大航海成员 +> https://api.live.bilibili.com/xlive/app-room/v2/guardTab/topListNew + +*请求方式: GET* + +认证方式:无(无需Cookie) + +**URL参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| --------- | ---- | -------- | ------ | --------------------------------------- | +| roomid | num | 直播间号 | 必要 | | +| page | num | 页数 | 必要 | | +| ruid | num | 主播id | 必要 | | +| page_size | num | 页大小 | 非必要 | 默认20,最大30,若超过则作为10处理 | +| typ | num | 排序方式 | 非必要 | typ=3,4,5分别为按周/月/总航海亲密度排序 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------- | +| code | num | 返回值 | 0:成功 | +| message | str | 错误信息 | | +| data | obj | 信息本体 | | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ----- | -------------- | --------------------------------------- | +| info | obj | 主播mid | | +| top3 | array | 整个列表的top3 | +| list | array | 大航海成员 | page=1时,list[0]得到的会是榜单的第四名 | + +`list`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------- | ---- | -------- | ----- | +| ruid | num | 主播UID | | +| rank | num | 榜单排名 | | +| accompany | num | 陪伴天数 | | +| uinfo | obj | 用户信息 | | +| score | num | 亲密度 | 恒为0 | + +`list`对象的`uinfo`: +| 字段 | 类型 | 内容 | 备注 | +| ----- | ---- | ------------ | -------------------------------------------------------- | +| uid | num | 用户UID | | +| base | obj | 用户基本信息 | | +| medal | obj | 粉丝牌 | 与[此处](/bilibili-API-collect/docs/user/medals)基本一致 | + +`list`对象的`uinfo`的`base`: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ------ | -------- | ---- | +| name | string | 用户名 | | +| face | string | 用戶头像 | | + + +**示例:** + +查询`23174842`直播间的大航海成员 + + +```shell +curl ' https://api.live.bilibili.com/xlive/app-room/v2/guardTab/topListNew?ruid=504140200&roomid=23174842&page=1' +``` + + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "info": { + "num": 23, + "page": 10, + "now": 1, + "achievement_level": 1, + "anchor_guard_achieve_level": 0, + "achievement_icon_src": "", + "buy_guard_icon_src": "https://i0.hdslb.com/bfs/live/4a481b491767f9d91165a4631252de4503d63a17.png", + "rule_doc_src": "", + "ex_background_src": "https://i0.hdslb.com/bfs/live/d0e938839a9dee733e8a7f9f6a3a132108ae22bc.png", + "color_start": "", + "color_end": "", + "tab_color": [ + "#4DDDDBD5", + "#26CFCBC0" + ], + "title_color": [ + "#FFC9CCD0", + "#FF9499A0" + ] + }, + "list": [ + { + "ruid": 504140200, + "rank": 4, + "accompany": 36, + "uinfo": { + "uid": 432911315, + "base": { + "name": "幻想乡的年华", + "face": "https://i2.hdslb.com/bfs/face/5ddde7a8466aa2d60d082ccfc08a0267445b193b.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": null, + "origin_info": { + "name": "幻想乡的年华", + "face": "https://i2.hdslb.com/bfs/face/5ddde7a8466aa2d60d082ccfc08a0267445b193b.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "软饭兔", + "level": 25, + "color_start": 398668, + "color_end": 6850801, + "color_border": 16771156, + "color": 398668, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 504140200, + "guard_level": 2, + "score": 0, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#4775EFCC", + "v2_medal_color_end": "#4775EFCC", + "v2_medal_color_border": "#58A1F8FF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#000B7099", + "user_receive_count": 0 + }, + "wealth": null, + "title": null, + "guard": { + "level": 2, + "expired_str": "" + }, + "uhead_frame": null, + "guard_leader": null + }, + "score": 0 + }, + { + "ruid": 504140200, + "rank": 5, + "accompany": 513, + "uinfo": { + "uid": 7816639, + "base": { + "name": "在这样的时光", + "face": "https://i1.hdslb.com/bfs/face/3b0091dda76e095351907e9c708b9571716aa3e1.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": null, + "origin_info": { + "name": "在这样的时光", + "face": "https://i1.hdslb.com/bfs/face/3b0091dda76e095351907e9c708b9571716aa3e1.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "软饭兔", + "level": 30, + "color_start": 2951253, + "color_end": 10329087, + "color_border": 6809855, + "color": 2951253, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 504140200, + "guard_level": 3, + "score": 0, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#9660E5CC", + "v2_medal_color_end": "#9660E5CC", + "v2_medal_color_border": "#D47AFFFF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#6C00A099", + "user_receive_count": 0 + }, + "wealth": null, + "title": null, + "guard": { + "level": 3, + "expired_str": "" + }, + "uhead_frame": null, + "guard_leader": null + }, + "score": 0 + } + ], + "top3": [ + { + "ruid": 504140200, + "rank": 1, + "accompany": 306, + "uinfo": { + "uid": 85743027, + "base": { + "name": "-小fa---", + "face": "https://i0.hdslb.com/bfs/face/82b2d0fef27b7b69be0d121b3ef0491504bbaae8.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": null, + "origin_info": { + "name": "-小fa---", + "face": "https://i0.hdslb.com/bfs/face/82b2d0fef27b7b69be0d121b3ef0491504bbaae8.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "软饭兔", + "level": 30, + "color_start": 2951253, + "color_end": 10329087, + "color_border": 16771156, + "color": 2951253, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 504140200, + "guard_level": 2, + "score": 0, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#9660E5CC", + "v2_medal_color_end": "#9660E5CC", + "v2_medal_color_border": "#D47AFFFF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#6C00A099", + "user_receive_count": 0 + }, + "wealth": null, + "title": null, + "guard": { + "level": 2, + "expired_str": "" + }, + "uhead_frame": null, + "guard_leader": null + }, + "score": 0 + }, + { + "ruid": 504140200, + "rank": 2, + "accompany": 1005, + "uinfo": { + "uid": 28601039, + "base": { + "name": "捏软软的上帝", + "face": "https://i2.hdslb.com/bfs/face/1f2a9b20294452d5c6ce9f40c66b186ef57b92e5.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": null, + "origin_info": { + "name": "捏软软的上帝", + "face": "https://i2.hdslb.com/bfs/face/1f2a9b20294452d5c6ce9f40c66b186ef57b92e5.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "软饭兔", + "level": 29, + "color_start": 2951253, + "color_end": 10329087, + "color_border": 16771156, + "color": 2951253, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 504140200, + "guard_level": 2, + "score": 0, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#9660E5CC", + "v2_medal_color_end": "#9660E5CC", + "v2_medal_color_border": "#D47AFFFF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#6C00A099", + "user_receive_count": 0 + }, + "wealth": null, + "title": null, + "guard": { + "level": 2, + "expired_str": "" + }, + "uhead_frame": null, + "guard_leader": null + }, + "score": 0 + }, + { + "ruid": 504140200, + "rank": 3, + "accompany": 95, + "uinfo": { + "uid": 3546834244995088, + "base": { + "name": "老实逸流-恩师软软riu", + "face": "https://i1.hdslb.com/bfs/face/0b1f95d926acfb06c8d7d9c66d2e1fabf3e1a3c4.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": null, + "origin_info": { + "name": "老实逸流-恩师软软riu", + "face": "https://i1.hdslb.com/bfs/face/0b1f95d926acfb06c8d7d9c66d2e1fabf3e1a3c4.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "软饭兔", + "level": 28, + "color_start": 398668, + "color_end": 6850801, + "color_border": 16771156, + "color": 398668, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 504140200, + "guard_level": 2, + "score": 0, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#4775EFCC", + "v2_medal_color_end": "#4775EFCC", + "v2_medal_color_border": "#58A1F8FF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#000B7099", + "user_receive_count": 0 + }, + "wealth": null, + "title": null, + "guard": { + "level": 2, + "expired_str": "" + }, + "uhead_frame": null, + "guard_leader": null + }, + "score": 0 + } + ], + "my_follow_info": { + "accompany_days": 0, + "auto_renew": 0, + "renew_remind": { + "content": "", + "type": 0, + "hint": "" + }, + "rank": 0, + "ruid": 0, + "uinfo": null, + "expired_time": "" + }, + "guard_warn": { + "is_warn": 0, + "warn": "", + "expired": 0, + "will_expired": 0, + "address": "" + }, + "exist_benefit": false, + "remind_benefit": "立即上船", + "ab": { + "guard_accompany_list": 1 + }, + "remind_msg": "头号粉丝大航海,上船后可上榜", + "typ": 0, + "extop": null, + "guard_leader": null, + "main_text": "", + "sub_text": "", + "btn_type": 1, + "prompt_text": "头号粉丝大航海,等你来上船" + } +} +``` + +</details> + + +## 查询粉丝团成员 + + +> https://api.live.bilibili.com/xlive/general-interface/v1/rank/getFansMembersRank + +*请求方式: GET* + +认证方式:无(无需Cookie) + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| --------- | ---- | -------------- | ------------------- | ----------------------------------------------------------------------------------------------- | +| page | num | 页数 | 必要 | | +| ruid | num | 主播id | 必要 | | +| page_size | num | 每页返回的数量 | 必要 | 最大30,若超过则作为10处理 | +| rank_type | num | 排序方式 | 非必要 | 1:按照粉丝牌还亮着的粉丝团成员的亲密度排序<br> 2:按照**所有**没上过舰的粉丝团成员的亲密度排序 | +| ts | num | 13位时间戳 | 当rank_type=2时必要 | 该值>=1000即可 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------- | +| code | num | 返回值 | 0:成功 | +| message | str | 错误信息 | | +| data | obj | 信息本体 | | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------ | ----- | -------------- | ---- | +| item | array | 内容 | | +| num | num | 粉丝团成员数量 | +| medal_status | num | | + +`list`对象 + +| 字段 | 类型 | 内容 | 备注 | +| ------------------ | ---- | ---------------------------------------------------------------- | ---- | +| user_rank | num | 排名 | +| uid | num | 用户UID | +| name | str | 用户名 | +| face | str | 用户头像 | +| score | num | 亲密度 | +| medal_name | str | 粉丝牌名字 | +| level | num | 粉丝牌等级 | +| target_id | num | 主播UID | +| guard_level | num | 大航海类型,1,2,3分别为总督,提督,舰长 | +| medal_color_start | num | 粉丝牌渐变起始色 | +| medal_color_end | num | 粉丝牌渐变结束色 | +| medal_color_border | num | 粉丝牌边框颜色 | +| guard_icon | str | 大航海图标URL | +| uinfo_medal | obj | 粉丝牌,与[此处](/bilibili-API-collect/docs/user/medals)基本一致 | + + +**示例:** + +查询用户`504140200`的粉丝团成员 + +```shell +curl 'https://api.live.bilibili.com/xlive/general-interface/v1/rank/getFansMembersRank?ruid=504140200&page_size=10&page=1' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "item": [ + { + "user_rank": 1, + "uid": 85743027, + "name": "小软兔のfa", + "face": "https://i0.hdslb.com/bfs/face/bdbcabf8d927844ae4f8f9c65862077e29afb989.jpg", + "score": 50990540, + "medal_name": "软饭兔", + "level": 30, + "target_id": 504140200, + "special": "", + "guard_level": 3, + "medal_color_start": 2951253, + "medal_color_end": 10329087, + "medal_color_border": 6809855, + "guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png", + "honor_icon": "", + "uinfo_medal": { + "name": "软饭兔", + "level": 30, + "color_start": 2951253, + "color_end": 10329087, + "color_border": 6809855, + "color": 0, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 504140200, + "guard_level": 3, + "score": 50990540, + "guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png", + "honor_icon": "", + "v2_medal_color_start": "#9660E5CC", + "v2_medal_color_end": "#9660E5CC", + "v2_medal_color_border": "#D47AFFFF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#6C00A099", + "user_receive_count": 0 + }, + "tag": null, + "is_pokeable": false + }, + { + "user_rank": 2, + "uid": 7816639, + "name": "在这样的时光", + "face": "https://i1.hdslb.com/bfs/face/3b0091dda76e095351907e9c708b9571716aa3e1.jpg", + "score": 50704568, + "medal_name": "软饭兔", + "level": 30, + "target_id": 504140200, + "special": "", + "guard_level": 3, + "medal_color_start": 2951253, + "medal_color_end": 10329087, + "medal_color_border": 6809855, + "guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png", + "honor_icon": "", + "uinfo_medal": { + "name": "软饭兔", + "level": 30, + "color_start": 2951253, + "color_end": 10329087, + "color_border": 6809855, + "color": 0, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 504140200, + "guard_level": 3, + "score": 50704568, + "guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png", + "honor_icon": "", + "v2_medal_color_start": "#9660E5CC", + "v2_medal_color_end": "#9660E5CC", + "v2_medal_color_border": "#D47AFFFF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#6C00A099", + "user_receive_count": 0 + }, + "tag": null, + "is_pokeable": false + } + ], + "num": 89, + "medal_status": 1 + } +} +``` + +</details> diff --git a/docs/live/info.md b/docs/live/info.md index 2960d52..59e6bd0 100644 --- a/docs/live/info.md +++ b/docs/live/info.md @@ -2135,6 +2135,7 @@ curl -G 'https://api.live.bilibili.com/xlive/web-room/v1/dM/gethistory' \ | ptype | num | `8` | | | | dolby | num | `5` | | | | panorama | num | `1` | | | +| only_audio | num | 是否为音频流 | 非必要 | 默认为视频流,`1` 为音频流 | **json回复:** diff --git a/docs/live/live_replay.md b/docs/live/live_replay.md new file mode 100644 index 0000000..0bad582 --- /dev/null +++ b/docs/live/live_replay.md @@ -0,0 +1,1269 @@ +# 直播回放 + +<!-- 网页端: https://link.bilibili.com/#/my-room/live-record ;移动端: https://live.bilibili.com/p/html/live-app-playback/index.html#new --> + +注: 直播回放相关接口较新,随时可能出现变化。 + +## 获取直播回放列表 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/AnchorGetReplayList + +*请求方法: GET* + +认证方式: Cookie (SESSDATA) + +只能获取自己14天的回放,详细信息请查看[对应页面](https://link.bilibili.com/#/my-room/live-record) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| page | num | 页码 | 非必要 | 默认第1页 | +| page_size | num | 每页内容数量 | 非必要 | 默认30项,最大30项 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | 0:成功<br />-101:未登录 | +| message | str | 提示信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| replay_info | arr | 回放信息列表 | 无结果时为`null` | +| pagination | obj | 分页信息 | | +| archive_flag | bool | (?) | 作用尚不明确 | +| can\_edit | num | (?) | 作用尚不明确 | + +`data.replay_info` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| replay_id | num | 直播回放id | | +| live_info | obj | 直播信息 | | +| video_info | obj | 回放视频信息 | | +| alarm_info | obj | 警报信息 | | +| room_id | num | 直播间id | | +| live_key | str | 标记直播场次的key | | +| start_time | num | 直播开始秒时间戳 | 调用[开始直播](manage.md#开始直播)接口的时间 | +| end_time | num | 直播结束秒时间戳 | 调用[关闭直播](manage.md#关闭直播)接口的时间 | + +`data.replay_info[i].live_info` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| title | str | 直播标题 | 直播结束时的标题 | +| cover | str | 直播封面 | | +| live_time | num | 直播时间 | 同`data.replay_info[i].start_time` | +| live_type | num | 直播类型? | 作用尚不明确 | + +`data.replay_info[i].video_info` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| replay_status | num | 回放状态 | 作用尚不明确 | +| estimated_time | str | 直播回放合成结束时间 | 未合成时为`"1970-01-01 08:00:00"` | +| duration | num | 直播时长 | 单位秒 | +| download_url | str | 下载链接片段 | 整场直播回放合成成功时存在<br />建议通过[请求整场直播回放下载链接](#请求整场直播回放下载链接)来获取下载链接 | +| alert_code | num | 快速检查警告代码 | 整场直播回放合成失败时不存在 | +| alert_message | str | 快速检查警告信息 | 整场直播回放合成失败时不存在 | + +`data.replay_info[i].alarm_info` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 回放合成警报代码 | | +| message | str | 回放合成错误信息 | | +| cur_time | num | 当前时间戳 | Unix秒时间戳 | +| is_ban_publish | bool | 是否禁止发布? | | + +`data.pagination` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| page | num | 请求的页码 | | +| page_size | num | 内容数量 | | +| total | num | 总计内容数量 | | + +**示例:** + +获取自己直播回放列表的第1页,每页2项 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/AnchorGetReplayList?page=1&page_size=2' \ + -b 'SESSDATA=xxx' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "replay_info": [ + { + "replay_id": 10707737, + "live_info": { + "title": "摆", + "cover": "https://i0.hdslb.com/bfs/live/59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png", + "live_time": 1747509268, + "live_type": 1 + }, + "video_info": { + "replay_status": 2, + "estimated_time": "1970-01-01 08:00:00", + "duration": 1820, + "alert_code": 2, + "alert_message": "录像时长远小于开播时长,请关注直播时网络状况" + }, + "alarm_info": { + "code": 2, + "message": "录像生成失败,请稍后再试", + "cur_time": 1747557808, + "is_ban_publish": false + }, + "room_id": 18992371, + "live_key": "609043243693510451", + "start_time": 1747509268, + "end_time": 1747511088 + }, + { + "replay_id": 10707664, + "live_info": { + "title": "摆", + "cover": "https://i0.hdslb.com/bfs/live/59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png", + "live_time": 1747508293, + "live_type": 1 + }, + "video_info": { + "replay_status": 2, + "estimated_time": "1970-01-01 08:00:00", + "duration": 206, + "alert_code": 2, + "alert_message": "录像时长远小于开播时长,请关注直播时网络状况" + }, + "alarm_info": { + "code": 2, + "message": "录像生成失败,请稍后再试", + "cur_time": 1747557808, + "is_ban_publish": false + }, + "room_id": 18992371, + "live_key": "609041817764368179", + "start_time": 1747508293, + "end_time": 1747508499 + } + ], + "pagination": { + "page": 1, + "page_size": 2, + "total": 29 + }, + "archive_flag": false, + "can_edit": 1 + } +} +``` + +</details> + +## 获取已发布片段的信息 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/AnchorGetVideoSliceList + +*请求方式: GET* + +认证方式: Cookie (SESSDATA) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| page | num | 页码 | 非必要 | 默认第1页 | +| page_size | num | 每页内容数量 | 非必要 | 默认20项,最大20项 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | 0:成功<br />-101:未登录 | +| message | str | 提示信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| list | arr | 切片信息 | | +| page | num | 请求的页码 | | +| page_size | num | 内容数量 | | +| total | num | 总计内容数量 | | + +`data.list` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| silce_id | num | 切片id | | +| av_title | str | 切片标题 | | +| av_cover | str | 切片封面 | | +| av_status | num | 切片状态 | 1:发布中<br />2:已投稿<br />3:投稿失败 | +| avid | num | 切片视频的avid | 状态为2时存在 | +| ctime | str | 切片创建时间 | | +| start_tm | str | 切片开始时间 | | +| end_tm | str | 切片结束时间 | | +| av_duration | num | 切片时长 | 状态为2且创作中心出现有效视频时长时存在 | +| failed_reason | str | 失败原因 | 状态为3时存在,2024-09-01前发布失败的切片可能不存在 | +| live_type | num | (?) | 作用尚不明确 | +| cnt_play | num | 播放数 | 视频有播放时存在;若该页出现任意状态不为2的项也会不存在 | +| cnt_danmaku | num | 弹幕数 | 视频有弹幕时存在;若该页出现任意状态不为2的项也会不存在 | + +**示例:** + +获取自己第1页的已发布片段信息,每页3项 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/AnchorGetVideoSliceList?page=1&page_size=3' \ + -b 'SESSDATA=xxx' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "slice_id": 882357, + "av_title": "2025051720 error", + "av_cover": "https://i0.hdslb.com/bfs/live/59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png", + "av_status": 1, + "ctime": "2025-05-18 18:13:13", + "start_tm": "2025-05-17 21:07:04", + "end_tm": "2025-05-17 21:16:00", + "live_type": 1 + }, + { + "slice_id": 879189, + "av_title": "2025051721 zzz 0", + "av_cover": "https://i0.hdslb.com/bfs/live/59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png", + "av_status": 3, + "ctime": "2025-05-18 00:32:52", + "start_tm": "2025-05-17 21:07:34", + "end_tm": "2025-05-17 23:02:03", + "failed_reason": "duration_false", + "live_type": 1 + }, + { + "slice_id": 876259, + "av_title": "202505171449", + "av_cover": "https://i0.hdslb.com/bfs/live/59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png", + "av_status": 2, + "avid": 114521830065531, + "ctime": "2025-05-17 14:49:18", + "start_tm": "2025-05-17 14:19:36", + "end_tm": "2025-05-17 14:23:48", + "av_duration": 341, + "live_type": 1 + } + ], + "page": 1, + "page_size": 3, + "total": 347 + } +} +``` + +</details> + +## 获取回放剪辑草稿列表 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetDraftList + +*请求方法: GET* + +认证方式: Cookie (SESSDATA) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| page | num | 页码 | 非必要 | 默认第1页 | +| page_size | num | 每页内容数量 | 非必要 | 默认30项,最大30项 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | -101:未登录<br />0:成功 | +| message | str | 错误信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| draft_info | arr | 草稿信息 | 无结果时为`null` | +| pagination | obj | 分页信息 | | + +`data.draft_info` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| id | num | 回放剪辑id | | +| title | str | 回放剪辑标题 | | +| cover | str | 回放剪辑封面 | 有封面时存在;若不存在将使用 https://s1.hdslb.com/bfs/static/blive/blfe-link-center/static/img/default.187078d.png | +| live\_key | str | 标记直播场次的key | | +| ctime | str | 回放剪辑创建时间 | | +| live_start_time | str | 直播开始时间 | | +| live_end_time | str | 直播结束时间 | | +| live_type | num | (?) | 作用尚不明确 | + +`data.pagination` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| page | num | 请求的页码 | | +| page_size | num | 内容数量 | | +| total | num | 总计内容数量 | | + +**示例:** + +请求自己的回放剪辑草稿列表 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetDraftList?page=1&page_size=12' \ + -b 'SESSDATA=xxx' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "draft_info": [ + { + "id": 988275, + "title": "直播场次 2025-05-19 20:45:04", + "live_key": "609431465787395891", + "ctime": "2025-05-22 01:08:20", + "live_start_time": "2025-05-19 20:45:04", + "live_end_time": "2025-05-20 09:40:13", + "live_type": 1 + }, + { + "id": 987665, + "title": "直播场次 2025-05-19 20:45:04 切片", + "cover": "http://i0.hdslb.com/bfs/live/9bdf1df3d823734c59382120a9a7c10b177dbefd.png", + "live_key": "609431465787395891", + "ctime": "2025-05-21 20:28:48", + "live_start_time": "2025-05-19 20:45:04", + "live_end_time": "2025-05-20 09:40:13", + "live_type": 1 + } + ], + "pagination": { + "page": 1, + "page_size": 30, + "total": 2 + } + } +} +``` + +</details> + +## 删除某个回放剪辑草稿 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/DeleteSliceDraft + +*请求方法: POST* + +认证方式: Cookie (SESSDATA) + +鉴权方式: Cookie中`bili_jct`的值正确并与`csrf`相同 + +**正文参数( application/x-www-form-urlencoded ):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| draft_id | num | 回放剪辑id | 必要 | | +| csrf_token | str | CSRF Token(位于cookie) | 非必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | -400:参数错误<br />-101:未登录<br />-111:csrf校验失败<br />0:成功<br />206:无可操作草稿 | +| message | str | 错误信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | `0` | | +| message | str | `""` | | + +**示例:** + +删除回放剪辑id为`988275`的草稿 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/DeleteSliceDraft' \ + --data-urlencode 'draft_id=988275' \ + --data-urlencode 'csrf=xxx' + -b 'SESSDATA=xxx;bili_jct=xxx' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "code": 0, + "message": "" + } +} +``` + +</details> + +## 请求整场直播回放下载链接 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/AnchorVideoDownload + +*请求方法: POST* + +认证方式: Cookie (SESSDATA) + +鉴权方式: Cookie中`bili_jct`的值正确并与`csrf`相同 + +未生成整场直播回放时将进行生成。 + +**正文参数( application/x-www-form-urlencoded ):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| record_id | num | 直播回放id | 必要(可选) | `record_id`和`live_key`必选其一 | +| live_key | str | 标记直播场次的key | 必要(可选) | `record_id`和`live_key`必选其一 | +| csrf_token | str | CSRF Token(位于cookie) | 非必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | -101:未登录<br />-111:csrf校验失败<br />0:成功<br />100:非法参数<br />210:回放id或场次key无效 | +| message | str | 错误信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| record | obj | 回放状态 | | +| download_url | str | 回放下载链接 | 完成时存在 | +| download_url_list | arr | 回放下载链接列表 | 完成时存在 | + +`data.record` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| uid | num | 用户mid | | +| record_id | num | 直播回放id | | +| status | num | 回放状态 | | +| estimated_time | num | 预计结束时间 | Unix秒时间戳 | +| current_time | num | 当前时间 | Unix秒时间戳 | +| merge_time | num | 开始合并时间 | Unix秒时间戳 | +| toast | str | 提示信息 | 失败时存在 | + +`data.download_url_list` 数组: + +| 项 | 类型 | 内容 | 备注 | +| -- | --- | --- | --- | +| 0 | str | 回放下载链接 | | + +**示例:** + +请求回放id为`10597910`的下载链接 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/AnchorVideoDownload' \ + --data-urlencode 'record_id=10597910' \ + --data-urlencode 'live_key=607942821532667699' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx;bili_jct=xxx' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "record": { + "uid": 438160221, + "record_id": 10597910, + "status": 30, + "estimated_time": 1747639543, + "current_time": 1747639106, + "merge_time": 1747638665 + }, + "download_url": "https://upos-sz-mirrorali.bilivideo.com/ugcever/n250519sa3hkpirw61hjskuit4d9fdsj.mp4?deadline=1747682306&gen=record2vod&os=upos&trid=da40b42594d5446da29cb0d2b2f25f45&uparams=deadline,gen,os,trid&upsig=c6ac5f218af40b2c120b3f5add2e4d6b&attname=直播回放_2025-05-13_20-49-04.mp4", + "download_url_list": [ + "https://upos-sz-mirrorali.bilivideo.com/ugcever/n250519sa3hkpirw61hjskuit4d9fdsj.mp4?deadline=1747682306&gen=record2vod&os=upos&trid=da40b42594d5446da29cb0d2b2f25f45&uparams=deadline,gen,os,trid&upsig=c6ac5f218af40b2c120b3f5add2e4d6b&attname=直播回放_2025-05-13_20-49-04.mp4" + ] + } +} +``` + +</details> + +## 获取回放的信息 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetAnchorVideoUidRecordsSubsect + +*请求方法: GET* + +认证方式: Cookie (SESSDATA) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| record_id | num | 直播回放id | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | -400:参数错误<br />-101:未登录<br />0:成功 | +| message | str | 错误信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | 失败时不可用 | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| list | arr | 回放信息列表 | | + +`data.list` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| uid | num | 用户mid | | +| record_id | num | 直播回放id | | +| title | str | 直播标题 | | +| cover | str | 直播封面 | | +| status | num | 回放状态 | | +| start\_time | num | 直播开始时间 | Unix秒时间戳 | +| end_time | num | 直播结束时间 | Unix秒时间戳 | + +**示例:** + +获取回放id为`10707664`的信息 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetAnchorVideoUidRecordsSubsect?record_id=10707664' \ + -b 'SESSDATA=xxx' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "uid": 438160221, + "record_id": 10707664, + "title": "摆", + "cover": "https://i0.hdslb.com/bfs/live/59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png", + "status": 2, + "start_time": 1747508293, + "end_time": 1747508499 + } + ] + } +} +``` + +</details> + +## 轮询回放合成状态 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetAnchorVideoUidRecord + +*请求方法: POST* + +认证方式: Cookie (SESSDATA) + +鉴权方式: Cookie中`bili_jct`的值正确并与`csrf`相同 + +**正文参数( application/x-www-form-urlencoded ):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| records | str | 直播回放id列表 | 必要 | 用`,`分隔 | +| csrf_token | str | CSRF Token(位于cookie) | 非必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | -101:未登录<br />-400:参数错误<br />0:成功 | +| message | str | 错误信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| list | arr | 查询结果 | 无效的id会被忽略 | + +`data.list` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| uid | num | 用户mid | | +| record_id | num | 直播回放id | | +| status | num | 回放状态 | | +| current_time | num | 当前时间戳 | Unix秒时间戳 | +| estimated_time | num | 预计结束时间戳 | 初次[请求回放下载链接](#请求整场直播回放下载链接)后存在 | +| merge_time | num | 合成开始时间戳 | 初次[请求回放下载链接](#请求整场直播回放下载链接)后存在 | + +**示例:** + +查询各种回放id + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetAnchorVideoUidRecord' \ + --data-urlencode 'records=10727160,10597910,10687720,10230000,99999999' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx;bili_jct=xxx' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "uid": 91089731, + "record_id": 10230000, + "status": 2, + "current_time": 1747641604 + }, + { + "uid": 438160221, + "record_id": 10597910, + "status": 30, + "estimated_time": 1747639543, + "current_time": 1747641604, + "merge_time": 1747638665 + }, + { + "uid": 438160221, + "record_id": 10687720, + "status": -30, + "estimated_time": 1747635525, + "current_time": 1747641604, + "merge_time": 1747635486, + "toast": "因直播过程中存在推流质量问题(网络波动或丢包),本场直播回放无法合成" + }, + { + "uid": 3493299121817771, + "record_id": 10727160, + "status": 2, + "current_time": 1747641604 + } + ] + } +} +``` + +</details> + +## 获取切片视频流 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetSliceStream + +*请求方法: GET* + +认证方式: Cookie (SESSDATA) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| live_key | str | 标记直播场次的key | 必要 | 对应[获取直播回放列表](#获取直播回放列表)的`data.replay_info[i].live_key` | +| start_time | num | 直播开始时间戳 | 必要 | 对应[获取直播回放列表](#获取直播回放列表)的`data.replay_info[i].start_time` | +| end_time | num | 直播结束时间戳 | 必要 | 对应[获取直播回放列表](#获取直播回放列表)的`data.replay_info[i].end_time` | +| web_location | str | (?) | 非必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | -400:参数缺失<br />-101:未登录<br />0:成功<br />100:非法参数<br />202:场次无效 | +| message | str | 错误信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| list | arr | 直播回放视频列表 | 如果该场回放没有视频流将为`null` | + +`data.list` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| start_time | num | 片段开始时间戳 | Unix秒时间戳 | +| end_time | num | 片段结束时间戳 | Unix秒时间戳 | +| stream | str | 直播回放视频流 | | +| type | num | 类型? | 2:一般回放? | + +**示例:** + +获取某个场次的视频流 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetSliceStream?live_key=607113721045847859&start_time=1746863101&end_time=1746879299' \ + -b 'SESSDATA=xxx' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "start_time": 1746863103, + "end_time": 1746879246, + "stream": "https://bvc-live.bilivideo.com/hls-record-gateway/videoPlay?biz_id=live2vod-clip&end_time=1746879246&header_name=1746863103.m4s&host_id=edge-hls-bvc-self-cn-jsyz-ct-03-59-6d854b4bd8-gnlb7&no_end=0&schema=https&sign=12f649dd540096672745d60b84f18eda&start_time=1746863103&stream_name=live_438160221_32373699&ts=1752930893&version=2", + "type": 2 + }, + { + "start_time": 1746879267, + "end_time": 1746879269, + "stream": "https://bvc-live.bilivideo.com/hls-record-gateway/videoPlay?biz_id=live2vod-clip&end_time=1746879269&header_name=1746863104.m4s&host_id=edge-hls-bvc-self-cn-jsyz-ct-03-59-6d854b4bd8-gnlb7&no_end=0&schema=https&sign=5c63605f1fa88561a6257b6812725b4f&start_time=1746879267&stream_name=live_438160221_32373699&ts=1752930893&version=2", + "type": 2 + }, + { + "start_time": 1746879269, + "end_time": 1746879298, + "stream": "https://bvc-live.bilivideo.com/hls-record-gateway/videoPlay?biz_id=live2vod-clip&end_time=1746879298&header_name=1746863105.m4s&host_id=edge-hls-bvc-self-cn-jsyz-ct-03-59-6d854b4bd8-gnlb7&no_end=0&schema=https&sign=70929627354f4380b54b97fcdb69c8a2&start_time=1746879269&stream_name=live_438160221_32373699&ts=1752930893&version=2", + "type": 2 + } + ] + } +} +``` + +</details> + +## 获取直播会话数据 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetLiveSessionData + +*请求方法: GET* + +认证方式: Cookie (SESSDATA) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| live_key | str | 标记直播场次的key | 必要 | | +| start_tm | str | 开始时间 | 必要 | 格式为`yyyy-mm-dd+HH:MM:SS`,时区为`UTC+08:00`(中国标准时间);取值对实际无影响 | +| end_tm | str | 开始时间 | 必要 | 格式为`yyyy-mm-dd+HH:MM:SS`,时区为`UTC+08:00`(中国标准时间);取值对实际无影响 | +| web_location | str | (?) | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | -500:服务器错误<br />-101:未登录<br />0:成功<br />100:非法参数<br />202:场次无效 | +| message | str | 错误信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| session_data | arr | 会话数据 | | +| max_danmaku | num | 弹幕最多的时间戳 | Unix秒时间戳,没有则为`0` | +| max_pcu | num | 进房最多的时间戳 | Unix秒时间戳,没有则为`0` | +| max_value | num | (?) | 效果未知 | +| high_light_data | arr | 高光时刻数据 | | +| ass_url | str | ASS字幕链接 | 用作弹幕显示 | + +`data.session_data` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| ts | num | 采样时间 | Unix秒时间戳 | +| value | num | 弹幕数量 | | + +`data.high_light_data` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| id | num | 高光id | | +| type | num | 高光类型 | 1:弹幕<br />2:进房 | +| start_time | num | 高光开始时间戳 | Unix秒时间戳 | +| end_time | num | 高光结束时间戳 | Unix秒时间戳 | +| title | str | 高光提示标题 | | +| cover | str | (?) | 目前为`""` | +| extra | str | (?) | 目前为`""` | + +**示例:** + +获取场次key为`607113721045847859`的会话数据 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetLiveSessionData?live_key=607113721045847859&start_tm=0000-01-01+00:00:00&end_tm=1970-01-01+00:00:00' \ + -b 'SESSDATA=xxx' +``` + +<details> +<summary>查看响应示例:</summary> + +```jsonc +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "session_data": [ + { + "ts": 1746863100, + "value": 0 + }, + { + "ts": 1746863160, + "value": 0 + }, + { + "ts": 1746863220, + "value": 0 + }, + { + "ts": 1746863280, + "value": 0 + }, + { + "ts": 1746863340, + "value": 0 + }, + { + "ts": 1746863400, + "value": 0 + }, + { + "ts": 1746863460, + "value": 0 + }, + { + "ts": 1746863520, + "value": 0 + }, + { + "ts": 1746863580, + "value": 0 + }, + { + "ts": 1746863640, + "value": 0 + }, + { + "ts": 1746863700, + "value": 0 + }, + { + "ts": 1746863760, + "value": 0 + }, + { + "ts": 1746863820, + "value": 0 + }, + // 省略100多条数据 + { + "ts": 1746878520, + "value": 0 + }, + { + "ts": 1746878580, + "value": 0 + }, + { + "ts": 1746878640, + "value": 0 + }, + { + "ts": 1746878700, + "value": 0 + }, + { + "ts": 1746878760, + "value": 0 + }, + { + "ts": 1746878820, + "value": 0 + }, + { + "ts": 1746878880, + "value": 0 + }, + { + "ts": 1746878940, + "value": 0 + }, + { + "ts": 1746879000, + "value": 0 + }, + { + "ts": 1746879060, + "value": 0 + }, + { + "ts": 1746879120, + "value": 0 + }, + { + "ts": 1746879180, + "value": 0 + }, + { + "ts": 1746879240, + "value": 0 + } + ], + "max_danmaku": 1746864660, + "max_pcu": 1746864660, + "max_value": 0, + "high_light_data": [ + { + "id": 6226272, + "type": 1, + "start_time": 1746873300, + "end_time": 1746873480, + "title": "弹幕高光 Top 1", + "cover": "", + "extra": "" + }, + { + "id": 6226274, + "type": 1, + "start_time": 1746873120, + "end_time": 1746873420, + "title": "弹幕高光 Top 2", + "cover": "", + "extra": "" + }, + { + "id": 6226271, + "type": 2, + "start_time": 1746864600, + "end_time": 1746864780, + "title": "进房高光时刻", + "cover": "", + "extra": "" + } + ], + "ass_url": "https://jssz-boss.hdslb.com/live2arc_anchor_video/dmass_1899237171_607113721045847859.ass?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=y4zI4XTQzlOkmSKg%2F20250520%2Fjssz%2Fs3%2Faws4_request&X-Amz-Date=20250520T130358Z&X-Amz-Expires=7200&X-Amz-SignedHeaders=host&X-Amz-Signature=5e3ddfbcb8893dc6e76deea7981165e18e5df9a7579f4e6e97c7a32abec53d84" + } +} +``` + +</details> + +## 获取某个时间的视频帧 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetAnchorVideoKeyFrame + +*请求方法: POST* + +认证方式: Cookie (SESSDATA) + +鉴权方式: Cookie中`bili_jct`的值正确并与`csrf`相同 + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| csrf | str | CSRF Token(位于cookie) | 必要 | | + +**正文参数( application/json ):** + +根对象: + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| live_key | str | 标记直播场次的key | 必要 | | +| time_list | str | 秒时间戳列表,用`,`分隔 | 必要 | 时间间隔低于30秒将会导致只提供部分内容 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | -400:请求错误<br />-111:csrf校验失败<br />-101:未登录<br />0:成功 | +| message | str | 错误信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| list | arr | 指定时间的视频帧列表 | 场次key无效时为`null` | + +`data.list` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| ts | num | 时间戳 | 对应请求的`time_list`其中某一个 | +| url | str | 该时间的视频帧 | 该时间有视频时存在 | + +**示例:** + +获取某场直播的视频帧 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetAnchorVideoKeyFrame?csrf=xxx' \ + -H 'Content-Type: application/json' \ + -b 'SESSDATA=xxx;bili_jct=xxx' \ + -d '{"live_key":"609431465787395891","time_list":"174758900,1747658930,1747658960"}' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "ts": 174758900 + }, + { + "ts": 1747658930, + "url": "https://jssz-boss.hdslb.com/live2arc_anchor_video/live_438160221_32373699_20250519204900.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=y4zI4XTQzlOkmSKg%2F20250520%2Fjssz%2Fs3%2Faws4_request&X-Amz-Date=20250520T180202Z&X-Amz-Expires=7200&X-Amz-SignedHeaders=host&X-Amz-Signature=8d42a3d5fd1995e5e2bf98d453a986bec48529a9ae97d5d7eedee8a59b22418a" + }, + { + "ts": 1747658960, + "url": "https://jssz-boss.hdslb.com/live2arc_anchor_video/live_438160221_32373699_20250519205001.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=y4zI4XTQzlOkmSKg%2F20250520%2Fjssz%2Fs3%2Faws4_request&X-Amz-Date=20250520T180202Z&X-Amz-Expires=7200&X-Amz-SignedHeaders=host&X-Amz-Signature=f4a3803d4147492ced14eefbb6953e772b886e195d51dbfac800e77320adeba2" + } + ] + } +} +``` + +</details> + +## 投稿直播回放片段 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/AnchorPublishVideoSlice + +*请求方法: POST* + +认证方式: Cookie (SESSDATA) + +鉴权方式: Cookie中`bili_jct`的值正确并与`csrf`相同 + +**正文参数( application/x-www-form-urlencoded ):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| live_key | str | 标记直播场次的key | 必要 | 必须为自己的live_key | +| start_ts | num | 开始时间戳 | 必要 | 开始和结束时间目前相差不能大于2小时 | +| end_ts | num | 结束时间戳 | 必要 | 开始和结束时间目前相差不能大于2小时 | +| av_title | str | 切片标题 | 必要 | 不能与现有标题重复 | +| av_cover | str | 切片封面URL | 必要 | 必须为`.hdslb.com`域名下的图片,否则合成结束时会出错 | +| av_highlight | num | 高光绑定? | 非必要 | | +| with_subtitle | num | 是否自动生成字幕? | 非必要 | 效果不明确 | +| with_danmaku | num | 是否带弹幕? | 非必要 | 传递`1`时可能导致处于“发布中”状态时不在[获取已发布片段的信息](#获取已发布片段的信息)中显示 | +| with_reserve | num | (?) | 非必要 | 作用尚不明确 | +| csrf | str | CSRF Token(位于cookie) | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | -111:csrf校验失败<br />-101:未登录<br />0:成功<br />4000:时长过长<br />4001:操作太快<br />4002:片段已投稿<br />4003:请选择精彩片段再投稿哦<br />4006:标题已使用 | +| message | str | 错误信息 | | +| ttl | num | `1` | | +| data | obj | 信息本体 | 成功时有效 | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| video_slice_id | num | 切片id | | + +注: 若返回值出现4001不一定就是操作太快,不提供某些必要参数或某个参数不正确也会导致返回4001。 + +**示例:** + +为某个场次投稿切片 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/AnchorPublishVideoSlice' \ + --data-urlencode 'live_key=609431465787395891' \ + --data-urlencode 'start_ts=1747680306' \ + --data-urlencode 'end_ts=1747687506' \ + --data-urlencode 'av_title=2025051920' \ + --data-urlencode 'av_cover=https://i0.hdslb.com/bfs/live/59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png' \ + --data-urlencode 'av_highlight=0' \ + --data-urlencode 'with_subtitle=0' \ + --data-urlencode 'with_danmaku=0' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx;bili_jct=xxx' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data":{ + "video_slice_id": 898374 + } +} +``` + +</details> + +## 下载整场直播回放的流程 + +此处的流程是从[直播回放](https://link.bilibili.com/#/my-room/live-record)的“下载回放”功能得出的。 + +1. 先[请求整场直播回放下载链接](#请求整场直播回放下载链接)接口,让它开始合成回放; + +2. (可选)请求[获取回放的信息](#获取回放的信息)接口,生成合成进度页面; + +3. [轮询回放合成状态](#轮询回放合成状态),当状态变为`30`转到流程4,变为`-30`转到流程5; + +4. 再次[请求整场直播回放下载链接](#请求整场直播回放下载链接),获取下载链接并下载。 + +5. 请求[获取直播回放列表](#获取直播回放列表),刷新页面并根据信息提示失败。 + +## 直播回放片段发布页面 + +通过此处的链接可以打开直播回放片段发布页面。 + +> https://live.bilibili.com/web-cut/quick-publish.html (网页端) + +> https://live.bilibili.com/web-cut/quick-publish-mobile.html (移动端) + +注:移动端强制限制只能投稿15分钟的片段,网页端则看[投稿直播回放片段](#投稿直播回放片段)接口允许多长的时间。 + +**url查询参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| start_time | num | 直播开始时间 | 必要 | 对应[获取直播回放列表](#获取直播回放列表)的`data.replay_info[i].start_time` | +| end_time | num | 直播结束时间 | 必要 | 对应[获取直播回放列表](#获取直播回放列表)的`data.replay_info[i].end_time` | +| live_key | str | 标记直播场次的key | 必要 | 对应[获取直播回放列表](#获取直播回放列表)的`data.replay_info[i].live_key` | +| cover | str | 封面URL | 非必要 | 可以自定义封面,或者在[获取直播回放列表](#获取直播回放列表)使用直播封面 | + +**示例链接:** + +网页端: https://live.bilibili.com/web-cut/quick-publish.html?start_time=1747508293&end_time=1747508499&live_key=609041817764368179&cover=https%3A%2F%2Fi0.hdslb.com%2Fbfs%2Flive%2F59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png + +移动端: https://live.bilibili.com/web-cut/quick-publish-mobile.html?start_time=1747508293&end_time=1747508499&live_key=609041817764368179 + +## 直播回放剪辑页面 + +此链接用于打开直播回放轻剪辑页面,在点击[直播回放片段发布页面](#直播回放片段发布页面)的“高级剪辑工具”或某一个[回放剪辑草稿](#获取回放剪辑草稿列表)后自动打开。 + +> https://live.bilibili.com/web-cut/index.html + +**url查询参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| start_time | num | 直播开始时间戳 | 必要 | 用于[获取切片视频流](#获取切片视频流) | +| end_time | num | 直播结束时间戳 | 必要 | 用于[获取切片视频流](#获取切片视频流) | +| live_key | str | 标记直播场次的key | 必要 | 用于[获取切片视频流](#获取切片视频流) | +| draft_id | num | 回放剪辑id | 必要 | | + +**示例链接:** https://live.bilibili.com/web-cut/index.html?start_time=1747658704&end_time=1747705213&live_key=609431465787395891&draft_id=988275 diff --git a/docs/live/manage.md b/docs/live/manage.md index 8150b28..88d54c1 100644 --- a/docs/live/manage.md +++ b/docs/live/manage.md @@ -11,6 +11,7 @@ 鉴权方式:Cookie中`bili_jct`的值正确并与`csrf`相同 **正文参数( application/x-www-form-urlencoded ):** + | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ------- | ---- | ------------------------ | ------ | -------------------- | | platform | str | 客户端? | 必要 | 默认值web | @@ -270,12 +271,19 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \ **正文参数( application/x-www-form-urlencoded ):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| -------- | ---- | ------------------------ | ------ | ----------------------------------- | -| room_id | num | 直播间id | 必要 | 必须为自己的直播间id | -| area_v2 | num | 直播分区id(子分区id) | 必要 | 详见[直播分区](live_area.md) | -| platform | str | 直播平台 | 必要 | 直播姬(pc):pc_link<br />web在线直播:web_link<br />bililink:android_link | -| csrf | str | CSRF Token(位于cookie) | 必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------- | ---- | ------------------------ | ------ | ------------------------------------------------------------ | +| room_id | num | 直播间id | 必要 | 必须为自己的直播间 id | +| area_v2 | num | 直播分区id(子分区 id) | 必要 | 详见[直播分区](live_area.md) | +| platform | str | 直播平台 | 必要 | 可选值:`pc`、`pc_link` (直播姬 PC), `android_link` (直播姬 Android) | +| csrf | str | CSRF Token(位于 cookie) | 必要 | | +| csrf_token | str | CSRF Token(位于 cookie) | 非必要 | | +| version | str | 直播姬版本号 | 非必要 | 建议与 `build` 一同提供,详见下方说明。可从[直播姬版本号获取](#直播姬版本号获取)接口获得。 | +| build | num | 直播姬构建号 | 非必要 | 建议与 `version` 一同提供。 | +| appkey | str | APP密钥 | 条件性必要 | 特定情况下必要,详见下方说明。 | +| sign | str | APP API签名得到的 sign | 条件性必要 | 特定情况下必要,详见下方说明。 | + +**说明**: 截止至 2025 年 7 月 20 日,部分账户不提供 `version` `build` `appkey` `sign` 也可获取推流码,部分账户会返回 `60024` (需要人脸认证),此时请尝试提供 `version` `build`,目前似乎没有校验,提供了就可以。(比如 `version:1.0.0` `build:1234`) 如果仍然返回 `60024`,请尝试提供 `appkey` `sign` 参数。如果你的 `version` 和 `build` 为 `7.19.0.9432` 和 `9432`,必须提供 `appkey` `sign`。 **json回复:** @@ -283,10 +291,11 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \ | 字段 | 类型 | 内容 | 备注 | | ------- | ---- | -------- | ------------------------------------------------------------ | -| code | num | 返回值 | 0:成功<br />65530:token错误(登录错误)<br />1:错误<br />60009:分区不存在<br />60024: 目标分区需要人脸认证<br />60013:非常抱歉,您所在的地区受实名认证限制无法开播<br />**(其他错误码有待补充)** | -| msg | str | 错误信息 | 默认为空 | -| message | str | 错误信息 | 默认为空 | -| data | obj | 信息本体 | | +| code | num | 返回值 | 0: 成功<br />-400: 请求错误<br />1: 错误<br />60009: 分区不存在<br />60013: 所在地区受实名认证限制无法开播<br />60024: 目标分区需要人脸认证<br />60034: 系统维护仅支持直播姬开播<br />60037: web在线开播已下线<br />65530: token错误 (登录失效)<br />**(其他错误码有待补充)** | +| msg | str | 提示信息 | 默认为空 | +| message | str | 提示信息 | 默认为空 | +| data | obj | 信息本体 | 成功时返回 | + `data`对象: @@ -296,7 +305,7 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \ | status | str | 直播间状态 | `LIVE` | | room_type | num | 0 | 作用尚不明确 | | rtmp | obj | RTMP推流地址信息 | | -| protocols | array | ??? | 作用尚不明确 | +| protocols | array | 推流协议、地址、密钥等信息<br />其中地址、密钥与 `rtmp` 字段的内容是一致的 | 协议只见到过 `rtmp` | | try_time | str | ??? | 作用尚不明确 | | live_key | str | 标记直播场次的key | | | sub_session_key | str | 信息变动标识 | | @@ -314,23 +323,23 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \ | addr | str | RTMP推流(发送)地址 | **重要** | | code | str | RTMP推流参数(密钥) | **重要** | | new_link | str | 获取CDN推流ip地址重定向信息的url | 没啥用 | -| provider | str | ??? | 作用尚不明确 | +| provider | str | 推流云服务节点厂商 | `txy`: 腾讯云 | `data`中的`protocols`数组: | 项 | 类型 | 内容 | 备注 | | ---- | ---- | ------ | ------------ | -| 0 | obj | ??? | 作用尚不明确 | +| 0 | obj | 与 `rtmp` 字段在地址和密钥上相同的推流协议信息 | | `data`中的`protocols`数组中的对象: | 字段 | 类型 | 内容 | 备注 | | -------- | ---- | -------------------------------- | ------------ | -| protocol | str | rtmp | 作用尚不明确 | -| addr | str | RTMP推流(发送)地址 | | -| code | str | RTMP推流参数(密钥) | | +| protocol | str | rtmp | 推流协议 | +| addr | str | RTMP推流(发送)地址 | 格式为 `rtmp://<推流节点>/live-bvc/` | +| code | str | RTMP推流参数(密钥) | 格式为 `?streamname=live_<B站UID>_<未知数字>&key=<密钥>&schedule=rtmp&pflag=<开播平台标志>` | | new_link | str | 获取CDN推流ip地址重定向信息的url | | -| provider | str | txy | 作用尚不明确 | +| provider | str | 推流云服务节点厂商 | `txy`: 腾讯云 | `data`中的`notice`对象: @@ -431,6 +440,7 @@ curl 'https://api.live.bilibili.com/room/v1/Room/startLive' \ | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ------- | ---- | ------------------------ | ------ | -------------------- | +| platform | str | 直播平台 | 必要 | 直播姬(pc):pc_link<br />直播姬(android):android_link | | room_id | num | 直播间id | 必要 | 必须为自己的直播间id | | csrf | str | CSRF Token(位于cookie) | 必要 | | @@ -440,9 +450,9 @@ curl 'https://api.live.bilibili.com/room/v1/Room/startLive' \ | 字段 | 类型 | 内容 | 备注 | | ------- | ---- | -------- | ------------------------------------------------------------ | -| code | num | 返回值 | 0:成功<br />65530:token错误(登录错误)<br />-400:没有权限<br />**(其他错误码有待补充)** | -| msg | str | 错误信息 | 默认为空 | -| message | str | 错误信息 | 默认为空 | +| code | num | 返回值 | 0:成功<br />65530:token错误(登录错误)<br />-400:没有权限<br />60034: 系统维护仅支持直播姬关播<br />**(其他错误码有待补充)** | +| msg | str | 提示信息 | 默认为空 | +| message | str | 提示信息 | 默认为空 | | data | obj | 信息本体 | | `data`对象: @@ -458,6 +468,7 @@ curl 'https://api.live.bilibili.com/room/v1/Room/startLive' \ ```shell curl 'https://api.live.bilibili.com/room/v1/Room/stopLive' \ + --data-urlencode 'platform=pc_link' \ --data-urlencode 'room_id=10352053' \ --data-urlencode 'csrf=xxx' \ -b 'SESSDATA=xxx;bili_jct=xxx' @@ -480,6 +491,121 @@ curl 'https://api.live.bilibili.com/room/v1/Room/stopLive' \ </details> +## 预更新直播间信息 + +> https://api.live.bilibili.com/xlive/app-blink/v1/preLive/UpdatePreLiveInfo + +*请求方法: POST* + +认证方式:Cookie(SESSDATA) + +鉴权方式:Cookie中`bili_jct`的值正确并与`csrf`相同 + +**正文参数( application/x-www-form-urlencoded ):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| csrf | str | CSRF Token(位于cookie) | 必要 | | +| csrf_token | str | CSRF Token(位于cookie) | 必要 | | +| platform | str | 平台标识 | 必要 | 似乎可随意提供<br />网页端: web | +| mobi_app | str | 平台标识? | 必要 | 似乎可随意提供<br />网页端: web | +| build | num | 构建标识? | 必要 | 建议取`1`,似乎可随意提供 | +| cover | str | 直播封面链接 | 非必要 | 图片链接需要在`.hdslb.com`域名下 | +| title | str | 直播间标题 | 非必要 | 参见[更新直播间信息](#更新直播间信息)的title参数 | +| coverVertical | str | (?) | 非必要 | 作用尚不明确 | +| liveDirectionType | num | (?) | 非必要 | `1` | +| visit_id | str | (?) | 非必要 | `""` | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | 0: 成功<br />1: 错误<br />100402: 图片地址不合法 | +| message | str | 错误信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 内容本体 | | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| audit_info | obj | 审核信息 | | + +`data.audit_info`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| audit_title | str | 被审核的标题 | | +| audit_title_status | num | 标题审核状态 | | +| audit_title_reason | str | 标题审核提示 | | + +**示例:** + +更新直播间封面 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/preLive/UpdatePreLiveInfo' \ + --data-urlencode 'platform=web' \ + --data-urlencode 'mobi_app=web' \ + --data-urlencode 'build=1' \ + --data-urlencode 'cover=https://i0.hdslb.com/bfs/live/59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx;bili_jct=xxx' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data":{ + "audit_info":{ + "audit_title": "", + "audit_title_status": 0, + "audit_title_reason": "" + } + } +} +``` + +</details> + +使用此接口更新直播间标题 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/preLive/UpdatePreLiveInfo' \ + --data-urlencode 'platform=web' \ + --data-urlencode 'mobi_app=web' \ + --data-urlencode 'build=1' \ + --data-urlencode 'title=你好你好,我是花火~咱们来找点乐子吧?小灰毛,不要害羞嘛,要大胆的来,一起欢愉吧' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx;bili_jct=xxx' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data":{ + "audit_info":{ + "audit_title": "你好你好,我是花火~咱们来找点乐子吧?小灰毛,不要害羞嘛,要大胆的来,一起欢愉吧", + "audit_title_status": 2, + "audit_title_reason": "先发后审" + } + } +} +``` + +</details> ## 更新直播间公告 @@ -539,3 +665,78 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/index/updateRoomNews' \ ``` </details> + +## PC直播姬版本号获取 +> https://api.live.bilibili.com/xlive/app-blink/v1/liveVersionInfo/getHomePageLiveVersion + +*请求方式:GET* + +认证方式:无 + +鉴权方式:无 + +**请求参数 (Query):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------- | ---- | ------------------------ | ------ | --------------------- | +| appkey | str | APP密钥 | 不必要 |使用PC投稿工具的appkey和appsec| +| sign | str | APP API签名得到的sign | 不必要 | | +| system_version | num | 暂不清楚 | 必要 | 可以直接写2 | +| ts | num | 10位时间戳 | 不必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ----- | -------- | ------------------------------------------------------ | +| code | num | 返回值 | 0:成功<br />-400:请求错误 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | 作用尚不明确 | +| data | obj | 内容本体 | | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ---- | ------------------------ | ---------------------- | +| curr_version | str | 直播姬最新版本号 | | +| build | num | 直播姬构建号 | | +| instruction | str | 更新说明(简要) | | +| file_size | str | 文件大小(字节) | | +| file_md5 | str | 安装包文件MD5 | | +| content | str | HTML格式的更新内容 | | +| download_url | str | 安装包下载链接 | | +| hdiffpatch_switch | num | 增量更新开关? | | + +**示例:** + +获取直播姬最新版本信息 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/liveVersionInfo/getHomePageLiveVersion?appkey=aae92bc66f3edfab&sign=49d289e3ad34c509cc66fbee1c0affec&system_version=2&ts=1752971145' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "curr_version": "7.19.0.9432", + "build": 9432, + "instruction": "\u3010\u65b0\u589e\u3011\u65b0\u589e\u7f8e\u989c\u8c03\u6574\u5165\u53e3\n\u3010\u4f18\u5316\u3011\u5df2\u77e5\u95ee\u9898\u4f18\u5316", + "file_size": "300867136", + "file_md5": "e1619a8e2603aa94b58a58121f94403f", + "content": "<p>\u3010\u65b0\u589e\u3011\u65b0\u589e\u7f8e\u989c\u8c03\u6574\u5165\u53e3<br>\u3010\u4f18\u5316\u3011\u5df2\u77e5\u95ee\u9898\u4f18\u5316</p><p></p><p><br></p>", + "download_url": "https://dl.hdslb.com/bili/bililive/win/Livehime-Win-beta-7.19.0.9432-x64.exe", + "hdiffpatch_switch": 1 + } +} +``` + +</details> + + diff --git a/docs/live/message_stream.md b/docs/live/message_stream.md index 7d106df..8a13320 100644 --- a/docs/live/message_stream.md +++ b/docs/live/message_stream.md @@ -8,6 +8,8 @@ 认证方式: Cookie(SESSDATA) +鉴权方式:[Wbi 签名](../misc/sign/wbi.md), Cookie中的`buvid3`不为空 + 可以选择进行认证,若未认证视作未登录,将会受到限制,详见后续内容。 **URL参数:** @@ -15,6 +17,12 @@ | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ------ | ---- | ------------ | ------ | ---- | | id | num | 直播间真实id | 必要 | | +| type | num | (?) | 非必要 | 作用尚不明确 | +| web_location | str | (?) | 非必要 | 作用尚不明确 | +| w_rid | str | Wbi 签名 | 必要 | 详见 [Wbi 签名](../misc/sign/wbi.md) | +| wts | num | 当前时间戳 | 必要 | 详见 [Wbi 签名](../misc/sign/wbi.md) | + +注: 从2025年5月26日开始正式强制要求Wbi签名,2025年6月27日开始要求`buvid3`。见[#1295](https://github.com/SocialSisterYi/bilibili-API-collect/issues/1295) **JSON回复:** @@ -50,11 +58,10 @@ **示例:** -获得直播间 `14047` 的信息流认证秘钥 +获得直播间 `1017` 的信息流认证秘钥 ```shell -curl -G 'https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo' \ ---url-query 'id=14047' +curl 'https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo?id=1017&type=0&web_location=444.8&w_rid=cf24f88ea0cbb61e7b29aed0c070187d&wts=1748266797' ``` <details> @@ -65,30 +72,42 @@ curl -G 'https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo' \ "code": 0, "message": "0", "ttl": 1, - "data": { + "data":{ "group": "live", "business_id": 0, "refresh_row_factor": 0.125, "refresh_rate": 100, "max_delay": 5000, - "token": "IFfrzJxUd-K6mBPLGCpu-Z9QAz1V3KzIxde_-tCzvah05fYgfXjBWyuqRywF8Ov2w-MGQWt7l80pLiZEsfx3OPEDsXSRaJlzihV0hTXYwkiJvRmzMH3JjfAjdzlvI8sytUCrIbezBgbr_grGPd4ENTEknvu165L-ocW_cyql1e-L_EE=", - "host_list": [ + "token": "gZ2Pp2T4rIc2HfD0e53FHhQAwKWjb6-QDD84AcxXi8sk3S89XcdvPWOgClZIMZ5mESr19-JKTOFxayX4IjeSQuckWqohE5Y0aHn-agpc2uU7aPXW3-Xmra3QEKljMZS5fM3q2vCf2XcAsjc8Xup7MVAc8SLWWXhQz0s7f1alCkaJBAIPA-i2nS39Ri4O", + "host_list":[ { - "host": "hw-sg-live-comet-02.chat.bilibili.com", + "host": "zj-cn-live-comet.chat.bilibili.com", "port": 2243, - "wss_port": 443, + "wss_port": 2245, "ws_port": 2244 }, { - "host": "hw-sg-live-comet-01.chat.bilibili.com", + "host": "zj-cn-live-comet.chat.bilibili.com", "port": 2243, - "wss_port": 443, + "wss_port": 2245, + "ws_port": 2244 + }, + { + "host": "bd-sz-live-comet-14.chat.bilibili.com", + "port": 2243, + "wss_port": 2245, + "ws_port": 2244 + }, + { + "host": "bd-bj-live-comet-09.chat.bilibili.com", + "port": 2243, + "wss_port": 2245, "ws_port": 2244 }, { "host": "broadcastlv.chat.bilibili.com", "port": 2243, - "wss_port": 443, + "wss_port": 2245, "ws_port": 2244 } ] @@ -104,7 +123,7 @@ curl -G 'https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo' \ **注: 特别的**, WS 与 WSS 连接地址带有路径 `/sub`, 如 `wss://broadcastlv.chat.bilibili.com:443/sub`. -**再注:** B 站更新了隐私政策, 连接建立后, 若该连接认证时传入信息来自未登录用户, 会提示 `为保护用户隐私,未注册登陆用户将无法查看他人昵称`, 随后部分数据包(如“弹幕”、“进场或关注消息”)的用户 mid 都为 `0`, 用户名部分也使用 `*` 保护, 部分房间受到豁免, 参见 [#732](https://github.com/SocialSisterYi/bilibili-API-collect/issues/732) +**再注:** B 站更新了隐私政策, 连接建立后, 若该连接认证时传入信息来自未登录用户, 会提示 `为保护用户隐私,未注册登陆用户将无法查看他人昵称`, 随后部分数据包(如“弹幕”、“用户交互消息”)的用户 mid 都为 `0`, 用户名部分也使用 `*` 保护, 部分房间受到豁免, 参见 [#732](https://github.com/SocialSisterYi/bilibili-API-collect/issues/732) 操作流程 (伪代码): @@ -380,7 +399,7 @@ while (!s.isclosed()) { 见下方 JSONC -```json +```jsonc { "send_from_me": false, // 是否由该接收消息的用户发送 "mode": 0, // 弹幕模式 (info[0][1]) @@ -706,7 +725,7 @@ while (!s.isclosed()) { | -------- | ---- | -------- | ---- | | id | num | 事件 ID | | | status | num | 状态 | | -| type | num | 事件类型 | 102:弹幕<br />103:<br />104:送礼<br />105:分享<br />106:点赞 | +| type | num | 事件类型 | 101:投票<br />102:弹幕<br />103:关注<br />104:送礼<br />105:分享<br />106:点赞 | | data | str | 事件数据 | 一个JSON字符串 | | dmsource | num | | | @@ -716,6 +735,49 @@ while (!s.isclosed()) { 温馨提示: 要记得先解析`data.data`内的JSON字符串,不要直接使用哦。 +`data.data(101)` 对象: (投票) + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| question | str | 投票问题 | | +| options | obj | 投票详细选项 | | +| vote_id | num | 投票id | | +| cnt | num | 弹幕计数 | | +| duration | num | 持续时间 | 单位毫秒 | +| left_duration | num | 剩余时间 | 单位毫秒 | +| fade_duration | num | (?) | | +| waiting_duration | num | (?) | | +| result | num | 投票倾向状态 | | +| result_text | str | 投票倾向提示 | | +| component | str | 投票链接 | | +| natural_die_duration | num | (?) | | +| my_vote | num | (?) | | +| component_anchor | str | 投票控制链接 | | +| audit_reason | str | 审核结果 | | +| combo | obj | 投票状态展示 | | + +`data.data(101).options` 数组中对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| idx | num | 选项索引 | | +| desc | str | 选项内容 | | +| cnt | num | 票数 | | +| percent | num | 显示占比 | | + +`data.data(101).combo` 数组中对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| id | num | 标识id | 同`data.data.options`数组中对象的`idx` | +| status | num | 状态 | 同`data.status` | +| content | str | 投票选项内容 | | +| cnt | str | 弹幕计数 | | +| guide | str | (?) | 空字符串 | +| left_duration | num | 剩余时间 | | +| fade_duration | num | (?) | | +| prefix_icon | str | 投票选项图标 | | + `data.data(102)` 对象: (弹幕) | 字段 | 类型 | 内容 | 备注 | @@ -737,6 +799,17 @@ while (!s.isclosed()) { | left_duration | num | 左移时长 | | | fade_duration | num | 淡化时长 | | +`data.data(103)` 对象: (关注) + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| fade\_duration | num | | | +| cnt | num | 关注计数 | | +| card_appear_interval | num | | | +| suffix\_text | str | 提示文本 | `人关注了主播` | +| reset\_cnt | num | | | +| display\_flag | num | | | + `data.data(104)` 对象: (送礼) | 字段 | 类型 | 内容 | 备注 | @@ -777,6 +850,21 @@ while (!s.isclosed()) { <details> <summary>查看正文示例:</summary> +type===101 + +```json +{ + "cmd": "DM_INTERACTION", + "data": { + "data": "{\"question\":\"投票\",\"options\":[{\"idx\":1,\"desc\":\"赞成\",\"cnt\":0,\"percent\":0.5},{\"idx\":2,\"desc\":\"弃权\",\"cnt\":0,\"percent\":0.5}],\"vote_id\":98014370742272,\"cnt\":0,\"duration\":60000,\"left_duration\":60000,\"fade_duration\":1000,\"waiting_duration\":-1,\"result\":1,\"result_text\":\"平局\",\"component\":\"https://live.bilibili.com/p/html/live-app-guessing-game/vote.html?is_live_half_webview=1\\u0026hybrid_half_ui=1,3,100p,245,0,0,30,100,12,0;2,2,375,100p,0,0,30,100,12,0;3,3,100p,245,0,0,30,100,12,0;4,2,375,100p,0,0,30,100,12,0;5,3,100p,70p,0,0,30,100,12,0;6,3,100p,70p,0,0,30,100,12,0;7,3,100p,70p,0,0,30,100,12,0;8,3,100p,70p,0,0,30,100,12,0\",\"natural_die_duration\":30000,\"my_vote\":0,\"component_anchor\":\"https://live.bilibili.com/p/html/live-app-guessing-game/anchor_vote.html?pc_ui=390,428,0,3\\u0026is_live_half_webview=1\\u0026hybrid_half_ui=1,3,100p,448,0,0,30,0,12,0;2,2,375,100p,0,0,30,0,12,0;3,3,100p,448,0,0,30,0,12,0;4,2,375,100p,0,0,30,0,12,0;5,3,100p,448,0,0,30,0,12,0;6,2,320,100p,0,0,30,0,12,0;7,2,320,100p,0,0,30,0,12,0;8,2,320,100p,0,0,30,0,12,0#/\",\"audit_reason\":\"您提交的弹幕投票未审核通过,请修改\",\"combo\":[{\"id\":1,\"status\":2,\"content\":\"赞成\",\"cnt\":0,\"guide\":\"\",\"left_duration\":60000,\"fade_duration\":0,\"prefix_icon\":\"http://i0.hdslb.com/bfs/dm/7d7e3682c9116aa3503418abe3cde6b45ed2e91e.png\"},{\"id\":2,\"status\":2,\"content\":\"弃权\",\"cnt\":0,\"guide\":\"\",\"left_duration\":60000,\"fade_duration\":0,\"prefix_icon\":\"http://i0.hdslb.com/bfs/dm/f83c7280b2a90b4f58a68fd8c594ea7d5667e3cb.png\"}]}", + "dmscore": 36, + "id": 98014370742272, + "status": 2, + "type": 101 + } +} +``` + type===102 ```json @@ -806,6 +894,21 @@ type===102 } ``` +type===103 + +```json +{ + "cmd": "DM_INTERACTION", + "data": { + "data": "{\"fade_duration\":10000,\"cnt\":6,\"card_appear_interval\":0,\"suffix_text\":\"人关注了主播\",\"reset_cnt\":0,\"display_flag\":1}", + "dmscore": 36, + "id": 94362402889728, + "status": 4, + "type": 103 + } +} +``` + type===104 ```json @@ -853,9 +956,9 @@ type===106 </details> -#### 进场或关注消息 (INTERACT_WORD) +#### 用户交互消息 (INTERACT_WORD) -注: 有用户进入直播间或关注主播时触发 +注: 有用户进入直播间、关注主播、分享直播间时触发 **JSON消息:** @@ -2054,7 +2157,7 @@ type===106 <details> <summary>查看消息示例:</summary> - + ```json { "cmd": "ONLINE_RANK_V2", @@ -2122,7 +2225,7 @@ type===106 } } ``` - + </details> #### 未登录通知 (LOG_IN_NOTICE) @@ -2901,6 +3004,7 @@ type===106 | priority | num | 优先级? | | | basemap_url | str | 进场特效背景 URL | APP 端 | | show_avatar | num | 是否显示用户头像 | 1: 显示<br/>0: 不显示 | +| effective_time | num | ? | | | web_basemap_url | str | 进场特效背景 URL | 网页端 | | web_effective_time | num | 进场特效生存时间 | 网页端 | | web_effect_close | num | ? | | @@ -2916,6 +3020,13 @@ type===106 | web_dynamic_url_webp | str | ? | | | web_dynamic_url_apng | str | ? | | | mobile_dynamic_url_webp | str | ? | | +| wealthy_info | obj | 荣耀等级信息 | | +| new_style | num | ? | | +| is_mystery | bool | ? | | +| uinfo | obj | 用户信息 | | +| full_cartoon_id | num | ? | | +| priority_level | num | ? | | +| wealth_style_info | obj | 荣耀等级样式信息 | | **示例:** @@ -2924,37 +3035,181 @@ type===106 ```json { - "cmd": "ENTRY_EFFECT", - "data": { - "id": 4, - "uid": 489893482, - "target_id": 27717502, - "mock_effect": 0, - "face": "https://i0.hdslb.com/bfs/face/member/noface.jpg", - "privilege_type": 3, - "copy_writing": "欢迎舰长 <%天使雨晰%> 进入直播间", - "copy_color": "#ffffff", - "highlight_color": "#E6FF00", - "priority": 1, - "basemap_url": "https://i0.hdslb.com/bfs/live/mlive/11a6e8eb061c3e715d0a6a2ac0ddea2faa15c15e.png", - "show_avatar": 1, - "effective_time": 2, - "web_basemap_url": "https://i0.hdslb.com/bfs/live/mlive/11a6e8eb061c3e715d0a6a2ac0ddea2faa15c15e.png", - "web_effective_time": 2, - "web_effect_close": 0, - "web_close_time": 0, - "business": 1, - "copy_writing_v2": "欢迎舰长 <%天使雨晰%> 进入直播间", - "icon_list": [], - "max_delay_time": 7, - "trigger_time": 1673625604373633300, - "identities": 6, - "effect_silent_time": 0, - "effective_time_new": 0, - "web_dynamic_url_webp": "", - "web_dynamic_url_apng": "", - "mobile_dynamic_url_webp": "" - } + "cmd": "ENTRY_EFFECT", + "data": { + "id": 380, + "uid": 31382283, + "target_id": 12892411, + "mock_effect": 0, + "face": "https://i0.hdslb.com/bfs/face/876e30e89faa5672858cc17bdb357362ec96bc29.jpg", + "privilege_type": 0, + "copy_writing": "<%WYCBat%> 来了", + "copy_color": "#F7F7F7", + "highlight_color": "#FFFFFF", + "priority": 1, + "basemap_url": "", + "show_avatar": 0, + "effective_time": 0, + "web_basemap_url": "https://i0.hdslb.com/bfs/live/mlive/19e7564ed9d466b02f341abfa979c6e38c2ffffb.png", + "web_effective_time": 4, + "web_effect_close": 1, + "web_close_time": 900, + "business": 6, + "copy_writing_v2": "<%WYCBat%> 来了", + "icon_list": [], + "max_delay_time": 7, + "trigger_time": 1748545763327647435, + "identities": 1, + "effect_silent_time": 0, + "effective_time_new": 0, + "web_dynamic_url_webp": "", + "web_dynamic_url_apng": "", + "mobile_dynamic_url_webp": "", + "wealthy_info": { + "uid": 0, + "level": 17, + "level_total_score": 0, + "cur_score": 0, + "upgrade_need_score": 0, + "status": 0, + "dm_icon_key": "" + }, + "new_style": 1, + "is_mystery": false, + "uinfo": { + "uid": 31382283, + "base": { + "name": "WYCBat", + "face": "https://i0.hdslb.com/bfs/face/876e30e89faa5672858cc17bdb357362ec96bc29.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": null, + "origin_info": null, + "official_info": null, + "name_color_str": "" + }, + "medal": null, + "wealth": { + "level": 17, + "dm_icon_key": "" + }, + "title": null, + "guard": { + "level": 0, + "expired_str": "" + }, + "uhead_frame": null, + "guard_leader": null + }, + "full_cartoon_id": 1802, + "priority_level": 0, + "wealth_style_info": { + "url": "https://i0.hdslb.com/bfs/live/b6f2bf3e27f22b3039594842f0005b05a0dc5dae.png" + } + } +} +``` + +</details> + +#### 必须接受的用户进场特效 (ENTRY_EFFECT_MUST_RECEIVE) + +注: 在部分主播进入自己的直播间时下发。 + +结构与 [用户进场特效 (ENTRY_EFFECT)](#用户进场特效-ENTRY_EFFECT) 完全相同。 + +**示例:** + +<details> +<summary>查看消息示例:</summary> + +```json +{ + "cmd": "ENTRY_EFFECT_MUST_RECEIVE", + "data": { + "id": 135, + "uid": 438160221, + "target_id": 438160221, + "mock_effect": 0, + "face": "https://i0.hdslb.com/bfs/face/member/noface.jpg", + "privilege_type": 0, + "copy_writing": "<%weatfe%> 来了", + "copy_color": "#000000", + "highlight_color": "#FFF100", + "priority": 1, + "basemap_url": "https://i0.hdslb.com/bfs/live/mlive/da6933ea70f31c4df63f4b68b735891284888357.png", + "show_avatar": 1, + "effective_time": 1, + "web_basemap_url": "https://i0.hdslb.com/bfs/live/mlive/da6933ea70f31c4df63f4b68b735891284888357.png", + "web_effective_time": 2, + "web_effect_close": 0, + "web_close_time": 900, + "business": 3, + "copy_writing_v2": "<%weatfe%> 来了", + "icon_list": [], + "max_delay_time": 7, + "trigger_time": 1746031259272981482, + "identities": 1, + "effect_silent_time": 0, + "effective_time_new": 0, + "web_dynamic_url_webp": "", + "web_dynamic_url_apng": "", + "mobile_dynamic_url_webp": "", + "wealthy_info": null, + "new_style": 0, + "is_mystery": false, + "uinfo": { + "uid": 438160221, + "base": { + "name": "weatfe", + "face": "https://i0.hdslb.com/bfs/face/member/noface.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": null, + "origin_info": null, + "official_info": null, + "name_color_str": "" + }, + "medal": { + "name": "粉丝团", + "level": 11, + "color_start": 9272486, + "color_end": 9272486, + "color_border": 9272486, + "color": 9272486, + "id": 2956282, + "typ": 0, + "is_light": 1, + "ruid": 438160221, + "guard_level": 0, + "score": 16000, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#596FE099", + "v2_medal_color_end": "#596FE099", + "v2_medal_color_border": "#596FE099", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#000B7099", + "user_receive_count": 0 + }, + "wealth": { + "level": 5, + "dm_icon_key": "" + }, + "title": null, + "guard": { + "level": 0, + "expired_str": "" + }, + "uhead_frame": null, + "guard_leader": null + }, + "full_cartoon_id": 0, + "priority_level": 0, + "wealth_style_info": { + "url": "https://i0.hdslb.com/bfs/live/24f6ef867c3905064136f5c4e33a8d423d41ebdd.png" + } + } } ``` @@ -3470,6 +3725,123 @@ type===106 </details> +#### 礼物星球信息 (WIDGET_WISH_INFO) + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `WIDGET_WISH_INFO` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| sid | num | (?) | | +| wish | arr | 礼物需求信息 | | +| jump_url | str | 用户端礼物星球界面 | | +| wish_status | num | 礼物星球状态 | | +| card_text | str | 卡片提示文本 | | +| modal_text | str | 需求标题 | | +| button_text | str | 按钮文本 | | +| show_time | num | 显示时间 | 单位秒 | +| ts | num | 发送时间戳 | Unix秒时间戳 | +| tid | num | (?) | | +| wish_status_info | arr | 状态对照信息 | | +| wish_name | str | 礼物星球名称 | | + +`data.wish` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| gift_id | num | 礼物id | | +| target_num | num | 需求数量 | | +| gift_img | str | 礼物图片URL | | +| gift_price | num | 礼物金瓜子标价 | CNY×1000 | +| gift_name | str | 礼物名称 | | +| wish_status | num | 该礼物达成状态 | | + +`data.wish_status_info` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| wish_status_msg | str | 状态提示信息 | | +| wish_status_img | str | 状态图片URL | | +| wish_status | str | 状态 | | +| wish_status_desc | str | 状态描述 | 不一定存在 | + +**示例:** + +<details> +<summary>查看消息示例:</summary> + +```json +{ + "cmd": "WIDGET_WISH_INFO", + "data": { + "sid": 658537, + "wish": [ + { + "gift_id": 31036, + "target_num": 1, + "gift_img": "https://s1.hdslb.com/bfs/live/8b40d0470890e7d573995383af8a8ae074d485d9.png", + "gift_price": 100, + "gift_name": "小花花", + "wish_status": 1 + }, + { + "gift_id": 30758, + "target_num": 1, + "gift_img": "https://s1.hdslb.com/bfs/live/3ddb10b055b9d1826829ec0fad93ab56484d4a90.png", + "gift_price": 100, + "gift_name": "这个好诶", + "wish_status": 1 + }, + { + "gift_id": 31039, + "target_num": 1, + "gift_img": "https://s1.hdslb.com/bfs/live/91ac8e35dd93a7196325f1e2052356e71d135afb.png", + "gift_price": 100, + "gift_name": "牛哇牛哇", + "wish_status": 1 + } + ], + "jump_url": "https://live.bilibili.com/p/html/bilili-page-gift-wishes-mix-planet/user.html?is_live_half_webview=1&hybrid_half_ui=1,3,100p,70p,0,0,30,100,15,0;2,2,375,100p,0,0,30,100,15,0;3,3,100p,70p,0,0,30,100,15,0;4,2,375,100p,0,0,30,100,15,0;5,3,100p,70p,0,0,30,100,15,0;6,3,100p,70p,0,0,30,100,15,0;7,3,100p,70p,0,0,30,100,15,0;8,3,100p,70p,0,0,30,100,15,0", + "wish_status": 1, + "card_text": "主播今日心愿还未完成", + "modal_text": "今日心愿礼物", + "button_text": "去助力", + "show_time": 5, + "ts": 1746257134, + "tid": 6585370000, + "wish_status_info": [ + { + "wish_status_msg": "礼物星球待点亮", + "wish_status_img": "https://i0.hdslb.com/bfs/live/e507f8b101289b2ce6741880a28304215a65f5bf.png", + "wish_status": -1 + }, + { + "wish_status_msg": "今日心愿暂未达成", + "wish_status_img": "https://i0.hdslb.com/bfs/live/e507f8b101289b2ce6741880a28304215a65f5bf.png", + "wish_status": 1 + }, + { + "wish_status_msg": "今日心愿已达成", + "wish_status_img": "https://i0.hdslb.com/bfs/live/e507f8b101289b2ce6741880a28304215a65f5bf.png", + "wish_status": 2, + "wish_status_desc": "已完成" + } + ], + "wish_name": "心愿礼物" + } +} +``` + +</details> + #### 下播的直播间 (STOP_LIVE_ROOM_LIST) 注: 估计是更新关注的主播直播状态的 @@ -4388,6 +4760,63 @@ type===106 </details> +#### 语音连麦开关 (VOICE_JOIN_SWITCH) + +在直播姬开关连麦功能时下发。 + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `VOICE_JOIN_SWITCH` | | +| data | obj | 信息本体 | | +| room_id | num | 直播间id | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| room_id | num | 直播间id | | +| room_status | num | 连麦开关状态 | | +| root_status | num | 连麦开关状态 | | + +**示例:** + +<details> +<summary>查看消息示例:</summary> + +开: + +```json +{ + "cmd": "VOICE_JOIN_SWITCH", + "data": { + "room_id": 1899237171, + "room_status": 1, + "root_status": 1 + }, + "room_id": 1899237171 +} +``` + +关: + +```json +{ + "cmd": "VOICE_JOIN_SWITCH", + "data": { + "room_id": 1899237171, + "room_status": 0, + "root_status": 0 + }, + "room_id": 1899237171 +} +``` + +</details> + #### 邀请视频连线 (VIDEO_CONNECTION_JOIN_START) **示例:** @@ -4526,12 +4955,47 @@ type===106 </details> +#### ??? (PLAYTOGETHER_ICON_CHANGE) + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `PLAYTOGETHER_ICON_CHANGE` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| area_id | num | 直播分区id | | +| has_perm | num | | | +| show_count | num | | | + +**示例:** + +<details> +<summary>查看消息示例:</summary> + +```json +{ + "cmd": "PLAYTOGETHER_ICON_CHANGE", + "data": { + "area_id": 40, + "has_perm": 0, + "show_count": 0 + } +} +``` + +</details> + #### 直播小助手? (ANCHOR_BROADCAST) 第一次达到了某种条件下发。 -已知当在一个分区(中途不能切换)开播时长达到150、180、200、300分钟可能下发,直播间初次被分享1~2次时下发。 - **JSON消息:** 根对象: @@ -4790,3 +5254,473 @@ type===106 ``` </details> + +#### 有人购买主播推荐商品 (GOTO_BUY_FLOW) + +用户昵称会打星号(`*`)显示。 + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `GOTO_BUY_FLOW` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| text | str | 去购买提示 | | + +**示例:** + +<details> +<summary>查看消息示例:</summary> + +```json +{ + "cmd": "GOTO_BUY_FLOW", + "data": { + "text": "回**正在去买" + } +} +``` + +</details> + +#### 热抢提示 (HOT_BUY_NUM) + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `HOT_BUY_NUM` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| num | num | 热抢数量 | | +| goods_id | str | 商品id | | + +**示例:** + +<details> +<summary>查看消息示例:</summary> + +```json +{ + "cmd": "HOT_BUY_NUM", + "data": { + "num": 81, + "goods_id": "1817875296579985408" + } +} +``` + +</details> + +#### 荣耀等级通知 (WEALTH_NOTIFY) + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `WEALTH_NOTIFY` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| flag | num | 标志? | | +| info | obj | 信息 | | + +`data.info`: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| effect_key | num | (?) | | +| has_items_changed | num | (?) | | +| level | num | 达到的等级 | | +| send_time | num | 发送时间 | UNIX 毫秒时间戳 | +| status | num | 状态? | | + +**示例:** + +<details> +<summary>查看消息示例:</summary> + +```json +{ + "cmd": "WEALTH_NOTIFY", + "data": { + "flag": 3, + "info": { + "effect_key": 1073, + "has_items_changed": 1, + "level": 5, + "send_time": 1743337942833, + "status": 1 + } + } +} +``` + +</details> + +#### ??? (USER_PANEL_RED_ALARM) + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `USER_PANEL_RED_ALARM` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| module | str | (?) | | +| alarm_num | num | (?) | | + +**示例:** + +<details> +<summary>查看消息示例:</summary> + +```json +{ + "cmd": "USER_PANEL_RED_ALARM", + "data": { + "module": "user_head_dot", + "alarm_num": 1 + } +} +``` + +</details> + +#### ??? (GIFT_BOARD_RED_DOT) + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `GIFT_BOARD_RED_DOT` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| categoryL1 | str | (?) | 作用尚不明确 | + +**示例:** + +<details> +<summary>查看消息示例:</summary> + +```json +{ + "cmd": "GIFT_BOARD_RED_DOT", + "data": { + "categoryL1": "3" + } +} +``` + +</details> + +#### 粉丝勋章更新 (MESSAGEBOX_USER_MEDAL_CHANGE) + +升级或点亮时下发。 + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `MESSAGEBOX_USER_MEDAL_CHANGE` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| type | num | 提示类型 | 1:升级<br />2:点亮 | +| uid | num | 用户mid | | +| up_uid | num | 主播mid | | +| medal_level | num | 粉丝勋章等级 | | +| medal_name | str | 粉丝勋章名称 | | +| medal_color_start | num | 十进制粉丝勋章起始颜色 | | +| medal_color_end | num | 十进制粉丝勋章结束颜色 | | +| medal_color_border | num | 十进制粉丝勋章边框颜色 | | +| is_lighted | num | 是否点亮? | 1:点亮? | +| is_lighted_v2 | bool | 是否点亮v2? | | +| guard_level | num | 大航海等级 | | +| unlock | num | (?) | | +| unlock_level | num | (?) | | +| multi_unlock_level | str | (?) | | +| upper_bound_content | str | 提示内容 | | +| uinfo_medal | obj | 粉丝勋章信息 | 参见 [指定用户的所有粉丝勋章信息](../user/medals.md#指定用户的所有粉丝勋章信息) `data.list[n].uinfo_medal` 对象 | +| effect_id | num | (?) | | + +`data.uinfo_medal` 对象: + +参见 [指定用户的所有粉丝勋章信息](../user/medals.md#指定用户的所有粉丝勋章信息) json回复的 `data.list[n].uinfo_medal` 对象。 + +**示例:** + +<details> +<summary>查看消息示例:</summary> + +```json +{ + "cmd": "MESSAGEBOX_USER_MEDAL_CHANGE", + "data": { + "type": 2, + "uid": 438160221, + "up_uid": 407045223, + "medal_level": 3, + "medal_name": "研究猿", + "medal_color_start": 6067854, + "medal_color_end": 6067854, + "medal_color_border": 6067854, + "is_lighted": 1, + "is_lighted_v2": true, + "guard_level": 0, + "unlock": 0, + "unlock_level": 0, + "multi_unlock_level": "", + "upper_bound_content": "", + "uinfo_medal": { + "name": "研究猿", + "level": 3, + "color_start": 6067854, + "color_end": 6067854, + "color_border": 6067854, + "color": 0, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 407045223, + "guard_level": 0, + "score": 0, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#5762A799", + "v2_medal_color_end": "#5762A799", + "v2_medal_color_border": "#5762A799", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#000B7099", + "user_receive_count": 0 + }, + "effect_id": 1861 + } +} +``` + +</details> + +#### 获得粉丝勋章 (MESSAGEBOX_USER_GAIN_MEDAL) + +获得时下发。 + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `MESSAGEBOX_USER_GAIN_MEDAL` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| type | num | 类型 | 0 | +| uid | num | 用户mid | | +| up_uid | num | 主播uid | | +| medal_id | num | 勋章id | | +| medal_name | str | 勋章名称 | | +| medal_level | num | 勋章等级 | | +| medal_color | num | 勋章颜色 | | +| medal_color_start | num | 十进制勋章起始颜色 | | +| medal_color_end | num | 十进制勋章结束颜色 | | +| medal_color_border | num | 十进制勋章边框颜色 | | +| msg_title | str | 消息标题 | | +| msg_content | str | 消息内容 | | +| normal_color | num | (?) | | +| highlight_color | num | (?) | | +| intimacy | num | 当前亲密度 | | +| next_intimacy | num | 升级所需亲密度 | | +| today_feed | num | 今日亲密度 | | +| day_limit | num | 今日亲密度上限 | | +| is_wear | num | (?) | | +| guard_level | num | 大航海等级 | | +| is_received | num | (?) | | +| is_lighted | num | 是否点亮? | 1:点亮? | +| is_lighted_v2 | bool | 是否点亮v2? | | +| toast | str | 提示 | | +| fan_name | str | 粉丝名称 | | +| uinfo_medal | obj | 粉丝勋章信息 | 参见 [指定用户的所有粉丝勋章信息](../user/medals.md#指定用户的所有粉丝勋章信息) `data.list[n].uinfo_medal` 对象 | + +`data.uinfo_medal` 对象: + +参见 [指定用户的所有粉丝勋章信息](../user/medals.md#指定用户的所有粉丝勋章信息) json回复的 `data.list[n].uinfo_medal` 对象。 + +**示例:** + +<details> +<summary>查看消息示例:</summary> + +```json +{ + "cmd": "MESSAGEBOX_USER_GAIN_MEDAL", + "data": { + "type": 0, + "uid": 438160221, + "up_uid": 11602644, + "medal_id": 19252517, + "medal_name": "广药", + "medal_level": 1, + "medal_color": 6067854, + "medal_color_start": 6067854, + "medal_color_end": 6067854, + "medal_color_border": 6067854, + "msg_title": "恭喜你获得【WuGuangYao】的粉丝勋章~", + "msg_content": "获得100点亲密度\n你的粉丝勋章达到1级", + "normal_color": 7697781, + "highlight_color": 16478873, + "intimacy": 100, + "next_intimacy": 201, + "today_feed": 100, + "day_limit": 2000, + "is_wear": 0, + "guard_level": 0, + "is_received": 1, + "is_lighted": 1, + "is_lighted_v2": true, + "toast": "成功入团并关注主播,得1级大礼包", + "fan_name": "weatfe", + "uinfo_medal": { + "name": "广药", + "level": 1, + "color_start": 6067854, + "color_end": 6067854, + "color_border": 6067854, + "color": 6067854, + "id": 19252517, + "typ": 0, + "is_light": 1, + "ruid": 11602644, + "guard_level": 0, + "score": 0, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#5762A799", + "v2_medal_color_end": "#5762A799", + "v2_medal_color_border": "#5762A799", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#000B7099", + "user_receive_count": 0 + } + } +} +``` + +</details> + +#### 粉丝团戳一戳礼物通知 (FANS_CLUB_POKE_GIFT_NOTICE) + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `FANS_CLUB_POKE_GIFT_NOTICE` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| icon | str | 图标 | | +| uface | str | 头像 | | +| bg_img_url | str | 背景图片 | | +| text | str | 提示文本 | | +| highlight_text | str | 高亮文本? | | +| button_text | str | 按钮文本 | | +| display_duration | num | 显示时间? | | +| room_id | num | 房间号 | | + +**示例:** + +<details> +<summary>查看消息示例:</summary> + +```json +{ + "cmd": "FANS_CLUB_POKE_GIFT_NOTICE", + "data": { + "icon": "https://i0.hdslb.com/bfs/live/37a2fe03f2af95928c67cbac889e10dab6f7d42a.png", + "uface": "https://i0.hdslb.com/bfs/face/member/noface.jpg", + "bg_img_url": "https://i0.hdslb.com/bfs/live/fbe99002b5914157d783f8e07f021e2fd6ba5c1b.png", + "text": "主播戳了戳你~投喂礼物获5倍亲密度加成", + "highlight_text": "5倍亲密度加成", + "button_text": "去投喂", + "display_duration": 8, + "room_id": 1899237171 + } +} +``` + +</details> + +#### ??? (master_qn_strategy_chg) + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `master_qn_strategy_chg` | | +| data | str | 信息本体 | JSON文本 | + +`data` JSON解析后对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| mtime | num | (?) | Unix秒时间戳 | +| scatter | arr | (?) | | + +**示例:** + +<details> +<summary>查看消息示例:</summary> + +```json +{ + "cmd": "master_qn_strategy_chg", + "data": "{\"mtime\":1744380444,\"scatter\":[0,300]}" +} +``` + +</details> diff --git a/docs/live/user.md b/docs/live/user.md index 9a6fb5f..560998e 100644 --- a/docs/live/user.md +++ b/docs/live/user.md @@ -1,6 +1,6 @@ # 直播间用户实用 API -## 获取用户持有的粉丝勋章信息 +## 获取自己持有的粉丝勋章信息 > ~~https://api.live.bilibili.com/fans_medal/v5/live_fans_medal/iApiMedal~~ (旧) > https://api.live.bilibili.com/xlive/app-ucenter/v1/user/GetMyMedals @@ -20,12 +20,12 @@ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----------------------------------------------------- | | code | num | 返回值 | 0:成功<br />-1002002:参数异常<br />-500:服务器异常 | -| message | str | 错误信息 | 默认为 "0" | -| ttl | num | 1 | | -| data | obj | 信息本体 | | +| message | str | 错误信息 | 默认为 "0" | +| ttl | num | 1 | | +| data | obj | 信息本体 | | `data`对象: @@ -44,7 +44,7 @@ | guard_level | num | | | | guard_medal_title | str | 加成状态 | | | intimacy | num | 当前已得亲密度 | | -| is_lighted | num | 是否点亮 | 0:未点亮<br />1:点亮 | +| is_lighted | num | 是否点亮 | 0:未点亮<br />1:点亮 | | level | num | 勋章等级 | | | medal_name | str | 勋章名 | | | medal_color_border | num | 勋章边框颜色信息 | 颜色数值为 10 进制的 16 进制值(下同) | @@ -116,6 +116,7 @@ curl https://api.live.bilibili.com/xlive/app-ucenter/v1/user/GetMyMedals?page=1& </details> + ## 佩戴勋章 > https://api.live.bilibili.com/xlive/web-room/v1/fansMedal/wear @@ -193,12 +194,12 @@ _请求方式:GET_ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ---------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------ | | code | num | 返回值 | 0:成功<br />1:参数错误 | -| ttl | num | 1 | | -| message | str | 错误信息 | 默认为当日签到奖励内容 | -| data | obj | 信息本体 | 默认为空 | +| ttl | num | 1 | | +| message | str | 错误信息 | 默认为当日签到奖励内容 | +| data | obj | 信息本体 | 默认为空 | (目前已下线) @@ -229,29 +230,29 @@ _请求方式:GET_ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ---------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------- | | code | num | 返回值 | 0:成功 | -| ttl | num | 1 | | +| ttl | num | 1 | | | message | str | 错误信息 | 默认为0 | -| data | obj | 信息本体 | | +| data | obj | 信息本体 | | `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| ----------------- | ----- | ---------------------------- | ---------------------- | -| text | str | 今日签到奖励信息 | 默认为空 | -| specialText | str | 连续签到奖励信息 | 默认为空 | +| 字段 | 类型 | 内容 | 备注 | +| ----------------- | ----- | ---------------------------- | ------------------------ | +| text | str | 今日签到奖励信息 | 默认为空 | +| specialText | str | 连续签到奖励信息 | 默认为空 | | status | num | 签到状态 | 0:未签到<br />1:已签到 | -| allDays | num | 当月天数 | | -| curMonth | num | 当前月 | | -| curYear | num | 当前年 | | -| curDay | num | 当前日 | | -| curData | str | 当前日期(格式化) | eg: 2023-2-19 | -| hadSignDays | num | 当月已签到天数 | 默认为0 | -| newTask | num | 作用未知 | 默认为0 | -| signDaysList | array | 当月已签到日列表 | 默认为空 | -| signBonusDaysList | array | 当月已签到且有特殊奖励日列表 | 默认为空 | +| allDays | num | 当月天数 | | +| curMonth | num | 当前月 | | +| curYear | num | 当前年 | | +| curDay | num | 当前日 | | +| curData | str | 当前日期(格式化) | eg: 2023-2-19 | +| hadSignDays | num | 当月已签到天数 | 默认为0 | +| newTask | num | 作用未知 | 默认为0 | +| signDaysList | array | 当月已签到日列表 | 默认为空 | +| signBonusDaysList | array | 当月已签到且有特殊奖励日列表 | 默认为空 | <details> <summary>查看响应示例:</summary> @@ -308,12 +309,12 @@ _请求方式:GET_ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ---------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------- | | code | num | 返回值 | 0:成功 | -| ttl | num | 1 | | +| ttl | num | 1 | | | message | str | 错误信息 | 默认为0 | -| data | obj | 信息本体 | | +| data | obj | 信息本体 | | `data`对象: @@ -368,3 +369,880 @@ _请求方式:GET_ ``` </details> + +## 查询直播间贡献榜 + +> https://api.live.bilibili.com//xlive/general-interface/v1/rank/getOnlineGoldRank + +*请求方式:GET* + +认证方式:无 + +**url 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------- | ---- | -------------- | ------ | ------ | +| roomId | num | 房间号 | 必要 | | +| page | num | 返回结果页数 | 必要 | | +| pageSize | num | 返回结果页大小 | 必要 | 最大50 | +| ruid | num | 主播uid | 必要 | | + +**json 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ---- | +| code | num | 返回值 | | +| message | str | 错误信息 | | +| ttl | num | 1 | | +| data | obj | 信息本体 | + + + + + +`data`中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| -------------- | ----- | ------------ | ---- | +| onlineNum | num | 在线观众数量 | | +| OnlineRankItem | array | 结果 | | | + +`OnlineRankItem`数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------ | ---- | ------------ | ---- | +| userRank | num | 贡献值排名 | | +| uid | num | 用户id | | | +| name | str | 用户名字 | | | +| face | str | 用户头像 | | | +| score | num | 贡献值 | | | +| medalInfo | obj | 粉丝牌对象 | | | +| guard_level | num | 大航海类型 | | | +| wealth_level | num | 荣耀等级 | | | +| guard_level | num | 大航海类型 | | | +| uinfo | obj | 用户详细信息 | | | + +`uinfo`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----- | ---- | ------------ | ---- | +| uid | num | 用户uid | | +| base | obj | 用户基本信息 | | | +| medal | obj | 用户粉丝牌 | | | +| face | str | 用户头像 | | | +| guard | obj | 大航海 | | | + +`guard`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----------- | ---- | -------------- | ---- | +| level | num | 大航海类型 | | +| expired_str | str | 大航海到期时间 | | | + + +**示例:** + +查询`23174842`直播间的大航海成员 + + +```shell +curl 'https://api.live.bilibili.com//xlive/general-interface/v1/rank/getOnlineGoldRank?roomId=26854650&ruid=3493118494116797&page=3&pageSize=20' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "onlineNum": 45, + "OnlineRankItem": [ + { + "userRank": 1, + "uid": 36136895, + "name": "四月hallu", + "face": "https://i2.hdslb.com/bfs/face/5e5166ecc4c17d4dbc7a09dbb6bb749d9f537985.jpg", + "score": 3768, + "medalInfo": { + "guardLevel": 3, + "medalColorStart": 2951253, + "medalColorEnd": 10329087, + "medalColorBorder": 6809855, + "medalName": "钢板鹿", + "level": 29, + "targetId": 3493118494116797, + "isLight": 1 + }, + "guard_level": 3, + "wealth_level": 41, + "is_mystery": false, + "uinfo": { + "uid": 36136895, + "base": { + "name": "四月hallu", + "face": "https://i2.hdslb.com/bfs/face/5e5166ecc4c17d4dbc7a09dbb6bb749d9f537985.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": { + "name": "四月hallu", + "face": "https://i2.hdslb.com/bfs/face/5e5166ecc4c17d4dbc7a09dbb6bb749d9f537985.jpg" + }, + "origin_info": { + "name": "四月hallu", + "face": "https://i2.hdslb.com/bfs/face/5e5166ecc4c17d4dbc7a09dbb6bb749d9f537985.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "钢板鹿", + "level": 29, + "color_start": 2951253, + "color_end": 10329087, + "color_border": 6809855, + "color": 2951253, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 3493118494116797, + "guard_level": 3, + "score": 50422604, + "guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png", + "honor_icon": "", + "v2_medal_color_start": "#9660E5CC", + "v2_medal_color_end": "#9660E5CC", + "v2_medal_color_border": "#D47AFFFF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#6C00A099", + "user_receive_count": 0 + }, + "wealth": { + "level": 41, + "dm_icon_key": "ChronosWealth_4.png" + }, + "title": null, + "guard": { + "level": 3, + "expired_str": "2025-07-07 23:59:59" + }, + "uhead_frame": null, + "guard_leader": null + } + }, + { + "userRank": 2, + "uid": 1182882611, + "name": "重生指令", + "face": "https://i2.hdslb.com/bfs/face/6762c39b424e6de5bf0292fd12a019201a501fb9.jpg", + "score": 1546, + "medalInfo": { + "guardLevel": 0, + "medalColorStart": 12632256, + "medalColorEnd": 12632256, + "medalColorBorder": 12632256, + "medalName": "雪狐咕", + "level": 24, + "targetId": 477792, + "isLight": 0 + }, + "guard_level": 3, + "wealth_level": 22, + "is_mystery": false, + "uinfo": { + "uid": 1182882611, + "base": { + "name": "重生指令", + "face": "https://i2.hdslb.com/bfs/face/6762c39b424e6de5bf0292fd12a019201a501fb9.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": { + "name": "重生指令", + "face": "https://i2.hdslb.com/bfs/face/6762c39b424e6de5bf0292fd12a019201a501fb9.jpg" + }, + "origin_info": { + "name": "重生指令", + "face": "https://i2.hdslb.com/bfs/face/6762c39b424e6de5bf0292fd12a019201a501fb9.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "雪狐咕", + "level": 24, + "color_start": 12632256, + "color_end": 12632256, + "color_border": 12632256, + "color": 1725515, + "id": 0, + "typ": 0, + "is_light": 0, + "ruid": 477792, + "guard_level": 0, + "score": 50010220, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#919298CC", + "v2_medal_color_end": "#919298CC", + "v2_medal_color_border": "#919298CC", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#6C6C7299", + "user_receive_count": 0 + }, + "wealth": { + "level": 22, + "dm_icon_key": "" + }, + "title": null, + "guard": { + "level": 3, + "expired_str": "2025-06-29 23:59:59" + }, + "uhead_frame": null, + "guard_leader": null + } + }, + { + "userRank": 3, + "uid": 35007043, + "name": "_单推哈鹿halluの狐狸", + "face": "https://i1.hdslb.com/bfs/face/6373a98189480661fc725494ab5ab68253522b8f.jpg", + "score": 1543, + "medalInfo": { + "guardLevel": 2, + "medalColorStart": 2951253, + "medalColorEnd": 10329087, + "medalColorBorder": 16771156, + "medalName": "钢板鹿", + "level": 29, + "targetId": 3493118494116797, + "isLight": 1 + }, + "guard_level": 2, + "wealth_level": 40, + "is_mystery": false, + "uinfo": { + "uid": 35007043, + "base": { + "name": "_单推哈鹿halluの狐狸", + "face": "https://i1.hdslb.com/bfs/face/6373a98189480661fc725494ab5ab68253522b8f.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": { + "name": "_单推哈鹿halluの狐狸", + "face": "https://i1.hdslb.com/bfs/face/6373a98189480661fc725494ab5ab68253522b8f.jpg" + }, + "origin_info": { + "name": "_单推哈鹿halluの狐狸", + "face": "https://i1.hdslb.com/bfs/face/6373a98189480661fc725494ab5ab68253522b8f.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "钢板鹿", + "level": 29, + "color_start": 2951253, + "color_end": 10329087, + "color_border": 16771156, + "color": 2951253, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 3493118494116797, + "guard_level": 2, + "score": 50360413, + "guard_icon": "https://i0.hdslb.com/bfs/live/98a201c14a64e860a758f089144dcf3f42e7038c.png", + "honor_icon": "", + "v2_medal_color_start": "#9660E5CC", + "v2_medal_color_end": "#9660E5CC", + "v2_medal_color_border": "#D47AFFFF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#6C00A099", + "user_receive_count": 0 + }, + "wealth": { + "level": 40, + "dm_icon_key": "ChronosWealth_4.png" + }, + "title": null, + "guard": { + "level": 2, + "expired_str": "2025-07-30 23:59:59" + }, + "uhead_frame": null, + "guard_leader": null + } + }, + { + "userRank": 7, + "uid": 44152084, + "name": "_柚_子_hallu", + "face": "https://i1.hdslb.com/bfs/face/137498c2c6a3231e5b6047af12a64bbd19627dcb.jpg", + "score": 324, + "medalInfo": { + "guardLevel": 3, + "medalColorStart": 398668, + "medalColorEnd": 6850801, + "medalColorBorder": 6809855, + "medalName": "钢板鹿", + "level": 26, + "targetId": 3493118494116797, + "isLight": 1 + }, + "guard_level": 3, + "wealth_level": 32, + "is_mystery": false, + "uinfo": { + "uid": 44152084, + "base": { + "name": "_柚_子_hallu", + "face": "https://i1.hdslb.com/bfs/face/137498c2c6a3231e5b6047af12a64bbd19627dcb.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": { + "name": "_柚_子_hallu", + "face": "https://i1.hdslb.com/bfs/face/137498c2c6a3231e5b6047af12a64bbd19627dcb.jpg" + }, + "origin_info": { + "name": "_柚_子_hallu", + "face": "https://i1.hdslb.com/bfs/face/137498c2c6a3231e5b6047af12a64bbd19627dcb.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "钢板鹿", + "level": 26, + "color_start": 398668, + "color_end": 6850801, + "color_border": 6809855, + "color": 398668, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 3493118494116797, + "guard_level": 3, + "score": 50057285, + "guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png", + "honor_icon": "", + "v2_medal_color_start": "#4775EFCC", + "v2_medal_color_end": "#4775EFCC", + "v2_medal_color_border": "#58A1F8FF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#000B7099", + "user_receive_count": 0 + }, + "wealth": { + "level": 32, + "dm_icon_key": "" + }, + "title": null, + "guard": { + "level": 3, + "expired_str": "2025-06-27 23:59:59" + }, + "uhead_frame": null, + "guard_leader": null + } + }, + { + "userRank": 8, + "uid": 8242366, + "name": "翟赧hallu", + "face": "https://i1.hdslb.com/bfs/face/9b312f4146ca2c8a1d2e5468e345ecfb60be3874.jpg", + "score": 276, + "medalInfo": { + "guardLevel": 3, + "medalColorStart": 398668, + "medalColorEnd": 6850801, + "medalColorBorder": 6809855, + "medalName": "钢板鹿", + "level": 28, + "targetId": 3493118494116797, + "isLight": 1 + }, + "guard_level": 3, + "wealth_level": 35, + "is_mystery": false, + "uinfo": { + "uid": 8242366, + "base": { + "name": "翟赧hallu", + "face": "https://i1.hdslb.com/bfs/face/9b312f4146ca2c8a1d2e5468e345ecfb60be3874.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": { + "name": "翟赧hallu", + "face": "https://i1.hdslb.com/bfs/face/9b312f4146ca2c8a1d2e5468e345ecfb60be3874.jpg" + }, + "origin_info": { + "name": "翟赧hallu", + "face": "https://i1.hdslb.com/bfs/face/9b312f4146ca2c8a1d2e5468e345ecfb60be3874.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "钢板鹿", + "level": 28, + "color_start": 398668, + "color_end": 6850801, + "color_border": 6809855, + "color": 398668, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 3493118494116797, + "guard_level": 3, + "score": 50208414, + "guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png", + "honor_icon": "", + "v2_medal_color_start": "#4775EFCC", + "v2_medal_color_end": "#4775EFCC", + "v2_medal_color_border": "#58A1F8FF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#000B7099", + "user_receive_count": 0 + }, + "wealth": { + "level": 35, + "dm_icon_key": "" + }, + "title": null, + "guard": { + "level": 3, + "expired_str": "2025-08-05 23:59:59" + }, + "uhead_frame": null, + "guard_leader": null + } + }, + { + "userRank": 9, + "uid": 418232, + "name": "lug7", + "face": "http://i2.hdslb.com/bfs/face/5d2c92beb774a4bb30762538bb102d23670ae9c0.gif", + "score": 171, + "medalInfo": { + "guardLevel": 3, + "medalColorStart": 398668, + "medalColorEnd": 6850801, + "medalColorBorder": 6809855, + "medalName": "钢板鹿", + "level": 26, + "targetId": 3493118494116797, + "isLight": 1 + }, + "guard_level": 3, + "wealth_level": 28, + "is_mystery": false, + "uinfo": { + "uid": 418232, + "base": { + "name": "lug7", + "face": "http://i2.hdslb.com/bfs/face/5d2c92beb774a4bb30762538bb102d23670ae9c0.gif", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": { + "name": "lug7", + "face": "http://i2.hdslb.com/bfs/face/5d2c92beb774a4bb30762538bb102d23670ae9c0.gif" + }, + "origin_info": { + "name": "lug7", + "face": "http://i2.hdslb.com/bfs/face/5d2c92beb774a4bb30762538bb102d23670ae9c0.gif" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "钢板鹿", + "level": 26, + "color_start": 398668, + "color_end": 6850801, + "color_border": 6809855, + "color": 398668, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 3493118494116797, + "guard_level": 3, + "score": 50050050, + "guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png", + "honor_icon": "", + "v2_medal_color_start": "#4775EFCC", + "v2_medal_color_end": "#4775EFCC", + "v2_medal_color_border": "#58A1F8FF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#000B7099", + "user_receive_count": 0 + }, + "wealth": { + "level": 28, + "dm_icon_key": "" + }, + "title": null, + "guard": { + "level": 3, + "expired_str": "2025-06-15 23:59:59" + }, + "uhead_frame": null, + "guard_leader": null + } + }, + { + "userRank": 10, + "uid": 452228643, + "name": "很糊的小龔鬱hallu", + "face": "https://i0.hdslb.com/bfs/face/996fa85fe42d582dd013dcb435de3f3ff4d33f6c.jpg", + "score": 35, + "medalInfo": { + "guardLevel": 0, + "medalColorStart": 6126494, + "medalColorEnd": 6126494, + "medalColorBorder": 6126494, + "medalName": "牧斯", + "level": 6, + "targetId": 3493087074585126, + "isLight": 1 + }, + "guard_level": 3, + "wealth_level": 35, + "is_mystery": false, + "uinfo": { + "uid": 452228643, + "base": { + "name": "很糊的小龔鬱hallu", + "face": "https://i0.hdslb.com/bfs/face/996fa85fe42d582dd013dcb435de3f3ff4d33f6c.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": { + "name": "很糊的小龔鬱hallu", + "face": "https://i0.hdslb.com/bfs/face/996fa85fe42d582dd013dcb435de3f3ff4d33f6c.jpg" + }, + "origin_info": { + "name": "很糊的小龔鬱hallu", + "face": "https://i0.hdslb.com/bfs/face/996fa85fe42d582dd013dcb435de3f3ff4d33f6c.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "牧斯", + "level": 6, + "color_start": 6126494, + "color_end": 6126494, + "color_border": 6126494, + "color": 6126494, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 3493087074585126, + "guard_level": 0, + "score": 3400, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#5866C799", + "v2_medal_color_end": "#5866C799", + "v2_medal_color_border": "#5866C799", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#000B7099", + "user_receive_count": 0 + }, + "wealth": { + "level": 35, + "dm_icon_key": "" + }, + "title": null, + "guard": { + "level": 3, + "expired_str": "2025-06-19 23:59:59" + }, + "uhead_frame": null, + "guard_leader": null + } + }, + { + "userRank": 11, + "uid": 164871173, + "name": "奶浴-bllss", + "face": "https://i2.hdslb.com/bfs/face/f48dd7c1e432eb91e5fd286757c4e2600930f4c5.jpg", + "score": 26, + "medalInfo": null, + "guard_level": 3, + "wealth_level": 36, + "is_mystery": false, + "uinfo": { + "uid": 164871173, + "base": { + "name": "奶浴-bllss", + "face": "https://i2.hdslb.com/bfs/face/f48dd7c1e432eb91e5fd286757c4e2600930f4c5.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": { + "name": "奶浴-bllss", + "face": "https://i2.hdslb.com/bfs/face/f48dd7c1e432eb91e5fd286757c4e2600930f4c5.jpg" + }, + "origin_info": { + "name": "奶浴-bllss", + "face": "https://i2.hdslb.com/bfs/face/f48dd7c1e432eb91e5fd286757c4e2600930f4c5.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": null, + "wealth": { + "level": 36, + "dm_icon_key": "" + }, + "title": null, + "guard": { + "level": 3, + "expired_str": "2025-07-20 23:59:59" + }, + "uhead_frame": null, + "guard_leader": null + } + }, + ], + "ownInfo": { + "uid": 0, + "name": "", + "face": "", + "rank": -1, + "needScore": 0, + "score": 0, + "guard_level": 0, + "wealth_level": 0, + "is_mystery": false, + "uinfo": null + }, + "tips_text": "投喂、点赞、发弹幕、持续观看均可上榜", + "value_text": "贡献值", + "ab": { + "guard_accompany_list": 1 + }, + "onlineNumText": "45" + } +} +``` +</details> + +## 查询自己在某直播间观看时长 + +> https://api.live.bilibili.com/xlive/general-interface/v1/guard/GuardActive + +*请求方式:GET* + +认证方式:Cookie(SESSDATA)或 APP + +**url 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------- | ---- | ------- | ------ | ---- | +| platform | str | android | 必要 | | +| ruid | num | 主播uid | 必要 | | + +**json 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ---- | +| code | num | 返回值 | | +| message | str | 错误信息 | | +| ttl | num | 1 | | +| data | obj | 信息本体 | | + + + + + +`data`中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----------- | ---- | -------------- | ----------------------------- | +| ruid | num | 主播uid | | +| rusername | str | 主播用户名 | | +| rface | str | 主播头像 | | +| username | str | 自己的用户名 | | +| accomany | int | 大航海陪伴天数 | 似乎b站程序员把这个单词拼错了 | +| rusername | str | 主播用户名 | | +| watch_time | num | 观看时长 | 单位是秒 | +| up_medal | obj | 粉丝牌 | | +| guard_num_3 | num | 主播舰长数量 | +| guard_num_2 | num | 主播提督数量 | | +| guard_num_1 | num | 主播总督数量 | | +| is_live | num | 直播状态 | | + + + +## 查询用户在直播间的信息 + +> https://api.live.bilibili.com/xlive/app-ucenter/v2/card/user + +*请求方式:GET* + +认证方式:无 + +**url 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ----------- | ------ | ---- | +| uid | num | 目标用户uid | 必要 | | +| ruid | num | 主播uid | 必要 | | + +**json 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ---- | +| code | num | 返回值 | | +| message | str | 错误信息 | | +| ttl | num | 1 | | +| data | obj | 信息本体 | + + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------- | ---- | ------------------ | ------------------------------ | +| uid | num | 目标用户id | | +| uname | str | 目标用户名 | | +| desc | str | 目标用户认证信息 | | +| face | str | 目标用户头像 | | +| follow_num | num | 目标用户粉丝数 | | +| attention_num | num | 目标用户关注数 | +| main_vip | num | 目标用户大会员状态 | 0:无 2:大会员 | +| is_block | num | 是否被拉黑? | 始终为0? | +| is_admin | num | 是否房管 | | +| is_black | num | 是否被关小黑屋 | | +| wealth_info | obj | 荣耀等级 | | +| fans_medal | obj | 粉丝牌 | 如果目标用户隐藏粉丝牌则为null | + +`wealth_info`对象: +| 字段 | 类型 | 内容 | 备注 | +| ------------------ | ---- | -------------------------- | ---- | +| level | num | 荣耀等级 | | +| level_total_score | num | 下一等级的荣耀值 | | +| cur_score | num | 当前荣耀值 | | +| upgrade_need_score | num | 升到下一等级还差多少荣耀值 | | + +**示例:** + +```shell +curl 'https://api.live.bilibili.com/xlive/app-ucenter/v2/card/user?ruid=504140200&uid=504140200' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "uid": 504140200, + "uname": "软软riu", + "face": "https://i1.hdslb.com/bfs/face/2d083d686b704eb7010e3d94595d47f5a89c8aef.jpg", + "verify_type": 0, + "desc": "bilibili UP主认证:bilibili 知名虚拟UP主、直播高能主播", + "uname_color": 2171169, + "room_id": 23174842, + "pendant": "https://i1.hdslb.com/bfs/garb/open/8806f97581082d68edcf2207368290b3fb3491bb.png", + "pendant_from": 2, + "follow_num": 214882, + "attention_num": 202, + "relation_status": 1, + "privilege_type": 3, + "fans_medal": null, + "title_sum": 10, + "wearing_title": "", + "main_vip": 0, + "is_block": 0, + "is_admin": 0, + "fans_medal_list_url": "https://live.bilibili.com/p/html/live-fansmedal-wall/index.html?tId=504140200#/medal", + "wearing": {}, + "is_black": 0, + "admin_level": 0, + "head_picture": "http://i0.hdslb.com/bfs/live/3f536f59e337a731c5367f623bca79b32197ddd5.png", + "head_text": "大航海舰长", + "head_url": "", + "head_business": 1, + "head_skin_icon": "http://i0.hdslb.com/bfs/live/d44e103f424f5ae01ef3d0133ef812f8241d15b0.png", + "privilege_center": {}, + "is_nft": 0, + "nft_dmark": "https://i0.hdslb.com/bfs/live/9f176ff49d28c50e9c53ec1c3297bd1ee539b3d6.gif", + "is_real_fans": false, + "wealth_info": { + "uid": 504140200, + "level": 35, + "level_total_score": 6000000, + "cur_score": 5012900, + "upgrade_need_score": 987100, + "status": 1, + "dm_icon_key": "" + }, + "guard": { + "accompany": 0, + "accompany_slake": 0 + }, + "chat_url_android": "activity://im/conversation/?conversation_type=1&reciveid=504140200", + "chat_url_ios": "bilibili://link/chat?session_id=s504140200", + "gift_star": null, + "is_mystery": false, + "text_control": null, + "uinfo_medal": null, + "guard_attire": {}, + "flash_buy": 0, + "flash_buy_url": "" + } +} +``` +</details> \ No newline at end of file diff --git a/docs/login/login_action/SMS.md b/docs/login/login_action/SMS.md index 21a8d53..bd8abe5 100644 --- a/docs/login/login_action/SMS.md +++ b/docs/login/login_action/SMS.md @@ -106,7 +106,7 @@ curl 'https://passport.bilibili.com/web/generic/country/list' | 参数名 | 类型 | 内容 | 必要性 | 备注 | | --- | --- | --- | --- | --- | -| cid | num | 国际冠字码 | 必要 | 可以从[获取国际冠字码](#获取国际冠字码(web端))获取 | +| cid | num | 国际冠字码 | 必要 | 可以从[获取国际冠字码](#获取国际冠字码-web端)获取 | | tel | num | 手机号码 | 必要 | | | login_session_id | str | 登录标识 | 必要 | uuid去掉'-'后得到 | recaptcha_token | str | 登录 API token | 必要 | 在[申请 captcha 验证码](readme.md#申请captcha验证码)接口处获取 | @@ -199,7 +199,7 @@ static buvid() : string { | 参数名 | 类型 | 内容 | 必要性 | 备注 | | --- | --- | --- | --- | --- | -| cid | num | 国际冠字码 | 必要 | 可以从[获取国际冠字码](#获取国际冠字码(web端))获取 | +| cid | num | 国际冠字码 | 必要 | 可以从[获取国际冠字码](#获取国际冠字码-web端)获取 | | tel | num | 手机号码 | 必要 | | | source | str | 登录来源 | 必要 | `main_web`:独立登录页<br />`main_mini`:小窗登录 | | token | str | 登录 API token | 必要 | 在[申请 captcha 验证码](readme.md#申请captcha验证码)接口处获取 | @@ -267,11 +267,11 @@ curl 'https://passport.bilibili.com/x/passport-login/web/sms/send' \ | 参数名 | 类型 | 内容 | 必要性 | 备注 | | --- | --- | --- | --- | --- | -| cid | num | 国际冠字码 | 必要 | 可以从[获取国际冠字码](#获取国际冠字码(web端))获取 | +| cid | num | 国际冠字码 | 必要 | 可以从[获取国际冠字码](#获取国际冠字码-web端)获取 | | tel | num | 手机号码 | 必要 | | | login_session_id | str | 登录标识 | 必要 | 必须与上述login_session_id保持一致 | code | num | 短信验证码 | 必要 | timeout 为 5min | -| captcha_key | str | 短信登录 token | 必要 | 从[上述API](#发送短信验证码(web端))请求成功后返回 | +| captcha_key | str | 短信登录 token | 必要 | 从[上述API](#发送短信验证码-web端)请求成功后返回 | **json回复:** @@ -372,11 +372,11 @@ X-Cache-Webcdn: BYPASS from jd-sxhz-dx-w-01 | 参数名 | 类型 | 内容 | 必要性 | 备注 | | --- | --- | --- | --- | --- | -| cid | num | 国际冠字码 | 必要 | 可以从[获取国际冠字码](#获取国际冠字码(web端))获取 | +| cid | num | 国际冠字码 | 必要 | 可以从[获取国际冠字码](#获取国际冠字码-web端)获取 | | tel | num | 手机号码 | 必要 | | | code | num | 短信验证码 | 必要 | timeout 为 5min | | source | str | 登录来源 | 必要 | `main_web`:独立登录页<br />`main_mini`:小窗登录 | -| captcha_key | str | 短信登录 token | 必要 | 从[上述API](#发送短信验证码(web端))请求成功后返回 | +| captcha_key | str | 短信登录 token | 必要 | 从[上述API](#发送短信验证码-web端)请求成功后返回 | | go_url | str | 跳转url | 非必要 | 默认为 https://www.bilibili.com | | keep | bool | 是否记住登录 | 非必要 | `true`:记住登录<br />`false`:不记住登录 | diff --git a/docs/login/member_center.md b/docs/login/member_center.md index 226d8d2..7763e5b 100644 --- a/docs/login/member_center.md +++ b/docs/login/member_center.md @@ -714,7 +714,7 @@ curl 'https://api.bilibili.com/x/member/web/sign/update' \ ```shell curl -G "https://api.bilibili.com/x/member/web/exp/log" \ --b "SESSDATA=xxx +-b "SESSDATA=xxx" ``` <details> @@ -829,13 +829,18 @@ curl -G "https://api.bilibili.com/x/member/web/exp/log" \ `list`数组中的对象: -*表现良好暂时没有记录, 欢迎封号斗罗前来补充* +| 字段 | 类型 | 内容 | 备注 | +| ----- | ------ | ---------------- | ---- | +| time | string | 时间 | | +| delta | number | 变化 | | +| origin | string | 原因 | | +| reason | string | 说明 | | **示例:** ```shell curl -G "https://api.bilibili.com/x/member/web/moral/log" \ --b "SESSDATA=xxx +-b "SESSDATA=xxx" ``` <details> diff --git a/docs/message/msg.md b/docs/message/msg.md index 8e368db..488b8cc 100644 --- a/docs/message/msg.md +++ b/docs/message/msg.md @@ -32,20 +32,20 @@ `data` 对象: -| 字段 | 类型 | 内容 | 备注 | -| ------------- | ---- | ------------------ | -------------------------- | -| at | num | 未读at数 | | -| chat | num | 0 | 仅旧接口,**作用尚不明确** | -| coin | num | 未读投币数 | | -| danmu | num | 未读弹幕数 | | -| favorite | num | 未读收藏数 | | -| like | num | 未读点赞数 | | -| recv_like | num | 未读点赞数 | 同 `like` | -| recv_reply | num | 未读回复数 | 同 `reply` | -| reply | num | 未读回复数 | | -| sys_msg | num | 未读系统通知数 | | -| sys_msg_style | num | 1 | 仅新接口, **作用尚不明确** | -| up | num | 未读UP主助手信息数 | | +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ---- | -------------------- | --------------------------- | +| at | num | 未读at数(旧) | | +| chat | num | 0 | 仅旧接口,**作用尚不明确** | +| coin | num | 未读投币数 | | +| danmu | num | 未读弹幕数 | | +| favorite | num | 未读收藏数 | | +| like | num | 未读点赞数(旧) | | +| recv\_like | num | 未读收到喜欢数(新) | 同 `like` | +| recv\_reply | num | 未读回复与@数(新) | 即 `reply` 与 `at` 的值之和 | +| reply | num | 未读回复数(旧) | | +| sys\_msg | num | 未读系统通知数 | | +| sys\_msg\_style | num | 1 | 仅新接口, **作用尚不明确** | +| up | num | 未读UP主助手信息数 | | **示例:** @@ -82,3 +82,177 @@ curl 'https://api.vc.bilibili.com/x/im/web/msgfeed/unread' \ ``` </details> + + +## 获取"回复我的"信息 + +> <https://api.bilibili.com/x/msgfeed/reply> + +*请求方式:GET* + +认证方式:Cookie(SESSDATA) + +**URL参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------------ | ---- | ---------------- | ------ | ------------- | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | +| id | num | 起始 id | 非必要 | 详情见返回 | +| reply_time | num | 起始时间 | 非必要 | 详情见返回 | +| platform | str | 平台标识 | 非必要 | 可为 `web` 等 | +| web_location | str | 暂时不知道是啥 | 非必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----------------------------- | +| code | num | 返回值 | 0:成功<br />-101:账号未登录 | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------ | ----- | ----------- | ------------------------------ | +| cursor | obj | 光标 | 下一次查询的指针 | +| items | array | 通知列表 | 数组,每个元素代表一条回复通知 | +| last_view_at | num | unix 时间戳 | 上次查看的时间 | + +`cursor` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------ | ---- | ----------- | ---------------------------------------------- | +| is_end | bool | 是否结束 | `false` 表示还有更多数据 | +| id | num | 通知 id | 最后(旧)一条通知的 id,用作下次查询的起始 id | +| time | num | unix 时间戳 | 最后一条通知的时间 | + +`items` 数组中的对象(每条通知): + +| 字段 | 类型 | 内容 | 备注 | +| ---------- | ---- | -------------------- | ---------------------------- | +| id | num | 通知 id | | +| user | obj | **回复者**的用户信息 | | +| item | obj | 通知详情 | | +| counts | num | 通知计数 | 固定为 `1`,可能表示单条通知 | +| is_multi | num | 是否多回复 | 固定为 `0`,可能表示单条回复 | +| reply_time | num | unix 时间戳 | 回复时间 | + +`user` 对象(回复者信息): + +| 字段 | 类型 | 内容 | 备注 | +| -------- | ---- | -------------- | ------------------------------ | +| mid | num | 用户 mid | | +| fans | num | 粉丝数 | 固定为 `0`,可能不返回实际数据 | +| nickname | str | 用户昵称 | | +| avatar | str | 头像 URL | | +| mid_link | str | 用户主页链接 | 固定为空字符串 | +| follow | bool | 是否关注该用户 | `false` 表示未关注 | + +`item` 对象(通知详情): + +| 字段 | 类型 | 内容 | 备注 | +| -------------------- | ----- | ---------------- | ----------------------------- | +| subject_id | num | 主体 id | | +| root_id | num | 根评论 id | 最顶层的评论 ID | +| source_id | num | 源评论 id | 直接回复的评论 ID | +| target_id | num | 目标评论 id | 被回复的评论 ID | +| type | str | 通知类型 | 固定为 `"reply"`(回复类型) | +| business_id | num | 业务类型 id | `1`=视频评论,`11`=动态评论 | +| business | str | 业务名称 | `"评论"` 或 `"视频"` | +| title | str | 通知标题 | 摘要文本 | +| desc | str | 描述 | 固定为空字符串 | +| image | str | 图片 URL | 固定为空字符串 | +| uri | str | 跳转链接 | web 端跳转链接 | +| native_uri | str | 客户端跳转链接 | 客户端专用跳转链接 | +| detail_title | str | 详细标题 | 固定为空字符串 | +| root_reply_content | str | 根评论内容 | 最顶层评论的文本内容 | +| source_content | str | 源评论内容 | 直接回复的评论内容 | +| target_reply_content | str | 目标评论内容 | 被回复的评论内容 | +| at_details | array | @的用户列表 | 数组,每个元素是被@的用户对象 | +| topic_details | array | 话题详情 | 固定为空数组 | +| hide_reply_button | bool | 是否隐藏回复按钮 | | +| hide_like_button | bool | 是否隐藏点赞按钮 | | +| like_state | num | 点赞状态 | `0`=未点赞 | +| danmu | null | 弹幕信息 | 固定为 `null` | +| message | str | 消息内容 | 固定为空字符串 | + +`at_details` 数组中的对象(被@的用户): + +| 字段 | 类型 | 内容 | 备注 | +| -------- | ---- | -------------- | ------------------ | +| mid | num | 用户 mid | | +| fans | num | 粉丝数 | 固定为 `0` | +| nickname | str | 用户昵称 | | +| avatar | str | 头像 URL | | +| mid_link | str | 用户主页链接 | 固定为空字符串 | +| follow | bool | 是否关注该用户 | `false` 表示未关注 | + +**示例:** + +```shell +curl 'https://api.bilibili.com/x/msgfeed/reply' \ + -b 'SESSDATA=xxx' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "data": { + "cursor": { + "is_end": true, + "id": 823260581625886, + "time": 1749474709 + }, + "items": [{ + "id": 823260581625886, + "user": { + "mid": 3546910497441845, + "fans": 0, + "nickname": "佘总累了", + "avatar": "https://i2.hdslb.com/bfs/face/e45c62bd47729e07dd01a788988be865ed3d210e.jpg", + "mid_link": "", + "follow": false + }, + "item": { + "subject_id": 1073543151725051921, + "root_id": 0, + "source_id": 265141324256, + "target_id": 0, + "type": "dynamic", + "business_id": 17, + "business": "动态", + "title": "我已成为哔哩哔哩第245743680位转正会员,挑战转正答题考试获得60分。", + "desc": "", + "image": "", + "uri": "https://www.bilibili.com/opus/1073543151725051921#reply265141324256", + "native_uri": "bilibili://opus/detail/1073543151725051921?comment_root_id=265141324256&comment_on=1", + "detail_title": "", + "root_reply_content": "", + "source_content": "60", + "target_reply_content": "", + "at_details": [], + "topic_details": [], + "hide_reply_button": false, + "hide_like_button": false, + "like_state": 0, + "danmu": null, + "message": "" + }, + "counts": 1, + "is_multi": 0, + "reply_time": 1749474709 + }], + "last_view_at": 1749474724 + } +} +``` + +</details> diff --git a/docs/message/settings.md b/docs/message/settings.md index e94ca6e..5bedfb3 100644 --- a/docs/message/settings.md +++ b/docs/message/settings.md @@ -50,7 +50,7 @@ | recommend_followed_reply | num | 被关注时自动推送作品 | 0:关闭<br />1:开启 | | ai_intercept | num | 私信智能拦截 | 0:关闭<br />1:开启 | | anti_harassment | null | 防骚扰和互动人群设置 | 此接口恒返回 `null` | -| set_recv_reply | num | 收到回复提醒(新) | 0:所有人<br />1:关注的人<br />2:不接受任何消息提醒 | +| set_recv_reply | num | 回复与@提醒(新) | 0:所有人<br />1:关注的人<br />2:不接受任何消息提醒 | | set_recv_like | num | 收到喜欢提醒(新) | 0:接收<br />2:不接收 | | set_new_follow | num | 新增粉丝提醒(新) | 0:接收<br />2:不接收 | diff --git a/docs/misc/mathjax.md b/docs/misc/mathjax.md new file mode 100644 index 0000000..545f7c2 --- /dev/null +++ b/docs/misc/mathjax.md @@ -0,0 +1,54 @@ +# 表达式渲染 + +## LaTeX + +> https://api.bilibili.com/x/web-frontend/mathjax/tex + +*请求方法: GET* + +暂未发现对跨源使用 `<img>` 标签使用该接口的限制 + +<!-- #1302 --> + +**URL 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------- | ------ | ---- | ------ | ----- | +| formula | string | 公式 | 非必要 | LaTeX | + +**SVG 回复:** + +一个完整的 SVG (image/svg+xml) 文件, 可直接用于 HTML `<img>` 或 Markdown `![]()` + +**示例:** + +```markdown +![](https://api.bilibili.com/x/web-frontend/mathjax/tex?formula=\pi=3.14159265358979323846...) + +![](https://api.bilibili.com/x/web-frontend/mathjax/tex?formula=E=mc^2) + +![](https://api.bilibili.com/x/web-frontend/mathjax/tex?formula=\ce{Fe+%2B+CuSO4+=+Cu+%2B+FeSO4}) + +![](https://api.bilibili.com/x/web-frontend/mathjax/tex?formula=\ce{N2(g)+%2B+3H2(g)+<=>[\text{高温、高压、催化剂}]+2NH3(g)}) + +![](https://api.bilibili.com/x/web-frontend/mathjax/tex?formula=S=\frac{1}{3}Sh) + +![](https://api.bilibili.com/x/web-frontend/mathjax/tex?formula=y+=+\frac{1}{\dfrac{1}{x}+%2B+1} ) +``` + +<details> +<summary>查看渲染结果:</summary> + +![](https://api.bilibili.com/x/web-frontend/mathjax/tex?formula=\pi=3.14159265358979323846...) + +![](https://api.bilibili.com/x/web-frontend/mathjax/tex?formula=E=mc^2) + +![](https://api.bilibili.com/x/web-frontend/mathjax/tex?formula=\ce{Fe+%2B+CuSO4+=+Cu+%2B+FeSO4}) + +![](https://api.bilibili.com/x/web-frontend/mathjax/tex?formula=\ce{N2(g)+%2B+3H2(g)+<=>[\text{高温、高压、催化剂}]+2NH3(g)}) + +![](https://api.bilibili.com/x/web-frontend/mathjax/tex?formula=S=\frac{1}{3}Sh) + +![](https://api.bilibili.com/x/web-frontend/mathjax/tex?formula=y+=+\frac{1}{\dfrac{1}{x}+%2B+1} ) + +</details> diff --git a/docs/misc/picture.md b/docs/misc/picture.md index e16cfa0..646487d 100644 --- a/docs/misc/picture.md +++ b/docs/misc/picture.md @@ -1,6 +1,6 @@ # 图片格式化 -已知 `*.hdslb.com` `archive.biliimg.com` 等域名作用等效, 对于请求头 `Referer` 要求留空或在 `.bilibili.com` 等 B 站域名下 <!--(所以 B 站图床 img 标签要加上 `referrerpolicy="no-referrer"`)--> +已知 `*.hdslb.com` `*.biliimg.com` 等域名作用等效, 对于请求头 `Referer` 要求留空或在 `.bilibili.com` 等 B 站域名下 <!--(所以 B 站图床 img 标签要加上 `referrerpolicy="no-referrer"`)--> 对于以上域名的 `/bfs/` 下的图片文件都可以使用以下可选格式化参数 @@ -65,7 +65,7 @@ https://i1.hdslb.com/bfs/archive/e5fff1472bad1c0c6bcb3004205f9be23b58ffc0.jpg@1q 当图片格式化输出格式为`avg_color`时 -> \*.hdslb.com/bfs/\*/\*.*@\*.avg_color +> /bfs/\*/\*.*@\*.avg_color *请求方式:GET* diff --git a/docs/misc/sign/APPKey.md b/docs/misc/sign/APPKey.md index 398ebb0..0203970 100644 --- a/docs/misc/sign/APPKey.md +++ b/docs/misc/sign/APPKey.md @@ -29,7 +29,7 @@ | 4409e2ce8ffd12b8 | 59b43e04ad6965f34319062b478f83dd | `android` | 云视听小电视(TV版) | `9`? | `android_tv_yst`? | | | 37207f2beaebf8d7 | e988e794d4d4b6dd43bc0e89d6e90c43 | `android` | BiliLink | ? | ? | | | 9a75abf7de2d8947 | 35ca1c82be6c2c242ecc04d88c735f31 | `android` | BiliScan | ? | ? | | -| aae92bc66f3edfab | af125a0d5279fd576c1b4418a3e8276d | ? | PC 投稿工具 | - | ? | | +| aae92bc66f3edfab | af125a0d5279fd576c1b4418a3e8276d | ? | PC 投稿工具&PC直播姬| - | ? | | | bca7e84c2d947ac6 | 60698ba2f68e01ce44738920a0ffe768 | ? | login | - | ? | | | h9Ejat5tFh81cq8V | BdiI92bjmZ9QRcjJBWv2EEssyjekAGKt | | | | | bilibili游戏 web端 游戏详情页API | diff --git a/docs/opus/detail.md b/docs/opus/detail.md new file mode 100644 index 0000000..7b2fd18 --- /dev/null +++ b/docs/opus/detail.md @@ -0,0 +1,2715 @@ +# 图文详细 + +## 获取图文详细信息 + +> https://api.bilibili.com/x/polymer/web-dynamic/v1/opus/detail + +*请求方法: GET* + +鉴权方式: `Cookie` 中 `buvid3` 存在且不为空 + +**URL 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| --------------- | ------ | -------- | ------ | ---- | +| id | string | 动态 id | 必要 | 数字 | +| timezone_offset | number | 时区偏移 | 非必要 | 如 `-480` | +| features | string | 功能 | 非必要 | `onlyfansVote,onlyfansAssetsV2,decorationCard,htmlNewStyle,ugcDelete,editable,opusPrivateVisible,tribeeEdit,avatarAutoTheme,avatarTypeOpus` | + +**JSON 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| code | number | 返回值 | 0: 成功<br />-352: 风控校验失败 | +| data | object | 数据本体 | | +| message | string | 错误信息 | 成功时为 `0` | +| ttl | number | `1` | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| item | object | 项 | 套了个娃 | + +`data.item` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| basic | object | 基本信息 | | +| id_str | string | 动态 id | | +| modules | object[] | 模块信息 | 参见 [功能模块](features.md) | +| type | number | 类型 | | +| fallback | number | 回滚信息 | 请检查请求参数 `features` | + +`data.item.basic` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| comment_id_str | string | 评论对象 id 字符串 | | +| comment_type | number | 评论区类型 | | +| like_icon | object | 点赞图标? | | +| rid_str | string | 关联 id 字符串 | | +| title | string | 图文标题 | | +| uid | number | 作者 mid (UID) | | + +`data.item.basic.like_icon` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| action_url | string | | | +| end_url | string | | | +| id | number | | | +| start_url | string | | | + +**示例:** + +```shell +curl -G 'https://api.bilibili.com/x/polymer/web-dynamic/v1/opus/detail' \ +--url-query 'id=933099353259638816' \ +--url-query 'features=onlyfansVote,onlyfansAssetsV2,decorationCard,htmlNewStyle,ugcDelete,editable,opusPrivateVisible,tribeeEdit,avatarAutoTheme,avatarTypeOpus' \ +-b 'buvid3=awa' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "data": { + "item": { + "basic": { + "comment_id_str": "34646640", + "comment_type": 12, + "like_icon": { + "action_url": "", + "end_url": "", + "id": 0, + "start_url": "" + }, + "rid_str": "34646640", + "title": "【服务搭建】零开销在线运行代码!glot.io服务私有化部署 - 哔哩哔哩", + "uid": 293793435 + }, + "id_str": "933099353259638816", + "modules": [ + { + "module_title": { + "text": "【服务搭建】零开销在线运行代码!glot.io服务私有化部署" + }, + "module_type": "MODULE_TYPE_TITLE" + }, + { + "module_author": { + "avatar": { + "container_size": { + "height": 1.375, + "width": 1.375 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/garb/item/4f8f3f1f2d47f0dad84f66aa57acd4409ea46361.png" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + }, + { + "general_spec": { + "pos_spec": { + "axis_x": 0.7560000000000001, + "axis_y": 0.7726666666666667, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "var(--bg1)", + "border": "2px solid var(--bg1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 1, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "layers": [ + { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.787, + "width": 0.787 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + { + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.6875, + "axis_y": 0.6875, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1.375, + "width": 1.375 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": {} + } + }, + "resource": { + "res_animation": { + "webp_src": { + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i0.hdslb.com/bfs/garb/item/fe0b83b53e2342b16646f6e7a9370d8a867decdb.webp" + }, + "src_type": 1 + } + }, + "res_type": 4 + }, + "visible": true + } + ] + }, + { + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.7560000000000001, + "axis_y": 0.7726666666666667, + "coordinate_pos": 1 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 0.41666666666666663, + "width": 0.41666666666666663 + } + }, + "layer_config": { + "tags": { + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "background-color": "var(--bg1)", + "border": "2px solid var(--bg1)", + "borderRadius": "50%", + "boxSizing": "border-box" + } + } + }, + "ICON_LAYER": {} + } + }, + "resource": { + "res_image": { + "image_src": { + "local": 1, + "src_type": 2 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + } + ], + "mid": "293793435" + }, + "decorate_card": { + "big_card_url": "https://i0.hdslb.com/bfs/garb/item/c0cf2235089ed314d92f30efa855c9b5611fa2cd.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/garb/item/c0cf2235089ed314d92f30efa855c9b5611fa2cd.png", + "fan": { + "color": "#07b6d5", + "color_format": { + "colors": [ + "#07b6d5FF", + "#07b6d5FF" + ], + "end_point": "0,100", + "gradients": [ + 0, + 100 + ], + "start_point": "0,0" + }, + "is_fan": 1, + "name": "初音未来周年纪念", + "num_desc": "005638", + "number": 5638 + }, + "id": 2513, + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/c0cf2235089ed314d92f30efa855c9b5611fa2cd.png", + "item_id": 2513, + "jump_url": "https://www.bilibili.com/h5/mall/equity-link/collect-home?item_id=2513&isdiy=0&part=card&from=post&f_source=garb&vmid=293793435&native.theme=1&navhide=1", + "name": "初音未来粉丝专属" + }, + "face": "https://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg", + "face_nft": false, + "following": true, + "jump_url": "//space.bilibili.com/293793435", + "label": "", + "mid": 293793435, + "more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + } + ] + }, + "name": "社会易姐QwQ", + "official": { + "desc": "", + "role": 0, + "title": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "https://i0.hdslb.com/bfs/garb/item/4f8f3f1f2d47f0dad84f66aa57acd4409ea46361.png", + "image_enhance": "https://i0.hdslb.com/bfs/garb/item/fe0b83b53e2342b16646f6e7a9370d8a867decdb.webp", + "image_enhance_frame": "https://i0.hdslb.com/bfs/garb/item/127c507ec8448be30cf5f79500ecc6ef2fd32f2c.png", + "n_pid": 2511, + "name": "初音未来13周年", + "pid": 2511 + }, + "pub_location_text": "", + "pub_time": "编辑于 2024年05月19日 12:18", + "pub_ts": 1716092523, + "views_text": "", + "vip": { + "avatar_icon": { + "icon_resource": {}, + "icon_type": 1 + }, + "avatar_subscript": 1, + "avatar_subscript_url": "", + "due_date": 1770825600000, + "label": { + "bg_color": "#FB7299", + "bg_style": 1, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/8d4f8bfc713826a5412a0a27eaaac4d6b9ede1d9.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/VEW8fCC0hg.png", + "label_theme": "annual_vip", + "path": "http://i0.hdslb.com/bfs/vip/label_annual.png", + "text": "年度大会员", + "text_color": "#FFFFFF", + "use_img_label": true + }, + "nickname_color": "#FB7299", + "role": 3, + "status": 1, + "theme_type": 0, + "tv_due_date": 1640793600, + "tv_vip_pay_type": 0, + "tv_vip_status": 0, + "type": 2, + "vip_pay_type": 0 + } + }, + "module_type": "MODULE_TYPE_AUTHOR" + }, + { + "module_content": { + "paragraphs": [ + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "感谢 " + } + }, + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "color": "#ff968d", + "font_size": 17, + "style": {}, + "words": "来笙云 Laysense.cn" + } + }, + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": " 提供算力" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "作为一个全栈工程师,开发、维护和测试一些软件系统时,必然会涉及到多种编程语言,有时还需要测试一些编程语言的安全特性,常常需要敏捷地了解它们并立即上手。在朋友的推荐和社区分享下,我了解到一个名叫 glot.io 的开源项目。" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "它支持40多种编程语言,无论是热门的 Python、Go、Rust、Kotlin,还是冷门的 COBOL、Erlang、Haskell 只需在网页上选择对应的语言,即可开始编写。为使用者提供了一个 Sandbox(沙箱)和 Playground(游乐场)环境,既不需要配置它们的 Runtime(运行环境)和 IDE(集成开发环境),也不需要担心误操作对系统产生破坏性,还不会占用任何用户端的系统资源,实现真正的零开销运行代码。" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": 1120, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/article/06582181a80a3f367ae0486aec34759f293793435.png", + "width": 1776 + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "在代码编写界面,可以创建多个源码文件,完成后点击Run就能执行它并得到输出,类似我们平时编程那样,将输出打在终端上。整个过程不会生成任何可执行文件,所以它的应用场景不是在线编译,而是在线运行代码片段。" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "\n" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": null, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/new_dyn/bb4e8fc35a33ba0b771478f4bc5aaca7293793435.png", + "width": null + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "glot.io 这个网站提供了公开的代码片段执行和分享功能,任何人在注册后都可以分享自己的代码片段,并使用它的 API。但有时为了安全性和访问速度考量,需要自行搭建这个开源平台,这篇文章将介绍 Glot 的私有化部署。" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 24, + "style": { + "bold": true + }, + "words": "Glot是什么" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "根据项目 README 上的一句介绍:" + } + } + ] + } + }, + { + "align": 0, + "para_type": 4, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "an open source pastebin with runnable snippets and API." + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "这是一个开源的共享剪切板和代码片段执行器,并提供 API。它使用 MIT 协议开源,代码托管于 github 之上。" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "https://github.com/glotcode/glot" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "Glot 并不是一个独立的工程,它分为多个组件,这样设计底层架构有利于业务解耦,降低后期维护和升级开发的难度,它们之间的逻辑关系如下:" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "\n" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": null, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/new_dyn/808dd5fa58016f392b15a36a0df27a29293793435.png", + "width": null + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "由下面这些组件构成,也全部使用 MIT 协议开源,均托管于 Github:" + } + } + ] + } + }, + { + "align": 0, + "list": { + "items": [ + { + "level": 1, + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "color": "#ff968d", + "font_size": 17, + "style": {}, + "words": "glot-www" + } + }, + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": ":提供 B/S 前端应用" + } + } + ], + "order": 1 + }, + { + "level": 1, + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "color": "#ff968d", + "font_size": 17, + "style": {}, + "words": "docker-run" + } + }, + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": ":提供执行 glot-images 镜像能力的微服务" + } + } + ], + "order": 2 + }, + { + "level": 1, + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "color": "#ff968d", + "font_size": 17, + "style": {}, + "words": "glot-images" + } + }, + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": ":按需构建的执行器镜像" + } + } + ], + "order": 3 + }, + { + "level": 1, + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "color": "#ff968d", + "font_size": 17, + "style": {}, + "words": "code-runner" + } + }, + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": ":容器内的执行调度器" + } + } + ], + "order": 4 + } + ], + "style": 2 + }, + "para_type": 5 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "其中 glot-www 是一个 B/S 架构应用的服务器,用来提供一个面向用户的 WebUI(网站),它包含前后端的组件,后端使用 Haskell 语言编写。实现代码片段保存和共享、用户登录、以及共享剪切板所的功能,由 pgSQL 提供存储支持。与此同时,它与实际的代码执行业务互相解耦,使用 RestAPI 进行 RPC 调用,可做到前端服务器和后端代码执行服务器逻辑上隔离。" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "Glot 的代码执行沙箱基于 Docker,在容器中编译和运行,不但与宿主机隔离,且容器之间也相互隔离,还能对运行资源进行限制,防止宿主机被不信任的代码破坏。当然,各编程语言的执行容器构成不尽相同,这样才能在节约存储空间的同时最大保持运行效率,比如 C 和 C++ 共用了glot/clang这个镜像,C" + } + }, + { + "rich": { + "jump_url": "//search.bilibili.com/all?keyword=%20%E5%92%8C%20F", + "orig_text": "# 和 F#", + "text": "# 和 F#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" + }, + "type": "TEXT_NODE_TYPE_RICH" + }, + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": " 的镜像都有 mono 这个依赖……这些 Docker 镜像由 glot-images 项目进行生成,它并非使用传统的 Dockerfile,而是使用了 nix 进行构建,支持多种主流编程语言。" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "\n" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": null, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/new_dyn/8627bd181a4c0ef3f5985f2d80ed49a5293793435.png", + "width": null + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "宿主机与沙箱的通讯,实际上就构建并将代码传入容器。这个传递方式不使用文件,而使用 stdi(基本输入)的方式传递 json,例如这样的形式:" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "echo '{\n "language": "python",\n "files": [\n {\n "name": "main.py",\n "content": "print(42)"\n }\n ]\n}' | docker run --rm -i --read-only --tmpfs /tmp:rw,noexec,nosuid,size=65536k --tmpfs /home/glot:rw,exec,nosuid,uid=1000,gid=1000,size=131072k -u glot -w /home/glot glot/javascript:latest", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "执行完成之后以 stdo(基本输出)的方式输出 json,stdout、stderr 流、以及错误信息在序列化后拆分成各个字段:" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "{\n "stdout": "42\\n",\n "stderr": "",\n "error": ""\n}", + "lang": "language-json" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "一般编程语言分为编译型、解释型和虚拟机型,其中解释型直接执行文本文件中的内容,编译型则需将其编译为可执行文件再执行,而虚拟机型在编译完之后,还需用 vm 执行字节码。glot-images 将各类编程语言生成的工作流统一归做 json 格式的文本流,这样标准化更利于开发和扩展,这种能力归功于 code-runner 这个组件。" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "code-runner 作为 glot 的一个特殊组件,并不运行在宿主机中,它是一个 cli 工具,运行在执行容器中,使用 Rust 语言开发。在 glot-images 的每个镜像中,均以相同方式工作在底层。它支持多种编程语言从编译到运行的生命周期管理,同时接管运行时的 stdio(基本输入输出)" + } + }, + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": { + "bold": true + }, + "words": "," + } + }, + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "例如 C 语言,首先会将输入的文本反序列化,写入到文件,接着调用 clang 编译这个文件,最后再运行编译器生成的可执行文件,执行过程中也会将预定义的 stdi 发送给程序,程序的 stdo/stderr 流被它记录下来随后序列化为 json 文本返回。实际上在使用docker run这类命令执行 glot-images 镜像时,就是调用了之中的 code-runner,而不是调用了clang这种编译器。" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "使用 stdi 传递 json 给它,就会调用相应的编译执行流程:" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "echo '{\n "language": "python",\n "files": [\n {\n "name": "main.py",\n "content": "print(42)"\n }\n ]\n}' | code-runner", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "与 glot-images 的镜像相同,执行后也会使用 stdo 以 json 格式返回:" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "{\n "stdout": "42\\n",\n "stderr": "",\n "error": ""\n}", + "lang": "language-json" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "要将这些跑在 Docker 上的执行器服务化、RPC(远程过程调用)化,必须有一个 daemon 在底层进行调度,一边开放 HTTP 服务,另一边通过 unix socket 操纵 DockerEngine,执行容器操作。提供这个能力的就是 docker-run 组件,它也使用 Rust 语言开发。" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "例如这样访问 docker-run,和上文中的例子相同:" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "curl 'http://localhost:8088/run' \\\n -H 'X-Access-Token: some-secret-token' \\\n -H 'Content-type: application/json' \\\n -d '{\n "image": "glot/python:latest",\n "payload": {\n "language": "python",\n "files": [\n {\n "name": "main.py",\n "content": "print(42)"\n }\n ]\n }\n}'", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "有了这些组件,就可以自行私有化搭建一个 glot 服务,因为各组件的标准化和解耦,可以随意进行裁剪和二次开发。" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "接下来将介绍 docker-run 和 glot-images 这两个基本组件的搭建(不搭建前端 WebUI 和共享服务)。" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 24, + "style": { + "bold": true + }, + "words": "Glot服务搭建" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "首先应该准备一台性能不错的服务器,要求 CPU 核心数和 RAM 不能太低。以下步骤使用 Debian 12 系统进行操作,整个过程需要有稳定的网络环境,并且已更新包管理器的索引。" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 24, + "style": { + "bold": true + }, + "words": "安装Docker和运行环境" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "首先需要安装前置依赖,其中 git 和 gcc 安装 Rust 时需要,runsc 是 gVisor 运行环境" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "sudo apt-get install ca-certificates curl git gcc runsc", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "安装 Docker,这里参考了官方文档的安装方式,先进行软件源的添加,再安装各组件" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "https://docs.docker.com/engine/install/debian/" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "sudo install -m 0755 -d /etc/apt/keyrings\nsudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc\nsudo chmod a+r /etc/apt/keyrings/docker.asc\necho \\\n "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \\\n $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \\\n sudo tee /etc/apt/sources.list.d/docker.list > /dev/null\nsudo apt update\n\nsudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "gVisor 作为谷歌开源的一款轻量容器运行时沙箱,可作为 Docker 的运行时中间件,隔离容器内的 syscall,提升容器安全性,具体可以参考官网 https://gvisor.dev" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "对于 Docker,需要配置 gVisor 为 DockerEngine 插件,创建配置文件后写入以下内容:" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "vi /etc/docker/daemon.json", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "\n" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "{\n "default-runtime": "runsc",\n "runtimes": {\n "runsc": {\n "path": "/usr/bin/runsc"\n }\n }\n}", + "lang": "language-json" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "在修改配置文件后,应重启 DockerEngine" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "systemctl restart docker", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "可以使用以下命令检查检查 Docker 和 gVisor 安装状态" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "docker system info\ndocker system info | grep 'runsc'", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "\n" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": null, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/new_dyn/f2a9046662ce5bdc93a5bbe7393dd2b4293793435.png", + "width": null + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "\n" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": null, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/new_dyn/888de2ab19dede7ec6880f407269519c293793435.png", + "width": null + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "接者我们创建名为glot的用户,作为 daemon 的运行角色" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "useradd -m glot\nusermod -aG docker glot", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "安装 Rust,这里参考官方文档,使用脚本进行安装" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "https://rustup.rs/" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "\n" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": null, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/new_dyn/2d7118b743cd2f10cd289e59969eeb01293793435.png", + "width": null + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "安装完毕后,可以使用以下命令检查 Rust 的安装" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "cargo -V", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "\n" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": null, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/new_dyn/0e40ab6cc26aa95bcaf7458159316d7c293793435.png", + "width": null + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "因官方的 crates 源速度很慢,如果国内使用可以换为镜像源,这里使用了 SJTU 镜像" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "vi ~/.cargo/config.toml", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "\n" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": null, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/new_dyn/4b8b4b8e7550009d6fd0c4439922564a293793435.png", + "width": null + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 24, + "style": { + "bold": true + }, + "words": "编译docker-run" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "克隆 docker-run 项目,准备使用源码进行编译安装" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "git clone https://github.com/glotcode/docker-run glot-docker-run", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "进入仓库目录,使用 cargo 编译 Rust 工程" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "cd glot-docker-run\ncargo b -r", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "\n" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": null, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/new_dyn/7c39ed2031e7932c1bc24926ea1c3025293793435.png", + "width": null + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "检查编译结果,在工程目录的target/release中将会生成名为docker-run的可执行文件" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "\n" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": null, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/new_dyn/51d7ad2ddf5dd75c531e267965c6ddb6293793435.png", + "width": null + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "复制可执行文件和 systemd 服务模板" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "cp target/release/docker-run /home/glot/bin/\ncp systemd/docker-run.service /etc/systemd/system/", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "docker-run 服务使用 systemd 进行托管,作为 daemon 运行,它对外提供一个 http 服务,其他应用使用 RestAPI 与之对接\n编辑 systemd 服务配置文件" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "vi /etc/systemd/system/docker-run.service", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "docker-run 的配置文件全部为环境变量,一些重要的参数已经给出了注释" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "其中SERVER_LISTEN_ADDR和SERVER_LISTEN_PORT决定了 daemon 监听的 ip 和端口号,可以根据需求修改" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "SERVER_WORKER_THREADS为 worker 线程数,根据实际业务并发量修改,即越多可同时执行的任务越多" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "API_ACCESS_TOKEN是 RestAPI 的访问 Token,设定一个较复杂的值,可防止未授权访问,在调用中以 HTTP 请求 Header 的X-Access-Token字段进行传递" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "RUN_MAX_EXECUTION_TIME参数用来限制任务执行的超时时间,其单位为秒,如果一个任务大于这个时间没有执行完毕,docker-run 就会销毁这个容器,并会返回一个 400 错误" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "RUN_MAX_OUTPUT_SIZE参数是用来限制最大输出量的,它的单位是 Byte,如果输出的内容过大,同样会被丢弃并报错\n这些参数的详细配置也可以参考 docker-run 项目的 README: https://github.com/glotcode/docker-run?tab=readme-ov-file#environment-variables" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "[Unit]\nDescription=docker-run\n\n[Service]\nUser=glot\nGroup=glot\nRestart=always\nRestartSec=10\nExecStart=/home/glot/bin/docker-run\n# 服务绑定 ip\nEnvironment="SERVER_LISTEN_ADDR=0.0.0.0"\n# 服务监听端口\nEnvironment="SERVER_LISTEN_PORT=8088"\n# worker 线程数\nEnvironment="SERVER_WORKER_THREADS=10"\n# API Token\nEnvironment="API_ACCESS_TOKEN=some-secret-token"\n# Docker socket 路径\nEnvironment="DOCKER_UNIX_SOCKET_PATH=/var/run/docker.sock"\nEnvironment="DOCKER_UNIX_SOCKET_READ_TIMEOUT=3"\nEnvironment="DOCKER_UNIX_SOCKET_WRITE_TIMEOUT=3"\n# 容器主机名\nEnvironment="DOCKER_CONTAINER_HOSTNAME=glot"\n# 容器用户\nEnvironment="DOCKER_CONTAINER_USER=glot"\n# 容器最大内存限制\nEnvironment="DOCKER_CONTAINER_MEMORY=1000000000"\n# 容器内是否禁用网络支持\nEnvironment="DOCKER_CONTAINER_NETWORK_DISABLED=true"\nEnvironment="DOCKER_CONTAINER_ULIMIT_NOFILE_SOFT=90"\nEnvironment="DOCKER_CONTAINER_ULIMIT_NOFILE_HARD=100"\nEnvironment="DOCKER_CONTAINER_ULIMIT_NPROC_SOFT=90"\nEnvironment="DOCKER_CONTAINER_ULIMIT_NPROC_HARD=100"\nEnvironment="DOCKER_CONTAINER_CAP_DROP=MKNOD NET_RAW NET_BIND_SERVICE"\nEnvironment="DOCKER_CONTAINER_READONLY_ROOTFS=true"\nEnvironment="DOCKER_CONTAINER_TMP_DIR_PATH=/tmp"\nEnvironment="DOCKER_CONTAINER_TMP_DIR_OPTIONS=rw,noexec,nosuid,size=65536k"\n# 容器工作目录\nEnvironment="DOCKER_CONTAINER_WORK_DIR_PATH=/home/glot"\nEnvironment="DOCKER_CONTAINER_WORK_DIR_OPTIONS=rw,exec,nosuid,size=131072k"\n# 容器执行超时时间\nEnvironment="RUN_MAX_EXECUTION_TIME=15"\n# 最大允许输出\nEnvironment="RUN_MAX_OUTPUT_SIZE=100000"\n# 日志级别\nEnvironment="RUST_LOG=debug"\n\n[Install]\nWantedBy=multi-user.target", + "lang": "language-yaml" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "修改完配置文件就可启动服务了,并将它设为开机自启" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "systemctl daemon-reload\nsystemctl enable --now docker-run.service", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "GET 请求刚才配置的那个地址的根路径,测试服务运行状态正常,我这里是 http://localhost:8088/" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": null, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/new_dyn/7e0a6d73cdb1ba63bcfcbe94df9c7b39293793435.png", + "width": null + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 24, + "style": { + "bold": true + }, + "words": "拉取Docker镜像" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "glot-images 构建了各编程语言的执行镜像,这些镜像使用 nix 构建,但因为 nix 的配置比较复杂,且占用存储空间巨大,这里直接使用上传在 DockerHub 的镜像了(弊端就是语言版本比较旧)" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "https://hub.docker.com/u/glot" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": null, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/new_dyn/e63013e3c15cd556ec7ce82048d43889293793435.png", + "width": null + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "通过 docker pull命令拉取各个镜像,可以按照自己的需求拉取,比如你只需要执行某几个编程语言" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "docker pull glot/assembly\ndocker pull glot/ats\ndocker pull glot/bash\ndocker pull glot/clang\ndocker pull glot/clisp\ndocker pull glot/clojure\ndocker pull glot/cobol\ndocker pull glot/coffeescript\ndocker pull glot/crystal\ndocker pull glot/csharp\ndocker pull glot/dart\ndocker pull glot/elixir\ndocker pull glot/elm\ndocker pull glot/erlang\ndocker pull glot/fsharp\ndocker pull glot/golang\ndocker pull glot/groovy\ndocker pull glot/guile\ndocker pull glot/hare\ndocker pull glot/haskell\ndocker pull glot/idris\ndocker pull glot/java\ndocker pull glot/javascript\ndocker pull glot/julia\ndocker pull glot/kotlin\ndocker pull glot/lua\ndocker pull glot/mercury\ndocker pull glot/nim\ndocker pull glot/nix\ndocker pull glot/ocaml\ndocker pull glot/pascal\ndocker pull glot/perl\ndocker pull glot/php\ndocker pull glot/python\ndocker pull glot/raku\ndocker pull glot/ruby\ndocker pull glot/rust\ndocker pull glot/sac\ndocker pull glot/scala\ndocker pull glot/swift\ndocker pull glot/typescript\ndocker pull glot/zig", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "这些全部拉取下来大概需要38GB,可以使用docker images命令检查拉取情况" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": null, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/new_dyn/82a01995548eb266d59f7fd22f75e542293793435.png", + "width": null + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "如果已经拉取了所有的镜像,可以执行单元测试脚本,来验证各编程语言执行容器的正确性,在 docker-run 的目录下的scripts目录内" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "cd glot-docker-run/scripts/\n./test_glot.sh 'http://localhost:8088' 'some-secret-token'", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "\n" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": null, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/new_dyn/004e79df950a4bc93ff42fae8017d0aa293793435.png", + "width": null + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 24, + "style": { + "bold": true + }, + "words": "使用Glot服务" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "docker-run 这个组件对外提供 RestAPI 接口,其他进程或者其他主机可以直接调用,它共有三个功能对应其路径:" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": null, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/new_dyn/a28b283d2075bbd78c12e1d2859fd40d293793435.png", + "width": null + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "查询服务状态" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "curl http://localhost:8088/", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "返回 daemon 的服务名、版本等" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "{\n "name": "docker-run",\n "version": "1.4.0",\n "description": "Api for running code in transient docker containers"\n}", + "lang": "language-json" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "查询宿主机 DockerEngine 信息,访问这个接口需要在请求 Header 的X-Access-Token字段中携带 Token" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "curl http://localhost:8088/version \\\n -H 'X-Access-Token: some-secret-token'", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "执行成功将会返回 DockerEngine 的版本信息" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "{\n "docker": {\n "version": "26.1.2",\n "apiVersion": "1.45",\n "gitCommit": "ef1912d",\n "goVersion": "go1.21.10",\n "os": "linux",\n "arch": "amd64",\n "kernelVersion": "6.2.16-3-pve",\n "buildTime": "2024-05-08T13:59:59.000000000+00:00",\n "platform": {\n "name": "Docker Engine - Community"\n },\n "components": [\n {\n "name": "Engine",\n "version": "26.1.2"\n },\n {\n "name": "containerd",\n "version": "1.6.31"\n },\n {\n "name": "runsc",\n "version": "0.0~20221219.0"\n },\n {\n "name": "docker-init",\n "version": "0.19.0"\n }\n ]\n }\n}", + "lang": "language-json" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "执行响应的代码前,需要构建一个 json 请求体,用来描述创建的执行任务的行为,下表是它的定义:" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": null, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/new_dyn/752ce6ef76a448158eb97222befa7c92293793435.png", + "width": null + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "payload 结构:" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": null, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/new_dyn/752ce6ef76a448158eb97222befa7c92293793435.png", + "width": null + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "文件对象的结构:" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": null, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/new_dyn/752ce6ef76a448158eb97222befa7c92293793435.png", + "width": null + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "eg:" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "{\n "image": "glot/python:latest",\n "payload": {\n "language": "python",\n "files": [\n {\n "name": "main.py",\n "content": "print(42)"\n }\n ]\n }\n}", + "lang": "language-json" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "访问这个接口也需要在请求 Header 中携带 Token:" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "curl 'http://localhost:8088/run' \\\n -H 'X-Access-Token: some-secret-token' \\\n -H 'Content-type: application/json' \\\n -d '{\n "image": "glot/python:latest",\n "payload": {\n "language": "python",\n "files": [\n {\n "name": "main.py",\n "content": "print(42)"\n }\n ]\n }\n}'", + "lang": "language-bash" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "我们可以直接将它与自己熟悉的编程语言对接,实现给应用或者平台提供运行任意代码的能力。" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "这里使用 Python 通过 RestAPI 调用 glot(docker-run),实现运行一段 rust 代码并取回输出为字符串:" + } + } + ] + } + }, + { + "align": 0, + "code": { + "content": "import requests\n\ndef run_code(image, lang, file_name, code):\n resp = requests.post(\n url="http://localhost:8088/run",\n headers={\n "X-Access-Token": "some-secret-token",\n },\n json={\n "image": image,\n "payload": {\n "language": lang,\n "files": [\n {\n "name": file_name,\n "content": code,\n },\n ],\n },\n },\n )\n json_content = resp.json()\n return json_content\n\n\nimage = "glot/rust:latest"\nlang = "rust"\nfile_name = "main.rs"\ncode = """\nfn main() {\n for i in 1..=9 {\n for j in 1..=i {\n print!("{}x{}={:2} ", j, i, j * i);\n }\n println!();\n }\n}\n"""\n\nresult = run_code(image, lang, file_name, code)\nprint(result["stdout"])", + "lang": "language-python" + }, + "para_type": 7 + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "测试可以正确输出执行内容" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "\n" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": null, + "live_url": null, + "size": null, + "url": "https://i0.hdslb.com/bfs/new_dyn/21e396261fb607d4823f7ec4327908b1293793435.png", + "width": null + } + ], + "style": 2 + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "有了通用接口的能力,我们就有了将其集成进自己平台的可能,只要发挥创造力,就可以围绕在线执行代码提供相关的业务,或者作为微服务连接上游的业务,比如搭建 OJ(在线判题)平台等。以及 glot 项目以 MIT 协议开源,这意味着我们可以随意修改底层代码,比如增加网络和共享路径支持、增加第三方库等。总之,这是一个完成度很高、十分推荐的开源项目。" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "由 " + } + }, + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "color": "#ff968d", + "font_size": 17, + "style": {}, + "words": "来笙云 Laysense.cn" + } + }, + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": " 强力支持" + } + } + ] + } + }, + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "原文链接:https://shakaianee.top/archives/1002/" + } + } + ] + } + } + ] + }, + "module_type": "MODULE_TYPE_CONTENT" + }, + { + "module_extend": { + "items": [ + { + "icon": null, + "jump_url": "//search.bilibili.com/all?keyword=%E8%BF%90%E7%BB%B4", + "text": "运维" + }, + { + "icon": null, + "jump_url": "//search.bilibili.com/all?keyword=%E6%9C%8D%E5%8A%A1%E6%90%AD%E5%BB%BA", + "text": "服务搭建" + }, + { + "icon": null, + "jump_url": "//search.bilibili.com/all?keyword=glot.io", + "text": "glot.io" + } + ] + }, + "module_type": "MODULE_TYPE_EXTEND" + }, + { + "module_bottom": { + "share_info": { + "pic": "https://static.hdslb.com/mobile/img/app_logo.png", + "summary": "感谢 来笙云 Laysense.cn 提供算力 作为一个全栈工程师,开发、维护和测试一些软件系统时,必然会涉及到多种编程语言,有时还需要测试一些编程语言的安全特性,常常需要敏捷地了解它们并立即上手。在朋友的推荐和社区分享下,我了解到一个名叫 glot.io 的开源项目。 它支持40多种编程语言,无论是热门的 Python、Go、Rust、Kotlin,还是冷门的 COBOL、Erlang、Haskell 只需在网页上选择对应的语言,即可开始编写。为使用者提供了一个 Sandbox(沙箱)和 Playground(游乐场)环境,既不需要配置它们的 Runtime(运行环境)和 IDE(集成开发环境),也不需要担心误操作对系统产生破坏性,还不会占用任何用户端的系统资源,实现真正的零开销运行代码。 [图片] 在代码编写界面,可以创建多个源码文件,完成后点击Run就能执行它并得到输出,类似我们平时编程那样,将输出打在终端上。整个过程不会生成任何可执行文件,所以它的应用场景不是在线编译,而是在线运行代码片段。 [图片] glot.io 这个网站提供了公开的代码片段执行和分享功能,任何人在注册后都可以分享自", + "title": "【服务搭建】零开销在线运行代码!glot.io服务私有化部署" + } + }, + "module_type": "MODULE_TYPE_BOTTOM" + }, + { + "module_stat": { + "coin": { + "count": 1, + "forbidden": false, + "status": false + }, + "comment": { + "count": 3, + "forbidden": false + }, + "favorite": { + "count": 4, + "forbidden": false, + "status": false + }, + "forward": { + "count": 0, + "forbidden": false + }, + "like": { + "count": 17, + "forbidden": false, + "status": false + } + }, + "module_type": "MODULE_TYPE_STAT" + } + ], + "type": 1 + } + }, + "message": "0", + "ttl": 1 +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-07-16T03:36:40.328047838Z --> diff --git a/docs/opus/features.md b/docs/opus/features.md new file mode 100644 index 0000000..b54e961 --- /dev/null +++ b/docs/opus/features.md @@ -0,0 +1,1295 @@ +# 功能模块 + +部分动态相关接口请求存在 `features` 参数, 意为功能<br /> +主要用于控制返回结果中的 `modules` 中的内容, 意为模块<br /> +此两者在一定程度上为对应关系, 但也存在大量例外<br /> +本页文档整理了大部分常见的已知功能与模块以供参考 + +## features + +请求 URL 参数, 用 `,` 分隔 + +| 名称 | 含义 | 备注 | 示例 | +| ---- | ---- | ---- | ---- | +| htmlNewStyle | 是否显示专栏正文 | 对于纯动态类型接口无效 | 1056353752004427792 | +| itemOpusStyle | 是否以图文风格显示动态 | 部分动态强制需要, 对于图文类型接口无效 | 1060771233257226247, 1065507757569867779 | +| listOnlyfans | | | | +| opusBigCover | 是否在返回结果中区分大封面与九宫格 | 对于图文接口似乎无效, 前置条件 `itemOpusStyle` | 1052711525276450824 | +| onlyfansVote | 是否在投票信息中增加参与按钮等 | | 1060771233257226247 | +| onlyfansAssetsV2 | | | | +| forwardListHidden | | | | +| ugcDelete | | | | +| onlyfansQaCard | 是否展示更详细的展示充电专属问答 | | 1087983622038749191 | +| commentsNewVersion | | | | +| decorationCard | 是否以卡片形式显示装扮 | | 566950981753221664 | +| editable | 是否在右上角三点菜单中显示 `编辑` | 必须是自己发送的动态才有效果 | 1065142062572109830 | +| opusPrivateVisible | | | | +| tribeeEdit | | | | +| avatarAutoTheme | 头像颜色使用 CSS 变量 | 对于纯动态类型接口无效 | 933099353259638816 | +| avatarTypeOpus | | | | + +## modules + +内容以 [获取图文详细信息](detail.md) 为基础 + +### MODULE_TYPE_TITLE + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| module_title | object | 标题模块 | | +| module_type | string | 模块类型 | `MODULE_TYPE_TITLE` | + +`module_title` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| text | string | 标题内容 | | + +<details> +<summary>查看示例:</summary> + +```json +{ + "module_title": { + "text": "欢迎加入粉丝交流群~" + }, + "module_type": "MODULE_TYPE_TITLE" +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-05-24T06:20:39.079282886Z --> + +### MODULE_TYPE_AUTHOR + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| module_author | object | 作者模块 | | +| module_type | string | 模块类型 | `MODULE_TYPE_AUTHOR` | + +`module_author` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| avater | object | 头像信息 | 主要用于网页渲染, 若感兴趣可参考 [图片格式化](../misc/picture.md) | +| decorate | object | 装扮 | 仅当动态接口且无 `decorationCard` 时存在 | +| decorate_card | object | 装扮 | 仅当图文接口时存在 | +| decoration_card | object | 装扮 | 仅当动态接口且有 `decorationCard` 时存在, 同 `decorate_card` | +| face | string | 头像 URL | | +| face_nft | boolean | 是否为 NFT 头像 | | +| following | boolean | 是否关注此 UP 主 | 自己的动态为 `null` | +| jump_url | string | 跳转链接 | | +| label | string | 名称前标签 | `合集`<br/>`电视剧`<br/>`番剧` | +| mid | number | UP 主 UID<br/>剧集 SeasonId | | +| more | object | 三点按钮中的项目 | 参见 [module_more](#module_more), 仅图文接口 | +| name | string | UP 主名称<br/>剧集名称<br/>合集名称 | | +| official | object | UP 主认证信息 | 仅图文接口 | +| official_verify | object | UP主认证信息 | 仅动态接口 | +| pendant | object | UP 主头像框 | | +| pub_action | string | 更新动作描述 | 仅动态接口<br />`投稿了视频`<br/>`直播了`<br/>`投稿了文章`<br/>`更新了合集`<br/>`与他人联合创作`<br/>`发布了动态视频`<br/>`投稿了直播回放` | +| pub_location_text | string | 空 | | +| pub_time | string | 更新时间 | `x分钟前`<br/>`x小时前`<br/>`昨天`<br />等 | +| pub_ts | number | 更新时间戳 | UNIX 秒级时间戳 | +| views_text | string | | | +| vip | object | UP 主大会员信息 | | +| type | string | 作者类型 | 仅动态接口, [作者类型](../dynamic/dynamic_enum.md#作者类型) | +| nft_info | object | NFT 头像信息 | 可能不存在 | + +`module_author.avatar` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| container_size | object | | | +| fallback_layers | object | | | +| mid | string | | | + +`module_author.avatar.container_size` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| height | number | | | +| width | number | | | + +`module_author.avatar.fallback_layers` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| is_critical_group | boolean | | | +| layers | object[] | | | + +`module_author.avatar.fallback_layers.layers[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| general_spec | object | | | +| layer_config | object | | | +| resource | object | | | +| visible | boolean | | | + +`module_author.avatar.fallback_layers.layers[].general_spec` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| pos_spec | object | | | +| render_spec | object | | | +| size_spec | object | | | + +`module_author.avatar.fallback_layers.layers[].general_spec.pos_spec` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| axis_x | number | | | +| axis_y | number | | | +| coordinate_pos | number | | | + +`module_author.avatar.fallback_layers.layers[].general_spec.render_spec` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| opacity | number | | | + +`module_author.avatar.fallback_layers.layers[].general_spec.size_spec` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| height | number | | | +| width | number | | | + +`module_author.avatar.fallback_layers.layers[].layer_config` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| is_critical | boolean | | | +| tags | object | | | + +`module_author.avatar.fallback_layers.layers[].layer_config.tags` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| AVATAR_LAYER | object | | | +| GENERAL_CFG | object | | | + +`module_author.avatar.fallback_layers.layers[].layer_config.tags.AVATAR_LAYER` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | + +`module_author.avatar.fallback_layers.layers[].layer_config.tags.GENERAL_CFG` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| config_type | number | | | +| general_config | object | | | + +`module_author.avatar.fallback_layers.layers[].layer_config.tags.GENERAL_CFG.general_config` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| web_css_style | object | | | + +`module_author.avatar.fallback_layers.layers[].layer_config.tags.GENERAL_CFG.general_config.web_css_style` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| borderRadius | string | | | + +`module_author.avatar.fallback_layers.layers[].resource` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| res_image | object | | | +| res_type | number | | | + +`module_author.avatar.fallback_layers.layers[].resource.res_image` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| image_src | object | | | + +`module_author.avatar.fallback_layers.layers[].resource.res_image.image_src` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| placeholder | number | | | +| remote | object | | | +| src_type | number | | | + +`module_author.avatar.fallback_layers.layers[].resource.res_image.image_src.remote` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| bfs_style | string | | | +| url | string | | | + +`module_author.decorate` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| card_url | string | 动态卡片小图标图片URL | | +| fan | object | 粉丝装扮信息 | | +| id | number | 装扮 ID | | +| jump_url | string | 跳转 URL | | +| name | string | 装扮名称 | | +| type | number | `1` `2` `3` | | + +`module_author.decorate.fan` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| color | string | 编号颜色 | | +| color_format | object | 颜色格式 | | +| is_fan | boolean | 是否是粉丝装扮 | | +| num_str | string | 装扮编号前缀 | 如 `NO.` | +| number | number | 装扮编号 | | + +<!-- Generated by json-apidoc-gen @ 2025-05-10T04:02:29.755564325Z --> +`module_author.decorate.fan.color_format` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| colors | string[] | 颜色 | 带 `#` 前缀的 16 进制颜色代码 | +| end_point | string| 端点 | `0,100` | +| gradients | number[] | 渐变 | 内容 [0, 100] | +| start_point | string | 起点 | `0,0` | + +`module_author.decorate_card` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| big_card_url | string | 大装扮卡片 URL | | +| card_type | number | 装扮卡片类型 | | +| card_type_name | string | 装扮卡片类型名称 | | +| card_url | string | 装扮卡片 URL | | +| fan | object | 粉丝装扮信息 | 同 `module_author.decorate.fan` | +| id | number | 装扮 ID | | +| image_enhance | string | 同 `card_url`? | | +| item_id | number | 项目 ID? | | +| item_type | number? | 项目类型? | 图文接口当 `decorationCard` 时才有此项 | +| jump_url | string | 跳转 URL | | +| name | string | 装扮名称 | | + +<!-- Generated by json-apidoc-gen @ 2025-05-10T04:28:40.067509455Z --> + +`module_author.official` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| desc | string | 认证说明 | | +| role | number | | | +| title | string | | | +| type | number | 认证类型 | | + +`module_author.pendant` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| expire | number | 过期时间 | 此接口返回恒为`0` | +| image | string | 头像框图片 URL | | +| image_enhance | string | 头像框图片 URL | | +| image_enhance_frame | string | 头像框图片逐帧序列 URL | | +| n_pid | number | 同 `pid` | | +| name | string | 头像框名称 | | +| pid | number | 头像框id | | + +`module_author.vip` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| avatar_icon | object | | 仅图文接口 | +| avatar_subscript | number | 是否显示角标 | 0:不显示<br/>1:显示 | +| avatar_subscript_url | string | 空 | | +| due_date | number | 大会员过期时间戳 | UNIX 毫秒时间戳 | +| label | object | 大会员标签 | | +| nickname_color | string | 名字显示颜色 | 大会员:`#FB7299` | +| role | number | | 仅图文接口 | +| status | number | 大会员状态 | 0:无<br />1:有<br/>2:封禁? | +| theme_type | number | 主题类型? | 仅图文接口 | +| tv_due_date | number | TV 端过期时间? | 仅图文接口 | +| tv_vip_pay_type | number | TV 端付费状态? | 仅图文接口| +| tv_vip_status | number | TV 端会员状态? | | +| type | number | 大会员类型? | | +| vip_pay_type | number | 大会员付费类型? | + +`module_author.vip.avatar_icon` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| icon_resource | object | | | + +`module_author.vip.avatar_icon.icon_resource` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | + +`module_author.vip.label` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| bg_color | string | 会员标签背景颜色 | `#FB7299` | +| bg_style | number | `0` `1` | | +| border_color | string | 空 | | +| img_label_uri_hans | string | 大会员牌子图片 | 动态版 简体版 | +| img_label_uri_hans_static | string | 大会员牌子图片 | 静态版 简体版 | +| img_label_uri_hant | string | 大会员牌子图片 | 动态版 繁体版 | +| img_label_uri_hant_static | string | 大会员牌子图片 | 静态版 繁体版 | +| label_theme | string | 会员标签 | vip:大会员<br />annual_vip:年度大会员<br />ten_annual_vip:十年大会员<br />hundred_annual_vip:百年大会员<br/>fools_day_hundred_annual_vip:最强绿鲤鱼 | +| path | string | 空 | | +| text | string | 会员类型文案 | `大会员` `年度大会员` `十年大会员` `百年大会员` `最强绿鲤鱼` | +| text_color | string | 用户名文字颜色 | | +| use_img_label | boolean | `true` | | + +`module_author.nft_info`: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| region_icon | string | NFT头像角标URL | 类型1:https://i0.hdslb.com/bfs/activity-plat/static/20220506/334553dd7c506a92b88eaf4d59ac8b4d/j8AeXAkEul.gif <br/>类型2:https://i0.hdslb.com/bfs/activity-plat/static/20220506/334553dd7c506a92b88eaf4d59ac8b4d/IOHoVs1ebP.gif | +| region_type | number | NFT头像角标类型 | 1,2 | +| show_status | number | `1` | | + +<details> +<summary>查看示例:</summary> + +```json +{ + "module_author": { + "avatar": { + "container_size": { + "height": 1.35, + "width": 1.35 + }, + "fallback_layers": { + "is_critical_group": true, + "layers": [ + { + "general_spec": { + "pos_spec": { + "axis_x": 0.675, + "axis_y": 0.675, + "coordinate_pos": 2 + }, + "render_spec": { + "opacity": 1 + }, + "size_spec": { + "height": 1, + "width": 1 + } + }, + "layer_config": { + "is_critical": true, + "tags": { + "AVATAR_LAYER": {}, + "GENERAL_CFG": { + "config_type": 1, + "general_config": { + "web_css_style": { + "borderRadius": "50%" + } + } + } + } + }, + "resource": { + "res_image": { + "image_src": { + "placeholder": 6, + "remote": { + "bfs_style": "widget-layer-avatar", + "url": "https://i2.hdslb.com/bfs/face/77906db03b1eefac02613de184afad03f7bc58d7.jpg" + }, + "src_type": 1 + } + }, + "res_type": 3 + }, + "visible": true + } + ] + }, + "mid": "645769214" + }, + "decorate_card": { + "big_card_url": "https://i0.hdslb.com/bfs/vip/e2ffa1d1d491fe0464338ed3921327ef5e4b42c5.png", + "card_type": 2, + "card_type_name": "免费", + "card_url": "https://i0.hdslb.com/bfs/vip/a9e3d993c7a15e88ce0bf714a142f7d2b44121e2.png", + "fan": {}, + "id": 28, + "image_enhance": "https://i0.hdslb.com/bfs/vip/a9e3d993c7a15e88ce0bf714a142f7d2b44121e2.png", + "item_id": 28, + "item_type": 1, + "jump_url": "https://www.bilibili.com/h5/mall/equity-link/collect-home?item_id=28&isdiy=0&part=card&from=post&f_source=garb&vmid=645769214&native.theme=1&navhide=1", + "name": "2233娘" + }, + "face": "https://i2.hdslb.com/bfs/face/77906db03b1eefac02613de184afad03f7bc58d7.jpg", + "face_nft": false, + "following": true, + "jump_url": "//space.bilibili.com/645769214", + "label": "", + "mid": 645769214, + "more": { + "three_point_items": [ + { + "label": "举报", + "type": "THREE_POINT_REPORT" + } + ] + }, + "name": "Session小胡", + "official": { + "desc": "", + "role": 0, + "title": "", + "type": -1 + }, + "pendant": { + "expire": 0, + "image": "", + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0, + "name": "", + "pid": 0 + }, + "pub_location_text": "", + "pub_time": "2025年04月06日 20:18", + "pub_ts": 1743941902, + "views_text": "", + "vip": { + "avatar_icon": { + "icon_resource": {} + }, + "avatar_subscript": 0, + "avatar_subscript_url": "", + "due_date": 1665158400000, + "label": { + "bg_color": "", + "bg_style": 0, + "border_color": "", + "img_label_uri_hans": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant": "", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png", + "label_theme": "", + "path": "", + "text": "", + "text_color": "", + "use_img_label": true + }, + "nickname_color": "", + "role": 0, + "status": 0, + "theme_type": 0, + "tv_due_date": 0, + "tv_vip_pay_type": 0, + "tv_vip_status": 0, + "type": 1, + "vip_pay_type": 0 + } + }, + "module_type": "MODULE_TYPE_AUTHOR" +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-05-10T03:57:58.052575522Z --> + +### module_more + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| module_more | object | 三点更多模块 | | + +`module_more` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| three_point_items | object[] | 右上角三点菜单 | 套了个娃 | + +`module_more.three_point_items[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| label | string | 显示文本 | | +| modal | object? | 弹出框文本 | | +| params | object? | 参数信息 | | +| type | string | 三点操作类型 | 参见 [右上角三点菜单](../dynamic/dynamic_enum.md#右上角三点菜单) | + +`module_more.three_point_items[].modal` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| cancel | string | 取消文本 | | +| confirm | string | 确认文本 | | +| content | string | 内容文本 | | +| title | string | 标题文本 | | + +`module_more.three_point_items[].params` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| dyn_id_str | string | 动态 id 字符串 | | +| dyn_type | number | 动态类型 | | +| rid_str | string | 动态 id 字符串 | | + +<!-- Generated by json-apidoc-gen @ 2025-05-17T03:46:37.13552933Z --> + +<details> +<summary>查看示例:</summary> + +```json +{ + "three_point_items": [ + { + "label": "编辑", + "type": "THREE_POINT_EDIT" + }, + { + "label": "可见范围", + "params": { + "dynamic_id": "1067779202512584729", + "status": 0, + "type": 1 + }, + "type": "THREE_POINT_PRIVATE" + }, + { + "label": "删除", + "modal": { + "cancel": "取消", + "confirm": "确认删除", + "content": "动态删除后将无法恢复,请谨慎操作", + "title": "要删除动态吗?" + }, + "params": { + "dyn_id_str": "1067779202512584729", + "dyn_type": 1, + "rid_str": "1067779202512584729" + }, + "type": "THREE_POINT_DELETE" + } + ] +} +``` + +</details> + +### MODULE_TYPE_STAT + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| module_stat | object | 统计模块 | | +| module_type | string | 模块类型 | `MODULE_TYPE_STAT` | + +`module_stat` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| coin | object | 硬币数据 | 仅图文接口 | +| comment | object | 评论数据 | | +| favorite | object | 收藏数据 | 仅图文接口 | +| forward | object | 转发数据 | | +| like | object | 点赞数据 | | + +`module_stat` 中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| count | number | 数量 | | +| forbidden | boolean | 是否屏蔽 | | +| hidden | boolean | 是否隐藏 | | +| status | boolean | 当前状态 | 是否已进行该操作 | + +<details> +<summary>查看示例:</summary> + +```json +{ + "module_stat": { + "coin": { + "count": 0, + "forbidden": false, + "hidden": true + }, + "comment": { + "count": 42, + "forbidden": false + }, + "favorite": { + "count": 0, + "forbidden": false, + "status": false + }, + "forward": { + "count": 0, + "forbidden": false + }, + "like": { + "count": 56, + "forbidden": false, + "status": true + } + }, + "module_type": "MODULE_TYPE_STAT" +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-05-17T12:14:24.470143481Z --> + +### MODULE_TYPE_CONTENT + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| module_content | object | 内容模块 | | +| module_type | string | 模块类型 | `MODULE_TYPE_CONTENT` | + +`module_content` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| paragraphs | object[] | 段落 | | + +`module_content.paragraphs[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| align | number | 对齐方式 | 0: 左对齐 (默认)<br />1: 居中<br />2: 右对齐 | +| para_type | number | 段落类型 | 1: 文本<br />2: 图片<br />3: 分割线<br />4: 块引用<br />5: 列表<br />6: 链接卡片<br />7: 代码 | +| text | object | 文本 | `para_type=1` 或 `para_type=4` | +| pics | object | 图片 | `para_type=2` | +| line | object | 分割线 | `para_type=3` | +| list | object | 列表 | `para_type=5` | +| link_card | object | 链接卡片 | `para_type=6` | +| code | object | 代码 | `para_type=7` | + +`module_content.paragraphs[].text` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| nodes | object[] | 文本节点 | | + +`module_content.paragraphs[].text.nodes[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| type | string | 文本节点类型 | 纯文本: `TEXT_NODE_TYPE_WORD`<br />富文本: `TEXT_NODE_TYPE_RICH` | +| word | object | 纯文本 | 仅 `type='TEXT_NODE_TYPE_WORD'` | +| rich | object | 富文本 | 仅 `type='TEXT_NODE_TYPE_RICH'`, 详细参见 [富文本节点](rich_text_nodes.md) | +| formula | object | 公式 | 仅 `type='TEXT_NODE_TYPE_FORMULA' | + +`module_content.paragraphs[].text.nodes[].word` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| font_size | number | 字体大小 | 用于控制文本所用标签名 (如 `h1` `h2` `p`) 及行高 | +| style | object | 补充样式 | | +| words | string | 文本内容 | | + +`module_content.paragraphs[].text.nodes[].formula` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| latex_content | string | 公式内容 | LaTeX | + +`module_content.paragraphs[].line` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| pic | object | 图片 | | + +`module_content.paragraphs[].line.pic` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| height | number | 高度 | | +| url | string | 图片 URL | | + +`module_content.paragraphs[].list` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| style | number | 样式 | 1: 有序列表<br />2: 无序列表 | +| items | object[] | 列表项 | | + +`module_content.paragraphs[].list.items[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| level | number | 级别 | | +| nodes | object[] | 文本节点 | 同 `module_content.paragraphs[].text.nodes[]` 对象 | +| order | number | 序号 | | + +`module_content.paragraphs[].pic` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| pics | object[] | 图片 | 套了个娃 | +| style | number | 样式 | 1: isAlbum | + +`module_content.paragraphs[].pic.pics[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| height | number | 高度 | | +| live_url | unknown | 动图 URL? | | +| size | number \| null | 大小 | 单位: ki | +| url | string | 图片 URL | | +| width | number | 宽度 | | + +`module_content.paragraphs[].link_card` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| card | object | 卡片内容 | | + +`module_content.paragraphs[].link_card.card` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| oid | string | 关联 id | 可能为 `"undefined"` <!--这说明 B 站图文的后端用的是 Node--> | +| type | string | 卡片类型 | | +| common | object | 一般信息 | 仅 `type='LINK_CARD_TYPE_COMMON', 参见 [获取全部动态列表](../dynamic/all.md#获取全部动态列表) 的 `data.items[].modules.module_dynamic.additional.common` | +| goods | object | 商品信息 | 仅 `type='LINK_CARD_TYPE_GOODS'`, 参见 [获取全部动态列表](../dynamic/all.md#获取全部动态列表) 的 `data.items[].modules.module_dynamic.additional.goods` | +| match | object | 比赛信息? | 仅 `type='LINK_CARD_TYPE_MATCH'` | +| vote | object | 投票信息 | 仅 `type='LINK_CARD_TYPE_VOTE'`, 参见 [获取全部动态列表](../dynamic/all.md#获取全部动态列表) 的 `data.items[].modules.module_dynamic.additional.vote` | +| ugc | object | 视频信息 | 仅 `type='LINK_CARD_TYPE_UGC'`, 参见 [获取全部动态列表](../dynamic/all.md#获取全部动态列表) 的 `data.items[].modules.module_dynamic.additional.ugc` | +| reserve | object | 预约信息 | 仅 `type='LINK_CARD_TYPE_RESERVE'`, 参见 [获取全部动态列表](../dynamic/all.md#获取全部动态列表) 的 `data.items[].modules.module_dynamic.additional.reserve` | +| upower_lottery | object | 充电专属抽奖信息 | 仅 `type='LINK_CARD_TYPE_UPOWER_LOTTERY'` | +| opus | object | 图文信息 | 仅 `type='LINK_CARD_TYPE_OPUS'` | +| music | object | 音乐信息 | 仅 `type='LINK_CARD_TYPE_MUSIC'`, 参见 [获取全部动态列表](../dynamic/all.md#获取全部动态列表) 的 `data.items[].modules.module_dynamic.major.music` | +| live | object | 直播信息 | 仅 `type='LINK_CARD_TYPE_LIVE'`, 参见 [获取全部动态列表](../dynamic/all.md#获取全部动态列表) 的 `data.items[].modules.module_dynamic.major.live` | +| item_null | object | 提示信息 | 仅 `type='LINK_CARD_TYPE_ITEM_NULL'` | + +`module_content.paragraphs[].link_card.card.match` 对象: + +*注: 该对象结构由 AI 根据前端代码推断得出未经验证仅供参考* + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| id_str | string | 动态 ID | | +| jump_url | string | 跳转 URL | | +| match_info | object | 比赛信息 | 套了个娃 | + +`module_content.paragraphs[].link_card.card.match.match_info` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| center_bottom | string | 中间区域底部的信息 | | +| center_top | string[] | 中间区域顶部的信息 | 会循环显示出来, 可能用来显示比分或者比赛时间 | +| left_team | object | 右边队伍的信息 | | +| right_team | object | 左边队伍的信息 | | +| status | number | 比赛状态 | 2: 进行中 (文字会高亮)<br />其他: 正常状态 | +| sub_title | string | 副标题 | | +| title | string | 标题 | | + +`module_content.paragraphs[].link_card.card.match.match_info.left_team` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| name | string | 队伍名字 | | +| pic | string | 图片 | | + +`module_content.paragraphs[].link_card.card.match.match_info.right_team` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| name | string | 队伍名字 | | +| pic | string | 图片 | | + +<!-- Generated by json-apidoc-gen @ 2025-07-14T01:20:30.610774098Z --> + +`module_content.paragraphs[].link_card.card.upower_lottery` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| button | object | 按钮 | | +| desc | object | 描述 | | +| hint | object | 提示 | | +| jump_url | string | 跳转 URL | | +| rid | number | 关联 id | | +| state | number | 状态 | | +| title | string | 标题 | | +| up_mid | number | UP 主 mid (UID) | | +| upower_action_state | number | 充电操作状态 | | +| upower_level | number | 充电级别 | | + +`module_content.paragraphs[].link_card.card.upower_lottery.button` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| check | object | 选中状态 | | +| status | number | 状态 | | +| type | number | 类型 | 0 1 2 | + +`module_content.paragraphs[].link_card.card.upower_lottery.button.check` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| disable | number | 是否禁用 | 1: 禁用 | +| icon_url | string | 图标 URL | | +| text | string | 文字 | | +| toast | string | 提示 | | + +`module_content.paragraphs[].link_card.card.upower_lottery.desc` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| jump_url | string | 跳转 URL | | +| style | number | 样式 | | +| text | string | 文字 | | + +`module_content.paragraphs[].link_card.card.upower_lottery.hint` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| style | number | 样式 | | +| text | string | 文字 | | + +<!-- Generated by json-apidoc-gen @ 2025-07-15T00:15:30.710249212Z --> + +`module_content.paragraphs[].link_card.card.opus` 对象: + +*注: 该对象结构根据前端代码推断得出未经验证仅供参考* + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| author | object | 作者信息 | | +| cover | string | 封面 URL | | +| jump_url | string | 跳转 URL | | +| stat | object | 状态信息 | | +| title | string | 标题 | | + +`module_content.paragraphs[].link_card.card.opus.author` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| name | string | 作者名 | | + +`module_content.paragraphs[].link_card.card.opus.stat` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| view | number | 阅读数 | | + +`module_content.paragraphs[].link_card.card.item_null` 对象: + +注: 该对象结构根据前端代码推断得出未经验证仅供参考 + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| text | string | 文字 | | + +`module_content.paragraphs[].code` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| content | string | 内容 | | +| lang | string | 语言 | 如 `language-html` `language-bash` | + +**示例:** + +<details> +<summary>查看示例:</summary> + +```json +{ + "module_content": { + "paragraphs": [ + { + "link_card": { + "card": { + "opus": { + "author": { + "name": "作者的名字" + }, + "cover": "https://example.com/path/to/cover.jpg", + "jump_url": "https://www.bilibili.com/read/cvxxxxxxxx", + "stat": { + "view": 12345 + }, + "title": "这里是作品的标题" + } + } + } + } + ] + } +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-07-15T14:10:23.655883884Z --> + +**示例:** + +<details> +<summary>查看示例:</summary> + +```json +{ + "module_content": { + "paragraphs": [ + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "洛天依2025「无限共鸣·流光协奏」全息巡回演唱会·成都站\n部分演出歌曲歌单抢先看~" + } + }, + { + "rich": { + "emoji": { + "gif_url": "https://i0.hdslb.com/bfs/garb/3ed01457a5a2c7c2ec304a1aa0565033f4b7fde4.gif", + "icon_url": "https://i0.hdslb.com/bfs/garb/d6a4aeb51134e1ddf0024a8c1fa48a91700207e2.png", + "size": 2, + "text": "[洛天依·天星问动态_萌]", + "type": 3, + "webp_url": "https://i0.hdslb.com/bfs/garb/1c017fee22994ff261b90c9790a2cfc553ef1845.webp" + }, + "orig_text": "[洛天依·天星问动态_萌]", + "text": "[洛天依·天星问动态_萌]", + "type": "RICH_TEXT_NODE_TYPE_EMOJI" + }, + "type": "TEXT_NODE_TYPE_RICH" + }, + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "\n《Dramatic》\n《蝴蝶》\n\n✨成都站城市限定演出歌曲\n《又见月光光》\n\n有没有你期待的歌曲呀?" + } + }, + { + "rich": { + "emoji": { + "gif_url": "https://i0.hdslb.com/bfs/emote/55bbe7e1c69fb5382764cd467a6ef43c97e8fb81.gif", + "icon_url": "https://i0.hdslb.com/bfs/emote/e55207be553ac505ac80892a3f325be383139aa2.png", + "size": 2, + "text": "[心律共鸣动态表情包_啾啾]", + "type": 3, + "webp_url": "https://i0.hdslb.com/bfs/emote/fc0c8ef4ba8271521d934b9b6ee1a7c60ab27e4c.webp" + }, + "orig_text": "[心律共鸣动态表情包_啾啾]", + "text": "[心律共鸣动态表情包_啾啾]", + "type": "RICH_TEXT_NODE_TYPE_EMOJI" + }, + "type": "TEXT_NODE_TYPE_RICH" + }, + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "\n天依已经迫不及待在演唱会的舞台上和大家相见啦!" + } + } + ] + } + }, + { + "align": 0, + "para_type": 2, + "pic": { + "pics": [ + { + "height": 5755, + "live_url": null, + "size": 4180.7216796875, + "url": "http://i0.hdslb.com/bfs/new_dyn/bda8c1b1e9c98e09994742a26c1f62c636081646.jpg", + "width": 1080 + } + ], + "style": 1 + } + }, + { + "link_card": { + "card": { + "goods": { + "head_icon": "", + "head_text": "UP主的推荐", + "items": [ + { + "brief": "", + "cover": "https://i0.hdslb.com/bfs/openplatform/202506/aNnr4PFN1749449633226.jpeg", + "id": 102803, + "jump_desc": "去看看", + "jump_url": "https://mall.bilibili.com/neul-next/ticket/detail.html?noTitleBar=1&id=102803&track_id=__BGMT__&contentId=&from=&msource=cps_Mdynamic_36081646_cont-2-1077137468098084900", + "name": "成都·2025洛天依「无限共鸣•流光协奏」全息演唱会-成都站", + "price": "¥480" + } + ], + "jump_url": "" + }, + "oid": "undefined", + "type": "LINK_CARD_TYPE_GOODS" + } + }, + "para_type": 6 + } + ] + }, + "module_type": "MODULE_TYPE_CONTENT" +} +``` + +```json +{ + "module_content": { + "paragraphs": [ + { + "align": 0, + "para_type": 1, + "text": { + "nodes": [ + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "欢迎使用咱开发的 TG 机器人, 自由开源, 目前支持很多功能, 如 天气查询, IP 查询, 甚至可以执行 Shell 命令\nSINO Is Not Object! " + } + }, + { + "type": "TEXT_NODE_TYPE_WORD", + "word": { + "font_size": 17, + "style": {}, + "words": "https://t.me/SessX6cfBot" + } + } + ] + } + } + ] + }, + "module_type": "MODULE_TYPE_CONTENT" +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-07-08T01:49:39.052079251Z --> + +### MODULE_TYPE_TOPIC + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| module_topic | object | 话题模块 | | +| module_type | string | 模块类型 | `MODULE_TYPE_TOPIC` | + +`module_topic` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| id | number | 话题 id | | +| jump_url | string | 跳转 URL | | +| name | string | 话题名称 | | + +**示例:** + +<details> +<summary>查看示例:</summary> + +```json +{ + "module_topic": { + "id": 1310025, + "jump_url": "https://m.bilibili.com/topic-detail?topic_id=1310025&topic_name=%E6%B4%9B%E5%A4%A9%E4%BE%9D%E5%96%8A%E4%BD%A0%E6%9D%A5%E7%9C%8B%E5%85%A8%E6%81%AF%E5%B7%A1%E6%BC%94", + "name": "洛天依喊你来看全息巡演" + }, + "module_type": "MODULE_TYPE_TOPIC" +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-07-08T13:42:01.137702901Z --> + +### MODULE_TYPE_COLLECTION + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| module_collection | object | 文集模块 | | +| module_type | string | 模块类型 | `MODULE_TYPE_COLLECTION` | + +`module_collection` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| count | string | 文章数 | | +| id | number | 文集 id | | +| name | string | 文集名 | | +| title | string | 标题 | `收录于文集` | + +**示例:** + +<details> +<summary>查看示例:</summary> + +```json +{ + "module_collection": { + "count": "4篇", + "id": 326286, + "name": "电脑", + "title": "收录于文集" + }, + "module_type": "MODULE_TYPE_COLLECTION" +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-07-12T03:42:36.411727032Z --> + + +### MODULE_TYPE_EXTEND + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| module_extend | object | 扩展模块 | | +| module_type | string | 模块类型 | `MODULE_TYPE_EXTEND` | + +`module_extend` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| items | object[] | 项 | 套了个娃 | + +`module_extend.items[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| icon | string \| null | 图标 | | +| icon_svg | unknown | SVG 图版 | | +| jump_url | string | 跳转 URL | | +| text | string | 文本 | | + +**示例:** + +<details> +<summary>查看示例:</summary> + +```json +{ + "module_extend": { + "items": [ + { + "icon": null, + "jump_url": "//search.bilibili.com/all?keyword=HTML", + "text": "HTML" + }, + { + "icon": null, + "jump_url": "//search.bilibili.com/all?keyword=API", + "text": "API" + }, + { + "icon": null, + "jump_url": "//search.bilibili.com/all?keyword=BAC", + "text": "BAC" + }, + { + "icon": null, + "jump_url": "//search.bilibili.com/all?keyword=JavaScript", + "text": "JavaScript" + }, + { + "icon": null, + "jump_url": "//search.bilibili.com/all?keyword=Bilibili", + "text": "Bilibili" + }, + { + "icon": null, + "jump_url": "//search.bilibili.com/all?keyword=GitHub", + "text": "GitHub" + }, + { + "icon": null, + "jump_url": "//search.bilibili.com/all?keyword=Web", + "text": "Web" + }, + { + "icon": null, + "jump_url": "//search.bilibili.com/all?keyword=Chromium", + "text": "Chromium" + }, + { + "icon": null, + "jump_url": "//search.bilibili.com/all?keyword=DevTools", + "text": "DevTools" + } + ] + }, + "module_type": "MODULE_TYPE_EXTEND" +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-07-12T04:08:00.156027648Z --> + +### MODULE_TYPE_BOTTOM + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| module_bottom | object | 底部模块 | | +| module_type | string | 模块类型 | | + +`module_bottom` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| share_info | object | 分享信息 | | + +`module_bottom.share_info` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| pic | string | 图片 URL | | +| summary | string | 总结 | | +| title | string | 标题 | | + +**示例:** + +<details> +<summary>查看示例:</summary> + +```json +{ + "module_bottom": { + "share_info": { + "pic": "https://static.hdslb.com/mobile/img/app_logo.png", + "summary": "背景", + "title": "通过 DevTools 绕过 SSR 抓包某站专栏正文接口" + } + }, + "module_type": "MODULE_TYPE_BOTTOM" +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-07-12T04:20:27.874477884Z --> diff --git a/docs/opus/rich_text_nodes.md b/docs/opus/rich_text_nodes.md new file mode 100644 index 0000000..d3e36ed --- /dev/null +++ b/docs/opus/rich_text_nodes.md @@ -0,0 +1,422 @@ +# 富文本节点 + +补充: 已知动态与图文接口获取结果的富文本节点与发送时的 `type` 等有关 + +## 富文本节点类型 + +| 类型 | 说明 | type | biz_id | 示例 | +| ---- | ---- | ---- | ------ | ---- | +| RICH_TEXT_NODE_TYPE_NONE | | | | | +| RICH_TEXT_NODE_TYPE_TEXT | 文字节点 | 1 | 空 | [106514206257210983](https://t.bilibili.com/106514206257210983) | +| RICH_TEXT_NODE_TYPE_AT | @用户 | 2 | 用户 mid (UID) | [721296515797090324](https://t.bilibili.com/721296515797090324) | +| RICH_TEXT_NODE_TYPE_LOTTERY | 互动抽奖 | 3 | 抽奖 id | [720907383182721040](https://t.bilibili.com/720907383182721040) | +| RICH_TEXT_NODE_TYPE_VOTE | 投票 | 4 | 投票 id | [721203899129659408](https://t.bilibili.com/721203899129659408) | +| RICH_TEXT_NODE_TYPE_TOPIC | 话题 | | | [721188862459641879](https://t.bilibili.com/721188862459641879) | +| RICH_TEXT_NODE_TYPE_GOODS | 商品链接 | | | [721282703208480790](https://t.bilibili.com/721282703208480790) | +| RICH_TEXT_NODE_TYPE_BV | 视频链接 | | | [716752002311258165](https://t.bilibili.com/716752002311258165) | +| RICH_TEXT_NODE_TYPE_AV | | | | | +| RICH_TEXT_NODE_TYPE_EMOJI | 表情 | 9 | 空 | [1069394178937454662](https://t.bilibili.com/1069394178937454662) | +| RICH_TEXT_NODE_TYPE_CV | 专栏 | | | | +| RICH_TEXT_NODE_TYPE_VIEW_PICTURE | 查看图片 | | | [1069394178937454662](https://t.bilibili.com/1069394178937454662) | +| RICH_TEXT_NODE_TYPE_WEB | 网页链接 | | | [716751027361022055](https://t.bilibili.com/716751027361022055) | +| RICH_TEXT_NODE_TYPE_TAOBAO | | | | | +| RICH_TEXT_NODE_TYPE_MAIL | 邮箱地址 | | | ~~721314095109767220~~ | +| RICH_TEXT_NODE_TYPE_OGV_SEASON | 剧集信息 | | | ~~721282046064853080~~ | +| RICH_TEXT_NODE_TYPE_OGV_EP | | | | | + +## 富文本节点对象 + +### RICH_TEXT_NODE_TYPE_TEXT + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| orig_text | string | 原始文本 | | +| text | string | 显示文本 | 一般与 `orig_text` 内容相同 | +| type | string | `RICH_TEXT_NODE_TYPE_TEXT` | | + +**示例:** + +<details> +<summary>查看示例:</summary> + +```json +{ + "orig_text": "【洛天依·共鸣宝石收藏家】设定也分享给大家~!", + "text": "【洛天依·共鸣宝石收藏家】设定也分享给大家~!", + "type": "RICH_TEXT_NODE_TYPE_TEXT" +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-05-31T06:17:54.444957389Z --> + +### RICH_TEXT_NODE_TYPE_AT + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| orig_text | string | 原始文本 | | +| rid | string | 用户 mid (UID) | | +| text | string | 显示文本 | 一般与 `orig_text` 内容相同 | +| type | string | `RICH_TEXT_NODE_TYPE_AT` | | + +**示例:** + +<details> +<summary>查看示例:</summary> + +```json +{ + "orig_text": "@wuziqian211 ", + "rid": "425503913", + "text": "@wuziqian211 ", + "type": "RICH_TEXT_NODE_TYPE_AT" +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-05-31T06:30:26.964891633Z --> + +### RICH_TEXT_NODE_TYPE_LOTTERY + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| orig_text | string | 原始文本 | 一般为 `互动抽奖` | +| rid | string | 抽奖 id | | +| text | string | 显示文本 | 一般为 `互动抽奖` | +| type | string | `RICH_TEXT_NODE_TYPE_LOTTERY` | | + +**示例:** + +<details> +<summary>查看示例:</summary> + +```json +{ + "orig_text": "互动抽奖", + "rid": "116067", + "text": "互动抽奖", + "type": "RICH_TEXT_NODE_TYPE_LOTTERY" +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-05-31T06:36:33.119611702Z --> + +### RICH_TEXT_NODE_TYPE_VOTE + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| orig_text | string | 原始文本 | | +| rid | string | 抽奖 id | | +| text | string | 显示文本 | 一般与 `orig_text` 一致 | +| type | string | `RICH_TEXT_NODE_TYPE_VOTE` | | + +**示例:** + +<details> +<summary>查看示例:</summary> + +```json +{ + "orig_text": "次の文の ★ に入る最もよいものを一つ選びなさい。", + "rid": "3925886", + "text": "次の文の ★ に入る最もよいものを一つ選びなさい。", + "type": "RICH_TEXT_NODE_TYPE_VOTE" +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-06-21T09:22:09.663974022Z --> + +### RICH_TEXT_NODE_TYPE_TOPIC + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| jump_url | string | 跳转 URL | 无协议头 | +| orig_text | string | 原始文本 | | +| text | string | 显示文本 | 一般与 `orig_text` 一致 | +| type | string | `RICH_TEXT_NODE_TYPE_TOPIC ` | | + +**示例:** + +<details> +<summary>查看示例:</summary> + +```json +{ + "jump_url": "//search.bilibili.com/all?keyword=ASOUL%E7%9A%84%E5%A5%87%E5%A6%99%E5%AE%87%E5%AE%99", + "orig_text": "#ASOUL的奇妙宇宙#", + "text": "#ASOUL的奇妙宇宙#", + "type": "RICH_TEXT_NODE_TYPE_TOPIC" +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-06-21T10:15:12.713774343Z --> + +### RICH_TEXT_NODE_TYPE_GOODS + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| goods | object | 商品信息 | | +| icon_name | string | 图标名称 | `shop` `taobao` | +| jump_url | string | 跳转 URL | | +| orig_text | string | 原始文本 | | +| rid | string | | | +| text | string | 显示文本 | 一般与 `orig_text` 一致 | +| type | string | `RICH_TEXT_NODE_TYPE_GOODS` | | + +`goods` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| jump_url | string | 跳转 URL | 一般与根对象下的 `jump_url` 相同 | +| type | number | `1` | | + +**示例:** + +<details> +<summary>查看示例:</summary> + +```json +{ + "goods": { + "jump_url": "https://s.click.taobao.com/t?e=m%3D2%26s%3DhRVW5Ol4GrZw4vFB6t2Z2ueEDrYVVa64XoO8tOebS%2BdRAdhuF14FMcvdLjw%2BYA8F1aH1Hk3GeOgLhuv3v%2BUO0FVeaszYyErWfp5XqHpg%2Bfwn9kK7XrZu6WxZ8BPtnRZfqGXK58Jc1%2BhtJfOipEYQaSY0lFm97JITUXK%2FCnFktAT05J9EjZ4Cg6Q6sZp7gNLmb4%2BNtrBbTSxr7mxbAs%2BuXGY7X5f4YTwUTi8eJkfcZdQxNgzykgJnxNGRxz%2FytfH1UnsQ1Sg4FG%2Fgk553RHFro7zDM6tzzB%2FwUFU78FEla0%2F6liDBUuxx%2BfRWY0eqeyPKGJZJ34Yh7cK34L0nA6HzjPrdYgTMW7Qubh8ReVU%2F9k2Huec2Q%2B1T%2BJwkZZwMWMdb2FGsw09L73Dq%2F8VFknkEdmd1Il7G%2BufOO%2FbGmELtDp4hhQs2DjqgEA%3D%3D&union_lens=lensId:TAPI@1674460806@212ccf35_0bed_185dda43d7a_a840@01", + "type": 1 + }, + "icon_name": "taobao", + "jump_url": "https://s.click.taobao.com/t?e=m%3D2%26s%3DhRVW5Ol4GrZw4vFB6t2Z2ueEDrYVVa64XoO8tOebS%2BdRAdhuF14FMcvdLjw%2BYA8F1aH1Hk3GeOgLhuv3v%2BUO0FVeaszYyErWfp5XqHpg%2Bfwn9kK7XrZu6WxZ8BPtnRZfqGXK58Jc1%2BhtJfOipEYQaSY0lFm97JITUXK%2FCnFktAT05J9EjZ4Cg6Q6sZp7gNLmb4%2BNtrBbTSxr7mxbAs%2BuXGY7X5f4YTwUTi8eJkfcZdQxNgzykgJnxNGRxz%2FytfH1UnsQ1Sg4FG%2Fgk553RHFro7zDM6tzzB%2FwUFU78FEla0%2F6liDBUuxx%2BfRWY0eqeyPKGJZJ34Yh7cK34L0nA6HzjPrdYgTMW7Qubh8ReVU%2F9k2Huec2Q%2B1T%2BJwkZZwMWMdb2FGsw09L73Dq%2F8VFknkEdmd1Il7G%2BufOO%2FbGmELtDp4hhQs2DjqgEA%3D%3D&union_lens=lensId:TAPI@1674460806@212ccf35_0bed_185dda43d7a_a840@01", + "orig_text": "​啊脑袋周边抱枕", + "rid": "688066082845462528", + "text": "​啊脑袋周边抱枕", + "type": "RICH_TEXT_NODE_TYPE_GOODS" +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-06-26T07:02:47.615135239Z --> + +### RICH_TEXT_NODE_TYPE_BV + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| jump_url | string | 跳转 URL | | +| orig_text | string | 原始文本 | | +| rid | string | 视频 bvid | | +| text | string | 显示文本 | 视频标题 | +| type | string | `RICH_TEXT_NODE_TYPE_BV` | | + +**示例:** + +<details> +<summary>查看示例:</summary> + +```json +{ + "jump_url": "https://www.bilibili.com/video/BV1xx411c7mD/", + "orig_text": "https://www.bilibili.com/video/BV1xx411c7mD/", + "rid": "BV1xx411c7mD", + "text": "字幕君交流场所", + "type": "RICH_TEXT_NODE_TYPE_BV" +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-06-26T08:32:48.72598344Z --> + +### RICH_TEXT_NODE_TYPE_EMOJI + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| emoji | object | 表情信息 | | +| orig_text | string | 原始文本 | | +| text | string | 显示文本 | 一般与 `orig_text` 一致 | +| type | string | `RICH_TEXT_NODE_TYPE_EMOJI` | | + +`emoji` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| icon_url | string | 表情图片 URL | | +| size | number | 表情尺寸 | 1: small<br />2: middle | +| text | string | 表情的文字代码 | 一般与根对象的 `text` 一致 | +| type | number | 表情类型 | `1` `2` `3` | + +**示例:** + +<details> +<summary>查看示例:</summary> + +```json +{ + "emoji": { + "icon_url": "https://i0.hdslb.com/bfs/emote/5ce649d5f716566db41dbf68c2e319517516d321.png", + "size": 2, + "text": "[热词系列_干杯]", + "type": 1 + }, + "orig_text": "[热词系列_干杯]", + "text": "[热词系列_干杯]", + "type": "RICH_TEXT_NODE_TYPE_EMOJI" +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-06-26T08:55:14.905420218Z --> + +### RICH_TEXT_NODE_TYPE_CV + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| jump_url | string | 跳转 URL | 无协议名 | +| orig_text | string | 原始文本 | | +| rid | string | 专栏 CV 号 | | +| text | string | 显示文本 | | +| type | string | `RICH_TEXT_NODE_TYPE_CV` | | + +**示例:** + +<details> +<summary>查看示例:</summary> + +```json +{ + "jump_url": "//www.bilibili.com/read/cv1/", + "orig_text": "1", + "rid": "1", + "text": "未知的光", + "type": "RICH_TEXT_NODE_TYPE_CV" +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-07-07T14:41:24.567461392Z --> + +### RICH_TEXT_NODE_TYPE_VIEW_PICTURE + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| jump_url | string | | | +| orig_text | string | 原始文本 | | +| pics | object[] | 图片信息 | | +| rid | string | 本条动态 id | | +| text | string | 显示文本 | 一般与 `orig_text` 一致 | +| type | string | `RICH_TEXT_NODE_TYPE_VIEW_PICTURE ` | | + +`pics[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| height | number | 高度 | | +| size | number | 大小? | 单位为 K | +| src | string | 图片 URL | | +| width | number | 宽度 | | + +**示例:** + +<details> +<summary>查看示例:</summary> + +```json +{ + "jump_url": "//www.bilibili.com/read/cv/", + "orig_text": "查看图片", + "pics": [ + { + "height": 4000, + "size": 4218.501, + "src": "http://i0.hdslb.com/bfs/new_dyn/d13a5793f7101824e9c9181ebc4df1a936081646.png", + "width": 6411 + } + ], + "rid": "1069394178937454662", + "text": "查看图片", + "type": "RICH_TEXT_NODE_TYPE_VIEW_PICTURE" +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-07-07T14:46:47.413456738Z --> + +### RICH_TEXT_NODE_TYPE_WEB + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| jump_url | string | 跳转 URL | | +| orig_text | string | 原始文本 | | +| style | object \| null | 样式信息 | | +| text | string | 显示文本 | | +| type | string | `RICH_TEXT_NODE_TYPE_WEB` | | + +`style` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| font_level | string | 字体等级 | `regular` | +| font_size | number | 字体大小 | `17` | + +**示例:** + +<details> +<summary>查看示例:</summary> + +```json +{ + "jump_url": "https://api.bilibili.com/x/web-interface/nav", + "orig_text": "https://api.bilibili.com/x/web-interface/nav", + "style": { + "font_level": "regular", + "font_size": 17 + }, + "text": "网页链接", + "type": "RICH_TEXT_NODE_TYPE_WEB" +} +``` + +```json +{ + "jump_url": "//www.bilibili.com/video/av1", + "orig_text": "//www.bilibili.com/video/av1", + "style": null, + "text": "av1", + "type": "RICH_TEXT_NODE_TYPE_WEB" +} +``` + +</details> + +<!-- Generated by json-apidoc-gen @ 2025-07-07T14:55:11.26399889Z --> + +### RICH_TEXT_NODE_TYPE_OGV_SEASON + +参考 [RICH_TEXT_NODE_TYPE_BV](#rich-text-node-type-bv) + +### RICH_TEXT_NODE_TYPE_OGV_EP + +参考 [RICH_TEXT_NODE_TYPE_BV](#rich-text-node-type-bv) + +### RICH_TEXT_NODE_TYPE_AV + +参考 [RICH_TEXT_NODE_TYPE_BV](#rich-text-node-type-bv) diff --git a/docs/opus/space.md b/docs/opus/space.md new file mode 100644 index 0000000..56efa15 --- /dev/null +++ b/docs/opus/space.md @@ -0,0 +1,356 @@ +## 空间图文 + +## 获取用户空间图文 + +> https://api.bilibili.com/x/polymer/web-dynamic/v1/opus/feed/space + +*请求方法: GET* + +注: 该接口**只能**获取图文信息, 无法获取如转发动态一类的内容, 如需获取参见 [获取用户空间动态](docs/dynamic/space.md) + +**URL 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------- | ------ | ---- | ------ | ---- | +| host_mid | number | 被获取用户的 mid (UID) | 必要 | | +| page | number | 假装自己是分页信息 | 不必要 | 以 `1` 开始 | +| offset | number | 偏移信息 | 不必要 | 上一次返回的 `offset` (同时也是最后一条的 opus id), 默认为空 | +| type | string | 类型 | 不必要 | all: 全部 (默认)<br />article: 专栏<br />dynamic: 动态 | +| web_location | string | `333.1387` | 不必要 | | +| w_rid | string | WBI 签名 | 不必要 | 参见 [WBI 签名](../misc/sign/wbi.md) | +| wts | number | UNIX 秒级时间戳 | 不必要 | 参见 [WBI 签名](../misc/sign/wbi.md) | + +**JSON 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| code | number | 返回值 | 0: 成功 | +| data | object | 数据本体 | | +| message | string | 错误信息 | 成功时为 `0` | +| ttl | number | `1` | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| has_more | boolean | 是否还有更多 | | +| items | object[] | 信息本体 | | +| offset | string | 偏移信息 | 下次翻页请求时传入的 `offest` (同时也是最后一条的 opus id) | +| update_num | number | 更新数? | 0 | + +`data.items[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| content | string | 文本内容 | | +| cover | object? | 封面信息 | | +| jump_url | string | 跳转 URL | | +| opus_id | string | opus id | | +| stat | object | 统计信息 | | + +`data.items[].cover` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| height | number | 高度 | | +| url | string | 图片 URL | | +| width | number | 宽度 | | + +`data.items[].stat` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| like | string | 点赞数 | 是个字符串 | +| view | string | 浏览数 | 仅当获取登录状态下获取自己的时才存在, 也是个字符串 | + +**示例:** + +获取 `645769214` 空间的最近几条全部图文 + +```shell +curl 'https://api.bilibili.com/x/polymer/web-dynamic/v1/opus/feed/space' \ +--url-query 'host_mid=645769214' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "data": { + "has_more": true, + "items": [ + { + "content": "我在 Google I/O 2025 的 puzzle 取得了获胜的优异成绩, 你也来试试吧", + "cover": { + "height": 1640, + "url": "http://i0.hdslb.com/bfs/new_dyn/a48c47c07bf19f07c01b489eb6b42e63645769214.jpg", + "width": 720 + }, + "jump_url": "//www.bilibili.com/opus/1057955152016703512", + "opus_id": "1057955152016703512", + "stat": { + "like": "1" + } + }, + { + "content": "通过 DevTools 绕过 SSR 抓包某站专栏正文接口", + "cover": { + "height": 430, + "url": "http://i0.hdslb.com/bfs/article/9071997152b6fec0ae465fe2a86b580e645769214.jpg", + "width": 768 + }, + "jump_url": "//www.bilibili.com/opus/1056353752004427792", + "opus_id": "1056353752004427792", + "stat": { + "like": "3" + } + }, + { + "content": "今天也是看上 Minecraft 大电影 了, 看的人几乎没有, 虽然看的是中配, 总体上感觉剧情有趣甚至有点小感动, 音乐也感觉不错, 价格也实惠", + "cover": { + "height": 4080, + "url": "http://i0.hdslb.com/bfs/new_dyn/408d4e2b2ad8df6873c303cf26f571db645769214.jpg", + "width": 3060 + }, + "jump_url": "//www.bilibili.com/opus/1052711525276450824", + "opus_id": "1052711525276450824", + "stat": { + "like": "3" + } + }, + { + "content": "糟了没注意, 自己成小丑了", + "cover": { + "height": 1640, + "url": "http://i0.hdslb.com/bfs/new_dyn/6ebb3894cfab53966d6e440e4f5a905d645769214.jpg", + "width": 720 + }, + "jump_url": "//www.bilibili.com/opus/1051313732437671938", + "opus_id": "1051313732437671938", + "stat": { + "like": "3" + } + }, + { + "content": "好消息, 我免费了, 想玩的随时联系\nhttps://t.me/c/2148747379/77", + "cover": { + "height": 720, + "url": "http://i0.hdslb.com/bfs/new_dyn/fbc2b38406099df0bdaea47d08daa6f1645769214.jpg", + "width": 1640 + }, + "jump_url": "//www.bilibili.com/opus/1050579658107518984", + "opus_id": "1050579658107518984", + "stat": { + "like": "2" + } + }, + { + "content": "认真的, 我的 Linux 发行版是 Android", + "cover": { + "height": 1080, + "url": "http://i0.hdslb.com/bfs/new_dyn/3e512d84361323c319f79061d2f078d1645769214.jpg", + "width": 1440 + }, + "jump_url": "//www.bilibili.com/opus/1032607998809210903", + "opus_id": "1032607998809210903", + "stat": { + "like": "8" + } + }, + { + "content": "于学校机房启动 QEMU 珍贵影像", + "cover": { + "height": 1080, + "url": "http://i0.hdslb.com/bfs/new_dyn/2fdc7524449b029f8baf241d94663256645769214.jpg", + "width": 1440 + }, + "jump_url": "//www.bilibili.com/opus/993403941079220225", + "opus_id": "993403941079220225", + "stat": { + "like": "3" + } + }, + { + "content": "BAC 正处于历史以来最困难的时期 - 中秋考古有感", + "cover": { + "height": 188, + "url": "https://i0.hdslb.com/bfs/article/0c9b5e20356e07f89a8bb7769fef8eeb645769214.jpg", + "width": 640 + }, + "jump_url": "//www.bilibili.com/opus/985444108243828741", + "opus_id": "985444108243828741", + "stat": { + "like": "7" + } + }, + { + "content": "发送文件到手机的 N 种正确姿势", + "cover": { + "height": 420, + "url": "http://i0.hdslb.com/bfs/article/56a4024abebf7ed1166a1d247bb5cf64645769214.jpg", + "width": 750 + }, + "jump_url": "//www.bilibili.com/opus/971804623539011587", + "opus_id": "971804623539011587", + "stat": { + "like": "8" + } + }, + { + "content": "我在朝鲜?", + "cover": { + "height": 468, + "url": "http://i0.hdslb.com/bfs/new_dyn/ea12cca6abd75fe3fb5ad1abd1f347d3645769214.png", + "width": 474 + }, + "jump_url": "//www.bilibili.com/opus/971255284349534210", + "opus_id": "971255284349534210", + "stat": { + "like": "5" + } + }, + { + "content": "一周没上 B 站就 99+ 了?", + "cover": { + "height": 284, + "url": "http://i0.hdslb.com/bfs/new_dyn/9e3b889fd2dc75e9bae38a13e55fee26645769214.png", + "width": 165 + }, + "jump_url": "//www.bilibili.com/opus/970197833343827970", + "opus_id": "970197833343827970", + "stat": { + "like": "6" + } + }, + { + "content": "今天因为Linux被骂, 决定放弃支持 Windows. 而且明天要开始军训了, 将停更若干时间, 遂发此动态, 望不知.", + "cover": { + "height": 1080, + "url": "http://i0.hdslb.com/bfs/new_dyn/0f6f939334104ddc347566514fa4bfa7645769214.jpg", + "width": 1440 + }, + "jump_url": "//www.bilibili.com/opus/967717348014293017", + "opus_id": "967717348014293017", + "stat": { + "like": "73" + } + }, + { + "content": "我的萌ICP备案通过了!", + "cover": { + "height": 2712, + "url": "http://i0.hdslb.com/bfs/new_dyn/0a9bb3e82bbefe499b10b7fd02f2a4f4645769214.jpg", + "width": 1220 + }, + "jump_url": "//www.bilibili.com/opus/956241611959828547", + "opus_id": "956241611959828547", + "stat": { + "like": "1" + } + }, + { + "content": "新年第一个AP", + "cover": { + "height": 1220, + "url": "https://album.biliimg.com/bfs/new_dyn/ea5a39d37a4a1f20f32b25bfed466004645769214.jpg", + "width": 2712 + }, + "jump_url": "//www.bilibili.com/opus/896448108088524805", + "opus_id": "896448108088524805", + "stat": { + "like": "1" + } + }, + { + "content": "新年快乐?", + "cover": { + "height": 605, + "url": "https://album.biliimg.com/bfs/new_dyn/dab5d3e2ff03027215e5bfd4933abe45645769214.jpg", + "width": 1220 + }, + "jump_url": "//www.bilibili.com/opus/896342627995090966", + "opus_id": "896342627995090966", + "stat": { + "like": "1" + } + }, + { + "content": "我回苏州了", + "cover": { + "height": 1280, + "url": "https://album.biliimg.com/bfs/new_dyn/65c880f64997fab0c79527649d7fbe1b645769214.png", + "width": 720 + }, + "jump_url": "//www.bilibili.com/opus/831507996405137432", + "opus_id": "831507996405137432", + "stat": { + "like": "1" + } + }, + { + "content": "Phigros RKS 12 纪念", + "cover": { + "height": 720, + "url": "https://album.biliimg.com/bfs/new_dyn/dab03003aee2166987428857acbf4ffb645769214.png", + "width": 1280 + }, + "jump_url": "//www.bilibili.com/opus/830690195959447605", + "opus_id": "830690195959447605", + "stat": { + "like": "0" + } + }, + { + "content": "现在知道B站推荐机制有多烂了吧", + "cover": { + "height": 1280, + "url": "https://album.biliimg.com/bfs/new_dyn/05a5f769bed2705d2c8c3c69f60441df645769214.png", + "width": 720 + }, + "jump_url": "//www.bilibili.com/opus/829284474633060387", + "opus_id": "829284474633060387", + "stat": { + "like": "0" + } + }, + { + "content": "求证: B站创始人们的成分\n证: [图片]", + "cover": { + "height": 1600, + "url": "https://album.biliimg.com/bfs/new_dyn/830a9bbc3d5179a6d33af97e5baac7c8645769214.jpg", + "width": 720 + }, + "jump_url": "//www.bilibili.com/opus/828071498582327315", + "opus_id": "828071498582327315", + "stat": { + "like": "1" + } + }, + { + "content": "如果排除掉可能的误差, 14=12.", + "cover": { + "height": 720, + "url": "https://album.biliimg.com/bfs/new_dyn/79823dd0b617af6fc71126d6e042de3f645769214.png", + "width": 1280 + }, + "jump_url": "//www.bilibili.com/opus/827727935543705620", + "opus_id": "827727935543705620", + "stat": { + "like": "1" + } + } + ], + "offset": "827727935543705620", + "update_num": 0 + }, + "message": "0", + "ttl": 1 +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-05-01T00:59:41.402217612Z --> diff --git a/docs/user/batch.md b/docs/user/batch.md new file mode 100644 index 0000000..98953e9 --- /dev/null +++ b/docs/user/batch.md @@ -0,0 +1,85 @@ +# 批量查询 + +## 用户名查 mid + +### 动态 + +> https://api.bilibili.com/x/polymer/web-dynamic/v1/name-to-uid + +*请求方法: GET* + +认证方式: Cookie (SESSDATA) + +<!-- from #1300 --> + +**URL 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ------ | ------ | ------ | ---- | +| names | string | 用户名 | 必要 | 多个用户名以 `,` 分隔 | + +**JSON 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| code | number | 返回值 | 0: 成功<br />-101: 账号未登录<br />-400: 请求错误 | +| data | object | 数据本体 | | +| message | string | 错误信息 | 成功时为 `0` | +| ttl | number | `1` | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| uid_list | object[] | UID 列表 | 套了个娃 | + +`data.uid_list[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| name | string | 用户名 | | +| uid | string | mid (UID) | | + +**示例:** + +```shell +curl -G 'https://api.bilibili.com/x/polymer/web-dynamic/v1/name-to-uid' \ +--url-query 'names=社会易姐qwq,session小胡,陈睿,洛天依' \ +-b 'SESSDATA=xxx' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "data": { + "uid_list": [ + { + "name": "社会易姐QwQ", + "uid": "293793435" + }, + { + "name": "陈睿", + "uid": "208259" + }, + { + "name": "Session小胡", + "uid": "645769214" + }, + { + "name": "洛天依", + "uid": "36081646" + } + ] + }, + "message": "0", + "ttl": 1 +} +``` +</details> + +<!-- Generated by json-apidoc-gen @ 2025-07-20T07:26:44.13468349Z --> diff --git a/docs/user/contract.md b/docs/user/contract.md index 7080164..ec4d110 100644 --- a/docs/user/contract.md +++ b/docs/user/contract.md @@ -36,8 +36,8 @@ | 字段名 | 类型 | 内容 | 备注 | |---------------|------|-----------------------------------|-----| | allow_message | bool | `true` | | -| input_text | str | `UP主加油!看好你噢` | | -| input_title | str | `感谢你对UP主的特别支持,“老粉”可期!私信留言鼓励下TA吧 ` | | +| input_text | str | `UP主加油!看好你噢~` | | +| input_title | str | `感谢你对UP主的特别支持,“老粉”可期!私信留言鼓励下TA吧~ ` | | **示例:** @@ -59,8 +59,8 @@ curl --location --request POST 'https://api.bilibili.com/x/v1/contract/add_contr "ttl": 1, "data": { "allow_message": true, - "input_text": "UP主加油!看好你噢", - "input_title": "感谢你对UP主的特别支持,“老粉”可期!私信留言鼓励下TA吧 " + "input_text": "UP主加油!看好你噢~", + "input_title": "感谢你对UP主的特别支持,“老粉”可期!私信留言鼓励下TA吧~" } } ``` @@ -128,4 +128,4 @@ curl --location --request POST 'https://api.bilibili.com/x/v1/contract/add_messa } ``` -</details> \ No newline at end of file +</details> diff --git a/docs/user/info.md b/docs/user/info.md index 3532f1b..ead40b3 100644 --- a/docs/user/info.md +++ b/docs/user/info.md @@ -10,7 +10,7 @@ 认证方式:Cookie(SESSDATA) -鉴权方式:[Wbi 签名](../misc/sign/wbi.md), Cookie (对于某些 IP 地址,需要在 Cookie 中提供任意非空的 `buvid3` 字段) +鉴权方式:[Wbi 签名](../misc/sign/wbi.md), Cookie (包含 SESSDATA 与空值的总项数大于等于 3) ~~该接口的旧版 API :<https://api.bilibili.com/x/space/acc/info>~~(已废弃,不建议使用) @@ -26,56 +26,56 @@ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | --------------------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功<br />-400:请求错误<br />-403:访问权限不足<br />-404:用户不存在(如注销账号) | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | obj | 信息本体 | | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| ---------------- | ---- | ---------------- | ------------------------------------------------------------ | -| mid | num | mid | | -| name | str | 昵称 | | -| sex | str | 性别 | 男/女/保密 | -| face | str | 头像链接 | | -| face_nft | num | 是否为 NFT 头像 | 0:不是 NFT 头像<br />1:是 NFT 头像 | -| face_nft_type | num | NFT 头像类型? | | -| sign | str | 签名 | | -| rank | num | 用户权限等级 | 目前应该无任何作用<br/>5000:0级未答题<br/>10000:普通会员<br/>20000:字幕君<br/>25000:VIP<br/>30000:真·职人<br/>32000:管理员 | -| level | num | 当前等级 | 0-6 级 | -| jointime | num | 注册时间 | 此接口返回恒为`0` | -| moral | num | 节操值 | 此接口返回恒为`0` | -| silence | num | 封禁状态 | 0:正常<br />1:被封 | -| coins | num | 硬币数 | 需要登录(Cookie) <br />只能查看自己的<br />默认为`0` | -| fans_badge | bool | 是否具有粉丝勋章 | false:无<br />true:有 | -| fans_medal | obj | 粉丝勋章信息 | | -| official | obj | 认证信息 | | -| vip | obj | 会员信息 | | -| pendant | obj | 头像框信息 | | -| nameplate | obj | 勋章信息 | | -| user_honour_info | obj | (?) | | -| is_followed | bool | 是否关注此用户 | true:已关注<br />false:未关注<br />需要登录(Cookie) <br />未登录恒为`false` | -| top_photo | str | 主页头图链接 | | -| theme | obj | (?) | | -| sys_notice | obj | 系统通知 | 无内容则为空对象<br />主要用于展示如用户争议、纪念账号等等的小黄条 | -| live_room | obj | 直播间信息 | | -| birthday | str | 生日 | MM-DD<br />如设置隐私为空 | -| school | obj | 学校 | | -| profession | obj | 专业资质信息 | | -| tags | 有效时:array<br />无效时:null | 个人标签 | | -| series | obj | (?) | | -| is_senior_member | num | 是否为硬核会员 | 0:否<br />1:是 | -| mcn_info | null | (?) | | -| gaia_res_type | num | (?) | | -| gaia_data | null | (?) | | -| is_risk | bool | (?) | | -| elec | obj | 充电信息 | | -| contract | obj | 是否显示老粉计划 | | -| certificate_show | bool | (?) | | -| name_render | 有效时:obj<br />无效时:null | 昵称渲染信息 | | +| 字段 | 类型 | 内容 | 备注 | +| ---------------- | ------------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------- | +| mid | num | mid | | +| name | str | 昵称 | | +| sex | str | 性别 | 男/女/保密 | +| face | str | 头像链接 | | +| face_nft | num | 是否为 NFT 头像 | 0:不是 NFT 头像<br />1:是 NFT 头像 | +| face_nft_type | num | NFT 头像类型? | | +| sign | str | 签名 | | +| rank | num | 用户权限等级 | 目前应该无任何作用<br/>5000:0级未答题<br/>10000:普通会员<br/>20000:字幕君<br/>25000:VIP<br/>30000:真·职人<br/>32000:管理员 | +| level | num | 当前等级 | 0-6 级 | +| jointime | num | 注册时间 | 此接口返回恒为`0` | +| moral | num | 节操值 | 此接口返回恒为`0` | +| silence | num | 封禁状态 | 0:正常<br />1:被封 | +| coins | num | 硬币数 | 需要登录(Cookie) <br />只能查看自己的<br />默认为`0` | +| fans_badge | bool | 是否具有粉丝勋章 | false:无<br />true:有 | +| fans_medal | obj | 粉丝勋章信息 | | +| official | obj | 认证信息 | | +| vip | obj | 会员信息 | | +| pendant | obj | 头像框信息 | | +| nameplate | obj | 勋章信息 | | +| user_honour_info | obj | (?) | | +| is_followed | bool | 是否关注此用户 | true:已关注<br />false:未关注<br />需要登录(Cookie) <br />未登录恒为`false` | +| top_photo | str | 主页头图链接 | | +| theme | obj | (?) | | +| sys_notice | obj | 系统通知 | 无内容则为空对象<br />主要用于展示如用户争议、纪念账号等等的小黄条 | +| live_room | obj | 直播间信息 | | +| birthday | str | 生日 | MM-DD<br />如设置隐私为空 | +| school | obj | 学校 | | +| profession | obj | 专业资质信息 | | +| tags | 有效时:array<br />无效时:null | 个人标签 | | +| series | obj | (?) | | +| is_senior_member | num | 是否为硬核会员 | 0:否<br />1:是 | +| mcn_info | null | (?) | | +| gaia_res_type | num | (?) | | +| gaia_data | null | (?) | | +| is_risk | bool | (?) | | +| elec | obj | 充电信息 | | +| contract | obj | 是否显示老粉计划 | | +| certificate_show | bool | (?) | | +| name_render | 有效时:obj<br />无效时:null | 昵称渲染信息 | | `rank`示例 @@ -106,13 +106,13 @@ `profession`示例 -| UID | -| ---------- | -| 654391 | -| 1440295 | -| 1785155 | -| 2990100 | -| 3875803 | +| UID | +| ------- | +| 654391 | +| 1440295 | +| 1785155 | +| 2990100 | +| 3875803 | `data`中的`official`对象: @@ -125,44 +125,44 @@ `data`中的`vip`对象: -| 字段 | 类型 | 内容 | 备注 | -| -------------------- | ---- | ------------------ | ------------------------------------------------------------ | -| type | num | 会员类型 | 0:无<br />1:月大会员<br />2:年度及以上大会员 | -| status | num | 会员状态 | 0:无<br />1:有 | -| due_date | num | 会员过期时间 | 毫秒时间戳 | -| vip_pay_type | num | 支付类型 | 0:未开启自动续费<br />1:已开启自动续费 | -| theme_type | num | 0 | 作用尚不明确 | -| label | obj | 会员标签 | | -| avatar_subscript | num | 是否显示会员图标 | 0:不显示<br />1:显示 | -| nickname_color | str | 会员昵称颜色 | 颜色码,一般为`#FB7299`,曾用于愚人节改变大会员配色 | +| 字段 | 类型 | 内容 | 备注 | +| -------------------- | ---- | ------------------ | -------------------------------------------------------------------- | +| type | num | 会员类型 | 0:无<br />1:月大会员<br />2:年度及以上大会员 | +| status | num | 会员状态 | 0:无<br />1:有 | +| due_date | num | 会员过期时间 | 毫秒时间戳 | +| vip_pay_type | num | 支付类型 | 0:未开启自动续费<br />1:已开启自动续费 | +| theme_type | num | 0 | 作用尚不明确 | +| label | obj | 会员标签 | | +| avatar_subscript | num | 是否显示会员图标 | 0:不显示<br />1:显示 | +| nickname_color | str | 会员昵称颜色 | 颜色码,一般为`#FB7299`,曾用于愚人节改变大会员配色 | | role | num | 大角色类型 | 1:月度大会员<br/>3:年度大会员<br/>7:十年大会员<br/>15:百年大会员 | -| avatar_subscript_url | str | 大会员角标地址 | | -| tv_vip_status | num | 电视大会员状态 | 0:未开通 | -| tv_vip_pay_type | num | 电视大会员支付类型 | | -| tv_due_date | num | 电视大会员过期时间 | 秒级时间戳 | -| avatar_icon | obj | 大会员角标信息 | | +| avatar_subscript_url | str | 大会员角标地址 | | +| tv_vip_status | num | 电视大会员状态 | 0:未开通 | +| tv_vip_pay_type | num | 电视大会员支付类型 | | +| tv_due_date | num | 电视大会员过期时间 | 秒级时间戳 | +| avatar_icon | obj | 大会员角标信息 | | `vip`中的`label`对象: -| 字段 | 类型 | 内容 | 备注 | -|---------------------------|------|----------|------------------------------------------------------------------------------------------------------------------------------| -| path | str | 空 | 作用尚不明确 | -| text | str | 会员类型文案 | `大会员` `年度大会员` `十年大会员` `百年大会员` `最强绿鲤鱼` | -| label_theme | str | 会员标签 | vip:大会员<br />annual_vip:年度大会员<br />ten_annual_vip:十年大会员<br />hundred_annual_vip:百年大会员<br/>fools_day_hundred_annual_vip:最强绿鲤鱼 | -| text_color | str | 会员标签 | | -| bg_style | num | 1 | | -| bg_color | str | 会员标签背景颜色 | 颜色码,一般为`#FB7299`,曾用于愚人节改变大会员配色 | -| border_color | str | 会员标签边框颜色 | 未使用 | -| use_img_label | bool | `true` | | -| img_label_uri_hans | str | `空串` | | -| img_label_uri_hant | str | `空串` | | -| img_label_uri_hans_static | str | 大会员牌子图片 | 简体版 | -| img_label_uri_hant_static | str | 大会员牌子图片 | 繁体版 | +| 字段 | 类型 | 内容 | 备注 | +| ------------------------- | ---- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| path | str | 空 | 作用尚不明确 | +| text | str | 会员类型文案 | `大会员` `年度大会员` `十年大会员` `百年大会员` `最强绿鲤鱼` | +| label_theme | str | 会员标签 | vip:大会员<br />annual_vip:年度大会员<br />ten_annual_vip:十年大会员<br />hundred_annual_vip:百年大会员<br/>fools_day_hundred_annual_vip:最强绿鲤鱼 | +| text_color | str | 会员标签 | | +| bg_style | num | 1 | | +| bg_color | str | 会员标签背景颜色 | 颜色码,一般为`#FB7299`,曾用于愚人节改变大会员配色 | +| border_color | str | 会员标签边框颜色 | 未使用 | +| use_img_label | bool | `true` | | +| img_label_uri_hans | str | `空串` | | +| img_label_uri_hant | str | `空串` | | +| img_label_uri_hans_static | str | 大会员牌子图片 | 简体版 | +| img_label_uri_hant_static | str | 大会员牌子图片 | 繁体版 | `vip`中的`avatar_icon`对象: | 字段 | 类型 | 内容 | 备注 | -| ------------ | ---- | ------ | ------------ | +| ------------- | ---- | ------ | ------------ | | icon_type | num | (?) | 作用尚不明确 | | icon_resource | obj | (?) | 作用尚不明确 | @@ -195,117 +195,117 @@ `data`中的`fans_medal`对象: -| 字段 | 类型 | 内容 | 备注 | -|-------|------|-----------|-----| -| show | bool | | | -| wear | bool | 是否佩戴了粉丝勋章 | | -| medal | obj | 粉丝勋章信息 | | +| 字段 | 类型 | 内容 | 备注 | +| ----- | ---- | ------------------ | ---- | +| show | bool | | | +| wear | bool | 是否佩戴了粉丝勋章 | | +| medal | obj | 粉丝勋章信息 | | `fans_medal`中的`medal`对象: -| 字段 | 类型 | 内容 | 备注 | -|--------------------|-----|--------------|------------------| -| uid | num | 此用户mid | | -| target_id | num | 粉丝勋章所属UP的mid | | -| medal_id | num | 粉丝勋章id | | -| level | num | 粉丝勋章等级 | | -| medal_name | str | 粉丝勋章名称 | | -| medal_color | num | 颜色 | | -| intimacy | num | 当前亲密度 | | -| next_intimacy | num | 下一等级所需亲密度 | | -| day_limit | num | 每日亲密度获取上限 | | -| today_feed | num | 今日已获得亲密度 | | -| medal_color_start | num | 粉丝勋章颜色 | 十进制数,可转为十六进制颜色代码 | -| medal_color_end | num | 粉丝勋章颜色 | 十进制数,可转为十六进制颜色代码 | -| medal_color_border | num | 粉丝勋章边框颜色 | 十进制数,可转为十六进制颜色代码 | -| is_lighted | num | | | -| light_status | num | | | -| wearing_status | num | 当前是否佩戴 | 0:未佩戴<br />1:已佩戴 | -| score | num | | | +| 字段 | 类型 | 内容 | 备注 | +| ------------------ | ---- | ------------------- | -------------------------------- | +| uid | num | 此用户mid | | +| target_id | num | 粉丝勋章所属UP的mid | | +| medal_id | num | 粉丝勋章id | | +| level | num | 粉丝勋章等级 | | +| medal_name | str | 粉丝勋章名称 | | +| medal_color | num | 颜色 | | +| intimacy | num | 当前亲密度 | | +| next_intimacy | num | 下一等级所需亲密度 | | +| day_limit | num | 每日亲密度获取上限 | | +| today_feed | num | 今日已获得亲密度 | | +| medal_color_start | num | 粉丝勋章颜色 | 十进制数,可转为十六进制颜色代码 | +| medal_color_end | num | 粉丝勋章颜色 | 十进制数,可转为十六进制颜色代码 | +| medal_color_border | num | 粉丝勋章边框颜色 | 十进制数,可转为十六进制颜色代码 | +| is_lighted | num | | | +| light_status | num | | | +| wearing_status | num | 当前是否佩戴 | 0:未佩戴<br />1:已佩戴 | +| score | num | | | `data`中的`sys_notice`对象: -| 字段 | 类型 | 内容 | 备注 | -|-------------|-----|------|-----| -| id | num | id | | -| content | str | 显示文案 | | -| url | str | 跳转地址 | | -| notice_type | num | 提示类型 | 1,2 | -| icon | str | 前缀图标 | | -| text_color | str | 文字颜色 | | -| bg_color | str | 背景颜色 | | +| 字段 | 类型 | 内容 | 备注 | +| ----------- | ---- | -------- | ---- | +| id | num | id | | +| content | str | 显示文案 | | +| url | str | 跳转地址 | | +| notice_type | num | 提示类型 | 1,2 | +| icon | str | 前缀图标 | | +| text_color | str | 文字颜色 | | +| bg_color | str | 背景颜色 | | `sys_notice`示例 -| id | content | notice_type | 示例用户 | -|-----|-------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------| -| 5 | 该用户存在争议行为,已冻结其帐号功能的使用 | 1 || -| 8 | 该用户存在较大争议,请谨慎甄别其内容 | 1 | [28062215](https://space.bilibili.com/28062215) | -| 11 | 该账号涉及合约争议,暂冻结其账号功能使用。详见公告-> | 1 || -| 16 | 该UP主内容存在争议,请注意甄别视频内信息 | 1 | [382534165](https://space.bilibili.com/382534165) | -| 20 | 请允许我们在此献上最后的告别,以此纪念其在哔哩哔哩留下的回忆与足迹。请点此查看纪念账号相关说明 | 2 |[212535360](https://space.bilibili.com/212535360)| -|22| 该账号涉及合约诉讼,封禁其账号使用 | || -| 24 | 该账号涉及合约争议,暂冻结其账号功能使用 | 1 | [291229008](https://space.bilibili.com/291229008) | -| 25 | 该用户涉及严重指控,暂冻结其账号功能使用 | 1 | [81447581](https://space.bilibili.com/81447581) | -| 31 | 该用户涉及严重指控,暂冻结其账号功能使用 | 1 | [22439273](https://space.bilibili.com/22439273) | -| 34 | 该用户涉及严重指控,暂冻结其账号功能使用 | 1 | [1640486775](https://space.bilibili.com/1640486775) | -| 36 | 该账户存在争议,请谨慎甄别 | 1 || +| id | content | notice_type | 示例用户 | +| --- | ---------------------------------------------------------------------------------------------- | ----------- | --------------------------------------------------- | +| 5 | 该用户存在争议行为,已冻结其帐号功能的使用 | 1 | | +| 8 | 该用户存在较大争议,请谨慎甄别其内容 | 1 | [28062215](https://space.bilibili.com/28062215) | +| 11 | 该账号涉及合约争议,暂冻结其账号功能使用。详见公告-> | 1 | | +| 16 | 该UP主内容存在争议,请注意甄别视频内信息 | 1 | [382534165](https://space.bilibili.com/382534165) | +| 20 | 请允许我们在此献上最后的告别,以此纪念其在哔哩哔哩留下的回忆与足迹。请点此查看纪念账号相关说明 | 2 | [212535360](https://space.bilibili.com/212535360) | +| 22 | 该账号涉及合约诉讼,封禁其账号使用 | | | +| 24 | 该账号涉及合约争议,暂冻结其账号功能使用 | 1 | [291229008](https://space.bilibili.com/291229008) | +| 25 | 该用户涉及严重指控,暂冻结其账号功能使用 | 1 | [81447581](https://space.bilibili.com/81447581) | +| 31 | 该用户涉及严重指控,暂冻结其账号功能使用 | 1 | [22439273](https://space.bilibili.com/22439273) | +| 34 | 该用户涉及严重指控,暂冻结其账号功能使用 | 1 | [1640486775](https://space.bilibili.com/1640486775) | +| 36 | 该账户存在争议,请谨慎甄别 | 1 | | `data`中的`live_room`对象: -| 字段 | 类型 | 内容 | 备注 | -|----------------|-----|------------|------------------| -| roomStatus | num | 直播间状态 | 0:无房间<br />1:有房间 | -| liveStatus | num | 直播状态 | 0:未开播<br />1:直播中 | -| url | str | 直播间网页 url | | -| title | str | 直播间标题 | | -| cover | str | 直播间封面 url | | -| watched_show | obj | | | -| roomid | num | 直播间 id | | -| roundStatus | num | 轮播状态 | 0:未轮播<br />1:轮播 | -| broadcast_type | num | 0 | | +| 字段 | 类型 | 内容 | 备注 | +| -------------- | ---- | -------------- | ------------------------ | +| roomStatus | num | 直播间状态 | 0:无房间<br />1:有房间 | +| liveStatus | num | 直播状态 | 0:未开播<br />1:直播中 | +| url | str | 直播间网页 url | | +| title | str | 直播间标题 | | +| cover | str | 直播间封面 url | | +| watched_show | obj | | | +| roomid | num | 直播间 id | | +| roundStatus | num | 轮播状态 | 0:未轮播<br />1:轮播 | +| broadcast_type | num | 0 | | `live_room`中的`watched_show`对象: -| 字段 | 类型 | 内容 | 备注 | -|---------------|------|---------------------|-----| -| switch | bool | ? | | -| num | num | total watched users | | -| text_small | str | | | -| text_large | str | | | -| icon | str | watched icon url | | -| icon_location | str | ? | | -| icon_web | str | watched icon url | | +| 字段 | 类型 | 内容 | 备注 | +| ------------- | ---- | ------------------- | ---- | +| switch | bool | ? | | +| num | num | total watched users | | +| text_small | str | | | +| text_large | str | | | +| icon | str | watched icon url | | +| icon_location | str | ? | | +| icon_web | str | watched icon url | | `data`中的`school`对象: -| 字段 | 类型 | 内容 | 备注 | -|------|-----|--------|-------| -| name | str | 就读大学名称 | 没有则为空 | +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ------------ | ---------- | +| name | str | 就读大学名称 | 没有则为空 | `data`中的`profession`对象: -| 字段 | 类型 | 内容 | 备注 | -|------------|-----|------|----------------| -| name | str | 资质名称 | | -| department | str | 职位 | | -| title | str | 所属机构 | | -| is_show | num | 是否显示 | 0:不显示<br/>1:显示 | +| 字段 | 类型 | 内容 | 备注 | +| ---------- | ---- | -------- | --------------------- | +| name | str | 资质名称 | | +| department | str | 职位 | | +| title | str | 所属机构 | | +| is_show | num | 是否显示 | 0:不显示<br/>1:显示 | `data`中的`user_honour_info`对象: -| 字段 | 类型 | 内容 | 备注 | -|--------|-------|------|-----| -| mid | num | 0 | | -| colour | str | null | | -| tags | array | null | | +| 字段 | 类型 | 内容 | 备注 | +| ------ | ----- | ---- | ---- | +| mid | num | 0 | | +| colour | str | null | | +| tags | array | null | | `data`中的`series`对象: -| 字段 | 类型 | 内容 | 备注 | -|---------------------|------|-----|-----| -| user_upgrade_status | num | (?) | | -| show_upgrade_window | bool | (?) | | +| 字段 | 类型 | 内容 | 备注 | +| ------------------- | ---- | ---- | ---- | +| user_upgrade_status | num | (?) | | +| show_upgrade_window | bool | (?) | | `data`中的`elec`对象: @@ -315,20 +315,20 @@ `elec`中的`show_info`对象: -| 字段 | 类型 | 内容 | 备注 | -| -------- | ---- | ---------------- | ---------------- | -| show | bool | 是否显示充电按钮 | | +| 字段 | 类型 | 内容 | 备注 | +| -------- | ---- | ---------------- | ------------------------------------------------------------------------------------------------------------- | +| show | bool | 是否显示充电按钮 | | | state | num | 充电功能开启状态 | -1:未开通充电功能<br />1:已开通自定义充电<br />2:已开通包月、自定义充电<br />3:已开通包月高档、自定义充电 | -| title | str | 充电按钮显示文字 | 空字符串或 `充电` 或 `充电中` | -| icon | str | 充电图标 | | -| jump_url | str | 跳转url | | +| title | str | 充电按钮显示文字 | 空字符串或 `充电` 或 `充电中` | +| icon | str | 充电图标 | | +| jump_url | str | 跳转url | | `data`中的`contract`对象: -| 字段名 | 类型 | 内容 | 备注 | -|-------------------|------|-----------|---------------------------| -| is_display | bool | | true/false<br/>在页面中未使用此字段 | -| is_follow_display | bool | 是否在显示老粉计划 | true:显示<br/>false:不显示 | +| 字段名 | 类型 | 内容 | 备注 | +| ----------------- | ---- | ------------------ | ----------------------------------- | +| is_display | bool | | true/false<br/>在页面中未使用此字段 | +| is_follow_display | bool | 是否在显示老粉计划 | true:显示<br/>false:不显示 | **示例:** @@ -339,7 +339,8 @@ curl -G 'https://api.bilibili.com/x/space/wbi/acc/info' \ --data-urlencode 'mid=2' \ --data-urlencode 'wts=1685070149' \ --data-urlencode 'w_rid=f7b376124782ae8cb42c56fdd69144ed' \ - -b 'SESSDATA=xxx' + -b 'SESSDATA=xxx ;a= ; b=' \ + -A 'Mozilla/9.0 (X11; qwq)' ``` <details> @@ -540,43 +541,43 @@ curl -G 'https://api.bilibili.com/x/space/wbi/acc/info' \ `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| ------------- | ----- | -------------- | ------------------------------------------------------------ | -| card | obj | 卡片信息 | | -| following | bool | 是否关注此用户 | true:已关注<br />false:未关注<br />需要登录(Cookie)<br />未登录为false | -| archive_count | num | 用户稿件数 | | -| article_count | num | 0 | **作用尚不明确** | -| follower | num | 粉丝数 | | -| like_num | num | 点赞数 | | +| 字段 | 类型 | 内容 | 备注 | +| ------------- | ---- | -------------- | ------------------------------------------------------------------------ | +| card | obj | 卡片信息 | | +| following | bool | 是否关注此用户 | true:已关注<br />false:未关注<br />需要登录(Cookie)<br />未登录为false | +| archive_count | num | 用户稿件数 | | +| article_count | num | 0 | **作用尚不明确** | +| follower | num | 粉丝数 | | +| like_num | num | 点赞数 | | `data`中的`card`对象: -| 字段 | 类型 | 内容 | 备注 | -| --------------- | ----- | -------------- | ------------------------------------------------------------ | -| mid | str | 用户mid | | -| approve | bool | false | **作用尚不明确** | -| name | str | 用户昵称 | | -| sex | str | 用户性别 | 男 女 保密 | -| face | str | 用户头像链接 | | -| DisplayRank | str | 0 | **作用尚不明确** | -| regtime | num | 0 | **作用尚不明确** | -| spacesta | num | 用户状态 | 0:正常<br />-2:被封禁 | -| birthday | str | 空 | **作用尚不明确** | -| place | str | 空 | **作用尚不明确** | -| description | str | 空 | **作用尚不明确** | -| article | num | 0 | **作用尚不明确** | -| attentions | array | 空 | **作用尚不明确** | -| fans | num | 粉丝数 | | -| friend | num | 关注数 | | -| attention | num | 关注数 | | -| sign | str | 签名 | | -| level_info | obj | 等级 | | -| pendant | obj | 挂件 | | -| nameplate | obj | 勋章 | | -| Official | obj | 认证信息 | | -| official_verify | obj | 认证信息2 | | -| vip | obj | 大会员状态 | | -| space | obj | 主页头图 | | +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ----- | ------------ | ----------------------- | +| mid | str | 用户mid | | +| approve | bool | false | **作用尚不明确** | +| name | str | 用户昵称 | | +| sex | str | 用户性别 | 男 女 保密 | +| face | str | 用户头像链接 | | +| DisplayRank | str | 0 | **作用尚不明确** | +| regtime | num | 0 | **作用尚不明确** | +| spacesta | num | 用户状态 | 0:正常<br />-2:被封禁 | +| birthday | str | 空 | **作用尚不明确** | +| place | str | 空 | **作用尚不明确** | +| description | str | 空 | **作用尚不明确** | +| article | num | 0 | **作用尚不明确** | +| attentions | array | 空 | **作用尚不明确** | +| fans | num | 粉丝数 | | +| friend | num | 关注数 | | +| attention | num | 关注数 | | +| sign | str | 签名 | | +| level_info | obj | 等级 | | +| pendant | obj | 挂件 | | +| nameplate | obj | 勋章 | | +| Official | obj | 认证信息 | | +| official_verify | obj | 认证信息2 | | +| vip | obj | 大会员状态 | | +| space | obj | 主页头图 | | `card`中的`level_info`对象: @@ -799,7 +800,7 @@ curl -G 'https://api.bilibili.com/x/web-interface/card' \ | ---------------- | ---- | ---------------- | ----------------------------------------------- | | type | num | 会员类型 | 0:无<br />1:月大会员<br />2:年度及以上大会员 | | status | num | 会员状态 | 0:无<br />1:有 | -| due_date | num | 会员过期时间 | Unix时间戳(毫秒) | +| due_date | num | 会员过期时间 | Unix时间戳(毫秒) | | theme_type | num | 0 | 作用尚不明确 | | label | obj | 会员标签 | | | avatar_subscript | num | 是否显示会员图标 | 0:不显示<br />1:显示 | @@ -807,10 +808,10 @@ curl -G 'https://api.bilibili.com/x/web-interface/card' \ `vip`中的`label`对象: -| 字段 | 类型 | 内容 | 备注 | -| ----------- | ---- | -------- | ------------------------------------------------------------ | -| path | str | 空 | 作用尚不明确 | -| text | str | 会员名称 | | +| 字段 | 类型 | 内容 | 备注 | +| ----------- | ---- | -------- | ----------------------------------------------------------------------------------------------------------- | +| path | str | 空 | 作用尚不明确 | +| text | str | 会员名称 | | | label_theme | str | 会员标签 | vip:大会员<br />annual_vip:年度大会员<br />ten_annual_vip:十年大会员<br />hundred_annual_vip:百年大会员 | `data`中的`pendant`对象: @@ -835,20 +836,20 @@ curl -G 'https://api.bilibili.com/x/web-interface/card' \ `data`中的`Official`对象: -| 字段 | 类型 | 内容 | 备注 | -| ----- | ---- | -------- | ------------------------------------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ----- | ---- | -------- | -------------------------------------- | | role | num | 认证类型 | 见[用户认证类型一览](official_role.md) | -| title | str | 认证信息 | 无为空 | -| desc | str | 认证备注 | 无为空 | -| type | num | 是否认证 | -1:无<br />0:认证 | +| title | str | 认证信息 | 无为空 | +| desc | str | 认证备注 | 无为空 | +| type | num | 是否认证 | -1:无<br />0:认证 | `data`中的`level_exp`对象: -| 字段 | 类型 | 内容 | 备注 | -| ------------- | ---- | -------- | ---------------- | -| current_level | num | 当前等级 | 0-6级 | -| current_min | num | 0 | 指当前等级从多少经验值开始 | -| current_exp | num | 0 | 当前账户的经验值 | +| 字段 | 类型 | 内容 | 备注 | +| ------------- | ---- | -------- | ------------------------------------------ | +| current_level | num | 当前等级 | 0-6级 | +| current_min | num | 0 | 指当前等级从多少经验值开始 | +| current_exp | num | 0 | 当前账户的经验值 | | next_exp | num | 0 | 下一个等级所需的经验值**(不是还需要多少)** | **示例:** @@ -959,38 +960,38 @@ curl -G 'https://api.bilibili.com/x/space/myinfo' \ **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ----------------- | ------ | ---------------------------------- | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ----------------- | ------ | --------------------------------- | | uids | nums | 目标用户的mid列表 | 必要 | 每个成员间用`,`分隔,最多50个成员 | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ----- | -------- | -------------------------------------------------------- | -| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-400:请求错误<br />40143:批量大小超过限制 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | obj | 信息本体 | 用户信息随机排序 | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------------------------ | +| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-400:请求错误<br />40143:批量大小超过限制 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | 用户信息随机排序 | `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| --------- | ---- | ----------------------- | ---- | -| {用户mid} | obj | 该mid对应的用户信息 | | -| …… | obj | …… | …… | +| 字段 | 类型 | 内容 | 备注 | +| --------- | ---- | ------------------- | ---- | +| {用户mid} | obj | 该mid对应的用户信息 | | +| …… | obj | …… | …… | `data`中的`{用户mid}`对象: -| 字段 | 类型 | 内容 | 备注 | -| ------------ | ---- | ------------------- | -------------------- | -| mid | str | mid | | -| face | str | 头像链接 | | -| name | str | 昵称 | | -| official | obj | 认证信息 | 基本同「[用户空间详细信息](#用户空间详细信息)」中的 `data.official` 对象 | -| vip | obj | 会员信息 | 基本同「[用户空间详细信息](#用户空间详细信息)」中的 `data.vip` 对象,其中有些类型为 `num` 的字段在本接口中类型为 `str` | -| name_render | 有效时:obj<br />无效时:null | 昵称渲染信息 | | +| 字段 | 类型 | 内容 | 备注 | +| ----------- | ----------------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------- | +| mid | str | mid | | +| face | str | 头像链接 | | +| name | str | 昵称 | | +| official | obj | 认证信息 | 基本同「[用户空间详细信息](#用户空间详细信息)」中的 `data.official` 对象 | +| vip | obj | 会员信息 | 基本同「[用户空间详细信息](#用户空间详细信息)」中的 `data.vip` 对象,其中有些类型为 `num` 的字段在本接口中类型为 `str` | +| name_render | 有效时:obj<br />无效时:null | 昵称渲染信息 | | `{用户mid}`中的`name_render`对象: @@ -1008,18 +1009,18 @@ curl -G 'https://api.bilibili.com/x/space/myinfo' \ `color`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------- | ---- | -| 0 | obj | 颜色1 | | -| n | obj | 颜色(n+1) | | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | --------- | ---- | +| 0 | obj | 颜色1 | | +| n | obj | 颜色(n+1) | | +| …… | obj | …… | …… | `color`数组中的对象: -| 字段 | 类型 | 内容 | 备注 | -| ----------- | ---- | ---------------- | ---------------- | -| color_day | str | 浅色模式昵称颜色 | HEX颜色代码 | -| color_night | str | 深色模式昵称颜色 | HEX颜色代码 | +| 字段 | 类型 | 内容 | 备注 | +| ----------- | ---- | ---------------- | ----------- | +| color_day | str | 浅色模式昵称颜色 | HEX颜色代码 | +| color_night | str | 深色模式昵称颜色 | HEX颜色代码 | **示例:** @@ -1173,32 +1174,13 @@ curl -G 'https://api.bilibili.com/x/polymer/pc-electron/v1/user/cards' \ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ----- | -------- | --------------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ----- | -------- | ------------------------------------------------- | | code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-400:请求错误 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | array | 信息本体 | 用户信息随机排序 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | array | 信息本体 | 用户信息随机排序 | -`data`数组: - -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------- | ---- | -| 0 | obj | 用户1 | | -| n | obj | 用户(n+1) | | -| …… | obj | …… | …… | - -`data`数组中的对象: - -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | ------------ | -------------------- | -| mid | num | mid | | -| name | str | 昵称 | | -| face | str | 头像链接 | | -| sign | str | 签名 | | -| rank | num | 用户权限等级 | | -| level | num | 当前等级 | 0-6 级 | -| silence | num | 封禁状态 | 0:正常<br />1:被封 | **示例:** @@ -1250,3 +1232,546 @@ curl -G 'https://api.vc.bilibili.com/account/v1/user/cards' \ ``` </details> + +## 多用户详细信息3 + +> https://api.vc.bilibili.com/x/im/user_infos + +*请求方式:GET* + +认证方式:Cookie(SESSDATA) + + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ----------------- | ------ | ------------------- | +| uids | nums | 目标用户的mid列表 | 必要 | 每个成员间用`,`分隔 | + + +`data`数组: + +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | --------- | ---- | +| 0 | obj | 用户1 | | +| n | obj | 用户(n+1) | | +| …… | obj | …… | …… | + +`data`数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ---- | ------------ | -------------------- | +| mid | num | mid | | +| name | str | 昵称 | | +| face | str | 头像链接 | | +| sign | str | 签名 | | +| rank | num | 用户权限等级 | | +| level | num | 当前等级 | 0-6 级 | +| silence | num | 封禁状态 | 0:正常<br />1:被封 | +| vip | obj | 大会员信息 | | +| offical | obj | 认证信息 | | +| is_fake_account | bool | | | +| expert_info | obj | 专业信息? | | + +**示例:** + +查询用户`uids=1,2,3`的详细信息 + +```shell +curl -G 'https://api.vc.bilibili.com/x/im/user_infos' \ +--data-urlencode 'uids=2,114514' +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": [ + { + "mid": 2, + "name": "碧诗", + "sex": "男", + "face": "https://i2.hdslb.com/bfs/face/ef0457addb24141e15dfac6fbf45293ccf1e32ab.jpg", + "sign": "https://kami.im 直男过气网红 # We Are Star Dust", + "rank": 20000, + "level": 6, + "silence": 0, + "vip": { + "type": 2, + "status": 1, + "due_date": 4000982400000, + "vip_pay_type": 0, + "theme_type": 0, + "label": { + "path": "", + "text": "十年大会员", + "label_theme": "ten_annual_vip", + "text_color": "#FFFFFF", + "bg_style": 1, + "bg_color": "#FB7299", + "border_color": "", + "use_img_label": true, + "img_label_uri_hans": "https://i0.hdslb.com/bfs/activity-plat/static/20220608/e369244d0b14644f5e1a06431e22a4d5/wltavwHAkL.gif", + "img_label_uri_hant": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/802418ff03911645648b63aa193ba67997b5a0bc.png", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/8u7iRTPE7N.png" + }, + "avatar_subscript": 1, + "nickname_color": "#FB7299", + "role": 7, + "avatar_subscript_url": "", + "tv_vip_status": 1, + "tv_vip_pay_type": 1, + "tv_due_date": 2003500800, + "avatar_icon": { + "icon_type": 1, + "icon_resource": { + + } + } + }, + "pendant": { + "pid": -338454175, + "name": "箱庭少女之梦头像", + "image": "https://i2.hdslb.com/bfs/garb/open/efe5e579cbb95a404c2ba289f37c5965dee7a3a2.png", + "expire": 0, + "image_enhance": "https://i2.hdslb.com/bfs/garb/open/efe5e579cbb95a404c2ba289f37c5965dee7a3a2.png", + "image_enhance_frame": "", + "n_pid": 1743418268001 + }, + "nameplate": { + "nid": 10, + "name": "见习偶像", + "image": "https://i2.hdslb.com/bfs/face/e93dd9edfa7b9e18bf46fd8d71862327a2350923.png", + "image_small": "https://i2.hdslb.com/bfs/face/275b468b043ec246737ab8580a2075bee0b1263b.png", + "level": "普通勋章", + "condition": "所有自制视频总播放数\u003E=10万" + }, + "official": { + "role": 2, + "title": "bilibili创始人(站长)", + "desc": "", + "type": 0 + }, + "birthday": 622137600, + "is_fake_account": 0, + "is_deleted": 0, + "in_reg_audit": 0, + "face_nft": 0, + "face_nft_new": 0, + "is_senior_member": 0, + "digital_id": "", + "digital_type": -2, + "attestation": { + "type": 2, + "common_info": { + "title": "bilibili创始人(站长)", + "prefix": "bilibili UP主认证", + "prefix_title": "bilibili UP主认证:bilibili创始人(站长)" + }, + "splice_info": { + "title": "bilibili创始人(站长)" + }, + "icon": "https://i0.hdslb.com/bfs/activity-plat/static/20230828/e3b8ebec8e86f060b930a2c0536bb88b/72wejSxl9Z.png", + "desc": "" + }, + "expert_info": { + "title": "", + "state": 0, + "type": 0, + "desc": "" + }, + "honours": { + "mid": 2, + "colour": { + "dark": "#CE8620", + "normal": "#F0900B" + }, + "tags": null, + "is_latest_100honour": 0 + }, + "name_render": null, + "json_ava": { + "container_size": { + "width": 1.375, + "height": 1.375 + }, + "fallback_layers": { + "layers": [ + { + "visible": true, + "general_spec": { + "pos_spec": { + "coordinate_pos": 2, + "axis_x": 0.6875, + "axis_y": 0.6875 + }, + "size_spec": { + "width": 0.787, + "height": 0.787 + }, + "render_spec": { + "opacity": 1 + } + }, + "layer_config": { + "tags": { + "AVATAR_LAYER": { + + } + }, + "is_critical": true, + "layer_mask": { + "general_spec": { + "pos_spec": { + "coordinate_pos": 2, + "axis_x": 0.6875, + "axis_y": 0.6875 + }, + "size_spec": { + "width": 0.787, + "height": 0.787 + }, + "render_spec": { + "opacity": 1 + } + }, + "mask_src": { + "src_type": 3, + "draw": { + "draw_type": 1, + "fill_mode": 1, + "color_config": { + "day": { + "argb": "#FF000000" + } + } + } + } + } + }, + "resource": { + "res_type": 3, + "res_image": { + "image_src": { + "src_type": 1, + "placeholder": 6, + "remote": { + "url": "https://i2.hdslb.com/bfs/face/ef0457addb24141e15dfac6fbf45293ccf1e32ab.jpg", + "bfs_style": "widget-layer-avatar" + } + } + } + } + }, + { + "visible": true, + "general_spec": { + "pos_spec": { + "coordinate_pos": 2, + "axis_x": 0.6875, + "axis_y": 0.6875 + }, + "size_spec": { + "width": 1.375, + "height": 1.375 + }, + "render_spec": { + "opacity": 1 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": { + + } + } + }, + "resource": { + "res_type": 3, + "res_image": { + "image_src": { + "src_type": 1, + "remote": { + "url": "https://i2.hdslb.com/bfs/garb/open/efe5e579cbb95a404c2ba289f37c5965dee7a3a2.png", + "bfs_style": "widget-layer-avatar" + } + } + } + } + }, + { + "visible": true, + "general_spec": { + "pos_spec": { + "coordinate_pos": 1, + "axis_x": 0.806, + "axis_y": 0.822666666666667 + }, + "size_spec": { + "width": 0.35, + "height": 0.35 + }, + "render_spec": { + "opacity": 1 + } + }, + "layer_config": { + "tags": { + "ICON_LAYER": { + + } + } + }, + "resource": { + "res_type": 5, + "res_native_draw": { + "draw_src": { + "src_type": 3, + "draw": { + "draw_type": 1, + "fill_mode": 1, + "color_config": { + "is_dark_mode_aware": true, + "day": { + "argb": "#FFFFFFFF" + }, + "night": { + "argb": "#FF17181A" + } + } + } + } + } + } + }, + { + "visible": true, + "general_spec": { + "pos_spec": { + "coordinate_pos": 1, + "axis_x": 0.831, + "axis_y": 0.847666666666667 + }, + "size_spec": { + "width": 0.3, + "height": 0.3 + }, + "render_spec": { + "opacity": 1 + } + }, + "layer_config": { + "tags": { + "ICON_LAYER": { + + } + } + }, + "resource": { + "res_type": 3, + "res_image": { + "image_src": { + "src_type": 2, + "local": 3 + } + } + } + } + ], + "is_critical_group": true + }, + "mid": "2" + } + }, + { + "mid": 114514, + "name": "田所こうじ", + "sex": "保密", + "face": "http://i1.hdslb.com/bfs/face/875eb66bb952f16afa9634081a820dea8e3fac96.jpg", + "sign": "?!", + "rank": 10000, + "level": 6, + "silence": 0, + "vip": { + "type": 1, + "status": 0, + "due_date": 1683043200000, + "vip_pay_type": 0, + "theme_type": 0, + "label": { + "path": "", + "text": "", + "label_theme": "", + "text_color": "", + "bg_style": 0, + "bg_color": "", + "border_color": "", + "use_img_label": true, + "img_label_uri_hans": "", + "img_label_uri_hant": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png" + }, + "avatar_subscript": 0, + "nickname_color": "", + "role": 0, + "avatar_subscript_url": "", + "tv_vip_status": 0, + "tv_vip_pay_type": 0, + "tv_due_date": 0, + "avatar_icon": { + "icon_resource": { + + } + } + }, + "pendant": { + "pid": 0, + "name": "", + "image": "", + "expire": 0, + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0 + }, + "nameplate": { + "nid": 0, + "name": "", + "image": "", + "image_small": "", + "level": "", + "condition": "" + }, + "official": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "birthday": -1590393600, + "is_fake_account": 0, + "is_deleted": 0, + "in_reg_audit": 0, + "face_nft": 0, + "face_nft_new": 0, + "is_senior_member": 0, + "digital_id": "", + "digital_type": -2, + "attestation": { + "type": 0, + "common_info": { + "title": "", + "prefix": "", + "prefix_title": "" + }, + "splice_info": { + "title": "" + }, + "icon": "", + "desc": "" + }, + "expert_info": { + "title": "", + "state": 0, + "type": 0, + "desc": "" + }, + "honours": { + "mid": 114514, + "colour": { + "dark": "#CE8620", + "normal": "#F0900B" + }, + "tags": null, + "is_latest_100honour": 0 + }, + "name_render": null, + "json_ava": { + "container_size": { + "width": 1.35, + "height": 1.35 + }, + "fallback_layers": { + "layers": [ + { + "visible": true, + "general_spec": { + "pos_spec": { + "coordinate_pos": 2, + "axis_x": 0.675, + "axis_y": 0.675 + }, + "size_spec": { + "width": 1, + "height": 1 + }, + "render_spec": { + "opacity": 1 + } + }, + "layer_config": { + "tags": { + "AVATAR_LAYER": { + + } + }, + "is_critical": true, + "layer_mask": { + "general_spec": { + "pos_spec": { + "coordinate_pos": 2, + "axis_x": 0.675, + "axis_y": 0.675 + }, + "size_spec": { + "width": 1, + "height": 1 + }, + "render_spec": { + "opacity": 1 + } + }, + "mask_src": { + "src_type": 3, + "draw": { + "draw_type": 1, + "fill_mode": 1, + "color_config": { + "day": { + "argb": "#FF000000" + } + } + } + } + } + }, + "resource": { + "res_type": 3, + "res_image": { + "image_src": { + "src_type": 1, + "placeholder": 6, + "remote": { + "url": "http://i1.hdslb.com/bfs/face/875eb66bb952f16afa9634081a820dea8e3fac96.jpg", + "bfs_style": "widget-layer-avatar" + } + } + } + } + } + ], + "is_critical_group": true + }, + "mid": "114514" + } + } + ] +} +``` +</details> diff --git a/docs/user/relation.md b/docs/user/relation.md index 83d07d7..b8d4fa0 100644 --- a/docs/user/relation.md +++ b/docs/user/relation.md @@ -8,33 +8,33 @@ 以下说明中的 “目标用户” 指被查询的用户,“对方” 指返回的关系列表中的用户。 -| 字段 | 类型 | 内容 | 备注 | -| --------------- | ------------------------------------------- | -------------------------- | ------------------------------------------------------------ | -| mid | num | 用户 mid | | +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ------------------------------------------- | -------------------------- | ----------------------------------------------------------------------------------------- | +| mid | num | 用户 mid | | | attribute | num | 对方对于**自己**的关系属性 | 0:未关注<br />~~1:悄悄关注(现已下线)~~<br />2:已关注<br />6:已互粉<br />128:已拉黑 | -| mtime | num | 对方关注目标用户时间 | 秒级时间戳<br />互关后刷新 | -| tag | 默认分组:null<br />存在至少一个分组:array | 目标用户将对方分组到的 id | | -| special | num | 目标用户特别关注对方标识 | 0:否<br />1:是 | -| contract_info | obj | 契约计划相关信息 | | -| uname | str | 用户昵称 | | -| face | str | 用户头像url | | -| sign | str | 用户签名 | | -| face_nft | num | 是否为 NFT 头像 | 0:非 NFT 头像<br />1:NFT 头像 | -| official_verify | obj | 认证信息 | | -| vip | obj | 会员信息 | | -| name_render | 有效时:obj<br />无效时:null | 昵称渲染信息 | | -| nft_icon | str | (?) | | -| rec_reason | str | 推荐该用户的原因 | 大多数情况下为空;如:`xxx关注了TA`、`xx粉丝 xx视频` | -| track_id | str | 内部记录id | 大多数情况下为空;如:`up_rec_0.router-main-2021485-5f84c987cf-dv8fg.1746380060327.607` | -| follow_time | str | (?) | | +| mtime | num | 对方关注目标用户时间 | 秒级时间戳<br />互关后刷新 | +| tag | 默认分组:null<br />存在至少一个分组:array | 目标用户将对方分组到的 id | | +| special | num | 目标用户特别关注对方标识 | 0:否<br />1:是 | +| contract_info | obj | 契约计划相关信息 | | +| uname | str | 用户昵称 | | +| face | str | 用户头像url | | +| sign | str | 用户签名 | | +| face_nft | num | 是否为 NFT 头像 | 0:非 NFT 头像<br />1:NFT 头像 | +| official_verify | obj | 认证信息 | | +| vip | obj | 会员信息 | | +| name_render | 有效时:obj<br />无效时:null | 昵称渲染信息 | | +| nft_icon | str | (?) | | +| rec_reason | str | 推荐该用户的原因 | 大多数情况下为空;如:`xxx关注了TA`、`xx粉丝 xx视频` | +| track_id | str | 内部记录id | 大多数情况下为空;如:`up_rec_0.router-main-2021485-5f84c987cf-dv8fg.1746380060327.607` | +| follow_time | str | (?) | | `list`中的对象中的`tag`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ------------------------ | ---- | -| 0 | num | 位于分组 1 的分组 id | | -| n | num | 位于分组(n+1)的分组 id | | -| …… | num | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | ------------------------ | ---- | +| 0 | num | 位于分组 1 的分组 id | | +| n | num | 位于分组(n+1)的分组 id | | +| …… | num | …… | …… | `list`中的对象中的`contract_info`对象: @@ -47,10 +47,10 @@ `list`中的对象中的`official_verify`对象: -| 字段 | 类型 | 内容 | 备注 | -| ---- | ---- | ------------ | ------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ------------ | ----------------------------------------- | | type | num | 用户认证类型 | -1:无<br />0:UP 主认证<br />1:机构认证 | -| desc | str | 用户认证信息 | 无为空 | +| desc | str | 用户认证信息 | 无为空 | `list`中的对象中的`vip`对象: @@ -81,50 +81,47 @@ 本接口只有登录、标头 `referer` 为 `bilibili.com` 下的子域名、UA 不含 `python` 时才会返回列表 -由于接口实现不同,本接口的返回可能出现以下三种情况: - -1. 返回列表按关注时间排序,此时当前用户**仅返回前 1000 名粉丝**,其他用户仅返回前 100 名粉丝,若继续往后查询则返回空列表 -2. 返回列表按粉丝 mid 的**文本形式**排序,此时对于任意用户均可返回全部粉丝 -3. 返回列表按照**智能推荐算法**排序,此时请求参数 `from=main` 且目标用户为自己,**仅返回前 1000 名粉丝** +- 当请求参数 `from=main` 且目标用户为自己时,返回列表按照**智能推荐算法**排序,**仅返回前 1000 名粉丝**,且返回的列表中不含 `mtime` 字段 +- 否则,返回列表按关注时间排序,此时**当前用户仅返回前 1000 名粉丝,其他用户仅返回前 100 名粉丝**,若继续往后查询则返回空列表 **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| -------------- | ---- | ---------------------- | ------------ | ------------------------------------------------------------------- | -| vmid | num | 目标用户 mid | 必要 | | -| ps | num | 每页项数 | 非必要 | 默认为 50 | -| pn | num | 页码 | 非必要 | 默认为 1 | -| offset | str | 偏移量 | 非必要 | 从上次请求的响应数据中的 `data.offset` 获取<br />此项有效且不为 `rcmd` 时会从此偏移量开始返回粉丝列表,忽略参数 `pn` | -| last_access_ts | num | 上次访问粉丝列表的时间 | 非必要 | 秒级时间戳,从[获取自己粉丝列表的未读状态](#获取自己粉丝列表的未读状态)接口获取<br />当按照**智能推荐算法**排序时,会优先展示此时间后关注的粉丝 | -| from | str | 请求来源 | 非必要 | 当为 `main` 且目标用户为自己时,粉丝列表按照**智能推荐算法**排序,此时响应数据中的 `data.list` 的成员中的 `rec_reason` 与 `track_id` 为非空 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------------- | ---- | ---------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| vmid | num | 目标用户 mid | 必要 | | +| ps | num | 每页项数 | 非必要 | 默认为 50 | +| pn | num | 页码 | 非必要 | 默认为 1 | +| offset | str | 偏移量 | 非必要 | 从上次请求的响应数据中的 `data.offset` 获取<br />此项有效且不为 `rcmd` 时会从此偏移量开始返回粉丝列表,忽略参数 `pn` | +| last_access_ts | num | 上次访问粉丝列表的时间 | 非必要 | 秒级时间戳,从[获取自己粉丝列表的未读状态](#获取自己粉丝列表的未读状态)接口获取<br />当按照**智能推荐算法**排序时,会优先展示此时间后关注的粉丝 | +| from | str | 请求来源 | 非必要 | 当为 `main` 且目标用户为自己时,粉丝列表按照**智能推荐算法**排序,此时响应数据中的 `data.list` 的成员中的 `rec_reason` 与 `track_id` 为非空 | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ----------------------------------------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ---------------------------------------------------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-352:请求被拦截<br />-400:请求错误<br />22118:由于该用户隐私设置,粉丝列表不可见 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | -| data | obj | 信息本体 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| ---------- | ----- | -------- | ---- | -| list | array | 明细列表 | | +| 字段 | 类型 | 内容 | 备注 | +| ---------- | ----- | -------- | ----------------------------------------------------------------------------------------------------- | +| list | array | 明细列表 | | | offset | str | 偏移量 | 供下次请求使用<br />普通:`{列表最后的粉丝的 mtime}:{列表最后的粉丝的 mid}`<br />智能推荐算法:`rcmd` | -| re_version | num | (?) | | -| total | num | 粉丝总数 | | +| re_version | num | (?) | | +| total | num | 粉丝总数 | | `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ------------ | ---------------------------------- | -| 0 | obj | 粉丝 1 | 详见 [关系列表对象](#关系列表对象) | -| n | obj | 粉丝 (n+1) | | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | ------------ | ---------------------------------- | +| 0 | obj | 粉丝 1 | 详见 [关系列表对象](#关系列表对象) | +| n | obj | 粉丝 (n+1) | | +| …… | obj | …… | …… | **示例:** @@ -256,23 +253,23 @@ curl -G 'https://api.bilibili.com/x/relation/fans' \ **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------- | ---- | -------------- | ------------ | ------------------------------------- | -| access_key | str | APP 登录 Token | APP 方式必要 | | -| vmid | num | 目标用户 mid | 必要 | | -| ps | num | 每页项数 | 非必要 | 默认为 50 | -| pn | num | 页码 | 非必要 | 默认为 1<br />仅可查看前 1000 名粉丝 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | -------------- | ------------ | ------------------------------------ | +| access_key | str | APP 登录 Token | APP 方式必要 | | +| vmid | num | 目标用户 mid | 必要 | | +| ps | num | 每页项数 | 非必要 | 默认为 50 | +| pn | num | 页码 | 非必要 | 默认为 1<br />仅可查看前 1000 名粉丝 | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ----------------------------------------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ---------------------------------------------------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-352:请求被拦截<br />-400:请求错误<br />22118:由于该用户隐私设置,粉丝列表不可见 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | -| data | obj | 信息本体 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | `data`对象: @@ -284,11 +281,11 @@ curl -G 'https://api.bilibili.com/x/relation/fans' \ `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ------------ | ---------------------------------- | -| 0 | obj | 粉丝 1 | 详见 [关系列表对象](#关系列表对象) | -| n | obj | 粉丝 (n+1) | 按照添加顺序排列 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | ------------ | ---------------------------------- | +| 0 | obj | 粉丝 1 | 详见 [关系列表对象](#关系列表对象) | +| n | obj | 粉丝 (n+1) | 按照添加顺序排列 | +| …… | obj | …… | …… | **示例:** @@ -405,6 +402,85 @@ curl -G 'https://api.bilibili.com/x/relation/followers' \ </details> +### 查询用户粉丝明细 + +> <https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationship/follower_list> + +*请求方式:GET* + +认证方式:无 + +返回目标用户前100个粉丝 + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ------------ | ------ | --------- | +| vmid | num | 目标用户 mid | 必要 | | +| ps | num | 每页项数 | 非必要 | 默认为 20 | +| pn | num | 页码 | 非必要 | 默认为 1 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | -------- | +| code | num | 返回值 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | +| ts | num | 时间戳 | | + +`data.list`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------- | ---- | ------- | ---- | +| mid | num | 用户mid | | +| uname | str | 用户名 | | +| face | str | 头像 | | +| attribute | num | | | + + +**示例:** + +```shell +curl 'https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationship/follower_list?vmid=504140200&pn=5&ps=21' +``` +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "data": { + "list": [ + { + "mid": "3493078644034173", + "attribute": 0, + "uname": "雨天下小雪啦", + "face": "//i0.hdslb.com/bfs/face/28ad110baa58db9265eca657fcba501589981555.jpg", + "attestation_display": { + "type": 0, + "desc": "" + } + }, + { + "mid": "1356049904", + "attribute": 0, + "uname": "一埋子", + "face": "//i2.hdslb.com/bfs/face/84356fd3b183284bc11b011b676432badb4096bf.jpg", + "attestation_display": { + "type": 0, + "desc": "" + } + }, + ] + }, + "ts": 1748829553371, + "request_id": "0684785391344bdc85e4e701bed41b1c" +} +``` +</details> + ### 获取自己粉丝列表的未读状态 > <https://api.bilibili.com/x/relation/followers/unread/count> @@ -471,24 +547,24 @@ curl 'https://api.bilibili.com/x/relation/followers/unread/count' \ **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------- | ---- | -------------- | ------------ | ------------------------------------------------------- | -| access_key | str | APP 登录 Token | APP 方式必要 | | -| vmid | num | 目标用户 mid | 必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | -------------- | ------------ | ----------------------------------------------------------------------------------- | +| access_key | str | APP 登录 Token | APP 方式必要 | | +| vmid | num | 目标用户 mid | 必要 | | | order_type | str | 排序方式 | 非必要 | 当目标用户为自己时有效<br />按照关注顺序排列:留空<br />按照最常访问排列:attention | -| ps | num | 每页项数 | 非必要 | 默认为 50 | -| pn | num | 页码 | 非必要 | 默认为 1<br />其他用户仅可查看前 100 个 | +| ps | num | 每页项数 | 非必要 | 默认为 50 | +| pn | num | 页码 | 非必要 | 默认为 1<br />其他用户仅可查看前 100 个 | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ---------------------------------------------------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------ | | code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-352:请求被拦截<br />-400:请求错误<br />22115:用户已设置隐私,无法查看 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | -| data | obj | 信息本体 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | `data`对象: @@ -500,11 +576,11 @@ curl 'https://api.bilibili.com/x/relation/followers/unread/count' \ `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ----------- | -------------------------------- | -| 0 | obj | 关注1 | 见 [关系列表对象](#关系列表对象) | -| n | obj | 关注(n+1) | 按照添加顺序排列 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | ----------- | -------------------------------- | +| 0 | obj | 关注1 | 见 [关系列表对象](#关系列表对象) | +| n | obj | 关注(n+1) | 按照添加顺序排列 | +| …… | obj | …… | …… | **示例:** @@ -615,12 +691,12 @@ curl -G 'https://api.bilibili.com/x/relation/followings' \ **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ------------ | ------ | ----------------------------- | -| vmid | num | 目标用户 mid | 必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ------------ | ------ | ----------------------------------------------------------- | +| vmid | num | 目标用户 mid | 必要 | | | order | str | 排序方式 | 非必要 | 按照降序排列:desc<br />按照升序排列:asc<br />默认降序排列 | -| ps | num | 每页项数 | 非必要 | 默认为 50 | -| pn | num | 页码 | 非必要 | 默认为 1<br />仅可查看前 5 页 | +| ps | num | 每页项数 | 非必要 | 默认为 50 | +| pn | num | 页码 | 非必要 | 默认为 1<br />仅可查看前 5 页 | **json回复:** @@ -643,42 +719,42 @@ curl -G 'https://api.bilibili.com/x/relation/followings' \ `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ----------- | --------------------------------------------- | -| 0 | obj | 关注 1 | 与 [关系列表对象](#关系列表对象) 数据结构**不同** | -| n | obj | 关注(n+1) | 按照添加顺序排列 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | ----------- | ------------------------------------------------- | +| 0 | obj | 关注 1 | 与 [关系列表对象](#关系列表对象) 数据结构**不同** | +| n | obj | 关注(n+1) | 按照添加顺序排列 | +| …… | obj | …… | …… | 数组`list`中的对象: -| 字段 | 类型 | 内容 | 备注 | -| --------------- | ---------------------------------------- | ------------ | --------------------------------------- | -| mid | num | 用户 mid | | -| attribute | num | 关注属性 | 0:未关注<br />2:已关注<br />6:已互粉 | -| mtime | num | 关注对方时间 | 时间戳<br />互关后刷新 | -| tag | 默认分组:null<br />存在至少一个分组:array | 分组 id | | -| special | num | 特别关注标志 | 0:否<br />1:是 | -| uname | str | 用户昵称 | | -| face | str | 用户头像 url | | -| sign | str | 用户签名 | | -| official_verify | obj | 认证信息 | | -| vip | obj | 会员信息 | | -| live | num | 是否直播 | 0:未直播<br />1:直播中 | +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ------------------------------------------- | ------------ | --------------------------------------- | +| mid | num | 用户 mid | | +| attribute | num | 关注属性 | 0:未关注<br />2:已关注<br />6:已互粉 | +| mtime | num | 关注对方时间 | 时间戳<br />互关后刷新 | +| tag | 默认分组:null<br />存在至少一个分组:array | 分组 id | | +| special | num | 特别关注标志 | 0:否<br />1:是 | +| uname | str | 用户昵称 | | +| face | str | 用户头像 url | | +| sign | str | 用户签名 | | +| official_verify | obj | 认证信息 | | +| vip | obj | 会员信息 | | +| live | num | 是否直播 | 0:未直播<br />1:直播中 | 数组`list`中的对象中的`tag`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ------------------------ | ---- | -| 0 | num | 位于分组 1 的分组 id | | -| n | num | 位于分组(n+1)的分组 id | | -| …… | num | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | ------------------------ | ---- | +| 0 | num | 位于分组 1 的分组 id | | +| n | num | 位于分组(n+1)的分组 id | | +| …… | num | …… | …… | `list`中的对象中的`official_verify`对象: -| 字段 | 类型 | 内容 | 备注 | -| ---- | ---- | ------------ | ------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ------------ | ---------------------------------------- | | type | num | 用户认证类型 | -1:无<br />0:UP主认证<br />1:机构认证 | -| desc | str | 用户认证信息 | 无为空 | +| desc | str | 用户认证信息 | 无为空 | `list`中的对象中的`vip`对象: @@ -790,11 +866,11 @@ curl -G 'https://app.biliapi.net/x/v2/relation/followings' \ **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ------------ | ----------- | -------- | -| vmid | num | 目标用户mid | 必要 | | -| ps | num | 每页项数 | 非必要 | 默认为20 | -| pn | num | 页码 | 非必要 | 默认为1 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ----------- | ------ | -------- | +| vmid | num | 目标用户mid | 必要 | | +| ps | num | 每页项数 | 非必要 | 默认为20 | +| pn | num | 页码 | 非必要 | 默认为1 | **json回复:** @@ -810,17 +886,17 @@ curl -G 'https://app.biliapi.net/x/v2/relation/followings' \ `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| ---------- | ----- | -------- | ------------ | -| list | array | 明细列表 | | +| 字段 | 类型 | 内容 | 备注 | +| ---- | ----- | -------- | ---- | +| list | array | 明细列表 | | `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------- | ---------------- | -| 0 | obj | 关注1 | | -| n | obj | 关注(n+1) | 按照关注顺序排列 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | --------- | ---------------- | +| 0 | obj | 关注1 | | +| n | obj | 关注(n+1) | 按照关注顺序排列 | +| …… | obj | …… | …… | 数组`list`中的对象: @@ -915,11 +991,11 @@ curl -G 'https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationsh `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------------- | -------------------------------- | -| 0 | obj | 匹配项目 1 | 见 [关系列表对象](#关系列表对象) | -| n | obj | 匹配项目(n+1) | 按照添加顺序排列 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | --------------- | -------------------------------- | +| 0 | obj | 匹配项目 1 | 见 [关系列表对象](#关系列表对象) | +| n | obj | 匹配项目(n+1) | 按照添加顺序排列 | +| …… | obj | …… | …… | **示例:** @@ -1016,11 +1092,11 @@ curl -G 'https://api.bilibili.com/x/relation/followings/search' \ `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------------- | -------------------------------- | -| 0 | obj | 共同关注 1 | 见 [关系列表对象](#关系列表对象) | -| n | obj | 共同关注(n+1) | 按照添加顺序排列 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | --------------- | -------------------------------- | +| 0 | obj | 共同关注 1 | 见 [关系列表对象](#关系列表对象) | +| n | obj | 共同关注(n+1) | 按照添加顺序排列 | +| …… | obj | …… | …… | **示例:** @@ -1139,11 +1215,11 @@ curl -G 'https://api.bilibili.com/x/relation/same/followings' \ `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------------- | -------------------------------- | -| 0 | obj | 悄悄关注 1 | 见 [关系列表对象](#关系列表对象) | -| n | obj | 悄悄关注(n+1) | 按照操作顺序排列 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | --------------- | -------------------------------- | +| 0 | obj | 悄悄关注 1 | 见 [关系列表对象](#关系列表对象) | +| n | obj | 悄悄关注(n+1) | 按照操作顺序排列 | +| …… | obj | …… | …… | **示例:** @@ -1232,11 +1308,11 @@ curl -G 'https://api.bilibili.com/x/relation/whispers' \ `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ----------- | -------------------------------- | -| 0 | obj | 互关 1 | 见 [关系列表对象](#关系列表对象) | -| n | obj | 互关(n+1) | 按照添加顺序排列 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | ----------- | -------------------------------- | +| 0 | obj | 互关 1 | 见 [关系列表对象](#关系列表对象) | +| n | obj | 互关(n+1) | 按照添加顺序排列 | +| …… | obj | …… | …… | **示例:** @@ -1430,11 +1506,11 @@ curl -G 'https://api.bilibili.com/x/relation/friends' \ **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------- | ---- | -------------- | ------------ | --------- | -| access_key | str | APP 登录 Token | APP 方式必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | -------------- | ------------ | --------------------------------------- | +| access_key | str | APP 登录 Token | APP 方式必要 | | | ps | num | 每页项数 | 非必要 | 默认为 50,且最多为50,大于50则按50输出 | -| pn | num | 页码 | 非必要 | 默认为 1 | +| pn | num | 页码 | 非必要 | 默认为 1 | **json回复:** @@ -1457,11 +1533,11 @@ curl -G 'https://api.bilibili.com/x/relation/friends' \ `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | -------------- | -------------------------------- | -| 0 | obj | 黑名单 1 | 见 [关系列表对象](#关系列表对象) | -| n | obj | 黑名单 (n+1) | 按照添加顺序排列 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | -------------- | -------------------------------- | +| 0 | obj | 黑名单 1 | 见 [关系列表对象](#关系列表对象) | +| n | obj | 黑名单 (n+1) | 按照添加顺序排列 | +| …… | obj | …… | …… | **示例:** @@ -1559,35 +1635,35 @@ curl -G 'https://api.bilibili.com/x/relation/blacks' \ **正文参数(application/x-www-form-urlencoded):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------- | ---- | ------------------------- | --------------- | -------------------------------------------------------- | -| access_key | str | APP 登录 Token | APP 方式必要 | | -| fid | num | 目标用户mid | 必要 | | -| act | num | 操作代码 | 必要 | **操作代码见下表** | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| access_key | str | APP 登录 Token | APP 方式必要 | | +| fid | num | 目标用户mid | 必要 | | +| act | num | 操作代码 | 必要 | **操作代码见下表** | | re_src | num | 关注来源代码 | 非必要 | 包月充电:1<br />个人空间:11<br />视频:14<br />评论区:15<br />视频播放器结束页面:17<br />H5推荐关注:58<br />H5关注列表:106<br />H5粉丝列表:107<br />专栏:115<br />私信:118<br />搜索:120<br />视频播放器左上角关注按钮:164<br />H5共同关注:167<br />创作激励计划:192<br />活动页面:222<br />联合投稿视频:229<br />消息中心点赞详情:235<br />视频播放器关注弹幕:245 | -| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | +| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | 操作代码`act`: -| 代码 | 含义 | 备注 | -| ---- | ------------ | ------------------------------------------------ | -| 1 | 关注 | 无法对已注销或不存在的用户进行此操作 | -| 2 | 取关 | | +| 代码 | 含义 | 备注 | +| ---- | ------------ | ---------------------------------------------------- | +| 1 | 关注 | 无法对已注销或不存在的用户进行此操作 | +| 2 | 取关 | | | 3 | 悄悄关注 | **现已下线**,使用本操作代码请求接口会提示“请求错误” | -| 4 | 取消悄悄关注 | | -| 5 | 拉黑 | 无法对已注销或不存在的用户进行此操作 | -| 6 | 取消拉黑 | | -| 7 | 踢出粉丝 | | +| 4 | 取消悄悄关注 | | +| 5 | 拉黑 | 无法对已注销或不存在的用户进行此操作 | +| 6 | 取消拉黑 | | +| 7 | 踢出粉丝 | | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-102:账号被封停<br />-111:csrf校验失败<br />-400:请求错误<br />22001:不能对自己进行此操作<br />22002:因对方隐私设置,你还不能关注<br />22003:关注失败,请将该用户移除黑名单之后再试<br />22008:黑名单达到上限<br />22009:关注失败,已达关注上限<br />22013:账号已注销,无法完成操作<br />22014:已经关注用户,无法重复关注<br />22120:重复加入黑名单<br />40061:用户不存在 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | **示例:** @@ -1627,24 +1703,24 @@ curl 'https://api.bilibili.com/x/relation/modify' \ **正文参数(application/x-www-form-urlencoded):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------- | ---- | ------------------------- | --------------- | ------------------------------------------------- | -| access_key | str | APP 登录 Token | APP 方式必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------- | --------------- | ----------------------------------------------------------- | +| access_key | str | APP 登录 Token | APP 方式必要 | | | fids | nums | 目标用户 mid 列表 | 必要 | 每个成员之间用 `,` 间隔,最多 50 个成员,不能包含自己的 mid | -| act | num | 操作代码 | 必要 | 同上<br />仅可为 1 或 5,故只能进行批量关注和拉黑 | -| re_src | num | 关注来源代码 | 非必要 | 同上 | -| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | +| act | num | 操作代码 | 必要 | 同上<br />仅可为 1 或 5,故只能进行批量关注和拉黑 | +| re_src | num | 关注来源代码 | 非必要 | 同上 | +| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | -------------------------------------------------------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-102:账号被封停<br />-111:csrf校验失败<br />-400:请求错误<br />22003:用户位于黑名单 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | obj | 数据本体 | | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 数据本体 | | `data`对象: @@ -1654,11 +1730,11 @@ curl 'https://api.bilibili.com/x/relation/modify' \ `data`中的`failed_fids`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------------------- | ---- | -| 0 | num | 操作失败的 mid 1 | | -| n | num | 操作失败的 mid(n+1) | | -| …… | num | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | --------------------- | ---- | +| 0 | num | 操作失败的 mid 1 | | +| n | num | 操作失败的 mid(n+1) | | +| …… | num | …… | …… | **示例:** @@ -1693,21 +1769,21 @@ curl 'https://api.bilibili.com/x/relation/batch/modify' \ ### 关系属性对象 -| 字段 | 类型 | 内容 | 备注 | -| --------- | --------------------------------------- | ------------ | -------------------------------------------------------- | -| mid | num | 目标用户 mid | | -| attribute | num | 关系属性 | 0:未关注<br />~~1:悄悄关注(已弃用)~~<br />2:已关注<br />6:已互粉<br />128:已拉黑 | -| mtime | num | 关注对方时间 | 时间戳<br />未关注为 0 | -| tag | 默认分组:null<br />存在至少一个分组:array | 分组 id | | -| special | num | 特别关注标志 | 0:否<br />1:是 | +| 字段 | 类型 | 内容 | 备注 | +| --------- | ------------------------------------------- | ------------ | --------------------------------------------------------------------------------------- | +| mid | num | 目标用户 mid | | +| attribute | num | 关系属性 | 0:未关注<br />~~1:悄悄关注(已弃用)~~<br />2:已关注<br />6:已互粉<br />128:已拉黑 | +| mtime | num | 关注对方时间 | 时间戳<br />未关注为 0 | +| tag | 默认分组:null<br />存在至少一个分组:array | 分组 id | | +| special | num | 特别关注标志 | 0:否<br />1:是 | `tag`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------------------- | ---- | -| 0 | num | 位于分组 1 的分组 | | -| n | num | 位于分组(n+1)的分组 | | -| …… | num | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | --------------------- | ---- | +| 0 | num | 位于分组 1 的分组 | | +| n | num | 位于分组(n+1)的分组 | | +| …… | num | …… | …… | ### 查询用户与自己关系(仅关注) @@ -1925,10 +2001,10 @@ curl -G 'https://api.bilibili.com/x/relation/relations' \ 分组 id 特殊值: -| id | 含义 | -| ---- | -------- | -| 0 | 默认分组 | -| -10 | 特别关心 | +| id | 含义 | +| --- | -------- | +| 0 | 默认分组 | +| -10 | 特别关心 | ### 查询关注分组列表 @@ -1948,29 +2024,29 @@ curl -G 'https://api.bilibili.com/x/relation/relations' \ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ------ | -------- | ----------------------------- | -| code | num | 返回值 | 0:成功<br />-101:账号未登录 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ----- | -------- | ----------------------------- | +| code | num | 返回值 | 0:成功<br />-101:账号未登录 | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | | data | array | 分组列表 | | `data`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ----------- | ---- | -| 0 | obj | 分组 1 | | -| n | obj | 分组(n+1) | | -| …… | num | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | ----------- | ---- | +| 0 | obj | 分组 1 | | +| n | obj | 分组(n+1) | | +| …… | num | …… | …… | 数组`data`中的对象: -| 字段 | 类型 | 内容 | 备注 | -| ----- | ---- | ---------- | ---- | +| 字段 | 类型 | 内容 | 备注 | +| ----- | ---- | ---------- | ------------------------------ | | tagid | num | 分组 id | -10:特别关注<br />0:默认分组 | -| name | str | 分组名称 | | -| count | num | 分组成员数 | | -| tip | str | 提示信息 | | +| name | str | 分组名称 | | +| count | num | 分组成员数 | | +| tip | str | 提示信息 | | **示例:** @@ -2045,48 +2121,48 @@ curl 'https://api.bilibili.com/x/relation/tags' \ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ----- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ----- | -------- | -------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-400:请求错误<br />22104:该分组不存在 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | -| data | array | 成员列表 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | array | 成员列表 | | `data`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------------- | --------------------------------------- | -| 0 | obj | 成员信息 1 | 与[关系列表对象](#关系列表对象)**不同** | -| n | obj | 成员信息(n+1) | 按照添加顺序排序 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | --------------- | --------------------------------------- | +| 0 | obj | 成员信息 1 | 与[关系列表对象](#关系列表对象)**不同** | +| n | obj | 成员信息(n+1) | 按照添加顺序排序 | +| …… | obj | …… | …… | `data` 数组中的对象: -| 字段 | 类型 | 内容 | 备注 | -| --------------- | ---- | --------------- | -------------- | -| mid | num | 用户mid | | -| attribute | num | 关系属性 | 恒为 `0` | -| tag | null | 关注分组id | 恒为 `null` | -| special | num | 是否特别关注 | 恒为 `0` | -| contract_info | obj | 契约计划信息 | | -| uname | str | 用户昵称 | | -| face | str | 用户头像url | | -| sign | str | 用户签名 | | -| face_nft | num | 是否为 NFT 头像 | | -| official_verify | obj | 认证信息 | 具体见下 | -| vip | obj | 会员信息 | | -| live | obj | 直播状态 | 具体见下 | -| nft_icon | str | (?) | | -| rec_reason | str | (?) | | -| track_id | str | (?) | | -| follow_time | str | (?) | | +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ---- | --------------- | ----------- | +| mid | num | 用户mid | | +| attribute | num | 关系属性 | 恒为 `0` | +| tag | null | 关注分组id | 恒为 `null` | +| special | num | 是否特别关注 | 恒为 `0` | +| contract_info | obj | 契约计划信息 | | +| uname | str | 用户昵称 | | +| face | str | 用户头像url | | +| sign | str | 用户签名 | | +| face_nft | num | 是否为 NFT 头像 | | +| official_verify | obj | 认证信息 | 具体见下 | +| vip | obj | 会员信息 | | +| live | obj | 直播状态 | 具体见下 | +| nft_icon | str | (?) | | +| rec_reason | str | (?) | | +| track_id | str | (?) | | +| follow_time | str | (?) | | `data`中的对象中的`official_verify`对象: -| 字段 | 类型 | 内容 | 备注 | -| ---- | ---- | ------------ | ------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ------------ | ----------------------------------------- | | type | num | 用户认证类型 | -1:无<br />0:UP 主认证<br />1:机构认证 | -| desc | str | 用户认证信息 | 无为空 | +| desc | str | 用户认证信息 | 无为空 | `data`中的对象中的`vip`对象: @@ -2214,10 +2290,10 @@ curl -G 'https://api.bilibili.com/x/relation/tag' \ `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| ------------------- | ---- | --------- | ---- | +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ---- | -------- | ---------------------------------- | | {加入的分组 id} | str | 分组名称 | 若目标用户存在默认分组中,则不显示 | -| …… | str | …… | 下同 | +| …… | str | …… | 下同 | **示例:** @@ -2273,11 +2349,11 @@ curl -G 'https://api.bilibili.com/x/relation/tag/user' \ `data`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | -------------- | ---- | -| 0 | num | 成员 1 mid | | -| n | num | 成员(n+1)mid | | -| …… | num | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | -------------- | ---- | +| 0 | num | 成员 1 mid | | +| n | num | 成员(n+1)mid | | +| …… | num | …… | …… | **示例:** @@ -2341,12 +2417,12 @@ curl 'https://api.bilibili.com/x/relation/tag/special' \ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功<br />-111:csrf校验失败<br />-101:账号未登录<br />-400:请求错误<br />22101:分组名称存在不允许的字符<br />22102:分组数量超过限制<br />22103:分组名过长<br />22106:该分组已经存在 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | -| data | obj | 信息本体 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | `data`对象: @@ -2402,11 +2478,11 @@ curl 'https://api.bilibili.com/x/relation/tag/create' \ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功<br />-111:csrf校验失败<br />-101:账号未登录<br />-400:请求错误<br />22101:分组名称存在不允许的字符<br />22103:分组名过长<br />22104:该分组不存在 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | **示例:** @@ -2455,11 +2531,11 @@ curl 'https://api.bilibili.com/x/relation/tag/update' \ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功<br />-111:csrf校验失败<br />-101:账号未登录<br />-400:请求错误 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | 示例: @@ -2499,22 +2575,22 @@ curl 'https://api.bilibili.com/x/relation/tag/del' \ **正文参数(application/x-www-form-urlencoded):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------- | ---- | ------------------------ | -------------- | ------------------- | -| access_key | str | APP 登录 Token | APP 方式必要 | | -| fids | nums | 目标用户 mid 列表 | 必要 | 每个之间用`,`间隔 | -| tagids | nums | 分组 id 列表 | 必要 | 每个之间用`,`间隔 | -| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------- | --------------- | ----------------- | +| access_key | str | APP 登录 Token | APP 方式必要 | | +| fids | nums | 目标用户 mid 列表 | 必要 | 每个之间用`,`间隔 | +| tagids | nums | 分组 id 列表 | 必要 | 每个之间用`,`间隔 | +| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功<br />-111:csrf校验失败<br />-101:账号未登录<br />-400:请求错误<br />22104:分组不存在<br />22105:未关注 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | **示例:** @@ -2551,22 +2627,22 @@ curl 'https://api.bilibili.com/x/relation/tags/addUsers' \ **正文参数(application/x-www-form-urlencoded):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------- | ---- | ------------------------ | -------------- | ------------------- | -| access_key | str | APP 登录 Token | APP 方式必要 | | -| fids | nums | 待复制的用户 mid 列表 | 必要 | 每个之间用`,`间隔 | -| tagids | nums | 目标分组 id 列表 | 必要 | 每个之间用`,`间隔 | -| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------- | --------------- | ----------------- | +| access_key | str | APP 登录 Token | APP 方式必要 | | +| fids | nums | 待复制的用户 mid 列表 | 必要 | 每个之间用`,`间隔 | +| tagids | nums | 目标分组 id 列表 | 必要 | 每个之间用`,`间隔 | +| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功<br />-111:csrf校验失败<br />-101:账号未登录<br />-400:请求错误<br />22104:分组不存在<br />22105:未关注 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | **示例:** @@ -2603,23 +2679,23 @@ curl 'https://api.bilibili.com/x/relation/tags/copyUsers' \ **正文参数(application/x-www-form-urlencoded):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------------ | ---- | ------------------------ | -------------- | ------------------- | -| access_key | str | APP 登录 Token | APP 方式必要 | | -| beforeTagids | nums | 原分组 id 列表 | 必要 | 每个之间用`,`间隔 | -| afterTagids | nums | 新分组 id 列表 | 必要 | 每个之间用`,`间隔 | -| fids | nums | 待移动的用户 mid 列表 | 必要 | 每个之间用`,`间隔 | -| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------------ | ---- | ------------------------- | --------------- | ----------------- | +| access_key | str | APP 登录 Token | APP 方式必要 | | +| beforeTagids | nums | 原分组 id 列表 | 必要 | 每个之间用`,`间隔 | +| afterTagids | nums | 新分组 id 列表 | 必要 | 每个之间用`,`间隔 | +| fids | nums | 待移动的用户 mid 列表 | 必要 | 每个之间用`,`间隔 | +| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功<br />-111:csrf校验失败<br />-101:账号未登录<br />-400:请求错误<br />22104:分组不存在<br />22105:未关注 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | **示例:** diff --git a/docs/video/info.md b/docs/video/info.md index 1b1a5ee..848ac75 100644 --- a/docs/video/info.md +++ b/docs/video/info.md @@ -260,7 +260,7 @@ | id | num | 视频合集分部中视频id(以下简称视频) | | | aid | num | 视频aid | | | cid | num | 视频cid | | -| title | str | 视频标题 | | +| title | str | 视频标题 | 合集列表中展示的标题。默认视频真实标题,在[创作中心-合集管理-单集标题](https://member.bilibili.com/platform/upload-manager/ep)修改后则以修改后为准 | | ~~attribute~~(已经弃用) | ~~num~~ | ~~稿件属性位配置~~ | 详情见[属性数据文档](attribute_data.md#attribute字段值(稿件属性位)) | | arc | obj | 视频详细信息 | 基本同「[获取视频详细信息(web端)](#获取视频详细信息(web端))」中的data对象 | diff --git a/docs/video/videostream_url.md b/docs/video/videostream_url.md index 304e617..109feac 100644 --- a/docs/video/videostream_url.md +++ b/docs/video/videostream_url.md @@ -49,6 +49,7 @@ | 512 | 是否需求杜比视界 | 需求 DASH 格式<br />大会员认证 | | 1024 | 是否需求 8K 分辨率 | 需求 DASH 格式<br />需要`qn=127`<br />大会员认证 | | 2048 | 是否需求 AV1 编码 | 需求 DASH 格式 | +| 4048 | 所有可用 DASH 视频流 | 即一次性返回所有可用 DASH 格式视频流 | 例如:请求 DASH 格式,且需要 HDR 的视频流,则`fnval=16|64=80` @@ -109,6 +110,8 @@ | avid | num | 稿件 avid | 必要(可选) | avid 与 bvid 任选一个 | | bvid | str | 稿件 bvid | 必要(可选) | avid 与 bvid 任选一个 | | cid | num | 视频 cid | 必要 | | +| gaia_source | str | view-card<br />pre-load | 必要(非必要) | 有Cookie(SESSDATA)时无需此参数<br />暂未找到两个内容值区别 | +| isGaiaAvoided| bool| true/false| 非必要|未知作用 | | qn | num | 视频清晰度选择 | 非必要 | 未登录默认 32(480P),登录后默认 64(720P)<br />含义见 [上表](#qn视频清晰度标识)<br />**DASH 格式时无效** | | fnval | num | 视频流格式标识 | 非必要 | 默认值为`1`(MP4 格式)<br />含义见 [上表](#fnval视频流格式标识) | | fnver | num | 0 | 非必要 | | @@ -135,6 +138,7 @@ | 字段 | 类型 | 内容 | 备注 | | ------------------ | ----- | ----------------------------------------------- | ----------------------------------------------- | +| v_voucher | str | (?) | 需要参数`gaia_source` | | from | str | `local`? | | | result | str | `suee`? | | | message | str | 空? | | diff --git a/docs/web_widget/banner.md b/docs/web_widget/banner.md new file mode 100644 index 0000000..3bbc270 --- /dev/null +++ b/docs/web_widget/banner.md @@ -0,0 +1,124 @@ +# 横幅轮播图 + +## 获取各分区的轮播图_web端 + +> https://api.bilibili.com/x/web-show/region/banner + +*请求方式: GET* + +需要请求头参数 User-Agent + +鉴权方式:Wbi 签名 (可选) + +**URL参数:** + +| 字段 | 类型 | 内容 | 必要性 | 备注 | +| ------- | ---- | -------- | ------- | -------------- | +| region_id | num | 目标分区id | 必要 | 参见[视频分区一览v2](../video/video_zone_v2.md) | +| w_rid | str | Wbi 签名 | 非必要 | 详见 [Wbi 签名](../misc/sign/wbi.md) | +| wts | num | 当前时间戳 | 非必要 | 详见 [Wbi 签名](../misc/sign/wbi.md) | + +**JSON回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| -- | -- | -- | -- | +| code | num | 返回值 | 0: 成功 | +| message | str | 错误信息 | 默认为 0 | +| ttl | str | 1 | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| -- | -- | -- | -- | +| region_banner_list | array | 存储轮播图的对象 | | + +`data` 对象里的 `region_banner_list` 数组: + +| 项 | 类型 | 内容 | 备注 | +| -- | -- | -- | -- | +| 0 | obj | 第一个轮播图对象 | | +| n | obj | 第 (n+1) 轮播图对象 | | +| …… | obj | …… | | + +`region_banner_list` 数组里的对象: + +| 字段 | 类型 | 内容 | 备注 | +| -- | -- | -- | -- | +| image | str | 封面资源路径 | | +| title | str | 封面标题 | | +| sub_title | str | 封面子标题 | 空 | +| url | str | 点击封面后指向的链接 | 可能为视频地址,也有可能是活动地址 | +| rid | num | 分区参见[视频分区一览v2](../video/video_zone_v2.md) | | + +**示例:** + +获取 `音乐区` 时刻为 `Wed, 06 Aug 2025 01:41:35 GMT` 的 B 站轮播图 [音乐区地址](https://www.bilibili.com/c/music/) + +```shell +curl -G "https://api.bilibili.com/x/web-show/region/banner" \ + --data-urlencode "region_id=1003" \ + -H "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" +``` + +<details> +<summary>查看响应示例:</summary> + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "region_banner_list": [ + { + "image": "http://i0.hdslb.com/bfs/app/61e4bf3bba74f7d975342ae9d6ec7b0a2ea7c83f.jpg", + "title": "舞力全开派对首测共创活动上线啦!", + "sub_title": "", + "url": "https://www.bilibili.com/blackboard/era/wzjckpevcdCgf4Rv.html", + "rid": 1003 + }, + { + "image": "http://i0.hdslb.com/bfs/app/a7d63dc78d10f769bd80c6c27ba6cc337b00d9d9.jpg", + "title": "玛莎拉达带着他的一系列爆款术曲来了!", + "sub_title": "", + "url": "https://www.bilibili.com/video/BV1Tbtjz1Ehv", + "rid": 1003 + }, + { + "image": "http://i0.hdslb.com/bfs/app/01beb60c493f98eea6844cc2efcbde7315ce6224.jpg", + "title": "陶喆Alin合作曲MV首播!", + "sub_title": "", + "url": "https://www.bilibili.com/video/BV1w1tnznEMw/?spm_id_from=333.337.search-card.all.click", + "rid": 1003 + }, + { + "image": "http://i0.hdslb.com/bfs/app/64060527172b03292b860e43532ff56faabdbe2d.jpg", + "title": "四种语言版《AMANI》:愿世界和平", + "sub_title": "", + "url": "https://www.bilibili.com/video/BV1WTgVzHE2S/", + "rid": 1003 + }, + { + "image": "http://i0.hdslb.com/bfs/app/cbc4469b10c041702c49e847552301afeea323cd.jpg", + "title": "孙亦航来B站啦!", + "sub_title": "", + "url": "https://www.bilibili.com/video/BV1RHtFzLEUA", + "rid": 1003 + }, + { + "image": "http://i0.hdslb.com/bfs/app/134cede692acbbe3080dc2a2ecc920db1f4f7498.jpg", + "title": "潘玮柏狂爱《Yes I Do》", + "sub_title": "", + "url": "https://www.bilibili.com/video/BV1RAtcz7EJX/?spm_id_from=333.337.search-card.all.click", + "rid": 1003 + } + ] + } +} +``` +</details> + +* Tip: 可以使用 [图片格式化](../misc/picture.md)中 获取主色调的方式获取轮播图封面的主色调 diff --git a/package.json b/package.json index 16100db..734c73c 100644 --- a/package.json +++ b/package.json @@ -4,17 +4,17 @@ "repository": "https://github.com/SocialSisterYi/bilibili-API-collect.git", "author": "SocialSisterYi <1440239038@qq.com>", "license": "CC-BY-NC-4.0", - "dependencies": { - "markdown-it-task-lists": "^2.1.1" - }, "scripts": { "dev": "vuepress dev", - "build": "vuepress build" + "build": "NODE_OPTIONS='--max-old-space-size=8192' vuepress build" }, "devDependencies": { - "vuepress": "2.0.0-beta.67", - "vuepress-plugin-copy-code2": "2.0.0-beta.237", - "vuepress-vite": "2.0.0-beta.67", - "@vuepress/plugin-search": "^2.0.0-beta.67" + "@vuepress/bundler-vite": "^2.0.0-rc.24", + "@vuepress/plugin-search": "^2.0.0-rc.110", + "@vuepress/plugin-shiki": "^2.0.0-rc.110", + "@vuepress/theme-default": "^2.0.0-rc.110", + "markdown-it-task-lists": "^2.1.1", + "sass-embedded": "^1.89.2", + "vuepress": "^2.0.0-rc.24" } } diff --git a/yarn.lock b/yarn.lock index c097ecb..cb6a060 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,200 +2,274 @@ # yarn lockfile v1 -"@babel/parser@^7.20.15", "@babel/parser@^7.21.3": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.22.15.tgz#d34592bfe288a32e741aa0663dbc4829fcd55160" - integrity sha512-RWmQ/sklUN9BvGGpCDgSubhHWfAx24XDTDObup4ffvxaYsptOg2P3KG0j+1eWKLxpkX0j0uHxmpq2Z1SP/VhxA== +"@babel/helper-string-parser@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" + integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== -"@esbuild/android-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" - integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== +"@babel/helper-validator-identifier@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" + integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== -"@esbuild/android-arm@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" - integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== - -"@esbuild/android-x64@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" - integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== - -"@esbuild/darwin-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" - integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== - -"@esbuild/darwin-x64@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" - integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== - -"@esbuild/freebsd-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" - integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== - -"@esbuild/freebsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" - integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== - -"@esbuild/linux-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" - integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== - -"@esbuild/linux-arm@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" - integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== - -"@esbuild/linux-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" - integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== - -"@esbuild/linux-loong64@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" - integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== - -"@esbuild/linux-mips64el@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" - integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== - -"@esbuild/linux-ppc64@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" - integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== - -"@esbuild/linux-riscv64@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" - integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== - -"@esbuild/linux-s390x@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" - integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== - -"@esbuild/linux-x64@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338" - integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== - -"@esbuild/netbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" - integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== - -"@esbuild/openbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" - integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== - -"@esbuild/sunos-x64@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" - integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== - -"@esbuild/win32-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" - integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== - -"@esbuild/win32-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" - integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== - -"@esbuild/win32-x64@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" - integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== - -"@jridgewell/sourcemap-codec@^1.4.15": - version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@mdit-vue/plugin-component@^0.12.1": - version "0.12.1" - resolved "https://registry.npmjs.org/@mdit-vue/plugin-component/-/plugin-component-0.12.1.tgz#ed04c94c767e4ba1f6fc16ab458da82750b401f6" - integrity sha512-L3elbvuKUufXwPLHrmJGd/ijd/QKxfcHXy3kRy4O+P7UIV7HSWePpfB0k+wWee+by3MviYYxjVAi392z+DGy3Q== +"@babel/parser@^7.27.5": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.0.tgz#979829fbab51a29e13901e5a80713dbcb840825e" + integrity sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g== dependencies: - "@types/markdown-it" "^13.0.0" - markdown-it "^13.0.1" + "@babel/types" "^7.28.0" -"@mdit-vue/plugin-frontmatter@^0.12.1": - version "0.12.1" - resolved "https://registry.npmjs.org/@mdit-vue/plugin-frontmatter/-/plugin-frontmatter-0.12.1.tgz#af02ebc6622fa24d71343fde627a0e49d4ffbab5" - integrity sha512-C6ycNjrJ+T4JgbVxwo9cUkfLacOO841Yl8ogqd5PJmAVpc5cM2OLBkqqkZxNRXos3g9xM1VvIQ7gK/047UNADg== +"@babel/types@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.0.tgz#2fd0159a6dc7353933920c43136335a9b264d950" + integrity sha512-jYnje+JyZG5YThjHiF28oT4SIZLnYOcSBb6+SDaFIyzDVSkXQmQQYclJ2R+YxcdmK0AX6x1E5OQNtuh3jHDrUg== dependencies: - "@mdit-vue/types" "0.12.0" - "@types/markdown-it" "^13.0.0" + "@babel/helper-string-parser" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + +"@bufbuild/protobuf@^2.5.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@bufbuild/protobuf/-/protobuf-2.6.0.tgz#82f10cbd2eff47b1e9196967749b26f916b808e8" + integrity sha512-6cuonJVNOIL7lTj5zgo/Rc2bKAo4/GvN+rKCrUj7GdEHRzCk8zKOfFwUsL9nAVk5rSIsRmlgcpLzTRysopEeeg== + +"@esbuild/aix-ppc64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.6.tgz#164b19122e2ed54f85469df9dea98ddb01d5e79e" + integrity sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw== + +"@esbuild/android-arm64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.6.tgz#8f539e7def848f764f6432598e51cc3820fde3a5" + integrity sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA== + +"@esbuild/android-arm@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.6.tgz#4ceb0f40113e9861169be83e2a670c260dd234ff" + integrity sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg== + +"@esbuild/android-x64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.6.tgz#ad4f280057622c25fe985c08999443a195dc63a8" + integrity sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A== + +"@esbuild/darwin-arm64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.6.tgz#d1f04027396b3d6afc96bacd0d13167dfd9f01f7" + integrity sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA== + +"@esbuild/darwin-x64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.6.tgz#2b4a6cedb799f635758d7832d75b23772c8ef68f" + integrity sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg== + +"@esbuild/freebsd-arm64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.6.tgz#a26266cc97dd78dc3c3f3d6788b1b83697b1055d" + integrity sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg== + +"@esbuild/freebsd-x64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.6.tgz#9feb8e826735c568ebfd94859b22a3fbb6a9bdd2" + integrity sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ== + +"@esbuild/linux-arm64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.6.tgz#c07cbed8e249f4c28e7f32781d36fc4695293d28" + integrity sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ== + +"@esbuild/linux-arm@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.6.tgz#d6e2cd8ef3196468065d41f13fa2a61aaa72644a" + integrity sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw== + +"@esbuild/linux-ia32@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.6.tgz#3e682bd47c4eddcc4b8f1393dfc8222482f17997" + integrity sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw== + +"@esbuild/linux-loong64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.6.tgz#473f5ea2e52399c08ad4cd6b12e6dbcddd630f05" + integrity sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg== + +"@esbuild/linux-mips64el@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.6.tgz#9960631c9fd61605b0939c19043acf4ef2b51718" + integrity sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw== + +"@esbuild/linux-ppc64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.6.tgz#477cbf8bb04aa034b94f362c32c86b5c31db8d3e" + integrity sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw== + +"@esbuild/linux-riscv64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.6.tgz#bcdb46c8fb8e93aa779e9a0a62cd4ac00dcac626" + integrity sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w== + +"@esbuild/linux-s390x@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.6.tgz#f412cf5fdf0aea849ff51c73fd817c6c0234d46d" + integrity sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw== + +"@esbuild/linux-x64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.6.tgz#d8233c09b5ebc0c855712dc5eeb835a3a3341108" + integrity sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig== + +"@esbuild/netbsd-arm64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.6.tgz#f51ae8dd1474172e73cf9cbaf8a38d1c72dd8f1a" + integrity sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q== + +"@esbuild/netbsd-x64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.6.tgz#a267538602c0e50a858cf41dcfe5d8036f8da8e7" + integrity sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g== + +"@esbuild/openbsd-arm64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.6.tgz#a51be60c425b85c216479b8c344ad0511635f2d2" + integrity sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg== + +"@esbuild/openbsd-x64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.6.tgz#7e4a743c73f75562e29223ba69d0be6c9c9008da" + integrity sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw== + +"@esbuild/openharmony-arm64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.6.tgz#2087a5028f387879154ebf44bdedfafa17682e5b" + integrity sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA== + +"@esbuild/sunos-x64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.6.tgz#56531f861723ea0dc6283a2bb8837304223cb736" + integrity sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA== + +"@esbuild/win32-arm64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.6.tgz#f4989f033deac6fae323acff58764fa8bc01436e" + integrity sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q== + +"@esbuild/win32-ia32@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.6.tgz#b260e9df71e3939eb33925076d39f63cec7d1525" + integrity sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ== + +"@esbuild/win32-x64@0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.6.tgz#4276edd5c105bc28b11c6a1f76fb9d29d1bd25c1" + integrity sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA== + +"@jridgewell/sourcemap-codec@^1.5.0": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz#7358043433b2e5da569aa02cbc4c121da3af27d7" + integrity sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw== + +"@mdit-vue/plugin-component@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@mdit-vue/plugin-component/-/plugin-component-2.1.4.tgz#17f791fea15f8b3a052f6d1a8b9920091b064c76" + integrity sha512-fiLbwcaE6gZE4c8Mkdkc4X38ltXh/EdnuPE1hepFT2dLiW6I4X8ho2Wq7nhYuT8RmV4OKlCFENwCuXlKcpV/sw== + dependencies: + "@types/markdown-it" "^14.1.2" + markdown-it "^14.1.0" + +"@mdit-vue/plugin-frontmatter@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@mdit-vue/plugin-frontmatter/-/plugin-frontmatter-2.1.4.tgz#c6fe5687912558ab85318e41dbea0364764abade" + integrity sha512-mOlavV176njnozIf0UZGFYymmQ2LK5S1rjrbJ1uGz4Df59tu0DQntdE7YZXqmJJA9MiSx7ViCTUQCNPKg7R8Ow== + dependencies: + "@mdit-vue/types" "2.1.4" + "@types/markdown-it" "^14.1.2" gray-matter "^4.0.3" - markdown-it "^13.0.1" + markdown-it "^14.1.0" -"@mdit-vue/plugin-headers@^0.12.1": - version "0.12.1" - resolved "https://registry.npmjs.org/@mdit-vue/plugin-headers/-/plugin-headers-0.12.1.tgz#2ab8c446fca6d39ce951819b5e18fef614a227aa" - integrity sha512-DXAw/iWW8f3qUYMDHgQmamL+XGjnaoeRzdvDseLRyr7gXX4xpYO9OIhe/pv9LzSvUoY7UGYmn4kFeI+0qpWJ+g== +"@mdit-vue/plugin-headers@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@mdit-vue/plugin-headers/-/plugin-headers-2.1.4.tgz#d59a0355237d2ca214b14e67cf14828d00a44701" + integrity sha512-tyZwGZu2mYkNSqigFP1CK3aZYxuYwrqcrIh8ljd8tfD1UDPJkAbQeayq62U572po2IuWVB1BqIG8JIXp5POOTA== dependencies: - "@mdit-vue/shared" "0.12.1" - "@mdit-vue/types" "0.12.0" - "@types/markdown-it" "^13.0.0" - markdown-it "^13.0.1" + "@mdit-vue/shared" "2.1.4" + "@mdit-vue/types" "2.1.4" + "@types/markdown-it" "^14.1.2" + markdown-it "^14.1.0" -"@mdit-vue/plugin-sfc@^0.12.1": - version "0.12.1" - resolved "https://registry.npmjs.org/@mdit-vue/plugin-sfc/-/plugin-sfc-0.12.1.tgz#49d6060e71e4016252ac35140f6960eb9a50cb6f" - integrity sha512-6j332CsSqumy1+StIM3XphdXG1zj9NXuWestDJrKgS3OLy5P0EAioXScUYiZYysw61ZG+2pP37MW7Hg+eHbyIg== +"@mdit-vue/plugin-sfc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@mdit-vue/plugin-sfc/-/plugin-sfc-2.1.4.tgz#b63a3717d3086d93da978cbd598a907a0974f56f" + integrity sha512-oqAlMulkz280xUJIkormzp6Ps0x5WULZrwRivylWJWDEyVAFCj5VgR3Dx6CP2jdgyuPXwW3+gh2Kzw+Xe+kEIQ== dependencies: - "@mdit-vue/types" "0.12.0" - "@types/markdown-it" "^13.0.0" - markdown-it "^13.0.1" + "@mdit-vue/types" "2.1.4" + "@types/markdown-it" "^14.1.2" + markdown-it "^14.1.0" -"@mdit-vue/plugin-title@^0.12.1": - version "0.12.1" - resolved "https://registry.npmjs.org/@mdit-vue/plugin-title/-/plugin-title-0.12.1.tgz#d01c2b0e9fd374fc3d52a551689cadf5fe066890" - integrity sha512-JOsiDj+CryGbrTDWUnDAwB9kSkN6o9GDo3udR6BPDgBNVb3zAnx9ZNaRpEhDW1LnQhf9/LYicWJ2eTNRKPcJNQ== +"@mdit-vue/plugin-title@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@mdit-vue/plugin-title/-/plugin-title-2.1.4.tgz#e37f5123b664b4b15aa03adc6c89f1354d9f3cf4" + integrity sha512-uuF24gJvvLVIWG/VBtCDRqMndfd5JzOXoBoHPdKKLk3PA4P84dsB0u0NnnBUEl/YBOumdCotasn7OfFMmco9uQ== dependencies: - "@mdit-vue/shared" "0.12.1" - "@mdit-vue/types" "0.12.0" - "@types/markdown-it" "^13.0.0" - markdown-it "^13.0.1" + "@mdit-vue/shared" "2.1.4" + "@mdit-vue/types" "2.1.4" + "@types/markdown-it" "^14.1.2" + markdown-it "^14.1.0" -"@mdit-vue/plugin-toc@^0.12.1": - version "0.12.1" - resolved "https://registry.npmjs.org/@mdit-vue/plugin-toc/-/plugin-toc-0.12.1.tgz#ed650a05d3f4b84637e79d8b3b06e89295cc78bf" - integrity sha512-nFGwTwVa8GLCKJMV7cGST7lYuljSjEiCTPgKIpQ/WifwouHsQaL/rnBDr22kpzY2hRTAhM3+TT5GDwLyxa/e6A== +"@mdit-vue/plugin-toc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@mdit-vue/plugin-toc/-/plugin-toc-2.1.4.tgz#1511c3f6eab4a9588d9c0a02cc06da22f7d6de04" + integrity sha512-vvOU7u6aNmvPwKXzmoHion1sv4zChBp20LDpSHlRlXc3btLwdYIA0DR+UiO5YeyLUAO0XSHQKBpsIWi57K9/3w== dependencies: - "@mdit-vue/shared" "0.12.1" - "@mdit-vue/types" "0.12.0" - "@types/markdown-it" "^13.0.0" - markdown-it "^13.0.1" + "@mdit-vue/shared" "2.1.4" + "@mdit-vue/types" "2.1.4" + "@types/markdown-it" "^14.1.2" + markdown-it "^14.1.0" -"@mdit-vue/shared@0.12.1", "@mdit-vue/shared@^0.12.1": - version "0.12.1" - resolved "https://registry.npmjs.org/@mdit-vue/shared/-/shared-0.12.1.tgz#b67cbfc71cac6fb49a7a0be169cd53d921e30344" - integrity sha512-bXgd0KThe4jC2leCFDFsyrudXIckvTwV4WnQK/rRMrXq0/BAuVdSNdIv1LGCWZxD5+oDyPyEPd0lalTIFwqsmg== +"@mdit-vue/shared@2.1.4", "@mdit-vue/shared@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@mdit-vue/shared/-/shared-2.1.4.tgz#4d653befe0b05af94bb8daf60965f34399519d97" + integrity sha512-Axd8g2iKQTMuHcPXZH5JY3hbSMeLyoeu0ftdgMrjuPzHpJnWiPSAnA0dAx5NQFQqZkXHhyIrAssLSrOWjFmPKg== dependencies: - "@mdit-vue/types" "0.12.0" - "@types/markdown-it" "^13.0.0" - markdown-it "^13.0.1" + "@mdit-vue/types" "2.1.4" + "@types/markdown-it" "^14.1.2" + markdown-it "^14.1.0" -"@mdit-vue/types@0.12.0", "@mdit-vue/types@^0.12.0": - version "0.12.0" - resolved "https://registry.npmjs.org/@mdit-vue/types/-/types-0.12.0.tgz#096ff57d3590d076f7d7561dbc9956fb0bb89fe1" - integrity sha512-mrC4y8n88BYvgcgzq9bvTlDgFyi2zuvzmPilRvRc3Uz1iIvq8mDhxJ0rHKFUNzPEScpDvJdIujqiDrulMqiudA== +"@mdit-vue/types@2.1.4", "@mdit-vue/types@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@mdit-vue/types/-/types-2.1.4.tgz#9f4ea85fe09d3144ac77665bcdee7962ef487631" + integrity sha512-QiGNZslz+zXUs2X8D11UQhB4KAMZ0DZghvYxa7+1B+VMLcDtz//XHpWbcuexjzE3kBXSxIUTPH3eSQCa0puZHA== + +"@mdit/helper@0.22.1": + version "0.22.1" + resolved "https://registry.yarnpkg.com/@mdit/helper/-/helper-0.22.1.tgz#8e3f6640d9bcfebf6019cf1c4fd7a8a2ee82257b" + integrity sha512-lDpajcdAk84aYCNAM/Mi3djw38DJq7ocLw5VOSMu/u2YKX3/OD37a6Qb59in8Uyp4SiAbQoSHa8px6hgHEpB5g== + dependencies: + "@types/markdown-it" "^14.1.2" + +"@mdit/plugin-alert@^0.22.1": + version "0.22.1" + resolved "https://registry.yarnpkg.com/@mdit/plugin-alert/-/plugin-alert-0.22.1.tgz#332248a32219112b605d2e6387ac78cab05d4dfc" + integrity sha512-p09Lktuwbex3lINhUamAeQ/OFbIOyC2YDycL9RoOCLs3dkL9NvOv7pvJZ85+nYFK8uP+nTBKSCL6BKXviMsFmw== + dependencies: + "@types/markdown-it" "^14.1.2" + +"@mdit/plugin-container@^0.22.1": + version "0.22.1" + resolved "https://registry.yarnpkg.com/@mdit/plugin-container/-/plugin-container-0.22.1.tgz#9056911aeff5039904b3e93172e009309d55adcf" + integrity sha512-UY1NRRb/Su9YxQerkCF8bWG0fY/V24b9f/jVWh5DhD+Dw4MifVbV6p5TlaeQ854Xz9prkhyXSugiWbjhju6BgQ== + dependencies: + "@types/markdown-it" "^14.1.2" + +"@mdit/plugin-tab@^0.22.2": + version "0.22.2" + resolved "https://registry.yarnpkg.com/@mdit/plugin-tab/-/plugin-tab-0.22.2.tgz#98043a0e9b1894babee9e54602c90a11671664f0" + integrity sha512-3BbC3GTCiws2HsFG+BsXhuss6O90OLIvnBRrKP4IQtMIWlcEaxDf1nNvYYFt3sWipSGI4JuO3S7BxQ1dZkabKg== + dependencies: + "@mdit/helper" "0.22.1" + "@types/markdown-it" "^14.1.2" "@nodelib/fs.scandir@2.1.5": version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" @@ -203,562 +277,858 @@ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3": version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@types/debug@^4.1.8": - version "4.1.8" - resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz#cef723a5d0a90990313faec2d1e22aee5eecb317" - integrity sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ== +"@pkgr/core@^0.2.4": + version "0.2.7" + resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.2.7.tgz#eb5014dfd0b03e7f3ba2eeeff506eed89b028058" + integrity sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg== + +"@rolldown/pluginutils@1.0.0-beta.19": + version "1.0.0-beta.19" + resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.19.tgz#fc3b95145a8e7a3bf92754269d8e4f40eea8a244" + integrity sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA== + +"@rollup/rollup-android-arm-eabi@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.2.tgz#6819b7f1e41a49af566f629a1556eaeea774d043" + integrity sha512-g0dF8P1e2QYPOj1gu7s/3LVP6kze9A7m6x0BZ9iTdXK8N5c2V7cpBKHV3/9A4Zd8xxavdhK0t4PnqjkqVmUc9Q== + +"@rollup/rollup-android-arm64@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.2.tgz#7bd5591af68c64a75be1779e2b20f187878daba9" + integrity sha512-Yt5MKrOosSbSaAK5Y4J+vSiID57sOvpBNBR6K7xAaQvk3MkcNVV0f9fE20T+41WYN8hDn6SGFlFrKudtx4EoxA== + +"@rollup/rollup-darwin-arm64@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.2.tgz#e216c333e448c67973386e46dbfe8e381aafb055" + integrity sha512-EsnFot9ZieM35YNA26nhbLTJBHD0jTwWpPwmRVDzjylQT6gkar+zenfb8mHxWpRrbn+WytRRjE0WKsfaxBkVUA== + +"@rollup/rollup-darwin-x64@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.2.tgz#202f80eea3acfe3f67496fedffa006a5f1ce7f5a" + integrity sha512-dv/t1t1RkCvJdWWxQ2lWOO+b7cMsVw5YFaS04oHpZRWehI1h0fV1gF4wgGCTyQHHjJDfbNpwOi6PXEafRBBezw== + +"@rollup/rollup-freebsd-arm64@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.2.tgz#4880f9769f1a7eec436b9c146e1d714338c26567" + integrity sha512-W4tt4BLorKND4qeHElxDoim0+BsprFTwb+vriVQnFFtT/P6v/xO5I99xvYnVzKWrK6j7Hb0yp3x7V5LUbaeOMg== + +"@rollup/rollup-freebsd-x64@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.2.tgz#647d6e333349b1c0fb322c2827ba1a53a0f10301" + integrity sha512-tdT1PHopokkuBVyHjvYehnIe20fxibxFCEhQP/96MDSOcyjM/shlTkZZLOufV3qO6/FQOSiJTBebhVc12JyPTA== + +"@rollup/rollup-linux-arm-gnueabihf@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.2.tgz#7ba5c97a7224f49618861d093c4a7b40fa50867b" + integrity sha512-+xmiDGGaSfIIOXMzkhJ++Oa0Gwvl9oXUeIiwarsdRXSe27HUIvjbSIpPxvnNsRebsNdUo7uAiQVgBD1hVriwSQ== + +"@rollup/rollup-linux-arm-musleabihf@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.2.tgz#f858dcf498299d6c625ec697a5191e0e41423905" + integrity sha512-bDHvhzOfORk3wt8yxIra8N4k/N0MnKInCW5OGZaeDYa/hMrdPaJzo7CSkjKZqX4JFUWjUGm88lI6QJLCM7lDrA== + +"@rollup/rollup-linux-arm64-gnu@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.2.tgz#c0f1fc20c50666c61f574536a00cdd486b6aaae1" + integrity sha512-NMsDEsDiYghTbeZWEGnNi4F0hSbGnsuOG+VnNvxkKg0IGDvFh7UVpM/14mnMwxRxUf9AdAVJgHPvKXf6FpMB7A== + +"@rollup/rollup-linux-arm64-musl@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.2.tgz#0214efc3e404ddf108e946ad5f7e4ee2792a155a" + integrity sha512-lb5bxXnxXglVq+7imxykIp5xMq+idehfl+wOgiiix0191av84OqbjUED+PRC5OA8eFJYj5xAGcpAZ0pF2MnW+A== + +"@rollup/rollup-linux-loongarch64-gnu@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.2.tgz#8303c4ea2ae7bcbb96b2c77cfb53527d964bfceb" + integrity sha512-Yl5Rdpf9pIc4GW1PmkUGHdMtbx0fBLE1//SxDmuf3X0dUC57+zMepow2LK0V21661cjXdTn8hO2tXDdAWAqE5g== + +"@rollup/rollup-linux-powerpc64le-gnu@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.2.tgz#4197ffbc61809629094c0fccf825e43a40fbc0ca" + integrity sha512-03vUDH+w55s680YYryyr78jsO1RWU9ocRMaeV2vMniJJW/6HhoTBwyyiiTPVHNWLnhsnwcQ0oH3S9JSBEKuyqw== + +"@rollup/rollup-linux-riscv64-gnu@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.2.tgz#bcb99c9004c9b91e3704a6a70c892cb0599b1f42" + integrity sha512-iYtAqBg5eEMG4dEfVlkqo05xMOk6y/JXIToRca2bAWuqjrJYJlx/I7+Z+4hSrsWU8GdJDFPL4ktV3dy4yBSrzg== + +"@rollup/rollup-linux-riscv64-musl@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.2.tgz#3e943bae9b8b4637c573c1922392beb8a5e81acb" + integrity sha512-e6vEbgaaqz2yEHqtkPXa28fFuBGmUJ0N2dOJK8YUfijejInt9gfCSA7YDdJ4nYlv67JfP3+PSWFX4IVw/xRIPg== + +"@rollup/rollup-linux-s390x-gnu@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.2.tgz#dc43fb467bff9547f5b9937f38668da07fa8fa9f" + integrity sha512-evFOtkmVdY3udE+0QKrV5wBx7bKI0iHz5yEVx5WqDJkxp9YQefy4Mpx3RajIVcM6o7jxTvVd/qpC1IXUhGc1Mw== + +"@rollup/rollup-linux-x64-gnu@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.2.tgz#0699c560fa6ce6b846581a7e6c30c85c22a3f0da" + integrity sha512-/bXb0bEsWMyEkIsUL2Yt5nFB5naLAwyOWMEviQfQY1x3l5WsLKgvZf66TM7UTfED6erckUVUJQ/jJ1FSpm3pRQ== + +"@rollup/rollup-linux-x64-musl@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.2.tgz#9fb1becedcdc9e227d4748576eb8ba2fad8d2e29" + integrity sha512-3D3OB1vSSBXmkGEZR27uiMRNiwN08/RVAcBKwhUYPaiZ8bcvdeEwWPvbnXvvXHY+A/7xluzcN+kaiOFNiOZwWg== + +"@rollup/rollup-win32-arm64-msvc@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.2.tgz#fcf3e62edd76c560252b819f69627685f65887d7" + integrity sha512-VfU0fsMK+rwdK8mwODqYeM2hDrF2WiHaSmCBrS7gColkQft95/8tphyzv2EupVxn3iE0FI78wzffoULH1G+dkw== + +"@rollup/rollup-win32-ia32-msvc@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.2.tgz#45a5304491d6da4666f6159be4f739d4d43a283f" + integrity sha512-+qMUrkbUurpE6DVRjiJCNGZBGo9xM4Y0FXU5cjgudWqIBWbcLkjE3XprJUsOFgC6xjBClwVa9k6O3A7K3vxb5Q== + +"@rollup/rollup-win32-x64-msvc@4.44.2": + version "4.44.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.2.tgz#660018c9696ad4f48abe8c5d56db53c81aadba25" + integrity sha512-3+QZROYfJ25PDcxFF66UEk8jGWigHJeecZILvkPkyQN7oc5BvFo4YEXFkOs154j3FTMp9mn9Ky8RCOwastduEA== + +"@shikijs/core@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@shikijs/core/-/core-3.7.0.tgz#5300db80449f3c2d2fad825f3ec8095ea38355af" + integrity sha512-yilc0S9HvTPyahHpcum8eonYrQtmGTU0lbtwxhA6jHv4Bm1cAdlPFRCJX4AHebkCm75aKTjjRAW+DezqD1b/cg== + dependencies: + "@shikijs/types" "3.7.0" + "@shikijs/vscode-textmate" "^10.0.2" + "@types/hast" "^3.0.4" + hast-util-to-html "^9.0.5" + +"@shikijs/engine-javascript@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@shikijs/engine-javascript/-/engine-javascript-3.7.0.tgz#e37c9568ce1b6694db6cd33927243e897159ab2e" + integrity sha512-0t17s03Cbv+ZcUvv+y33GtX75WBLQELgNdVghnsdhTgU3hVcWcMsoP6Lb0nDTl95ZJfbP1mVMO0p3byVh3uuzA== + dependencies: + "@shikijs/types" "3.7.0" + "@shikijs/vscode-textmate" "^10.0.2" + oniguruma-to-es "^4.3.3" + +"@shikijs/engine-oniguruma@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@shikijs/engine-oniguruma/-/engine-oniguruma-3.7.0.tgz#77afe066ed245ae9c3e790ca22344195e974ed54" + integrity sha512-5BxcD6LjVWsGu4xyaBC5bu8LdNgPCVBnAkWTtOCs/CZxcB22L8rcoWfv7Hh/3WooVjBZmFtyxhgvkQFedPGnFw== + dependencies: + "@shikijs/types" "3.7.0" + "@shikijs/vscode-textmate" "^10.0.2" + +"@shikijs/langs@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@shikijs/langs/-/langs-3.7.0.tgz#c201d0218e9f3a74d92bd3f53167f0fb897c5b6e" + integrity sha512-1zYtdfXLr9xDKLTGy5kb7O0zDQsxXiIsw1iIBcNOO8Yi5/Y1qDbJ+0VsFoqTlzdmneO8Ij35g7QKF8kcLyznCQ== + dependencies: + "@shikijs/types" "3.7.0" + +"@shikijs/themes@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@shikijs/themes/-/themes-3.7.0.tgz#e4fb08ca56826dd3b0a48a555140cb090ce0a639" + integrity sha512-VJx8497iZPy5zLiiCTSIaOChIcKQwR0FebwE9S3rcN0+J/GTWwQ1v/bqhTbpbY3zybPKeO8wdammqkpXc4NVjQ== + dependencies: + "@shikijs/types" "3.7.0" + +"@shikijs/transformers@^3.6.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@shikijs/transformers/-/transformers-3.7.0.tgz#c0665f12cc27a3a5a7cec04e49d6a1393a16d9d0" + integrity sha512-VplaqIMRNsNOorCXJHkbF5S0pT6xm8Z/s7w7OPZLohf8tR93XH0krvUafpNy/ozEylrWuShJF0+ftEB+wFRwGA== + dependencies: + "@shikijs/core" "3.7.0" + "@shikijs/types" "3.7.0" + +"@shikijs/types@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@shikijs/types/-/types-3.7.0.tgz#265641647708663ec8a18a9fab29449076da5a17" + integrity sha512-MGaLeaRlSWpnP0XSAum3kP3a8vtcTsITqoEPYdt3lQG3YCdQH4DnEhodkYcNMcU0uW0RffhoD1O3e0vG5eSBBg== + dependencies: + "@shikijs/vscode-textmate" "^10.0.2" + "@types/hast" "^3.0.4" + +"@shikijs/vscode-textmate@^10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz#a90ab31d0cc1dfb54c66a69e515bf624fa7b2224" + integrity sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg== + +"@sindresorhus/merge-streams@^2.1.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz#719df7fb41766bc143369eaa0dd56d8dc87c9958" + integrity sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg== + +"@types/debug@^4.1.12": + version "4.1.12" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" + integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== dependencies: "@types/ms" "*" -"@types/fs-extra@^11.0.1": - version "11.0.1" - resolved "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.1.tgz#f542ec47810532a8a252127e6e105f487e0a6ea5" - integrity sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA== +"@types/estree@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" + integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== + +"@types/fs-extra@^11.0.4": + version "11.0.4" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-11.0.4.tgz#e16a863bb8843fba8c5004362b5a73e17becca45" + integrity sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ== dependencies: "@types/jsonfile" "*" "@types/node" "*" -"@types/hash-sum@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@types/hash-sum/-/hash-sum-1.0.0.tgz#838f4e8627887d42b162d05f3d96ca636c2bc504" - integrity sha512-FdLBT93h3kcZ586Aee66HPCVJ6qvxVjBlDWNmxSGSbCZe9hTsjRKdSsl4y1T+3zfujxo9auykQMnFsfyHWD7wg== +"@types/hash-sum@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@types/hash-sum/-/hash-sum-1.0.2.tgz#32e6e4343ee25914b2a3822f27e8e641ca534f63" + integrity sha512-UP28RddqY8xcU0SCEp9YKutQICXpaAq9N8U2klqF5hegGha7KzTOL8EdhIIV3bOSGBzjEpN9bU/d+nNZBdJYVw== + +"@types/hast@^3.0.0", "@types/hast@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.4.tgz#1d6b39993b82cea6ad783945b0508c25903e15aa" + integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== + dependencies: + "@types/unist" "*" "@types/jsonfile@*": - version "6.1.1" - resolved "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.1.tgz#ac84e9aefa74a2425a0fb3012bdea44f58970f1b" - integrity sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png== + version "6.1.4" + resolved "https://registry.yarnpkg.com/@types/jsonfile/-/jsonfile-6.1.4.tgz#614afec1a1164e7d670b4a7ad64df3e7beb7b702" + integrity sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ== dependencies: "@types/node" "*" -"@types/linkify-it@*": - version "3.0.3" - resolved "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.3.tgz#15a0712296c5041733c79efe233ba17ae5a7587b" - integrity sha512-pTjcqY9E4nOI55Wgpz7eiI8+LzdYnw3qxXCfHyBDdPbYvbyLgWLJGh8EdPvqawwMK1Uo1794AUkkR38Fr0g+2g== +"@types/linkify-it@^5": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-5.0.0.tgz#21413001973106cda1c3a9b91eedd4ccd5469d76" + integrity sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q== -"@types/markdown-it-emoji@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@types/markdown-it-emoji/-/markdown-it-emoji-2.0.2.tgz#f12a97df2758f38b4b38f277b468780459faff14" - integrity sha512-2ln8Wjbcj/0oRi/6VnuMeWEHHuK8uapFttvcLmDIe1GKCsFBLOLBX+D+xhDa9oWOQV0IpvxwrSfKKssAqqroog== +"@types/markdown-it-emoji@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/markdown-it-emoji/-/markdown-it-emoji-3.0.1.tgz#035d4d38110113ea0ce911f06bc2c2b03ca1ad42" + integrity sha512-cz1j8R35XivBqq9mwnsrP2fsz2yicLhB8+PDtuVkKOExwEdsVBNI+ROL3sbhtR5occRZ66vT0QnwFZCqdjf3pA== dependencies: - "@types/markdown-it" "*" + "@types/markdown-it" "^14" -"@types/markdown-it@*", "@types/markdown-it@^13.0.0", "@types/markdown-it@^13.0.1": - version "13.0.1" - resolved "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.1.tgz#2f45bd54315f5db2d9bd909ec7fd4d994cf75df4" - integrity sha512-SUEb8Frsxs3D5Gg9xek6i6EG6XQ5s+O+ZdQzIPESZVZw3Pv3CPQfjCJBI+RgqZd1IBeu18S0Rn600qpPnEK37w== +"@types/markdown-it@^14", "@types/markdown-it@^14.1.2": + version "14.1.2" + resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-14.1.2.tgz#57f2532a0800067d9b934f3521429a2e8bfb4c61" + integrity sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog== dependencies: - "@types/linkify-it" "*" - "@types/mdurl" "*" + "@types/linkify-it" "^5" + "@types/mdurl" "^2" -"@types/mdurl@*": - version "1.0.2" - resolved "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz#e2ce9d83a613bacf284c7be7d491945e39e1f8e9" - integrity sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA== +"@types/mdast@^4.0.0": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.4.tgz#7ccf72edd2f1aa7dd3437e180c64373585804dd6" + integrity sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA== + dependencies: + "@types/unist" "*" + +"@types/mdurl@^2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-2.0.0.tgz#d43878b5b20222682163ae6f897b20447233bdfd" + integrity sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg== "@types/ms@*": - version "0.7.31" - resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" - integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78" + integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== "@types/node@*": - version "20.5.9" - resolved "https://registry.npmjs.org/@types/node/-/node-20.5.9.tgz#a70ec9d8fa0180a314c3ede0e20ea56ff71aed9a" - integrity sha512-PcGNd//40kHAS3sTlzKB9C9XL4K0sTup8nbG5lC14kzEteTNuAFh9u5nA0o5TWnSG2r/JNPRXFVcHJIIeRlmqQ== - -"@types/web-bluetooth@^0.0.17": - version "0.0.17" - resolved "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.17.tgz#5c9f3c617f64a9735d7b72a7cc671e166d900c40" - integrity sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA== - -"@vitejs/plugin-vue@^4.3.3": - version "4.3.4" - resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.3.4.tgz#a289dff38e01949fe7be581d5542cabaeb961dec" - integrity sha512-ciXNIHKPriERBisHFBvnTbfKa6r9SAesOYXeGDzgegcvy9Q4xdScSHAmKbNT0M3O0S9LKhIf5/G+UYG4NnnzYw== - -"@vue/compiler-core@3.3.4": - version "3.3.4" - resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz#7fbf591c1c19e1acd28ffd284526e98b4f581128" - integrity sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g== + version "24.0.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.0.10.tgz#f65a169779bf0d70203183a1890be7bee8ca2ddb" + integrity sha512-ENHwaH+JIRTDIEEbDK6QSQntAYGtbvdDXnMXnZaZ6k13Du1dPMmprkEHIL7ok2Wl2aZevetwTAb5S+7yIF+enA== dependencies: - "@babel/parser" "^7.21.3" - "@vue/shared" "3.3.4" + undici-types "~7.8.0" + +"@types/node@^17.0.5": + version "17.0.45" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" + integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== + +"@types/sax@^1.2.1": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@types/sax/-/sax-1.2.7.tgz#ba5fe7df9aa9c89b6dff7688a19023dd2963091d" + integrity sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A== + dependencies: + "@types/node" "*" + +"@types/unist@*", "@types/unist@^3.0.0": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c" + integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== + +"@types/web-bluetooth@^0.0.21": + version "0.0.21" + resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz#525433c784aed9b457aaa0ee3d92aeb71f346b63" + integrity sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA== + +"@ungap/structured-clone@^1.0.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" + integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== + +"@vitejs/plugin-vue@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-6.0.0.tgz#3f8c3cdeb709d9646770eebead1babe6409bf059" + integrity sha512-iAliE72WsdhjzTOp2DtvKThq1VBC4REhwRcaA+zPAAph6I+OQhUXv+Xu2KS7ElxYtb7Zc/3R30Hwv1DxEo7NXQ== + dependencies: + "@rolldown/pluginutils" "1.0.0-beta.19" + +"@vue/compiler-core@3.5.17": + version "3.5.17" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.5.17.tgz#23d291bd01b863da3ef2e26e7db84d8e01a9b4c5" + integrity sha512-Xe+AittLbAyV0pabcN7cP7/BenRBNcteM4aSDCtRvGw0d9OL+HG1u/XHLY/kt1q4fyMeZYXyIYrsHuPSiDPosA== + dependencies: + "@babel/parser" "^7.27.5" + "@vue/shared" "3.5.17" + entities "^4.5.0" estree-walker "^2.0.2" - source-map-js "^1.0.2" + source-map-js "^1.2.1" -"@vue/compiler-dom@3.3.4": - version "3.3.4" - resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz#f56e09b5f4d7dc350f981784de9713d823341151" - integrity sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w== +"@vue/compiler-dom@3.5.17": + version "3.5.17" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.5.17.tgz#7bc19a20e23b670243a64b47ce3a890239b870be" + integrity sha512-+2UgfLKoaNLhgfhV5Ihnk6wB4ljyW1/7wUIog2puUqajiC29Lp5R/IKDdkebh9jTbTogTbsgB+OY9cEWzG95JQ== dependencies: - "@vue/compiler-core" "3.3.4" - "@vue/shared" "3.3.4" + "@vue/compiler-core" "3.5.17" + "@vue/shared" "3.5.17" -"@vue/compiler-sfc@3.3.4": - version "3.3.4" - resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz#b19d942c71938893535b46226d602720593001df" - integrity sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ== +"@vue/compiler-sfc@3.5.17": + version "3.5.17" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.5.17.tgz#c518871276e26593612bdab36f3f5bcd053b13bf" + integrity sha512-rQQxbRJMgTqwRugtjw0cnyQv9cP4/4BxWfTdRBkqsTfLOHWykLzbOc3C4GGzAmdMDxhzU/1Ija5bTjMVrddqww== dependencies: - "@babel/parser" "^7.20.15" - "@vue/compiler-core" "3.3.4" - "@vue/compiler-dom" "3.3.4" - "@vue/compiler-ssr" "3.3.4" - "@vue/reactivity-transform" "3.3.4" - "@vue/shared" "3.3.4" + "@babel/parser" "^7.27.5" + "@vue/compiler-core" "3.5.17" + "@vue/compiler-dom" "3.5.17" + "@vue/compiler-ssr" "3.5.17" + "@vue/shared" "3.5.17" estree-walker "^2.0.2" - magic-string "^0.30.0" - postcss "^8.1.10" - source-map-js "^1.0.2" + magic-string "^0.30.17" + postcss "^8.5.6" + source-map-js "^1.2.1" -"@vue/compiler-ssr@3.3.4": - version "3.3.4" - resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz#9d1379abffa4f2b0cd844174ceec4a9721138777" - integrity sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ== +"@vue/compiler-ssr@3.5.17": + version "3.5.17" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.5.17.tgz#14ba3b7bba6e0e1fd02002316263165a5d1046c7" + integrity sha512-hkDbA0Q20ZzGgpj5uZjb9rBzQtIHLS78mMilwrlpWk2Ep37DYntUz0PonQ6kr113vfOEdM+zTBuJDaceNIW0tQ== dependencies: - "@vue/compiler-dom" "3.3.4" - "@vue/shared" "3.3.4" + "@vue/compiler-dom" "3.5.17" + "@vue/shared" "3.5.17" -"@vue/devtools-api@^6.5.0": - version "6.5.0" - resolved "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz#98b99425edee70b4c992692628fa1ea2c1e57d07" - integrity sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q== +"@vue/devtools-api@^6.6.4": + version "6.6.4" + resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz#cbe97fe0162b365edc1dba80e173f90492535343" + integrity sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g== -"@vue/reactivity-transform@3.3.4": - version "3.3.4" - resolved "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz#52908476e34d6a65c6c21cd2722d41ed8ae51929" - integrity sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw== +"@vue/devtools-api@^7.7.7": + version "7.7.7" + resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-7.7.7.tgz#5ef5f55f60396220725a273548c0d7ee983d5d34" + integrity sha512-lwOnNBH2e7x1fIIbVT7yF5D+YWhqELm55/4ZKf45R9T8r9dE2AIOy8HKjfqzGsoTHFbWbr337O4E0A0QADnjBg== dependencies: - "@babel/parser" "^7.20.15" - "@vue/compiler-core" "3.3.4" - "@vue/shared" "3.3.4" - estree-walker "^2.0.2" - magic-string "^0.30.0" + "@vue/devtools-kit" "^7.7.7" -"@vue/reactivity@3.3.4": - version "3.3.4" - resolved "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz#a27a29c6cd17faba5a0e99fbb86ee951653e2253" - integrity sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ== +"@vue/devtools-kit@^7.7.7": + version "7.7.7" + resolved "https://registry.yarnpkg.com/@vue/devtools-kit/-/devtools-kit-7.7.7.tgz#41a64f9526e9363331c72405544df020ce2e3641" + integrity sha512-wgoZtxcTta65cnZ1Q6MbAfePVFxfM+gq0saaeytoph7nEa7yMXoi6sCPy4ufO111B9msnw0VOWjPEFCXuAKRHA== dependencies: - "@vue/shared" "3.3.4" + "@vue/devtools-shared" "^7.7.7" + birpc "^2.3.0" + hookable "^5.5.3" + mitt "^3.0.1" + perfect-debounce "^1.0.0" + speakingurl "^14.0.1" + superjson "^2.2.2" -"@vue/runtime-core@3.3.4": - version "3.3.4" - resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz#4bb33872bbb583721b340f3088888394195967d1" - integrity sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA== +"@vue/devtools-shared@^7.7.7": + version "7.7.7" + resolved "https://registry.yarnpkg.com/@vue/devtools-shared/-/devtools-shared-7.7.7.tgz#ff14aa8c1262ebac8c0397d3b09f767cd489750c" + integrity sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw== dependencies: - "@vue/reactivity" "3.3.4" - "@vue/shared" "3.3.4" + rfdc "^1.4.1" -"@vue/runtime-dom@3.3.4": - version "3.3.4" - resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz#992f2579d0ed6ce961f47bbe9bfe4b6791251566" - integrity sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ== +"@vue/reactivity@3.5.17": + version "3.5.17" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.5.17.tgz#169b5dcf96c7f23788e5ed9745ec8a7227f2125e" + integrity sha512-l/rmw2STIscWi7SNJp708FK4Kofs97zc/5aEPQh4bOsReD/8ICuBcEmS7KGwDj5ODQLYWVN2lNibKJL1z5b+Lw== dependencies: - "@vue/runtime-core" "3.3.4" - "@vue/shared" "3.3.4" - csstype "^3.1.1" + "@vue/shared" "3.5.17" -"@vue/server-renderer@3.3.4": - version "3.3.4" - resolved "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz#ea46594b795d1536f29bc592dd0f6655f7ea4c4c" - integrity sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ== +"@vue/runtime-core@3.5.17": + version "3.5.17" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.5.17.tgz#b17bd41e13011e85e9b1025545292d43f5512730" + integrity sha512-QQLXa20dHg1R0ri4bjKeGFKEkJA7MMBxrKo2G+gJikmumRS7PTD4BOU9FKrDQWMKowz7frJJGqBffYMgQYS96Q== dependencies: - "@vue/compiler-ssr" "3.3.4" - "@vue/shared" "3.3.4" + "@vue/reactivity" "3.5.17" + "@vue/shared" "3.5.17" -"@vue/shared@3.3.4", "@vue/shared@^3.3.4": - version "3.3.4" - resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz#06e83c5027f464eef861c329be81454bc8b70780" - integrity sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ== - -"@vuepress/bundler-vite@2.0.0-beta.67": - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/@vuepress/bundler-vite/-/bundler-vite-2.0.0-beta.67.tgz#a259fc47156afdfe494dc7a5af3578a1d602f7f3" - integrity sha512-W6YXixxu2G+xPECPFvx4Tzv5fmpBYvApEYVw7qfSNf/5YZ6aeIfV0AMGJZvhk7R/KniofvBTGCjAMSK4fqKp8w== +"@vue/runtime-dom@3.5.17": + version "3.5.17" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.5.17.tgz#8e325e29cd03097fe179032fc8df384a426fc83a" + integrity sha512-8El0M60TcwZ1QMz4/os2MdlQECgGoVHPuLnQBU3m9h3gdNRW9xRmI8iLS4t/22OQlOE6aJvNNlBiCzPHur4H9g== dependencies: - "@vitejs/plugin-vue" "^4.3.3" - "@vuepress/client" "2.0.0-beta.67" - "@vuepress/core" "2.0.0-beta.67" - "@vuepress/shared" "2.0.0-beta.67" - "@vuepress/utils" "2.0.0-beta.67" - autoprefixer "^10.4.15" + "@vue/reactivity" "3.5.17" + "@vue/runtime-core" "3.5.17" + "@vue/shared" "3.5.17" + csstype "^3.1.3" + +"@vue/server-renderer@3.5.17": + version "3.5.17" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.5.17.tgz#9b8fd6a40a3d55322509fafe78ac841ede649fbe" + integrity sha512-BOHhm8HalujY6lmC3DbqF6uXN/K00uWiEeF22LfEsm9Q93XeJ/plHTepGwf6tqFcF7GA5oGSSAAUock3VvzaCA== + dependencies: + "@vue/compiler-ssr" "3.5.17" + "@vue/shared" "3.5.17" + +"@vue/shared@3.5.17", "@vue/shared@^3.5.17": + version "3.5.17" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.5.17.tgz#e8b3a41f0be76499882a89e8ed40d86a70fa4b70" + integrity sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg== + +"@vuepress/bundler-vite@^2.0.0-rc.24": + version "2.0.0-rc.24" + resolved "https://registry.yarnpkg.com/@vuepress/bundler-vite/-/bundler-vite-2.0.0-rc.24.tgz#0f39ef18e3533d1e0ebf126ee63beb2dfe69fdbe" + integrity sha512-prgT3f6xOBC43rhfvzlfXY0wJKsI+oV5RC4s0YyVPZ0s5VQKI3RRD1aY+euiVFPks3Mjx+DxEtKBOLsJ7I6crA== + dependencies: + "@vitejs/plugin-vue" "^6.0.0" + "@vuepress/bundlerutils" "2.0.0-rc.24" + "@vuepress/client" "2.0.0-rc.24" + "@vuepress/core" "2.0.0-rc.24" + "@vuepress/shared" "2.0.0-rc.24" + "@vuepress/utils" "2.0.0-rc.24" + autoprefixer "^10.4.21" connect-history-api-fallback "^2.0.0" - postcss "^8.4.28" - postcss-load-config "^4.0.1" - rollup "^3.28.1" - vite "~4.4.9" - vue "^3.3.4" - vue-router "^4.2.4" + postcss "^8.5.6" + postcss-load-config "^6.0.1" + rollup "^4.44.1" + vite "~7.0.0" + vue "^3.5.17" + vue-router "^4.5.1" -"@vuepress/cli@2.0.0-beta.67": - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/@vuepress/cli/-/cli-2.0.0-beta.67.tgz#f50e25dab06355f0b10f27ac27e926bfe6cbb317" - integrity sha512-OWd5JMq9pEHrz2MTTQV91EoG+7o18s1JWKP7GBfYQ2DRAu/Hf4rZPmluuibhFolTvnTDuTtXrfb6Wbx4iZ+M9Q== +"@vuepress/bundlerutils@2.0.0-rc.24": + version "2.0.0-rc.24" + resolved "https://registry.yarnpkg.com/@vuepress/bundlerutils/-/bundlerutils-2.0.0-rc.24.tgz#bff3a1164d5b023fd165be86d59a62f4e7862078" + integrity sha512-gtO0zhb57SyDotgdSI+TMAwJKg7KC75/G4UoWRwkyAHREsbWUInHQfXzzaFMnKmkdcB9YeXXbOnWGwZjRn74ew== dependencies: - "@vuepress/core" "2.0.0-beta.67" - "@vuepress/shared" "2.0.0-beta.67" - "@vuepress/utils" "2.0.0-beta.67" + "@vuepress/client" "2.0.0-rc.24" + "@vuepress/core" "2.0.0-rc.24" + "@vuepress/shared" "2.0.0-rc.24" + "@vuepress/utils" "2.0.0-rc.24" + vue "^3.5.17" + vue-router "^4.5.1" + +"@vuepress/cli@2.0.0-rc.24": + version "2.0.0-rc.24" + resolved "https://registry.yarnpkg.com/@vuepress/cli/-/cli-2.0.0-rc.24.tgz#47e9fb50c2b06b9ea708784241b172dcffc730f5" + integrity sha512-3IJtADHg67U6q3i1n3klbBtm5TZZI3uO+MkEDq8efgK7kk27LAt+7GhxqxZCq5xJ+GPNZqElc+t3+eG9biDNFA== + dependencies: + "@vuepress/core" "2.0.0-rc.24" + "@vuepress/shared" "2.0.0-rc.24" + "@vuepress/utils" "2.0.0-rc.24" cac "^6.7.14" - chokidar "^3.5.3" - envinfo "^7.10.0" - esbuild "~0.18.20" + chokidar "^3.6.0" + envinfo "^7.14.0" + esbuild "^0.25.5" -"@vuepress/client@2.0.0-beta.67": - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/@vuepress/client/-/client-2.0.0-beta.67.tgz#7cb444eaa12032a7d07b8d59a515d291933518dc" - integrity sha512-xfXZXmZmMbCvQxUhNltuAZzpoiwM0x9ke+DdPPDBF0oGMNDlmtOlsD7NcH322vQE3ehYy5mXJttXuEmfoNOG6A== +"@vuepress/client@2.0.0-rc.24": + version "2.0.0-rc.24" + resolved "https://registry.yarnpkg.com/@vuepress/client/-/client-2.0.0-rc.24.tgz#889852f1c4a70741111222b7767fff13ad06df73" + integrity sha512-7W1FbrtsNDdWqkNoLfZKpZl8hv+j6sGCdmKtq90bRwzbaM+P2FJ6WYQ4Px4o/N0pqvr70k1zQe3A42QIeH0Ybw== dependencies: - "@vue/devtools-api" "^6.5.0" - "@vuepress/shared" "2.0.0-beta.67" - "@vueuse/core" "^10.4.1" - vue "^3.3.4" - vue-router "^4.2.4" + "@vue/devtools-api" "^7.7.7" + "@vue/devtools-kit" "^7.7.7" + "@vuepress/shared" "2.0.0-rc.24" + vue "^3.5.17" + vue-router "^4.5.1" -"@vuepress/core@2.0.0-beta.67": - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/@vuepress/core/-/core-2.0.0-beta.67.tgz#925eac48fdc27855a9e75b46c23c6dd37a1c2e4c" - integrity sha512-pbCm1x+zFKZqpJjS68sv3ziEQLMn0KM04Q6W249stcTUUBrKox2OPx+OcX/BrN6yH60OviXN8hD6MgCnFSWdZA== +"@vuepress/core@2.0.0-rc.24": + version "2.0.0-rc.24" + resolved "https://registry.yarnpkg.com/@vuepress/core/-/core-2.0.0-rc.24.tgz#aa8d7f34e9dff4e453eb156758edfff08478f48b" + integrity sha512-NfNg6+vo5BJHBsLpoiXO8pU0zKaYCZxQinidW9r4KclNfZzC8PMkeBMeCT0uxcrb+XCaiHOrW19pF0/6NYNs0Q== dependencies: - "@vuepress/client" "2.0.0-beta.67" - "@vuepress/markdown" "2.0.0-beta.67" - "@vuepress/shared" "2.0.0-beta.67" - "@vuepress/utils" "2.0.0-beta.67" - vue "^3.3.4" + "@vuepress/client" "2.0.0-rc.24" + "@vuepress/markdown" "2.0.0-rc.24" + "@vuepress/shared" "2.0.0-rc.24" + "@vuepress/utils" "2.0.0-rc.24" + vue "^3.5.17" -"@vuepress/markdown@2.0.0-beta.67": - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/@vuepress/markdown/-/markdown-2.0.0-beta.67.tgz#179f1bbe57a590da362358c8ccad1198875db77a" - integrity sha512-dwciE7dbfDruLan+w9x/LUl5dLdBWB39QXznX/Hhv4oPp+Mm4as53J58gqjuRPi6N25DfRi3ODrzjG5Lduwnfw== +"@vuepress/helper@2.0.0-rc.110": + version "2.0.0-rc.110" + resolved "https://registry.yarnpkg.com/@vuepress/helper/-/helper-2.0.0-rc.110.tgz#1f4d33d983497152cad0e6468ce7b62c59164e53" + integrity sha512-HmiAj+Ht4vXlmNW8a76mmFev5QvYEnSOLeONhYxTcBo2S/cWth/QscuyMBCSLDSfvSZjpUcmEqVqn7XnZdbJ4w== dependencies: - "@mdit-vue/plugin-component" "^0.12.1" - "@mdit-vue/plugin-frontmatter" "^0.12.1" - "@mdit-vue/plugin-headers" "^0.12.1" - "@mdit-vue/plugin-sfc" "^0.12.1" - "@mdit-vue/plugin-title" "^0.12.1" - "@mdit-vue/plugin-toc" "^0.12.1" - "@mdit-vue/shared" "^0.12.1" - "@mdit-vue/types" "^0.12.0" - "@types/markdown-it" "^13.0.1" - "@types/markdown-it-emoji" "^2.0.2" - "@vuepress/shared" "2.0.0-beta.67" - "@vuepress/utils" "2.0.0-beta.67" - markdown-it "^13.0.1" - markdown-it-anchor "^8.6.7" - markdown-it-emoji "^2.0.2" - mdurl "^1.0.1" + "@vue/shared" "^3.5.17" + "@vueuse/core" "^13.3.0" + cheerio "^1.1.0" + fflate "^0.8.2" + gray-matter "^4.0.3" + vue "^3.5.17" -"@vuepress/plugin-active-header-links@2.0.0-beta.67": - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/@vuepress/plugin-active-header-links/-/plugin-active-header-links-2.0.0-beta.67.tgz#9dd4bfbbba578c2bd35c281e34436a8bd3bc0cc4" - integrity sha512-2AxtFnnvHn750x+dCFbCWgqxpS+zsNucw8vuATmyRiBAleEqfM1Wz+RuMSKBM38GxsI/7mnQgWOgqj4S90G+ZA== - dependencies: - "@vuepress/client" "2.0.0-beta.67" - "@vuepress/core" "2.0.0-beta.67" - "@vuepress/utils" "2.0.0-beta.67" - ts-debounce "^4.0.0" - vue "^3.3.4" - vue-router "^4.2.4" +"@vuepress/highlighter-helper@2.0.0-rc.109": + version "2.0.0-rc.109" + resolved "https://registry.yarnpkg.com/@vuepress/highlighter-helper/-/highlighter-helper-2.0.0-rc.109.tgz#5766caec14eced33710213f067707a502036d584" + integrity sha512-cb2bwucJK/NWY7aqn0fHigaf4zjE/TFU/u6ykwnEOL7Y+3g8Wc35G+VHmrPlUnUWlMlhQZ7yToJk1KJh2sPj9w== -"@vuepress/plugin-back-to-top@2.0.0-beta.67": - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/@vuepress/plugin-back-to-top/-/plugin-back-to-top-2.0.0-beta.67.tgz#aff0935cc036925fbd9947beb31bdd2971c316df" - integrity sha512-ystolf429cvAfX4qw1o9sHfkB8+KdQ4rV8P4ILR5LERgTZprL+1FbQfcHgVjEF2p0UKu2QXJQNGx2LfWWVuYdw== +"@vuepress/markdown@2.0.0-rc.24": + version "2.0.0-rc.24" + resolved "https://registry.yarnpkg.com/@vuepress/markdown/-/markdown-2.0.0-rc.24.tgz#95875d8b10fdf8c167603dfc71300db217901a5e" + integrity sha512-yYSo89cFbti2F/JWX3Odx9jbPje20PuVO+0SLkZX9AP5wuOv79Mx5QeRVEUS1YfD3faM98ya5LoIyuYWjPjJHw== dependencies: - "@vuepress/client" "2.0.0-beta.67" - "@vuepress/core" "2.0.0-beta.67" - "@vuepress/utils" "2.0.0-beta.67" - ts-debounce "^4.0.0" - vue "^3.3.4" + "@mdit-vue/plugin-component" "^2.1.4" + "@mdit-vue/plugin-frontmatter" "^2.1.4" + "@mdit-vue/plugin-headers" "^2.1.4" + "@mdit-vue/plugin-sfc" "^2.1.4" + "@mdit-vue/plugin-title" "^2.1.4" + "@mdit-vue/plugin-toc" "^2.1.4" + "@mdit-vue/shared" "^2.1.4" + "@mdit-vue/types" "^2.1.4" + "@types/markdown-it" "^14.1.2" + "@types/markdown-it-emoji" "^3.0.1" + "@vuepress/shared" "2.0.0-rc.24" + "@vuepress/utils" "2.0.0-rc.24" + markdown-it "^14.1.0" + markdown-it-anchor "^9.2.0" + markdown-it-emoji "^3.0.0" + mdurl "^2.0.0" -"@vuepress/plugin-container@2.0.0-beta.67": - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/@vuepress/plugin-container/-/plugin-container-2.0.0-beta.67.tgz#a18acdf5b05165c03c29c2d7a04837cb6bf9f649" - integrity sha512-NuxjNkyJ2bYsRpw3iAiok2aeKYzZQsEZ8A/i+4LYwrDXbj3HfjlDhfPYhN+BMQfbxE9LpXOG0APNcXVCNMu0hw== +"@vuepress/plugin-active-header-links@2.0.0-rc.107": + version "2.0.0-rc.107" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-active-header-links/-/plugin-active-header-links-2.0.0-rc.107.tgz#78b20960031265c9a9ae6ecb1e5dde7d2b959ecb" + integrity sha512-XOcmB9LTs56ylIgSRIM6q4fpOk2hu6gLNRjizYmtyD8SbJBG6CcFmJJqGpT88SjQFMf101lEAE0z0UrJjd66sg== dependencies: - "@types/markdown-it" "^13.0.1" - "@vuepress/core" "2.0.0-beta.67" - "@vuepress/markdown" "2.0.0-beta.67" - "@vuepress/shared" "2.0.0-beta.67" - "@vuepress/utils" "2.0.0-beta.67" - markdown-it "^13.0.1" - markdown-it-container "^3.0.0" + "@vueuse/core" "^13.3.0" + vue "^3.5.16" -"@vuepress/plugin-external-link-icon@2.0.0-beta.67": - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/@vuepress/plugin-external-link-icon/-/plugin-external-link-icon-2.0.0-beta.67.tgz#e291b4a6052bcde0099675c4a8e62bfaebfdfec2" - integrity sha512-JD0/Uvt1WQXiGoAA0pjpqQ7OINDUm1TSgWeIpfPq9tZJNfgjmqUoartMFUuqcvl4eMi4Alfx0dWkzSF9qHL7Pg== +"@vuepress/plugin-back-to-top@2.0.0-rc.110": + version "2.0.0-rc.110" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-back-to-top/-/plugin-back-to-top-2.0.0-rc.110.tgz#c7572d2df2769e4f9dffba91618dfcaf391fa2fb" + integrity sha512-EDowAZOiAgI6a7jq8p3TE4rNmFWi4tRtLc+gksCHifvls5Lm1M5EFxKd4vLvwkTdpWFbmq5Q3ctM6HlpJ0WvBw== dependencies: - "@vuepress/client" "2.0.0-beta.67" - "@vuepress/core" "2.0.0-beta.67" - "@vuepress/markdown" "2.0.0-beta.67" - "@vuepress/shared" "2.0.0-beta.67" - "@vuepress/utils" "2.0.0-beta.67" - vue "^3.3.4" + "@vuepress/helper" "2.0.0-rc.110" + "@vueuse/core" "^13.3.0" + vue "^3.5.17" -"@vuepress/plugin-git@2.0.0-beta.67": - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/@vuepress/plugin-git/-/plugin-git-2.0.0-beta.67.tgz#e4b91a78afe6e5350d155deb26d2893bb8343d37" - integrity sha512-9JSGmEtDqBWEmszqEE7spBjWdbeZo0jeMi2ZQLT4KgQrYh5fU/DO8MgeJxGXXd9xvpz4aVAzQR+gqYpL6kO5Jw== +"@vuepress/plugin-copy-code@2.0.0-rc.110": + version "2.0.0-rc.110" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-copy-code/-/plugin-copy-code-2.0.0-rc.110.tgz#e0ac4d22d8d0bb2344db955e99ca7ee84a3505ef" + integrity sha512-wtpTLHXJ8iohfCdjkHsKNqh09bV1xTpm/8pP5WJIpacBOb69VXfJemRFhuUyb3cBRugvA0+R/rksXH6YcMDpnQ== dependencies: - "@vuepress/core" "2.0.0-beta.67" - "@vuepress/utils" "2.0.0-beta.67" - execa "^8.0.1" + "@vuepress/helper" "2.0.0-rc.110" + "@vueuse/core" "^13.3.0" + vue "^3.5.17" -"@vuepress/plugin-medium-zoom@2.0.0-beta.67": - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/@vuepress/plugin-medium-zoom/-/plugin-medium-zoom-2.0.0-beta.67.tgz#74ebc6e118f3ea7f00a41a2d7e983ef859576996" - integrity sha512-KLXfzKKbAhLSaRdbkHlvpbpYtaqINYBJ9gB4Q7CQ5AUaA8uStLG6rX0RjyhKAONfIJWuFiVYCp38QSI++fa/tA== +"@vuepress/plugin-git@2.0.0-rc.110": + version "2.0.0-rc.110" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-git/-/plugin-git-2.0.0-rc.110.tgz#e1fa3bc22b318f0c96a7b89940d378e554d21b61" + integrity sha512-1sEwzuIJd5T2jVWyvRFZuOSr4aea45Iv1fglOI/UXwsbzn6PQMEexCnwKC0KrYrxb9JeYCVZnv58nWWfatFYbg== dependencies: - "@vuepress/client" "2.0.0-beta.67" - "@vuepress/core" "2.0.0-beta.67" - "@vuepress/utils" "2.0.0-beta.67" - medium-zoom "^1.0.8" - vue "^3.3.4" + "@vuepress/helper" "2.0.0-rc.110" + "@vueuse/core" "^13.3.0" + rehype-parse "^9.0.1" + rehype-sanitize "^6.0.0" + rehype-stringify "^10.0.1" + unified "^11.0.5" + vue "^3.5.17" -"@vuepress/plugin-nprogress@2.0.0-beta.67": - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/@vuepress/plugin-nprogress/-/plugin-nprogress-2.0.0-beta.67.tgz#f1e16521953d5a7364c160ece403d5045a809738" - integrity sha512-BlqALWsNCllrqhMgRGz+50ah984XCwp1wejNYGP0ENEGSo1SY2dUI4AatIWep4Zj+0s7gbBR0swZc49hkLpENg== +"@vuepress/plugin-links-check@2.0.0-rc.110": + version "2.0.0-rc.110" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-links-check/-/plugin-links-check-2.0.0-rc.110.tgz#d9966e4d4dee611b2601f4b2c935650a12abed56" + integrity sha512-v6z5kBalQTo+6axcVAxtR6lAoCuSKHvkNJQldVF0zjbnseUe6rpj56cLpYXRwCmHr3CT//PYz0FIFqINABtJ5A== dependencies: - "@vuepress/client" "2.0.0-beta.67" - "@vuepress/core" "2.0.0-beta.67" - "@vuepress/utils" "2.0.0-beta.67" - vue "^3.3.4" - vue-router "^4.2.4" + "@vuepress/helper" "2.0.0-rc.110" -"@vuepress/plugin-palette@2.0.0-beta.67": - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/@vuepress/plugin-palette/-/plugin-palette-2.0.0-beta.67.tgz#64149c26bfab6b7b154299abddcff9032036b1d0" - integrity sha512-Ea2nLx9yH4c70MUQpFXuRAD6OZNVdyVGppvNwyGswutqPkRu7km18ml4Jk767iGMAVfzmrlphd6VIUJBUJ81JQ== +"@vuepress/plugin-markdown-hint@2.0.0-rc.110": + version "2.0.0-rc.110" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-markdown-hint/-/plugin-markdown-hint-2.0.0-rc.110.tgz#af9a3ba357980e3bb3b659b2810585e41119b7ee" + integrity sha512-yRh5hVi2blxbwZAUvcEkp61dYuLF3lR6xdOeOypXHRZZ8abLAy2mXzoGpZAJTsaeNCnjhCREm00NtB1I2rV2Jw== dependencies: - "@vuepress/core" "2.0.0-beta.67" - "@vuepress/utils" "2.0.0-beta.67" - chokidar "^3.5.3" + "@mdit/plugin-alert" "^0.22.1" + "@mdit/plugin-container" "^0.22.1" + "@types/markdown-it" "^14.1.2" + "@vuepress/helper" "2.0.0-rc.110" + "@vueuse/core" "^13.3.0" -"@vuepress/plugin-prismjs@2.0.0-beta.67": - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/@vuepress/plugin-prismjs/-/plugin-prismjs-2.0.0-beta.67.tgz#1b5fc0f628e1dbc68a4746dae8be5ab600dc4cc0" - integrity sha512-IaTc/BHwdO/ydfcoGmqUsDI5G2rPsgffxDtHx4pogaBCF2A6X9O++hrR/YExOHwwyhaE/6c6kflJAefaHb+Arg== +"@vuepress/plugin-markdown-tab@2.0.0-rc.110": + version "2.0.0-rc.110" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-markdown-tab/-/plugin-markdown-tab-2.0.0-rc.110.tgz#7c5093dab7ea2a00fceb3475cd9959670216d8dd" + integrity sha512-v13/dcFk/0eKfLOE1Y1tTPiX4Xv2jnHGaRDEI0rDLXrM/+IQ3S4zSQKlHrPD3JiFe6h21fp/1ok7WXUjKCs/bA== dependencies: - "@vuepress/core" "2.0.0-beta.67" - prismjs "^1.29.0" + "@mdit/plugin-tab" "^0.22.2" + "@types/markdown-it" "^14.1.2" + "@vuepress/helper" "2.0.0-rc.110" + "@vueuse/core" "^13.3.0" + vue "^3.5.17" -"@vuepress/plugin-search@^2.0.0-beta.67": - version "2.0.0-beta.67" - resolved "https://registry.yarnpkg.com/@vuepress/plugin-search/-/plugin-search-2.0.0-beta.67.tgz#f903a10c360de0180517026b2bd992c2e33b9167" - integrity sha512-oju9DK2zQE7PqP7EXm/c0ekoG0clLSn4h6Y7DvgbXJRmonM42oHHj3DdC/eGtyLhTUGuD7mw93Svj2uaC556Nw== +"@vuepress/plugin-medium-zoom@2.0.0-rc.110": + version "2.0.0-rc.110" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-medium-zoom/-/plugin-medium-zoom-2.0.0-rc.110.tgz#8947b1b9c9e569dcedce6890ed81d47ae262d5a1" + integrity sha512-lDQ99Ag53mIwlu7tG1tnUJF42s2Ft9Bf7DO9AViUwuxHohFaMjOSzgU6MfpHihGAhE8hP6ikHRoE3XudrxCHOg== dependencies: - "@vuepress/client" "2.0.0-beta.67" - "@vuepress/core" "2.0.0-beta.67" - "@vuepress/shared" "2.0.0-beta.67" - "@vuepress/utils" "2.0.0-beta.67" - chokidar "^3.5.3" - vue "^3.3.4" - vue-router "^4.2.4" + "@vuepress/helper" "2.0.0-rc.110" + medium-zoom "^1.1.0" + vue "^3.5.17" -"@vuepress/plugin-theme-data@2.0.0-beta.67": - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/@vuepress/plugin-theme-data/-/plugin-theme-data-2.0.0-beta.67.tgz#e2258b6b71096436dc89629a5a4b82b7bca4d275" - integrity sha512-emTj1fvYXM/+WWObmgR0STRwkcDEM9QLD9ZP/JK5hEdt9KQnl8qO9NIzVfP/acgqbxFJQVvsmMSruXXknN68FQ== +"@vuepress/plugin-nprogress@2.0.0-rc.110": + version "2.0.0-rc.110" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-nprogress/-/plugin-nprogress-2.0.0-rc.110.tgz#848f53a5f24c083ff11225e16d7776900804164d" + integrity sha512-4hvBETMGJdl4KqCHk7WdD3rmaFkOHLpYAZNcDii34Q4fW5CqHclo5D0SVViMWWLkX26PPLlzH/4neSRYbLBaPQ== dependencies: - "@vue/devtools-api" "^6.5.0" - "@vuepress/client" "2.0.0-beta.67" - "@vuepress/core" "2.0.0-beta.67" - "@vuepress/shared" "2.0.0-beta.67" - "@vuepress/utils" "2.0.0-beta.67" - vue "^3.3.4" + "@vuepress/helper" "2.0.0-rc.110" + vue "^3.5.17" -"@vuepress/shared@2.0.0-beta.67": - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/@vuepress/shared/-/shared-2.0.0-beta.67.tgz#fb9abc662904117a97c26004aa436f1f2aa02263" - integrity sha512-gm8/6oAnd0Jh8g9xB89S+g8XJxt30QmeXK79J2Nwcbgy88CZnYbZssU1noyxFt4cHDX8wpUf8V5I388/dfHfoQ== +"@vuepress/plugin-palette@2.0.0-rc.110": + version "2.0.0-rc.110" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-palette/-/plugin-palette-2.0.0-rc.110.tgz#0817a83247acd032645dcf9da2149d3cff27767b" + integrity sha512-hlwhqtHiiu9lu5Kfexfmu1AoMq2tQyZgsugCigbGgeDybb93xJ5HgqYBaG/qRy8LyIcoIfdEaBEctbQ4TRm+dg== dependencies: - "@mdit-vue/types" "^0.12.0" - "@vue/shared" "^3.3.4" + "@vuepress/helper" "2.0.0-rc.110" + chokidar "^4.0.3" -"@vuepress/theme-default@2.0.0-beta.67": - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/@vuepress/theme-default/-/theme-default-2.0.0-beta.67.tgz#815acbbcdf12bfedef1cf916e5cbbfa33ad44b0c" - integrity sha512-t8wfKaf/WUAifcKTYfnpsUxTVF5C4LUSiX2DH+JTt0lB/bv4SKQstuZtLvLiV9C4q2ekjGpitaW85T4KDnshug== +"@vuepress/plugin-prismjs@2.0.0-rc.110": + version "2.0.0-rc.110" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-prismjs/-/plugin-prismjs-2.0.0-rc.110.tgz#186e4fece76bbf318fda96293d36ad6dd6b6b0b8" + integrity sha512-zIW5jottJT0RLJ+5WEP2lZA8Fa1qXWHclX+43F6AYObwSOQujp0zh81Ys7fzdM5kC0lsH8NNTKduuS78VsjahQ== dependencies: - "@vuepress/client" "2.0.0-beta.67" - "@vuepress/core" "2.0.0-beta.67" - "@vuepress/plugin-active-header-links" "2.0.0-beta.67" - "@vuepress/plugin-back-to-top" "2.0.0-beta.67" - "@vuepress/plugin-container" "2.0.0-beta.67" - "@vuepress/plugin-external-link-icon" "2.0.0-beta.67" - "@vuepress/plugin-git" "2.0.0-beta.67" - "@vuepress/plugin-medium-zoom" "2.0.0-beta.67" - "@vuepress/plugin-nprogress" "2.0.0-beta.67" - "@vuepress/plugin-palette" "2.0.0-beta.67" - "@vuepress/plugin-prismjs" "2.0.0-beta.67" - "@vuepress/plugin-theme-data" "2.0.0-beta.67" - "@vuepress/shared" "2.0.0-beta.67" - "@vuepress/utils" "2.0.0-beta.67" - "@vueuse/core" "^10.4.1" - sass "^1.66.1" - sass-loader "^13.3.2" - vue "^3.3.4" - vue-router "^4.2.4" + "@vuepress/helper" "2.0.0-rc.110" + "@vuepress/highlighter-helper" "2.0.0-rc.109" + prismjs "^1.30.0" -"@vuepress/utils@2.0.0-beta.67": - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/@vuepress/utils/-/utils-2.0.0-beta.67.tgz#16bcc4bb5a3db270f205ca7b809c178d6774d9fa" - integrity sha512-wCK0uggm4gXroy7UkS1u8wDQmD4b0L6Gjqd/1PZTDhNlMLsrjBx7lqqoIKqarMdB2wmDLroPJcC9otvCz2oQug== +"@vuepress/plugin-search@^2.0.0-rc.110": + version "2.0.0-rc.110" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-search/-/plugin-search-2.0.0-rc.110.tgz#c10263611d1eb95146a07419629c278b1471bb8f" + integrity sha512-/0dkzbbNCTQE1pSw4O/q+DyZwgxSDGq7oLb4krSeH+9pbJoyVfYEktZSApenPohfeEWhksOuQ7ctq7mL7KgRiw== dependencies: - "@types/debug" "^4.1.8" - "@types/fs-extra" "^11.0.1" - "@types/hash-sum" "^1.0.0" - "@vuepress/shared" "2.0.0-beta.67" - debug "^4.3.4" - fs-extra "^11.1.1" - globby "^13.2.2" + "@vuepress/helper" "2.0.0-rc.110" + chokidar "^4.0.3" + vue "^3.5.17" + +"@vuepress/plugin-seo@2.0.0-rc.110": + version "2.0.0-rc.110" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-seo/-/plugin-seo-2.0.0-rc.110.tgz#3cdd9700f00d3833c0fc83d4a3e6e645c81086c7" + integrity sha512-+l3fp34WVbU9fDGPJWwQZ1qgBsxe2+pdO9oxrUwjSSc08D6iAKCdrn5jbZo9jRRg+S1xuT/LMihWJqWquk1cNg== + dependencies: + "@vuepress/helper" "2.0.0-rc.110" + +"@vuepress/plugin-shiki@^2.0.0-rc.110": + version "2.0.0-rc.110" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-shiki/-/plugin-shiki-2.0.0-rc.110.tgz#aeab3c17a8cfb9b32812d3cd85ea2903c8c8e267" + integrity sha512-ITgffKxtNGD1cYxaL7Oi/ZvegaTZNsn+pUVenPkjmi6SSKc7/LXC8QlVED3WAkGqqVnLy5byjZbs8WKoGqetOA== + dependencies: + "@shikijs/transformers" "^3.6.0" + "@vuepress/helper" "2.0.0-rc.110" + "@vuepress/highlighter-helper" "2.0.0-rc.109" + nanoid "^5.1.5" + shiki "^3.6.0" + synckit "^0.11.8" + +"@vuepress/plugin-sitemap@2.0.0-rc.110": + version "2.0.0-rc.110" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-sitemap/-/plugin-sitemap-2.0.0-rc.110.tgz#cef5db6671fac280fc9693db05210fa505c0d0a9" + integrity sha512-JXHoV1rGX7yXes0MHr1GT5i3WWD39W+/Kzx3Dkha7NnOl38qNsxvm8tapEPlAXaBKkmmtelduX3WVzsy2cGmlA== + dependencies: + "@vuepress/helper" "2.0.0-rc.110" + sitemap "^8.0.0" + +"@vuepress/plugin-theme-data@2.0.0-rc.109": + version "2.0.0-rc.109" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-theme-data/-/plugin-theme-data-2.0.0-rc.109.tgz#5474b10648411ba37997d995390429abfd50f135" + integrity sha512-TtEwJdoWRueAe0+Ck3rHtcoio5P9LjD+7y1fEV6kzip4di7TY045MDYohsSzMfXAm8M4fdLWUkEzHCJxnSbJnw== + dependencies: + "@vue/devtools-api" "^7.7.7" + vue "^3.5.16" + +"@vuepress/shared@2.0.0-rc.24": + version "2.0.0-rc.24" + resolved "https://registry.yarnpkg.com/@vuepress/shared/-/shared-2.0.0-rc.24.tgz#9b4d07979e191bc99e41cf150a5234b4bba5b6a9" + integrity sha512-CAmJGMcDV5DnFEJ74f7IdCms2CBl8Md62uWbgAW8wEYiYanjRM8Rr1oIrz+cWoBSnWPf1HyPR3JoKYgw7OW4bw== + dependencies: + "@mdit-vue/types" "^2.1.4" + +"@vuepress/theme-default@^2.0.0-rc.110": + version "2.0.0-rc.110" + resolved "https://registry.yarnpkg.com/@vuepress/theme-default/-/theme-default-2.0.0-rc.110.tgz#15b3b11e78e22c7822216ed04b6883749a34eb38" + integrity sha512-kfa91QMvKFNmFj8Wyncxi+OA6QnYy1xXR6jprv2smZpnR2pkXAWTretAjleKEtPfUKwuokpF8vqKxWpmFaXSfg== + dependencies: + "@vuepress/helper" "2.0.0-rc.110" + "@vuepress/plugin-active-header-links" "2.0.0-rc.107" + "@vuepress/plugin-back-to-top" "2.0.0-rc.110" + "@vuepress/plugin-copy-code" "2.0.0-rc.110" + "@vuepress/plugin-git" "2.0.0-rc.110" + "@vuepress/plugin-links-check" "2.0.0-rc.110" + "@vuepress/plugin-markdown-hint" "2.0.0-rc.110" + "@vuepress/plugin-markdown-tab" "2.0.0-rc.110" + "@vuepress/plugin-medium-zoom" "2.0.0-rc.110" + "@vuepress/plugin-nprogress" "2.0.0-rc.110" + "@vuepress/plugin-palette" "2.0.0-rc.110" + "@vuepress/plugin-prismjs" "2.0.0-rc.110" + "@vuepress/plugin-seo" "2.0.0-rc.110" + "@vuepress/plugin-sitemap" "2.0.0-rc.110" + "@vuepress/plugin-theme-data" "2.0.0-rc.109" + "@vueuse/core" "^13.3.0" + vue "^3.5.17" + +"@vuepress/utils@2.0.0-rc.24": + version "2.0.0-rc.24" + resolved "https://registry.yarnpkg.com/@vuepress/utils/-/utils-2.0.0-rc.24.tgz#516caf7032cbf2623d345c2bf607b3568f4d8526" + integrity sha512-7D6o12Y64efevSdp+k84ivMZ3dSkZjQwbn79ywbHVbYtoZikvnpTE5GuG7lFOLcF3qZWQVqi7sRJVJdZnH9DuA== + dependencies: + "@types/debug" "^4.1.12" + "@types/fs-extra" "^11.0.4" + "@types/hash-sum" "^1.0.2" + "@vuepress/shared" "2.0.0-rc.24" + debug "^4.4.1" + fs-extra "^11.3.0" + globby "^14.1.0" hash-sum "^2.0.0" - ora "^7.0.1" - picocolors "^1.0.0" + ora "^8.2.0" + picocolors "^1.1.1" upath "^2.0.1" -"@vueuse/core@^10.4.1": - version "10.4.1" - resolved "https://registry.npmjs.org/@vueuse/core/-/core-10.4.1.tgz#fc2c8a83a571c207aaedbe393b22daa6d35123f2" - integrity sha512-DkHIfMIoSIBjMgRRvdIvxsyboRZQmImofLyOHADqiVbQVilP8VVHDhBX2ZqoItOgu7dWa8oXiNnScOdPLhdEXg== +"@vueuse/core@^13.3.0": + version "13.5.0" + resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-13.5.0.tgz#1136d3db088945d7b7a2397170737d5a3e557b36" + integrity sha512-wV7z0eUpifKmvmN78UBZX8T7lMW53Nrk6JP5+6hbzrB9+cJ3jr//hUlhl9TZO/03bUkMK6gGkQpqOPWoabr72g== dependencies: - "@types/web-bluetooth" "^0.0.17" - "@vueuse/metadata" "10.4.1" - "@vueuse/shared" "10.4.1" - vue-demi ">=0.14.5" + "@types/web-bluetooth" "^0.0.21" + "@vueuse/metadata" "13.5.0" + "@vueuse/shared" "13.5.0" -"@vueuse/metadata@10.4.1": - version "10.4.1" - resolved "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.4.1.tgz#9d2ff5c67abf17a8c07865c2413fbd0e92f7b7d7" - integrity sha512-2Sc8X+iVzeuMGHr6O2j4gv/zxvQGGOYETYXEc41h0iZXIRnRbJZGmY/QP8dvzqUelf8vg0p/yEA5VpCEu+WpZg== +"@vueuse/metadata@13.5.0": + version "13.5.0" + resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-13.5.0.tgz#18c24a32489b0a4fb9d7436efc048e836bfc4799" + integrity sha512-euhItU3b0SqXxSy8u1XHxUCdQ8M++bsRs+TYhOLDU/OykS7KvJnyIFfep0XM5WjIFry9uAPlVSjmVHiqeshmkw== -"@vueuse/shared@10.4.1": - version "10.4.1" - resolved "https://registry.npmjs.org/@vueuse/shared/-/shared-10.4.1.tgz#d5ce33033c156efb60664b5d6034d6cd4e2f530c" - integrity sha512-vz5hbAM4qA0lDKmcr2y3pPdU+2EVw/yzfRsBdu+6+USGa4PxqSQRYIUC9/NcT06y+ZgaTsyURw2I9qOFaaXHAg== - dependencies: - vue-demi ">=0.14.5" +"@vueuse/shared@13.5.0": + version "13.5.0" + resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-13.5.0.tgz#c36e3e0eafca9c3b92356ccef139db0df7d9905e" + integrity sha512-K7GrQIxJ/ANtucxIXbQlUHdB0TPA8c+q5i+zbrjxuhJCnJ9GtBg75sBSnvmLSxHKPg2Yo8w62PWksl9kwH0Q8g== ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + version "6.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" + integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== anymatch@~3.1.2: version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" +arg@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + argparse@^1.0.7: version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" argparse@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -autoprefixer@^10.4.15: - version "10.4.15" - resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.15.tgz#a1230f4aeb3636b89120b34a1f513e2f6834d530" - integrity sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew== +autoprefixer@^10.4.21: + version "10.4.21" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.21.tgz#77189468e7a8ad1d9a37fbc08efc9f480cf0a95d" + integrity sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ== dependencies: - browserslist "^4.21.10" - caniuse-lite "^1.0.30001520" - fraction.js "^4.2.0" + browserslist "^4.24.4" + caniuse-lite "^1.0.30001702" + fraction.js "^4.3.7" normalize-range "^0.1.2" - picocolors "^1.0.0" + picocolors "^1.1.1" postcss-value-parser "^4.2.0" -balloon-css@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/balloon-css/-/balloon-css-1.2.0.tgz#53d3fb4051264a278a58713bed6865845dbcaf4b" - integrity sha512-urXwkHgwp6GsXVF+it01485Z2Cj4pnW02ICnM0TemOlkKmCNnDLmyy+ZZiRXBpwldUXO+aRNr7Hdia4CBvXJ5A== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== +bail@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" + integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== -bl@^5.0.0: - version "5.1.0" - resolved "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz#183715f678c7188ecef9fe475d90209400624273" - integrity sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ== - dependencies: - buffer "^6.0.3" - inherits "^2.0.4" - readable-stream "^3.4.0" +birpc@^2.3.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/birpc/-/birpc-2.4.0.tgz#045368a4a30d659c6c06c9215b11cb384903249c" + integrity sha512-5IdNxTyhXHv2UlgnPHQ0h+5ypVmkrYHzL8QT+DwFZ//2N/oNV8Ch+BCRmTJ3x6/z9Axo/cXYBc9eprsUVK/Jsg== boolbase@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: - fill-range "^7.0.1" + fill-range "^7.1.1" -browserslist@^4.21.10: - version "4.21.10" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz#dbbac576628c13d3b2231332cb2ec5a46e015bb0" - integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ== +browserslist@^4.24.4: + version "4.25.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.25.1.tgz#ba9e8e6f298a1d86f829c9b975e07948967bb111" + integrity sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw== dependencies: - caniuse-lite "^1.0.30001517" - electron-to-chromium "^1.4.477" - node-releases "^2.0.13" - update-browserslist-db "^1.0.11" + caniuse-lite "^1.0.30001726" + electron-to-chromium "^1.5.173" + node-releases "^2.0.19" + update-browserslist-db "^1.1.3" -buffer@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" +buffer-builder@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/buffer-builder/-/buffer-builder-0.2.0.tgz#3322cd307d8296dab1f604618593b261a3fade8f" + integrity sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg== cac@^6.7.14: version "6.7.14" - resolved "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" + resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== -caniuse-lite@^1.0.30001517, caniuse-lite@^1.0.30001520: - version "1.0.30001653" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001653.tgz" - integrity sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw== +caniuse-lite@^1.0.30001702, caniuse-lite@^1.0.30001726: + version "1.0.30001727" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz#22e9706422ad37aa50556af8c10e40e2d93a8b85" + integrity sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q== -chalk@^5.0.0, chalk@^5.3.0: - version "5.3.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" - integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== +ccount@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" + integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== + +chalk@^5.3.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.4.1.tgz#1b48bf0963ec158dce2aacf69c093ae2dd2092d8" + integrity sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w== + +character-entities-html4@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" + integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== + +character-entities-legacy@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" + integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== cheerio-select@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" + resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== dependencies: boolbase "^1.0.0" @@ -768,23 +1138,27 @@ cheerio-select@^2.1.0: domhandler "^5.0.3" domutils "^3.0.1" -cheerio@1.0.0-rc.12: - version "1.0.0-rc.12" - resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" - integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== +cheerio@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.1.0.tgz#87b9bec6dd3696e405ea79da7d2749d8308b0953" + integrity sha512-+0hMx9eYhJvWbgpKV9hN7jg0JcwydpopZE4hgi+KvQtByZXPp04NiCWU0LzcAbP63abZckIHkTQaXVF52mX3xQ== dependencies: cheerio-select "^2.1.0" dom-serializer "^2.0.0" domhandler "^5.0.3" - domutils "^3.0.1" - htmlparser2 "^8.0.1" - parse5 "^7.0.0" - parse5-htmlparser2-tree-adapter "^7.0.0" + domutils "^3.2.2" + encoding-sniffer "^0.2.0" + htmlparser2 "^10.0.0" + parse5 "^7.3.0" + parse5-htmlparser2-tree-adapter "^7.1.0" + parse5-parser-stream "^7.1.2" + undici "^7.10.0" + whatwg-mimetype "^4.0.0" -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== +chokidar@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== dependencies: anymatch "~3.1.2" braces "~3.0.2" @@ -796,36 +1170,51 @@ cheerio@1.0.0-rc.12: optionalDependencies: fsevents "~2.3.2" -cli-cursor@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz#3cecfe3734bf4fe02a8361cbdc0f6fe28c6a57ea" - integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== +chokidar@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30" + integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== dependencies: - restore-cursor "^4.0.0" + readdirp "^4.0.1" -cli-spinners@^2.9.0: - version "2.9.0" - resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz#5881d0ad96381e117bbe07ad91f2008fe6ffd8db" - integrity sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g== +cli-cursor@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-5.0.0.tgz#24a4831ecf5a6b01ddeb32fb71a4b2088b0dce38" + integrity sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw== + dependencies: + restore-cursor "^5.0.0" + +cli-spinners@^2.9.2: + version "2.9.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== + +colorjs.io@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/colorjs.io/-/colorjs.io-0.5.2.tgz#63b20139b007591ebc3359932bef84628eb3fcef" + integrity sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw== + +comma-separated-tokens@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" + integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== connect-history-api-fallback@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== -cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== +copy-anything@^3.0.2: + version "3.0.5" + resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-3.0.5.tgz#2d92dce8c498f790fa7ad16b01a1ae5a45b020a0" + integrity sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w== dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" + is-what "^4.1.8" css-select@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" - integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + version "5.2.2" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.2.2.tgz#01b6e8d163637bb2dd6c982ca4ed65863682786e" + integrity sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw== dependencies: boolbase "^1.0.0" css-what "^6.1.0" @@ -834,37 +1223,37 @@ css-select@^5.1.0: nth-check "^2.0.1" css-what@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + version "6.2.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.2.2.tgz#cdcc8f9b6977719fdfbd1de7aec24abf756b9dea" + integrity sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA== -csstype@^3.1.1: - version "3.1.2" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" - integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== +csstype@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== -dayjs@^1.11.9: - version "1.11.9" - resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz#9ca491933fadd0a60a2c19f6c237c03517d71d1a" - integrity sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA== - -debug@^4.3.4: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== +debug@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" + integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== dependencies: - ms "2.1.2" + ms "^2.1.3" -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== +dequal@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + +devlop@^1.0.0, devlop@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018" + integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== dependencies: - path-type "^4.0.0" + dequal "^2.0.0" dom-serializer@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== dependencies: domelementtype "^2.3.0" @@ -873,200 +1262,203 @@ dom-serializer@^2.0.0: domelementtype@^2.3.0: version "2.3.0" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== domhandler@^5.0.2, domhandler@^5.0.3: version "5.0.3" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== dependencies: domelementtype "^2.3.0" -domutils@^3.0.1: - version "3.1.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" - integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== +domutils@^3.0.1, domutils@^3.2.1, domutils@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.2.2.tgz#edbfe2b668b0c1d97c24baf0f1062b132221bc78" + integrity sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw== dependencies: dom-serializer "^2.0.0" domelementtype "^2.3.0" domhandler "^5.0.3" -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== +electron-to-chromium@^1.5.173: + version "1.5.180" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.180.tgz#3e4f6e7494d6371e014af176dfdfd43c8a4b56df" + integrity sha512-ED+GEyEh3kYMwt2faNmgMB0b8O5qtATGgR4RmRsIp4T6p7B8vdMbIedYndnvZfsaXvSzegtpfqRMDNCjjiSduA== -electron-to-chromium@^1.4.477: - version "1.4.508" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.508.tgz#5641ff2f5ba11df4bd960fe6a2f9f70aa8b9af96" - integrity sha512-FFa8QKjQK/A5QuFr2167myhMesGrhlOBD+3cYNxO9/S4XzHEXesyTD/1/xF644gC8buFPz3ca6G1LOQD0tZrrg== +emoji-regex@^10.3.0: + version "10.4.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.4.0.tgz#03553afea80b3975749cfcb36f776ca268e413d4" + integrity sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw== -emoji-regex@^10.2.1: - version "10.2.1" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.2.1.tgz#a41c330d957191efd3d9dfe6e1e8e1e9ab048b3f" - integrity sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA== +encoding-sniffer@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz#396ec97ac22ce5a037ba44af1992ac9d46a7b819" + integrity sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw== + dependencies: + iconv-lite "^0.6.3" + whatwg-encoding "^3.1.1" -entities@^4.2.0, entities@^4.4.0: +entities@^4.2.0, entities@^4.4.0, entities@^4.5.0: version "4.5.0" - resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== -entities@~3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" - integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== +entities@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-6.0.1.tgz#c28c34a43379ca7f61d074130b2f5f7020a30694" + integrity sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g== -envinfo@^7.10.0: - version "7.10.0" - resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz#55146e3909cc5fe63c22da63fb15b05aeac35b13" - integrity sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw== +envinfo@^7.14.0: + version "7.14.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.14.0.tgz#26dac5db54418f2a4c1159153a0b2ae980838aae" + integrity sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg== -esbuild@^0.18.10, esbuild@~0.18.20: - version "0.18.20" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" - integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== +esbuild@^0.25.0, esbuild@^0.25.5: + version "0.25.6" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.6.tgz#9b82a3db2fa131aec069ab040fd57ed0a880cdcd" + integrity sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg== optionalDependencies: - "@esbuild/android-arm" "0.18.20" - "@esbuild/android-arm64" "0.18.20" - "@esbuild/android-x64" "0.18.20" - "@esbuild/darwin-arm64" "0.18.20" - "@esbuild/darwin-x64" "0.18.20" - "@esbuild/freebsd-arm64" "0.18.20" - "@esbuild/freebsd-x64" "0.18.20" - "@esbuild/linux-arm" "0.18.20" - "@esbuild/linux-arm64" "0.18.20" - "@esbuild/linux-ia32" "0.18.20" - "@esbuild/linux-loong64" "0.18.20" - "@esbuild/linux-mips64el" "0.18.20" - "@esbuild/linux-ppc64" "0.18.20" - "@esbuild/linux-riscv64" "0.18.20" - "@esbuild/linux-s390x" "0.18.20" - "@esbuild/linux-x64" "0.18.20" - "@esbuild/netbsd-x64" "0.18.20" - "@esbuild/openbsd-x64" "0.18.20" - "@esbuild/sunos-x64" "0.18.20" - "@esbuild/win32-arm64" "0.18.20" - "@esbuild/win32-ia32" "0.18.20" - "@esbuild/win32-x64" "0.18.20" + "@esbuild/aix-ppc64" "0.25.6" + "@esbuild/android-arm" "0.25.6" + "@esbuild/android-arm64" "0.25.6" + "@esbuild/android-x64" "0.25.6" + "@esbuild/darwin-arm64" "0.25.6" + "@esbuild/darwin-x64" "0.25.6" + "@esbuild/freebsd-arm64" "0.25.6" + "@esbuild/freebsd-x64" "0.25.6" + "@esbuild/linux-arm" "0.25.6" + "@esbuild/linux-arm64" "0.25.6" + "@esbuild/linux-ia32" "0.25.6" + "@esbuild/linux-loong64" "0.25.6" + "@esbuild/linux-mips64el" "0.25.6" + "@esbuild/linux-ppc64" "0.25.6" + "@esbuild/linux-riscv64" "0.25.6" + "@esbuild/linux-s390x" "0.25.6" + "@esbuild/linux-x64" "0.25.6" + "@esbuild/netbsd-arm64" "0.25.6" + "@esbuild/netbsd-x64" "0.25.6" + "@esbuild/openbsd-arm64" "0.25.6" + "@esbuild/openbsd-x64" "0.25.6" + "@esbuild/openharmony-arm64" "0.25.6" + "@esbuild/sunos-x64" "0.25.6" + "@esbuild/win32-arm64" "0.25.6" + "@esbuild/win32-ia32" "0.25.6" + "@esbuild/win32-x64" "0.25.6" -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== esprima@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== estree-walker@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== -execa@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" - integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^8.0.1" - human-signals "^5.0.0" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^4.1.0" - strip-final-newline "^3.0.0" - extend-shallow@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== dependencies: is-extendable "^0.1.0" -fast-glob@^3.3.0: - version "3.3.1" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" - integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +fast-glob@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.4" + micromatch "^4.0.8" fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + version "1.19.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" + integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== dependencies: reusify "^1.0.4" -fflate@^0.8.0: - version "0.8.0" - resolved "https://registry.npmjs.org/fflate/-/fflate-0.8.0.tgz#f93ad1dcbe695a25ae378cf2386624969a7cda32" - integrity sha512-FAdS4qMuFjsJj6XHbBaZeXOgaypXp8iw/Tpyuq/w3XA41jjLHT8NPA+n7czH/DDhdncq0nAyDZmPeWXh2qmdIg== +fdir@^6.4.4, fdir@^6.4.6: + version "6.4.6" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.6.tgz#2b268c0232697063111bbf3f64810a2a741ba281" + integrity sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w== -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== +fflate@^0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.8.2.tgz#fc8631f5347812ad6028bbe4a2308b2792aa1dea" + integrity sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A== + +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" -fraction.js@^4.2.0: - version "4.3.6" - resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.6.tgz#e9e3acec6c9a28cf7bc36cbe35eea4ceb2c5c92d" - integrity sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg== +fraction.js@^4.3.7: + version "4.3.7" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" + integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== -fs-extra@^11.1.1: - version "11.1.1" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" - integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== +fs-extra@^11.3.0: + version "11.3.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.0.tgz#0daced136bbaf65a555a326719af931adc7a314d" + integrity sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" universalify "^2.0.0" -fsevents@~2.3.2: +fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -get-stream@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" - integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== +get-east-asian-width@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz#21b4071ee58ed04ee0db653371b55b4299875389" + integrity sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ== glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" -globby@^13.2.2: - version "13.2.2" - resolved "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz#63b90b1bf68619c2135475cbd4e71e66aa090592" - integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== +globby@^14.1.0: + version "14.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-14.1.0.tgz#138b78e77cf5a8d794e327b15dce80bf1fb0a73e" + integrity sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA== dependencies: - dir-glob "^3.0.1" - fast-glob "^3.3.0" - ignore "^5.2.4" - merge2 "^1.4.1" - slash "^4.0.0" + "@sindresorhus/merge-streams" "^2.1.0" + fast-glob "^3.3.3" + ignore "^7.0.3" + path-type "^6.0.0" + slash "^5.1.0" + unicorn-magic "^0.3.0" graceful-fs@^4.1.6, graceful-fs@^4.2.0: version "4.2.11" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== gray-matter@^4.0.3: version "4.0.3" - resolved "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" + resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== dependencies: js-yaml "^3.13.1" @@ -1074,98 +1466,187 @@ gray-matter@^4.0.3: section-matter "^1.0.0" strip-bom-string "^1.0.0" +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + hash-sum@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" + resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== -htmlparser2@^8.0.1: - version "8.0.2" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21" - integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== +hast-util-from-html@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz#485c74785358beb80c4ba6346299311ac4c49c82" + integrity sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw== + dependencies: + "@types/hast" "^3.0.0" + devlop "^1.1.0" + hast-util-from-parse5 "^8.0.0" + parse5 "^7.0.0" + vfile "^6.0.0" + vfile-message "^4.0.0" + +hast-util-from-parse5@^8.0.0: + version "8.0.3" + resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz#830a35022fff28c3fea3697a98c2f4cc6b835a2e" + integrity sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + devlop "^1.0.0" + hastscript "^9.0.0" + property-information "^7.0.0" + vfile "^6.0.0" + vfile-location "^5.0.0" + web-namespaces "^2.0.0" + +hast-util-parse-selector@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz#352879fa86e25616036037dd8931fb5f34cb4a27" + integrity sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A== + dependencies: + "@types/hast" "^3.0.0" + +hast-util-sanitize@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/hast-util-sanitize/-/hast-util-sanitize-5.0.2.tgz#edb260d94e5bba2030eb9375790a8753e5bf391f" + integrity sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg== + dependencies: + "@types/hast" "^3.0.0" + "@ungap/structured-clone" "^1.0.0" + unist-util-position "^5.0.0" + +hast-util-to-html@^9.0.0, hast-util-to-html@^9.0.5: + version "9.0.5" + resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz#ccc673a55bb8e85775b08ac28380f72d47167005" + integrity sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + ccount "^2.0.0" + comma-separated-tokens "^2.0.0" + hast-util-whitespace "^3.0.0" + html-void-elements "^3.0.0" + mdast-util-to-hast "^13.0.0" + property-information "^7.0.0" + space-separated-tokens "^2.0.0" + stringify-entities "^4.0.0" + zwitch "^2.0.4" + +hast-util-whitespace@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz#7778ed9d3c92dd9e8c5c8f648a49c21fc51cb621" + integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== + dependencies: + "@types/hast" "^3.0.0" + +hastscript@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-9.0.1.tgz#dbc84bef6051d40084342c229c451cd9dc567dff" + integrity sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w== + dependencies: + "@types/hast" "^3.0.0" + comma-separated-tokens "^2.0.0" + hast-util-parse-selector "^4.0.0" + property-information "^7.0.0" + space-separated-tokens "^2.0.0" + +hookable@^5.5.3: + version "5.5.3" + resolved "https://registry.yarnpkg.com/hookable/-/hookable-5.5.3.tgz#6cfc358984a1ef991e2518cb9ed4a778bbd3215d" + integrity sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ== + +html-void-elements@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-3.0.0.tgz#fc9dbd84af9e747249034d4d62602def6517f1d7" + integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== + +htmlparser2@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-10.0.0.tgz#77ad249037b66bf8cc99c6e286ef73b83aeb621d" + integrity sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g== dependencies: domelementtype "^2.3.0" domhandler "^5.0.3" - domutils "^3.0.1" - entities "^4.4.0" + domutils "^3.2.1" + entities "^6.0.0" -human-signals@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" - integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== +iconv-lite@0.6.3, iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" -ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== +ignore@^7.0.3: + version "7.0.5" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.5.tgz#4cb5f6cd7d4c7ab0365738c7aea888baa6d7efd9" + integrity sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg== -ignore@^5.2.4: - version "5.2.4" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -immutable@^4.0.0: - version "4.3.4" - resolved "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz#2e07b33837b4bb7662f288c244d1ced1ef65a78f" - integrity sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA== - -inherits@^2.0.3, inherits@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== +immutable@^5.0.2: + version "5.1.3" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.1.3.tgz#e6486694c8b76c37c063cca92399fa64098634d4" + integrity sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg== is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" is-extendable@^0.1.0: version "0.1.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" is-interactive@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz#40c57614593826da1100ade6059778d597f16e90" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-2.0.0.tgz#40c57614593826da1100ade6059778d597f16e90" integrity sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ== is-number@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" - integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== +is-plain-obj@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" + integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== -is-unicode-supported@^1.1.0, is-unicode-supported@^1.3.0: +is-unicode-supported@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz#d824984b616c292a2e198207d4a609983842f714" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz#d824984b616c292a2e198207d4a609983842f714" integrity sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +is-unicode-supported@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz#09f0ab0de6d3744d48d265ebb98f65d11f2a9b3a" + integrity sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ== + +is-what@^4.1.8: + version "4.1.16" + resolved "https://registry.yarnpkg.com/is-what/-/is-what-4.1.16.tgz#1ad860a19da8b4895ad5495da3182ce2acdd7a6f" + integrity sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A== js-yaml@^3.13.1: version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" @@ -1173,7 +1654,7 @@ js-yaml@^3.13.1: jsonfile@^6.0.1: version "6.1.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: universalify "^2.0.0" @@ -1182,568 +1663,883 @@ jsonfile@^6.0.1: kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -lilconfig@^2.0.5: - version "2.1.0" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" - integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== +lilconfig@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4" + integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== -linkify-it@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz#01f1d5e508190d06669982ba31a7d9f56a5751ec" - integrity sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw== +linkify-it@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-5.0.0.tgz#9ef238bfa6dc70bd8e7f9572b52d369af569b421" + integrity sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ== dependencies: - uc.micro "^1.0.1" + uc.micro "^2.0.0" -log-symbols@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz#a20e3b9a5f53fac6aeb8e2bb22c07cf2c8f16d93" - integrity sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA== - dependencies: - chalk "^5.0.0" - is-unicode-supported "^1.1.0" - -lru-cache@^6.0.0: +log-symbols@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-6.0.0.tgz#bb95e5f05322651cac30c0feb6404f9f2a8a9439" + integrity sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw== dependencies: - yallist "^4.0.0" + chalk "^5.3.0" + is-unicode-supported "^1.3.0" -magic-string@^0.30.0: - version "0.30.3" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.3.tgz#403755dfd9d6b398dfa40635d52e96c5ac095b85" - integrity sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw== +magic-string@^0.30.17: + version "0.30.17" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453" + integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== dependencies: - "@jridgewell/sourcemap-codec" "^1.4.15" + "@jridgewell/sourcemap-codec" "^1.5.0" -markdown-it-anchor@^8.6.7: - version "8.6.7" - resolved "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz#ee6926daf3ad1ed5e4e3968b1740eef1c6399634" - integrity sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA== +markdown-it-anchor@^9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-9.2.0.tgz#89375d9a2a79336403ab7c4fd36b1965cc45e5c8" + integrity sha512-sa2ErMQ6kKOA4l31gLGYliFQrMKkqSO0ZJgGhDHKijPf0pNFM9vghjAh3gn26pS4JDRs7Iwa9S36gxm3vgZTzg== -markdown-it-container@^3.0.0: +markdown-it-emoji@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/markdown-it-container/-/markdown-it-container-3.0.0.tgz#1d19b06040a020f9a827577bb7dbf67aa5de9a5b" - integrity sha512-y6oKTq4BB9OQuY/KLfk/O3ysFhB3IMYoIWhGJEidXt1NQFocFK2sA2t0NYZAMyMShAGL6x5OPIbrmXPIqaN9rw== - -markdown-it-emoji@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-2.0.2.tgz#cd42421c2fda1537d9cc12b9923f5c8aeb9029c8" - integrity sha512-zLftSaNrKuYl0kR5zm4gxXjHaOI3FAOEaloKmRA5hijmJZvSjmxcokOLlzycb/HXlUFWzXqpIEoyEMCE4i9MvQ== + resolved "https://registry.yarnpkg.com/markdown-it-emoji/-/markdown-it-emoji-3.0.0.tgz#8475a04d671d7c93f931b76fb90c582768b7f0b5" + integrity sha512-+rUD93bXHubA4arpEZO3q80so0qgoFJEKRkRbjKX8RTdca89v2kfyF+xR3i2sQTwql9tpPZPOQN5B+PunspXRg== markdown-it-task-lists@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/markdown-it-task-lists/-/markdown-it-task-lists-2.1.1.tgz#f68f4d2ac2bad5a2c373ba93081a1a6848417088" + resolved "https://registry.yarnpkg.com/markdown-it-task-lists/-/markdown-it-task-lists-2.1.1.tgz#f68f4d2ac2bad5a2c373ba93081a1a6848417088" integrity sha512-TxFAc76Jnhb2OUu+n3yz9RMu4CwGfaT788br6HhEDlvWfdeJcLUsxk1Hgw2yJio0OXsxv7pyIPmvECY7bMbluA== -markdown-it@^13.0.1: - version "13.0.1" - resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz#c6ecc431cacf1a5da531423fc6a42807814af430" - integrity sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q== +markdown-it@^14.1.0: + version "14.1.0" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-14.1.0.tgz#3c3c5992883c633db4714ccb4d7b5935d98b7d45" + integrity sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg== dependencies: argparse "^2.0.1" - entities "~3.0.1" - linkify-it "^4.0.1" - mdurl "^1.0.1" - uc.micro "^1.0.5" + entities "^4.4.0" + linkify-it "^5.0.0" + mdurl "^2.0.0" + punycode.js "^2.3.1" + uc.micro "^2.1.0" -mdurl@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" - integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== +mdast-util-to-hast@^13.0.0: + version "13.2.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz#5ca58e5b921cc0a3ded1bc02eed79a4fe4fe41f4" + integrity sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA== + dependencies: + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + "@ungap/structured-clone" "^1.0.0" + devlop "^1.0.0" + micromark-util-sanitize-uri "^2.0.0" + trim-lines "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit "^5.0.0" + vfile "^6.0.0" -medium-zoom@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/medium-zoom/-/medium-zoom-1.0.8.tgz#2bd1fbcf2961fa7b0e318fe284462aa9b8608ed2" - integrity sha512-CjFVuFq/IfrdqesAXfg+hzlDKu6A2n80ZIq0Kl9kWjoHh9j1N9Uvk5X0/MmN0hOfm5F9YBswlClhcwnmtwz7gA== - -merge-stream@^2.0.0: +mdurl@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-2.0.0.tgz#80676ec0433025dd3e17ee983d0fe8de5a2237e0" + integrity sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w== -merge2@^1.3.0, merge2@^1.4.1: +medium-zoom@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/medium-zoom/-/medium-zoom-1.1.0.tgz#6efb6bbda861a02064ee71a2617a8dc4381ecc71" + integrity sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ== + +merge2@^1.3.0: version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== +micromark-util-character@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz#2f987831a40d4c510ac261e89852c4e9703ccda6" + integrity sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q== dependencies: - braces "^3.0.2" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-encode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz#0d51d1c095551cfaac368326963cf55f15f540b8" + integrity sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw== + +micromark-util-sanitize-uri@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz#ab89789b818a58752b73d6b55238621b7faa8fd7" + integrity sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-encode "^2.0.0" + micromark-util-symbol "^2.0.0" + +micromark-util-symbol@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz#e5da494e8eb2b071a0d08fb34f6cefec6c0a19b8" + integrity sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q== + +micromark-util-types@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.2.tgz#f00225f5f5a0ebc3254f96c36b6605c4b393908e" + integrity sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA== + +micromatch@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" picomatch "^2.3.1" -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +mimic-function@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/mimic-function/-/mimic-function-5.0.1.tgz#acbe2b3349f99b9deaca7fb70e48b83e94e67076" + integrity sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA== -mimic-fn@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" - integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== +mitt@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/mitt/-/mitt-3.0.1.tgz#ea36cf0cc30403601ae074c8f77b7092cdab36d1" + integrity sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw== -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -nanoid@^3.3.6: - version "3.3.6" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" - integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== +nanoid@^3.3.11: + version "3.3.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== +nanoid@^5.1.5: + version "5.1.5" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-5.1.5.tgz#f7597f9d9054eb4da9548cdd53ca70f1790e87de" + integrity sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw== -node-releases@^2.0.13: - version "2.0.13" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" - integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== +node-releases@^2.0.19: + version "2.0.19" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" + integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== normalize-range@^0.1.2: version "0.1.2" - resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== -npm-run-path@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" - integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== - dependencies: - path-key "^4.0.0" - nth-check@^2.0.1: version "2.1.1" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== dependencies: boolbase "^1.0.0" -onetime@^5.1.0: - version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== +onetime@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-7.0.0.tgz#9f16c92d8c9ef5120e3acd9dd9957cceecc1ab60" + integrity sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ== dependencies: - mimic-fn "^2.1.0" + mimic-function "^5.0.0" -onetime@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" - integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== +oniguruma-parser@^0.12.1: + version "0.12.1" + resolved "https://registry.yarnpkg.com/oniguruma-parser/-/oniguruma-parser-0.12.1.tgz#82ba2208d7a2b69ee344b7efe0ae930c627dcc4a" + integrity sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w== + +oniguruma-to-es@^4.3.3: + version "4.3.3" + resolved "https://registry.yarnpkg.com/oniguruma-to-es/-/oniguruma-to-es-4.3.3.tgz#50db2c1e28ec365e102c1863dfd3d1d1ad18613e" + integrity sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg== dependencies: - mimic-fn "^4.0.0" + oniguruma-parser "^0.12.1" + regex "^6.0.1" + regex-recursion "^6.0.2" -ora@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/ora/-/ora-7.0.1.tgz#cdd530ecd865fe39e451a0e7697865669cb11930" - integrity sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw== +ora@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/ora/-/ora-8.2.0.tgz#8fbbb7151afe33b540dd153f171ffa8bd38e9861" + integrity sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw== dependencies: chalk "^5.3.0" - cli-cursor "^4.0.0" - cli-spinners "^2.9.0" + cli-cursor "^5.0.0" + cli-spinners "^2.9.2" is-interactive "^2.0.0" - is-unicode-supported "^1.3.0" - log-symbols "^5.1.0" - stdin-discarder "^0.1.0" - string-width "^6.1.0" + is-unicode-supported "^2.0.0" + log-symbols "^6.0.0" + stdin-discarder "^0.2.2" + string-width "^7.2.0" strip-ansi "^7.1.0" -parse5-htmlparser2-tree-adapter@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz#23c2cc233bcf09bb7beba8b8a69d46b08c62c2f1" - integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== +parse5-htmlparser2-tree-adapter@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz#b5a806548ed893a43e24ccb42fbb78069311e81b" + integrity sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g== dependencies: - domhandler "^5.0.2" + domhandler "^5.0.3" parse5 "^7.0.0" -parse5@^7.0.0: +parse5-parser-stream@^7.1.2: version "7.1.2" - resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + resolved "https://registry.yarnpkg.com/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz#d7c20eadc37968d272e2c02660fff92dd27e60e1" + integrity sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow== dependencies: - entities "^4.4.0" + parse5 "^7.0.0" -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== +parse5@^7.0.0, parse5@^7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.3.0.tgz#d7e224fa72399c7a175099f45fc2ad024b05ec05" + integrity sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw== + dependencies: + entities "^6.0.0" -path-key@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" - integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== +path-type@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-6.0.0.tgz#2f1bb6791a91ce99194caede5d6c5920ed81eb51" + integrity sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ== -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -picocolors@^1.0.0: +perfect-debounce@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + resolved "https://registry.yarnpkg.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz#9c2e8bc30b169cc984a58b7d5b28049839591d2a" + integrity sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA== + +picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -postcss-load-config@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz#152383f481c2758274404e4962743191d73875bd" - integrity sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA== +picomatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" + integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== + +postcss-load-config@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-6.0.1.tgz#6fd7dcd8ae89badcf1b2d644489cbabf83aa8096" + integrity sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g== dependencies: - lilconfig "^2.0.5" - yaml "^2.1.1" + lilconfig "^3.1.1" postcss-value-parser@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.1.10, postcss@^8.4.27, postcss@^8.4.28: - version "8.4.29" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.29.tgz#33bc121cf3b3688d4ddef50be869b2a54185a1dd" - integrity sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw== +postcss@^8.5.6: + version "8.5.6" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" + integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== dependencies: - nanoid "^3.3.6" - picocolors "^1.0.0" - source-map-js "^1.0.2" + nanoid "^3.3.11" + picocolors "^1.1.1" + source-map-js "^1.2.1" -prismjs@^1.29.0: - version "1.29.0" - resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12" - integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== +prismjs@^1.30.0: + version "1.30.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.30.0.tgz#d9709969d9d4e16403f6f348c63553b19f0975a9" + integrity sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw== + +property-information@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-7.1.0.tgz#b622e8646e02b580205415586b40804d3e8bfd5d" + integrity sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ== + +punycode.js@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode.js/-/punycode.js-2.3.1.tgz#6b53e56ad75588234e79f4affa90972c7dd8cdb7" + integrity sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA== queue-microtask@^1.2.2: version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -readable-stream@^3.4.0: - version "3.6.2" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" +readdirp@^4.0.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.2.tgz#eb85801435fbf2a7ee58f19e0921b068fc69948d" + integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" -restore-cursor@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz#519560a4318975096def6e609d44100edaa4ccb9" - integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== +regex-recursion@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/regex-recursion/-/regex-recursion-6.0.2.tgz#a0b1977a74c87f073377b938dbedfab2ea582b33" + integrity sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg== dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" + regex-utilities "^2.3.0" + +regex-utilities@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/regex-utilities/-/regex-utilities-2.3.0.tgz#87163512a15dce2908cf079c8960d5158ff43280" + integrity sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng== + +regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/regex/-/regex-6.0.1.tgz#282fa4435d0c700b09c0eb0982b602e05ab6a34f" + integrity sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA== + dependencies: + regex-utilities "^2.3.0" + +rehype-parse@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-9.0.1.tgz#9993bda129acc64c417a9d3654a7be38b2a94c20" + integrity sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag== + dependencies: + "@types/hast" "^3.0.0" + hast-util-from-html "^2.0.0" + unified "^11.0.0" + +rehype-sanitize@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/rehype-sanitize/-/rehype-sanitize-6.0.0.tgz#16e95f4a67a69cbf0f79e113c8e0df48203db73c" + integrity sha512-CsnhKNsyI8Tub6L4sm5ZFsme4puGfc6pYylvXo1AeqaGbjOYyzNv3qZPwvs0oMJ39eryyeOdmxwUIo94IpEhqg== + dependencies: + "@types/hast" "^3.0.0" + hast-util-sanitize "^5.0.0" + +rehype-stringify@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/rehype-stringify/-/rehype-stringify-10.0.1.tgz#2ec1ebc56c6aba07905d3b4470bdf0f684f30b75" + integrity sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA== + dependencies: + "@types/hast" "^3.0.0" + hast-util-to-html "^9.0.0" + unified "^11.0.0" + +restore-cursor@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-5.1.0.tgz#0766d95699efacb14150993f55baf0953ea1ebe7" + integrity sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA== + dependencies: + onetime "^7.0.0" + signal-exit "^4.1.0" reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== -rollup@^3.27.1, rollup@^3.28.1: - version "3.28.1" - resolved "https://registry.npmjs.org/rollup/-/rollup-3.28.1.tgz#fb44aa6d5e65c7e13fd5bcfff266d0c4ea9ba433" - integrity sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw== +rfdc@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" + integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== + +rollup@^4.40.0, rollup@^4.44.1: + version "4.44.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.44.2.tgz#faedb27cb2aa6742530c39668092eecbaf78c488" + integrity sha512-PVoapzTwSEcelaWGth3uR66u7ZRo6qhPHc0f2uRO9fX6XDVNrIiGYS0Pj9+R8yIIYSD/mCx2b16Ws9itljKSPg== + dependencies: + "@types/estree" "1.0.8" optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.44.2" + "@rollup/rollup-android-arm64" "4.44.2" + "@rollup/rollup-darwin-arm64" "4.44.2" + "@rollup/rollup-darwin-x64" "4.44.2" + "@rollup/rollup-freebsd-arm64" "4.44.2" + "@rollup/rollup-freebsd-x64" "4.44.2" + "@rollup/rollup-linux-arm-gnueabihf" "4.44.2" + "@rollup/rollup-linux-arm-musleabihf" "4.44.2" + "@rollup/rollup-linux-arm64-gnu" "4.44.2" + "@rollup/rollup-linux-arm64-musl" "4.44.2" + "@rollup/rollup-linux-loongarch64-gnu" "4.44.2" + "@rollup/rollup-linux-powerpc64le-gnu" "4.44.2" + "@rollup/rollup-linux-riscv64-gnu" "4.44.2" + "@rollup/rollup-linux-riscv64-musl" "4.44.2" + "@rollup/rollup-linux-s390x-gnu" "4.44.2" + "@rollup/rollup-linux-x64-gnu" "4.44.2" + "@rollup/rollup-linux-x64-musl" "4.44.2" + "@rollup/rollup-win32-arm64-msvc" "4.44.2" + "@rollup/rollup-win32-ia32-msvc" "4.44.2" + "@rollup/rollup-win32-x64-msvc" "4.44.2" fsevents "~2.3.2" run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" -safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -sass-loader@^13.3.2: - version "13.3.2" - resolved "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.2.tgz#460022de27aec772480f03de17f5ba88fa7e18c6" - integrity sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg== +rxjs@^7.4.0: + version "7.8.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.2.tgz#955bc473ed8af11a002a2be52071bf475638607b" + integrity sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA== dependencies: - neo-async "^2.6.2" + tslib "^2.1.0" -sass@^1.66.1: - version "1.66.1" - resolved "https://registry.npmjs.org/sass/-/sass-1.66.1.tgz#04b51c4671e4650aa393740e66a4e58b44d055b1" - integrity sha512-50c+zTsZOJVgFfTgwwEzkjA3/QACgdNsKueWPyAR0mRINIvLAStVQBbPg14iuqEQ74NPDbXzJARJ/O4SI1zftA== +"safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sass-embedded-android-arm64@1.89.2: + version "1.89.2" + resolved "https://registry.yarnpkg.com/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.89.2.tgz#97546fbeeae3c7461435309b6b7022db37f65ea2" + integrity sha512-+pq7a7AUpItNyPu61sRlP6G2A8pSPpyazASb+8AK2pVlFayCSPAEgpwpCE9A2/Xj86xJZeMizzKUHxM2CBCUxA== + +sass-embedded-android-arm@1.89.2: + version "1.89.2" + resolved "https://registry.yarnpkg.com/sass-embedded-android-arm/-/sass-embedded-android-arm-1.89.2.tgz#02be468f924f2f9d6e93816507d3f3f200ff3836" + integrity sha512-oHAPTboBHRZlDBhyRB6dvDKh4KvFs+DZibDHXbkSI6dBZxMTT+Yb2ivocHnctVGucKTLQeT7+OM5DjWHyynL/A== + +sass-embedded-android-riscv64@1.89.2: + version "1.89.2" + resolved "https://registry.yarnpkg.com/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.89.2.tgz#d15899446b035cabacb49d20689e05823a144bc8" + integrity sha512-HfJJWp/S6XSYvlGAqNdakeEMPOdhBkj2s2lN6SHnON54rahKem+z9pUbCriUJfM65Z90lakdGuOfidY61R9TYg== + +sass-embedded-android-x64@1.89.2: + version "1.89.2" + resolved "https://registry.yarnpkg.com/sass-embedded-android-x64/-/sass-embedded-android-x64-1.89.2.tgz#d76c99035a0f2835006dba6cc52f13fa41a3113a" + integrity sha512-BGPzq53VH5z5HN8de6jfMqJjnRe1E6sfnCWFd4pK+CAiuM7iw5Fx6BQZu3ikfI1l2GY0y6pRXzsVLdp/j4EKEA== + +sass-embedded-darwin-arm64@1.89.2: + version "1.89.2" + resolved "https://registry.yarnpkg.com/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.89.2.tgz#57150b77676d4d82e84b2198f5f6983418fff04e" + integrity sha512-UCm3RL/tzMpG7DsubARsvGUNXC5pgfQvP+RRFJo9XPIi6elopY5B6H4m9dRYDpHA+scjVthdiDwkPYr9+S/KGw== + +sass-embedded-darwin-x64@1.89.2: + version "1.89.2" + resolved "https://registry.yarnpkg.com/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.89.2.tgz#b0b1c5abb1d057daaa8f8a1e2b2497478865a22d" + integrity sha512-D9WxtDY5VYtMApXRuhQK9VkPHB8R79NIIR6xxVlN2MIdEid/TZWi1MHNweieETXhWGrKhRKglwnHxxyKdJYMnA== + +sass-embedded-linux-arm64@1.89.2: + version "1.89.2" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.89.2.tgz#f4d964d9773acd5e065513837d0412753e4a02a1" + integrity sha512-2N4WW5LLsbtrWUJ7iTpjvhajGIbmDR18ZzYRywHdMLpfdPApuHPMDF5CYzHbS+LLx2UAx7CFKBnj5LLjY6eFgQ== + +sass-embedded-linux-arm@1.89.2: + version "1.89.2" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.89.2.tgz#e9cd53cb299e6e8cada56acc801b8477f9876fb0" + integrity sha512-leP0t5U4r95dc90o8TCWfxNXwMAsQhpWxTkdtySDpngoqtTy3miMd7EYNYd1znI0FN1CBaUvbdCMbnbPwygDlA== + +sass-embedded-linux-musl-arm64@1.89.2: + version "1.89.2" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.89.2.tgz#e501d00d9cf050fcbb261b53255af85fa7c39c73" + integrity sha512-nTyuaBX6U1A/cG7WJh0pKD1gY8hbg1m2SnzsyoFG+exQ0lBX/lwTLHq3nyhF+0atv7YYhYKbmfz+sjPP8CZ9lw== + +sass-embedded-linux-musl-arm@1.89.2: + version "1.89.2" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.89.2.tgz#1b073158532b72597522ebffef0658374c9c04ba" + integrity sha512-Z6gG2FiVEEdxYHRi2sS5VIYBmp17351bWtOCUZ/thBM66+e70yiN6Eyqjz80DjL8haRUegNQgy9ZJqsLAAmr9g== + +sass-embedded-linux-musl-riscv64@1.89.2: + version "1.89.2" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.89.2.tgz#06542e8946885d09f2cea939092d145aeeee6d39" + integrity sha512-N6oul+qALO0SwGY8JW7H/Vs0oZIMrRMBM4GqX3AjM/6y8JsJRxkAwnfd0fDyK+aICMFarDqQonQNIx99gdTZqw== + +sass-embedded-linux-musl-x64@1.89.2: + version "1.89.2" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.89.2.tgz#2fd441597a95f57d70d0c46e0e8c18ab4f52c596" + integrity sha512-K+FmWcdj/uyP8GiG9foxOCPfb5OAZG0uSVq80DKgVSC0U44AdGjvAvVZkrgFEcZ6cCqlNC2JfYmslB5iqdL7tg== + +sass-embedded-linux-riscv64@1.89.2: + version "1.89.2" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.89.2.tgz#eeea2fbcbd5b575391a5b702092c0e8cc03f661c" + integrity sha512-g9nTbnD/3yhOaskeqeBQETbtfDQWRgsjHok6bn7DdAuwBsyrR3JlSFyqKc46pn9Xxd9SQQZU8AzM4IR+sY0A0w== + +sass-embedded-linux-x64@1.89.2: + version "1.89.2" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.89.2.tgz#9a58127a312e7c011e3a20470ff5707b9aa78536" + integrity sha512-Ax7dKvzncyQzIl4r7012KCMBvJzOz4uwSNoyoM5IV6y5I1f5hEwI25+U4WfuTqdkv42taCMgpjZbh9ERr6JVMQ== + +sass-embedded-win32-arm64@1.89.2: + version "1.89.2" + resolved "https://registry.yarnpkg.com/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.89.2.tgz#7e9ddcb5abe3a8eca370909686da37da60f97c85" + integrity sha512-j96iJni50ZUsfD6tRxDQE2QSYQ2WrfHxeiyAXf41Kw0V4w5KYR/Sf6rCZQLMTUOHnD16qTMVpQi20LQSqf4WGg== + +sass-embedded-win32-x64@1.89.2: + version "1.89.2" + resolved "https://registry.yarnpkg.com/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.89.2.tgz#9f5c71b611a8edbc40e1c8cc47bd20d8a4bdf13a" + integrity sha512-cS2j5ljdkQsb4PaORiClaVYynE9OAPZG/XjbOMxpQmjRIf7UroY4PEIH+Waf+y47PfXFX9SyxhYuw2NIKGbEng== + +sass-embedded@^1.89.2: + version "1.89.2" + resolved "https://registry.yarnpkg.com/sass-embedded/-/sass-embedded-1.89.2.tgz#bf6cd7d6ace06f0430bbf3913c95a8be83367883" + integrity sha512-Ack2K8rc57kCFcYlf3HXpZEJFNUX8xd8DILldksREmYXQkRHI879yy8q4mRDJgrojkySMZqmmmW1NxrFxMsYaA== dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" + "@bufbuild/protobuf" "^2.5.0" + buffer-builder "^0.2.0" + colorjs.io "^0.5.0" + immutable "^5.0.2" + rxjs "^7.4.0" + supports-color "^8.1.1" + sync-child-process "^1.0.2" + varint "^6.0.0" + optionalDependencies: + sass-embedded-android-arm "1.89.2" + sass-embedded-android-arm64 "1.89.2" + sass-embedded-android-riscv64 "1.89.2" + sass-embedded-android-x64 "1.89.2" + sass-embedded-darwin-arm64 "1.89.2" + sass-embedded-darwin-x64 "1.89.2" + sass-embedded-linux-arm "1.89.2" + sass-embedded-linux-arm64 "1.89.2" + sass-embedded-linux-musl-arm "1.89.2" + sass-embedded-linux-musl-arm64 "1.89.2" + sass-embedded-linux-musl-riscv64 "1.89.2" + sass-embedded-linux-musl-x64 "1.89.2" + sass-embedded-linux-riscv64 "1.89.2" + sass-embedded-linux-x64 "1.89.2" + sass-embedded-win32-arm64 "1.89.2" + sass-embedded-win32-x64 "1.89.2" + +sax@^1.2.4: + version "1.4.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f" + integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== section-matter@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" + resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== dependencies: extend-shallow "^2.0.1" kind-of "^6.0.0" -semver@^7.5.4: - version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== +shiki@^3.6.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/shiki/-/shiki-3.7.0.tgz#c27e214e48151ea0fca813d84cf2db87858a52d7" + integrity sha512-ZcI4UT9n6N2pDuM2n3Jbk0sR4Swzq43nLPgS/4h0E3B/NrFn2HKElrDtceSf8Zx/OWYOo7G1SAtBLypCp+YXqg== dependencies: - lru-cache "^6.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -signal-exit@^3.0.2: - version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + "@shikijs/core" "3.7.0" + "@shikijs/engine-javascript" "3.7.0" + "@shikijs/engine-oniguruma" "3.7.0" + "@shikijs/langs" "3.7.0" + "@shikijs/themes" "3.7.0" + "@shikijs/types" "3.7.0" + "@shikijs/vscode-textmate" "^10.0.2" + "@types/hast" "^3.0.4" signal-exit@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== +sitemap@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-8.0.0.tgz#eb6ea48f95787cd680b83683c555d6f6b5a903fd" + integrity sha512-+AbdxhM9kJsHtruUF39bwS/B0Fytw6Fr1o4ZAIAEqA6cke2xcoO2GleBw9Zw7nRzILVEgz7zBM5GiTJjie1G9A== + dependencies: + "@types/node" "^17.0.5" + "@types/sax" "^1.2.1" + arg "^5.0.0" + sax "^1.2.4" -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== +slash@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-5.1.0.tgz#be3adddcdf09ac38eebe8dcdc7b1a57a75b095ce" + integrity sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg== + +source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== + +space-separated-tokens@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" + integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== + +speakingurl@^14.0.1: + version "14.0.1" + resolved "https://registry.yarnpkg.com/speakingurl/-/speakingurl-14.0.1.tgz#f37ec8ddc4ab98e9600c1c9ec324a8c48d772a53" + integrity sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ== sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== -stdin-discarder@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz#22b3e400393a8e28ebf53f9958f3880622efde21" - integrity sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ== - dependencies: - bl "^5.0.0" +stdin-discarder@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/stdin-discarder/-/stdin-discarder-0.2.2.tgz#390037f44c4ae1a1ae535c5fe38dc3aba8d997be" + integrity sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ== -string-width@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/string-width/-/string-width-6.1.0.tgz#96488d6ed23f9ad5d82d13522af9e4c4c3fd7518" - integrity sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ== +string-width@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.2.0.tgz#b5bb8e2165ce275d4d43476dd2700ad9091db6dc" + integrity sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^10.2.1" - strip-ansi "^7.0.1" + emoji-regex "^10.3.0" + get-east-asian-width "^1.0.0" + strip-ansi "^7.1.0" -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== +stringify-entities@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.4.tgz#b3b79ef5f277cc4ac73caeb0236c5ba939b3a4f3" + integrity sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg== dependencies: - safe-buffer "~5.2.0" + character-entities-html4 "^2.0.0" + character-entities-legacy "^3.0.0" -strip-ansi@^7.0.1, strip-ansi@^7.1.0: +strip-ansi@^7.1.0: version "7.1.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== dependencies: ansi-regex "^6.0.1" strip-bom-string@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" + resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g== -strip-final-newline@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" - integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== +superjson@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/superjson/-/superjson-2.2.2.tgz#9d52bf0bf6b5751a3c3472f1292e714782ba3173" + integrity sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q== + dependencies: + copy-anything "^3.0.2" -striptags@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/striptags/-/striptags-3.2.0.tgz#cc74a137db2de8b0b9a370006334161f7dd67052" - integrity sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw== +supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +sync-child-process@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/sync-child-process/-/sync-child-process-1.0.2.tgz#45e7c72e756d1243e80b547ea2e17957ab9e367f" + integrity sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA== + dependencies: + sync-message-port "^1.0.0" + +sync-message-port@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/sync-message-port/-/sync-message-port-1.1.3.tgz#6055c565ee8c81d2f9ee5aae7db757e6d9088c0c" + integrity sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg== + +synckit@^0.11.8: + version "0.11.8" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.11.8.tgz#b2aaae998a4ef47ded60773ad06e7cb821f55457" + integrity sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A== + dependencies: + "@pkgr/core" "^0.2.4" + +tinyglobby@^0.2.14: + version "0.2.14" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.14.tgz#5280b0cf3f972b050e74ae88406c0a6a58f4079d" + integrity sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ== + dependencies: + fdir "^6.4.4" + picomatch "^4.0.2" to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" -ts-debounce@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/ts-debounce/-/ts-debounce-4.0.0.tgz#33440ef64fab53793c3d546a8ca6ae539ec15841" - integrity sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg== +trim-lines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" + integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== -uc.micro@^1.0.1, uc.micro@^1.0.5: - version "1.0.6" - resolved "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" - integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== +trough@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/trough/-/trough-2.2.0.tgz#94a60bd6bd375c152c1df911a4b11d5b0256f50f" + integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== + +tslib@^2.1.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + +uc.micro@^2.0.0, uc.micro@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-2.1.0.tgz#f8d3f7d0ec4c3dea35a7e3c8efa4cb8b45c9e7ee" + integrity sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A== + +undici-types@~7.8.0: + version "7.8.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.8.0.tgz#de00b85b710c54122e44fbfd911f8d70174cd294" + integrity sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw== + +undici@^7.10.0: + version "7.11.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-7.11.0.tgz#8e13a54f62afa756666c0590c38b3866e286d0b3" + integrity sha512-heTSIac3iLhsmZhUCjyS3JQEkZELateufzZuBaVM5RHXdSBMb1LPMQf5x+FH7qjsZYDP0ttAc3nnVpUB+wYbOg== + +unicorn-magic@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/unicorn-magic/-/unicorn-magic-0.3.0.tgz#4efd45c85a69e0dd576d25532fbfa22aa5c8a104" + integrity sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA== + +unified@^11.0.0, unified@^11.0.5: + version "11.0.5" + resolved "https://registry.yarnpkg.com/unified/-/unified-11.0.5.tgz#f66677610a5c0a9ee90cab2b8d4d66037026d9e1" + integrity sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA== + dependencies: + "@types/unist" "^3.0.0" + bail "^2.0.0" + devlop "^1.0.0" + extend "^3.0.0" + is-plain-obj "^4.0.0" + trough "^2.0.0" + vfile "^6.0.0" + +unist-util-is@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424" + integrity sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-position@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-5.0.0.tgz#678f20ab5ca1207a97d7ea8a388373c9cf896be4" + integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-stringify-position@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz#449c6e21a880e0855bf5aabadeb3a740314abac2" + integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-visit-parents@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz#4d5f85755c3b8f0dc69e21eca5d6d82d22162815" + integrity sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw== + dependencies: + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" + +unist-util-visit@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz#a7de1f31f72ffd3519ea71814cccf5fd6a9217d6" + integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg== + dependencies: + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" + unist-util-visit-parents "^6.0.0" universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== upath@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" + resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== -update-browserslist-db@^1.0.11: - version "1.0.11" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" - integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== +update-browserslist-db@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" + integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" + escalade "^3.2.0" + picocolors "^1.1.1" -util-deprecate@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== +varint@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0" + integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg== -vite@~4.4.9: - version "4.4.9" - resolved "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz#1402423f1a2f8d66fd8d15e351127c7236d29d3d" - integrity sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA== +vfile-location@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-5.0.3.tgz#cb9eacd20f2b6426d19451e0eafa3d0a846225c3" + integrity sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg== dependencies: - esbuild "^0.18.10" - postcss "^8.4.27" - rollup "^3.27.1" + "@types/unist" "^3.0.0" + vfile "^6.0.0" + +vfile-message@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-4.0.2.tgz#c883c9f677c72c166362fd635f21fc165a7d1181" + integrity sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw== + dependencies: + "@types/unist" "^3.0.0" + unist-util-stringify-position "^4.0.0" + +vfile@^6.0.0: + version "6.0.3" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.3.tgz#3652ab1c496531852bf55a6bac57af981ebc38ab" + integrity sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q== + dependencies: + "@types/unist" "^3.0.0" + vfile-message "^4.0.0" + +vite@~7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/vite/-/vite-7.0.2.tgz#66ddf890c4357f4fb6803a787dc210538591b917" + integrity sha512-hxdyZDY1CM6SNpKI4w4lcUc3Mtkd9ej4ECWVHSMrOdSinVc2zYOAppHeGc/hzmRo3pxM5blMzkuWHOJA/3NiFw== + dependencies: + esbuild "^0.25.0" + fdir "^6.4.6" + picomatch "^4.0.2" + postcss "^8.5.6" + rollup "^4.40.0" + tinyglobby "^0.2.14" optionalDependencies: - fsevents "~2.3.2" + fsevents "~2.3.3" -vue-demi@>=0.14.5: - version "0.14.6" - resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz#dc706582851dc1cdc17a0054f4fec2eb6df74c92" - integrity sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w== - -vue-router@^4.2.4: - version "4.2.4" - resolved "https://registry.npmjs.org/vue-router/-/vue-router-4.2.4.tgz#382467a7e2923e6a85f015d081e1508052c191b9" - integrity sha512-9PISkmaCO02OzPVOMq2w82ilty6+xJmQrarYZDkjZBfl4RvYAlt4PKnEX21oW4KTtWfa9OuO/b3qk1Od3AEdCQ== +vue-router@^4.5.1: + version "4.5.1" + resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.5.1.tgz#47bffe2d3a5479d2886a9a244547a853aa0abf69" + integrity sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw== dependencies: - "@vue/devtools-api" "^6.5.0" + "@vue/devtools-api" "^6.6.4" -vue@^3.3.4: - version "3.3.4" - resolved "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz#8ed945d3873667df1d0fcf3b2463ada028f88bd6" - integrity sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw== +vue@^3.5.16, vue@^3.5.17: + version "3.5.17" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.5.17.tgz#ea8a6a45abb2b0620e7d479319ce8434b55650cf" + integrity sha512-LbHV3xPN9BeljML+Xctq4lbz2lVHCR6DtbpTf5XIO6gugpXUN49j2QQPcMj086r9+AkJ0FfUT8xjulKKBkkr9g== dependencies: - "@vue/compiler-dom" "3.3.4" - "@vue/compiler-sfc" "3.3.4" - "@vue/runtime-dom" "3.3.4" - "@vue/server-renderer" "3.3.4" - "@vue/shared" "3.3.4" + "@vue/compiler-dom" "3.5.17" + "@vue/compiler-sfc" "3.5.17" + "@vue/runtime-dom" "3.5.17" + "@vue/server-renderer" "3.5.17" + "@vue/shared" "3.5.17" -vuepress-plugin-copy-code2@2.0.0-beta.237: - version "2.0.0-beta.237" - resolved "https://registry.npmjs.org/vuepress-plugin-copy-code2/-/vuepress-plugin-copy-code2-2.0.0-beta.237.tgz#686097f7f9ae8c2966a88b9219cebae82426c6a0" - integrity sha512-k8HhFrLLxFc81AURJQh4pXbAlRE4OdF5MflcCSCi4R104A+vNs2DvvkmQHtNTiLyXmrciS8oyS3LwUdRvilhxQ== +vuepress@^2.0.0-rc.24: + version "2.0.0-rc.24" + resolved "https://registry.yarnpkg.com/vuepress/-/vuepress-2.0.0-rc.24.tgz#f111402e6cd6370c6605dc27a6d3ae3f488fac1f" + integrity sha512-56O9fAj3Fr1ezngeHDGyp5I1fWxBnP6gaGerjYjPNtr2RteSZtnqL/fQDzmiw5rFpuMVlfOTXESvQjQUlio8PQ== dependencies: - "@vuepress/client" "2.0.0-beta.67" - "@vuepress/shared" "2.0.0-beta.67" - "@vuepress/utils" "2.0.0-beta.67" - "@vueuse/core" "^10.4.1" - balloon-css "^1.2.0" - vue "^3.3.4" - vue-router "^4.2.4" - vuepress-plugin-sass-palette "2.0.0-beta.237" - vuepress-shared "2.0.0-beta.237" + "@vuepress/cli" "2.0.0-rc.24" + "@vuepress/client" "2.0.0-rc.24" + "@vuepress/core" "2.0.0-rc.24" + "@vuepress/markdown" "2.0.0-rc.24" + "@vuepress/shared" "2.0.0-rc.24" + "@vuepress/utils" "2.0.0-rc.24" + vue "^3.5.17" -vuepress-plugin-sass-palette@2.0.0-beta.237: - version "2.0.0-beta.237" - resolved "https://registry.npmjs.org/vuepress-plugin-sass-palette/-/vuepress-plugin-sass-palette-2.0.0-beta.237.tgz#6098f2bbf5260c83a79c54f26f469c75085f4492" - integrity sha512-Z0XpgRpYBp1ulL1zYk+H7XKnFU37HxTRGXFJLOkgEiTmVluQqYxH1pCrWDMvTkwoaEn+xOQytQgCW8S+5jrH0w== +web-namespaces@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692" + integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== + +whatwg-encoding@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz#d0f4ef769905d426e1688f3e34381a99b60b76e5" + integrity sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ== dependencies: - "@vuepress/shared" "2.0.0-beta.67" - "@vuepress/utils" "2.0.0-beta.67" - chokidar "^3.5.3" - sass "^1.66.1" - vuepress-shared "2.0.0-beta.237" + iconv-lite "0.6.3" -vuepress-shared@2.0.0-beta.237: - version "2.0.0-beta.237" - resolved "https://registry.npmjs.org/vuepress-shared/-/vuepress-shared-2.0.0-beta.237.tgz#526e9cbd5d9fb1e2c5ec8183875aa2ebbaf27811" - integrity sha512-R4lGkX0GD1yUyK0iDrWIZvJbuoGyi9Z41gPz3jFexJM4ojjirkuvLy6DuMwFCi80GKJlrfWq19Tpeo5z5foPBA== - dependencies: - "@vuepress/client" "2.0.0-beta.67" - "@vuepress/shared" "2.0.0-beta.67" - "@vuepress/utils" "2.0.0-beta.67" - "@vueuse/core" "^10.4.1" - cheerio "1.0.0-rc.12" - dayjs "^1.11.9" - execa "^8.0.1" - fflate "^0.8.0" - gray-matter "^4.0.3" - semver "^7.5.4" - striptags "^3.2.0" - vue "^3.3.4" - vue-router "^4.2.4" - -vuepress-vite@2.0.0-beta.67: - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/vuepress-vite/-/vuepress-vite-2.0.0-beta.67.tgz#24db0ce1ba96e1a50c14883970329f933b9d6418" - integrity sha512-oaak2RPKBP0LeaDpDntlsQWLklCBf2vdeceXtPSLV2IzL/wtMHs5DQ/f7zXxCzvku3h/FIstmgoKq/vC0TvHkA== - dependencies: - "@vuepress/bundler-vite" "2.0.0-beta.67" - "@vuepress/cli" "2.0.0-beta.67" - "@vuepress/core" "2.0.0-beta.67" - "@vuepress/theme-default" "2.0.0-beta.67" - vue "^3.3.4" - -vuepress@2.0.0-beta.67: - version "2.0.0-beta.67" - resolved "https://registry.npmjs.org/vuepress/-/vuepress-2.0.0-beta.67.tgz#eacf63d6d14f2364bd8043f13eba67234319cd53" - integrity sha512-931pKDOph20RKMLZAH5YYlMz+nfx9jcOQio1Gxk0pB7DwuSxAVFxPv2dbIUP4E/4uWOkLppRhLYcrOoxEbVYzA== - dependencies: - vuepress-vite "2.0.0-beta.67" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -yallist@^4.0.0: +whatwg-mimetype@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz#bc1bf94a985dc50388d54a9258ac405c3ca2fc0a" + integrity sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg== -yaml@^2.1.1: - version "2.3.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz#f522db4313c671a0ca963a75670f1c12ea909144" - integrity sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg== +zwitch@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" + integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==