fix: 品牌下发审查修复(esc统一/语料中性化/穿越加固/反向断言动态化)

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-10-12 22:52:08 +08:00
parent bbc7bc520e
commit 7697673a3b
8 changed files with 137 additions and 34 deletions
+8 -6
View File
@@ -39,11 +39,10 @@
<p><strong>Expected behavior:</strong></p>
<ul class="test-list">
<li>Invite card appears after 5 seconds</li>
<li>Invite card has blue gradient header with robot emoji</li>
<li>Three topic buttons: "Get Quotation", "Pipe Specifications" and "Delivery &amp; Shipping"</li>
<li>Invite card has brand-color gradient header with robot emoji</li>
<li>Topic buttons come from the tenant brand config (<code>/api/public/brand</code> → topics)</li>
<li>Action buttons: "Start Chat" and "No Thanks"</li>
<li>Click "Get Quotation" → invite closes → chat opens → message auto-sends</li>
<li>Click "Pipe Specifications" → invite closes → chat opens → message auto-sends</li>
<li>Click a topic button → invite closes → chat opens → message auto-sends</li>
<li>Click "Start Chat" → invite closes → chat opens</li>
<li>Click "No Thanks" → invite permanently closes</li>
<li>Click "No Thanks" or X → refresh → invite stays hidden AND the old card area stays clickable (no invisible overlay; regression 2026-09-01)</li>
@@ -55,7 +54,7 @@
<div class="info">
<h2>Popular Topics in Chat Panel</h2>
<ul class="test-list">
<li>Chat panel shows "POPULAR TOPICS" section with two buttons</li>
<li>Chat panel shows "POPULAR TOPICS" section with the tenant's topic buttons</li>
<li>Click topic → message auto-sends → topics section hides</li>
</ul>
</div>
@@ -108,7 +107,7 @@
"data-mobile": "true",
"data-debug": "true",
"data-whatsapp": "https://wa.me/8613800138000",
"data-email": "mailto:demo@hesupipe.com"
"data-email": "mailto:demo@example.com"
};
var rebuildLoading = false, rebuildPending = null;
@@ -116,6 +115,9 @@
// Task 10: host id 已租户化(cc-widget-host-<slug>),按前缀清扫
var hosts = document.querySelectorAll('[id^="cc-widget-host-"]');
for (var i = 0; i < hosts.length; i++) hosts[i].remove();
// 复审: 清掉旧挂件的 debug 钩子——waitForWidget 轮询它,旧钩子残留
// 会让重建中的断言误读"新挂件已挂载"
try { delete window.__chatWidgetDebug; } catch (e) {}
}
function rebuildWidget(extra) {
if (rebuildLoading) { rebuildPending = extra || {}; return; } // 快速连点:只记最新意图,当前加载完接力重建