fix(web): 卡片 ⚙ 按钮打开弹框管理

已绑定且有对话的卡片:⚙ 按钮打开弹框管理,拦截点击不触发 selectTask。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
caoqianming 2026-06-26 11:28:14 +08:00
parent a6d00b24ff
commit 013cbc28b5
1 changed files with 14 additions and 4 deletions

View File

@ -230,14 +230,17 @@ export async function loadChannelCards() {
// 已绑定且有对话:正常卡片,点打开,⚙ 打开弹框管理 // 已绑定且有对话:正常卡片,点打开,⚙ 打开弹框管理
const active = state.taskId === t.task_id ? " active" : ""; const active = state.taskId === t.task_id ? " active" : "";
const name = t.name || cfg.label + "对话"; const name = t.name || cfg.label + "对话";
const meta = `${t.n_messages || 0} 条 · ${escapeHtml(fmtTimeAgo(t.updated_at))} · ⚙`; const meta = `${t.n_messages || 0} 条 · ${escapeHtml(fmtTimeAgo(t.updated_at))}`;
html = ` html = `
<div class="channel-card${active}" data-tid="${t.task_id}" data-kind="${kind}" <div class="channel-card${active}" data-tid="${t.task_id}" data-kind="${kind}"
data-action="select" title="${escapeHtml(cfg.title)}"> data-action="select" title="${escapeHtml(cfg.title)}">
<span class="cc-icon">${WECHAT_ICON}</span> <span class="cc-icon">${WECHAT_ICON}</span>
<span class="cc-body"> <span class="cc-body">
<span class="cc-name">${escapeHtml(name)}</span> <span class="cc-name">${escapeHtml(name)}</span>
<span class="cc-meta">${meta}</span> <span class="cc-meta">
<span>${meta}</span>
<span class="cc-manage" title="管理${cfg.label}绑定"></span>
</span>
</span> </span>
</div>`; </div>`;
} }
@ -255,8 +258,15 @@ export async function loadChannelCards() {
if (typeof openWechatModal === "function") openWechatModal(); if (typeof openWechatModal === "function") openWechatModal();
}; };
} else if (action === "select") { } else if (action === "select") {
el.onclick = () => selectTask(el.dataset.tid); el.onclick = (e) => {
// TODO: ⚙ 打开弹框管理(待实现——需要给弹框里当前渠道加高亮或 tab 切换) const manageBtn = e.target.closest(".cc-manage");
if (manageBtn) {
e.stopPropagation(); // ⚙ 点开弹框,不触发 selectTask
if (typeof openWechatModal === "function") openWechatModal();
} else {
selectTask(el.dataset.tid);
}
};
} }
}); });
} }