mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-23 20:26:31 +00:00
Merge pull request #138 from geminiwen/main
fix: 修复仪表盘统计中遗漏 Claude Console 账户的问题
This commit is contained in:
@@ -1261,10 +1261,11 @@ router.get('/accounts/:accountId/usage-stats', authenticateAdmin, async (req, re
|
|||||||
// 获取系统概览
|
// 获取系统概览
|
||||||
router.get('/dashboard', authenticateAdmin, async (req, res) => {
|
router.get('/dashboard', authenticateAdmin, async (req, res) => {
|
||||||
try {
|
try {
|
||||||
const [, apiKeys, claudeAccounts, geminiAccounts, todayStats, systemAverages, realtimeMetrics] = await Promise.all([
|
const [, apiKeys, claudeAccounts, claudeConsoleAccounts, geminiAccounts, todayStats, systemAverages, realtimeMetrics] = await Promise.all([
|
||||||
redis.getSystemStats(),
|
redis.getSystemStats(),
|
||||||
apiKeyService.getAllApiKeys(),
|
apiKeyService.getAllApiKeys(),
|
||||||
claudeAccountService.getAllAccounts(),
|
claudeAccountService.getAllAccounts(),
|
||||||
|
claudeConsoleAccountService.getAllAccounts(),
|
||||||
geminiAccountService.getAllAccounts(),
|
geminiAccountService.getAllAccounts(),
|
||||||
redis.getTodayStats(),
|
redis.getTodayStats(),
|
||||||
redis.getSystemAverages(),
|
redis.getSystemAverages(),
|
||||||
@@ -1283,6 +1284,8 @@ router.get('/dashboard', authenticateAdmin, async (req, res) => {
|
|||||||
const activeApiKeys = apiKeys.filter(key => key.isActive).length;
|
const activeApiKeys = apiKeys.filter(key => key.isActive).length;
|
||||||
const activeClaudeAccounts = claudeAccounts.filter(acc => acc.isActive && acc.status === 'active').length;
|
const activeClaudeAccounts = claudeAccounts.filter(acc => acc.isActive && acc.status === 'active').length;
|
||||||
const rateLimitedClaudeAccounts = claudeAccounts.filter(acc => acc.rateLimitStatus && acc.rateLimitStatus.isRateLimited).length;
|
const rateLimitedClaudeAccounts = claudeAccounts.filter(acc => acc.rateLimitStatus && acc.rateLimitStatus.isRateLimited).length;
|
||||||
|
const activeClaudeConsoleAccounts = claudeConsoleAccounts.filter(acc => acc.isActive && acc.status === 'active').length;
|
||||||
|
const rateLimitedClaudeConsoleAccounts = claudeConsoleAccounts.filter(acc => acc.rateLimitStatus && acc.rateLimitStatus.isRateLimited).length;
|
||||||
const activeGeminiAccounts = geminiAccounts.filter(acc => acc.isActive && acc.status === 'active').length;
|
const activeGeminiAccounts = geminiAccounts.filter(acc => acc.isActive && acc.status === 'active').length;
|
||||||
const rateLimitedGeminiAccounts = geminiAccounts.filter(acc => acc.rateLimitStatus === 'limited').length;
|
const rateLimitedGeminiAccounts = geminiAccounts.filter(acc => acc.rateLimitStatus === 'limited').length;
|
||||||
|
|
||||||
@@ -1290,9 +1293,9 @@ router.get('/dashboard', authenticateAdmin, async (req, res) => {
|
|||||||
overview: {
|
overview: {
|
||||||
totalApiKeys: apiKeys.length,
|
totalApiKeys: apiKeys.length,
|
||||||
activeApiKeys,
|
activeApiKeys,
|
||||||
totalClaudeAccounts: claudeAccounts.length,
|
totalClaudeAccounts: claudeAccounts.length + claudeConsoleAccounts.length,
|
||||||
activeClaudeAccounts: activeClaudeAccounts,
|
activeClaudeAccounts: activeClaudeAccounts + activeClaudeConsoleAccounts,
|
||||||
rateLimitedClaudeAccounts: rateLimitedClaudeAccounts,
|
rateLimitedClaudeAccounts: rateLimitedClaudeAccounts + rateLimitedClaudeConsoleAccounts,
|
||||||
totalGeminiAccounts: geminiAccounts.length,
|
totalGeminiAccounts: geminiAccounts.length,
|
||||||
activeGeminiAccounts: activeGeminiAccounts,
|
activeGeminiAccounts: activeGeminiAccounts,
|
||||||
rateLimitedGeminiAccounts: rateLimitedGeminiAccounts,
|
rateLimitedGeminiAccounts: rateLimitedGeminiAccounts,
|
||||||
@@ -1325,7 +1328,7 @@ router.get('/dashboard', authenticateAdmin, async (req, res) => {
|
|||||||
},
|
},
|
||||||
systemHealth: {
|
systemHealth: {
|
||||||
redisConnected: redis.isConnected,
|
redisConnected: redis.isConnected,
|
||||||
claudeAccountsHealthy: activeClaudeAccounts > 0,
|
claudeAccountsHealthy: (activeClaudeAccounts + activeClaudeConsoleAccounts) > 0,
|
||||||
geminiAccountsHealthy: activeGeminiAccounts > 0,
|
geminiAccountsHealthy: activeGeminiAccounts > 0,
|
||||||
uptime: process.uptime()
|
uptime: process.uptime()
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user