Max
427a87d4f6
Merge branch 'release/3.3.0'
2026-01-31 00:29:19 +08:00
Max
f08e478669
chore: 清理过期文档
...
删除已完成的提案、实现总结和审计报告:
- ENUM_KEY_NAMES_PROPOSAL.md
- ENUM_CONFIG_MAPPING_SUMMARY.md
- LINE_LENGTH_FIX_SUMMARY.md
- STRING_UTILS_REFACTOR_SUMMARY.md
- STRUCTURE_PROPOSAL.md
- STRUCTURE_AUDIT.md
- STRUCTURE_MIGRATION_CHECKLIST.md
- PROJECT_QUALITY_REVIEW.md
- DEPENDENCY_UPDATE.md
- CHANGELOG_CANCELTOKEN.md (已合并到主 CHANGELOG)
2026-01-31 00:27:40 +08:00
Max
52a242f392
feat: 添加 CancelToken 请求取消支持 (v3.3.0)
...
新增功能:
- 可通过 cancel_token_support 配置启用
- 自动为所有 API 方法添加 @CancelRequest() CancelToken 参数
- 完全向后兼容,默认禁用
修改文件:
- lib/core/config_repository.dart: 添加 cancelTokenSupport getter
- lib/pipeline/generate/impl/retrofit_api/api_parameters.dart: 参数生成逻辑
- generator_config.template.yaml: 配置项说明
新增文档:
- CANCELTOKEN_USAGE_GUIDE.md: 使用指南
- CHANGELOG_CANCELTOKEN.md: 功能变更详情
测试:
- test/cancel_token_support_test.dart: 10 个单元测试
2026-01-31 00:25:29 +08:00
Max
88deff67b6
Merge branch 'release/3.2.1'
2026-01-12 15:52:39 +08:00
Max
264ec39ca9
Merge tag '3.2.1' into develop
...
3.2.1
2026-01-12 15:52:39 +08:00
Max
07b9a8c2f5
fix:
...
- ✅ **强制添加前缀**:修复了当类名已包含前缀时不重复添加前缀的逻辑,确保 `SubjectInfo` 配置前缀 `S` 后生成 `SSubjectInfo`。
- ✅ **测试接口暴露**:为 `ConfigRepository` 添加 `setCachedConfig` 接口以便于测试。
2026-01-12 15:52:05 +08:00
Max
9fa88e9821
fix bugs
2026-01-12 15:51:36 +08:00
Max
4df56bb5f0
fix: SS Start bugs
2026-01-12 15:51:06 +08:00
Max
be0e15178f
Merge branch 'release/3.2.0'
2026-01-12 15:29:32 +08:00
Max
e7ab35b853
Merge tag '3.2.0' into develop
...
3.2.0
2026-01-12 15:29:32 +08:00
Max
6a4a31b39b
feat: udpate
2026-01-12 15:28:54 +08:00
Max
cae78c5fe7
fix: place @JsonSerializable on factory constructor for Freezed compatibility
2025-12-12 12:30:22 +08:00
Max
1231af9f0b
feat: support json_serializable configuration (checked, explicit_to_json) in generated models
2025-12-12 11:25:57 +08:00
Max
0b20ad6ab5
fix: use _getDartTypeForParameter to correctly resolve enum types in parameters
2025-12-12 10:54:51 +08:00
Max
ceb91a0ea3
fix: recursively search for package_config.json to support workspace resolution
2025-12-12 10:49:21 +08:00
Max
2ce35a396e
Merge branch 'release/3.1.4'
2025-12-12 10:44:19 +08:00
Max
a4e7a7453e
Merge tag '3.1.4' into develop
...
3.14
2025-12-12 10:44:19 +08:00
Max
983154f250
feat: update version
2025-12-12 10:42:30 +08:00
Max
3182cf330f
feat: 修正地址问题
2025-12-12 10:30:47 +08:00
Max
25b0831ddd
Merge branch 'release/3.1.2'
2025-12-03 17:27:39 +08:00
Max
e74c771e57
Merge tag '3.1.2' into develop
...
3.1.2
2025-12-03 17:27:39 +08:00
Max
3015bdb19b
test: 添加测试资源文件
...
📦 测试资源
- swagger_v3.json: v3 API 测试用的 Swagger 文档
- test_generator_config.yaml: 测试配置文件
这些文件用于支持参数类型生成相关的测试
2025-12-03 17:26:17 +08:00
Max
dd9b74f19b
test: 添加参数类型生成相关测试
...
✅ 新增测试
- enum_parameter_generation_test.dart: 枚举参数生成测试
- parameter_ref_test.dart: 参数 schema $ref 解析测试
- parameter_type_generation_integration_test.dart: 参数类型生成集成测试
这些测试确保枚举类型参数能正确生成 Dart 类型
2025-12-03 17:25:51 +08:00
Max
2838f00795
refactor: 代码格式优化和测试更新
...
🔧 代码优化
- 优化代码格式,去除多余空行
- 改进枚举映射配置解析逻辑
- 优化字符串处理
📝 配置更新
- example/generator_config.yaml: 添加 v3 swagger URL 配置
✅ 测试更新
- 更新分页包裹测试
- 更新文本清理测试
2025-12-03 17:25:25 +08:00
Max
edd53fd487
Merge tag '3.1.1' into develop
...
3.1.1
2025-11-24 13:43:41 +08:00
Max
63a3b16ed1
Merge branch 'release/3.1.1'
2025-11-24 13:43:40 +08:00
Max
15463bfc74
fix: template bugs
2025-11-24 13:43:15 +08:00
Max
95166f25e6
chore: bump version to 3.1.0
2025-11-24 10:49:40 +08:00
Max
111375b749
feat: 实现枚举配置文件映射和UNKNOWN枚举值
...
✨ 新功能
- 支持通过 generator_config.yaml 配置枚举键名映射
- 实现三级优先级:配置文件 > x-enum-varnames > 智能生成
- 自动为所有枚举添加 UNKNOWN 值(整数用-9999,字符串用'UNKNOWN')
- fromValue 方法改为返回 UNKNOWN 而不是抛异常,提供更好的容错性
🔧 核心修改
- lib/core/config_repository.dart: 添加 EnumKeyMapping 和 enumKeyMappings 解析
- lib/core/config.dart: 暴露枚举映射配置
- lib/pipeline/generate/impl/model/model_content_builders.dart: 实现三级优先级枚举生成和 UNKNOWN 值
- lib/core/models/api_schema.dart: 支持 x-enum-varnames 和 x-enum-descriptions 扩展字段
- lib/pipeline/generate/impl/retrofit_api/api_return_types.dart: 修复 BasePageResult 包裹逻辑
📚 文档更新
- 新增 ENUM_QUICK_REFERENCE.md: 快速参考指南
- 新增 ENUM_KEY_NAMES_USAGE.md: 详细使用指南
- 新增 ENUM_CONFIG_MAPPING_SUMMARY.md: 功能实现总结
- 新增 ENUM_KEY_NAMES_PROPOSAL.md: 技术提案
- 更新 README.md 和 CHANGELOG.md
- 更新 generator_config.template.yaml 添加配置示例
📦 示例文件
- example/swagger_enum_example.json: Swagger 扩展字段示例
- example/enum_config_mapping_example.yaml: 完整配置示例
✅ 测试验证
- test/pagination_wrapping_test.dart: BasePageResult 包裹测试
- 功能已通过实际生成测试验证
🎯 使用场景
1. 后端支持 OpenAPI 扩展 → 使用 x-enum-varnames
2. 后端不支持扩展 → 使用配置文件映射
3. 需要覆盖 Swagger → 使用配置文件映射
4. 快速原型开发 → 使用智能生成
2025-11-24 10:47:17 +08:00
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
a81fe226a0
Merge branch 'release/2.1.3'
2025-11-20 17:01:48 +08:00
Max
93a8f67424
Merge tag '2.1.3' into develop
...
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