Files
order/PROJECT_STRUCTURE.md
2025-08-27 21:11:48 +08:00

164 lines
4.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 项目结构说明文档
## 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
```