name: CRMEB电商系统完整开发指南 description: 完整的CRMEB开源电商系统开发指南,包含后端API、管理端、移动端uniapp的全栈开发说明,帮助开发者快速理解和开发CRMEB项目 version: 1.0.0
CRMEB是一款高品质的开源电商系统,基于Apache-2.0协议,100%开源免费商用。系统采用前后端分离架构,支持多端覆盖(公众号、小程序、H5、APP、PC),内置20+核心营销模块。
核心特点:
后端架构:
前端架构:
项目地址:
Docker一键部署:
# 启动服务
docker-compose up -d
# 访问地址
# 网站: http://localhost:8011
# MySQL: localhost:33061 (root/123456)
# Redis: localhost:63791 (123456)
默认账号:
/crmeb)crmeb/
├── app/ # 应用目录
│ ├── adminapi/ # 后台管理API
│ │ ├── controller/ # 控制器层
│ │ ├── middleware/ # 中间件
│ │ ├── route/ # 路由定义
│ │ └── validate/ # 验证器
│ ├── api/ # 移动端API
│ ├── kefuapi/ # 客服端API
│ ├── outapi/ # 外部接口API(MCP)
│ ├── dao/ # 数据访问层(180+文件)
│ ├── model/ # 数据模型层(150+文件)
│ ├── services/ # 业务服务层(230+文件)
│ │ ├── user/ # 用户服务
│ │ ├── product/ # 商品服务
│ │ ├── order/ # 订单服务
│ │ ├── activity/ # 营销服务
│ │ ├── agent/ # 分销服务
│ │ └── system/ # 系统服务
│ ├── jobs/ # 队列任务(30+任务)
│ ├── listener/ # 事件监听器(20+监听器)
│ └── common.php # 公共函数
├── crmeb/ # 核心框架目录
│ ├── basic/ # 基础类库
│ │ ├── BaseController.php
│ │ ├── BaseServices.php
│ │ ├── BaseDao.php
│ │ └── BaseModel.php
│ └── ...
├── config/ # 配置文件
├── public/ # Web入口
├── runtime/ # 运行时文件
└── .env # 环境配置
管理端 (/template/admin):
template/admin/src/
├── api/ # API接口定义
├── assets/ # 静态资源
├── components/ # 通用组件
├── pages/ # 页面组件
├── router/ # 路由配置
├── store/ # Vuex状态管理
└── utils/ # 工具函数
移动端 (/template/uni-app):
template/uni-app/
├── pages/ # 页面目录
│ ├── index/ # 首页
│ ├── goods/ # 商品
│ ├── cart/ # 购物车
│ ├── order/ # 订单
│ └── user/ # 用户中心
├── components/ # 组件目录
├── static/ # 静态资源
├── utils/ # 工具函数
└── api/ # API接口
核心服务:
UserServices - 用户主服务LoginServices - 登录服务UserBillServices - 账单流水UserMoneyServices - 用户余额UserLevelServices - 用户等级数据表:
eb_user # 用户表
eb_user_bill # 账单表
eb_user_extract # 提现表
eb_user_level # 用户等级表
开发要点:
核心服务:
StoreProductServices - 商品主服务StoreCategoryServices - 商品分类StoreProductAttrServices - 商品属性StoreProductReplyServices - 商品评价数据表:
eb_store_product # 商品表
eb_store_category # 分类表
eb_store_product_attr # 属性表
eb_store_product_reply # 评价表
开发要点:
核心服务:
StoreOrderServices - 订单主服务StoreOrderCreateServices - 订单创建StoreOrderDeliveryServices - 订单发货StoreOrderRefundServices - 订单退款StoreCartServices - 购物车数据表:
eb_store_order # 订单表
eb_store_order_cart # 订单商品表
eb_store_order_status # 订单状态记录表
eb_store_cart # 购物车表
eb_store_refund # 退款表
订单状态流转:
未支付 (0) → 待发货 (1) → 待收货 (2) → 已完成 (3)
↓ ↓
已取消 (-1) 退款中 (-2) → 已退款 (-3)
开发要点:
核心服务:
PayServices - 支付主服务WechatPayServices - 微信支付AlipayServices - 支付宝支付支付方式:
支付流程:
1. 创建支付订单
2. 调用第三方支付接口
3. 返回支付参数给客户端
4. 客户端调起支付
5. 支付结果异步回调
6. 更新订单状态
7. 触发支付成功事件
开发要点:
2.5.1 优惠券
2.5.2 拼团
2.5.3 砍价
2.5.4 秒杀
2.5.5 积分系统
核心服务:
AgentLevelServices - 分销等级AgentManageServices - 分销员管理DivisionServices - 事业部管理分销流程:
1. 用户申请成为分销员
2. 管理员审核通过
3. 分销员分享推广链接
4. 新用户注册成为下级
5. 下级用户下单
6. 计算分销佣金
7. 佣金结算到余额
开发要点:
2.7.1 代码生成器
2.7.2 系统配置
2.7.3 系统事件
核心事件:
user.register - 用户注册user.login - 用户登录order.create - 订单创建order.pay_success - 订单支付成功pay.success - 支付成功2.7.4 定时任务
系统预置任务:
类命名:
UserControllerUserServicesUserDaoUserUserValidate方法命名:
get_list, save_datagetUserList, saveDataselectList, insert控制器层:
服务层:
DAO层:
成功响应:
{
"code": 200,
"msg": "操作成功",
"data": {}
}
分页响应:
{
"code": 200,
"msg": "操作成功",
"data": {
"list": [],
"count": 100,
"page": 1,
"limit": 10
}
}
错误响应:
{
"code": 400,
"msg": "错误信息",
"data": null
}
php think # 查看所有命令
php think make:controller # 创建控制器
php think make:model # 创建模型
php think make:middleware # 创建中间件
php think make:validate # 创建验证器
php think clear # 清除缓存
php think run # 启动内置服务器
php think queue:listen # 监听队列
php think queue:work # 处理队列任务
php think queue:restart # 重启队列
php think queue:fail # 查看失败任务
php think timer start # 启动定时任务
php think timer stop # 停止定时任务
php think timer restart # 重启定时任务
php think timer status # 查看状态
php think workerman start # 启动WebSocket
php think workerman stop # 停止WebSocket
php think workerman restart # 重启WebSocket
php think workerman status # 查看状态
[DATABASE]
TYPE = mysql
HOSTNAME = 127.0.0.1
HOSTPORT = 3306
USERNAME = root
PASSWORD = 123456
DATABASE = crmeb
PREFIX = eb_
CHARSET = utf8mb4
[CACHE]
DRIVER = redis
CACHE_PREFIX = cache_
[REDIS]
REDIS_HOSTNAME = 127.0.0.1
PORT = 6379
REDIS_PASSWORD = 123456
SELECT = 0
[QUEUE]
QUEUE_NAME = default
# 检查MySQL服务
systemctl status mysql
# 检查配置文件.env
# 测试连接
mysql -u root -p
# 检查队列消费者
php think queue:work
# 检查Redis连接
redis-cli ping
# 查看队列日志
tail -f runtime/log/queue.log
# 检查定时任务状态
php think timer status
# 查看定时任务日志
tail -f runtime/log/timer.log
# 检查WebSocket服务
php think workerman status
# 检查端口占用
netstat -tlnp | grep 40001
/help/dev-docs/AI代码理解指南.md/help/dev-docs/错误码说明文档.md/help/dev-docs/phpapi//help/dev-docs/uniapp//help/dev-docs/admin/本目录下还包含以下专项skill文档,点击对应文件查看详情:
最后更新: 2025年3月17日 维护者: CRMEB开源社区 版本: v1.0.0