CRMEB Pro 二次开发指南

发布时间:2026/5/30 1:17:17

CRMEB Pro 二次开发指南 CRMEB Pro 二次开发指南文档目标面向技术读者的二次开发指南覆盖架构认知、扩展切入点、标准范式与示例兼顾推广突出高可扩展性、事件机制、标准接口、微信生态能力与性能优势项目概览后端框架ThinkPHP 8 Swoole4标准前后端分离接口清晰参考README.md:160分层架构Controller → Services → Dao/Model职责明确、便于维护核心能力事件机制、Job 队列、权限中间件、FormBuilder 后台表单生成、WebSocket 推送生态整合微信公众号/小程序/企业微信EasyWeChat 能力完备快速安装运行目录/public参考README.md:195架构与技术栈目录结构app/controller控制器层admin/api/pc/erp等app/services业务服务层统一业务入口示例app/services/BaseServices.php:1app/dao数据访问层查询与分页封装app/model模型层数据结构与关系示例app/model/user/User.php:1route/admin.php后台路由集中注册示例route/admin.php:560app/event.php事件注册中心示例app/event.php:86app/http/middleware中间件与权限校验示例app/http/middleware/admin/AdminCkeckRoleMiddleware.php:20config/*.php配置系统文件系统、支付、队列、上传、微信等示例config/filesystem.php:1设计约定Controller 轻业务、主导路由与参数校验Service 承载业务流程与组合逻辑Dao 聚焦查询与数据分页不写业务Model 定义数据结构与基础关系事件优先解耦Job 异步削峰二开原则遵循分层新增功能尽量落在 Services Dao Controller对外暴露标准接口先找现有能力扩展前检索是否已有事件、服务、配置或组件可复用配置驱动系统参数统一走sys_config(key)与SystemConfigServices安全与权限新增后台操作走权限中间件与角色校验可观测关键流程接入事件或日志便于追踪与回滚扩展切入点路由扩展后台与 API 路由集中在route/admin.php:560可按模块分组并绑定统一中间件事件系统事件注册app/event.php:86商品、门店、供应商、企业微信等企业微信事件示例app/event.php:100中间件管理端权限app/http/middleware/admin/AdminCkeckRoleMiddleware.php:20API 开关如社区开关app/http/middleware/api/CommunityOpenMiddleware.php:1配置中心使用SystemConfigServices增加配置项与界面呈现参考app/services/system/config/SystemConfigServices.php:2324表单构建使用crmeb\services\FormBuilder快速生成后台表单参考app/services/product/stock/StockRecordServices.php:27队列与异步app/jobs/*承接耗时与通知任务事件驱动触发快速示例新增“用户扩展信息”模块目标为用户新增扩展字段如会员偏好支持后台列表与编辑数据层Modelapp/model/user/UserExtend.php:1Daoapp/dao/user/UserExtendDao.php:1服务层Serviceapp/services/user/UserExtendServices.php:23已提供getList及基础方法控制器与路由在app/controller/admin/v1/user下新增 Controller继承AuthController在route/admin.php:83模块组下添加资源路由与中间件AllowOriginMiddleware、AdminAuthTokenMiddleware、AdminCkeckRoleMiddleware、AdminLogMiddleware表单与配置使用FormBuilder生成新增/编辑表单参考app/services/system/SystemSignRewardServices.php:21若需开关或枚举添加系统配置并通过sys_config(key)获取权限与展示走权限校验app/http/middleware/admin/AdminCkeckRoleMiddleware.php:20在后台菜单配置中为新模块分配角色权限事件与队列内置事件示例商品、门店、供应商、企业微信欢迎语等参考app/event.php:86用户注册监听示例权益发放与关系绑定app/listener/user/Register.php:68触发消息通知event(notice.notice, [...])企业微信消息监听示例app/listener/wechat/OffcialAccountListener.php:21使用方式触发event(key, $payload)或Event::trigger(key, $data)异步 Job如UserIntegralJob::dispatchDo(newcomerGiveIntegral, [$uid])参考app/listener/user/Register.php:68中间件与权限管理端权限校验app/http/middleware/admin/AdminCkeckRoleMiddleware.php:20API 开关控制app/http/middleware/api/CommunityOpenMiddleware.php:1路由绑定中间件路由组统一绑定参考route/admin.php:560微信生态小程序与公众号小程序服务入口app/services/wechat/RoutineServices.php:49API 控制器app/controller/api/v1/wechat/Wechat.php:53企业微信Work 配置与客户端crmeb/services/wechat/config/WorkConfig.php:1crmeb/services/wechat/client/work/DepartmentClient.php:20管理端控制器app/controller/admin/v1/work/Client.php:22消息与二维码二维码服务app/services/wechat/WechatQrcodeServices.php:31消息封装crmeb/services/wechat/message/HasAttributes.php:19配置与存储文件系统扩展config/filesystem.php:1可新增磁盘如 OSS、COS、Kodo管理端存储配置app/controller/admin/v1/system/config/SystemStorage.php:19配置界面构建SystemConfigServices表单化管理参考app/services/system/config/SystemConfigServices.php:2324WebSocket 推送管理端推送处理app/webscoket/handler/AdminHandler.php:19用户端推送处理app/webscoket/handler/UserHandler.php:21用途实时消息提醒、订单状态、客服消息等开发与部署安装与运行目录参考README.md:195生成器与命令crmeb/command提供 Dao/Service 等生成Swoole 与队列配置见config/swoole.php、config/queue.php环境建议PHP 8.0Redis 缓存MySQL 5.7Nginx 静态与反向代理常见二开场景速查新增后台管理模块建 Model/Dao/Service/Controller → 路由组注册 → 权限与菜单 → FormBuilder 表单接入新支付或存储在config/pay.php/config/filesystem.php:1扩展驱动 → 增加配置项 → 写适配 Service订单流转自定义在app/event.php:86挂载订单相关事件监听器创建、支付、发货、核销增加开关与策略配置新增 → 中间件校验参考app/http/middleware/api/CommunityOpenMiddleware.php:1企业微信自动化通过WorkConfig与Work*Services打通客户标签、群发、欢迎语

相关新闻