Commit Graph

79 Commits

Author SHA1 Message Date
Max ca57ceb354 update 2025-11-05 18:38:05 +08:00
Max b47a823db4 Merge branch 'release/2.1.1' 2025-11-05 17:00:26 +08:00
Max ff9bb34a31 Merge tag '2.1.1' into develop
2.1.1
2025-11-05 17:00:26 +08:00
Max 5f6c87ef67 feat: 添加文件头配置和文件跳过功能
主要变更:
-  新增文件头模板配置功能
  - 支持通过 templates.file_header 自定义文件头格式
  - 支持模板变量: {fileName}, {fileType}, {swaggerUrl}, {generatorName}, {author}, {copyright}
  - 自动从 generator 配置读取生成器信息

-  新增文件跳过功能
  - 支持 ignored_directories 配置,跳过指定目录下的所有文件
  - 支持 ignored_files 配置,支持精确匹配和通配符匹配(*prefix, suffix*, *pattern*)
  - 在所有文件生成点添加跳过检查

-  新增 ConfigLoader 配置加载器
  - 统一管理配置文件读取
  - 支持 YAML 配置解析
  - 提供配置缓存机制

- 📝 更新配置文件
  - 添加 templates 配置部分
  - 添加 output.ignored_directories 和 output.ignored_files 配置
  - 完善配置示例和注释

- 📚 添加文档
  - FILE_HEADER_CONFIGURATION.md: 文件头配置功能文档
  - CODE_REVIEW_REPORT.md: 代码审核报告
  - 更新示例项目配置

- 🗑️ 清理代码
  - 移除 ApiPaths 生成功能
  - 删除旧的示例文件
  - 精简项目结构

- 🔧 优化依赖
  - 移除内部项目依赖(learning_officer_oa)
  - 更新依赖版本
  - 支持作为 dev_dependency 使用
2025-11-05 16:59:27 +08:00
Max 6b90225abd chore: 发布版本 2.1.0
- 更新版本号至 2.1.0
- 添加 CHANGELOG.md 记录版本变更历史
2025-11-03 11:42:12 +08:00
Max 12ed10e221 feat: 增强代码生成器 - 模型分类、目录优化与多版本API支持
主要改进:
1. 响应模型 List 默认值
   - 为响应模型的 List 类型添加 @JsonKey(defaultValue: [])
   - 请求模型不添加默认值,避免影响后端接收

2. ModelUsageType 模型分类
   - 新增 ModelUsageType 枚举(request/response/common/unknown)
   - 通过解析 Swagger 文档的 paths 自动判定模型用途
   - 更准确地区分请求参数和返回结果

3. api_models 目录结构优化
   - enums/ - 枚举类型
   - request/ - 请求模型
   - result/ - 响应模型
   - parameters/ - 查询参数类
   - 每个子目录生成 index.dart 便于导入

4. 导入策略优化
   - API 文件统一使用 import '../../api_models/index.dart'
   - 利用 Dart tree-shaking,不影响应用大小
   - 简化导入管理,提高可维护性

5. 多版本 API 支持
   - 支持多个 Swagger 文档 URL(v1/v2/v3...)
   - API 文件按版本分目录(api/v1/、api/v2/)
   - V1 版本类名不加后缀(如 MobileManagerApi)
   - V2+ 版本类名添加版本号后缀(如 MobileManagerApiV2)
   - 每个版本目录生成 index.dart
   - ApiClient 提供显式版本访问器

配置变更:
- SwaggerConfig.swaggerJsonUrls 支持多个 URL
2025-11-03 11:06:35 +08:00
Max 06e2b9165c feat: List 增加默认值 2025-10-29 19:44:18 +08:00
Max e6030aea96 feat: update 2025-10-11 17:00:37 +08:00
Max 9bd7267b93 feat: 强制所有String字段为非空且required
- String类型字段(非date-time/date)强制为非空,忽略Swagger的nullable标记
- 所有String字段自动添加 @JsonKey(defaultValue: '')
- 所有非空String字段在构造函数中需要required修饰符
- 保证类型安全的同时,在JSON反序列化时提供默认值兜底

优势:
- 类型安全:避免String?的空值处理
- 明确意图:required强制手动构造时提供值
- 容错性好:JSON反序列化时有defaultValue兜底
- 行为一致:所有String字段处理统一
2025-10-11 16:58:37 +08:00
Max 90d16a7d16 feat: update 2025-07-31 00:47:18 +08:00
Max 2e7ae3fc70 Merge branch 'release/2.0.1' 2025-07-24 19:03:49 +08:00
Max 3b87ff2bfe Merge tag '2.0.1' into develop
2.0.1
2025-07-24 19:03:49 +08:00
Max 8785687ee4 feat: update version 增加判断
/// 检查是否是简单的成功响应(没有具体数据)
  bool _isSimpleSuccessResponse(ApiPath path) {
2025-07-24 19:03:02 +08:00
Max 78fe013ab2 Merge tag '2.0.0' into develop
2.0.0
2025-07-24 13:08:20 +08:00
Max 2241b0b02b Merge branch 'release/2.0.0' 2025-07-24 13:08:19 +08:00
Max 82001183c2 feat: 升级版本到 2.0.0+2
- 反映项目的重大功能改进
- 包含完整的参数注释优化
- 支持 requestBody 可选性处理
- 数组类型正确映射
2025-07-24 10:58:55 +08:00
Max 364aeddc4c feat: 恢复丢失的重要文件
- 恢复 swagger.json (12,902 行)
- 恢复 lib/swagger_cli_new.dart (193 行)
- 恢复 tests/models_test.dart (1,589 行)
- 恢复 tests/schema_validator_test.dart (475 行)

这些文件在之前的 revert 操作中被误删除
2025-07-24 10:55:03 +08:00
Max a12bf7e618 feat: 恢复代码 2025-07-24 10:44:25 +08:00
Max 547a6c7f16 Revert "feat: 优化项目升级为2.0 严格执行3.0 swagger 标准"
This reverts commit 0fc76544ff.
2025-07-24 10:42:22 +08:00
Max 0fc76544ff feat: 优化项目升级为2.0 严格执行3.0 swagger 标准 2025-07-24 10:38:02 +08:00
Max dc7c17b212 feat: 增加格式化代码 2025-07-19 08:13:59 +08:00
Max 77cf3a4a11 feat: 增加注解 includeIfNull:false, 2025-07-16 14:04:07 +08:00
Max d9e46be9dd feat: base page support 2025-07-14 18:46:43 +08:00
Max bb7529273b feat: 增加 checked: true
-    buffer.writeln('@JsonSerializable()');
+    buffer.writeln('@JsonSerializable(checked: true)');
2025-07-14 13:33:10 +08:00
Max c40f6acc36 feat: fix bugs 2025-07-13 20:10:12 +08:00
Max 665c9e6049 feat:修复 version 被删掉的问题 2025-07-13 08:59:48 +08:00
Max 5c9d2c8d36 init 2025-07-13 07:01:51 +08:00
Max f2faffebfc init 2025-07-13 07:01:20 +08:00
Max 70b6396e90 first commit 2025-07-13 06:58:45 +08:00