{{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/ # 上传文件目录
注意事项
- 命名规范:控制器、服务、模型等类文件采用大驼峰命名法
- 分层架构:严格遵循Controller -> Services -> Dao -> Model的调用层次
- 多端隔离:不同端的控制器、中间件独立管理,便于权限控制
- 事件驱动:复杂业务通过事件监听器解耦处理
常见问题
Q: 如何快速定位某个功能的代码?
A: 按照以下顺序查找:
- 查看对应端的路由文件,找到接口地址对应的控制器方法
- 在控制器中找到调用的服务类
- 在服务类中查看具体业务逻辑和DAO调用
Q: 新增功能应该放在哪个目录?
A: 根据功能类型选择:
- 业务逻辑:
app/services/对应模块目录 - 数据操作:
app/dao/和app/model/对应模块目录 - 接口开发:
app/controller/对应端目录 - 异步任务:
app/jobs/对应模块目录
评论({{cateWiki.comment_num}})
{{commentWhere.order ? '评论从旧到新':'评论从新到旧'}}
{{cateWiki.page_view_num}}人看过该文档
评论(0)
{{commentWhere.order ? '评论从旧到新':'评论从新到旧'}}
63人看过该文档
{{item.user ? item.user.nickname : ''}}
(自评)
{{item.content}}
{{item.create_time}}
删除
搜索结果
为您找到{{wikiCount}}条结果
{{item.page_view_num}}
{{item.like ? item.like.like_num : 0}}
{{item.comment ? item.comment.comment_num : 0}}
位置:
{{path.name}}
{{(i+1) == item.catalogue.path_data.length ? '':'/'}}