get_menu_data.ps1 1.4 KB

123456789101112131415161718192021222324252627
  1. # Comprehensive API endpoint scanner and tester for saasadminui
  2. # Step 1: Login
  3. $body = '{"tenantCode":"T202605253515","username":"admin","password":"admin123"}'
  4. $loginResp = Invoke-WebRequest -Uri 'http://localhost:8006/login' -Method Post -ContentType 'application/json' -Body $body -UseBasicParsing
  5. $loginJson = $loginResp.Content | ConvertFrom-Json
  6. $token = $loginJson.token
  7. Write-Host "Login OK, token: $($token.Substring(0,20))..."
  8. # Step 2: Get all routes to find menu components
  9. $routesResp = Invoke-WebRequest -Uri 'http://localhost:8006/getRouters' -Method Get -Headers @{Authorization="Bearer $token"} -UseBasicParsing
  10. $routesResp.Content | Out-File -FilePath 'd:\ylrz\saasadminui\routes_raw.json' -Encoding UTF8
  11. Write-Host "Routes saved to routes_raw.json"
  12. # Step 3: Get menu data from the tenant database via API
  13. $menusResp = Invoke-WebRequest -Uri 'http://localhost:8006/system/menu/list' -Method Get -Headers @{Authorization="Bearer $token"} -UseBasicParsing
  14. $menusResp.Content | Out-File -FilePath 'd:\ylrz\saasadminui\menus_raw.json' -Encoding UTF8
  15. Write-Host "Menus saved to menus_raw.json"
  16. # Quick parse to show menu count
  17. $menusJson = $menusResp.Content | ConvertFrom-Json
  18. $menuRows = $menusJson.rows
  19. Write-Host "Total menu entries: $($menuRows.Count)"
  20. # Show menu types
  21. $types = $menuRows | Group-Object menuType | Select-Object Name, Count
  22. Write-Host "`nMenu types:"
  23. $types | Format-Table -AutoSize