一句话定位:国内最有名的开源微信小程序商城之一,Java 后端 + uniapp/原生小程序双前端全开源,2018 年入选 Gitee GVP,Apache-2.0 免费可商用 —— 免费给你一个能跑起来的商城底座,想上多商户、直播、分销、多端就买商业版。
| 项 | 值 |
|---|---|
| 仓库地址 | https://gitee.com/fuyang_lipengjun/platform (GitHub 镜像:github.com/lipengjun92/platform-wxshop) |
| 官方站点 | https://openwtai.com |
| 开发文档 | http://doc.openwtai.com |
| 开源协议 | Apache-2.0(可商用,要求再次开源时注明出处) |
| 技术栈 | Java 21 / Spring Boot 3.2.5 / MyBatis-Plus / Shiro / Redis + Vue 2 / Element UI + uniapp |
| 当前版本 | pom 版本 2.0.0(发行版 1 个) |
| 社区热度 | Gitee 27.7K Star / 7.4K Fork / 35 位贡献者 / 官网称累计下载 160k+ |
| 维护团队 | 微同软件(李鹏军,GVP 项目,2018 年 5 月入选) |
| 交流群 | QQ 群 66502035 / 870579539 / 151602347 / 476734088 / 690637772 |
| 文档日期 | 2026-10-25 |
1. 项目是什么
微同商城是一套「微信小程序商城」的完整前后端开源实现:后端 Java 单体,前端给两套 —— wx-mall(微信小程序原生)和 uni-mall(uniapp 版),后台管理界面是 Vue 2 + Element UI。
对标的是 CRMEB、likeshop、萤火商城这类「小程序商城源码」产品,但它走的是开源引流 + 商业版变现的路子,所以开源版给得相对实在(前后端全开源、不压缩、无后门)。
它解决的核心问题:
- 电商通用模块重复造轮子 —— 商品/SKU、订单、购物车、优惠券、支付、会员、地址、物流这些模块已经跑通,拿来就能改业务。
- 小程序商城的支付与授权链路最磨人 —— 微信登录、手机号获取、微信支付回调、退款这些「官方文档看得懂但跑不通」的部分已完成对接(weixin-java 全家桶)。
- 毕设与外包的交付压力 —— 结构规范、注释齐全、有文档和视频,是学生毕设和外包接单的高频选择。
不适用的场景:它不是 SaaS 级多租户架构(多租户在商业版);不追求微服务水平扩展(单体,靠 Redis + 集群部署撑并发);开源版只有微信小程序端,H5 / App / 支付宝小程序是商业版能力;不适合做 B2B 大宗交易或跨境(无多币种、无复杂审批流)。
2. 核心特性
| 特性 | 说明 | 对使用者的价值 |
|---|---|---|
| 前后端全开源 | 后端 Java、管理端 Vue、商城端两套前端,代码无压缩无混淆 | 可完整学习与二次开发,无「核心 jar 不给」的套路 |
| 双商城前端 | wx-mall 原生小程序 + uni-mall uniapp 版并存 | 想稳选原生,想扩端选 uniapp |
| 微信生态深度对接 | weixin-java 4.5.2.B,覆盖公众号、小程序、支付、企业微信、开放平台 | 登录/支付/退款链路开箱可用 |
| 已接入微信 AI 能力 | 通过 AgentMallGoodsTools 把商品查询、增删改、上下架封装成 AI 可调用的工具,带权限校验与写操作二次确认 | 可试水「对话式管理后台」,这是它当前最大的差异点 |
| AI 友好工程 | 自带 AGENTS.md,Claude Code / Cursor / Codex 等能直接读懂并拉起项目 | 首次部署从「翻文档两小时」变成「一句指令 10 分钟」 |
| 多存储与多短信 | 七牛 / 阿里 OSS / 腾讯 COS / 华为 OBS / MinIO 全支持;阿里云、腾讯云短信双通道 | 换云厂商不用改代码 |
| 多数据源 | dynamic-datasource 4.3.0 + MySQL / Oracle 驱动 | 有国产化或读写分离需求的能接 |
| 容器化脚本 | scripts/ 一键构建 + docker-compose 拉起 MySQL、Redis、双后端、Nginx | 本地验证与环境交付都快 |
3. 技术架构
整体结构:标准单体分层(common / biz / admin / api 四模块),两个启动入口 —— 后台管理接口 platform-admin,商城接口 platform-api,共用 platform-biz 业务层与 platform-common 公共层。Web 容器用 Undertow(显式排除了 Tomcat),接口文档用 Knife4j。
技术选型(版本取自仓库根 pom.xml,非宣传口径):
| 层 | 技术 | 版本 | 作用 |
|---|---|---|---|
| 运行时 | Java | 21 | 语言版本 |
| 框架 | Spring Boot | 3.2.5 | 应用容器(Undertow) |
| 持久 | MyBatis-Plus | 3.5.10 | ORM 与分页 |
| 权限 | Apache Shiro | 3.0.0 | 认证授权 |
| 令牌 | jjwt | 0.11.5 | JWT 签发校验 |
| 文档 | Knife4j (OpenAPI 3) | 4.5.0 | 接口文档 |
| 微信 | weixin-java (mp/miniapp/pay/cp/open) | 4.5.2.B | 微信全生态对接 |
| 工具 | Hutool | 5.8.20 | 常用工具类 |
| 连接池 | Druid | 1.2.25 | 数据源监控 |
| 多数据源 | dynamic-datasource | 4.3.0 | 动态切库 |
| 缓存 | Redis + Jedis | 5.1.0 | 会话、缓存、锁 |
| 数据库 | MySQL | 8.0.33 驱动 | 主库 |
| 序列化 | fastjson | 2.0.53 | JSON(注意是 com.alibaba 兼容包) |
| 支付 | alipay-easysdk / alipay-sdk | 2.2.3 / 4.38.76 | 支付宝(预留) |
| 前端后台 | Vue 2 + Element UI + Webpack + Vuex | — | 管理界面 |
| 商城前端 | 微信小程序原生 + uniapp | — | 双端 |
关键取舍:选 Shiro 而非 Spring Security,配置更轻但生态弱一些;选 fastjson 而非 Jackson,性能好但历史安全事件多;前端停在第 2 代(Vue 2 + Element UI,已停止维护),这是开源版与商业版最实质的差距 —— 管理端技术债是这套代码最大的隐性成本。
项目模块划分(注意:Maven 只认 4 个 Java 模块,UI 与前端目录不在 Maven 生命周期内):
platform
├── _sql 初始化脚本(base.sql / mall.sql / sys_region.sql)
├── platform-common 公共模块(工具、常量、异常、返回体)
├── platform-biz 业务代码(核心,商品/订单/会员/营销)
├── platform-admin 后台管理接口服务(启动类 PlatformAdminApplication)
├── platform-api 小程序商城接口服务(启动类 PlatformApiApplication)
├── platform-admin-ui 管理端页面(Vue 2 + Element UI)
├── uni-mall uniapp 版商城
├── wx-mall 微信小程序原生商城
├── scripts/ 构建与 Docker 启停脚本
├── deploy/ 容器编排、.env 模板、构建产物
└── AGENTS.md AI 助手启动说明书4. 目录结构
见上节模块划分。几个关键位置需要记住:
| 路径 | 用途 |
|---|---|
_sql/base.sql → mall.sql → sys_region.sql | 必须按此顺序初始化,sys_region 是省市区数据 |
platform-admin/src/main/resources/cert/ | 后台侧微信支付证书 |
platform-api/src/main/resources/cert/ | 商城侧微信支付证书(两处都要放) |
platform-admin / platform-api 的 src/main/resources/application.yml | 微信 appId / secret / 商户号 / 支付回调配置 |
platform-admin / platform-api 的 src/main/resources/application-dev.yml | 数据库连接配置 |
wx-mall/config/api.js | 小程序请求的 API_BASE_URL,本地调试必改 |
deploy/.env | Docker 部署参数(Maven profile、Nginx 端口、MySQL root 密码) |
5. 快速上手
环境硬门槛:JDK 21(推荐)、Maven 3.8、MySQL 8.0、Redis 4.0.1+、微信开发者工具。项目用了 Lombok,IDEA / Eclipse 需装插件,否则源码报「缺少 get/set」。
方式 A:丢给 AI 助手(官方首推)
git clone https://gitee.com/fuyang_lipengjun/platform.git
cd platform
# 然后把目录交给 AI 助手,说:「按 AGENTS.md 把这个项目跑起来」
# 它会自动检查运行时、装依赖、引导填配置、建表、启动、验证页面
# 官方称首次配置约 10 分钟方式 B:手动部署
# 1. 建库(MySQL 8.0),依次导入,顺序不能乱
mysql -uroot -p your_db < _sql/base.sql
mysql -uroot -p your_db < _sql/mall.sql
mysql -uroot -p your_db < _sql/sys_region.sql
# 2. 申请商户号、开通微信支付、下载证书,分别放到
# platform-admin/src/main/resources/cert/
# platform-api/src/main/resources/cert/
# 3. 改配置
# application.yml → 公众号/小程序 appId、secret、微信支付 mchId/paySignKey/notifyUrl
# application-dev.yml → 数据库 url / username / password
# 4. 起 Redis,再分别启动两个启动类
# PlatformAdminApplication.java
# PlatformApiApplication.java
# IDEA 默认访问 http://localhost:8000
# 5. 小程序端:微信开发者工具导入 wx-mall,填 appId,
# 修改 wx-mall/config/api.js 中的 API_BASE_URL 指向本机后端方式 C:Docker 一键
scripts/build-jars.sh # 产出 platform-admin.jar / platform-api.jar
scripts/build-admin-ui.sh # 产出 platform-admin-ui-dist/
cp deploy/.env.example deploy/.env # 需要改 profile/端口/密码时先复制
scripts/docker-up.sh # 拉起 mysql + redis + admin + api + nginx
# 管理台 http://localhost:8888
# 停止:scripts/docker-down.shMySQL 首次启动会自动执行 _sql/ 下脚本;deploy/data/mysql 已有数据时不会重复导入。
启动失败高频原因:SQL 导入顺序错(sys_region 前置会报外键/主键冲突);Redis 没起(登录态直接失效);证书只放了一侧(支付下单成功、回调失败);JDK 版本低于 21;Maven 卡在 pom 里声明的私有仓库 nexus.dev.dtstack.cn(外部访问不到,见第 11 节)。
6. 功能模块清单
| 模块 | 主要能力 | 开源版 |
|---|---|---|
| 商品 | 商品管理、SKU 规格编辑、品牌供应商、上下架、专题管理 | ✅ |
| 订单 | 下单、支付、发货、退款、订单查询 | ✅ |
| 购物车 | 加购、改数量、勾选结算 | ✅ |
| 会员 | 微信授权登录、手机号绑定、收货地址、省市区 | ✅ |
| 营销 | 优惠券 | ✅ |
| 支付 | 微信支付(下单、回调、退款) | ✅ |
| 短信 | 阿里云 / 腾讯云双通道,验证码 | ✅ |
| 存储 | 七牛 / 阿里 OSS / 腾讯 COS / 华为 OBS / MinIO | ✅ |
| 后台权限 | Shiro 角色、菜单、按钮级权限 | ✅ |
| 微信 AI 能力 | 商品等模块封装为 AI 工具,支持对话式管理 | ✅(需公众平台开通,灰度中) |
| 秒杀 | 限时秒杀 | 商业版能力为主 |
| 分销 | 多级分销、佣金结算 | 商业版 |
| 多商户 / 商家入驻 | B2B2C 旗舰版 | 商业版 |
| 直播卖货 | 小程序直播带货 | 商业版 |
| 多端(H5 / App / 支付宝小程序) | uniapp 一套代码多端 | 商业版 |
| SaaS 多租户 | 多租户隔离 | 商业版 |
说明:官网把「秒杀、优惠券、多商户、直播卖货、分销」并列宣传为开箱即用,但其中优惠券在开源版可查,多商户/直播/分销对应的是旗舰版与 SaaS 版。采购前务必按第 8 节口径核对。
7. 版本与授权
| 版本 | 技术栈 | 覆盖端 | 价格 |
|---|---|---|---|
| 开源版 | Spring Boot(仓库已升至 3.2.5)+ Vue 2 + Element UI | 微信小程序 | 免费 |
| 商业版 | Spring Boot 3 + Vue 3 + Vite + Pinia + uniapp | 小程序 / H5 / App / 支付宝小程序 | 未公开标价,联系客服 |
| 旗舰版(商家入驻 / B2B2C) | Spring Boot 3 + Vue 3 + uniapp | 多端 + 多商户 | 联系客服,2021 年发布 |
| SaaS 多租户版 | Spring Boot 3 + Vue 3 + uniapp | 多端 + 多租户 | 联系客服,2023 年上线 |
协议要点
- Apache-2.0:可商用、可闭源分发、可申请软件著作权。
- 官方要求:再次开源时请注明出处。
- 官方立场:个人学习、毕设、商用都允许,但商用推荐购买商业版源码(这是措辞建议,不构成协议限制)。
- 官网承诺「100% 源码交付,无压缩、无后门」—— 开源版本身就是全源码,这条主要针对商业版。
8. 商业模式说明
一句话概括:用一套真正能跑的开源商城做流量入口,把「多端 + 多商户 + 多租户」切给商业版,再靠定制开发和部署服务收尾。
| 收入层 | 产品 | 怎么赚钱 | 定位 |
|---|---|---|---|
| ① 版本授权 | 开源版 → 商业版 → 旗舰版 → SaaS 版 | 源码买断(价格未公开,需联系客服);官网自述「6 大业务版本」 | 主收入 |
| ② 差异化能力 | 多端编译、多商户入驻、直播、分销、SaaS 多租户 | 只放进商业版,开源版不跟进 | 付费理由,卡得很准 |
| ③ 定制开发 | 按需开发、仿站(如「仿东郊到家」案例,另用 ThinkPHP6 栈) | 项目制报价,按天推进 | 高毛利,官网主推「AI 协作开发、定制按天计」 |
| ④ 服务与生态 | 首次部署支持、7×12 社区支持、开发文档与视频教程、代码生成器 IDEA 插件 platform-gen | 服务打包进商业版;插件开源引流 | 降低决策门槛,减少退款 |
几个要点
- 不标价是明确的销售策略:官网 FAQ 有「开源版和商业版有什么区别」「可以开发票么」「授权期限多久」的问答位,但价格必须走客服 —— 说明走的是询单议价,不是标准电商式售卖。
- 发票与授权期限是它的标准 FAQ 项,说明主要客户是企业而非个人;买之前一定要问清授权期限与续费规则(官网 FAQ 有这条,但内容需询客服)。
- 对使用者意味着什么:开源版能让你零成本把一个真实可用的商城跑到线上,但它刻意保留的缺口(多端、多商户、直播、分销、Vue 3 后台)恰好是稍有规模的商家的刚需 —— 这个「刚需边界」设计得比多数开源项目精明。如果你只做单商家微信小程序,开源版足够;只要沾上多端或多商户,本质上就是付费用户。
9. 生态与周边
| 类型 | 名称 / 地址 | 说明 |
|---|---|---|
| 官网 | https://openwtai.com | 产品矩阵、案例、FAQ |
| 开发文档 | http://doc.openwtai.com | 部署、接口、二次开发 |
| 在线演示 | https://openwtai.com/platform/#/login | 后台演示环境 |
| 代码生成器 | gitee.com/fuyang_lipengjun/platform-gen | IDEA 插件,按表生成 CRUD |
| AI 启动说明 | 仓库根 AGENTS.md | 支持 Claude Code / Codex / Cursor / Trae / Windsurf / Cline |
| 视频教程 | B 站(搜索「微同商城」/ 官方频道) | 新手启动教程 |
| 社区 | QQ 群 5 个 | 官方支持主战场,非 Issues |
扩展方式三条路:① 在 platform-biz 加业务 Service,Controller 分别落到 admin / api;② 用 platform-gen 插件按表生成 CRUD 骨架;③ 前端换皮肤(platform-admin-ui 或 wx-mall 整套替换)。
10. 选型建议
强烈建议用
- 学生毕设、课程设计 —— 模块完整度高、文档齐、能真跑起来,这一档几乎没有更好的选择。
- 单商家微信小程序商城的快速交付(外包 1~2 个月工期),开源版够用。
- 想学「Java 电商系统怎么分层」的开发者 —— 商品/订单/SKU 建模是标准教科书级实现。
可以试试
- 企业自营商城(非平台型),愿意接受 Vue 2 管理端的技术债,或自己升级到 Vue 3。
- 想要「对话式管理」尝鲜的团队 —— 微信 AI 能力的工程封装(工具注册 + 权限校验 + 写操作确认)值得参考。
不建议用
- 要做多商户平台、SaaS 服务商 —— 直接买商业版,别在开源版上硬改,改造成本高于授权费。
- 追求 Vue 3 全家桶、长期维护的团队 —— 开源版管理端停在第 2 代,是明确的负债。
- 高并发秒杀型业务 —— 单体 + MySQL,架构不匹配。
同类对比
| 维度 | 微同商城 | CRMEB | likeshop | 萤火商城 |
|---|---|---|---|---|
| 后端 | Java / Spring Boot 3 | PHP / ThinkPHP | PHP / ThinkPHP | PHP / ThinkPHP |
| 前端栈 | Vue 2 + Element UI | Vue 2/3 | Vue 3 | Vue 3 |
| 开源协议 | Apache-2.0 | 部分限制 | 部分限制 | 部分限制 |
| 多商户(开源版) | ❌ 商业版 | 付费版 | 付费版 | ❌ |
| 技术债 | 管理端 Vue 2 | 中 | 低 | 低 |
| 适合人群 | Java 系 / 毕设 / 学习 | PHP 系 | PHP 系 | PHP 系 |
11. 风险与坑
部署层
- SQL 必须按
base → mall → sys_region顺序导入,顺序错会报主键/外键冲突。 - 微信支付证书要放两处(admin 与 api 各一份),只放一处会出现「下单成功、回调验签失败」。
- Redis 是硬依赖,没起 Redis 登录态直接废。
- JDK 必须 21,低版本编译不过;Lombok 插件不装,IDE 满屏红线。
- 端口差异:IDEA 启动是
8000,Eclipse 是8080,网上老教程的端口不能照抄。
依赖层(最容易踩且最难查)
- 根
pom.xml里声明了私有 Nexus 仓库nexus.dev.dtstack.cn。外部网络访问不到,若有依赖仅存在于该仓库,构建会卡在下载或直接失败。构建异常优先怀疑这里,可尝试注释该 repository 走阿里云公共仓。 - fastjson 用的是
com.alibaba:fastjson的 2.x 兼容包(版本号 2.0.53 但 artifact 是 1.x 系),别当成 fastjson2 用。 - 项目 2018 年起源,网上大量第三方文章还停留在
springframework 4.3.7 + mysql5.1时代的技术选型,以仓库 pom.xml 为准。
商业与信息一致性层
- 官网 FAQ 说开源版是「SpringBoot2 + Vue2」,但仓库主分支后端已升到 Spring Boot 3.2.5(前端 Vue2 这点没错)。升级是分步走的,宣传口径滞后于代码,别被 FAQ 里的版本号误导。
- 官网把秒杀、多商户、直播、分销并列宣传,很容易看成开源版功能 —— 实际只有优惠券在开源版可查,采购前逐项问客服确认。
- 微信 AI 能力仍在灰度内测、暂未开放提审,手机端要求微信 ≥ 8.0.75、调试基础库 ≥ 3.16.1。当技术预研可以,别写进上线计划。
- Apache-2.0 允许商用,且协议上不强制买商业版;「商用推荐购买商业版」是官方建议,不是法律限制。但二次开发规模大了,商业版的支持价值会超过自研成本。
- 前端 Vue 2 + Element UI 已停止官方维护,长期项目要考虑安全补丁来源。
生产落地 checklist
- ✅ 三份 SQL 按序导入完成,省市区数据完整
- ☐ 微信商户号、支付证书两侧就位,支付与退款各跑一笔真实交易
- ✅ Redis 已做持久化与密码保护,非默认端口
- ✅
application.yml中微信 appId/secret/商户号已从示例值替换 - ✅ 私有 Nexus 依赖已清理或镜像化,构建可离线复现
- ☐ 管理端默认账号已改,后台路径考虑加白名单
- ✅ 商品图片存储已切到自有 OSS/MinIO,不用本地目录
- ✅ 定时任务、订单超时关闭已验证触发
12. 参考链接
| 类型 | 链接 |
|---|---|
| 源码仓库(Gitee) | https://gitee.com/fuyang_lipengjun/platform |
| 镜像仓库(GitHub) | https://github.com/lipengjun92/platform-wxshop |
| 官方网站 | https://openwtai.com |
| 开发文档 | http://doc.openwtai.com |
| 在线演示 | https://openwtai.com/platform/#/login |
| 代码生成器插件 | https://gitee.com/fuyang_lipengjun/platform-gen |
| AI 启动说明书 | 仓库根目录 AGENTS.md |
| 商业版源码入口 | https://openwtai.com/blogs |
| GVP 项目计划 | https://gitee.com/gvp |