开源商城基础设施

让商城成为一套
可以持续生长的系统

HouUniMall 用稳定的 Core 承载交易主干,把 ERP、OA、财务、MES 与你的业务差异,交给独立插件和二开能力去演进。面向大并发场景,接入、读写、异步任务和插件故障都能分层处理。

HouUniMall=Uni统一 / 一体+Mall商城一体化商城中台
Apache-2.0 开源协议Java 21 + Spring Boot 3Vue 3 全端体验
unimall / plugin-center runtime healthy
PLUGIN RUNTIME

能力正在生长

v1.0.0
已启用插件06+2 本周
扩展点快照11不可变
请求入口/webBFF only
LIVE EXTENSIONS
HouUniMall
Core
ERP已启用
OA已启用
POS已启用
自定义构建期
Built for teams who ship
真实交易闭环按需拆分进程契约优先插件可观测

01 / 为什么是 HouUniMall

不再用一条主干,
承载所有人的差异。

交易系统的难题从来不是“能不能下单”,而是每一次新需求、新渠道、新业务,都不能把既有系统拖回原点。

NAME / HouUniMall 的含义

Uni(统一 / 一体)+ Mall(商城)
一体化商城中台。

Uni
统一中台

24 个独立微服务加一套插件机制,同一个底座承载交易主干,不靠单体堆叠。

Mall
多端一体

管理后台、PC 商城、移动端、商户端、骑手、供应商与收银台,共用同一套平台后端。

=
一体化交付

源码按 Apache-2.0 开源,运行制品以 unimall-<service> 独立部署。

01
↗

改需求,不改主干

二开以 owner: custom 在构建期覆盖官方实现,升级时保留你的业务判断,运行期零额外开销。

看二开方式 →
02
⎔

卖能力,不塞代码

ERP、OA、财务、MES、收银台与配送以独立制品交付。装了才出现菜单、接口和数据表。

查看插件生态 →
03
⌁

可扩展,不拖垮

高频链路读取启动期冻结的不可变快照,单个扩展点超时或异常只记录,不向上传播。

理解运行时 →

02 / Core 架构

六层栈,
一条清晰请求链路。

从浏览器到数据层,每一层都有明确职责。BFF 是唯一入口,Core 只依赖稳定契约,插件在边界外生长。

L1接入层BFF · 鉴权 · 租户上下文
L2宿主层mall · goods · order · payment
L3能力层官方 · 二开 · 第三方插件
L4接口层plugin-api · module-api
L5基础设施MySQL · Redis · MQ · OSS
L6工具链Maven · CI · 部署脚本
REQUEST FLOWBFF ONLY
01前端应用admin / pc / uni-app
→
02BFF/web/**
→
03Core 服务领域与契约
→
04运行时快照与适配器

D1 BFF 兼任网关,不增加额外一跳

D2/D3 契约与 Feign 分离,跨模块只依赖 API

D4 扩展点统一收口到 plugin-api

HIGH CONCURRENCY READY

大并发,不靠一台机器硬扛。

把流量峰值拆到接入、读写、异步和插件边界,每一层都有自己的缓冲与降级空间。

01无状态接入

BFF 配合 Nginx / 云 LB 水平扩展,入口不绑定单机状态。

02读路径提速

高频链路优先读取不可变快照与缓存,减少运行期扫描和排序。

03异步削峰

消息队列承接通知与长任务,让交易主链保持稳定响应。

04故障隔离

插件独立进程或超时降级,单个能力异常不拖垮 Core。

03 / 横向对比

同样写着开源,
自由度不一样。

选开源商城,真正卡住项目的往往不是功能多少,而是三件事:协议能不能闭源商用、多商户能力是不是在免费版里、二开之后还敢不敢升级。按这三条摊开看。

核心差异商户、供应商、门店、骑手能力都在 Apache-2.0 的 Core 里;要加能力走插件,不改官方源码。
Apache-2.0可商用 · 可闭源分发
26独立业务服务
40已登记插件
15+前端端共享一套后端
对比维度
常见开源商城做法
HouUniMall
开源协议
多为 AGPL-3.0 / GPL-3.0:对外提供商城服务须开放自身改动,闭源商用要另购商业授权
Apache-2.0:可商用、可修改、可闭源分发,含明确的专利授权条款
多商户能力
多商户、供应链、SaaS 常被拆到付费版;免费版通常只到单商户自营
商户端、供应商端、门店收银台、骑手端同在免费 Core 内,不按版本拆分收费
扩展方式
fork 核心改代码,没有稳定的扩展边界
两条独立通道:插件运行期热插拔,二开构建期覆盖,都不碰官方源码
升级安全性
升级要手工合 diff;二开越深,越不敢升级,最后锁死在旧版本
二开代码物理隔离在 extensions/,官方源码保持可替换,按版本升级
业态覆盖
以线上 B2B2C 为主,O2O 门店、供应链、餐饮通常另购产品或另做对接
平台 + 商户 + 供应商 + 门店 POS + 骑手 + 餐饮,共用一套后端与身份体系
部署形态
单体为主,业务量上来后要重构架构才能拆分
26 个服务可独立部署;先用最小集跑通,再按压力逐个拆进程

以上为通用做法对比,具体以各项目仓库中 LICENSE 与功能清单原文为准。HouUniMall 的插件数量按 architecture/services.json 登记口径统计。

HouUniMall 不适合

只做单商户轻量自营店——单体商城更快、更省机器;需要多租户 SaaS——一套部署开 N 个互相独立的商城,这不是本项目的模型。

HouUniMall 适合

要做平台方、要长期二开、要闭源交付给自己的客户,并且需要把线上交易与门店、供应链、配送真正打通的项目。

04 / 插件生态

从交易主干,
到你的业务版图。

Core 提供商品、订单、支付、商户、供应商与插件运行时。更重、更专门的能力,以独立插件进入站点。

OA商业插件

协同办公

组织、审批、考勤、合同与薪资,和商城共享 Core 身份。

runtimeembedded
财商业插件

财务管理

账套、凭证、发票与对账,数据边界清晰,独立升级。

licensePAID
MES商业插件

生产执行

排产、工序、质量与设备,连接订单但不侵入 Core。

contractmodule-api
POS商业插件

门店收银台

线下交易、库存同步与多门店结算,共用支付契约。

surfacewebpos
✦你的二开

Custom Capability

用稳定扩展点覆盖价格、运费、菜单与业务规则。

ownercustom
三种交付方式同一套契约,不同的生效时机
A
官方主干

Core 默认能力,随版本发布

发版重启
B
二开覆盖

owner: custom,构建期打进宿主

构建期
C
插件热插拔

owner: thirdparty,运行期追加能力

运行期

05 / 给开发者

十分钟,
接入你的第一个能力。

插件从元数据开始。一个 plugin.yaml 描述身份、扩展点、菜单与前端入口,宿主负责安装、启停、路由与权限。

17+前端应用共享同一套宿主体验
11内置扩展点覆盖交易关键节点
200ms单个扩展点超时保护
阅读开发手册 ↗
code: custom-goods
name: 商品二开包
version: 1.0.0
owner: custom
runtime: embedded
host: mall

extensions:
  - point: goods.PriceCalcExtension
    priority: 100

frontend:
  entry: /plugin-assets/custom-goods/1.0.0/index.mjs
// 不改主干,覆盖价格计算
@HouExtension(point = "goods.PriceCalcExtension",
    owner = "custom", priority = 100)
public class VipPriceCalc implements PriceCalcExtension {
  public void execute(PriceCalcContext ctx) {
    if (ctx.in().getUserLevel() >= 3) {
      ctx.out().setPayAmount(ctx.in().getSkuAmount() * 9 / 10);
    }
  }
}
// ESM 产物由宿主运行时加载
export default {
  install(ctx) {
    ctx.addRoute({ path: '/mall/coupon' });
    ctx.callApi('/coupon/list');
  },
  teardown() { /* 清理路由与菜单 */ }
}

06 / 快速开始

从源码到运行,
只差四步。

按需构建 Core,先验证契约,再安装插件。所有命令都对应仓库当前构建链路。

查看仓库结构 ↗

不打算自己搭环境?看看 付费搭建服务 —— 1 个工作日交付一套跑起来的系统。

  1. 01
    获取源码git clone <repo> houcloud
  2. 02
    安装 SDK 与契约mvn -o -q -DskipTests install
  3. 03
    构建 BFFmvn -DskipTests -pl bff/bff-web -am clean package
  4. 04
    启动管理后台cd frontend/admin && npm run dev

07 / FAQ

把疑问,
留在上线之前。

边界写进架构,答案写进文档。这里先回答最常见的几个问题。

开源的是哪些部分?+

Core(认证、权限、用户组织、商品、订单、支付、商户、供应商、第三方基础能力、插件中心与引擎)开源。ERP、OA、财务、MES、收银台、配送与商城营销能力以独立插件交付。

二开和插件有什么区别?+

二开是“换掉”官方实现,在构建期打进宿主;插件是“追加”官方钩子,在运行期热插拔。两者共用元数据、契约和扩展点。

插件异常会影响下单吗?+

高频链路读取不可变快照,不扫描 Class。单个扩展点有超时保护,异常只记录不向上传播;未安装插件时 Core 继续独立运行。

可以商用吗?+

可以。HouUniMall Core 采用 Apache License 2.0,允许商用、修改、分发与再许可,并含明确的专利授权与商标保留。商业插件制品与授权独立于 Core。

HouUniMall 是跨境电商或出海平台吗?+

不是。HouUniMall 是厚匠科技出品的一体化插件化商城中台,Apache-2.0 开源、可自托管,用来搭建自营与多业态电商系统。它与任何第三方跨境、出海或全托管 SaaS 平台均无关联、无合作、无隶属关系,是独立的产品与品牌。

READY WHEN YOU ARE

把主干交给 HouUniMall,
把差异留给自己。

从一套可运行的商城 Core 开始,持续接入你的业务能力。

如果你是软件公司、系统集成商或外包团队 —— 看看 HouUniMall 伙伴计划,把它作为你的项目交付底座。

如果你只是想让这套系统尽快跑起来 —— 看看 付费搭建服务,¥2,980 起,1 个工作日交付,跑不通全额退。

HouUniMall 是上海厚匠网络科技有限公司的商城产品,官方站点 www.houjit.com,产品信息以官网公示为准。