refactor: 优化API Key状态更新和日志记录格式

This commit is contained in:
AAEE86
2025-10-14 09:33:17 +08:00
parent e051ade27e
commit 8d84e2fa6e
2 changed files with 16 additions and 11 deletions

View File

@@ -1124,9 +1124,7 @@ class DroidAccountService {
updatedHashes.add(hash) updatedHashes.add(hash)
// 查找现有条目 // 查找现有条目
const existingIndex = mergedApiKeys.findIndex( const existingIndex = mergedApiKeys.findIndex((entry) => entry && entry.hash === hash)
(entry) => entry && entry.hash === hash
)
if (existingIndex !== -1) { if (existingIndex !== -1) {
// 更新现有条目的状态信息 // 更新现有条目的状态信息
@@ -1134,9 +1132,18 @@ class DroidAccountService {
mergedApiKeys[existingIndex] = { mergedApiKeys[existingIndex] = {
...existingEntry, ...existingEntry,
status: updateItem.status || existingEntry.status || 'active', status: updateItem.status || existingEntry.status || 'active',
errorMessage: updateItem.errorMessage !== undefined ? updateItem.errorMessage : existingEntry.errorMessage || '', errorMessage:
lastUsedAt: updateItem.lastUsedAt !== undefined ? updateItem.lastUsedAt : existingEntry.lastUsedAt || '', updateItem.errorMessage !== undefined
usageCount: updateItem.usageCount !== undefined ? String(updateItem.usageCount) : existingEntry.usageCount || '0' ? updateItem.errorMessage
: existingEntry.errorMessage || '',
lastUsedAt:
updateItem.lastUsedAt !== undefined
? updateItem.lastUsedAt
: existingEntry.lastUsedAt || '',
usageCount:
updateItem.usageCount !== undefined
? String(updateItem.usageCount)
: existingEntry.usageCount || '0'
} }
apiKeysUpdated = true apiKeysUpdated = true
} }

View File

@@ -1182,15 +1182,13 @@ class DroidRelayService {
// 检查是否还有可用的API Key // 检查是否还有可用的API Key
try { try {
const availableEntries = await droidAccountService.getDecryptedApiKeyEntries(accountId) const availableEntries = await droidAccountService.getDecryptedApiKeyEntries(accountId)
const activeEntries = availableEntries.filter(entry => entry.status !== 'error') const activeEntries = availableEntries.filter((entry) => entry.status !== 'error')
if (activeEntries.length === 0) { if (activeEntries.length === 0) {
await this._stopDroidAccountScheduling(accountId, statusCode, '所有API Key均已异常') await this._stopDroidAccountScheduling(accountId, statusCode, '所有API Key均已异常')
await this._clearAccountStickyMapping(normalizedEndpoint, sessionHash, clientApiKeyId) await this._clearAccountStickyMapping(normalizedEndpoint, sessionHash, clientApiKeyId)
} else { } else {
logger.info( logger.info(` Droid 账号 ${accountId} 仍有 ${activeEntries.length} 个可用 API Key`)
` Droid 账号 ${accountId} 仍有 ${activeEntries.length} 个可用 API Key`
)
} }
} catch (error) { } catch (error) {
logger.error(`❌ 检查可用API Key失败Account: ${accountId}`, error) logger.error(`❌ 检查可用API Key失败Account: ${accountId}`, error)