后端 FastAPI 六层结构(api/services/repositories/models/schemas/core), 统一响应信封、全局异常、日志脱敏;6 张表经 Alembic 迁移建库,SQL 留存 db/migration;登录鉴权含图形验证码(Redis GETDEL 防重放)、JWT、登录限流、 登出黑名单(TTL=令牌剩余有效期)、登录日志。 前端 Vue3 + TS + Element Plus 骨架,含登录页、路由守卫、请求封装与 Vite 代理。 工程配置:uv 锁定 Python 3.12、ruff 检查与格式化、editorconfig、gitattributes。 测试 184 项(单元 155 / 集成 29)全绿,浏览器端到端 8 项通过。 Co-Authored-By: Claude Code <noreply@anthropic.com>
9 lines
391 B
Python
9 lines
391 B
Python
"""业务服务层:业务编排与事务边界。
|
||
|
||
分层约束:
|
||
- **唯一允许出现 commit/rollback 的层**。repository 只 flush,由本层决定何时提交,
|
||
这样一次请求内的多次数据写入能共处同一事务
|
||
- 可调用多个 repository 组合业务逻辑
|
||
- 业务规则不满足时抛 `AppException` 子类,由全局异常处理器转换为统一响应
|
||
"""
|