This commit is contained in:
assast committed 2026-01-23 18:30:44 +08:00
1 parent e459d440aa
commit b8cb87e180
2 files changed
+34 -14

No files matched your search

+30 -9
View File
@@ -748,6 +748,8 @@
max-height: 90vh;
overflow-y: auto;
box-shadow: 0 20px 60px rgba(0,0,0,0.2);
position: relative;
z-index: 1001;
}
.modal-header {
@@ -1211,7 +1213,7 @@
</div>
<!-- 添加分组模态框 -->
<div class="modal" id="addGroupModal">
<div class="modal" id="addGroupModal" onclick="if(event.target === this) hideAddGroupModal()">
<div class="modal-content">
<div class="modal-header">
<h3 id="groupModalTitle">添加分组</h3>
@@ -1261,7 +1263,7 @@
</div>
<!-- 添加账号模态框 -->
<div class="modal" id="addAccountModal">
<div class="modal" id="addAccountModal" onclick="if(event.target === this) hideAddAccountModal()">
<div class="modal-content">
<div class="modal-header">
<h3>导入邮箱账号</h3>
@@ -1288,7 +1290,7 @@
</div>
<!-- 编辑账号模态框 -->
<div class="modal" id="editAccountModal">
<div class="modal" id="editAccountModal" onclick="if(event.target === this) hideEditAccountModal()">
<div class="modal-content">
<div class="modal-header">
<h3>编辑邮箱账号</h3>
@@ -1339,7 +1341,7 @@
</div>
<!-- 导出邮箱模态框 -->
<div class="modal" id="exportModal">
<div class="modal" id="exportModal" onclick="if(event.target === this) hideExportModal()">
<div class="modal-content" style="width: 500px;">
<div class="modal-header">
<h3>导出邮箱</h3>
@@ -1367,7 +1369,7 @@
</div>
<!-- 设置模态框 -->
<div class="modal" id="settingsModal">
<div class="modal" id="settingsModal" onclick="if(event.target === this) hideSettingsModal()">
<div class="modal-content" style="width: 480px;">
<div class="modal-header">
<h3>⚙️ 系统设置</h3>
@@ -1393,7 +1395,7 @@
</div>
<!-- Token 刷新管理模态框 -->
<div class="modal" id="refreshModal">
<div class="modal" id="refreshModal" onclick="if(event.target === this) hideRefreshModal()">
<div class="modal-content" style="width: 800px; max-width: 90vw;">
<div class="modal-header">
<h3>🔄 Token 刷新管理</h3>
@@ -1485,7 +1487,7 @@
</div>
<!-- 获取 Refresh Token 模态框 -->
<div class="modal" id="getRefreshTokenModal">
<div class="modal" id="getRefreshTokenModal" onclick="if(event.target === this) hideGetRefreshTokenModal()">
<div class="modal-content" style="width: 600px;">
<div class="modal-header">
<h3>🔑 获取 Refresh Token</h3>
@@ -3411,8 +3413,27 @@
// 隐藏刷新模态框
function hideRefreshModal() {
document.getElementById('refreshModal').classList.remove('show');
// 不隐藏列表,保留上次的数据
const modal = document.getElementById('refreshModal');
modal.classList.remove('show');
// 确保进度条被隐藏
const progress = document.getElementById('refreshProgress');
if (progress) {
progress.style.display = 'none';
}
// 重置按钮状态
const refreshAllBtn = document.getElementById('refreshAllBtn');
if (refreshAllBtn) {
refreshAllBtn.disabled = false;
refreshAllBtn.textContent = '🔄 全量刷新';
}
const retryFailedBtn = document.getElementById('retryFailedBtn');
if (retryFailedBtn) {
retryFailedBtn.disabled = false;
retryFailedBtn.textContent = '🔁 重试失败';
}
}
// 加载刷新统计
+4 -5
View File
@@ -1247,9 +1247,9 @@ def api_refresh_all_accounts():
conn.row_factory = sqlite3.Row
try:
# 清除之前的全量刷新记录(只保留最近一次)
# 清除之前的所有刷新记录(只保留最近一次全量刷新)
try:
conn.execute("DELETE FROM account_refresh_logs WHERE refresh_type = 'manual'")
conn.execute("DELETE FROM account_refresh_logs")
conn.commit()
except Exception as e:
print(f"清除旧记录失败: {str(e)}")
@@ -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 和 retry 刷新记录)"""
"""获取刷新统计信息(统计所有类型的刷新记录)"""
db = get_db()
# 统计 manual 和 retry 类型的记录,这样重试成功的记录也会被统计
# 统计所有类型的刷新记录,不限制 refresh_type
cursor = db.execute('''
SELECT
COUNT(*) as total,
@@ -1488,7 +1488,6 @@ 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 IN ('manual', 'retry')
''')
stats = cursor.fetchone()