add-test-machines.mjs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #!/usr/bin/env node
  2. /**
  3. * 批量添加测试机器数据
  4. *
  5. * 使用方法:
  6. * 1. 在浏览器中登录系统
  7. * 2. 打开开发者工具 -> Application -> Cookies
  8. * 3. 复制 token 值
  9. * 4. 运行: TOKEN=your_token_here node scripts/add-test-machines.mjs
  10. */
  11. const API_BASE = 'https://tg-live-game.pwtk.cc/api'
  12. const TOKEN = process.env.TOKEN
  13. if (!TOKEN) {
  14. console.error('❌ 请设置 TOKEN 环境变量')
  15. console.log('\n使用方法:')
  16. console.log(' TOKEN=your_token_here node scripts/add-test-machines.mjs')
  17. console.log('\n获取 token:')
  18. console.log(' 1. 登录系统')
  19. console.log(' 2. 打开开发者工具 -> Application -> Cookies')
  20. console.log(' 3. 复制 token 值')
  21. process.exit(1)
  22. }
  23. // 位置列表
  24. const locations = [
  25. '北京机房A区', '北京机房B区', '上海数据中心', '深圳机房',
  26. '广州机房', '杭州数据中心', '成都机房', '武汉机房',
  27. '南京数据中心', '西安机房'
  28. ]
  29. // 生成测试机器数据
  30. function generateMachines(count) {
  31. const machines = []
  32. for (let i = 1; i <= count; i++) {
  33. const paddedNum = String(i).padStart(3, '0')
  34. machines.push({
  35. machineId: `TEST_MACHINE_${paddedNum}`,
  36. name: `测试机器 ${paddedNum}`,
  37. location: locations[Math.floor(Math.random() * locations.length)],
  38. description: `这是第 ${i} 台测试机器,用于系统功能验证`
  39. })
  40. }
  41. return machines
  42. }
  43. // 添加单个机器
  44. async function addMachine(machine) {
  45. const response = await fetch(`${API_BASE}/admin/machines/add`, {
  46. method: 'POST',
  47. headers: {
  48. 'Content-Type': 'application/json',
  49. 'Authorization': `Bearer ${TOKEN}`
  50. },
  51. body: JSON.stringify(machine)
  52. })
  53. if (!response.ok) {
  54. throw new Error(`HTTP ${response.status}: ${response.statusText}`)
  55. }
  56. return response.json()
  57. }
  58. // 主函数
  59. async function main() {
  60. console.log('🚀 开始添加测试机器数据...\n')
  61. const machines = generateMachines(30)
  62. let successCount = 0
  63. let failCount = 0
  64. for (const machine of machines) {
  65. try {
  66. const result = await addMachine(machine)
  67. if (result.code === 0) {
  68. console.log(`✅ ${machine.machineId} - ${machine.name}`)
  69. successCount++
  70. } else {
  71. console.log(`⚠️ ${machine.machineId} - ${result.message || '添加失败'}`)
  72. failCount++
  73. }
  74. } catch (error) {
  75. console.log(`❌ ${machine.machineId} - ${error.message}`)
  76. failCount++
  77. }
  78. // 添加延迟,避免请求过快
  79. await new Promise(resolve => setTimeout(resolve, 100))
  80. }
  81. console.log('\n📊 统计结果:')
  82. console.log(` 成功: ${successCount}`)
  83. console.log(` 失败: ${failCount}`)
  84. console.log(` 总计: ${machines.length}`)
  85. }
  86. main().catch(console.error)