feat: 完善生产级 Rust Web 模板

This commit is contained in:
2026-07-21 16:00:03 +08:00
parent fb30d5da1a
commit ce89569bf3
58 changed files with 2042 additions and 349 deletions
+15 -2
View File
@@ -6,7 +6,7 @@
### 架构特色
- **DDD 分层架构**:领域层、基础设施层、应用层清晰分离
- **生产就绪**JWT 双 Token 认证、Argon2 密码哈希、结构化日志
- **生产就绪**JWT 双 Token 认证、Argon2 密码哈希、可选 Redis/SMTP、结构化日志与请求保护
- **多数据库支持**MySQL / PostgreSQL / SQLite 无缝切换
### 技术栈
@@ -14,7 +14,13 @@
- **数据库 ORM**SeaORM 1.1(支持多数据库)
- **认证**JWT (Access Token 15min + Refresh Token 7天)
- **缓存**Redis 存储 Refresh Token
- **安全**Argon2 密码哈希、CORS 支持
- **安全**Token 类型隔离、软删除校验、配置化 CORS、超时、正文/并发/频率限制、panic 捕获和安全响应头
### 可选能力
- Redis 默认关闭;服务无需 Redis 即可启动。Token 轮换、验证码等依赖 Redis 的接口会在不可用时返回 `503`
- 邮件默认关闭;启用后提供验证码、密码重置和邮件发送记录接口,可选择同步 SMTP 或 Redis 队列 Worker。
- `Accept-Language` 支持 `zh-CN``en`,认证错误会按请求语言返回。
## 快速开始
@@ -139,11 +145,17 @@ cargo run -- -e production -c config/production.toml
- `POST /auth/register` - 用户注册
- `POST /auth/login` - 用户登录
- `POST /auth/refresh` - 刷新 Token
- `POST /auth/request-verification-code` - 发送验证码(邮件启用时)
- `POST /auth/reset-password` - 重置密码(邮件启用时)
### 需要认证的接口
- `POST /auth/delete` - 删除账号
- `POST /auth/delete-refresh-token` - 删除 Refresh Token
- `POST /auth/logout` - 注销 Refresh Token
- `GET|PUT|DELETE /api/user/profile` - 当前用户资料
- `GET /api/email/latest-log` - 最近邮件记录(邮件启用时)
- `GET /api/email/queue-status` - 邮件能力状态(邮件启用时)
> 查看 [完整 API 文档](docs/api/api-overview.md)
@@ -166,6 +178,7 @@ src/
├── repositories/ # 数据访问层
└── infra/ # 基础设施层
├── middleware/ # 中间件
├── mail/ # SMTP 邮件发送
└── redis/ # Redis 客户端
```