Max
d6a31d5a24
feat: update
2025-11-23 14:11:16 +08:00
Max
53f89940ed
fix(refactor): correct import paths after pipeline migration
...
- Updated all internal import statements to point to the new 'pipeline' directory structure.
- Resolved all 'uri_does_not_exist' and 'undefined_class' errors caused by the refactoring.
- The project now passes 'dart analyze' with no errors.
2025-11-23 10:04:02 +08:00
Max
481db5bf8f
feat(structure): 完成方案C重构,引入pipeline架构
...
- 物理迁移:所有核心模块(parse, validate, generate, render, output)已按 pipeline 结构重组。
- 统一入口:创建 lib/index.dart 作为唯一的公共 API 入口。
- 导入路径切换:commands 模块已更新为新的导入风格。
- 文档更新:PROJECT_OVERVIEW.md 已同步更新架构图和模块说明。
质量门禁:
- dart analyze: 0 error / 0 warning (info only)
- dart test: all pass
2025-11-22 22:22:51 +08:00
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
ceab0b6f19
方案 C(激进)Phase 2:物理迁移(首批)
...
- parse:迁移 swagger_fetcher / swagger_data_parser 至 lib/pipeline/parse/impl/*,原位置保留兼容导出
- validate:迁移 schema_validator / enhanced_validator 至 lib/pipeline/validate/impl/*,原位置保留兼容导出
- pipeline 层维持 re-export,确保外部与内部导入路径均可用
质量门禁:
- dart analyze:0 error / 0 warning(仅 info)
- dart test:全部通过(203/203)
后续计划:
- 视风险逐步评估 generate/render/output 的物理迁移(含 part 文件),保持每步可回滚
2025-11-22 21:41:42 +08:00
Max
a9de0e72d9
方案 C(激进)第一步:引入 pipeline 目录的导入别名层
...
- 新增 lib/pipeline/**(parse/validate/generate/render/output)各阶段 re-export 文件
- 不改动现有实现与导入,仅提供流程化导入入口(零行为变更)
- 后续可在别名层稳定的前提下,逐步迁移物理文件(parse/validate/generate/render/output)
质量门禁:
- dart analyze:0 error / 0 warning(仅 info)
- dart test:全部通过(203/203)
2025-11-22 21:10:15 +08:00
Max
fd7975c1c4
结构治理文档:
...
- 新增 STRUCTURE_AUDIT.md(目录结构审计报告:问题、依赖/关系图、风险点)
- 新增 STRUCTURE_PROPOSAL.md(3 套候选方案:保守/平衡/激进,推荐采纳方案 B)
- 新增 STRUCTURE_MIGRATION_CHECKLIST.md(可执行、可回滚的迁移步骤清单)
- 同步与现有 docs/PROJECT_OVERVIEW.md、check_list.md、迁移基线文档保持一致
不涉及行为改动,仅文档与结构治理计划。
2025-11-22 20:27:01 +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
793d76e3ec
feat: 更新测试用例
2025-11-22 13:12:34 +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
498c2f3d7e
feat: update example
2025-11-21 15:12:22 +08:00
Max
93a8f67424
Merge tag '2.1.3' into develop
...
2.1.3
2025-11-20 17:01:48 +08:00
Max
a81fe226a0
Merge branch 'release/2.1.3'
2025-11-20 17:01:48 +08:00
Max
38aef58ef1
feat: update .gitignore for macOS
2025-11-18 10:44:45 +08:00
Max
a3f9cb78e6
feat: 增加 excluded_tags 支持
2025-11-17 20:07:17 +08:00
Max
03406d3fbb
feat: 增加 included tag支持
2025-11-17 18:02:32 +08:00
Max
6443ca41eb
feat: update
2025-11-05 19:00:16 +08:00
Max
238efeca24
Merge tag '2.1.2' into develop
...
2.1.2
2025-11-05 18:38:57 +08:00
Max
c1a6c94357
Merge branch 'release/2.1.2'
2025-11-05 18:38:57 +08:00
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