Danmu Api


修改弹幕支持版本标签识别

一、LogVar弹幕 API项目地址

二、修改方法

1.路径

/danmu_api/apis/dandan-api.js

2.针对手动搜索接口 (searchAnimeBody)

  • 在文件里使用 Ctrl + F 搜索 async function searchAnimeBody(大概在代码的第 432 行左右)。

  • 找到获取 queryTitle 的那一行。

  • 在它正下方插入我们自定义的过滤规则,修改后如下:

async function searchAnimeBody(url, preferAnimeId = null, preferSource = null, detailStore = null, targetPlatform = null, forceRefresh = false) {
  let queryTitle = url.searchParams.get("keyword");

  // 【在此处插入这3行】过滤你自定义的画质/帧率后缀
  if (queryTitle) {
    queryTitle = queryTitle.replace(/\(DV\)|\(HQ\)|\(HDR\)|\(HFR\)|\(SDR\)|\(IQ\)|\(4K\)|\(2K\)/gi, '').trim();
  }

  // 搜索词杂音清理:移除画质/配音/版本等杂音词后再提交源站搜索
  if (globals.titleNoiseFilter) {
    queryTitle = queryTitle.replace(globals.titleNoiseFilter, '').trim();
  }

3.针对自动匹配接口 (normalizeMatchTitle) —— 最关键的一步

Emby 播放器自动加载弹幕时,走的是底层的 Match 接口。

  • 在文件里使用 Ctrl + F 搜索 function normalizeMatchTitle(大概在代码的第 1437 行左右)。

  • 找到 let normalized 赋值的地方。

  • 在其下方插入正则替换,修改后如下:

function normalizeMatchTitle(title) {
  let normalized = String(title || '').trim();

  // 【在此处插入这1行】过滤自定义后缀,提纯剧名给 API
  normalized = normalized.replace(/\(DV\)|\(HQ\)|\(HDR\)|\(HFR\)|\(SDR\)|\(IQ\)|\(4K\)|\(2K\)/gi, '').trim();

  if (globals.animeTitleSimplified) normalized = simplized(normalized);
  if (globals.titleNoiseFilter) normalized = normalized.replace(globals.titleNoiseFilter, '').trim();
  return normalized;
}

也可以看看