Skip to content

Commit 9d8e77c

Browse files
committed
fix: 修复全量检测key失效问题
1 parent 19941f7 commit 9d8e77c

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

app/static/js/keys_status.js

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2528,4 +2528,74 @@ function showVerifyModalForAllKeys(allKeys) {
25282528

25292529
// 显示模态框
25302530
modalElement.classList.remove("hidden");
2531+
}
2532+
2533+
2534+
// 执行验证所有密钥
2535+
async function executeVerifyAllKeys(allKeys) {
2536+
closeVerifyModal();
2537+
2538+
// 获取批次大小
2539+
const batchSizeInput = document.getElementById("batchSize");
2540+
const batchSize = parseInt(batchSizeInput.value, 10) || 10;
2541+
2542+
// 开始批量验证
2543+
showProgressModal(`批量验证所有 ${allKeys.length} 个密钥`);
2544+
2545+
let allSuccessfulKeys = [];
2546+
let allFailedKeys = {};
2547+
let processedCount = 0;
2548+
2549+
for (let i = 0; i < allKeys.length; i += batchSize) {
2550+
const batch = allKeys.slice(i, i + batchSize);
2551+
const progressText = `正在验证批次 ${Math.floor(i / batchSize) + 1} / ${Math.ceil(allKeys.length / batchSize)} (密钥 ${i + 1}-${Math.min(i + batchSize, allKeys.length)})`;
2552+
2553+
updateProgress(i, allKeys.length, progressText);
2554+
addProgressLog(`处理批次: ${batch.length}个密钥...`);
2555+
2556+
try {
2557+
const options = {
2558+
method: "POST",
2559+
headers: { "Content-Type": "application/json" },
2560+
body: JSON.stringify({ keys: batch }),
2561+
};
2562+
const data = await fetchAPI(`/gemini/v1beta/verify-selected-keys`, options);
2563+
2564+
if (data) {
2565+
if (data.successful_keys && data.successful_keys.length > 0) {
2566+
allSuccessfulKeys = allSuccessfulKeys.concat(data.successful_keys);
2567+
addProgressLog(`✅ 批次成功: ${data.successful_keys.length} 个`);
2568+
}
2569+
if (data.failed_keys && Object.keys(data.failed_keys).length > 0) {
2570+
Object.assign(allFailedKeys, data.failed_keys);
2571+
addProgressLog(`❌ 批次失败: ${Object.keys(data.failed_keys).length} 个`, true);
2572+
}
2573+
} else {
2574+
addProgressLog(`- 批次返回空数据`, true);
2575+
}
2576+
} catch (apiError) {
2577+
addProgressLog(`❌ 批次请求失败: ${apiError.message}`, true);
2578+
// 将此批次的所有密钥标记为失败
2579+
batch.forEach(key => {
2580+
allFailedKeys[key] = apiError.message;
2581+
});
2582+
}
2583+
processedCount += batch.length;
2584+
updateProgress(processedCount, allKeys.length, progressText);
2585+
}
2586+
2587+
updateProgress(
2588+
allKeys.length,
2589+
allKeys.length,
2590+
`所有批次验证完成!`
2591+
);
2592+
2593+
// 关闭进度模态框并显示最终结果
2594+
closeProgressModal(false);
2595+
showVerificationResultModal({
2596+
successful_keys: allSuccessfulKeys,
2597+
failed_keys: allFailedKeys,
2598+
valid_count: allSuccessfulKeys.length,
2599+
invalid_count: Object.keys(allFailedKeys).length
2600+
});
25312601
}

0 commit comments

Comments
 (0)