swagger_generator_flutter/CHANGELOG.md

88 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Changelog
All notable changes to this project will be documented in this file.
## [2.1.1] - 2025-11-05
### 🎉 新特性
#### 作为 dev_dependencies 支持
- ✅ 添加 `executables` 配置,支持作为 dev_dependencies 在其他项目中使用
- ✅ 可通过 `dart run swagger_generator_flutter generate` 命令执行
- ✅ 支持从使用者项目根目录读取 `generator_config.yaml` 配置文件
- ✅ 新增完整的使用指南 `USAGE_AS_DEV_DEPENDENCY.md`
- ✅ 提供配置文件模板 `generator_config.template.yaml`
### 📝 文档更新
- 更新 README.md新增 "作为 dev_dependencies 使用" 章节
- 新增详细的集成指南,包含 CI/CD 示例
- 提供完整的工作流程说明
### 🔧 配置优化
- 更新 `pubspec.yaml` 描述信息
- 添加可执行命令映射配置
---
## [2.1.0] - 2025-11-03
### 🎉 主要新特性
#### 多版本 API 支持
- 支持解析多个 Swagger 文档 URLv1/v2/v3...
- API 文件按版本自动分目录api/v1/、api/v2/
- V1 版本类名保持简洁(不加后缀,如 `MobileManagerApi`
- V2+ 版本类名添加版本号后缀(如 `MobileManagerApiV2`
- ApiClient 提供清晰的版本化访问器
#### 模型智能分类
- 新增 `ModelUsageType` 枚举request/response/common/unknown
- 自动分析 Swagger paths 判定模型实际用途
- 精确区分请求参数和返回结果
#### 目录结构优化
- `api_models/enums/` - 枚举类型
- `api_models/request/` - 请求模型
- `api_models/result/` - 响应模型
- `api_models/parameters/` - 查询参数类
- 每个子目录自动生成 `index.dart` 便于导入
### ✨ 改进
#### 默认值处理
- 响应模型的 List 类型自动添加 `@JsonKey(defaultValue: [])`
- 请求模型不添加默认值,避免影响后端接收
- 更安全的 null 值处理
#### 导入策略
- API 文件统一使用 `import '../../api_models/index.dart'`
- 利用 Dart tree-shaking不影响应用大小
- 简化导入管理,提高可维护性
### 🔧 配置变更
- `SwaggerConfig.swaggerJsonUrls` 现在支持多个 Swagger 文档 URL
- 移除了单独的 `swaggerJsonUrl` 配置项
### 📝 文档
- 新增 `CANCELTOKEN_USAGE_GUIDE.md` - CancelToken 使用指南
- 新增 `CHANGELOG_CANCELTOKEN.md` - CancelToken 功能变更日志
---
## [2.0.1] - 2025-10-XX
### 改进
- 性能优化和 bug 修复
- 代码质量提升
---
## [2.0.0] - 2025-09-XX
### 重大变更
- 项目重构
- 支持 Retrofit
- 优化代码生成逻辑