manga 扩展类型:漫画图源
manga 是什么
manga 类型的扩展负责接入漫画 / 条漫 / 绘本等以图片序列消费的媒体源。和 bangumi 输出视频 URL 不同,manga 扩展直接输出一组图片地址。
watch() 返回值
// 漫画图源扩展 watch() 返回值
{
urls: [
"https://example.com/chapter/01.jpg",
"https://example.com/chapter/02.jpg",
"https://example.com/chapter/03.jpg",
// ...该章节的所有图片,按顺序排列
]
}
Miru 拿到这组 URL 后,漫画阅读器会按顺序预加载图片并渲染成可翻页的视图。
manga 和 bangumi 在详情页的差异
detail() 返回的数据结构和 bangumi 类似,关键区别在 episodes 字段——在 manga 语境下它通常叫"章节"而不是"集数",但数据结构相同:
{
episodes: [
{ title: "第 1 话", urls: [...] },
{ title: "第 2 话", urls: [...] },
// ...
]
}
开发者写 manga 扩展时可以沿用这个结构,只是把章节内容填进去即可。Miru 会根据扩展的 @type 自动用漫画阅读器消费,而不是视频播放器。
图片加载的注意点
漫画图源扩展有一些特殊的挑战:
- 图片源防盗链:很多漫画站点的图片需要
Referer头才能加载。扩展开发者要在this.request里正确设置 headers; - 图片尺寸差异大:不同站点提供的图片分辨率差别很大,Miru 阅读器会自动缩放以适配屏幕;
- 加载性能:长篇漫画一个章节可能有数 10 张图片,扩展返回的 URL 必须是可直接访问的完整链接,不能是需要后续解析的中间地址。
manga 扩展从哪来
官方仓库里的 manga 类型扩展比 bangumi 少很多,大部分漫画图源扩展来自第三方仓库或社区分享。找漫画源的常见路径:
- Telegram 群组分享的仓库地址;
- GitHub 搜索 "miru manga repo";
- 朋友或论坛推荐的单个 JS 文件。
安装方式和 bangumi 完全相同:添加仓库 → 启用 → 浏览 → 安装 → 左侧切换到"漫画"标签就能看到内容了。