# 项目技术栈说明
本项目是基于 **ThinkPHP 6** 框架进行二次开发的 **CRMEB**
架构电商系统(鑫店团),采用前后端分离架构,支持多端(微信小程序、H5、App)运行。
## 1. 总体架构
* **架构模式**:前后端分离,多应用架构(Multi-App)。
* **应用划分**:
* `adminapi`: 管理后台接口
* `api`: 移动端/前端接口
* `kefuapi`: 客服系统接口
* `supplierapi`: 供应商/商户后台接口
* `outapi`: 对外开放接口
## 2. 后端技术栈 (Server)
* **开发语言**:PHP (版本要求 ≥ 7.1.0)
* **核心框架**:**ThinkPHP 6.x**
* **关键依赖**:
* **消息队列**:`topthink/think-queue` (Redis 驱动,用于处理订单超时、短信发送、打印任务等异步操作)
* **长连接服务**:`workerman/workerman` (用于客服系统、实时消息推送)
* **身份认证**:`firebase/php-jwt` (JWT Token 鉴权)
* **微信生态**:`overtrue/wechat` (微信公众号、小程序、支付对接)
* **表单生成**:`xaboy/form-builder` (后端动态生成前端表单)
* **云服务对接**:
* 存储:支持 阿里云 OSS、腾讯云 COS、七牛云 Kodo
* 短信:阿里云短信、腾讯云短信等
## 3. 前端技术栈 - 管理后台 (Admin)
* **代码目录**:`view/admin/`
* **核心框架**:**Vue.js 2.x**
* **UI 组件库**:**Element UI** (主要 UI), `iView` (部分组件)
* **构建工具**:Vue CLI + Webpack
* **状态管理**:Vuex (配合 `vuex-persist` 持久化)
* **路由管理**:Vue Router
* **关键组件**:
* `ECharts`: 数据可视化图表
* `WangEditor` / `Quill`: 富文本编辑器
* `FormCreate`: 动态表单生成器 (核心特性,由后端配置生成前端表单)
## 4. 前端技术栈 - 移动端 (Mobile)
* **代码目录**:`view/uni-app/`
* **核心框架**:**uni-app** (基于 Vue 2)
* **运行平台**:微信小程序、H5、iOS App、Android App
* **UI 风格**:自定义 UI 组件 + `uni-ui`
* **通信协议**:HTTPS (API) + WebSocket (客服/消息)
* **特色功能**:
* 条件编译 (`#ifdef`) 处理多端差异
* 自定义 `zp-mixins` 混入处理通用逻辑
* 封装的 `Cache` 和 `Request` 工具类
## 5. 基础设施与中间件
* **数据库**:**MySQL** (存储业务数据,默认端口 3306)
* **缓存/队列**:**Redis** (推荐配置,用于缓存热点数据、Session 共享、消息队列任务)
* **Web 服务器**:Nginx 或 Apache
## 6. 目录结构说明
```text
/
├── app/ # 后端应用核心代码 (Controller, Service, Dao, Model)
├── config/ # 后端配置文件 (Database, Cache, Route 等)
├── crmeb/ # CRMEB 核心类库 (基础服务, 工具类)
├── view/ # 前端代码目录
│ ├── admin/ # 总管理后台 Vue 源码
│ ├── supplier/ # 供应商/商户后台 Vue 源码
│ └── uni-app/ # 移动端 uni-app 源码
├── public/ # Web 入口 (index.php, 静态资源)
├── route/ # 路由定义
└── vendor/ # Composer 依赖包
```