# zkxw 后端骨架(FastAPI) 基于 FastAPI 的精简后端:**Web 鉴权**(登录 RSA、登录、刷新 Token、登出、当前用户、菜单 code)、**静态运营菜单树**、**运营端路由占位**。原叁强鲜配业务 API 已移除,可按模块在 `app/api/admin.py` 等位置扩展。 数据库结构与种子数据基线见:`docs/sql/zkxw.sql`(全库导出;默认账号 `admin` / `111111`,角色 `super_admin`)。 ## 技术栈 - FastAPI - 现代高性能异步 Web 框架 - SQLAlchemy - ORM 数据库映射 - Pydantic - 数据验证 - JWT - 用户认证 - MySQL/PostgreSQL - 数据库 ## 项目结构 ``` backend/ ├── app/ │ ├── api/ # API 路由 │ │ ├── admin/ # 运营端接口 │ │ ├── supplier/ # 供应商端接口 │ │ ├── client/ # 客户端接口 │ │ └── deliver/ # 配送员端接口 │ ├── core/ # 核心配置 │ │ ├── config.py # 应用配置 │ │ ├── security.py # 安全认证 │ │ └── database.py # 数据库连接 │ ├── 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/sanqiang # 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 进行用户认证