File size: 3,972 Bytes
69b897d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
/**
* 测试专属账号显示问题
*/
const redis = require('../src/models/redis')
async function testDedicatedAccounts() {
console.log('🔍 检查专属账号...\n')
try {
// 确保 Redis 已连接
await redis.connect()
// 获取所有 Claude 账号
const claudeKeys = await redis.client.keys('claude:account:*')
console.log(`找到 ${claudeKeys.length} 个 Claude 账号\n`)
const dedicatedAccounts = []
const groupAccounts = []
const sharedAccounts = []
for (const key of claudeKeys) {
const account = await redis.client.hgetall(key)
const accountType = account.accountType || 'shared'
const accountInfo = {
id: account.id,
name: account.name,
accountType,
status: account.status,
isActive: account.isActive,
createdAt: account.createdAt
}
if (accountType === 'dedicated') {
dedicatedAccounts.push(accountInfo)
} else if (accountType === 'group') {
groupAccounts.push(accountInfo)
} else {
sharedAccounts.push(accountInfo)
}
}
console.log('📊 账号统计:')
console.log(`- 专属账号: ${dedicatedAccounts.length} 个`)
console.log(`- 分组账号: ${groupAccounts.length} 个`)
console.log(`- 共享账号: ${sharedAccounts.length} 个`)
console.log('')
if (dedicatedAccounts.length > 0) {
console.log('✅ 专属账号列表:')
dedicatedAccounts.forEach((acc) => {
console.log(` - ${acc.name} (ID: ${acc.id}, 状态: ${acc.status})`)
})
console.log('')
} else {
console.log('⚠️ 没有找到专属账号!')
console.log('💡 提示: 请确保在账号管理页面将账号类型设置为"专属账户"')
console.log('')
}
if (groupAccounts.length > 0) {
console.log('📁 分组账号列表:')
groupAccounts.forEach((acc) => {
console.log(` - ${acc.name} (ID: ${acc.id}, 状态: ${acc.status})`)
})
console.log('')
}
// 检查分组
const groupKeys = await redis.client.keys('account_group:*')
console.log(`\n找到 ${groupKeys.length} 个账号分组`)
if (groupKeys.length > 0) {
console.log('📋 分组列表:')
for (const key of groupKeys) {
const group = await redis.client.hgetall(key)
console.log(
` - ${group.name} (平台: ${group.platform}, 成员数: ${group.memberCount || 0})`
)
}
}
// 检查 Claude Console 账号
const consoleKeys = await redis.client.keys('claude_console_account:*')
console.log(`\n找到 ${consoleKeys.length} 个 Claude Console 账号`)
const dedicatedConsoleAccounts = []
const groupConsoleAccounts = []
for (const key of consoleKeys) {
const account = await redis.client.hgetall(key)
const accountType = account.accountType || 'shared'
if (accountType === 'dedicated') {
dedicatedConsoleAccounts.push({
id: account.id,
name: account.name,
accountType,
status: account.status
})
} else if (accountType === 'group') {
groupConsoleAccounts.push({
id: account.id,
name: account.name,
accountType,
status: account.status
})
}
}
if (dedicatedConsoleAccounts.length > 0) {
console.log('\n✅ Claude Console 专属账号:')
dedicatedConsoleAccounts.forEach((acc) => {
console.log(` - ${acc.name} (ID: ${acc.id}, 状态: ${acc.status})`)
})
}
if (groupConsoleAccounts.length > 0) {
console.log('\n📁 Claude Console 分组账号:')
groupConsoleAccounts.forEach((acc) => {
console.log(` - ${acc.name} (ID: ${acc.id}, 状态: ${acc.status})`)
})
}
} catch (error) {
console.error('❌ 错误:', error)
console.error(error.stack)
} finally {
process.exit(0)
}
}
testDedicatedAccounts()
|