| 1234567891011121314151617181920212223242526272829303132333435363738 |
- # Scan all saasadminui API files and extract URLs
- $apiDir = 'd:\ylrz\saasadminui\src\api'
- $allUrls = [System.Collections.ArrayList]::new()
- Get-ChildItem -Path $apiDir -Recurse -Include '*.js' | ForEach-Object {
- $file = $_.FullName
- $relPath = $_.FullName.Replace($apiDir + '\', '')
- $content = Get-Content $file -Raw -Encoding UTF8
-
- # Match url patterns like: url: '/xxx/yyy/zzz' or url: "/xxx/yyy/zzz"
- $matches = [regex]::Matches($content, "url:\s*['""]([^'""]+)['""]")
- foreach ($m in $matches) {
- $url = $m.Groups[1].Value
- # Skip variable interpolation like `${xxx}`
- if ($url -notmatch '\$\{') {
- [void]$allUrls.Add([PSCustomObject]@{
- File = $relPath
- URL = $url
- })
- }
- }
- }
- Write-Host "Total API URLs found: $($allUrls.Count)"
- # Group by URL prefix (first 2 path segments)
- $grouped = $allUrls | Group-Object { ($_.URL -split '/')[0..2] -join '/' } | Sort-Object Count -Descending
- Write-Host "`n=== URL Prefix Groups ==="
- $grouped | Select-Object @{N='Prefix';E={$_.Name}}, Count | Format-Table -AutoSize
- # Save all URLs
- $allUrls | ConvertTo-Json -Depth 3 | Out-File -FilePath 'd:\ylrz\saasadminui\all_api_urls.json' -Encoding UTF8
- Write-Host "`nAll URLs saved to all_api_urls.json"
- # Extract unique URL prefixes for testing
- $uniquePrefixes = $allUrls | ForEach-Object { ($_.URL -split '/')[0..1] -join '/' } | Sort-Object -Unique
- Write-Host "`n=== Unique URL Prefixes (top 2 segments) ==="
- $uniquePrefixes
|