公司动态

KNKPAnime与Bangumi集成揭秘:基于bgm.tv开放API实现搜索、日历与追番的完整指南

📅 2026/8/25 17:36:16
KNKPAnime与Bangumi集成揭秘:基于bgm.tv开放API实现搜索、日历与追番的完整指南
KNKPAnime与Bangumi集成揭秘基于bgm.tv开放API实现搜索、日历与追番的完整指南【免费下载链接】KNKPAnimeKNKPAnime支持多番剧源与弹幕的看番软件。项目地址: https://gitcode.com/gh_mirrors/kn/KNKPAnimeKNKPAnime是一款支持多番剧源与弹幕的看番软件它与Bangumibgm.tv深度集成借助 bgm.tv 的开放 API 实现番剧搜索、新番日历与追番记录三大核心功能再配合可自定义的多番剧源让你一站式解决去哪看、什么时候更、追到哪一集的问题。本文将带你走一遍这条完整链路。KNKPAnime是什么多番剧源弹幕的看番神器KNKPAnime 基于 Flutter 开发支持桌面端与移动端。它最大的亮点是多番剧源架构内置多个番剧源适配器Anime1、IHDM、BIMI 等源码位于 lib/adapters/支持通过 JavaScript 适配器自行接入想看的网站无需改主程序代码播放页支持弹幕开关快捷键D与全屏播放快捷键F而整个应用的番剧数据中枢就是 Bangumi。对接bgm.tv开放API只需2个接口所有与 Bangumi 的交互都集中在一个文件里lib/utils/bangumi.dart。它只封装了两个 API 端点Base URL 为https://api.bgm.tv1️⃣ 番剧搜索接口/search/subject/GET https://api.bgm.tv/search/subject/{关键词} ?type2max_results25start0responseGrouplargetype2表示只搜动画Anime过滤掉书籍、音乐等其他条目startmax_results实现分页每页 25 条返回结果包含番剧 ID、中文名、日文名、简介、播放日期与封面图2️⃣ 今日新番日历接口/calendarGET https://api.bgm.tv/calendar按星期返回当日更新的番剧列表是新番日历页面的数据来源。接口返回的原始 JSON 会被 _toAnimeInfo 统一转换为本地模型 lib/models/anime_info.dart——所有番剧在应用内都以这个统一结构流转后续搜索、日历、追番共用同一份数据。看番全流程从Bangumi搜索到选择番剧源第1步在Bangumi搜索页面找番打开搜索页lib/pages/search/bangumi_search_page.dart输入关键词回车即可。搜索的分页、状态管理由 lib/pages/search/bangumi_search_controller.dart 负责下拉到底部会自动加载下一页基于 MobX 的observable驱动界面刷新。第2步多番剧源并行搜索一键挑源点击某部番剧后并不会直接播放——而是弹出选源窗口lib/widgets/source_selection_window.dart窗口内每个 Tab 对应一个番剧源各源会并行发起搜索标签上的彩色圆点表示该源的搜索状态成功/失败/进行中圆点里的数字则是该源命中的结果条数。点击任意结果即跳转播放页。这里有个关键细节并行搜索由 lib/pages/search/adapter_search_controller.dart 驱动它会同时向每个适配器发起两次搜索用 Bangumi 返回的官方番剧名搜用你自己输入的关键词搜双关键词策略能大幅提高不同源之间的命中率。第3步没搜到源用番剧源搜索自定义关键词有时番剧在各源中的译名与 Bangumi 名对不上Bangumi 搜索页可能扑空这时可以改用番剧源搜索页直接指定用来搜的词再试往往就能命中 同理追番页、日历页点击番剧时只用 Bangumi 名搜索一次遇到搜不到的情况到搜索页手动搜一下或通过历史记录进入即可。新番日历按天提醒番剧更新日历页的数据来自上面的/calendar接口逻辑在 lib/pages/calendar/calendar_controller.dart按 7 天分列存储当日更新的番剧内置了日期校验本地与 UTC8 双时区判断跨天后自动拉取最新数据每天打开日历页就能快速浏览今天哪些番更新了点击任意一部走同样的选源流程。追番记录基于Bangumi数据的收藏管理追番功能由 lib/pages/favorite/favorite_controller.dart 实现它直接用Hive 本地数据库以番剧 ID 为主键存取AnimeInfo收藏存的是 Bangumi 的统一数据ID、中英文名、简介、封面而非某个源的数据因此换源重看同一部番不会造成记录冗余追番页点击番剧进入播放后观看进度会写入历史记录lib/pages/history/如何获取并体验这个项目如需从源码构建体验可以克隆仓库git clone https://gitcode.com/gh_mirrors/kn/KNKPAnime构建后在设置页lib/pages/settings/settings_page.dart还可以管理 JavaScript 适配器、选择默认番剧源等。总结小而精的API集成设计回顾整套 Bangumi 集成设计相当克制功能数据来源核心文件番剧搜索bgm.tv 搜索 APIlib/utils/bangumi.dart新番日历bgm.tv 日历 APIlib/pages/calendar/calendar_controller.dart多源选源本地适配器并行搜索lib/widgets/source_selection_window.dart追番收藏Hive 本地存储lib/pages/favorite/favorite_controller.dart只用 2 个接口 1 个统一数据模型就把搜索、日历、追番串成了一条顺畅的看番链路——这就是 KNKPAnime 与 Bangumi 集成的全部秘密。【免费下载链接】KNKPAnimeKNKPAnime支持多番剧源与弹幕的看番软件。项目地址: https://gitcode.com/gh_mirrors/kn/KNKPAnime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考