diff --git a/app/static/app.js b/app/static/app.js index 8562f47..6be0e0d 100644 --- a/app/static/app.js +++ b/app/static/app.js @@ -1,13 +1,11 @@ // 状态 let currentUser = ""; let conversations = []; - let currentKfid = ""; // 初始化 document.addEventListener("DOMContentLoaded", () => { fetchAccounts(); - loadConversations(); }); // Toast @@ -20,35 +18,48 @@ function showToast(msg, type = "success") { setTimeout(() => { el.style.opacity = "0"; setTimeout(() => el.style.display = "none", 300); }, 2000); } -// 获取客服账号列表 +// 获取客服账号列表,填充下拉框 async function fetchAccounts() { + const select = document.getElementById("accountSelect"); + select.innerHTML = ''; try { const resp = await fetch("/api/accounts"); const data = await resp.json(); - const el = document.getElementById("currentKfid"); if (data.errcode === 0 && data.account_list && data.account_list.length > 0) { const accounts = data.account_list; + select.innerHTML = accounts.map((a, i) => + `` + ).join(""); currentKfid = accounts[0].open_kfid; - el.textContent = currentKfid; - el.style.color = "#07c160"; - if (accounts.length > 1) { - showToast(`共 ${accounts.length} 个客服账号,默认使用: ${accounts[0].name || currentKfid}`); - } + showToast(`已加载 ${accounts.length} 个客服账号`); + // 自动加载会话 + loadConversations(); } else { - el.textContent = "获取失败"; - el.style.color = "#f44336"; - showToast("获取账号列表失败: " + (data.errmsg || "未知"), "error"); + select.innerHTML = ''; + showToast("获取账号列表失败: " + (data.errmsg || "未知错误"), "error"); } } catch (e) { - document.getElementById("currentKfid").textContent = "请求失败"; + select.innerHTML = ''; showToast("获取账号列表失败: " + e.message, "error"); } } +function onAccountChange() { + const select = document.getElementById("accountSelect"); + currentKfid = select.value; + if (currentKfid) { + currentUser = ""; + document.getElementById("msgHeader").textContent = "请选择会话"; + document.getElementById("messageList").innerHTML = '