#!/usr/bin/env node /** * 批量添加测试机器数据 * * 使用方法: * 1. 在浏览器中登录系统 * 2. 打开开发者工具 -> Application -> Cookies * 3. 复制 token 值 * 4. 运行: TOKEN=your_token_here node scripts/add-test-machines.mjs */ const API_BASE = 'https://tg-live-game.pwtk.cc/api' const TOKEN = process.env.TOKEN if (!TOKEN) { console.error('❌ 请设置 TOKEN 环境变量') console.log('\n使用方法:') console.log(' TOKEN=your_token_here node scripts/add-test-machines.mjs') console.log('\n获取 token:') console.log(' 1. 登录系统') console.log(' 2. 打开开发者工具 -> Application -> Cookies') console.log(' 3. 复制 token 值') process.exit(1) } // 位置列表 const locations = [ '北京机房A区', '北京机房B区', '上海数据中心', '深圳机房', '广州机房', '杭州数据中心', '成都机房', '武汉机房', '南京数据中心', '西安机房' ] // 生成测试机器数据 function generateMachines(count) { const machines = [] for (let i = 1; i <= count; i++) { const paddedNum = String(i).padStart(3, '0') machines.push({ machineId: `TEST_MACHINE_${paddedNum}`, name: `测试机器 ${paddedNum}`, location: locations[Math.floor(Math.random() * locations.length)], description: `这是第 ${i} 台测试机器,用于系统功能验证` }) } return machines } // 添加单个机器 async function addMachine(machine) { const response = await fetch(`${API_BASE}/admin/machines/add`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${TOKEN}` }, body: JSON.stringify(machine) }) if (!response.ok) { throw new Error(`HTTP ${response.status}: ${response.statusText}`) } return response.json() } // 主函数 async function main() { console.log('🚀 开始添加测试机器数据...\n') const machines = generateMachines(30) let successCount = 0 let failCount = 0 for (const machine of machines) { try { const result = await addMachine(machine) if (result.code === 0) { console.log(`✅ ${machine.machineId} - ${machine.name}`) successCount++ } else { console.log(`⚠️ ${machine.machineId} - ${result.message || '添加失败'}`) failCount++ } } catch (error) { console.log(`❌ ${machine.machineId} - ${error.message}`) failCount++ } // 添加延迟,避免请求过快 await new Promise(resolve => setTimeout(resolve, 100)) } console.log('\n📊 统计结果:') console.log(` 成功: ${successCount}`) console.log(` 失败: ${failCount}`) console.log(` 总计: ${machines.length}`) } main().catch(console.error)