Files
danmu_api/config
Elegy233 e84b3b01df 实现合并源功能的智能结果合并,适配自动匹配优选配置和前端使用 (#167)
* envs.js:为平台排序支持合并源

同时更改MERGE_SOURCE_PAIRS为multi-select,为后续前端更新做准备

* dandan-api.js:更新平台排序相关函数,更改排序配置决定函数适配复杂的合并源场景

应该大概没有删减什么,新的决定函数是命中计数权重算法

* merge-util.js:合并逻辑增加主源轮替功能,实现结果智能合并,不再硬性要求主源

a&b&c&d合并,a无结果拿b、c、d对比合并,b无结果拿c、d……

* components.css.js:增加合并模式相关样式

* systemsettings.js:增加multi-select合并模式相关逻辑

* README.md:更新源合并配置说明

* .env.example:更新源合并相关说明

* animeko.js:增加自动降级服务器地址

* animeko.js:降低相似度阈值到0.6(撤回更改)

* animeko.js:支持剧集翻页、过滤结果前先清洗文本

* merge-util.js:健壮对比函数

1.修复“犬夜叉 超越时代的思念”意外与“犬夜叉”匹配,新增主副标题的结构检测。
2.修复"犬夜叉 超越时代的思念(2001)【动漫】from youku",不能与"犬夜叉 穿越时代的思念(2001)【剧场版】from dandan"匹配,新增主副标题如果匹配上可以无视剧场版标识冲突。
3.新增验证合并覆盖率是否合规,如果成功合并集远远小于总集则视为异常驳回关联。
让我看看还有什么问题.jpg

* animeko.js:得利于清洗文本,过滤使用的相似度阀值可以提高到0.9

* bilibili.js:条目原名也扔给common-util工具对比(修复使用条目原名搜索出来的结果会被过滤掉)

话说我在做animeko源的时候完全忘了有这个工具… 改天重构调用一下吧

* animeko.js:修复清洗文本太极端的问题

* merge-util.js:调整主副标题结构冲突为扣分而不是抛弃,合并覆盖率验证豁免animeko

没想到意外这么快来,"判处勇者刑(2026)【动漫】from bilibili" 与 "判处勇者刑 惩罚勇者9004队刑务纪录(2026)【TV动画】from animeko" 只是翻译问题但是因为主副标题冲突被禁止合并了,然后因为animeko通常包含未放送集数(并且无法获取状态)所以需要豁免合并覆盖率

* README.md:手动同步上游

* merge-util.js:增加季度信息的统一映射

震惊之前竟然没做

* animeko.js:还原更改,挪到新的PR专项优化

* bilibili.js:还原更改,挪到新的PR专项优化

* merge-util.js:全方面优化,支持未匹配上的集也返回

燃尽了,有一点点堆成屎山了之后再重构吧先把逻辑全部做出来确保准确率()感谢“间谍过家家”这个番,几乎全平台有,发现了大量平台差异与季度差异

* merge-util.js:优化集提取正则

* dandan-api.js:修复当评分相同时后遍历到的结果会无条件覆盖先遍历到的结果

* dandan-api.js:去除没匹上就跳过检查集

* dandan-api.js:重新实现,同步修复季匹配错误问题函数

* merge-util.js:支持字母后缀的季度差分,例如小林家的龙女仆S、某科学的超电磁炮S、某科学的超电磁炮T
2026-01-31 22:50:36 +08:00
..