docs+tests: P8 测试与文档(CHANGELOG/CONTRIBUTING + 补充单测)

- CHANGELOG.md / CONTRIBUTING.md
- 新增 exceptions / case_converter 单元测试
- pytest 12 → 22 passed;全项目 flake8 0

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
DjangoAdmin Dev
2026-08-07 19:53:01 +08:00
co-authored by Claude
parent 8937799973
commit d45b61d808
5 changed files with 173 additions and 1 deletions
+37
View File
@@ -0,0 +1,37 @@
# 更新日志
本项目的所有重要变更都会记录在此文件中。
格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/)。
## [v3.0.0] - 2026-08-07
### 🏗️ 企业级重构(P1-P9 全部完成)
基于《重构方案-v2.md》,后端完成整体重构:
- **目录重构**:源码迁入 `src/`(core/common/modules/routes),删除 `application/`、`extensions/`、`utils/`
- **服务层范式**:21 个服务模块改为「入参数据/出参数据 + `raise BizError`」,新增 repository 层
- **依赖注入**:权限校验与操作日志通过 `current_app.extensions` 注入(解决 core→modules 依赖倒置)
- **API 版本化**:全部 148 条路由挂载 `/api/v1` 前缀,登录白名单同步更新
- **工程化**:pyproject.toml / flake8 / black / pre-commit / Makefile / pytest / CI-CD
- **运维**:`/health` 健康端点、Docker 加固、运维脚本(scripts/)
**质量指标**:全项目 flake8 从 154 条基线降至 0;pytest 12 项通过。
### 修复的问题
- 合并模块重名函数互相覆盖(get_info/_apply_filters/_build_page_data)
- `log/` gitignore 规则误忽略 `src/modules/log/`(模块未入库)
- `DictItemItem` typo、`utils.load2dict` 不存在等潜在 bug
- 应用工厂循环导入(factory 独立为模块)
### 破坏性变更
- **API 前缀**:所有接口由 `/xxx` 变更为 `/api/v1/xxx`,前端需同步(见 USAGE.md)
- **服务层签名**:服务函数不再直接读取 `request`,由 router 层取参包 R
---
## [v2.8.0] - 2026-07
原版本(重构前)。见 `document/版本更新说明.txt`。