From a0eddd429ea74ad6be873fc270022505f5454172 Mon Sep 17 00:00:00 2001 From: "Gao, Ruiyuan" <905370712@qq.com> Date: Wed, 9 Oct 2024 15:08:51 +0800 Subject: [PATCH] =?UTF-8?q?bug:=20=E5=8F=AF=E4=BB=A5=E7=B2=BE=E7=A1=AE?= =?UTF-8?q?=E5=8C=B9=E9=85=8D=E7=BB=93=E6=9E=9C=E6=97=B6=E4=B8=8D=E9=87=87?= =?UTF-8?q?=E7=94=A8=E6=A8=A1=E7=B3=8A=E6=90=9C=E7=B4=A2=E7=AD=96=E7=95=A5?= =?UTF-8?q?=20(#225)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xiaomusic/xiaomusic.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/xiaomusic/xiaomusic.py b/xiaomusic/xiaomusic.py index 35b2576..ed5bbca 100644 --- a/xiaomusic/xiaomusic.py +++ b/xiaomusic/xiaomusic.py @@ -785,8 +785,8 @@ class XiaoMusic: extra_search_index=self._extra_index_search, ) if real_names: - if n > 1: - # 扩大范围再找,最后保留随机 n 个 + if n > 1 and name not in real_names: + # 模糊匹配模式,扩大范围再找,最后保留随机 n 个 real_names = find_best_match( name, all_music_list, @@ -796,6 +796,9 @@ class XiaoMusic: ) random.shuffle(real_names) real_names = real_names[:n] + elif name in real_names: + # 可以精确匹配,限制只返回一个(保证网页端播放可用) + real_names = [name] self.log.info(f"根据【{name}】找到歌曲【{real_names}】") return real_names self.log.info(f"没找到歌曲【{name}】")