From 02f677eba85f3d26f03ed7be5cabb7dfb8c69002 Mon Sep 17 00:00:00 2001 From: Wo254992 <110774618+Wo254992@users.noreply.github.com> Date: Sun, 1 Mar 2026 13:46:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dhanjutv=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E6=B8=B8=E6=A0=87=E5=BC=82=E5=B8=B8=E5=AF=BC=E8=87=B4=E5=BE=AA?= =?UTF-8?q?=E7=8E=AF=E5=8D=A1=E4=BD=8F=E5=B9=B6=E4=BC=98=E5=8C=96=E5=BC=B9?= =?UTF-8?q?=E5=B9=95=E7=B4=AF=E5=8A=A0=E6=80=A7=E8=83=BD=20(#209)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 修复韩剧TV分页游标不前进导致的循环卡住 变更内容:在 getEpisodeDanmu 分页循环中增加 nextAxis <= fromAxis 时的退出条件,防止上游异常游标导致请求无限循环。 * 优化韩剧TV弹幕累加降低内存抖动 变更内容:将 getEpisodeDanmu 中 allDanmus.concat(...) 改为 push(... ) 原地追加,减少分页循环中的数组复制开销。 --- danmu_api/sources/hanjutv.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/danmu_api/sources/hanjutv.js b/danmu_api/sources/hanjutv.js index b4889ff..fbae830 100644 --- a/danmu_api/sources/hanjutv.js +++ b/danmu_api/sources/hanjutv.js @@ -467,7 +467,7 @@ export default class HanjutvSource extends BaseSource { // 将当前请求的 episodes 拼接到总数组 if (resp.data && resp.data.danmus) { - allDanmus = allDanmus.concat(resp.data.danmus); + allDanmus.push(...resp.data.danmus); } // 获取 nextAxis,更新 fromAxis @@ -475,6 +475,9 @@ export default class HanjutvSource extends BaseSource { if (nextAxis >= maxAxis) { break; // 如果 nextAxis 达到或超过最大值,退出循环 } + if (nextAxis <= fromAxis) { + break; // 如果 nextAxis 未前进,退出循环,避免卡死 + } fromAxis = nextAxis; }