帮助文档
{{userInfo.nickname}}
用户设置 退出登录

{{wikiTitle}}

目录结构说明

CRMEB多店系统目录结构说明

概述

CRMEB多店系统基于ThinkPHP 6.0框架开发,采用前后端分离架构。本文档详细介绍项目的目录结构及各模块功能。


根目录结构

CRMEB_MULTI_v3.5.0/
├── app/                 # 应用程序核心目录
├── config/              # 配置文件目录
├── crmeb/               # CRMEB核心依赖库
├── help/                # 帮助文件(Docker配置等)
├── public/              # Web入口目录
├── route/               # 路由定义文件
├── view/                # 前端视图文件
├── composer.json        # Composer依赖配置
├── think                # ThinkPHP命令行入口
└── .env                 # 环境配置文件

app/ 应用程序目录

目录总览

app/
├── command/             # 命令行脚本
├── common/              # 公共控制器
├── controller/          # 控制器层
├── dao/                 # 数据访问对象层
├── http/middleware/     # 中间件
├── jobs/                # 队列任务
├── lang/                # 多语言文件
├── listener/            # 事件监听器
├── model/               # 数据模型层
├── services/            # 业务服务层
├── validate/            # 验证器
├── webscoket/           # WebSocket处理器
├── AppService.php       # 应用服务提供者
├── common.php           # 公共函数
├── event.php            # 事件定义
├── helpers.php          # 辅助函数库
├── middleware.php       # 全局中间件配置
├── provider.php         # 服务提供者配置
└── Request.php          # 请求类扩展

controller/ 控制器目录详解

controller/
├── admin/               # 平台后台管理控制器
│   ├── Login.php        # 后台登录
│   ├── Common.php       # 公共接口
│   └── v1/              # API版本v1
│       ├── system/      # 系统管理模块
│       ├── product/     # 商品管理模块
│       ├── order/       # 订单管理模块
│       ├── user/        # 用户管理模块
│       ├── agent/       # 分销管理模块
│       ├── marketing/   # 营销活动模块
│       ├── setting/     # 设置模块
│       └── ...
├── api/                 # 用户端API控制器
│   ├── v1/              # API版本v1
│   │   ├── Login.php    # 用户登录注册
│   │   ├── user/        # 用户相关
│   │   ├── order/       # 订单相关
│   │   ├── product/     # 商品相关
│   │   ├── activity/    # 活动相关
│   │   ├── store/       # 门店相关
│   │   └── ...
│   └── v2/              # API版本v2
├── store/               # 门店端控制器
│   ├── Login.php        # 门店登录
│   └── v1/              # 门店API
│       ├── system/      # 门店系统设置
│       ├── order/       # 门店订单管理
│       ├── product/     # 门店商品管理
│       └── ...
├── supplier/            # 供应商端控制器
│   ├── Login.php        # 供应商登录
│   └── v1/              # 供应商API
├── cashier/             # 收银台控制器
├── kefu/                # 客服系统控制器
├── erp/                 # ERP对接控制器
└── out/                 # 对外开放API控制器

services/ 业务服务层详解

services/
├── BaseServices.php     # 服务基类
├── order/               # 订单服务
│   ├── StoreOrderServices.php          # 订单核心服务
│   ├── StoreOrderCreateServices.php    # 订单创建服务
│   ├── StoreOrderRefundServices.php    # 订单退款服务
│   ├── StoreOrderDeliveryServices.php  # 订单发货服务
│   ├── StoreCartServices.php           # 购物车服务
│   └── ...
├── product/             # 商品服务
│   ├── product/         # 商品核心
│   ├── category/        # 分类服务
│   ├── brand/           # 品牌服务
│   ├── sku/             # SKU服务
│   └── ...
├── pay/                 # 支付服务
│   ├── PayServices.php              # 支付核心服务
│   ├── PayNotifyServices.php        # 支付回调服务
│   ├── YuePayServices.php           # 余额支付
│   └── ...
├── user/                # 用户服务
│   ├── UserServices.php             # 用户核心服务
│   ├── UserAuthServices.php         # 用户认证服务
│   ├── UserAddressServices.php      # 用户地址服务
│   └── ...
├── activity/            # 活动服务
│   ├── seckill/         # 秒杀
│   ├── bargain/         # 砍价
│   ├── combination/     # 拼团
│   ├── coupon/          # 优惠券
│   └── ...
├── store/               # 门店服务
├── supplier/            # 供应商服务
├── wechat/              # 微信服务
├── message/             # 消息服务
└── ...

dao/ 数据访问层详解

dao/
├── BaseDao.php          # DAO基类
├── order/               # 订单DAO
│   ├── StoreOrderDao.php
│   ├── StoreCartDao.php
│   └── ...
├── product/             # 商品DAO
│   ├── product/
│   ├── category/
│   └── ...
├── user/                # 用户DAO
├── activity/            # 活动DAO
├── store/               # 门店DAO
├── supplier/            # 供应商DAO
└── ...

model/ 数据模型层详解

model/
├── order/               # 订单模型
│   ├── StoreOrder.php           # 订单主表模型
│   ├── StoreOrderCartInfo.php   # 订单商品信息模型
│   ├── StoreOrderStatus.php     # 订单状态模型
│   ├── StoreCart.php            # 购物车模型
│   └── ...
├── product/             # 商品模型
│   ├── product/
│   │   ├── StoreProduct.php     # 商品主表模型
│   │   ├── StoreProductAttr.php # 商品规格模型
│   │   └── ...
│   ├── category/
│   └── ...
├── user/                # 用户模型
│   ├── User.php                 # 用户模型
│   ├── UserAddress.php          # 用户地址模型
│   ├── UserBill.php             # 用户账单模型
│   └── ...
├── system/              # 系统模型
│   ├── admin/           # 管理员
│   ├── config/          # 配置
│   └── ...
└── ...

listener/ 事件监听器目录

listener/
├── order/               # 订单事件监听
│   ├── Create.php       # 订单创建监听
│   ├── Pay.php          # 订单支付监听
│   ├── Delivery.php     # 订单发货监听
│   ├── Take.php         # 订单收货监听
│   ├── Refund.php       # 订单退款监听
│   └── ...
├── pay/                 # 支付事件监听
│   ├── PayNotifyListener.php
│   └── ...
├── user/                # 用户事件监听
│   ├── Register.php     # 用户注册监听
│   ├── Login.php        # 用户登录监听
│   └── ...
├── product/             # 商品事件监听
├── store/               # 门店事件监听
├── supplier/            # 供应商事件监听
└── ...

jobs/ 队列任务目录

jobs/
├── order/               # 订单队列任务
│   ├── OrderCreateAfterJob.php      # 订单创建后任务
│   ├── OrderPaySuccessJob.php       # 订单支付成功任务
│   ├── OrderDeliveryJob.php         # 订单发货任务
│   └── ...
├── product/             # 商品队列任务
├── user/                # 用户队列任务
├── notice/              # 通知队列任务
├── activity/            # 活动队列任务
└── ...

http/middleware/ 中间件目录

http/middleware/
├── AllowOriginMiddleware.php    # 跨域处理中间件
├── BlockerMiddleware.php        # 防刷中间件
├── InstallMiddleware.php        # 安装检测中间件
├── StationOpenMiddleware.php    # 站点开关中间件
├── SystemLogMiddleware.php      # 系统日志中间件
├── admin/                       # 后台中间件
│   ├── AdminAuthTokenMiddleware.php   # 后台Token认证
│   └── AdminCkeckRoleMiddleware.php   # 后台权限检查
├── api/                         # API中间件
│   ├── AuthTokenMiddleware.php        # 用户Token认证
│   ├── ClientMiddleware.php           # 客户端检测
│   └── ...
├── store/                       # 门店中间件
├── supplier/                    # 供应商中间件
├── cashier/                     # 收银台中间件
└── kefu/                        # 客服中间件

config/ 配置目录详解

config/
├── app.php              # 应用配置
├── database.php         # 数据库配置
├── cache.php            # 缓存配置
├── queue.php            # 队列配置
├── route.php            # 路由配置
├── session.php          # Session配置
├── cookie.php           # Cookie配置
├── log.php              # 日志配置
├── view.php             # 视图配置
├── pay.php              # 支付配置
├── wechat.php           # 微信配置
├── sms.php              # 短信配置
├── upload.php           # 上传配置
├── admin.php            # 后台配置
├── swoole.php           # Swoole配置
├── template.php         # 模板消息配置
├── delivery.php         # 配送配置
├── printer.php          # 打印机配置
└── ...

crmeb/ 核心依赖库目录

crmeb/
├── basic/               # 基础类
│   ├── BaseController.php   # 控制器基类
│   ├── BaseAuth.php         # 认证基类
│   ├── BaseJobs.php         # 队列任务基类
│   ├── BaseModel.php        # 模型基类
│   ├── BaseUpload.php       # 上传基类
│   └── ...
├── services/            # 核心服务
│   ├── wechat/          # 微信服务
│   ├── upload/          # 上传服务
│   ├── sms/             # 短信服务
│   ├── printer/         # 打印服务
│   ├── express/         # 快递服务
│   ├── delivery/        # 配送服务
│   ├── CacheService.php     # 缓存服务
│   ├── UploadService.php    # 上传服务
│   ├── HttpService.php      # HTTP服务
│   └── ...
├── utils/               # 工具类
│   ├── JwtAuth.php      # JWT认证
│   ├── Queue.php        # 队列工具
│   ├── Canvas.php       # 画布工具
│   ├── Captcha.php      # 验证码工具
│   └── ...
├── exceptions/          # 异常类
│   ├── AdminException.php
│   ├── ApiException.php
│   ├── AuthException.php
│   └── ...
├── interfaces/          # 接口定义
├── traits/              # Trait特性
└── listeners/           # 核心监听器

route/ 路由目录详解

route/
├── admin.php            # 平台后台路由(约2800行)
├── api.php              # 用户端API路由(约1100行)
├── store.php            # 门店端路由(约1000行)
├── supplier.php         # 供应商端路由(约600行)
├── cashier.php          # 收银台路由(约400行)
├── kefu.php             # 客服系统路由
├── erp.php              # ERP对接路由
├── out.php              # 对外开放API路由
└── zroute.php           # 公共路由

view/ 前端视图目录

view/
├── admin/               # 平台后台前端(Vue)
│   ├── src/
│   │   ├── api/         # API接口封装
│   │   ├── components/  # 公共组件
│   │   ├── pages/       # 页面组件
│   │   ├── router/      # 路由配置
│   │   ├── store/       # Vuex状态管理
│   │   ├── utils/       # 工具函数
│   │   └── ...
│   ├── package.json
│   └── vue.config.js
├── store/               # 门店端前端(Vue)
├── supplier/            # 供应商端前端(Vue)
├── cashier/             # 收银台前端(Vue)
├── uniapp/              # 移动端(UniApp)
│   ├── api/             # API接口
│   ├── components/      # 公共组件
│   ├── pages/           # 页面
│   ├── store/           # Vuex状态管理
│   ├── utils/           # 工具函数
│   ├── static/          # 静态资源
│   ├── pages.json       # 页面配置
│   ├── manifest.json    # 应用配置
│   └── App.vue          # 入口组件
└── uniapp-live/         # 直播模块

public/ Web入口目录

public/
├── index.php            # 主入口文件
├── index.html           # 用户端入口页
├── system.html          # 平台后台入口页
├── store.html           # 门店端入口页
├── supplier.html        # 供应商端入口页
├── cashier.html         # 收银台入口页
├── install/             # 安装程序
│   ├── index.php
│   └── ...
├── static_admin/        # 后台静态资源
├── statics/             # 公共静态资源
├── upgrade/             # 升级程序
├── view_admin/          # 后台编译后文件
├── view_store/          # 门店编译后文件
├── view_supplier/       # 供应商编译后文件
├── view_cashier/        # 收银台编译后文件
└── uploads/             # 上传文件目录

注意事项

  1. 命名规范:控制器、服务、模型等类文件采用大驼峰命名法
  2. 分层架构:严格遵循Controller -> Services -> Dao -> Model的调用层次
  3. 多端隔离:不同端的控制器、中间件独立管理,便于权限控制
  4. 事件驱动:复杂业务通过事件监听器解耦处理

常见问题

Q: 如何快速定位某个功能的代码?

A: 按照以下顺序查找:

  1. 查看对应端的路由文件,找到接口地址对应的控制器方法
  2. 在控制器中找到调用的服务类
  3. 在服务类中查看具体业务逻辑和DAO调用

Q: 新增功能应该放在哪个目录?

A: 根据功能类型选择:

  • 业务逻辑:app/services/ 对应模块目录
  • 数据操作:app/dao/app/model/ 对应模块目录
  • 接口开发:app/controller/ 对应端目录
  • 异步任务:app/jobs/ 对应模块目录
{{cateWiki.like_num}}人点赞
0人点赞
评论({{cateWiki.comment_num}}) {{commentWhere.order ? '评论从旧到新':'评论从新到旧'}} {{cateWiki.page_view_num}}人看过该文档
评论(0) {{commentWhere.order ? '评论从旧到新':'评论从新到旧'}} 63人看过该文档
评论
{{item.user ? item.user.nickname : ''}} (自评)
{{item.content}}
{{item.create_time}} 删除
{{item.like ? item.like.like_num : 0}} {{replyIndex == index ? '取消回复' : '回复'}}
评论
{{items.user ? items.user.nickname : '暂无昵称'}} (自评)
{{items.content}}
{{items.create_time}} 删除
{{items.like ? items.like.like_num : 0}} {{replyIndexJ == (index+'|'+indexJ) ? '取消回复' : '回复'}}
评论
目录
  • {{item}}