executeBatch 执行批量检测
(domainsStr string)
| 9 | |
| 10 | // executeBatch 执行批量检测 |
| 11 | func (r *RootCmd) executeBatch(domainsStr string) { |
| 12 | // 解析域名列表 |
| 13 | domains, invalidDomains, duplicateDomains := parseDomains(domainsStr) |
| 14 | |
| 15 | if len(domains) == 0 { |
| 16 | ui.PrintErrorWithDetails( |
| 17 | "错误:没有有效的域名可以检测", |
| 18 | "提示:请检查域名格式,例如:apple.com, google.com", |
| 19 | ) |
| 20 | return |
| 21 | } |
| 22 | |
| 23 | // 显示重复域名警告 |
| 24 | if len(duplicateDomains) > 0 { |
| 25 | ui.PrintTimestampedMessage("警告:发现 %d 个重复域名,已去重:", len(duplicateDomains)) |
| 26 | |
| 27 | // 只显示前5个重复域名,避免显示过多 |
| 28 | displayCount := 5 |
| 29 | if len(duplicateDomains) < displayCount { |
| 30 | displayCount = len(duplicateDomains) |
| 31 | } |
| 32 | |
| 33 | for i := 0; i < displayCount; i++ { |
| 34 | fmt.Printf(" - %s\n", duplicateDomains[i]) |
| 35 | } |
| 36 | |
| 37 | // 如果还有更多重复域名,显示省略提示 |
| 38 | if len(duplicateDomains) > displayCount { |
| 39 | fmt.Printf(" ... 还有 %d 个重复域名\n", len(duplicateDomains)-displayCount) |
| 40 | } |
| 41 | |
| 42 | fmt.Println() |
| 43 | } |
| 44 | |
| 45 | // 显示无效域名警告 |
| 46 | if len(invalidDomains) > 0 { |
| 47 | ui.PrintTimestampedMessage("警告:发现 %d 个无效域名,已跳过:", len(invalidDomains)) |
| 48 | |
| 49 | // 只显示前5个无效域名,避免显示过多 |
| 50 | displayCount := 5 |
| 51 | if len(invalidDomains) < displayCount { |
| 52 | displayCount = len(invalidDomains) |
| 53 | } |
| 54 | |
| 55 | for i := 0; i < displayCount; i++ { |
| 56 | fmt.Printf(" - %s\n", invalidDomains[i]) |
| 57 | } |
| 58 | |
| 59 | // 如果还有更多无效域名,显示省略提示 |
| 60 | if len(invalidDomains) > displayCount { |
| 61 | fmt.Printf(" ... 还有 %d 个无效域名\n", len(invalidDomains)-displayCount) |
| 62 | } |
| 63 | |
| 64 | fmt.Println() |
| 65 | } |
| 66 | |
| 67 | ui.PrintTimestampedMessage("开始批量检测 %d 个域名...", len(domains)) |
| 68 |
no test coverage detected