## 1. 依赖管理 - [ ] 1.1 在 go.mod 中添加 Viper、pflag、validator 依赖 - [ ] 1.2 移除 gopkg.in/yaml.v3 依赖(Viper 内置 YAML 支持) - [ ] 1.3 运行 go mod tidy 更新依赖树 ## 2. 配置结构体重构 - [ ] 2.1 为 Config 结构体添加 validate tag 验证规则 - [ ] 2.2 更新 Validate() 方法使用 validator 库进行验证 - [ ] 2.3 添加配置摘要打印方法 PrintSummary() ## 3. 配置加载逻辑重构 - [ ] 3.1 创建 setupDefaults() 函数设置默认配置值 - [ ] 3.2 创建 setupFlags() 函数定义和绑定 CLI 参数 - [ ] 3.3 创建 setupEnv() 函数绑定环境变量 - [ ] 3.4 创建 setupConfigFile() 函数读取配置文件 - [ ] 3.5 重构 LoadConfig() 函数,按顺序调用上述函数 - [ ] 3.6 添加 LoadConfigFromPath() 函数支持自定义配置文件路径 ## 4. 主程序修改 - [ ] 4.1 在 main.go 中添加 CLI 参数解析逻辑 - [ ] 4.2 修改配置加载流程,使用新的 LoadConfig() - [ ] 4.3 添加配置摘要打印调用 ## 5. 测试更新 - [ ] 5.1 更新 TestDefaultConfig 测试新的默认值设置方式 - [ ] 5.2 更新 TestConfig_Validate 测试新的验证规则 - [ ] 5.3 添加 CLI 参数配置测试 - [ ] 5.4 添加环境变量配置测试 - [ ] 5.5 添加配置优先级测试 - [ ] 5.6 添加配置摘要输出测试 - [ ] 5.7 确保所有测试通过 ## 6. 文档更新 - [ ] 6.1 更新 README.md 配置说明部分 - [ ] 6.2 添加 CLI 参数使用示例 - [ ] 6.3 添加环境变量配置示例 - [ ] 6.4 添加配置优先级说明 ## 7. 验证与清理 - [ ] 7.1 运行完整测试套件,确保所有测试通过 - [ ] 7.2 本地测试:使用 CLI 参数启动应用 - [ ] 7.3 本地测试:使用环境变量启动应用 - [ ] 7.4 本地测试:混合使用 CLI 参数和环境变量 - [ ] 7.5 验证配置摘要输出正确 - [ ] 7.6 清理代码,移除不再使用的函数和导入