# weigediao **Repository Path**: duans/weigediao ## Basic Information - **Project Name**: weigediao - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-01 - **Last Updated**: 2026-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 分销App后端服务 基于FastAPI + Tortoise-ORM + MySQL + Redis + Celery的分销商城后端API服务 ## 技术栈 - **后端框架**: FastAPI - **ORM**: Tortoise-ORM - **数据库**: MySQL 8.0+ - **缓存**: Redis - **异步任务**: Celery - **文件存储**: 阿里云OSS/腾讯云COS - **认证**: JWT - **日志**: Loguru ## 项目结构 ``` app/ ├── api/ # API接口层 │ └── v1/ │ ├── api.py # 路由聚合 │ └── endpoints/ # API端点 │ ├── user.py # 用户相关API │ ├── product.py # 商品相关API │ ├── order.py # 订单相关API │ ├── distributor.py # 分销相关API │ ├── payment.py # 支付相关API │ ├── marketing.py # 营销相关API │ ├── message.py # 消息相关API │ └── invoice.py # 发票相关API ├── core/ # 核心配置 │ ├── config.py # 应用配置 │ ├── database.py # 数据库配置 │ ├── redis.py # Redis配置 │ ├── security.py # 安全认证 │ ├── dependencies.py # 依赖注入 │ └── logger.py # 日志配置 ├── models/ # 数据模型 │ ├── user.py # 用户模型 │ ├── product.py # 商品模型 │ ├── order.py # 订单模型 │ ├── distributor.py # 分销模型 │ ├── payment.py # 支付模型 │ ├── marketing.py # 营销模型 │ ├── message.py # 消息模型 │ └── invoice.py # 发票模型 ├── services/ # 服务层 │ └── user_service.py # 用户服务 ├── utils/ # 工具函数 │ ├── response.py # 响应工具 │ └── file_upload.py # 文件上传工具 └── main.py # 应用入口 ``` ## 功能模块 ### 1. 用户与会员模块 - 用户注册/登录 - 用户信息管理 - 收货地址管理 - 会员等级管理 - 每日签到 ### 2. 商品与分类模块 - 商品分类管理 - 商品列表/详情 - 商品搜索 - 商品评价 ### 3. 购物车与订单模块 - 购物车管理 - 订单创建/管理 - 订单状态跟踪 ### 4. 分销与佣金模块 - 分销员申请 - 分销团队管理 - 佣金计算/提现 - 推广二维码生成 ### 5. 支付与提现模块 - 多种支付方式 - 支付回调处理 - 提现申请/管理 ### 6. 营销与活动模块 - 优惠券管理 - 拼团活动 - 积分系统 ### 7. 消息与客服模块 - 系统消息 - 客服聊天 - 消息推送 ### 8. 发票管理模块 - 发票申请 - 发票开具 - 发票查询 ## 快速开始 ### 1. 环境要求 - Python 3.11+ - MySQL 8.0+ - Redis 6.0+ - Docker & Docker Compose (可选) ### 2. 安装依赖 ```bash pip install -r requirements.txt ``` ### 3. 环境配置 复制环境变量文件并配置: ```bash cp env.example .env ``` 编辑 `.env` 文件,配置数据库、Redis等连接信息。 ### 4. 数据库初始化 ```bash # 使用Docker Compose启动数据库 docker-compose up mysql redis -d # 或者手动启动MySQL和Redis ``` ### 5. 启动应用 ```bash # 开发模式 uvicorn app.main:app --reload # 生产模式 uvicorn app.main:app --host 0.0.0.0 --port 8000 ``` # 启动celery celery -A app.celery_app worker --loglevel=info ### 6. 使用Docker Compose ```bash # 启动所有服务 docker-compose up -d # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs -f app ``` ## API文档 启动应用后,访问以下地址查看API文档: - Swagger UI: http://localhost:8000/docs - ReDoc: http://localhost:8000/redoc ## 开发指南 ### 代码规范 - 使用Black进行代码格式化 - 使用isort进行导入排序 - 使用flake8进行代码检查 ```bash # 格式化代码 black app/ # 排序导入 isort app/ # 代码检查 flake8 app/ ``` ### 测试 ```bash # 运行测试 pytest # 运行测试并生成覆盖率报告 pytest --cov=app ``` ## 数据库迁移管理(aerich) ### 初始化aerich(首次使用) 1. 初始化aerich配置(仅首次): ```bash aerich init -t app.core.database.Tortoise ``` > -t 后参数为Tortoise-ORM的配置模块路径,需与项目实际一致。 2. 初始化迁移目录: ```bash aerich init-db ``` ### 常用迁移命令 - 生成迁移: ```bash aerich migrate ``` - 应用迁移: ```bash aerich upgrade ``` - 回滚迁移: ```bash aerich downgrade ``` ## 部署 ### 生产环境部署 1. 使用Docker Compose部署 2. 配置Nginx反向代理 3. 配置SSL证书 4. 设置环境变量 ### 监控 - 使用Flower监控Celery任务 - 配置日志聚合 - 设置告警机制 ## 贡献 1. Fork 项目 2. 创建功能分支 3. 提交更改 4. 推送到分支 5. 创建Pull Request ## 许可证 MIT License