@@ -1794,6 +1797,7 @@
// 初始化
document.addEventListener('DOMContentLoaded', function() {
+ closeAllModals(); // 修复:应用启动时关闭所有模态框,防止浏览器缓存导致残留的模态框背景层
loadGroups();
initColorPicker();
initEmailListScroll();
@@ -1838,10 +1842,10 @@
// 加载更多邮件
async function loadMoreEmails() {
if (isLoadingMore || !hasMoreEmails) return;
-
+
isLoadingMore = true;
currentSkip += 20; // 每页20封
-
+
// 在列表底部显示加载状态
const emailList = document.getElementById('emailList');
const loadingDiv = document.createElement('div');
@@ -1849,25 +1853,33 @@
loadingDiv.id = 'loadingMore';
loadingDiv.innerHTML = '
';
emailList.appendChild(loadingDiv);
-
+
+ // 禁用按钮
+ const refreshBtn = document.querySelector('.refresh-btn');
+ const folderTabs = document.querySelectorAll('.folder-tab');
+ if (refreshBtn) {
+ refreshBtn.disabled = true;
+ }
+ folderTabs.forEach(tab => tab.disabled = true);
+
try {
const response = await fetch(
`/api/emails/${encodeURIComponent(currentAccount)}?method=${currentMethod}&folder=${currentFolder}&skip=${currentSkip}&top=20`
);
const data = await response.json();
-
+
if (data.success && data.emails.length > 0) {
// 追加新邮件到列表
currentEmails = currentEmails.concat(data.emails);
hasMoreEmails = data.has_more;
-
+
// 移除加载状态
const loadingEl = document.getElementById('loadingMore');
if (loadingEl) loadingEl.remove();
-
+
// 重新渲染邮件列表
renderEmailList(currentEmails);
-
+
// 更新邮件数量
document.getElementById('emailCount').textContent = `(${currentEmails.length})`;
} else {
@@ -1884,6 +1896,11 @@
showToast('加载失败', 'error');
} finally {
isLoadingMore = false;
+ // 启用按钮
+ if (refreshBtn) {
+ refreshBtn.disabled = false;
+ }
+ folderTabs.forEach(tab => tab.disabled = false);
}
}
@@ -2627,6 +2644,13 @@
async function loadTempEmailMessages(email) {
const container = document.getElementById('emailList');
container.innerHTML = '
';
+
+ // 禁用按钮
+ const refreshBtn = document.querySelector('.refresh-btn');
+ if (refreshBtn) {
+ refreshBtn.disabled = true;
+ refreshBtn.textContent = '获取中...';
+ }
try {
const response = await fetch(`/api/temp-emails/${encodeURIComponent(email)}/messages`);
@@ -2660,6 +2684,12 @@
网络错误,请重试
`;
+ } finally {
+ // 启用按钮
+ if (refreshBtn) {
+ refreshBtn.disabled = false;
+ refreshBtn.textContent = '获取邮件';
+ }
}
}
@@ -3120,6 +3150,15 @@
// 加载邮件列表
async function loadEmails(email) {
const container = document.getElementById('emailList');
+
+ // 禁用按钮
+ const refreshBtn = document.querySelector('.refresh-btn');
+ const folderTabs = document.querySelectorAll('.folder-tab');
+ if (refreshBtn) {
+ refreshBtn.disabled = true;
+ refreshBtn.textContent = '获取中...';
+ }
+ folderTabs.forEach(tab => tab.disabled = true);
// 重置分页状态
currentSkip = 0;
@@ -3162,6 +3201,13 @@