Skip to content

项目概述

EBAOZU 多门店 V4,基于 CRMEB 二次开发的多门店电商与租赁平台。

  • 后端:ThinkPHP 8.0 + Swoole 4,PHP 8.0+
  • 前端:总后台 Admin(view/admin)、门店后台 Store(view/store)、移动端 Uniapp(view/uniapp

技术栈

技术版本/说明
Swoole4.0.10(topthink/think-swoole
ThinkPHP ORM3.0
Think Queue3.0
MySQL>= 8.0
Redis缓存、队列、WebSocket 房间
支付宝Alipay EasySDK 2.2
总管理后台Vue 2.6 + View UI
移动端Vue 2 + Uni-app

目录结构

app/
  controller/    # 控制器(按 admin/api/store/cashier/supplier/kefu 分目录)
  services/      # 业务逻辑层
  dao/           # 数据访问层
  model/         # ORM 模型
  jobs/          # 队列任务
  listener/      # 事件监听器
  validate/      # 验证器(按子域分目录)
  webscoket/     # WebSocket 处理器
  Request.php    # 自定义请求类(注入鉴权上下文)
  ExceptionHandle.php  # 全局异常处理
crmeb/
  basic/         # BaseJobs、BaseModel 等底层基类
  services/      # 共享底层服务(上传、微信、缓存、HTTP 等)
  traits/        # 可复用 Trait
  utils/         # 工具类(JwtAuth、Json、Arr 等)
route/
  admin.php      # /adminapi/*
  api.php        # /api/*(移动端)
  store.php      # /storeapi/*

严格分层规范

Controller → Services → DAO → Model
  • 严禁跨层调用:Controller 必须通过 Services 操作,严禁直接调用 Model 或 DAO。
  • 数据组装在 Services 层:Model 层仅定义搜索器和关联关系。

关键基类与运行时独立性

系统自 2026-07 起业务调用栈已实现完全的明文独立运行,不依赖加密授权门:

基类/服务说明
app\basic\OpenBaseController所有业务控制器的明文基类(替代旧加密 BaseController)
app\services\BaseServices服务层基类(封装分页、事务)
app\dao\BaseDaoDAO 基类(需实现 setModel();搜索器解析为明文实现)
crmeb\basic\BaseModelORM 模型基类
crmeb\utils\JwtAuth明文 JWT Token 解析工具(Token 解析统一走明文)
app/helpers_open.php全局明文公共辅助函数库

路由与请求处理

  • ThinkPHP 路由注解已禁用,所有路由显式定义于 route/ 各端文件。
  • 使用 app\RequestgetMore() / postMore() 提取参数:
php
[$name, $status] = $request->postMore([
    'name',
    ['status', 1],  // 带默认值
], true);  // true = 一维数组(方便解构)

API 响应与异常处理

php
return app('json')->success('操作成功', $data);
return app('json')->fail('操作失败', $data);
throw new \crmeb\exceptions\AuthException('错误信息', 400);  // 由 ExceptionHandle 统一捕获

承信租多门店租赁商城系统官方文档