diff --git a/templates/index.html b/templates/index.html index 3219097..1ad1791 100644 --- a/templates/index.html +++ b/templates/index.html @@ -3509,6 +3509,12 @@ showToast(`刷新完成!成功: ${data.success_count}, 失败: ${data.failed_count}`, data.failed_count > 0 ? 'warning' : 'success'); + // 如果成功列表是打开的,刷新成功列表 + const successContainer = document.getElementById('successListContainer'); + if (successContainer.style.display === 'block') { + loadSuccessLogs(); + } + // 如果有失败的,显示失败列表 if (data.failed_count > 0) { showFailedListFromData(data.failed_list); @@ -3569,6 +3575,12 @@ // 刷新统计 loadRefreshStats(); + // 如果成功列表是打开的,刷新成功列表 + const successContainer = document.getElementById('successListContainer'); + if (successContainer.style.display === 'block') { + loadSuccessLogs(); + } + // 如果还有失败的,显示失败列表 if (data.failed_count > 0) { showFailedListFromData(data.failed_list); @@ -3598,6 +3610,14 @@ if (data.success) { showToast(`${accountEmail} 刷新成功`, 'success'); loadRefreshStats(); + + // 如果成功列表是打开的,刷新成功列表 + const successContainer = document.getElementById('successListContainer'); + if (successContainer.style.display === 'block') { + loadSuccessLogs(); + } + + // 刷新失败列表 loadFailedLogs(); } else { showToast(`${accountEmail} 刷新失败: ${data.error}`, 'error'); diff --git a/web_outlook_app.py b/web_outlook_app.py index c256f0a..ba0b165 100644 --- a/web_outlook_app.py +++ b/web_outlook_app.py @@ -1477,10 +1477,10 @@ def api_get_failed_refresh_logs(): @app.route('/api/accounts/refresh-stats', methods=['GET']) @login_required def api_get_refresh_stats(): - """获取刷新统计信息(统计所有 manual 刷新记录)""" + """获取刷新统计信息(统计所有 manual 和 retry 刷新记录)""" db = get_db() - # 由于刷新前会清除旧的 manual 记录,所以直接统计所有 manual 记录即可 + # 统计 manual 和 retry 类型的记录,这样重试成功的记录也会被统计 cursor = db.execute(''' SELECT COUNT(*) as total, @@ -1488,7 +1488,7 @@ def api_get_refresh_stats(): SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END) as failed_count, MAX(created_at) as last_refresh_time FROM account_refresh_logs - WHERE refresh_type = 'manual' + WHERE refresh_type IN ('manual', 'retry') ''') stats = cursor.fetchone()