Commit Graph

9 Commits

Author SHA1 Message Date
Max 7627236650 refactor(pipeline): 迁移generators模块到pipeline结构
- 将 base_generator.dart, model_code_generator.dart, retrofit_api_generator.dart 及其 part 文件物理迁移到 lib/pipeline/generate/impl/ 目录。
- 在原 lib/generators/ 目录下保留向后兼容的导出 shim 文件。
- 修复了因文件移动导致的 part of 路径问题和 mixin 引用失效问题。

质量门禁:
- dart analyze: 0 error / 0 warning (info only)
- dart test: all pass
2025-11-22 22:11:12 +08:00
Max 48863c6255 重构与迁移:
1) 配置访问全量迁移
- 移除 ConfigLoader,统一切换为 ConfigRepository(保持 SwaggerConfig 静态 API 向后兼容)
- TemplateRenderer/TemplateLoader/GOS/API 模板数据/命令层全面替换,避免重复 I/O(懒加载缓存)
- 新增迁移文档:docs/MIGRATION_CONFIG_LOADER.md

2) StringUtils 职责拆分与聚合导出
- 新增 utils/string_utils/text_cleaner.dart(文本清理/转义/截断)
- 保留 utils/string_utils.dart 作为统一导出(NamingConverter/TemplateService/TextCleaner)
- 新增 STRING_UTILS_REFACTOR_SUMMARY.md,总结重构内容与使用示例

3) 文档与概览更新
- 更新 docs/PROJECT_OVERVIEW.md:最新架构图、模块职责、生成流程与近期重构
- 更新 check_list.md:标记 string_utils/error_reporter 重构完成

4) 质量与兼容性
- dart analyze:0 error / 0 warning(仅 info 提示)
- dart test:全部通过(203/203)
- 保持命令与生成行为不变(无破坏性改动)
2025-11-22 18:18:06 +08:00
Max dc4a7cc719 feat: fix warring 增加 2025-11-22 14:30:32 +08:00
Max f2e48277ea feat: update 2025-11-21 22:27:01 +08:00
Max 69aad6bda1 chore: release 3.0.0 – remove OptimizedRetrofitGenerator; consolidate on RetrofitApiGenerator; update docs and examples; fix QRCodeApi reference; improve ApiClient class-name extraction; bump version to 3.0.0; update CHANGELOG 2025-11-21 18:10:37 +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 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 dc7c17b212 feat: 增加格式化代码 2025-07-19 08:13:59 +08:00
Max 5c9d2c8d36 init 2025-07-13 07:01:51 +08:00