Files
order/PROJECT_STRUCTURE.md

164 lines
4.0 KiB
Markdown
Raw Permalink Normal View History

2025-08-27 21:11:48 +08:00
# 项目结构说明文档
## 1. 项目概述
本项目是一个基于Flask的Web应用包含后台管理系统和小程序端。采用MVC架构包含完整的业务模块和数据库支持。
## 2. 系统架构
### 2.1 架构图
```
[前端] -> [Nginx] -> [Flask应用] -> [MySQL]
| |
v v
[静态资源] [Redis缓存]
```
### 2.2 模块依赖关系
- Web模块依赖common模块的工具类和模型
- 定时任务模块依赖Web模块的业务逻辑
- 小程序端通过API与Web模块通信
## 3. 详细目录说明
### 3.1 核心模块
#### common/ 公共模块
- **libs/** 工具类库
- Helper.py
- 功能:提供日期处理、字符串处理等通用方法
- 依赖:无
- LogService.py
- 功能:记录系统日志,支持不同日志级别
- 依赖logging模块
- UploadService.py
- 功能:处理文件上传,支持图片压缩和格式转换
- 依赖Pillow库
- UrlManager.py
- 功能生成和管理静态资源URL
- 依赖config模块
- **models/** 数据模型
- User.py
- 表结构用户ID、用户名、密码哈希、角色等
- 关联与Image表一对多关系
- Image.py
- 表结构图片ID、存储路径、上传时间等
- Dongtai_list.py
- 表结构动态ID、内容、发布时间等
#### config/ 配置管理
- base_setting.py
- 基础配置:数据库连接、日志配置、缓存配置
- local_setting.py
- 本地开发配置:调试模式、测试数据库
- production_setting.py
- 生产环境配置:安全设置、性能优化
### 3.2 Web应用模块
#### web/ Web主模块
- **controllers/** 控制器
- account/
- 功能:用户注册、登录、权限管理
- 路由:/account/login, /account/register
- api/
- 功能提供RESTful API接口
- 路由:/api/v1/*
- food/
- 功能:食品信息管理
- 路由:/food/list, /food/detail
- user/
- 功能:用户信息管理
- 路由:/user/profile, /user/update
- **static/** 静态资源
- css/:样式文件
- js/:前端脚本
- images/:图片资源
- **templates/** 模板文件
- base.html基础模板
- account/:账户相关模板
- error/:错误页面模板
### 3.3 小程序模块
#### native/ 小程序代码
- pages/
- index/:首页
- user/:用户中心
- product/:商品详情
- utils/
- request.js封装网络请求
- auth.js处理用户认证
- weui/
- button.wxss按钮样式
- form.wxss表单样式
### 3.4 后台任务
#### jobs/ 定时任务
- tasks/
- pay/
- order_check.py订单状态检查
- refund_process.py退款处理
- queue/
- email_queue.py邮件队列处理
- sms_queue.py短信队列处理
- stat/
- daily_report.py每日数据统计
- user_analysis.py用户行为分析
## 4. 数据库设计
### 4.1 主要数据表
- 用户表user
- 图片表image
- 食品表food
- 订单表order
- 日志表log
### 4.2 数据库文件
- 后台初始账户.sql
- 功能:初始化管理员账户
- 包含:用户名、密码、权限信息
- food.sql
- 功能:初始化食品数据
- 包含:食品分类、价格、库存
- 自动生成models.txt
- 功能:记录模型生成过程
- 包含:生成时间、表结构变更记录
## 5. 关键文件说明
| 文件名称 | 功能描述 | 依赖关系 |
|----------|----------|----------|
| application.py | Flask应用主入口 | 依赖所有控制器和模型 |
| manager.py | 管理脚本 | 依赖Flask-Script |
| requirements.txt | Python依赖清单 | 无 |
| uwsgi.ini | uWSGI配置文件 | 依赖uWSGI |
| test.py | 单元测试文件 | 依赖unittest |
| imooc.py | 慕课相关功能 | 依赖requests库 |
## 6. 开发环境配置
### 6.1 环境要求
- Python 3.8+
- MySQL 5.7+
- Redis 6.0+
### 6.2 依赖安装
```bash
pip install -r requirements.txt
```
### 6.3 数据库初始化
```bash
python manager.py initdb
```
### 6.4 启动开发服务器
```bash
python manager.py runserver
```