This commit is contained in:
zlwu committed 2026-05-12 16:35:07 +08:00
1 parent d336fd0226
commit 2e9d020d50
3454 files changed
+878963 -319

No files matched your search

+90
View File
@@ -0,0 +1,90 @@
# 中科兴皖一体化门户后端(空壳)
当前 `app.main` **不连接数据库、不注册任何业务路由**,仅提供根路径与 `/health`,便于占位或 CI。原 `app/api` 下 Python 文件已删除(请从 git 历史恢复)。`app/models`、`app/crud` 等目录仍保留为未引用代码,可按需继续清理。
## 技术栈
- FastAPI - 现代高性能异步 Web 框架
- SQLAlchemy - ORM 数据库映射
- Pydantic - 数据验证
- JWT - 用户认证
- MySQL/PostgreSQL - 数据库
## 项目结构
```
backend/
├── app/
│ ├── api/ # 包占位(路由实现已删除)
│ ├── core/ # 核心配置
│ ├── models/ # 数据库模型
│ ├── schemas/ # Pydantic schemas
│ ├── services/ # 业务逻辑
│ └── main.py # 应用入口
├── requirements.txt
└── README.md
```
## 快速开始
### 1. 创建虚拟环境
```bash
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # Linux/Mac
```
### 2. 安装依赖
```bash
pip install -r requirements.txt
```
### 3. 配置环境变量
复制 `.env.example` 为 `.env` 并修改配置:
```env
# 数据库配置
DATABASE_URL=mysql+pymysql://root:password@localhost:3306/zkxw
# JWT配置
SECRET_KEY=your-secret-key-change-in-production
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30
# 应用配置
APP_NAME=中科兴皖一体化门户
DEBUG=true
```
### 4. 启动服务
```bash
uvicorn app.main:app --reload --port 8000
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
```
服务启动后,访问:
- API 文档:http://127.0.0.1:8000/docs
- ReDoc 文档:http://127.0.0.1:8000/redoc
## API 路由分组
| 前缀 | 说明 | 认证方式 |
|------|------|----------|
| `/api/admin` | 运营端接口 | JWT Token |
| `/api/supplier` | 供应商端接口 | JWT Token |
| `/api/client` | 客户端接口 | JWT Token |
| `/api/deliver` | 配送员端接口 | JWT Token |
| `/api/public` | 公共接口(登录等) | 无需认证 |
## 开发规范
- 使用 Pydantic 进行数据验证
- 使用 SQLAlchemy ORM 进行数据库操作
- 所有接口遵循 RESTful 规范
- 密码使用 bcrypt 加密存储
- 使用 JWT Token 进行用户认证