后端 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>
29 lines
706 B
INI
29 lines
706 B
INI
# 编辑器统一配置。
|
||
#
|
||
# 本项目同时含 Python 与 Vue/TS,编辑器的默认缩进、换行符、编码各不相同,
|
||
# 不做统一的话,一次提交会混进大量「只有空白字符差异」的 diff,review 时
|
||
# 真正的改动会被淹没。多数编辑器与 IDE 原生支持 .editorconfig,无需装插件。
|
||
|
||
root = true
|
||
|
||
[*]
|
||
charset = utf-8
|
||
end_of_line = lf
|
||
indent_style = space
|
||
indent_size = 2
|
||
insert_final_newline = true
|
||
trim_trailing_whitespace = true
|
||
|
||
[*.py]
|
||
indent_size = 4
|
||
|
||
[*.{md,markdown}]
|
||
# Markdown 行尾的两个空格是「硬换行」语法,不能自动删除
|
||
trim_trailing_whitespace = false
|
||
|
||
[*.{json,yml,yaml}]
|
||
indent_size = 2
|
||
|
||
[Makefile]
|
||
indent_style = tab
|