test_menu_api.ps1 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. $base = "http://localhost:7070/admin"
  2. $headers = @{
  3. "adminAccessToken" = ""
  4. "Content-Type" = "application/json"
  5. }
  6. Write-Host "Logging in first..."
  7. $loginBody = Get-Content -Raw "d:\快与慢充电桩\code\haha\docs\login.json"
  8. $login = Invoke-RestMethod -Uri "$base/login" -Method POST -ContentType "application/json" -Body $loginBody
  9. Write-Host "login code: $($login.code), message: $($login.message)"
  10. $token = $login.data.token
  11. $headers["adminAccessToken"] = $token
  12. Write-Host "Got token: $token"
  13. Write-Host ""
  14. Write-Host "========================================"
  15. Write-Host "1. Test GET /menu/routes (user menu tree)"
  16. Write-Host "========================================"
  17. $r = Invoke-RestMethod -Uri "$base/menu/routes" -Method GET -Headers $headers
  18. Write-Host "code: $($r.code), message: $($r.message)"
  19. Write-Host "data count: $($r.data.Count)"
  20. if ($r.data.Count -gt 0) {
  21. Write-Host "first item path: $($r.data[0].path)"
  22. Write-Host "first item meta title: $($r.data[0].meta.title)"
  23. }
  24. Write-Host ""
  25. Write-Host "========================================"
  26. Write-Host "2. Test POST /menu (all menus)"
  27. Write-Host "========================================"
  28. $body = '{}'
  29. $r = Invoke-RestMethod -Uri "$base/menu" -Method POST -Headers $headers -Body $body
  30. Write-Host "code: $($r.code), message: $($r.message)"
  31. Write-Host "total menus: $($r.data.Count)"
  32. if ($r.data.Count -gt 0) {
  33. Write-Host "first menu: id=$($r.data[0].id), title=$($r.data[0].title)"
  34. }
  35. Write-Host ""
  36. Write-Host "========================================"
  37. Write-Host "3. Test POST /menu (search by title)"
  38. Write-Host "========================================"
  39. $body = '{"title":"仪表"}'
  40. $r = Invoke-RestMethod -Uri "$base/menu" -Method POST -Headers $headers -Body $body
  41. Write-Host "code: $($r.code), message: $($r.message)"
  42. Write-Host "found menus: $($r.data.Count)"
  43. if ($r.data.Count -gt 0) {
  44. Write-Host "first: id=$($r.data[0].id), title=$($r.data[0].title)"
  45. }
  46. Write-Host ""
  47. Write-Host "========================================"
  48. Write-Host "4. Test POST /menu/role-menu (menus for role assignment)"
  49. Write-Host "========================================"
  50. $body = '{}'
  51. $r = Invoke-RestMethod -Uri "$base/menu/role-menu" -Method POST -Headers $headers -Body $body
  52. Write-Host "code: $($r.code), message: $($r.message)"
  53. Write-Host "total menus: $($r.data.Count)"
  54. Write-Host ""
  55. Write-Host "========================================"
  56. Write-Host "5. Test POST /menu/role-menu-ids (menu IDs for role 1)"
  57. Write-Host "========================================"
  58. $body = '{"id":1}'
  59. $r = Invoke-RestMethod -Uri "$base/menu/role-menu-ids" -Method POST -Headers $headers -Body $body
  60. Write-Host "code: $($r.code), message: $($r.message)"
  61. Write-Host "menu IDs for role 1: $($r.data)"
  62. Write-Host "count: $($r.data.Count)"
  63. Write-Host ""
  64. Write-Host "========================================"
  65. Write-Host "6. Test POST /menu/create (create new menu)"
  66. Write-Host "========================================"
  67. $body = @'
  68. {
  69. "parentId": 3001,
  70. "menuType": 0,
  71. "title": "测试菜单",
  72. "name": "TestMenu",
  73. "path": "/system/test",
  74. "component": "",
  75. "rank": 99,
  76. "icon": "ri:test-tube-line",
  77. "showLink": true,
  78. "showParent": false,
  79. "keepAlive": false
  80. }
  81. '@
  82. $r = Invoke-RestMethod -Uri "$base/menu/create" -Method POST -Headers $headers -Body $body
  83. Write-Host "code: $($r.code), message: $($r.message)"
  84. if ($r.data) {
  85. Write-Host "created id: $($r.data.id), title: $($r.data.title)"
  86. $newId = $r.data.id
  87. }
  88. Write-Host ""
  89. Write-Host "========================================"
  90. Write-Host "7. Test PUT /menu/{id} (update menu)"
  91. Write-Host "========================================"
  92. $body = @'
  93. {
  94. "parentId": 3001,
  95. "menuType": 0,
  96. "title": "测试菜单-已更新",
  97. "name": "TestMenuUpdated",
  98. "path": "/system/test-updated",
  99. "component": "",
  100. "rank": 88,
  101. "icon": "ri:test-tube-fill",
  102. "showLink": true,
  103. "showParent": false,
  104. "keepAlive": false
  105. }
  106. '@
  107. $r = Invoke-RestMethod -Uri "$base/menu/$newId" -Method PUT -Headers $headers -Body $body
  108. Write-Host "code: $($r.code), message: $($r.message)"
  109. if ($r.data) {
  110. Write-Host "updated title: $($r.data.title)"
  111. }
  112. Write-Host ""
  113. Write-Host "========================================"
  114. Write-Host "8. Test DELETE /menu/{id} (delete menu)"
  115. Write-Host "========================================"
  116. $r = Invoke-RestMethod -Uri "$base/menu/$newId" -Method DELETE -Headers $headers
  117. Write-Host "code: $($r.code), message: $($r.message)"
  118. Write-Host ""
  119. Write-Host "========================================"
  120. Write-Host "9. Test POST /menu/save-role-menus (save role menu)"
  121. Write-Host "========================================"
  122. $body = @"
  123. {"roleId": 1, "menuIds": [1001, 2001, 3001, 4001, 5001]}
  124. "@
  125. $r = Invoke-RestMethod -Uri "$base/menu/save-role-menus" -Method POST -Headers $headers -Body $body
  126. Write-Host "code: $($r.code), message: $($r.message)"
  127. Write-Host ""
  128. Write-Host "=== ALL TESTS COMPLETE ==="