---
title: 2026-09-27-ECShopX技术栈清单
description: 文本抽取：知识库/02-商城交易私域场景/ECshopex开源资料/2026-09-27-ECShopX技术栈清单
updated: 2026-11-04
tags: [原始文档, 抽取, 知识库]
source: 知识库/02-商城交易私域场景/ECshopex开源资料/2026-09-27-ECShopX技术栈清单
source_type: txt
source_hash: fe97af60f39f
extracted_at: 2026-11-04
quality: ok
---

---
source: 知识库/02-商城交易私域场景/ECshopex开源资料/2026-09-27-ECShopX技术栈清单.md
type: md
size_kb: 14
category: 02-商城交易私域场景
quality: ok
---

# ECShopX 技术栈清单（供客户 IT 部门核对）

> 生成日期：2026-09-27
> 分析对象：ECShopX 官方开源仓库 4 个（main / java-main 分支，版本 5.1.0）
> - ECShopX-Java（Java 后端，9064 个 Java 文件，55+ Maven 模块）
> - ECShopX-Java_Mobile（小程序/H5 商城前端）
> - ECShopX-Java_Admin（管理后台前端）
> - ECShopX-Java_web（Web 商城前端）
>
> 说明：所有版本号均提取自仓库真实构建文件（pom.xml / package.json / Dockerfile / docker-compose）。
> 个别第三方模块用途按代码结构推断，已标注"推断"，建议与厂商确认。

---

## 一、架构总览

| 层 | 形态 | 说明 |
|---|---|---|
| 后端 | **模块化单体**（Modular Monolith） | 55+ 业务模块各自独立为 Maven Bundle，运行时由 `ecshopx-bootstrap` 作为 Spring Boot 启动入口聚合为单进程（端口 18080），**非微服务**：无注册中心、无 RPC 框架 |
| C 端前端 | Taro 多端（React） | 一套代码编译到 微信小程序 / H5 / 支付宝 / 抖音 / 百度 / QQ / 京东 小程序 |
| B 端前端 | Vue 2 单页应用 | 管理后台，含 qiankun 微前端能力 |
| PC 商城前端 | Nuxt 4（Vue 3 SSR） | 服务端渲染 SEO 友好 |
| 数据库 | MySQL 8.0（单库） | Flyway 管理schema版本，初始化走全量 SQL |
| 缓存 | Redis 7 | Lettuce 客户端，按业务域分 database |
| 消息队列 | RabbitMQ | AMQP starter，核心在 bootstrap 与配送模块 |
| 任务调度 | XXL-Job 2.5.0 | 独立 Admin 端（需单独部署） |
| 部署 | Docker / docker-compose | 官方提供 dev 全量编排与 lite 生产编排，未提供 K8s 清单 |

---

## 二、后端技术栈（ECShopX-Java）

### 2.1 语言与框架

| 项 | 采用 | 版本 | 备注 |
|---|---|---|---|
| 语言 | Java | **17** | 构建镜像 eclipse-temurin-17，运行镜像 Temurin 17 JRE |
| 核心框架 | Spring Boot | **3.5.12**（parent） | Spring Framework 6.x 系 |
| Web 容器 | Undertow | 随 Spring Boot BOM | application.properties 中有 Undertow 调优配置（个别模块另引 tomcat starter） |
| 依赖注入/AOP | Spring Context / AOP | 随 Boot | 全模块标配 |
| 参数校验 | hibernate-validator（starter-validation） | 随 Boot | |
| 邮件 | spring-boot-starter-mail | 随 Boot | 3 个模块使用 |

### 2.2 数据访问与存储

| 项 | 采用 | 版本 | 备注 |
|---|---|---|---|
| ORM | **MyBatis-Plus** | **3.5.16** | spring-boot3-starter + jsqlparser（分页/解析），45 个模块使用 |
| 数据库驱动 | mysql-connector-j | 随 Boot BOM | |
| 数据库 | MySQL | **8.0** | utf8mb4 / utf8mb4_unicode_ci；max_allowed_packet=64M |
| schema 迁移 | **Flyway**（flyway-core + flyway-mysql） | 随 Boot BOM | `classpath:db/migration`，baseline-on-migrate |
| 连接池 | 默认 HikariCP | 随 Boot BOM | |
| 缓存 | **Redis 7**（spring-boot-starter-data-redis ×32 模块） | 服务端 7-alpine | 客户端 **Lettuce**；connect/command timeout 显式配置；按业务域分 database（0/2 等） |
| 对象存储 | 阿里云 OSS / 腾讯云 COS / 七牛 / **S3 兼容** | 见 SDK 清单 | 四种可按配置切换 |

### 2.3 中间件

| 项 | 采用 | 版本 | 备注 |
|---|---|---|---|
| 消息队列 | **RabbitMQ**（spring-boot-starter-amqp） | 服务端版本未在仓库固定 | bootstrap 与 ecshopx-dispatch 引入 |
| 分布式任务调度 | **XXL-Job**（xxl-job-core ×17 模块） | **2.5.0**（Admin 镜像 xuxueli/xxl-job-admin:2.5.0） | 需独立部署 Admin（自带 8080 端口），执行器端口 19999 |
| 配置中心 | **无** | — | 未发现 Nacos/Apollo 依赖；配置走 application.properties + 环境变量 |
| 注册中心 | **无**（单体架构不需要） | — | |
| 搜索引擎 | **无 ES 依赖** | — | 检索基于 MySQL |

### 2.4 安全

| 项 | 采用 | 版本 |
|---|---|---|
| 认证授权框架 | spring-boot-starter-security | 随 Boot（3 个模块显式引入） |
| JWT | **jjwt**（api/impl/jackson）+ nimbus-jose-jwt | jjwt **0.12.6** |
| 加密库 | BouncyCastle（bcpkix-jdk18on） | 随 BOM |
| 密码学 | spring-security-crypto | 随 Boot |
| 验证码/二维码 | zxing | 3.5.3 |

### 2.5 第三方服务 SDK（后端）

| 类别 | SDK | 版本 | 用途 |
|---|---|---|---|
| 微信全家桶 | **WxJava**（weixin-java-miniapp / mp / open / cp / pay / common） | **4.7.6** | 小程序、公众号、开放平台、企业微信、微信支付 |
| 支付宝 | alipay-sdk-java + alipay-easysdk | 4.39.134 | 支付宝支付 |
| 汇付 Adapay | adapay-java-sdk | 见 pom | 聚合支付（ecshopx-adapay 模块） |
| 汇付斗拱 BsPay | **com.huifu.bspay.sdk:dg-java-sdk** | **3.0.26** | ⚠️ 注意：`dg-java-sdk` 是**汇付斗拱支付 SDK**，与"鼎捷 ERP"无关（ecshopx-bspay 模块） |
| 银联商务 | ecshopx-chinaums-pay（自研对接） | — | 银联商务支付 |
| 汇付 HPay | ecshopx-hfpay（自研对接） | — | 按模块命名推断 |
| 阿里云短信 | dysmsapi20170525 | 随 pom | 短信验证码/通知 |
| 阿里云 OSS | aliyun-sdk-oss | 随 pom | 文件存储 |
| 腾讯云 COS | cos_api | 随 pom | 文件存储 |
| 七牛云 | qiniu-java-sdk | 随 pom | 文件存储 |
| AWS S3 兼容 | s3（AWS SDK） | 随 pom | 私有化/MinIO 等兼容存储（ecshopx-espier 导入导出用） |
| 钉钉/其他 | jsch（SFTP）、commons-compress | 随 pom | 文件传输/压缩 |

### 2.6 工具库

| 库 | 版本 | 用途 |
|---|---|---|
| Lombok | 1.18.36 | 样板代码 |
| Apache POI（poi-ooxml） | 随 BOM | Excel 导入导出（商品/订单/发票） |
| pinyin4j | — | 拼音检索/品牌索引 |
| hashids | — | ID 混淆 |
| jsch | — | SFTP |
| h2 | 随 BOM | 仅测试 |

---

## 三、前端技术栈

### 3.1 移动商城 ECShopX-Java_Mobile（ecshopx-vshop 5.1.0）

| 项 | 采用 | 版本 |
|---|---|---|
| 跨端框架 | **Taro** | **4.2.0** |
| UI 框架 | **React** | **18.2.0** |
| 目标平台 | 微信小程序 / H5 / 支付宝 / 抖音 / 百度 / QQ / 京东 小程序 | 官方 platform 插件齐备 |
| 状态管理 | Redux Toolkit + react-redux + redux-persist + immer | RTK 1.9.5 |
| 组件库 | taro-ui | 3.0.0-alpha.10 |
| 国际化 | i18next + react-i18next | i18next 25.x |
| 构建 | Webpack5（@tarojs/webpack5-runner）+ Babel | 随 Taro 4.2 |
| 富文本渲染 | mp-html | 2.4.0 |
| 其他 | qrcode、big.js（金额计算）、lodash、sr-sdk-wxapp（有数零售埋点 SDK）、@lucky-canvas（抽奖） | |
| Node 版本 | **20.19.0**（engines 锁定 + .nvmrc） | |
| 测试 | @tarojs/test-utils-react + jest | |

### 3.2 管理后台 ECShopX-Java_Admin（ecshopx-admin 5.1.0）

| 项 | 采用 | 版本 |
|---|---|---|
| 框架 | **Vue 2**（Options API） | **2.6.11** |
| 状态管理 | Vuex + vuex-persist | 3.5.1 |
| 路由 | vue-router | 3.6.0 |
| UI 组件库 | **Element UI** | 2.15.12 |
| 微前端 | **qiankun** | 2.3.5（具备子应用接入能力） |
| 构建 | @vue/cli 5（Webpack 5）+ Babel | 5.0.0 |
| 图表 | @antv/g2plot、chart.js | 2.4.35 / 2.6.0 |
| 富文本 | vue-html5-editor | 1.1.1 |
| 图片处理 | vue-cropper、vue-advanced-cropper、vue-hotzone（热区） | |
| 拖拽 | vuedraggable | 2.17.0 |
| 云存储直传 | ali-oss、cos-js-sdk-v5、qiniu-js | 浏览器直传 |
| 国际化 | vue-i18n | 8.28.2 |
| 其他 | axios、dayjs、lodash-es、nprogress、font-awesome、**jquery 3.7.1（历史遗留）**、json2csv、jszip | |
| Node 版本 | **20.19.0**（engines + .nvmrc） | |

### 3.3 Web 商城 ECShopX-Java_web（ecshopx-website 5.1.0）

| 项 | 采用 | 版本 |
|---|---|---|
| 框架 | **Nuxt**（SSR/SSG） | **4.0.1** |
| UI 框架 | **Vue 3** | 3.4.19 |
| 状态管理 | Pinia（@pinia/nuxt） | 2.1.7 |
| 组件库 | @nuxt/ui + radix-vue + lucide-vue-next | nuxt/ui 4.1.0 |
| CSS | **TailwindCSS** + sass | 4.0.0 / 1.71 |
| 语言 | **TypeScript** | 5.3.3 |
| 国际化 | @nuxtjs/i18n + opencc-js（繁简转换） | 10.2.1 |
| 测试 | **vitest + Playwright**（E2E） | 4.1.9 / 1.57 |
| 包管理 | **pnpm** | 10.13.0 |
| Node 版本 | ^20.19.0（engines + .nvmrc） | |

---

## 四、部署与运维

| 项 | 采用 | 版本/说明 |
|---|---|---|
| 容器化 | Docker + docker-compose | dev 全量编排（MySQL/Redis/XXL-Job/app）+ docker-lite 生产精简编排 |
| 运行时镜像 | `ecshopx-java:17-node20-openresty` | **Temurin 17 JRE + Node 20 + OpenResty**（一体化 app：Java API + Nginx 路由 + Nuxt SSR） |
| 反向代理 | OpenResty / Nginx | 按 Host 路由 admin / h5 / pc，HTTP 80（HTTPS 由客户环境termination） |
| 构建工具 | Maven | 3.9（maven:3.9-eclipse-temurin-17 构建镜像） |
| 前端运行时 | Node 20.19.0 | 三端统一锁定版本；web 商城用 pnpm 10 |
| 数据库初始化 | 全量 SQL（ecshopx.sql）+ XXL-Job 库 SQL + Flyway 增量 | docker-entrypoint-initdb.d 挂载 |
| 镜像分发 | 官方提供 CDN gzip 镜像包（docker load 导入） | 适合无外网/无镜像仓库环境 |
| Kubernetes | **仓库未提供 K8s 清单/Helm** | 如客户要求 K8s 部署需自行编排或与厂商确认 |
| 配置中心 | 无 | 环境变量 + properties |
| CI/CD | 仓库未含流水线定义 | 前端三仓库均有 husky + commitlint + commitizen 规范 |

---

## 五、第三方平台集成清单（按后端模块）

> "推断"项以代码包结构/类名为准，建议与厂商确认开通范围。

| 模块 | 对接平台 | 用途 |
|---|---|---|
| ecshopx-wechat | 微信（WxJava） | 小程序登录/订阅消息/公众号/开放平台/微信支付 |
| ecshopx-work-wechat | 企业微信 | 通讯录/OAuth/消息通知 |
| ecshopx-ali / ecshopx-aliyunsms | 阿里云 | OSS 存储、短信 |
| ecshopx-payment + adapay/bspay/hfpay | 微信支付、支付宝、**汇付（Adapay/斗拱 BsPay/HPay）** | 支付渠道（多渠道可配） |
| ecshopx-chinaums-pay | 银联商务 | 支付渠道 |
| ecshopx-system-link | **旺店通（wdterp）、聚水潭（jushuitan）、OME、通用 saas_erp 抽象** | ERP 订单/售后/库存对接（Port 接口模式，可扩展新 ERP） |
| ecshopx-im | EChat、美洽（Meiqia） | 在线客服 IM（推断，未见自研长连接） |
| ecshopx-shuyun | 数云 | CRM/会员数据（推断） |
| ecshopx-youshu / ecshopx-tdkset | 有数/腾讯系数据 | 数据分析埋点（推断） |
| ecshopx-kujiale | 酷家乐 | 定制家居 3D 设计对接 |
| ecshopx-tb-items | 淘宝/天猫 | 商品同步（推断） |
| ecshopx-one-code | — | 一物一码营销 |
| ecshopx-cross-border | — | 跨境业务 |
| ecshopx-shopex-ai | — | AI 能力（模型服务外部化） |

---

## 六、测试与工程质量

| 端 | 测试 | 规范工具 |
|---|---|---|
| Java 后端 | spring-boot-starter-test（JUnit5）+ H2 内存库（51 个模块带测试依赖） | Maven |
| Mobile | jest + @tarojs/test-utils-react | eslint(eslint-config-taro) + husky + commitlint |
| Admin | 未见系统性单测 | eslint + prettier + commitlint |
| Web | vitest（单测）+ Playwright（E2E） | eslint + prettier + commitlint |

---

## 七、给客户 IT 的核对清单

以下按"客户 IT 最常卡住的点"整理，建议逐项过：

| # | 核对项 | 本产品采用 | 需客户确认的问题 |
|---|---|---|---|
| 1 | JDK 版本策略 | Java 17（Temurin，随容器分发） | 贵司标准是否允许 Java 17？是否强制使用内部认可的 JDK 发行版（如毕昇/龙井）？ |
| 2 | 数据库 | MySQL 8.0 单库，utf8mb4，Flyway 迁移 | 是否有 DBA 托管 RDS？版本是否 ≥8.0？是否要求读写分离/备份策略对接？ |
| 3 | 缓存 | Redis 7（Lettuce，多 database） | 是否提供 Redis 实例（云 Redis 或自建）？版本要求？持久化策略（AOF）？ |
| 4 | 消息队列 | RabbitMQ | 贵司 MQ 标准若是 Kafka/RocketMQ，需评估适配改造量 |
| 5 | 任务调度 | XXL-Job 2.5.0（独立 Admin） | 是否允许部署 XXL-Job Admin？或需替换为公司统一调度平台？ |
| 6 | 部署形态 | docker-compose 单机编排，未提供 K8s 清单 | 生产是 K8s 还是虚机+Docker？镜像仓库/离线安装要求（官方支持镜像包导入）？ |
| 7 | 架构形态 | 模块化单体（单进程 18080） | 是否接受单体？是否有强制微服务/服务网格标准？ |
| 8 | 配置管理 | 无配置中心，properties+环境变量 | 是否要求接入公司统一配置中心（Nacos/Apollo/ACM）？ |
| 9 | Web 容器 | Undertow（默认），可换 Tomcat | 有无中间件白名单？ |
| 10 | 前端运行时 | Node 20.19.0（三端统一锁定）；web 端 pnpm 10 | 构建/发布机 Node 版本是否可满足？ |
| 11 | 对象存储 | 阿里云 OSS / 腾讯 COS / 七牛 / S3 兼容（含 MinIO）四选一 | 贵司指定哪家？私有化是否用 MinIO（S3 兼容通道已具备）？ |
| 12 | 短信 | 阿里云短信 SDK | 是否强制用其他短信服务商？需评估改造 |
| 13 | 出网白名单 | 微信/支付宝/银联商务/汇付/阿里云/腾讯云/数云/美洽/EChat 等第三方域名 | DMZ/白名单策略是否放行？支付回调地址规划？ |
| 14 | 域名与 HTTPS | OpenResty 按 Host 路由 admin/h5/pc，HTTP 80 | 证书 termination 在哪一层？域名规划几个？ |
| 15 | 登录与安全 | Spring Security + JWT（jjwt 0.12.6） | 是否要求对接公司统一 SSO/IAM（需评估改造）？密码策略/等保要求？ |
| 16 | 数据合规 | 会员注销为物理删除+注销记录 | 等保/个保法要求下是否需改为软删除？（与业务口径相关） |
| 17 | ERP 对接 | 旺店通/聚水潭/OME 已有，**无鼎捷**（Port 模式可扩展） | 贵司 ERP 是哪家？若是鼎捷需按适配器模式新增开发 |
| 18 | 监控告警 | 仓库未含 Prometheus/SkyWalking 等接入 | 是否要求对接公司 APM/日志平台（需评估）？ |
| 19 | 微前端 | Admin 内置 qiankun 2.3.5 | 是否有子系统需挂载/是否允许被挂载到公司门户？ |
| 20 | 浏览器兼容 | Element UI（Vue2）面向现代浏览器；Nuxt4 SSR | 是否需兼容特定老版本浏览器（如 IE）？（当前不支持 IE） |

---

## 八、版本速查表（一行版）

```
后端:    Java 17 (Temurin) · Spring Boot 3.5.12 · Undertow · MyBatis-Plus 3.5.16 · Flyway
中间件:  MySQL 8.0 · Redis 7 (Lettuce) · RabbitMQ · XXL-Job 2.5.0
安全:    Spring Security · JJWT 0.12.6 · BouncyCastle
存储SDK: 阿里云OSS · 腾讯COS · 七牛 · S3兼容
支付SDK: 微信支付(WxJava 4.7.6) · 支付宝(4.39.134) · 汇付Adapay/斗拱BsPay(dg-java-sdk 3.0.26) · 银联商务
C端:    Taro 4.2.0 + React 18.2.0 + Redux Toolkit · Node 20.19.0 · 多端(微信/支付宝/抖音/百度/QQ/京东/H5)
B端:    Vue 2.6.11 + Element UI 2.15.12 + Vuex 3 + qiankun 2.3.5 · @vue/cli 5
PC端:   Nuxt 4 + Vue 3.4 + Pinia + TailwindCSS 4 + TypeScript 5.3 · pnpm 10
部署:    Docker/docker-compose · OpenResty · Maven 3.9 · 运行时镜像(Java17+Node20+OpenResty)
无:     注册中心 · 配置中心 · Elasticsearch · Kubernetes清单
```

> ⚠️ 再次提醒：`dg-java-sdk`（com.huifu.bspay.sdk）为**汇付斗拱支付 SDK**，与鼎捷（Digiwin）ERP 无关，核对时勿混淆。
