# 功能模块

部分动态相关接口请求存在 `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 -->
