Spaces:
Sleeping
Sleeping
File size: 1,375 Bytes
97ec0e5 |
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 |
import tokenManager from '../src/auth/token_manager.js';
async function testTokenRotation() {
console.log('=== 开始测试 Token 轮询 ===\n');
const totalTests = 10;
const usedTokens = new Map();
console.log(`初始状态: ${tokenManager.tokens.length} 个可用账号\n`);
for (let i = 1; i <= totalTests; i++) {
console.log(`--- 第 ${i} 次请求 ---`);
const token = await tokenManager.getToken();
if (!token) {
console.log('❌ 无可用 token\n');
break;
}
const tokenId = token.refresh_token.slice(-8);
console.log(`✓ 获取到 token: ...${tokenId}`);
console.log(` 当前索引: ${tokenManager.currentIndex}`);
console.log(` 剩余账号: ${tokenManager.tokens.length}\n`);
usedTokens.set(tokenId, (usedTokens.get(tokenId) || 0) + 1);
}
console.log('=== 轮询统计 ===');
console.log(`总请求次数: ${totalTests}`);
console.log(`使用的不同账号数: ${usedTokens.size}`);
console.log('\n各账号使用次数:');
usedTokens.forEach((count, tokenId) => {
console.log(` ...${tokenId}: ${count} 次`);
});
if (usedTokens.size === tokenManager.tokens.length) {
console.log('\n✅ 所有账号都被正确轮换使用');
} else {
console.log('\n⚠️ 部分账号未被使用');
}
}
testTokenRotation().catch(console.error);
|