package main import ( "flag" "fmt" "os" "stalwart_client/pkg/api" ) func main() { // 解析命令行参数 limitPtr := flag.Int("l", 100, "最大返回结果数量") pagePtr := flag.Int("p", 1, "页码") _ = flag.String("q", "", "搜索关键词") // 暂未实现搜索功能,保留参数 authTypePtr := flag.String("a", "basic", "认证方式: basic(基本认证)或apikey(API Key认证)") authUserPtr := flag.String("u", "", "基本认证用户名") authPassPtr := flag.String("P", "", "基本认证密码") apiKeyPtr := flag.String("k", "", "API Key") configPtr := flag.String("c", "", "配置文件路径") flag.Parse() // 加载配置 config, err := api.LoadConfig(*configPtr) if err != nil { fmt.Printf("加载配置失败: %v\n", err) os.Exit(1) } // 创建客户端 client := api.NewClient(config) // 确定认证类型 var authType api.AuthType if *authTypePtr == "apikey" { authType = api.APIKeyAuth } else { authType = api.BasicAuth } // 获取用户列表 userList, err := client.ListUsers( authType, *authUserPtr, *authPassPtr, *apiKeyPtr, *limitPtr, *pagePtr, ) if err != nil { fmt.Printf("获取用户列表失败: %v\n", err) os.Exit(1) } // 格式化显示结果 api.FormatUserList(userList) }