PicaComic 中文文档 下载 App

JS 漫画源引擎 · 从 3.0 到 3.1 的架构重构

为什么需要自定义漫画源

内置的 6 个漫画源覆盖了主流平台,但网络上还有很多小众漫画站、个人维护的漫画站、地区性漫画站,这些无法全部内置。自定义漫画源就是为这个场景设计的——允许用户自己接入任意漫画站。

3.0.0 版本首次引入自定义漫画源功能,3.1.0 版本进行了一次大规模重构,更换了 JS 引擎、重写了接口设计。

3.0 与 3.1 的关键差异

方面3.0 架构3.1 架构
JS 引擎旧版更换为新引擎
编写方式旧接口大量接口新增/调整
已有源兼容性—旧版本源全部失效,需重新添加
功能完整性betabeta(仍标注 beta)

重要:如果你是从 3.0 系列升级到 3.1 系列,之前添加的所有自定义漫画源都会失效。这不是 bug,是架构更换导致的预期行为。升级后需要用新版本的接口重新添加。

3.1.0 新增的接口

3.1.0 重构后,漫画源可以实现的能力大幅增加。官方维护了一份漫画源接口文档(doc/comic_source.md),列出了所有可用接口。

重构的核心变化:

  1. 更换 JS 引擎:底层执行引擎更换,执行效率和稳定性提升
  2. 接口数量增加:从原来的少数基础接口扩展到完整的漫画源生命周期
  3. Map 类型处理:旧版本中 JS 的 Map 类型到 Dart Map 类型的转换存在问题,3.1.1 修复了这个转换
  4. 日志支持:log 函数在 3.1.1 中修复了只接受 string 类型的问题,现在可以传入任意类型并自动转字符串

Beta 状态

即使到 V4.0.4,自定义漫画源功能仍然标注为 beta。部分高级功能可能在某些源上不工作,遇到问题建议:

为什么用 JavaScript

选择 JS 作为漫画源编写语言主要考虑:

这也意味着漫画源脚本的能力边界由应用开放的接口定义——不能为所欲为,但对于漫画源的需求(HTTP 请求、解析 HTML/JSON、格式化输出)已经足够。