Appearance
换源与回退
换源用于同名书籍在不同来源间切换,同时尽量保持当前章节和阅读进度。
候选匹配
候选来源通过书名、作者、详情信息和目录相似度排序。来源自身的 bookSourceUrl 是身份, 不能用清洗后的请求域名替代。
匹配打分是分档的,不是连续相似度:当前来源固定给最高档(100000,永远排最前);候选 书名去掉书名号、空白和结尾标点后,与关键词完全一致给 30000;互相包含(比如“斗罗大陆” 和“斗罗大陆Ⅱ绝世唐门”)给 20000;其余能搜到但书名对不上的给 10000。同档内再按响应 耗时(越快越靠前)和来源 weight(越大越靠前)排序。分档设计意味着“书名完全一致”的候选 会稳定排在“书名只是部分重叠”的候选前面,不会因为响应速度反超。
章节对齐
优先按标准化章节名匹配,再结合索引和相邻章节。卷标题、重复章节、番外和来源目录缺失 会降低可信度;无法确定时应让用户选择,而不是静默跳到错误章节。
自动回退
正文加载失败可以尝试候选源,但以下情况不应自动换源:
- VIP 章节需要购买或登录;
- 人机验证需要用户操作;
- 用户明确固定当前来源;
- 候选书名/作者不匹配;
- 当前错误来自临时离线或取消。
状态迁移
成功换源后更新来源、详情 URL、目录和当前章节映射;书签中的原始文本位置要尽量保留。 失败时保持原来源和进度。
