 DjangoAdmin DevandClaude
|
4d74b31431
|
refactor: P6 API v1 版本化
- src/routes/v1.py:注册中心,148 条路由全部挂 /api/v1
- application/views/__init__.py:自动发现改为 register_v1 显式注册
- 登录白名单更新为 /api/v1/login 等(.env 与 .env.example)
- build_full_url:内部调度调用自动加 /api/v1 前缀
【联动】ui/ 前端需将 API 调用前缀改为 /api/v1(随 ui/ 迁移处理)
【验收】148 路由全 /api/v1;白名单放行(/api/v1/login 表单校验);
鉴权拦截 401;build_full_url 验证;12 passed
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-07 19:42:05 +08:00 |
|
DjangoAdmin Dev
|
4b0b28105c
|
docs: P5 DI 注入完成
|
2026-08-07 19:39:36 +08:00 |
|
DjangoAdmin Dev
|
35f89395a2
|
docs: P4 服务层改造全部完成(21 模块)
|
2026-08-07 17:33:09 +08:00 |
|
 DjangoAdmin DevandClaude
|
3f55f62f0d
|
refactor: P4c 批次1 服务层改造(notice/param/link/level)
【服务层新范式批量铺开】4 个 uniform 模块:
- service:get_x_page(params)->dict、add/update/status(data)->None、
delete(ids)->int、get_info 委托 Repository(新建 repository.py)
- 业务失败 raise BizError;router 取参包 R
- level 的 Excel import/export 暂保留 R 返回(后续统一改造)
【工具】codemod 函数级转换(try/except 退格移除、R.failed→BizError、
R.ok→return data)+ black 格式化 + 未用导入清理
【教训】清理脚本 startswith 前缀误删含多名字的 import 行(models_to_list,
model_to_dict 同行)导致 F821,已按 F821 精确补回
【验收】应用启动;4 服务分页查询运行时正常;12 passed;flake8 零告警
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-07 15:15:22 +08:00 |
|
DjangoAdmin Dev
|
63afa4e629
|
docs: 重构方案 v2 更新 P4 状态(地基+标杆完成,铺开中)
|
2026-08-07 14:43:52 +08:00 |
|
 DjangoAdmin DevandClaude
|
d33dc1fc34
|
refactor: P3d 视图层迁入 src/modules/ → router.py(26 视图)——P3 全部完成
- 17 个单视图 + 4 组合并(login+index→auth、config+config_item→configuration、
dict+dict_item→dictionary、login_log+operation_log→log)
- 重写:服务引用→src.modules(module 别名保留)、models/forms→src.modules
- 中间件引用保持 application.middleware(P5 迁移)
- application/views/__init__.py 蓝图注册加去重(合并模块 shim 重复导出)
- application/views/ 全部替换为 shim
【修复】index.py 组合导入 menu,user 被单名替换先命中残留 user,已修复
【验收】25 蓝图无重复注册;应用启动;pytest 5 passed;接口冒烟(登录校验、
鉴权 401)正常。P3 四层(models/forms/services/views)全部迁入 src/modules/
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-07 14:23:53 +08:00 |
|
 DjangoAdmin DevandClaude
|
658ee6d596
|
refactor: P2 core+common 建设(应用工厂/扩展/工具层迁入 src/)
【结构】
- src/core/:database/response/jwt/password/security/redis_client/mail/scheduler
- src/common/:base_model/base_db/forms(base_form+fields)/constants/utils
- src/models_registry.py:模型聚合器(Flask-Migrate 全量表识别)
【绞杀者 shim】extensions/、utils/、application/constants|forms|models 打兼容转发
【兼容修复】应用工厂抽取至 application/factory.py(P2 前置,P1 已完成)
【基线修复】application/models(25) + middleware(7) 原被嵌套 .gitignore(*)
误排除出版本库,已补入(base_model/base_db 现为 shim,原版在 src/common/)
【登记既有缺陷】
1. flask db CLI 因 .env FLASK_VERSION 与 --version 冲突报错 → Makefile 已加 FLASK_SKIP_DOTENV=1
2. 本机 Redis 未设密码但 REDIS_AUTH=True,/captcha 报 AUTH 错误(环境问题)
【验收】22 模型表全量识别;src/ flake8 零告警;pytest 5 passed;应用启动;
/login 表单校验、/user/page 鉴权拦截冒烟正常
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-07 13:20:46 +08:00 |
|
 DjangoAdmin DevandClaude
|
92130ef070
|
chore: P1 验证通过 + 应用工厂抽取(修复循环导入)
- application/factory.py:应用工厂独立成模块,application 包保持轻量
(修复 utils→application.constants 触发全量导入的循环依赖,P2 前置改造)
- app.py 改为 from application.factory import create_app
- tests/conftest.py:新增 flask_app 上下文 fixture
- test_response.py:R.ok/failed 在应用上下文中测试
- .flake8:修复 extend-ignore 行内注释导致 flake8 解析失败
验证:
- pytest 5 passed
- 应用完整构建 OK(MySQL/Redis 就绪)
- flake8 存量基线 154 条(F401×111 / E402×36 / 其余 7)已登记
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-07 12:22:56 +08:00 |
|
 DjangoAdmin DevandClaude
|
15f2a5e097
|
chore: 基线提交(重构前代码快照)
- git 初始化 + .gitignore 补全(根 .env / logs / instance / __pycache__ 等)
- 修复 utils/.gitignore 误将整个 utils/ 源码层忽略的问题,补入全部工具源码(含 ip2region.xdb)
- 含后端全部代码:application / extensions / utils / config / migrations
- 含前端 ui/(后续整体迁走)
- 不含根 .env(含密钥,本地保留)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-07 12:12:06 +08:00 |
|