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

4.0 KiB
Raw Blame History

项目结构说明文档

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 依赖安装

pip install -r requirements.txt

6.3 数据库初始化

python manager.py initdb

6.4 启动开发服务器

python manager.py runserver