|
|
6fc90abeb6
|
实现服务启动时自动生成OpenAPI文档
主要变更:
1. 新增 cmd/api/docs.go 实现文档自动生成逻辑
2. 修改 cmd/api/main.go 在服务启动时调用文档生成
3. 重构 cmd/gendocs/main.go 提取生成函数
4. 更新 .gitignore 忽略自动生成的 openapi.yaml
5. 新增 Makefile 支持 make docs 命令
6. OpenSpec 框架更新和变更归档
功能特性:
- 服务启动时自动生成 OpenAPI 文档到项目根目录
- 保留独立的文档生成工具 (make docs)
- 生成失败时记录错误但不影响服务启动
- 所有代码已通过 openspec validate --strict 验证
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-01-09 12:25:50 +08:00 |
|
|
|
2d566a9820
|
1. 需求确认
2. 结构的一些变更
|
2026-01-06 11:07:04 +08:00 |
|
|
|
d66323487b
|
refactor: align framework cleanup with new bootstrap flow
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
|
2025-11-19 12:47:25 +08:00 |
|
|
|
eaa70ac255
|
feat: 实现 RBAC 权限系统和数据权限控制 (004-rbac-data-permission)
主要功能:
- 实现完整的 RBAC 权限系统(账号、角色、权限的多对多关联)
- 基于 owner_id + shop_id 的自动数据权限过滤
- 使用 PostgreSQL WITH RECURSIVE 查询下级账号
- Redis 缓存优化下级账号查询性能(30分钟过期)
- 支持多租户数据隔离和层级权限管理
技术实现:
- 新增 Account、Role、Permission 模型及关联关系表
- 实现 GORM Scopes 自动应用数据权限过滤
- 添加数据库迁移脚本(000002_rbac_data_permission、000003_add_owner_id_shop_id)
- 完善错误码定义(1010-1027 为 RBAC 相关错误)
- 重构 main.go 采用函数拆分提高可读性
测试覆盖:
- 添加 Account、Role、Permission 的集成测试
- 添加数据权限过滤的单元测试和集成测试
- 添加下级账号查询和缓存的单元测试
- 添加 API 回归测试确保向后兼容
文档更新:
- 更新 README.md 添加 RBAC 功能说明
- 更新 CLAUDE.md 添加技术栈和开发原则
- 添加 docs/004-rbac-data-permission/ 功能总结和使用指南
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-18 16:44:06 +08:00 |
|
|
|
fb83c9a706
|
feat: 实现统一错误处理系统 (003-error-handling)
- 新增统一错误码定义和管理 (pkg/errors/codes.go)
- 新增全局错误处理器和中间件 (pkg/errors/handler.go, internal/middleware/error_handler.go)
- 新增错误上下文管理 (pkg/errors/context.go)
- 增强 Panic 恢复中间件 (internal/middleware/recover.go)
- 新增完整的单元测试和集成测试
- 新增功能文档 (docs/003-error-handling/)
- 新增功能规范 (specs/003-error-handling/)
- 更新 CLAUDE.md 和 README.md
|
2025-11-15 12:17:44 +08:00 |
|
|
|
984ccccc63
|
docs(constitution): 新增数据库设计原则(v2.4.0)
在项目宪章中新增第九条原则"数据库设计原则",明确禁止使用数据库外键约束和ORM关联标签。
主要变更:
- 新增原则IX:数据库设计原则(Database Design Principles)
- 强制要求:数据库表不得使用外键约束
- 强制要求:GORM模型不得使用ORM关联标签(foreignKey、hasMany等)
- 强制要求:表关系必须通过ID字段手动维护
- 强制要求:关联数据查询必须显式编写,避免ORM魔法
- 强制要求:时间字段由GORM处理,不使用数据库触发器
设计理念:
- 提升业务逻辑灵活性(无数据库约束限制)
- 优化高并发性能(无外键检查开销)
- 增强代码可读性(显式查询,无隐式预加载)
- 简化数据库架构和迁移流程
- 支持分布式和微服务场景
版本升级:2.3.0 → 2.4.0(MINOR)
|
2025-11-13 13:40:19 +08:00 |
|
|
|
1f71741836
|
完成 Phase 10 质量保证,项目达到生产部署标准
主要变更:
- ✅ 完成所有文档任务(T092-T095a)
* 创建中文 README.md 和项目文档
* 添加限流器使用指南
* 更新快速入门文档
* 添加详细的中文代码注释
- ✅ 完成代码质量任务(T096-T103)
* 通过 gofmt、go vet、golangci-lint 检查
* 修复 17 个 errcheck 问题
* 验证无硬编码 Redis key
* 确保命名规范符合 Go 标准
- ✅ 完成测试任务(T104-T108)
* 58 个测试全部通过
* 总体覆盖率 75.1%(超过 70% 目标)
* 核心模块覆盖率 90%+
- ✅ 完成安全审计任务(T109-T113)
* 修复日志中令牌泄露问题
* 验证 Fail-closed 策略正确实现
* 审查 Redis 连接安全
* 完成依赖项漏洞扫描
- ✅ 完成性能验证任务(T114-T117)
* 令牌验证性能:17.5 μs/op(~58,954 ops/s)
* 响应序列化性能:1.1 μs/op(>1,000,000 ops/s)
* 配置访问性能:0.58 ns/op(接近 CPU 缓存速度)
- ✅ 完成质量关卡任务(T118-T126)
* 所有测试通过
* 代码格式和静态检查通过
* 无 TODO/FIXME 遗留
* 中间件集成验证
* 优雅关闭机制验证
新增文件:
- README.md(中文项目文档)
- docs/rate-limiting.md(限流器指南)
- docs/security-audit-report.md(安全审计报告)
- docs/performance-benchmark-report.md(性能基准报告)
- docs/quality-gate-report.md(质量关卡报告)
- docs/PROJECT-COMPLETION-SUMMARY.md(项目完成总结)
- 基准测试文件(config, response, validator)
安全修复:
- 移除 pkg/validator/token.go 中的敏感日志记录
质量评分:9.6/10(优秀)
项目状态:✅ 已完成,待部署
|
2025-11-11 16:53:05 +08:00 |
|
|
|
e98dd4d725
|
做完了一部分,备份一下,防止以外删除
|
2025-11-11 15:16:38 +08:00 |
|
|
|
9600e5b6e0
|
做一次小小的备份,等会又删掉了
|
2025-11-11 10:09:45 +08:00 |
|
|
|
37c4404293
|
初始化项目结构
|
2025-11-10 15:57:21 +08:00 |
|