117 lines
5.2 KiB
Markdown
117 lines
5.2 KiB
Markdown
# Web Rust Template 文档中心
|
||
|
||
欢迎使用 Web Rust Template 文档!本模板项目提供了生产级的 Rust Web 服务器基础架构,采用 DDD 分层设计,包含完整的认证、数据库、缓存等功能。
|
||
|
||
## 快速导航
|
||
|
||
### 按角色查找文档
|
||
|
||
#### 前端开发者
|
||
- [API 接口概览](api/api-overview.md) - 快速了解所有可用的 API 接口
|
||
- [公开接口文档](api/endpoints/public.md) - 注册、登录等公开接口的详细说明
|
||
- [前端集成示例](api/examples/frontend-integration.md) - JavaScript/TypeScript/React/Vue 集成代码示例
|
||
- [认证机制详解](api/authentication.md) - JWT 认证流程和最佳实践
|
||
|
||
#### 后端开发者
|
||
- [快速开始指南](development/getting-started.md) - 安装、配置和运行项目
|
||
- [项目结构详解](development/project-structure.md) - DDD 分层架构说明
|
||
- [DDD 架构规范](development/ddd-architecture.md) - 各层设计原则和开发规范
|
||
- [代码风格规范](development/code-style.md) - Rust 代码风格和命名规范
|
||
- [Git 提交规范](development/git-workflow.md) - 提交信息规范和分支策略
|
||
- [测试规范](development/testing.md) - 单元测试和集成测试指南
|
||
|
||
#### 运维人员
|
||
- [环境变量配置](deployment/environment-variables.md) - 完整的环境变量列表和说明
|
||
- [配置文件详解](deployment/configuration.md) - 多环境配置文件组织
|
||
- [生产环境部署指南](deployment/production-guide.md) - 安全配置和部署最佳实践
|
||
|
||
## 文档结构
|
||
|
||
```
|
||
docs/
|
||
├── README.md # 本文档
|
||
├── api/ # API 接口文档
|
||
│ ├── api-overview.md # API 概览和快速参考
|
||
│ ├── authentication.md # 认证机制详解
|
||
│ ├── endpoints/
|
||
│ │ ├── public.md # 公开接口
|
||
│ │ └── protected.md # 需要认证的接口
|
||
│ └── examples/
|
||
│ └── frontend-integration.md # 前端集成代码示例
|
||
├── development/ # 开发指南
|
||
│ ├── getting-started.md # 快速开始
|
||
│ ├── project-structure.md # 项目结构详解
|
||
│ ├── ddd-architecture.md # DDD 分层架构规范
|
||
│ ├── code-style.md # 代码风格和命名规范
|
||
│ ├── git-workflow.md # Git 提交规范
|
||
│ └── testing.md # 测试规范
|
||
└── deployment/ # 部署文档
|
||
├── environment-variables.md # 环境变量配置说明
|
||
├── configuration.md # 配置文件详解
|
||
└── production-guide.md # 生产环境部署指南
|
||
```
|
||
|
||
## 核心概念
|
||
|
||
### DDD 分层架构
|
||
|
||
本项目采用领域驱动设计(DDD)分层架构:
|
||
|
||
```
|
||
┌─────────────────────────────────────┐
|
||
│ Interface Layer (handlers) │ HTTP 处理器层
|
||
└──────────────┬──────────────────────┘
|
||
│
|
||
┌──────────────▼──────────────────────┐
|
||
│ Application Layer (services) │ 业务逻辑层
|
||
└──────────────┬──────────────────────┘
|
||
│
|
||
┌───────┴────────┐
|
||
│ │
|
||
┌──────▼──────┐ ┌─────▼──────────┐
|
||
│ Domain │ │ Infrastructure│
|
||
│ Layer │ │ Layer │
|
||
└─────────────┘ └────────────────┘
|
||
```
|
||
|
||
### 双 Token 认证机制
|
||
|
||
- **Access Token**:15 分钟有效期,用于 API 请求认证
|
||
- **Refresh Token**:7 天有效期,存储在 Redis,用于获取新的 Access Token
|
||
- **Token 轮换**:每次刷新会生成新的 Refresh Token,旧 Token 自动失效
|
||
|
||
### 多数据库支持
|
||
|
||
支持 MySQL、PostgreSQL、SQLite 三种数据库,通过简单的环境变量配置即可切换。
|
||
|
||
## 技术栈
|
||
|
||
| 组件 | 技术 | 版本 |
|
||
|------|------|------|
|
||
| Web 框架 | Axum | 0.7 |
|
||
| 异步运行时 | Tokio | 1.x |
|
||
| 数据库 ORM | SeaORM | 1.1 |
|
||
| 认证 | JWT | 9.x |
|
||
| 密码哈希 | Argon2 | 0.5 |
|
||
| 缓存 | Redis | 0.27 |
|
||
| 日志 | tracing | 0.1 |
|
||
|
||
## 快速链接
|
||
|
||
- [项目 README](../README.md) - 返回项目主页
|
||
- [API 接口文档](api/api-overview.md) - 完整的 API 接口说明
|
||
- [快速开始指南](development/getting-started.md) - 安装和配置指南
|
||
- [开发规范](development/ddd-architecture.md) - DDD 架构和代码规范
|
||
- [部署文档](deployment/configuration.md) - 配置和部署指南
|
||
|
||
## 获取帮助
|
||
|
||
如果您在阅读文档时有任何疑问,请:
|
||
1. 查看相关主题的详细文档
|
||
2. 检查 [常见问题](deployment/production-guide.md#常见问题)
|
||
3. 提交 Issue 到项目仓库
|
||
|
||
---
|
||
|
||
**提示**:建议按照"快速开始指南"→"API 接口文档"→"开发规范"的顺序阅读文档。
|