Halo 2.0 的追番插件,支持在 Console 进行管理以及为主题端提供 /bangumis 页面路由。
本插件目前有halo-theme-hao、halo-theme-aurora、theme-clarity主题支持

/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>
描述:根据分页参数获取番剧列表
参数
- 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>
描述:统一参数的番剧列表查询方法,支持分页、类型、状态等参数,且均为可选参数。
参数
- 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>
描述:根据分页参数获取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>
描述:获取所有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>
{
"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" // 番剧链接
}
}
{
"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 // 总页数
}
$ claude mcp add plugin-bilibili-bangumi \
-- python -m otcore.mcp_server <graph>