MCPcopy Index your code
hub / github.com/Roozenlz/plugin-bilibili-bangumi

github.com/Roozenlz/plugin-bilibili-bangumi @1.4.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.4.0 ↗ · + Follow
56 symbols 124 edges 10 files 46 documented · 82%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Halo 2.0 追番插件

Halo version Roozen LICENSE MIT LICENSE MIT

Halo 2.0 的追番插件,支持在 Console 进行管理以及为主题端提供 /bangumis 页面路由。

本插件目前有halo-theme-haohalo-theme-auroratheme-clarity主题支持

使用方式

  1. 下载,目前提供以下下载方式:
  2. 安装,插件安装和更新方式可参考:https://docs.halo.run/user-guide/plugins
  3. 安装完成之后,访问 Console 左侧的插件菜单项打开追番插件基本设置界面,填写你的bilibiliID
  4. 前台访问地址为 /bangumis,需要注意的是,此插件需要主题提供模板bangumis.html)才能访问 /bangumis

注意,请打开以下开关!!!

本插件后续将支持其他 bilibili api 数据的获取,开源不易,喜欢请给个star,这是对我最大的鼓励!

开发环境

git clone git@github.com:Roozenlz/plugin-bilibili-bangumi.git

# 或者当你 fork 之后

git clone git@github.com:{your_github_id}/plugin-bilibili-bangumi.git
cd path/to/plugin-bilibili-bangumi
# macOS / Linux
./gradlew watch

# Windows
./gradlew.bat watch

主题适配

插件为主题端提供了 /bangumis 路由,模板为 bangumis.html

模板变量

路由信息

模板路径 访问路径
/templates/bangumis.html /bangumis

路由可选参数

参数名 描述 示例
page 分页页码 /bangumis?page=1/bangumis/page/1
typeNum 番剧类型(1.追番,2.追剧) /bangumis?typeNum=1
status 番剧状态(0.全部,1.想看,2.在看,3.已看) /bangumis?status=2
size 每页显示数量 /bangumis?size=20

变量

变量名 类型 描述
bangumis BangumiListResult 追番列表数据,包含分页信息

示例

<ul>
    <li th:each="bangumi : ${bangumis.items}">
        <img th:src="https://github.com/Roozenlz/plugin-bilibili-bangumi/raw/1.4.0/${bangumi.spec.cover}" th:alt="${bangumi.spec.title}" width="280">
        <h3 th:text="${bangumi.spec.title}"></h3>















    </li>
</ul>



   <a th:href="https://github.com/Roozenlz/plugin-bilibili-bangumi/raw/1.4.0/@{${bangumis.prevUrl}}">
      <span>上一页</span>
   </a>
   <span th:text="${bangumis.page}"></span>
   <a th:href="https://github.com/Roozenlz/plugin-bilibili-bangumi/raw/1.4.0/@{${bangumis.nextUrl}}">
      <span>下一页</span>
   </a>



Finder API

list(typeNum, status, page, size)

描述:根据分页参数获取番剧列表

参数 - typeNum:int - 番剧类型(1.追番,2.追剧) - status:int - 番剧状态(0.全部,1.想看,2.在看,3.已看) - page:int - 分页页码,从 1 开始 - size:int - 分页条数

返回值BangumiListResult

示例

<th:block th:with="bangumis = ${bangumiFinder.list(1, 0, 1, 10)}">
    <ul>
        <li th:each="bangumi : ${bangumis.items}">
            <img th:src="https://github.com/Roozenlz/plugin-bilibili-bangumi/raw/1.4.0/${bangumi.spec.cover}" th:alt="${bangumi.spec.title}" width="280">
        </li>
    </ul>



        <span th:text="${bangumis.page}"></span>



</th:block>

list({...})

描述:统一参数的番剧列表查询方法,支持分页、类型、状态等参数,且均为可选参数。

参数 - params:Map - 查询参数,包含: - page:int - 分页页码,从 1 开始(默认值:1) - size:int - 分页条数(默认值:10) - typeNum:int - 番剧类型(1.追番,2.追剧)(默认值:1) - status:int - 番剧状态(0.全部,1.想看,2.在看,3.已看)(默认值:0)

返回值BangumiListResult

示例

<ul th:with="bangumis = ${bangumiFinder.list({
  page: 1,
  size: 10,
  typeNum: 1,
  status: 2
})}">
    <li th:each="bangumi : ${bangumis.items}">
        <a th:href="https://github.com/Roozenlz/plugin-bilibili-bangumi/raw/1.4.0/${bangumi.spec.url}" th:text="${bangumi.spec.title}"></a>
    </li>
</ul>

getBiliData(typeNum, status, ps, pn)

描述:根据分页参数获取B站番剧数据

参数 - typeNum:int - 番剧类型(1.追番,2.追剧) - status:int - 番剧状态(0.全部,1.想看,2.在看,3.已看) - ps:int - 每页数量 - pn:int - 页码

返回值List<Bangumi>

示例

<ul>
    <li th:each="bangumi : ${bangumiFinder.getBiliData(1, 0, 10, 1)}">
        <img th:src="https://github.com/Roozenlz/plugin-bilibili-bangumi/raw/1.4.0/${bangumi.spec.cover}" th:alt="${bangumi.spec.title}" width="280">
    </li>
</ul>

getBiliDataAll(typeNum, status)

描述:获取所有B站番剧数据

参数 - typeNum:int - 番剧类型(1.追番,2.追剧) - status:int - 番剧状态(0.全部,1.想看,2.在看,3.已看)

返回值List<Bangumi>

示例

<ul>
    <li th:each="bangumi : ${bangumiFinder.getBiliDataAll(1, 0)}">
        <img th:src="https://github.com/Roozenlz/plugin-bilibili-bangumi/raw/1.4.0/${bangumi.spec.cover}" th:alt="${bangumi.spec.title}" width="280">
    </li>
</ul>

类型定义

Bangumi

{
  "spec": {
    "title": "string",                                  // 番剧名称
    "type": "string",                                   // 番剧类型
    "area": "string",                                   // 地区
    "cover": "string",                                  // 封面图片链接
    "totalCount": "string",                             // 总集数
    "id": "string",                                     // 番剧ID
    "follow": "string",                                 // 追番人数
    "view": "string",                                   // 播放量
    "danmaku": "string",                                // 弹幕数
    "coin": "string",                                   // 硬币数
    "score": "string",                                  // 评分
    "des": "string",                                    // 描述
    "url": "string"                                     // 番剧链接
  }
}

BangumiListResult

{
  "items": [Bangumi],                                     // 番剧列表数据
  "page": 1,                                              // 当前页码
  "size": 10,                                             // 每页大小
  "total": 100,                                           // 总记录数
  "typeNum": 1,                                           // 类型编号
  "status": 0,                                            // 状态码
  "hasPrevious": true,                                    // 是否有上一页
  "hasNext": true,                                        // 是否有下一页
  "prevUrl": "/bangumis/page/1?typeNum=1&status=0",       // 上一页URL
  "nextUrl": "/bangumis/page/3?typeNum=1&status=0",       // 下一页URL
  "totalPages": 10                                        // 总页数
}

Extension points exported contracts — how you extend this code

IBilibiliBangumiClient (Interface)
Bilibili番剧客户端接口 提供Bilibili番剧相关数据的访问功能 @author Roozen @version 1.0 @since 2023/7/30 [2 implementers]
src/main/java/top/roozen/bangumi/client/IBilibiliBangumiClient.java

Core symbols most depended-on inside this repo

build
called by 4
src/main/java/top/roozen/bangumi/model/BangumiListQuery.java
count
called by 4
src/main/java/top/roozen/bangumi/finder/BangumiFinder.java
toIntSafely
called by 4
src/main/java/top/roozen/bangumi/finder/BangumiFinder.java
builder
called by 3
src/main/java/top/roozen/bangumi/model/BangumiListQuery.java
listBiliBangumiByPage
called by 2
src/main/java/top/roozen/bangumi/client/IBilibiliBangumiClient.java
typeNum
called by 2
src/main/java/top/roozen/bangumi/model/BangumiListQuery.java
status
called by 2
src/main/java/top/roozen/bangumi/model/BangumiListQuery.java
getBiliId
called by 2
src/main/java/top/roozen/bangumi/finder/BangumiFinder.java

Shape

Method 39
Class 16
Interface 1

Languages

Java100%

Modules by API surface

src/main/java/top/roozen/bangumi/finder/BangumiFinder.java21 symbols
src/main/java/top/roozen/bangumi/model/BangumiListQuery.java8 symbols
src/main/java/top/roozen/bangumi/model/BangumiListResult.java7 symbols
src/main/java/top/roozen/bangumi/model/BilibiliApiResponse.java6 symbols
src/main/java/top/roozen/bangumi/BangumiPlugin.java5 symbols
src/main/java/top/roozen/bangumi/model/Bangumi.java2 symbols
src/main/java/top/roozen/bangumi/config/BangumiPluginConfig.java2 symbols
src/main/java/top/roozen/bangumi/client/IBilibiliBangumiClient.java2 symbols
src/main/java/top/roozen/bangumi/client/BilibiliBangumiClient.java2 symbols
src/main/java/top/roozen/bangumi/request/BilibiliBangumiRequest.java1 symbols

For agents

$ claude mcp add plugin-bilibili-bangumi \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page