Summary
本次更新新增签到及打卡日历接口,为本子详情增加收藏与点赞状态,修复 HTML 登录结果校验。引入插件依赖声明、依赖策略,并完善收藏夹导出插件的失败重试与汇总提示,新增
Calibre metadata 插件。
Added
每日签到
| 功能 |
说明 |
get_daily / daily_checkin |
HTML/API 客户端支持获取每日签到信息与打卡日历、执行每日签到,未提供 daily_id 时自动获取。 |
JmDailyCheckinResp |
双端统一返回标准打卡状态(code=0 签到成功,code=1 今日重复打卡,透传服务端 msg),其余失败直接抛异常。 |
实体字段
| 字段 |
说明 |
JmAlbumDetail.is_favorite |
bool,HTML 网页端与 API 移动端双端识别本子收藏状态。 |
JmAlbumDetail.liked |
bool,HTML 网页端与 API 移动端双端识别本子点赞/喜欢状态。 |
插件系统
| 功能 |
说明 |
plugin_dependencies 声明 |
插件基类新增 plugin_dependencies 类属性声明运行时依赖,并提供 required_dependencies_for(kwargs) 钩子按配置动态扩展(如 zip 按加密方式追加 pyzipper/py7zr,img2pdf 启用加密时追加 pikepdf)。 |
dependencies_strategy 配置 |
新增 plugins.dependencies_strategy,支持三种策略:failed-fast(默认,缺失即报错并给出安装指引)、auto-install(自动 pip 安装)、ignore-only-log(仅警告不阻断)。 |
[plugins] extras |
pyproject.toml 新增 extras,pip install jmcomic[plugins] 一次性安装全部插件可选依赖(img2pdf、pikepdf、psutil、py7zr、pyzipper、rich、browser_cookie3)。 |
| 已有插件依赖补齐 |
为 usage_log、download_progress、auto_set_browser_cookies 等已有插件补齐 plugin_dependencies 声明。 |
calibre_metadata 插件 |
在 after_album 阶段生成 Calibre 可识别的 metadata.opf,支持 include_cover 下载封面、fields 自定义元数据;OPF 生成由 jmcomic-calibre 提供。impl by @yifenliwu。 |
Changed
| 变更点 |
说明 |
zip 插件 encrypt 校验 |
新增参数类型校验,非法标量(如 encrypt: enabled)在初始化阶段即拦截并给出清晰报错,不再等到运行时抛出 AttributeError。 |
| HTML 登录接口返回值更新 |
POST /login 密码错误时 HTTP 200 误判为成功,增加 status == 1 严格校验并提取错误信息。 |
API page_count / pub_date 字段适配最新返回值 |
page_count 正确映射为全本总图片数(total_photos),pub_date 格式化为发布日期。 |
PhotoConcurrentFetcherProxy 代理委托 |
补齐 __getattr__ 委托,修复底层客户端方法丢失的问题。 |