From d81ccae1b51cc0600994591411b0c7e9e6b16d88 Mon Sep 17 00:00:00 2001 From: Wx-2025 <351320169@qq.com> Date: Thu, 2 Oct 2025 21:51:51 +0800 Subject: [PATCH] Update index.js --- index.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 949597f..ae5061d 100644 --- a/index.js +++ b/index.js @@ -328,6 +328,7 @@ jQuery(async () => { context.registerMacro('Amily2EditContent', () => { const content = generateTableContent(); if (content) { + // 只有当宏被实际调用并生成内容时,才设置标志 window.AMILY2_MACRO_REPLACED = true; } return content; @@ -454,16 +455,19 @@ jQuery(async () => { eventSource.on(event_types.IMPERSONATE_READY, onMessageReceived); eventSource.on(event_types.MESSAGE_RECEIVED, (chat_id) => handleTableUpdate(chat_id)); eventSource.on(event_types.MESSAGE_SWIPED, (chat_id) => { + log(`【监察系统】检测到消息滑动 (SWIPED),开始回滚并刷新状态。`, 'warn'); clearHighlights(); + loadTables(); // 【V140.0 核心修复】滑动时,从聊天记录末尾重新加载正确的表格状态 handleTableUpdate(chat_id); - updateOrInsertTableInChat(); + updateOrInsertTableInChat(); // Also update in-chat table on swipe }); eventSource.on(event_types.MESSAGE_EDITED, (mes_id) => { handleTableUpdate(mes_id); - updateOrInsertTableInChat(); + updateOrInsertTableInChat(); // Update in-chat table on edit }); eventSource.on(event_types.CHAT_CHANGED, () => { + // 【新增】切换聊天时,清除上一次的优化结果 window.lastPreOptimizationResult = null; document.dispatchEvent(new CustomEvent('preOptimizationTextUpdated')); @@ -483,6 +487,7 @@ jQuery(async () => { renderTables(); }); + // 【新增】监听多种事件,以在聊天窗口中渲染表格,确保在各种情况下都能正确显示 eventSource.on(event_types.MESSAGE_RECEIVED, updateOrInsertTableInChat); eventSource.on(event_types.chat_updated, updateOrInsertTableInChat); @@ -504,6 +509,8 @@ jQuery(async () => { console.log('[Amily2-核心引擎] 开始执行统一注入 (聊天长度:', args[0]?.length || 0, ')'); try { + // 调用 injectTableData。该函数现在内部包含逻辑, + // 如果宏已被替换,它将自动跳过执行,从而避免重复注入。 injectTableData(...args); } catch (error) { console.error('[Amily2-内存储司] 表格注入失败:', error); @@ -528,6 +535,7 @@ jQuery(async () => { console.log("【Amily2号】帝国秩序已完美建立。Amily2号的府邸已恭候陛下的莅临。"); + // 初始化版本检测功能 console.log("[Amily2号-开国大典] 步骤七:初始化版本显示系统..."); if (typeof window.amily2Updater !== 'undefined') { setTimeout(() => {