From f46488cb9c4c02dc03c5c799a2392936306cefe4 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Tue, 19 May 2026 12:55:39 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20Audiences=E7=AB=99=E7=82=B9=E6=9C=AA?= =?UTF-8?q?=E8=AF=BB=E6=B6=88=E6=81=AF=E6=95=B0=E8=A7=A3=E6=9E=90=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优先使用Audiences特有的解析逻辑(从"总数/未读数"格式提取真正的未读数), 仅在匹配不到时才fallback到NexusPHP基类的通用正则,避免基类将总消息数 误判为未读数导致发送大量错误通知。 Co-Authored-By: Claude Opus 4.7 (1M context) --- app/modules/indexer/parser/nexus_audiences.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/app/modules/indexer/parser/nexus_audiences.py b/app/modules/indexer/parser/nexus_audiences.py index 7307b6dd..2403ca84 100644 --- a/app/modules/indexer/parser/nexus_audiences.py +++ b/app/modules/indexer/parser/nexus_audiences.py @@ -17,13 +17,10 @@ class NexusAudiencesSiteUserInfo(NexusPhpSiteUserInfo): """ 解析 Audiences 新版顶部用户栏中的未读消息数。 """ - super()._parse_message_unread(html_text) - if self.message_unread: - return - html = etree.HTML(html_text) try: if not StringUtils.is_valid_html_element(html): + super()._parse_message_unread(html_text) return message_tools = html.xpath( @@ -42,6 +39,8 @@ class NexusAudiencesSiteUserInfo(NexusPhpSiteUserInfo): if html is not None: del html + super()._parse_message_unread(html_text) + def _parse_message_unread_links(self, html_text: str, msg_links: list): """ 解析 Audiences 未读消息链接。