From f51f4e68c1f27130b896ac8a0e1f446159c69b30 Mon Sep 17 00:00:00 2001 From: sugar1569 Date: Thu, 12 Mar 2026 17:55:20 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E7=A8=8B=E5=BA=8F=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E3=80=91docs:=20=E6=B7=BB=E5=8A=A0crmeb=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E5=8F=8A=E6=A0=B8=E5=BF=83=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E7=BB=93=E6=9E=84=E8=AF=B4=E6=98=8E=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crmeb/FILE_GUIDE.md | 70 +++++++++++ crmeb/app/README.md | 103 ++++++---------- crmeb/app/adminapi/README.md | 40 +++++-- crmeb/app/adminapi/filetree.txt | 14 --- crmeb/app/api/README.md | 51 ++++---- crmeb/app/api/filetree.txt | 14 --- crmeb/app/dao/README.md | 159 +++++++++++++++++++++---- crmeb/app/dao/filetree.txt | 126 -------------------- crmeb/app/filetree.txt | 24 ---- crmeb/app/http/README.md | 24 ++++ crmeb/app/jobs/README.md | 93 +++++++++++---- crmeb/app/jobs/filetree.txt | 26 ---- crmeb/app/kefuapi/README.md | 61 ++++++---- crmeb/app/listener/README.md | 79 +++++++++---- crmeb/app/listener/filetree.txt | 21 ---- crmeb/app/model/README.md | 148 ++++++++++++++++++----- crmeb/app/model/filetree.txt | 112 ------------------ crmeb/app/outapi/README.md | 68 +++++++---- crmeb/app/services/README.md | 204 ++++++++++++++++++++++++++++---- crmeb/app/services/filetree.txt | 169 -------------------------- crmeb/backup/readme.md | 25 +++- crmeb/config/README.md | 78 +++++++++--- crmeb/config/filetree.txt | 26 ---- crmeb/crmeb/README.md | 95 +++++++++++++-- crmeb/crmeb/filetree.txt | 73 ------------ crmeb/filetree.txt | 24 ---- crmeb/public/README.md | 62 ++++++---- crmeb/route/README.md | 48 ++++---- 28 files changed, 1074 insertions(+), 963 deletions(-) create mode 100644 crmeb/FILE_GUIDE.md delete mode 100644 crmeb/app/adminapi/filetree.txt delete mode 100644 crmeb/app/api/filetree.txt delete mode 100644 crmeb/app/dao/filetree.txt delete mode 100644 crmeb/app/filetree.txt delete mode 100644 crmeb/app/jobs/filetree.txt delete mode 100644 crmeb/app/listener/filetree.txt delete mode 100644 crmeb/app/model/filetree.txt delete mode 100644 crmeb/app/services/filetree.txt delete mode 100644 crmeb/config/filetree.txt delete mode 100644 crmeb/crmeb/filetree.txt delete mode 100644 crmeb/filetree.txt diff --git a/crmeb/FILE_GUIDE.md b/crmeb/FILE_GUIDE.md new file mode 100644 index 000000000..fcce9359c --- /dev/null +++ b/crmeb/FILE_GUIDE.md @@ -0,0 +1,70 @@ +# crmeb 目录文件说明 + +## 目录结构概览 +``` +crmeb/ +├── app/ # 应用程序核心代码(控制器、模型、服务等) +├── backup/ # 数据备份文件 +├── config/ # 配置文件(数据库、缓存、接口等) +├── crmeb/ # 项目内部公共模块或扩展库 +├── public/ # Web 可访问入口(静态资源、index.php) +├── route/ # 路由定义 +├── runtime/ # 运行时缓存、日志、Session 等(需忽略版本控制) +│ +├── .constant # 常量定义文件(需忽略版本控制) +├── .dockerignore # Docker 构建忽略规则 +├── .env # 环境变量配置(敏感信息)(需忽略版本控制) +├── .env.example # 环境变量示例文件 +├── .htaccess # Apache 重写规则 +├── .phpstorm.meta.php # PhpStorm 元数据 +├── .travis.yml # Travis CI 配置 +├── .version # 版本信息 +├── Dockerfile # Docker 镜像构建文件 +├── LICENSE.txt # 开源许可协议 +├── README.md # 项目说明 +├── build.example.php # 构建示例脚本 +├── composer.json # Composer 依赖配置 +├── composer.lock # Composer 锁定版本 +├── filetree.txt # 文件树结构快照 +├── index.html # 默认首页(防访问目录) +├── my.cnf # MySQL 自定义配置(需忽略版本控制) +├── nginx.conf # Nginx 配置(需忽略版本控制) +├── php-fpm.conf # PHP-FPM 配置(需忽略版本控制) +├── php-ini-overrides.ini# PHP 自定义 ini 覆盖(需忽略版本控制) +├── redis.conf # Redis 配置(需忽略版本控制) +├── start.sh # 项目启动脚本(需忽略版本控制) +├── supervisord.conf # Supervisor 进程管理配置(需忽略版本控制) +├── think # ThinkPHP 框架入口文件 +├── vhost.conf # 虚拟主机配置(需忽略版本控制) +└── workerman.bat # Windows 下 Workerman 启动脚本 +``` + +## 主要目录说明 +- **app/** + 存放业务逻辑的核心代码,包括控制器(Controller)、模型(Model)、服务层(Service)等,遵循 MVC 或类似分层架构。 +- **backup/** + 用于存放数据库或重要数据的备份文件,建议定期清理旧备份。 +- **config/** + 各种环境与应用配置文件,如数据库、缓存、队列、接口认证等。 +- **crmeb/** + 项目内部的公共模块或第三方 SDK 集成,可能包含一些工具类或扩展功能。 +- **public/** + Web 服务器根目录,放置可直接通过浏览器访问的资源(如图片、JS、CSS)以及入口文件 `index.php`。 +- **route/** + 路由定义文件,用于映射 URL 请求到具体的控制器方法。 +- **runtime/** + 存放运行时生成的缓存、日志、Session 等临时数据;此目录应在 `.gitignore` 中忽略。 + +## 主要文件说明 +- **.env / .env.example** + 环境变量配置与示例,`.env` 含敏感信息,不要提交到代码库。 +- **composer.json / composer.lock** + PHP 项目依赖管理配置与锁定文件。 +- **Dockerfile / docker-compose 相关** + 用于容器化部署的配置。 +- **my.cnf / redis.conf / nginx.conf** + 各类服务的自定义配置。 +- **start.sh** + 项目本地或服务器启动入口脚本。 +- **think** + ThinkPHP 框架的统一入口文件,负责初始化框架并分发请求。 \ No newline at end of file diff --git a/crmeb/app/README.md b/crmeb/app/README.md index 6c17e99b8..8693b06ed 100644 --- a/crmeb/app/README.md +++ b/crmeb/app/README.md @@ -1,70 +1,41 @@ -### 系统目录介绍优化方案 +# app 目录结构说明 -#### 1. 引言 -在优化系统目录介绍时,我们的目标是使目录结构更加清晰、易于理解,并突出每个目录的核心功能和作用。 +## 目录结构 -#### 2. 目录结构优化概述 -我们将通过以下几个步骤来优化目录介绍: -- **明确目录层级**:清晰展示主目录与子目录的关系。 -- **突出核心功能**:简要概括每个目录的主要作用和包含的文件类型。 -- **增加示例或用途说明**:对于关键目录,提供简短的示例或用途描述,帮助开发者快速理解。 +``` +. +├── adminapi/ # 后台管理端API接口 +├── api/ # 移动端API接口 +├── dao/ # DAO层(数据访问对象) +├── http/ # HTTP中间件 +├── jobs/ # 队列任务 +├── kefuapi/ # 客服端API接口 +├── lang/ # 语言包 +├── listener/ # 事件监听器目录 +├── model/ # Model层 +├── services/ # Services层 +├── subscribes/ # 事件订阅 +├── AppService.php # 应用服务类 +├── ExceptionHandle.php # 异常处理器 +├── Request.php # 封装Request类 +├── build.php # 构建配置 +├── common.php # 公共方法 +├── event.php # 事件配置 +├── middleware.php # 中间件配置 +├── provider.php # 容器Provider定义文件 +└── service.php # 服务配置 +``` -#### 3. 优化后的目录介绍 +## 目录说明 -##### app/ -- **核心目录**:存放应用程序的核心代码和资源。 -- **包含内容**:业务逻辑、控制器、模型、视图等。 - -###### app/adminapi/ -- **功能**:管理端应用控制器。 -- **用途**:处理管理端用户请求、业务逻辑和数据交互。 -- **示例**:管理员登录、权限管理等。 - -###### app/api/ -- **功能**:用户端应用控制器。 -- **用途**:处理用户端请求、业务逻辑和数据交互。 -- **示例**:用户注册、商品浏览等。 - -###### app/dao/ -- **功能**:数据访问对象(DAO)。 -- **用途**:封装数据访问操作,提供统一接口。 -- **文件类型**:类文件。 - -###### app/http/ -- **功能**:HTTP请求和响应跨域中间键。 -- **用途**:处理跨域请求,确保前后端通信顺畅。 - -###### app/jobs/ -- **功能**:消息队列任务。 -- **用途**:处理异步任务,如邮件发送、数据同步等。 - -###### app/kefuapi/ -- **功能**:客服端应用控制器。 -- **用途**:处理客服端请求、业务逻辑和数据交互。 -- **示例**:客服聊天、工单处理等。 - -###### app/lang/ -- **功能**:语言包。 -- **用途**:支持多语言功能,提供不同语言的文本资源。 - -###### app/listener/ -- **功能**:事件监听器。 -- **用途**:监听和处理系统事件,如用户登录、订单生成等。 - -###### app/model/ -- **功能**:模型类。 -- **用途**:封装数据访问操作,提供统一接口。 -- **与dao区别**:模型类更侧重于业务逻辑层面的数据操作。 - -###### app/outapi/ -- **功能**:对外接口应用控制器。 -- **用途**:处理外部系统请求、业务逻辑和数据交互。 -- **示例**:第三方支付回调、API对接等。 - -###### app/service/ -- **功能**:服务类。 -- **用途**:封装业务逻辑和数据交互操作,提供统一服务接口。 -- **示例**:用户服务、订单服务等。 - -#### 4. 结语 -通过上述优化,我们使`app`目录及其子目录的介绍更加清晰、条理分明。每个目录的核心功能和用途都得到了突出展示,有助于开发者快速理解和定位代码。同时,增加的示例和用途说明也进一步降低了理解门槛,提升了开发效率。 \ No newline at end of file +- **adminapi/** - 后台管理端API接口模块 +- **api/** - 移动端API接口模块 +- **dao/** - 数据访问对象层,负责数据库操作 +- **http/** - HTTP中间件相关文件 +- **jobs/** - 异步队列任务处理 +- **kefuapi/** - 客服系统API接口 +- **lang/** - 多语言包文件 +- **listener/** - 事件监听器,处理系统事件 +- **model/** - 数据模型层,定义数据结构和业务逻辑 +- **services/** - 业务服务层,封装复杂业务逻辑 +- **subscribes/** - 事件订阅器 \ No newline at end of file diff --git a/crmeb/app/adminapi/README.md b/crmeb/app/adminapi/README.md index 2faef83be..4a1c35c17 100644 --- a/crmeb/app/adminapi/README.md +++ b/crmeb/app/adminapi/README.md @@ -1,17 +1,35 @@ -crmeb/app/adminapi这个目录主要是后台管理系统的API接口文件。 +# adminapi 目录结构说明 -具体来说: +## 目录结构 -- adminapi目录下的文件都是后台管理系统的控制器(Controller)文件,这些控制器被用来处理后台系统的各种请求。 +``` +. +├── config/ # 配置目录 +├── controller/ # 控制器目录 +├── lang/ # 语言包目录 +├── middleware/ # 中间件目录 +├── route/ # 路由配置目录 +├── validate/ # 验证器目录 +├── AdminApiExceptionHandle.php # 异常处理器 +├── common.php # 公共方法 +├── event.php # 事件配置 +└── provider.php # 服务提供者 +``` -- 每一个控制器文件对应后台管理系统某个功能模块,比如AuthController处理认证模块请求,StoreProduct处理商品模块请求等。 +## 目录说明 -- 控制器内有各种方法,这些方法就相当于API接口,可以处理GET、POST请求,返回JSON数据。 +- **config/** - 后台管理端专用配置 +- **controller/** - 后台管理控制器,处理管理端业务逻辑 +- **lang/** - 后台管理端多语言文件 +- **middleware/** - 后台管理中间件,如权限验证、日志记录等 +- **route/** - 后台管理路由配置 +- **validate/** - 后台管理数据验证器 -- 浏览器或APP在调用这些API接口时,会发送请求到相应的控制器方法,例如登录接口请求到Login文件的login方法。 +## 功能说明 -- 控制器处理完请求后,通过返回Response对象返回处理结果给浏览器或APP。 - -所以简单来说,adminapi目录负责后台管理系统的所有API接口,这些接口被APP或前端调用来完成各种管理操作,如查询数据、添加修改删除等。开发者在新增后台功能时,也需要在此目录增加对应的控制器和接口。 - -它实际上负责后台系统的通信交互层,解耦了后端逻辑和前端展示,采用 RESTful规范设计。 \ No newline at end of file +adminapi模块专门用于处理后台管理系统的API接口,包括: +- 用户权限管理 +- 商品管理 +- 订单处理 +- 数据统计 +- 系统设置等后台管理功能 \ No newline at end of file diff --git a/crmeb/app/adminapi/filetree.txt b/crmeb/app/adminapi/filetree.txt deleted file mode 100644 index e68e3d5fa..000000000 --- a/crmeb/app/adminapi/filetree.txt +++ /dev/null @@ -1,14 +0,0 @@ -. -├── config -├── controller -├── lang -├── middleware -├── route -├── validate -├── AdminApiExceptionHandle.php -├── common.php -├── event.php -├── filetree.txt -└── provider.php - -6 directories, 5 files diff --git a/crmeb/app/api/README.md b/crmeb/app/api/README.md index 76d3a095b..1253f6ad0 100644 --- a/crmeb/app/api/README.md +++ b/crmeb/app/api/README.md @@ -1,28 +1,35 @@ -crmeb/app/api目录是网站前端(非管理后台)的API接口目录。 +# api 目录结构说明 -它与adminapi目录的区别在于: +## 目录结构 -- adminapi目录下的是管理后台系统的API接口 -- api目录下的是网站前端系统(手机端/微信小程序/H5等)的API接口 +``` +. +├── config/ # 配置目录 +├── controller/ # 控制器目录 +├── lang/ # 语言包目录 +├── middleware/ # 中间件目录 +├── route/ # 路由配置目录 +├── validate/ # 验证器目录 +├── ApiExceptionHandle.php # 异常处理器 +├── common.php # 公共方法 +├── event.php # 事件配置 +└── provider.php # 服务提供者 +``` -具体来说: +## 目录说明 -- api目录下也是采用控制器(Controller)方式组织接口代码 -- 每个控制器对应一个功能模块,如OrderController负责订单相关接口等 -- 接口用于前端页面的ajax请求,获取数据用于渲染 -- 接口也采用RESTful风格设计 +- **config/** - 移动端API专用配置 +- **controller/** - 移动端控制器,处理移动端业务逻辑 +- **lang/** - 移动端多语言文件 +- **middleware/** - 移动端中间件,如用户认证、请求日志等 +- **route/** - 移动端路由配置 +- **validate/** - 移动端数据验证器 -例如: +## 功能说明 -- 用户注册接口在UserController的register方法 -- 获取订单列表在OrderController的lists方法 -- 支付结果通知在PayController的notify方法 - -和adminapi目录一样,api目录也通过定义清晰的接口,解耦了前后端,让前端更专注于业务展示。 - -区别在于目标用户不同: - -- adminapi为后台管理员使用 -- api目录下的接口为前台用户(手机端、小程序端等)提供数据服务 - -所以二者都起到了前后端分离的关键作用。 \ No newline at end of file +api模块专门用于处理移动端应用的API接口,包括: +- 用户注册登录 +- 商品浏览购买 +- 订单管理 +- 支付功能 +- 个人中心等移动端功能 \ No newline at end of file diff --git a/crmeb/app/api/filetree.txt b/crmeb/app/api/filetree.txt deleted file mode 100644 index f65a52fb7..000000000 --- a/crmeb/app/api/filetree.txt +++ /dev/null @@ -1,14 +0,0 @@ -. -├── config -├── controller -├── lang -├── middleware -├── route -├── validate -├── ApiExceptionHandle.php -├── common.php -├── event.php -├── filetree.txt -└── provider.php - -6 directories, 5 files diff --git a/crmeb/app/dao/README.md b/crmeb/app/dao/README.md index 225d7a202..74f15f8d6 100644 --- a/crmeb/app/dao/README.md +++ b/crmeb/app/dao/README.md @@ -1,28 +1,143 @@ -crmeb/app/dao目录是项目数据访问对象(DAO)层的代码目录。 +# dao 目录结构说明 -DAO层主要职责和作用如下: +## 目录结构 -1. 实现数据持久层访问,对数据库进行CURD操作。 +``` +. +├── activity/ # 营销活动相关DAO +│ ├── advance/ # 预售活动 +│ ├── bargain/ # 砍价活动 +│ ├── combination/ # 拼团活动 +│ ├── coupon/ # 优惠券 +│ ├── integral/ # 积分活动 +│ ├── live/ # 直播活动 +│ ├── lottery/ # 抽奖活动 +│ └── seckill/ # 秒杀活动 +├── agent/ # 分销代理相关DAO +│ ├── AgentLevelDao.php # 代理等级 +│ ├── AgentLevelTaskDao.php # 代理等级任务 +│ ├── AgentLevelTaskRecordDao.php # 代理等级任务记录 +│ └── DivisionAgentApplyDao.php # 分销代理申请 +├── article/ # 文章相关DAO +│ ├── ArticleCategoryDao.php # 文章分类 +│ ├── ArticleContentDao.php # 文章内容 +│ └── ArticleDao.php # 文章主表 +├── diy/ # 自定义页面相关DAO +│ ├── DiyDao.php # DIY页面 +│ ├── PageCategoryDao.php # 页面分类 +│ └── PageLinkDao.php # 页面链接 +├── order/ # 订单相关DAO +│ ├── DeliveryServiceDao.php # 配送服务 +│ ├── OtherOrderDao.php # 其他订单 +│ ├── OtherOrderStatusDao.php # 其他订单状态 +│ ├── StoreCartDao.php # 购物车 +│ ├── StoreOrderCartInfoDao.php # 订单商品信息 +│ ├── StoreOrderDao.php # 订单主表 +│ ├── StoreOrderEconomizeDao.php # 订单节省金额 +│ ├── StoreOrderInvoiceDao.php # 订单发票 +│ ├── StoreOrderRefundDao.php # 订单退款 +│ ├── StoreOrderStatusDao.php # 订单状态 +│ ├── StoreOrderStoreOrderCartInfoDao.php # 订单商品关联 +│ └── StoreOrderStoreOrderStatusDao.php # 订单状态关联 +├── other/ # 其他功能DAO +│ ├── AgreementDao.php # 协议 +│ ├── AuxiliaryDao.php # 辅助数据 +│ ├── CacheDao.php # 缓存 +│ ├── CategoryDao.php # 分类 +│ ├── QrcodeDao.php # 二维码 +│ └── TemplateMessageDao.php # 模板消息 +├── product/ # 商品相关DAO +│ ├── product/ # 商品主表 +│ └── sku/ # SKU管理 +├── service/ # 客服相关DAO +│ ├── StoreServiceAuxiliaryDao.php # 客服辅助 +│ ├── StoreServiceDao.php # 客服主表 +│ ├── StoreServiceFeedbackDao.php # 客服反馈 +│ ├── StoreServiceLogDao.php # 客服日志 +│ ├── StoreServiceRecordDao.php # 客服记录 +│ └── StoreServiceSpeechcraftDao.php # 客服话术 +├── shipping/ # 物流配送相关DAO +│ ├── ExpressDao.php # 快递公司 +│ ├── ShippingTemplatesDao.php # 运费模板 +│ ├── ShippingTemplatesFreeCityDao.php # 运费模板免费城市 +│ ├── ShippingTemplatesFreeDao.php # 运费模板免费设置 +│ ├── ShippingTemplatesNoDeliveryCityDao.php # 运费模板不配送城市 +│ ├── ShippingTemplatesNoDeliveryDao.php # 运费模板不配送设置 +│ ├── ShippingTemplatesRegionCityDao.php # 运费模板区域城市 +│ ├── ShippingTemplatesRegionDao.php # 运费模板区域 +│ └── SystemCityDao.php # 系统城市 +├── sms/ # 短信相关DAO +│ ├── SmsAdminDao.php # 短信管理 +│ └── SmsRecordDao.php # 短信记录 +├── system/ # 系统相关DAO +│ ├── admin/ # 管理员 +│ ├── attachment/ # 附件 +│ ├── config/ # 配置 +│ ├── log/ # 日志 +│ ├── statistics/ # 统计 +│ ├── store/ # 店铺 +│ ├── AppVersionDao.php # 应用版本 +│ ├── MessageSystemDao.php # 系统消息 +│ ├── SystemMenusDao.php # 系统菜单 +│ ├── SystemNotificationDao.php # 系统通知 +│ └── SystemUserLevelDao.php # 系统用户等级 +├── user/ # 用户相关DAO +│ ├── MemberCardBatchDao.php # 会员卡批次 +│ ├── MemberCardDao.php # 会员卡 +│ ├── MemberRightDao.php # 会员权益 +│ ├── MemberShipDao.php # 会员关系 +│ ├── UserAddressDao.php # 用户地址 +│ ├── UserAuthDao.php # 用户认证 +│ ├── UserBillDao.php # 用户账单 +│ ├── UserBillStoreOrderDao.php # 用户账单订单关联 +│ ├── UserBrokerageDao.php # 用户佣金 +│ ├── UserBrokerageFrozenDao.php # 用户冻结佣金 +│ ├── UserCancelDao.php # 用户注销 +│ ├── UserDao.php # 用户主表 +│ ├── UserExtractDao.php # 用户提现 +│ ├── UserFriendsDao.php # 用户好友 +│ ├── UserGroupDao.php # 用户分组 +│ ├── UserInvoiceDao.php # 用户发票 +│ ├── UserLabelCateDao.php # 用户标签分类 +│ ├── UserLabelDao.php # 用户标签 +│ ├── UserLabelRelationDao.php # 用户标签关系 +│ ├── UserLevelDao.php # 用户等级 +│ ├── UserMoneyDao.php # 用户余额 +│ ├── UserRechargeDao.php # 用户充值 +│ ├── UserSearchDao.php # 用户搜索 +│ ├── UserSignDao.php # 用户签到 +│ ├── UserSpreadDao.php # 用户推广 +│ ├── UserStoreOrderDao.php # 用户订单关联 +│ ├── UserTaskFinishDao.php # 用户任务完成 +│ ├── UserUserBillDao.php # 用户账单关联 +│ ├── UserUserBrokerageDao.php # 用户佣金关联 +│ ├── UserVisitDao.php # 用户访问 +│ └── UserWechatUserDao.php # 用户微信关联 +├── wechat/ # 微信相关DAO +│ ├── WechatKeyDao.php # 微信密钥 +│ ├── WechatMediaDao.php # 微信媒体 +│ ├── WechatMenuDao.php # 微信菜单 +│ ├── WechatMessageDao.php # 微信消息 +│ ├── WechatNewsCategoryDao.php # 微信图文分类 +│ ├── WechatQrcodeCateDao.php # 微信二维码分类 +│ ├── WechatQrcodeDao.php # 微信二维码 +│ ├── WechatQrcodeRecordDao.php # 微信二维码记录 +│ ├── WechatReplyDao.php # 微信回复 +│ ├── WechatReplyKeyDao.php # 微信回复关键词 +│ └── WechatUserDao.php # 微信用户 +├── BaseDao.php # DAO基类 +└── readme.md # 目录说明文件 +``` -2. 依赖数据库连接,实现对表的基本增删改查功能。 +## 功能说明 -3. 封装数据库操作原语(查询,插入,更新等),简化开发难度。 +dao(数据访问对象)层负责数据库操作,封装了所有业务模块的数据访问逻辑: -4. 与数据库解藕,提供统一接口,便于扩展和维护。 +- **活动模块** - 管理各种营销活动的数据访问 +- **代理模块** - 处理分销代理相关的数据操作 +- **订单模块** - 订单数据的增删改查 +- **用户模块** - 用户信息管理和操作 +- **商品模块** - 商品数据管理 +- **系统模块** - 系统配置和数据管理 -具体来说: - -- dao目录下每个文件对应一个数据表或业务模块 -- 文件内封装了对表基本操作的方法,如查找,插入,更新等 -- 方法的参数和返回值类型为模型对象(Model),实现数据和业务的解耦 -- 提供丰富的查询条件以方便调用 -- 底层利用ThinkPHP的ActiveRecord实现数据操作 - -使用DAO层的好处: - -- 提供对象化的数据操作接口 -- 屏蔽数据库差异,提高移植性 -- 方便测试和扩展 -- 实现业务和数据层的分离 - -所以该目录负责项目的底层数据操作,其他业务需要调用它来操作数据库。 \ No newline at end of file +DAO层提供统一的数据访问接口,确保数据操作的一致性和安全性。 \ No newline at end of file diff --git a/crmeb/app/dao/filetree.txt b/crmeb/app/dao/filetree.txt deleted file mode 100644 index ca7a3b230..000000000 --- a/crmeb/app/dao/filetree.txt +++ /dev/null @@ -1,126 +0,0 @@ -. -├── activity -│   ├── advance -│   ├── bargain -│   ├── combination -│   ├── coupon -│   ├── integral -│   ├── live -│   ├── lottery -│   └── seckill -├── agent -│   ├── AgentLevelDao.php -│   ├── AgentLevelTaskDao.php -│   ├── AgentLevelTaskRecordDao.php -│   └── DivisionAgentApplyDao.php -├── article -│   ├── ArticleCategoryDao.php -│   ├── ArticleContentDao.php -│   └── ArticleDao.php -├── diy -│   ├── DiyDao.php -│   ├── PageCategoryDao.php -│   └── PageLinkDao.php -├── order -│   ├── DeliveryServiceDao.php -│   ├── OtherOrderDao.php -│   ├── OtherOrderStatusDao.php -│   ├── StoreCartDao.php -│   ├── StoreOrderCartInfoDao.php -│   ├── StoreOrderDao.php -│   ├── StoreOrderEconomizeDao.php -│   ├── StoreOrderInvoiceDao.php -│   ├── StoreOrderRefundDao.php -│   ├── StoreOrderStatusDao.php -│   ├── StoreOrderStoreOrderCartInfoDao.php -│   └── StoreOrderStoreOrderStatusDao.php -├── other -│   ├── AgreementDao.php -│   ├── AuxiliaryDao.php -│   ├── CacheDao.php -│   ├── CategoryDao.php -│   ├── QrcodeDao.php -│   └── TemplateMessageDao.php -├── product -│   ├── product -│   └── sku -├── service -│   ├── StoreServiceAuxiliaryDao.php -│   ├── StoreServiceDao.php -│   ├── StoreServiceFeedbackDao.php -│   ├── StoreServiceLogDao.php -│   ├── StoreServiceRecordDao.php -│   └── StoreServiceSpeechcraftDao.php -├── shipping -│   ├── ExpressDao.php -│   ├── ShippingTemplatesDao.php -│   ├── ShippingTemplatesFreeCityDao.php -│   ├── ShippingTemplatesFreeDao.php -│   ├── ShippingTemplatesNoDeliveryCityDao.php -│   ├── ShippingTemplatesNoDeliveryDao.php -│   ├── ShippingTemplatesRegionCityDao.php -│   ├── ShippingTemplatesRegionDao.php -│   └── SystemCityDao.php -├── sms -│   ├── SmsAdminDao.php -│   └── SmsRecordDao.php -├── system -│   ├── admin -│   ├── attachment -│   ├── config -│   ├── log -│   ├── statistics -│   ├── store -│   ├── AppVersionDao.php -│   ├── MessageSystemDao.php -│   ├── SystemMenusDao.php -│   ├── SystemNotificationDao.php -│   └── SystemUserLevelDao.php -├── user -│   ├── MemberCardBatchDao.php -│   ├── MemberCardDao.php -│   ├── MemberRightDao.php -│   ├── MemberShipDao.php -│   ├── UserAddressDao.php -│   ├── UserAuthDao.php -│   ├── UserBillDao.php -│   ├── UserBillStoreOrderDao.php -│   ├── UserBrokerageDao.php -│   ├── UserBrokerageFrozenDao.php -│   ├── UserCancelDao.php -│   ├── UserDao.php -│   ├── UserExtractDao.php -│   ├── UserFriendsDao.php -│   ├── UserGroupDao.php -│   ├── UserInvoiceDao.php -│   ├── UserLabelCateDao.php -│   ├── UserLabelDao.php -│   ├── UserLabelRelationDao.php -│   ├── UserLevelDao.php -│   ├── UserMoneyDao.php -│   ├── UserRechargeDao.php -│   ├── UserSearchDao.php -│   ├── UserSignDao.php -│   ├── UserSpreadDao.php -│   ├── UserStoreOrderDao.php -│   ├── UserTaskFinishDao.php -│   ├── UserUserBillDao.php -│   ├── UserUserBrokerageDao.php -│   ├── UserVisitDao.php -│   └── UserWechatUserDao.php -├── wechat -│   ├── WechatKeyDao.php -│   ├── WechatMediaDao.php -│   ├── WechatMenuDao.php -│   ├── WechatMessageDao.php -│   ├── WechatNewsCategoryDao.php -│   ├── WechatQrcodeCateDao.php -│   ├── WechatQrcodeDao.php -│   ├── WechatQrcodeRecordDao.php -│   ├── WechatReplyDao.php -│   ├── WechatReplyKeyDao.php -│   └── WechatUserDao.php -├── BaseDao.php -└── filetree.txt - -29 directories, 95 files diff --git a/crmeb/app/filetree.txt b/crmeb/app/filetree.txt deleted file mode 100644 index 9d136c790..000000000 --- a/crmeb/app/filetree.txt +++ /dev/null @@ -1,24 +0,0 @@ -. -├── adminapi //后台管理端API接口 -├── api //移动端API接口 -├── dao //dao层 -├── http //中间件 -├── jobs //队列 -├── kefuapi //客服端API接口 -├── lang //语言包 -├── listener //事件目录 -├── model //model层 -├── services //services层 -├── subscribes //订阅事件 -├── AppService.php // -├── ExceptionHandle.php //异常处理 -├── Request.php //封装request类 -├── build.php // -├── common.php //公共方法 -├── event.php //事件配置 -├── middleware.php //中间件 -├── provider.php //容器Provider定义文件 -├── service.php -└── filetree.txt //目录说明 - -11 directories, 12 files diff --git a/crmeb/app/http/README.md b/crmeb/app/http/README.md index e69de29bb..1d9b5da22 100644 --- a/crmeb/app/http/README.md +++ b/crmeb/app/http/README.md @@ -0,0 +1,24 @@ +# http 目录结构说明 + +## 目录结构 + +``` +:. +├── middleware/ # 全局中间件目录 +│ ├── AllowOriginMiddleware.php # 跨域请求中间件 +│ └── BaseMiddleware.php # 中间件基类 +└── README.md # 目录说明文件 +``` + +## 目录说明 + +- **middleware/** - 全局HTTP中间件目录,包含跨域请求处理和中间件基类 + +## 功能说明 + +http目录包含应用全局的HTTP中间件: + +- **跨域中间件** - 处理跨域请求,允许指定域名访问API +- **中间件基类** - 定义中间件的基础抽象类 + +这些中间件对所有应用模块生效,提供统一的请求处理和响应过滤功能。 diff --git a/crmeb/app/jobs/README.md b/crmeb/app/jobs/README.md index 8e26e9f74..ab98907b5 100644 --- a/crmeb/app/jobs/README.md +++ b/crmeb/app/jobs/README.md @@ -1,29 +1,80 @@ -crmeb/app/jobs目录是CRMEB项目队列任务类的代码目录。 +# jobs 目录结构说明 -队列任务在项目开发中有以下几个重要作用: +## 目录结构 -1. 异步处理。可以将一些耗时较长的任务放入队列以异步处理,不阻塞主线程。 +``` +:. +├── notice/ # 通知相关任务目录 +│ ├── EnterpriseWechatJob.php # 企业微信通知任务 +│ ├── PrintJob.php # 小票打印任务 +│ ├── SmsJob.php # 短信通知任务 +│ └── SyncMessageJob.php # 同步消息任务 +├── AgentJob.php # 代理相关任务 +├── AutoCommentJob.php # 自动评论任务 +├── CheckQueueJob.php # 队列检查任务 +├── LiveJob.php # 直播相关任务 +├── MiniOrderJob.php # 小程序订单任务 +├── OrderCreateAfterJob.php # 订单创建后任务 +├── OrderExpressJob.php # 订单物流任务 +├── OrderInvoiceJob.php # 订单发票任务 +├── OrderJob.php # 订单处理主任务 +├── OtherOrderJob.php # 其他订单任务 +├── OutPushJob.php # 外部推送任务 +├── PinkJob.php # 拼团任务 +├── PosterJob.php # 海报生成任务 +├── ProductCopyJob.php # 商品复制任务 +├── ProductLogJob.php # 商品日志任务 +├── ProductStockJob.php # 商品库存任务 +├── RefundOrderJob.php # 退款订单任务 +├── TakeOrderJob.php # 接单任务 +├── TaskJob.php # 定时任务 +├── TemplateJob.php # 模板消息任务 +├── TranslateJob.php # 翻译任务 +├── UnpaidOrderCancelJob.php # 未支付订单取消任务 +├── UnpaidOrderSend.php # 未支付订单发送任务 +├── UpgradeJob.php # 升级任务 +├── UserJob.php # 用户相关任务 +└── README.md # 目录说明文件 +``` -2. 延迟处理。可以指定队列任务在一定时间后异步执行,比如发送短信或邮件。 +## 目录说明 -3. 分布处理。可以将队列任务分布到不同服务器进行处理,提高服务器使用效率。 +- **notice/** - 通知相关任务,处理短信、微信、企业微信、小票打印等通知 +- **AgentJob.php** - 代理相关异步任务 +- **AutoCommentJob.php** - 自动评论任务 +- **CheckQueueJob.php** - 队列检查任务 +- **LiveJob.php** - 直播相关任务 +- **MiniOrderJob.php** - 小程序订单任务 +- **OrderCreateAfterJob.php** - 订单创建后的异步处理任务 +- **OrderExpressJob.php** - 订单物流相关任务 +- **OrderInvoiceJob.php** - 订单发票相关任务 +- **OrderJob.php** - 订单主任务类 +- **OtherOrderJob.php** - 其他类型订单任务 +- **OutPushJob.php** - 外部系统推送任务 +- **PinkJob.php** - 拼团活动相关任务 +- **PosterJob.php** - 海报生成任务 +- **ProductCopyJob.php** - 商品复制任务 +- **ProductLogJob.php** - 商品日志记录任务 +- **ProductStockJob.php** - 商品库存同步任务 +- **RefundOrderJob.php** - 退款订单处理任务 +- **TakeOrderJob.php** - 订单核销任务 +- **TaskJob.php** - 定时任务调度 +- **TemplateJob.php** - 模板消息发送任务 +- **TranslateJob.php** - 商品翻译任务 +- **UnpaidOrderCancelJob.php** - 未支付订单自动取消任务 +- **UnpaidOrderSend.php** - 未支付订单提醒发送任务 +- **UpgradeJob.php** - 系统升级任务 +- **UserJob.php** - 用户相关异步任务 -此目录下主要包含以下内容: +## 功能说明 -- 每个任务类对应一个业务任务,实现Job接口。 +jobs目录包含所有异步队列任务,用于处理耗时较长的操作: -- 任务类内定义具体任务业务逻辑,如发送短信/邮件等。 +- **通知类任务** - 发送短信、微信模板消息、企业微信通知、小票打印等 +- **订单类任务** - 订单创建后的处理、未支付订单取消、物流查询、发票开具、核销等 +- **商品类任务** - 商品复制、商品日志记录、库存同步、商品翻译等 +- **用户类任务** - 用户相关异步操作 +- **营销类任务** - 拼团活动处理、海报生成等 +- **系统类任务** - 定时任务、系统升级、队列检查等 -- 通过Broker进行任务的发送和异步处理。 - -- 支持任务延时、失败重试等功能。 - -使用队列可以使得项目性能更优: - -- 阻塞任务剥离出来异步执行。 - -- 分布式下每个任务独立运行,不阻塞其他进程。 - -- 通过Broker复用同一服务,且伸缩性好。 - -所以此目录负责项目中所有异步任务的编写和调度,起到优化系统性能和扩展能力的重要作用。 \ No newline at end of file +这些任务通过消息队列异步执行,提高系统响应速度和并发处理能力。 diff --git a/crmeb/app/jobs/filetree.txt b/crmeb/app/jobs/filetree.txt deleted file mode 100644 index cc01ea6e1..000000000 --- a/crmeb/app/jobs/filetree.txt +++ /dev/null @@ -1,26 +0,0 @@ -. -├── notice -│   ├── EnterpriseWechatJob.php -│   ├── PrintJob.php -│   └── SmsJob.php -├── AgentJob.php -├── AutoCommentJob.php -├── LiveJob.php -├── OrderCreateAfterJob.php -├── OrderJob.php -├── OtherOrderJob.php -├── PinkJob.php -├── PosterJob.php -├── ProductCopyJob.php -├── ProductLogJob.php -├── RoutineTemplateJob.php -├── TakeOrderJob.php -├── TaskJob.php -├── TemplateJob.php -├── UnpaidOrderCancelJob.php -├── UnpaidOrderSend.php -├── UserJob.php -├── WechatTemplateJob.php -└── filetree.txt - -1 directory, 22 files diff --git a/crmeb/app/kefuapi/README.md b/crmeb/app/kefuapi/README.md index 7cf26dd1e..cc1f12b70 100644 --- a/crmeb/app/kefuapi/README.md +++ b/crmeb/app/kefuapi/README.md @@ -1,33 +1,46 @@ -crmeb/app/kefuapi这个目录是用来放置客服相关接口的。 +# kefuapi 目录结构说明 -主要作用和特征: +## 目录结构 -1. 提供客服系统与商城前后端交互的API接口。 +``` +:. +├── config/ # 配置目录 +├── controller/ # 控制器目录 +├── middleware/ # 中间件目录 +├── route/ # 路由配置目录 +├── validate/ # 验证器目录 +├── KefuApiExceptionHandle.php # 异常处理器 +├── provider.php # 服务提供者 +└── README.md # 目录说明文件 +``` -2. 接口主要用于聊天记录的增删改查以及发送消息等功能。 +## 目录说明 -3. 使用ThinkPHP的Restful风格定义接口请求方式和参数。 +- **config/** - 客服API专用配置 +- **controller/** - 客服API控制器,处理客服业务逻辑 +- **middleware/** - 客服API中间件 +- **route/** - 客服API路由配置 +- **validate/** - 客服API数据验证器 +- **KefuApiExceptionHandle.php** - 客服API异常处理器 +- **provider.php** - 客服API服务提供者 -4. 接口供移动端APP和PC网站调用实现客服聊天功能。 +## 功能说明 -5. 后台也可以调用相关接口对客服记录进行管理。 +kefuapi模块专门用于处理客服系统的API接口: -具体包含: +- 提供客服系统与商城前后端交互的API接口 +- 接口主要用于聊天记录的增删改查以及发送消息等功能 +- 使用ThinkPHP的Restful风格定义接口请求方式和参数 +- 接口供移动端APP和PC网站调用实现客服聊天功能 +- 后台也可以调用相关接口对客服记录进行管理 -- 控制器定义各API接口方法接受请求。 +具体包含: +- 控制器定义各API接口方法接受请求 +- 业务处理逻辑以及与数据库的交互 +- 数据验证和结果输出 -- 业务处理逻辑以及与数据库的交互。 - -- 数据验证和结果输出。 - -使用这个目录定义的客服API,可以: - -- 商城各端实现在线客服功能。 - -- 查看历史记录。 - -- 服务端管理客服信息。 - -- 第三方也可以实现其它客服系统对接。 - -所以总之,此目录主要对客服系统开放API接口,便于商城多端整合用户支持体系。 \ No newline at end of file +使用这个目录定义的客服API可以: +- 商城各端实现在线客服功能 +- 查看历史聊天记录 +- 服务端管理客服信息 +- 第三方实现其它客服系统对接 diff --git a/crmeb/app/listener/README.md b/crmeb/app/listener/README.md index cd38e3911..ec124abdb 100644 --- a/crmeb/app/listener/README.md +++ b/crmeb/app/listener/README.md @@ -1,29 +1,66 @@ -crmeb/app/listener目录用来定义项目的事件监听器。 +# listener 目录结构说明 -在ThinkPHP框架中,事件监听器是一个重要的机制。它可以用于: +## 目录结构 -- 项目运行过程中的各个时间点自动调用指定的监听方法。 +``` +:. +├── admin/ # 管理员相关监听器目录 +│ └── AdminLoginListener.php # 管理员登录监听器 +├── http/ # HTTP相关监听器目录 +│ └── HttpEndListener.php # HTTP请求结束监听器 +├── notice/ # 通知相关监听器目录 +│ ├── CustomNoticeListener.php # 自定义通知监听器 +│ └── NoticeListener.php # 通知监听器主类 +├── order/ # 订单相关监听器目录 +│ ├── OrderCreateAfterListener.php # 订单创建后监听器 +│ ├── OrderDeliveryListener.php # 订单配送监听器 +│ ├── OrderPaySuccessListener.php # 订单支付成功监听器 +│ ├── OrderRefundCancelAfterListener.php # 订单退款取消后监听器 +│ ├── OrderRefundCreateAfterListener.php # 订单退款创建后监听器 +│ ├── OrderShippingListener.php # 订单发货监听器 +│ └── OrderTakeListener.php # 订单核销监听器 +├── out/ # 外部推送监听器目录 +│ └── OutPushListener.php # 外部推送监听器 +├── pay/ # 支付相关监听器目录 +│ └── NotifyListener.php # 支付回调监听器 +├── queue/ # 队列相关监听器目录 +│ └── QueueStartListener.php # 队列开始监听器 +├── user/ # 用户相关监听器目录 +│ ├── LoginListener.php # 用户登录监听器 +│ ├── RegisterListener.php # 用户注册监听器 +│ ├── UserLevelListener.php # 用户等级监听器 +│ └── UserVisitListener.php # 用户访问监听器 +├── wechat/ # 微信相关监听器目录 +│ └── AuthListener.php # 微信授权监听器 +├── CustomEventListener.php # 自定义事件监听器 +└── README.md # 目录说明文件 +``` -- 监听特定事物(如请求、响应等)发生后自动执行回调。 +## 目录说明 -- 监听其它模块触发的事件,实现扩展钩子函数。 +- **admin/** - 管理员相关事件监听器 +- **http/** - HTTP请求生命周期事件监听器 +- **notice/** - 通知发送事件监听器 +- **order/** - 订单状态变化事件监听器 +- **out/** - 外部推送事件监听器 +- **pay/** - 支付回调事件监听器 +- **queue/** - 队列执行事件监听器 +- **user/** - 用户行为事件监听器 +- **wechat/** - 微信相关事件监听器 +- **CustomEventListener.php** - 自定义事件监听器 -具体来说: +## 功能说明 -- 监听器类实现接口定义监听方法。 +listener目录包含事件监听器,用于响应系统事件: -- 方法内可以完成业务逻辑,也可以触发下一个监听器。 +- **HTTP事件监听** - 监听HTTP请求生命周期事件,如请求结束 +- **订单事件监听** - 监听订单创建、支付成功、配送、发货、退款、核销等状态变化 +- **用户事件监听** - 监听用户登录、注册、等级变化、访问记录等 +- **通知事件监听** - 监听通知发送事件,触发短信、微信模板消息等 +- **支付事件监听** - 监听支付回调事件,处理支付结果 +- **微信事件监听** - 监听微信授权、OAuth等事件 +- **队列事件监听** - 监听队列执行相关事件 +- **管理员事件监听** - 监听管理员登录等事件 +- **外部推送事件监听** - 监听外部系统推送事件 -- 监听器在配置中注册,在特定点自动调用定义的回调方法。 - -- 常见监听点有请求开始、响应结束等生命周期点。 - -这种设计可以: - -- 实现跨模块调用无需依赖。 - -- 解耦业务和基础模块。 - -- 让第三方功能易于插拔扩展。 - -所以此目录定义的就是项目各种事件监听回调,起到系统级的扩展与定制作用。 \ No newline at end of file +监听器采用观察者模式,实现系统解耦和异步处理,提高代码的可维护性和扩展性。 diff --git a/crmeb/app/listener/filetree.txt b/crmeb/app/listener/filetree.txt deleted file mode 100644 index 6bb84b9dc..000000000 --- a/crmeb/app/listener/filetree.txt +++ /dev/null @@ -1,21 +0,0 @@ -. -├── http -│   └── HttpEnd.php -├── notice -│   └── Notice.php -├── order -│   ├── OrderCreateAfter.php -│   ├── OrderDelivery.php -│   ├── OrderPaySuccess.php -│   ├── OrderRefund.php -│   └── OrderTake.php -├── user -│   ├── Login.php -│   ├── Register.php -│   ├── UserLevel.php -│   └── UserVisit.php -├── wechat -│   └── Auth.php -└── filetree.txt - -5 directories, 13 files diff --git a/crmeb/app/model/README.md b/crmeb/app/model/README.md index ba2098a3d..5e61ad11f 100644 --- a/crmeb/app/model/README.md +++ b/crmeb/app/model/README.md @@ -1,33 +1,127 @@ -crmeb/app/model目录用于定义项目的数据模型类。 +# model 目录结构说明 -数据模型类的主要作用和特征有: +## 目录结构 -1. 每个模型类对应数据库中的一张表。 +``` +. +├── activity/ # 营销活动相关Model +│ ├── advance/ # 预售活动 +│ ├── bargain/ # 砍价活动 +│ ├── combination/ # 拼团活动 +│ ├── coupon/ # 优惠券 +│ ├── integral/ # 积分活动 +│ ├── live/ # 直播活动 +│ ├── lottery/ # 抽奖活动 +│ └── seckill/ # 秒杀活动 +├── agent/ # 分销代理相关Model +│ ├── AgentLevel.php # 代理等级 +│ ├── AgentLevelTask.php # 代理等级任务 +│ ├── AgentLevelTaskRecord.php # 代理等级任务记录 +│ └── DivisionAgentApply.php # 分销代理申请 +├── article/ # 文章相关Model +│ ├── Article.php # 文章主表 +│ ├── ArticleCategory.php # 文章分类 +│ └── ArticleContent.php # 文章内容 +├── diy/ # 自定义页面相关Model +│ ├── Diy.php # DIY页面 +│ ├── PageCategory.php # 页面分类 +│ └── PageLink.php # 页面链接 +├── order/ # 订单相关Model +│ ├── DeliveryService.php # 配送服务 +│ ├── OtherOrder.php # 其他订单 +│ ├── OtherOrderStatus.php # 其他订单状态 +│ ├── StoreCart.php # 购物车 +│ ├── StoreOrder.php # 订单主表 +│ ├── StoreOrderCartInfo.php # 订单商品信息 +│ ├── StoreOrderEconomize.php # 订单节省金额 +│ ├── StoreOrderInvoice.php # 订单发票 +│ ├── StoreOrderRefund.php # 订单退款 +│ ├── StoreOrderStatus.php # 订单状态 +│ └── StorePink.php # 拼团订单 +├── other/ # 其他功能Model +│ ├── Agreement.php # 协议 +│ ├── Auxiliary.php # 辅助数据 +│ ├── Cache.php # 缓存 +│ ├── Category.php # 分类 +│ ├── Express.php # 快递 +│ ├── Qrcode.php # 二维码 +│ └── TemplateMessage.php # 模板消息 +├── product/ # 商品相关Model +│ ├── product/ # 商品主表 +│ └── sku/ # SKU管理 +├── service/ # 客服相关Model +│ ├── StoreService.php # 客服主表 +│ ├── StoreServiceFeedback.php # 客服反馈 +│ ├── StoreServiceLog.php # 客服日志 +│ ├── StoreServiceRecord.php # 客服记录 +│ └── StoreServiceSpeechcraft.php # 客服话术 +├── shipping/ # 物流配送相关Model +│ ├── ShippingTemplates.php # 运费模板 +│ ├── ShippingTemplatesFree.php # 运费模板免费设置 +│ ├── ShippingTemplatesNoDelivery.php # 运费模板不配送设置 +│ ├── ShippingTemplatesRegion.php # 运费模板区域 +│ └── SystemCity.php # 系统城市 +├── sms/ # 短信相关Model +│ └── SmsRecord.php # 短信记录 +├── system/ # 系统相关Model +│ ├── admin/ # 管理员 +│ ├── attachment/ # 附件 +│ ├── config/ # 配置 +│ ├── log/ # 日志 +│ ├── statistics/ # 统计 +│ ├── store/ # 店铺 +│ ├── AppVersion.php # 应用版本 +│ ├── MessageSystem.php # 系统消息 +│ ├── SystemMenus.php # 系统菜单 +│ ├── SystemNotification.php # 系统通知 +│ ├── SystemUserLevel.php # 系统用户等级 +│ └── SystemUserTask.php # 系统用户任务 +├── user/ # 用户相关Model +│ ├── MemberCard.php # 会员卡 +│ ├── MemberCardBatch.php # 会员卡批次 +│ ├── MemberRight.php # 会员权益 +│ ├── MemberShip.php # 会员关系 +│ ├── User.php # 用户主表 +│ ├── UserAddress.php # 用户地址 +│ ├── UserBill.php # 用户账单 +│ ├── UserBrokerage.php # 用户佣金 +│ ├── UserBrokerageFrozen.php # 用户冻结佣金 +│ ├── UserCancel.php # 用户注销 +│ ├── UserExtract.php # 用户提现 +│ ├── UserFriends.php # 用户好友 +│ ├── UserGroup.php # 用户分组 +│ ├── UserInvoice.php # 用户发票 +│ ├── UserLabel.php # 用户标签 +│ ├── UserLabelCate.php # 用户标签分类 +│ ├── UserLabelRelation.php # 用户标签关系 +│ ├── UserLevel.php # 用户等级 +│ ├── UserMoney.php # 用户余额 +│ ├── UserRecharge.php # 用户充值 +│ ├── UserSearch.php # 用户搜索 +│ ├── UserSign.php # 用户签到 +│ ├── UserSpread.php # 用户推广 +│ ├── UserTaskFinish.php # 用户任务完成 +│ └── UserVisit.php # 用户访问 +├── wechat/ # 微信相关Model +│ ├── WechatKey.php # 微信密钥 +│ ├── WechatMedia.php # 微信媒体 +│ ├── WechatMessage.php # 微信消息 +│ ├── WechatNewsCategory.php # 微信图文分类 +│ ├── WechatQrcode.php # 微信二维码 +│ ├── WechatQrcodeCate.php # 微信二维码分类 +│ ├── WechatQrcodeRecord.php # 微信二维码记录 +│ ├── WechatReply.php # 微信回复 +│ └── WechatUser.php # 微信用户 +└── readme.md # 目录说明文件 +``` -2. 类属性定义表结构,与表结构一一对应。 +## 功能说明 -3. 包含读写数据相关方法,通过ActiveRecord实现。 +model层定义数据结构和业务逻辑,每个Model对应数据库中的一个表: -4. 提供数据与数据库层解耦,统一的数据访问接口。 +- **数据映射** - 将数据库表映射为PHP对象 +- **业务逻辑** - 封装数据操作和业务规则 +- **数据验证** - 提供数据验证和过滤功能 +- **关联关系** - 定义表之间的关联关系 -5. 数据验证机制,保证数据完整性和一致性。 - -具体包含: - -- 定义模型属性,字段名称对应表结构。 - -- 自动返回属性值和赋值属性值。 - -- 实现基础的CRUD方法操作数据库。 - -- 可扩展自定义数据逻辑和验证规则。 - -使用模型类可以: - -- 减少直接操作数据库带来的复杂性。 - -- 跨项目重用数据层逻辑。 - -- 提高项目的可扩展性与复用性。 - -所以该目录定义的数据模型层,统一封装了项目运用的数据表模型和操作方式。 \ No newline at end of file +Model层是MVC架构中的核心组件,负责数据的持久化和业务逻辑处理。 \ No newline at end of file diff --git a/crmeb/app/model/filetree.txt b/crmeb/app/model/filetree.txt deleted file mode 100644 index 127a2aba1..000000000 --- a/crmeb/app/model/filetree.txt +++ /dev/null @@ -1,112 +0,0 @@ -. -├── activity -│   ├── advance -│   ├── bargain -│   ├── combination -│   ├── coupon -│   ├── integral -│   ├── live -│   ├── lottery -│   └── seckill -├── agent -│   ├── AgentLevel.php -│   ├── AgentLevelTask.php -│   ├── AgentLevelTaskRecord.php -│   └── DivisionAgentApply.php -├── article -│   ├── Article.php -│   ├── ArticleCategory.php -│   └── ArticleContent.php -├── diy -│   ├── Diy.php -│   ├── PageCategory.php -│   └── PageLink.php -├── order -│   ├── DeliveryService.php -│   ├── OtherOrder.php -│   ├── OtherOrderStatus.php -│   ├── StoreCart.php -│   ├── StoreOrder.php -│   ├── StoreOrderCartInfo.php -│   ├── StoreOrderEconomize.php -│   ├── StoreOrderInvoice.php -│   ├── StoreOrderRefund.php -│   ├── StoreOrderStatus.php -│   └── StorePink.php -├── other -│   ├── Agreement.php -│   ├── Auxiliary.php -│   ├── Cache.php -│   ├── Category.php -│   ├── Express.php -│   ├── Qrcode.php -│   └── TemplateMessage.php -├── product -│   ├── product -│   └── sku -├── service -│   ├── StoreService.php -│   ├── StoreServiceFeedback.php -│   ├── StoreServiceLog.php -│   ├── StoreServiceRecord.php -│   └── StoreServiceSpeechcraft.php -├── shipping -│   ├── ShippingTemplates.php -│   ├── ShippingTemplatesFree.php -│   ├── ShippingTemplatesNoDelivery.php -│   ├── ShippingTemplatesRegion.php -│   └── SystemCity.php -├── sms -│   └── SmsRecord.php -├── system -│   ├── admin -│   ├── attachment -│   ├── config -│   ├── log -│   ├── statistics -│   ├── store -│   ├── AppVersion.php -│   ├── MessageSystem.php -│   ├── SystemMenus.php -│   ├── SystemNotification.php -│   ├── SystemUserLevel.php -│   └── SystemUserTask.php -├── user -│   ├── MemberCard.php -│   ├── MemberCardBatch.php -│   ├── MemberRight.php -│   ├── MemberShip.php -│   ├── User.php -│   ├── UserAddress.php -│   ├── UserBill.php -│   ├── UserBrokerage.php -│   ├── UserBrokerageFrozen.php -│   ├── UserCancel.php -│   ├── UserExtract.php -│   ├── UserFriends.php -│   ├── UserGroup.php -│   ├── UserInvoice.php -│   ├── UserLabel.php -│   ├── UserLabelCate.php -│   ├── UserLabelRelation.php -│   ├── UserLevel.php -│   ├── UserMoney.php -│   ├── UserRecharge.php -│   ├── UserSearch.php -│   ├── UserSign.php -│   ├── UserSpread.php -│   ├── UserTaskFinish.php -│   └── UserVisit.php -├── wechat -│   ├── WechatKey.php -│   ├── WechatMedia.php -│   ├── WechatMessage.php -│   ├── WechatNewsCategory.php -│   ├── WechatQrcode.php -│   ├── WechatQrcodeCate.php -│   ├── WechatQrcodeRecord.php -│   ├── WechatReply.php -│   └── WechatUser.php -└── filetree.txt - -29 directories, 80 files diff --git a/crmeb/app/outapi/README.md b/crmeb/app/outapi/README.md index cba1402a7..73d747b3e 100644 --- a/crmeb/app/outapi/README.md +++ b/crmeb/app/outapi/README.md @@ -1,29 +1,57 @@ -crmeb/app/outapi目录用于定义项目对外开放的接口。 +# outapi 目录结构说明 -具体来说: +## 目录结构 + +``` +:. +├── config/ # 配置目录 +├── controller/ # 控制器目录 +├── middleware/ # 中间件目录 +├── route/ # 路由配置目录 +├── validate/ # 验证器目录 +├── OutApiExceptionHandle.php # 异常处理器 +├── provider.php # 服务提供者 +└── README.md # 目录说明文件 +``` + +## 目录说明 + +- **config/** - 外部API专用配置 +- **controller/** - 外部API控制器 +- **middleware/** - 外部API中间件 +- **route/** - 外部API路由配置 +- **validate/** - 外部API数据验证器 +- **OutApiExceptionHandle.php** - 外部API异常处理器 +- **provider.php** - 外部API服务提供者 + +## 控制器说明 + +- **AuthController.php** - 授权控制器,处理第三方授权 +- **Login.php** - 登录控制器,处理外部登录 +- **RefundOrder.php** - 退款订单控制器 +- **StoreCategory.php** - 商品分类控制器 +- **StoreCoupon.php** - 优惠券控制器 +- **StoreOrder.php** - 订单控制器 +- **StoreProduct.php** - 商品控制器 +- **User.php** - 用户控制器 +- **UserLevel.php** - 用户等级控制器 + +## 功能说明 + +outapi目录用于定义项目对外开放的接口: - 是项目对合作第三方开放的API接口定义目录 - - 这里的接口可以被第三方直接调用来获取数据或完成相关业务 - -- 这类API接口与内部使用的API有区别: - - - 对外开放,不需要登录授权 - - 安全限制较严,只提供必要接口 +- 与内部使用的API有区别: + - 对外开放,不需要登录授权(部分接口) + - 安全限制较严,只提供必要接口 - 接口规范遵循RESTful原则 - -- 常见场景: - - - 第方小程序/APP直接获取商品数据 - - 第方商户后台系统同步订单信息 +- 常见场景: + - 第三方小程序/APP直接获取商品数据 + - 第三方商户后台系统同步订单信息 - 小程序支付回调通知接口 -使用这个目录定义外部接口可以: - +使用这个目录定义外部接口可以: - 实现与其他系统的深度集成 - - 让更多场景能够使用CRMEB提供的能力 - -- 降低对第方的侵入性,仅开放必要接口 - -所以总结来说,outapi用于项目对外部开放的公开API,扩展第三方接入能力。 \ No newline at end of file +- 降低对第三方的侵入性,仅开放必要接口 diff --git a/crmeb/app/services/README.md b/crmeb/app/services/README.md index e6685c06d..e44149653 100644 --- a/crmeb/app/services/README.md +++ b/crmeb/app/services/README.md @@ -1,31 +1,185 @@ -crmeb/app/services目录用于定义项目的业务服务类。 +# services 目录结构说明 -服务类的主要特征和作用包括: +## 目录结构 -1. 服务类封装具体的业务逻辑和规则。 +``` +. +├── activity/ # 营销活动服务 +│ ├── advance/ # 预售活动服务 +│ ├── bargain/ # 砍价活动服务 +│ ├── combination/ # 拼团活动服务 +│ ├── coupon/ # 优惠券服务 +│ ├── integral/ # 积分活动服务 +│ ├── live/ # 直播活动服务 +│ ├── lottery/ # 抽奖活动服务 +│ └── seckill/ # 秒杀活动服务 +├── agent/ # 分销代理服务 +│ ├── AgentLevelServices.php # 代理等级服务 +│ ├── AgentLevelTaskRecordServices.php # 代理等级任务记录服务 +│ ├── AgentLevelTaskServices.php # 代理等级任务服务 +│ ├── AgentManageServices.php # 代理管理服务 +│ ├── DivisionAgentApplyServices.php # 分销代理申请服务 +│ └── DivisionServices.php # 分销服务 +├── article/ # 文章服务 +│ ├── ArticleCategoryServices.php # 文章分类服务 +│ ├── ArticleContentServices.php # 文章内容服务 +│ └── ArticleServices.php # 文章服务 +├── diy/ # 自定义页面服务 +│ ├── DiyServices.php # DIY页面服务 +│ ├── PageCategoryServices.php # 页面分类服务 +│ └── PageLinkServices.php # 页面链接服务 +├── kefu/ # 客服服务 +│ ├── service/ # 客服相关服务 +│ ├── KefuServices.php # 客服主服务 +│ ├── LoginServices.php # 客服登录服务 +│ ├── ProductServices.php # 客服商品服务 +│ └── UserServices.php # 客服用户服务 +├── message/ # 消息服务 +│ ├── notice/ # 通知服务 +│ ├── wechat/ # 微信消息服务 +│ ├── MessageSystemServices.php # 系统消息服务 +│ ├── NoticeService.php # 通知服务 +│ ├── SystemNotificationServices.php # 系统通知服务 +│ └── TemplateMessageServices.php # 模板消息服务 +├── order/ # 订单服务 +│ ├── DeliveryServiceServices.php # 配送服务 +│ ├── OtherOrderServices.php # 其他订单服务 +│ ├── OtherOrderStatusServices.php # 其他订单状态服务 +│ ├── StoreCartServices.php # 购物车服务 +│ ├── StoreOrderCartInfoServices.php # 订单商品信息服务 +│ ├── StoreOrderComputedServices.php # 订单计算服务 +│ ├── StoreOrderCreateServices.php # 订单创建服务 +│ ├── StoreOrderDeliveryServices.php # 订单配送服务 +│ ├── StoreOrderEconomizeServices.php # 订单节省服务 +│ ├── StoreOrderInvoiceServices.php # 订单发票服务 +│ ├── StoreOrderRefundServices.php # 订单退款服务 +│ ├── StoreOrderServices.php # 订单主服务 +│ ├── StoreOrderSplitServices.php # 订单拆分服务 +│ ├── StoreOrderStatusServices.php # 订单状态服务 +│ ├── StoreOrderStoreOrderCartInfoServices.php # 订单商品关联服务 +│ ├── StoreOrderStoreOrderStatusServices.php # 订单状态关联服务 +│ ├── StoreOrderSuccessServices.php # 订单成功服务 +│ ├── StoreOrderTakeServices.php # 订单接单服务 +│ ├── StoreOrderWapServices.php # WAP订单服务 +│ └── StoreOrderWriteOffServices.php # 订单核销服务 +├── other/ # 其他服务 +│ ├── export/ # 导出服务 +│ ├── AgreementServices.php # 协议服务 +│ ├── CacheServices.php # 缓存服务 +│ ├── CategoryServices.php # 分类服务 +│ ├── PosterServices.php # 海报服务 +│ ├── QrcodeServices.php # 二维码服务 +│ └── UploadService.php # 上传服务 +├── out/ # 外部服务 +│ └── LoginServices.php # 外部登录服务 +├── pay/ # 支付服务 +│ ├── OrderOfflineServices.php # 线下支付服务 +│ ├── OrderPayServices.php # 订单支付服务 +│ ├── PayNotifyServices.php # 支付通知服务 +│ ├── PayServices.php # 支付主服务 +│ ├── RechargeServices.php # 充值服务 +│ └── YuePayServices.php # 余额支付服务 +├── pc/ # PC端服务 +│ ├── CartServices.php # 购物车服务 +│ ├── HomeServices.php # 首页服务 +│ ├── LoginServices.php # 登录服务 +│ ├── OrderServices.php # 订单服务 +│ ├── ProductServices.php # 商品服务 +│ ├── PublicServices.php # 公共服务 +│ └── UserServices.php # 用户服务 +├── product/ # 商品服务 +│ ├── product/ # 商品主服务 +│ └── sku/ # SKU服务 +├── serve/ # 服务平台服务 +│ └── ServeServices.php # 服务平台主服务 +├── shipping/ # 物流配送服务 +│ ├── ExpressServices.php # 快递服务 +│ ├── ShippingTemplatesFreeCityServices.php # 运费模板免费城市服务 +│ ├── ShippingTemplatesFreeServices.php # 运费模板免费设置服务 +│ ├── ShippingTemplatesNoDeliveryCityServices.php # 运费模板不配送城市服务 +│ ├── ShippingTemplatesNoDeliveryServices.php # 运费模板不配送设置服务 +│ ├── ShippingTemplatesRegionCityServices.php # 运费模板区域城市服务 +│ ├── ShippingTemplatesRegionServices.php # 运费模板区域服务 +│ ├── ShippingTemplatesServices.php # 运费模板主服务 +│ └── SystemCityServices.php # 系统城市服务 +├── statistic/ # 统计服务 +│ ├── CapitalFlowServices.php # 资金流水统计 +│ ├── OrderStatisticServices.php # 订单统计 +│ ├── ProductStatisticServices.php # 商品统计 +│ ├── TradeStatisticServices.php # 交易统计 +│ └── UserStatisticServices.php # 用户统计 +├── system/ # 系统服务 +│ ├── admin/ # 管理员服务 +│ ├── attachment/ # 附件服务 +│ ├── config/ # 配置服务 +│ ├── log/ # 日志服务 +│ ├── store/ # 店铺服务 +│ ├── AppVersionServices.php # 应用版本服务 +│ ├── SystemAuthServices.php # 系统权限服务 +│ ├── SystemClearServices.php # 系统清理服务 +│ ├── SystemDatabackupServices.php # 系统备份服务 +│ ├── SystemMenusServices.php # 系统菜单服务 +│ └── SystemUserLevelServices.php # 系统用户等级服务 +├── user/ # 用户服务 +│ ├── member/ # 会员服务 +│ ├── LoginServices.php # 登录服务 +│ ├── UserAddressServices.php # 用户地址服务 +│ ├── UserAuthServices.php # 用户认证服务 +│ ├── UserBillServices.php # 用户账单服务 +│ ├── UserBillStoreOrderServices.php # 用户账单订单关联服务 +│ ├── UserBrokerageFrozenServices.php # 用户冻结佣金服务 +│ ├── UserBrokerageServices.php # 用户佣金服务 +│ ├── UserCancelServices.php # 用户注销服务 +│ ├── UserExtractServices.php # 用户提现服务 +│ ├── UserFriendsServices.php # 用户好友服务 +│ ├── UserGroupServices.php # 用户分组服务 +│ ├── UserInvoiceServices.php # 用户发票服务 +│ ├── UserLabelCateServices.php # 用户标签分类服务 +│ ├── UserLabelRelationServices.php # 用户标签关系服务 +│ ├── UserLabelServices.php # 用户标签服务 +│ ├── UserLevelServices.php # 用户等级服务 +│ ├── UserMoneyServices.php # 用户余额服务 +│ ├── UserRechargeServices.php # 用户充值服务 +│ ├── UserSearchServices.php # 用户搜索服务 +│ ├── UserServices.php # 用户主服务 +│ ├── UserSignServices.php # 用户签到服务 +│ ├── UserSpreadServices.php # 用户推广服务 +│ ├── UserStoreOrderServices.php # 用户订单关联服务 +│ ├── UserTaskFinishServices.php # 用户任务完成服务 +│ ├── UserUserBillServices.php # 用户账单关联服务 +│ ├── UserUserBrokerageServices.php # 用户佣金关联服务 +│ ├── UserVisitServices.php # 用户访问服务 +│ └── UserWechatuserServices.php # 用户微信关联服务 +├── wechat/ # 微信服务 +│ ├── RoutineServices.php # 小程序服务 +│ ├── WechatKeyServices.php # 微信密钥服务 +│ ├── WechatMediaServices.php # 微信媒体服务 +│ ├── WechatMenuServices.php # 微信菜单服务 +│ ├── WechatMessageServices.php # 微信消息服务 +│ ├── WechatNewsCategoryServices.php # 微信图文分类服务 +│ ├── WechatQrcodeCateServices.php # 微信二维码分类服务 +│ ├── WechatQrcodeRecordServices.php # 微信二维码记录服务 +│ ├── WechatQrcodeServices.php # 微信二维码服务 +│ ├── WechatReplyKeyServices.php # 微信回复关键词服务 +│ ├── WechatReplyServices.php # 微信回复服务 +│ ├── WechatServices.php # 微信主服务 +│ └── WechatUserServices.php # 微信用户服务 +├── yihaotong/ # 易号通短信服务 +│ ├── SmsAdminServices.php # 短信管理服务 +│ ├── SmsRecordServices.php # 短信记录服务 +│ └── SmsTemplateApplyServices.php # 短信模板申请服务 +├── BaseServices.php # 服务基类 +└── readme.md # 目录说明文件 +``` -2. 完成功能模块的抽象,提供统一的业务接口。 +## 功能说明 -3. 解耦项目各部分,降低他们之间的耦合度。 +services层封装复杂的业务逻辑,提供统一的业务接口: -4. 提供给上下文的整个环境使用。 +- **业务逻辑封装** - 将复杂业务逻辑封装为服务方法 +- **事务管理** - 提供数据库事务管理 +- **数据验证** - 业务数据验证和过滤 +- **第三方服务集成** - 集成支付、短信、微信等第三方服务 +- **数据统计** - 提供各种数据统计和分析功能 -具体来说: - -- 每个服务类对应一个独立的业务功能或规则集合。 - -- 类内部可以调用其它模块完成业务需求。 - -- 对外提供简单的业务接口,隐藏内部实现细节。 - -- 服务类存在依赖关系,可以互相调用实现聚合服务。 - -使用服务层设计可以: - -- 松耦合各个模块,提高扩展和重用能力。 - -- 同一个业务规则在多个场景复用。 - -- 加强项目的可测试性与维护性。 - -所以此目录定义了项目核心业务服务模块,对外提供可复用的核心能力。 \ No newline at end of file +Services层是业务逻辑的核心,负责协调各个模块完成复杂的业务操作。 \ No newline at end of file diff --git a/crmeb/app/services/filetree.txt b/crmeb/app/services/filetree.txt deleted file mode 100644 index 3cba171ac..000000000 --- a/crmeb/app/services/filetree.txt +++ /dev/null @@ -1,169 +0,0 @@ -. -├── activity -│   ├── advance -│   ├── bargain -│   ├── combination -│   ├── coupon -│   ├── integral -│   ├── live -│   ├── lottery -│   └── seckill -├── agent -│   ├── AgentLevelServices.php -│   ├── AgentLevelTaskRecordServices.php -│   ├── AgentLevelTaskServices.php -│   ├── AgentManageServices.php -│   ├── DivisionAgentApplyServices.php -│   └── DivisionServices.php -├── article -│   ├── ArticleCategoryServices.php -│   ├── ArticleContentServices.php -│   └── ArticleServices.php -├── diy -│   ├── DiyServices.php -│   ├── PageCategoryServices.php -│   └── PageLinkServices.php -├── kefu -│   ├── service -│   ├── KefuServices.php -│   ├── LoginServices.php -│   ├── ProductServices.php -│   └── UserServices.php -├── message -│   ├── notice -│   ├── wechat -│   ├── MessageSystemServices.php -│   ├── NoticeService.php -│   ├── SystemNotificationServices.php -│   └── TemplateMessageServices.php -├── order -│   ├── DeliveryServiceServices.php -│   ├── OtherOrderServices.php -│   ├── OtherOrderStatusServices.php -│   ├── StoreCartServices.php -│   ├── StoreOrderCartInfoServices.php -│   ├── StoreOrderComputedServices.php -│   ├── StoreOrderCreateServices.php -│   ├── StoreOrderDeliveryServices.php -│   ├── StoreOrderEconomizeServices.php -│   ├── StoreOrderInvoiceServices.php -│   ├── StoreOrderRefundServices.php -│   ├── StoreOrderServices.php -│   ├── StoreOrderSplitServices.php -│   ├── StoreOrderStatusServices.php -│   ├── StoreOrderStoreOrderCartInfoServices.php -│   ├── StoreOrderStoreOrderStatusServices.php -│   ├── StoreOrderSuccessServices.php -│   ├── StoreOrderTakeServices.php -│   ├── StoreOrderWapServices.php -│   └── StoreOrderWriteOffServices.php -├── other -│   ├── export -│   ├── AgreementServices.php -│   ├── CacheServices.php -│   ├── CategoryServices.php -│   ├── PosterServices.php -│   ├── QrcodeServices.php -│   └── UploadService.php -├── out -│   └── LoginServices.php -├── pay -│   ├── OrderOfflineServices.php -│   ├── OrderPayServices.php -│   ├── PayNotifyServices.php -│   ├── PayServices.php -│   ├── RechargeServices.php -│   └── YuePayServices.php -├── pc -│   ├── CartServices.php -│   ├── HomeServices.php -│   ├── LoginServices.php -│   ├── OrderServices.php -│   ├── ProductServices.php -│   ├── PublicServices.php -│   └── UserServices.php -├── product -│   ├── product -│   └── sku -├── serve -│   └── ServeServices.php -├── shipping -│   ├── ExpressServices.php -│   ├── ShippingTemplatesFreeCityServices.php -│   ├── ShippingTemplatesFreeServices.php -│   ├── ShippingTemplatesNoDeliveryCityServices.php -│   ├── ShippingTemplatesNoDeliveryServices.php -│   ├── ShippingTemplatesRegionCityServices.php -│   ├── ShippingTemplatesRegionServices.php -│   ├── ShippingTemplatesServices.php -│   └── SystemCityServices.php -├── statistic -│   ├── CapitalFlowServices.php -│   ├── OrderStatisticServices.php -│   ├── ProductStatisticServices.php -│   ├── TradeStatisticServices.php -│   └── UserStatisticServices.php -├── system -│   ├── admin -│   ├── attachment -│   ├── config -│   ├── log -│   ├── store -│   ├── AppVersionServices.php -│   ├── SystemAuthServices.php -│   ├── SystemClearServices.php -│   ├── SystemDatabackupServices.php -│   ├── SystemMenusServices.php -│   └── SystemUserLevelServices.php -├── user -│   ├── member -│   ├── LoginServices.php -│   ├── UserAddressServices.php -│   ├── UserAuthServices.php -│   ├── UserBillServices.php -│   ├── UserBillStoreOrderServices.php -│   ├── UserBrokerageFrozenServices.php -│   ├── UserBrokerageServices.php -│   ├── UserCancelServices.php -│   ├── UserExtractServices.php -│   ├── UserFriendsServices.php -│   ├── UserGroupServices.php -│   ├── UserInvoiceServices.php -│   ├── UserLabelCateServices.php -│   ├── UserLabelRelationServices.php -│   ├── UserLabelServices.php -│   ├── UserLevelServices.php -│   ├── UserMoneyServices.php -│   ├── UserRechargeServices.php -│   ├── UserSearchServices.php -│   ├── UserServices.php -│   ├── UserSignServices.php -│   ├── UserSpreadServices.php -│   ├── UserStoreOrderServices.php -│   ├── UserTaskFinishServices.php -│   ├── UserUserBillServices.php -│   ├── UserUserBrokerageServices.php -│   ├── UserVisitServices.php -│   └── UserWechatuserServices.php -├── wechat -│   ├── RoutineServices.php -│   ├── WechatKeyServices.php -│   ├── WechatMediaServices.php -│   ├── WechatMenuServices.php -│   ├── WechatMessageServices.php -│   ├── WechatNewsCategoryServices.php -│   ├── WechatQrcodeCateServices.php -│   ├── WechatQrcodeRecordServices.php -│   ├── WechatQrcodeServices.php -│   ├── WechatReplyKeyServices.php -│   ├── WechatReplyServices.php -│   ├── WechatServices.php -│   └── WechatUserServices.php -├── yihaotong -│   ├── SmsAdminServices.php -│   ├── SmsRecordServices.php -│   └── SmsTemplateApplyServices.php -├── BaseServices.php -└── filetree.txt - -39 directories, 128 files diff --git a/crmeb/backup/readme.md b/crmeb/backup/readme.md index af3066174..4c6490cee 100644 --- a/crmeb/backup/readme.md +++ b/crmeb/backup/readme.md @@ -1 +1,24 @@ -crmeb/backup 目录在CRMEB项目中的主要作用是用于保存备份文件和数据库文件的。 +# backup 目录结构说明 + +## 目录说明 + +backup目录在CRMEB项目中用于保存备份文件和数据库文件。 + +## 功能说明 + +- **数据库备份** - 存放数据库定时备份文件 +- **文件备份** - 存放系统重要文件的备份 +- **恢复功能** - 支持从备份文件恢复数据和配置 + +## 使用场景 + +- 定期自动备份数据库 +- 系统升级前的手动备份 +- 数据迁移时的导出备份 +- 灾难恢复时的数据还原 + +## 注意事项 + +- 定期清理过期备份文件,释放存储空间 +- 备份文件应定期验证完整性 +- 敏感数据备份应注意加密保护 diff --git a/crmeb/config/README.md b/crmeb/config/README.md index 2c52fddcc..00eee4684 100644 --- a/crmeb/config/README.md +++ b/crmeb/config/README.md @@ -1,27 +1,67 @@ -crmeb/config目录用来存放项目的配置文件。 +# config 目录结构说明 -在PHP项目开发中,配置文件扮演着非常重要的角色: +## 目录结构 -- 放置各种系统级参数和设置,如数据库连接信息等 -- 分离软件代码和运行环境设置,方便部署 -- 运行时根据配置加载系统服务和组件 -- 参数可在不修改代码的情况下进行变更 +``` +:. +├── ajcaptcha.php # 滑块验证码配置 +├── app.php # 应用基础配置 +├── cache.php # 缓存配置 +├── captcha.php # 验证码配置 +├── console.php # 命令行配置 +├── cookie.php # Cookie配置 +├── database.php # 数据库配置 +├── filesystem.php # 文件系统配置 +├── lang.php # 多语言配置 +├── log.php # 日志配置 +├── pay.php # 支付配置 +├── plat.php # 对接平台配置 +├── printer.php # 小票打印机配置 +├── qrcode.php # 二维码配置 +├── queue.php # 队列配置 +├── route.php # 路由配置 +├── session.php # Session配置 +├── sms.php # 短信配置 +├── trace.php # 调试配置 +├── upload.php # 上传配置 +├── view.php # 模板配置 +├── workerman.php # Workerman配置 +└── README.md # 目录说明文件 +``` -CRMEB项目中config目录负责: +## 文件说明 -- 放置如数据库、本地缓存、第三方开放API等系统配置 -- 定义项目组件自动加载机制 -- 路由和URL重写规则 -- 错误和日志输出级别 -- 各环境参数差异配置隔离 +- **ajcaptcha.php** - 滑块验证码配置,用于行为验证 +- **app.php** - 应用基础配置,包括时区、字符集、应用模式等 +- **cache.php** - 缓存驱动配置,支持Redis、Memcached、文件等 +- **captcha.php** - 验证码生成和验证配置 +- **console.php** - 命令行应用配置 +- **cookie.php** - Cookie配置,包括域名、路径、有效期等 +- **database.php** - 数据库连接和查询配置,支持MySQL、SQLite等 +- **filesystem.php** - 本地存储和云存储配置 +- **lang.php** - 多语言配置,默认语言、语言包路径等 +- **log.php** - 日志配置,记录方式、级别、路径等 +- **pay.php** - 支付接口配置,包括微信支付、支付宝等 +- **plat.php** - 对接平台配置,如小程序、公众号等 +- **printer.php** - 小票打印机配置,连接方式、打印模板等 +- **qrcode.php** - 二维码生成配置 +- **queue.php** - 消息队列配置,支持Redis、数据库、Sync驱动 +- **route.php** - 路由配置,URL路由规则、域名部署等 +- **session.php** - Session配置,驱动、过期时间等 +- **sms.php** - 短信服务配置,支持腾讯云、阿里云等 +- **trace.php** - 调试配置,页面Trace显示 +- **upload.php** - 文件上传配置,大小限制、保存路径等 +- **view.php** - 模板引擎配置,模板路径、缓存配置等 +- **workerman.php** - Workerman WebSocket服务配置 -项目在运行时会加载并解析这些配置: +## 功能说明 -- 初始化系统服务如数据库连接 -- 注册组件到容器 -- 根据配置加载运行环境 -- 提供参数和变量给其它模块 +config目录包含系统所有的配置文件: -所以该目录定义了项目的系统架构和运行环境,对项目有重要影响。 +- **应用配置** - 定义应用的基础运行参数 +- **数据存储** - 数据库、缓存、文件存储配置 +- **第三方服务** - 支付、短信、验证码配置 +- **路由与安全** - 路由规则、跨域、认证配置 +- **开发调试** - 日志、调试、Trace配置 -它通过配置实现项目的可配置性和扩展性。 \ No newline at end of file +修改配置文件后需要清除缓存或重启服务生效。 diff --git a/crmeb/config/filetree.txt b/crmeb/config/filetree.txt deleted file mode 100644 index ae80c0a69..000000000 --- a/crmeb/config/filetree.txt +++ /dev/null @@ -1,26 +0,0 @@ -. -├── app.php // -├── cache.php //缓存配置 -├── captcha.php //验证码配置 -├── console.php //命令行配置 -├── cookie.php //cookie配置 -├── database.php //数据库配置 -├── filesystem.php //系统文件目录配置 -├── lang.php //多语言配置 -├── log.php //日志配置 -├── pay.php //支付配置 -├── plat.php //对接平台配置 -├── printer.php //小票打印机配置 -├── qrcode.php //二维码配置 -├── queue.php //队列配置 -├── route.php //路由配置 -├── session.php //session配置 -├── sms.php //短信发送配置 -├── template.php //微信模版消息配置 -├── trace.php //调试配置 -├── upload.php //上传配置 -├── view.php //模版配置 -├── workerman.php //workerman配置 -└── filetree.txt //目录文件说明 - -0 directories, 23 files diff --git a/crmeb/crmeb/README.md b/crmeb/crmeb/README.md index 833897afb..ee919b98e 100644 --- a/crmeb/crmeb/README.md +++ b/crmeb/crmeb/README.md @@ -1,15 +1,86 @@ -crmeb目录在CRMEB项目中的作用是一个特殊目录 +# crmeb 核心目录结构说明 -- crmeb目录实际上是整个项目的核心库目录 -- 它包含项目的核心类、traits、异常定义等 -- 这些核心文件提供给整个项目 reused -- 例如请求处理类、响应处理类等 -- 它实现了项目特定的封装和扩展 -- 使项目各部分能够在一套框架体系下开发 +## 目录结构 -简而言之,crmeb目录: +``` +. +├── basic/ # 基础类库 +│ ├── BaseController.php # 控制器基类 +│ ├── BaseJobs.php # 队列基类 +│ ├── BaseManager.php # 驱动管理基类 +│ ├── BaseModel.php # Model基类 +│ └── BaseStorage.php # 驱动基类 +├── command/ # 命令行工具 +│ ├── stubs/ # 命令模板 +│ ├── Dao.php # 创建Dao类命令 +│ ├── Service.php # 创建Service类命令 +│ ├── Timer.php # 定时任务命令类 +│ └── Workerman.php # Workerman命令类 +├── exceptions/ # 异常处理类 +│ ├── AdminException.php # 后台管理端异常 +│ ├── ApiException.php # 移动端接口异常 +│ ├── AuthException.php # 用户授权异常 +│ ├── PayException.php # 支付异常 +│ ├── SmsException.php # 短信异常 +│ ├── TemplateException.php # 微信模板消息异常 +│ ├── UploadException.php # 上传异常 +│ └── WechatReplyException.php # 微信自动回复异常 +├── interfaces/ # 接口定义 +│ ├── JobInterface.php # 队列任务接口 +│ ├── ListenerInterface.php # 事件接口 +│ ├── MiddlewareInterface.php # 中间件接口 +│ └── ProviderInterface.php # 容器接口 +├── services/ # 服务类 +│ ├── app/ # 应用端服务 +│ ├── easywechat/ # EasyWechat集成 +│ ├── express/ # 物流查询服务 +│ ├── pay/ # 支付服务 +│ ├── printer/ # 打印机服务 +│ ├── copyproduct/ # 商品采集服务 +│ ├── serve/ # 服务平台服务 +│ ├── sms/ # 短信服务 +│ ├── template/ # 模板消息服务 +│ ├── upload/ # 上传服务 +│ ├── workerman/ # Workerman服务 +│ ├── AccessTokenServeService.php # Token获取服务 +│ ├── AliPayService.php # 支付宝服务 +│ ├── CacheService.php # 缓存服务 +│ ├── FileService.php # 文件处理服务 +│ ├── FormBuilder.php # 表单生成器 +│ ├── GroupDataService.php # 组合数据服务 +│ ├── HttpService.php # HTTP请求服务 +│ ├── MysqlBackupService.php # 数据库备份服务 +│ ├── SpreadsheetExcelService.php # Excel处理服务 +│ ├── SystemConfigService.php # 系统配置服务 +│ ├── UpgradeService.php # 系统更新服务 +│ └── UploadService.php # 文件上传服务 +├── traits/ # Trait扩展 +│ ├── ErrorTrait.php # 错误处理扩展 +│ ├── JwtAuthModelTrait.php # JWT鉴权扩展 +│ ├── ModelTrait.php # Model扩展 +│ ├── QueueTrait.php # 队列扩展 +│ ├── SearchDaoTrait.php # DAO扩展 +│ └── ServicesTrait.php # Services扩展 +└── utils/ # 工具类 + ├── Arr.php # 数组操作工具 + ├── Canvas.php # 图片处理工具 + ├── Captcha.php # 验证码工具 + ├── DownloadImage.php # 远程图片下载工具 + ├── ErrorCode.php # 错误码处理工具 + ├── Hook.php # 钩子工具 + ├── Json.php # JSON处理工具 + ├── JwtAuth.php # JWT鉴权工具 + ├── QRcode.php # 二维码工具 + ├── Queue.php # 队列工具 + └── Str.php # 字符串处理工具 +``` -- 包含项目的各种核心基础支持类 -- 为整个项目提供基础功能定定义 -- 使项目具备一致性和可扩展性 -- 是项目最核心和基础的代码库 +## 目录说明 + +- **basic/** - 基础类库,提供各种基类供业务模块继承 +- **command/** - 命令行工具,用于生成代码和系统维护 +- **exceptions/** - 自定义异常类,提供统一的异常处理 +- **interfaces/** - 接口定义,规范各模块的实现 +- **services/** - 核心服务类,封装各种第三方服务和业务逻辑 +- **traits/** - Trait扩展,提供可复用的代码片段 +- **utils/** - 工具类,提供各种实用功能 diff --git a/crmeb/crmeb/filetree.txt b/crmeb/crmeb/filetree.txt deleted file mode 100644 index 9f946cadf..000000000 --- a/crmeb/crmeb/filetree.txt +++ /dev/null @@ -1,73 +0,0 @@ -. -├── basic -│   ├── BaseController.php //控制器基类 -│   ├── BaseJobs.php //队列基类 -│   ├── BaseManager.php //驱动管理基类 -│   ├── BaseModel.php //model基类 -│   └── BaseStorage.php //驱动基类 -├── command -│   ├── stubs //命令模版 -│   ├── Dao.php //创建Dao类命令 -│   ├── Service.php //创建Service类命令 -│   ├── Timer.php //定时任务命令类 -│   └── Workerman.php //workman命令类 -├── exceptions -│   ├── AdminException.php //后台管理端异常处理 -│   ├── ApiException.php //移动端接口异常处理 -│   ├── AuthException.php //用户授权异常处理 -│   ├── PayException.php //支付异常处理 -│   ├── SmsException.php //短信异常处理 -│   ├── TemplateException.php //微信模版消息异常处理 -│   ├── UploadException.php //上传异常处理 -│   └── WechatReplyException.php //微信自动回复异常处理 -├── interfaces -│   ├── JobInterface.php //队列任务 -│   ├── ListenerInterface.php //事件 -│   ├── MiddlewareInterface.php //中间件 -│   └── ProviderInterface.php //容器 -├── services -│   ├── app //应用端 -│   ├── easywechat //easywechat -│   ├── express //物流查询 -│   ├── pay //支付 -│   ├── printer //打印机 -│   ├── copyproduct //采集商品 -│   ├── serve //服务平台 -│   ├── sms //短信 -│   ├── template //模版消息 -│   ├── upload //上传 -│   ├── workerman //workerman -│   ├── AccessTokenServeService.php //获取token -│   ├── AliPayService.php -│   ├── CacheService.php //缓存类 -│   ├── FileService.php //文件处理类 -│   ├── FormBuilder.php //自动生成表单类 -│   ├── GroupDataService.php //组合数据类 -│   ├── HttpService.php //curl 请求处理类 -│   ├── MysqlBackupService.php //数据库备份管理类 -│   ├── SpreadsheetExcelService.php //excel处理类 -│   ├── SystemConfigService.php //系统配置获取类 -│   ├── UpgradeService.php //系统更新类 -│   └── UploadService.php //文件上传类 -├── traits -│   ├── ErrorTrait.php //错误处理扩展类 -│   ├── JwtAuthModelTrait.php //Jwt鉴权扩展类 -│   ├── ModelTrait.php //model扩展类 -│   ├── QueueTrait.php //队列扩展累 -│   ├── SearchDaoTrait.php //dao扩展类 -│   └── ServicesTrait.php //Services扩展类 -├── utils -│   ├── Arr.php //操作数组帮助类 -│   ├── Canvas.php //图片处理类 -│   ├── Captcha.php //验证码类 -│   ├── DownloadImage.php //远程图片下载类 -│   ├── ErrorCode.php //错误码处理类 -│   ├── Hook.php //钩子类 -│   ├── Json.php //Json处理类 -│   ├── JwtAuth.php //Jwt鉴权类 -│   ├── QRcode.php //二维码获取类 TODO -│   ├── Queue.php //队列类 -│   └── Str.php //字符处理类 -└── filetree.txt - -17 directories, 70 files diff --git a/crmeb/filetree.txt b/crmeb/filetree.txt deleted file mode 100644 index 78aff9d69..000000000 --- a/crmeb/filetree.txt +++ /dev/null @@ -1,24 +0,0 @@ -. -├── app 程序主目录 -├── backup 数据库/程序升级备份目录 -├── config 系统配置 -├── crmeb crmeb核心文件目录 -├── public 程序入口目录 -├── route 程序入口路由配置 -├── runtime 缓存目录 -├── temp docker临时文件目录 -├── vendor 扩展包compose 安装目录 -├── LICENSE.txt 开源协议 -├── README.md 系统说明 -├── baota.sh 宝塔快速配置环境文件 -├── build.example.php -├── composer.json -├── composer.lock -├── filetree.txt -├── think tp命令文件入口 -├── timer.pid 定时任务生成文件 -├── updatesql.sql -├── workerman.bat windows 启动workerman命令文件 -└── workerman.pid workerman生成文件 - -9 directories, 12 files diff --git a/crmeb/public/README.md b/crmeb/public/README.md index ca1ef9539..dccafb3b9 100644 --- a/crmeb/public/README.md +++ b/crmeb/public/README.md @@ -1,29 +1,51 @@ -crmeb/public目录在CRMEB项目中的主要作用是: +# public 目录结构说明 -- 作为网站前端或移动端访问的入口目录 +## 目录结构 -- 存放项目对外访问的静态资源,如css、js、图片等文件 +``` +:. +├── .htaccess # Apache伪静态配置 +├── admin/ # 后台管理静态资源 +├── assets/ # 公共静态资源 +├── favicon.ico # 网站图标 +├── index.html # 静态HTML入口 +├── index.php # PHP入口文件 +├── install/ # 安装向导目录 +├── mobile.html # 移动端入口HTML +├── nginx.htaccess # Nginx伪静态配置 +├── pages/ # 页面模板目录 +├── product_migration.xlsx # 商品迁移Excel模板 +├── robots.txt # 搜索引擎robots文件 +├── router.php # 路由入口文件 +├── service_pay_result.html # 支付结果页面 +├── static/ # 静态文件目录 +├── statics/ # 静态资源目录(样式、脚本) +├── upgrade/ # 升级向导目录 +├── uploads/ # 上传文件目录 +└── README.md # 目录说明文件 +``` -- 包含index.php入口文件,用于路由到具体控制器 +## 目录说明 -- 通过.htaccess实现伪静态URL规则的解析 +- **admin/** - 后台管理端静态资源(CSS、JS、图片) +- **assets/** - 项目公共静态资源 +- **index.php** - 项目主入口文件 +- **install/** - 系统安装向导 +- **static/statics** - 前端静态资源目录 +- **uploads/** - 用户上传文件目录 +- **pages/** - 移动端页面模板 -具体来说: +## 功能说明 -- 用户通过浏览器或APP都访问public目录下的文件 +public目录是网站的入口目录: -- 目录下文件不会包含任何项目核心代码 +- **入口作用** - 外部访问项目的唯一入口 +- **静态资源** - 存放CSS、JS、图片等静态文件 +- **安全隔离** - 通过入口文件路由,隐藏项目内部结构 +- **伪静态** - 通过.htaccess实现URL重写 -- 路由解析后分发到实际的控制器处处理 +## 安全说明 -- 资源文件可以通过CDN或其他方式托管发布 - -使用这个目录设计的优点: - -- 隐藏实际项目内部文件结构 - -- 提高安全性,外部无法直接访问代码 - -- 实现静态资源优化发布效果 - -所以它扮演着项目对外"外壳"的作用,承担了项目入口和资源存放功能。 \ No newline at end of file +- 不应在此目录存放敏感文件 +- 上传目录应限制文件类型 +- 定期清理临时上传文件 diff --git a/crmeb/route/README.md b/crmeb/route/README.md index 240a6ca13..9031f51db 100644 --- a/crmeb/route/README.md +++ b/crmeb/route/README.md @@ -1,34 +1,36 @@ -crmeb/route目录在CRMEB项目中的主要作用是用于定义项目的路由规则。 +# route 目录结构说明 -1. 定义一个 Route::miss 方法处理路由未匹配的情况 +## 目录结构 -2. 根据请求路径获取应用名称(如 admin、app 等) +``` +:. +├── route.php # 主路由配置 +└── README.md # 目录说明文件 +``` -3. 根据应用名称返回不同的视图文件 +## 文件说明 - - admin前台后台分别返回不同入口 +- **route.php** - 项目主路由配置文件 - - app/kefu定义了对应的视图 +## 功能说明 - - home覆盖移动端和PC入口 +route目录用于定义项目的路由规则: - - 其它情况判断是否移动端返回不同视图 +- **路由匹配** - 定义URL与控制器的映射关系 +- **路由未匹配** - 处理404情况,返回默认页面 +- **应用分发** - 根据域名或路径判断请求的应用(admin、app、kefu等) +- **视图分发** - 根据请求信息智能匹配视图资源文件 +- **多端适配** - 实现PC端和移动端自动切换 -4. 完整定义了项目所有可能的路由入口 +## 路由规则说明 -5. 根据请求信息智能匹配视图资源文件 +- 解析请求路径获取应用名称 +- 根据应用名称返回不同的视图或API +- 支持域名绑定和路由分组 +- 统一处理所有路由匹配情况 -主要作用: +## 注意事项 -- 统一处理所有路由匹配 -- 隐藏实际控制器入口 -- 根据应用名分发页面 -- 实现PC端和移动端自动切换 - -这种设计可以: - -- 完整覆盖所有路由情况 -- 隐藏实际路由层次结构 -- 实现智能的页面分发 - -是动态路由设计的一个很好范例。 \ No newline at end of file +- 修改路由后清除缓存 +- 路由规则有优先级,从上到下匹配 +- 避免路由冲突