引言
在数字化转型浪潮席卷各行各业的今天,电商系统已成为企业拓展线上业务的核心基础设施。然而,从零构建一套功能完备、性能卓越、可扩展的商城系统,不仅需要投入大量研发资源,还面临技术选型、架构设计、安全合规等诸多挑战。开源电商解决方案的出现,为企业提供了一条高效、低成本的实现路径。
Lilishop 作为一款优秀的国产开源 B2B2C 多商户商城系统,凭借其全端覆盖、分布式架构、功能完善等特性,在开源社区中获得了广泛关注。本文将对该项目的技术架构、核心功能、部署实践及商业价值进行全面解析。
一、项目概览
Lilishop 是一款基于前后端分离架构的 B2B2C 多商户商城系统,全端代码开源,遵循 Apache 2.0 协议。项目采用 Java + Vue + uni-app 技术栈,后端基于 Spring Boot 3 构建,具备高内聚、低耦合特性,支持分布式部署;前端覆盖 PC 端、H5、微信小程序及 Android/iOS APP,真正实现“一套代码,多端运行”。
项目信息:
官方网站:https://pickmall.cn
官方文档:https://docs.pickmall.cn
Gitee:https://gitee.com/beijing_hongye_huicheng/lilishop
GitHub:https://github.com/lilishop/lilishop
二、核心特性
2.1 全端覆盖,降本增效
基于 uni-app 跨端框架,Lilishop 实现了一套代码库同时支持 PC 网页、移动 H5、微信小程序、支付宝小程序、百度小程序、字节跳动小程序以及 iOS/Android APP。这一设计极大降低了多端开发和维护的人力成本,使创业团队能够以有限资源快速布局全渠道。
2.2 商家入驻,构建平台生态
作为 B2B2C 模式的开源实现,Lilishop 支持多商家独立入驻、自主经营。平台方负责基础设施和流量分发,商家拥有独立的店铺管理后台,可进行商品上架、订单处理、促销活动、财务结算等操作。这种模式既保留了平台的整体管控能力,又赋予商家充分的经营自主权。
2.3 分布式架构,弹性伸缩
后端 API 采用微服务化设计思想,各个业务模块(商品、订单、会员、促销等)可独立部署、独立扩展。配合容器化技术(Docker + Kubernetes),系统能够根据业务负载动态调整资源,从容应对大促等流量洪峰场景。
2.4 前后端分离,敏捷协作
前端(Vue/uni-app)与后端(Spring Boot)完全分离,通过 RESTful API 进行交互。这种架构使得前后端团队可以并行开发,前端可独立部署和迭代,同时也为第三方系统集成提供了标准的 API 接口。
2.5 容器化支持,一键部署
项目提供了完整的 Docker 镜像和 docker-compose 编排配置,开发者只需执行几条命令即可完成 MySQL、Redis、Elasticsearch、RocketMQ 等中间件的部署以及 Lilishop 各服务的启动,极大降低了环境搭建和运维的门槛。
三、技术架构解析
3.1 整体架构图
Lilishop 采用分层架构设计,自上而下分为:
接入层:Nginx 负责负载均衡与反向代理
前端层:PC 端(Vue + iView)、移动端(uni-app + uView)
业务层:平台管理端 API、商家端 API、商城 API
基础服务层:会员服务、订单服务、商品服务、促销服务等
中间件层:Redis(缓存)、RocketMQ(消息队列)、Elasticsearch(搜索)
数据层:MySQL(主从)、ShardingSphere(分库分表)
基础设施:Docker、Kubernetes、XXL-Job(定时任务)
3.2 后端技术栈
技术 | 选型 | 版本 | 用途 |
|---|---|---|---|
核心框架 | Spring Boot | 3.5.6 | 应用快速开发 |
ORM框架 | MyBatis-Plus | 3.5.8 | 数据持久化与简化开发 |
数据库 | MySQL | 8.3.0 LTS | 关系型数据存储 |
消息队列 | RocketMQ | 2.3.4 | 异步解耦、削峰填谷 |
缓存 | Redis | - | 热点数据缓存、分布式会话 |
搜索引擎 | Elasticsearch | - | 商品全文检索 |
安全框架 | Spring Security | - | 认证授权 |
分库分表 | ShardingSphere | 4.0.0 | 数据水平扩展 |
定时任务 | XXL-Job | 2.3.0 | 分布式任务调度 |
认证方案 | JWT | - | 无状态 Token 认证 |
技术选型亮点:
Spring Boot 3:基于 Jakarta EE,原生支持 GraalVM Native Image,启动速度和内存占用得到显著优化。
RocketMQ:相比 RabbitMQ,RocketMQ 在电商场景下的事务消息、顺序消息、海量消息堆积能力上更具优势。
ShardingSphere:支持分库分表、读写分离,为海量数据场景提供扩展能力。
Elasticsearch:实现毫秒级商品检索,支持分词、筛选、排序等复杂查询需求。
3.3 前端技术栈
管理端(平台/商家):
Vue.js 2.x:渐进式 JavaScript 框架
iView:企业级 UI 组件库,提供丰富的表格、表单、弹窗等组件
Vuex:全局状态管理
Vue Router:前端路由
axios:HTTP 请求库
移动端(H5/小程序/APP):
uni-app:基于 Vue.js 的跨端框架,一套代码发布到 10+ 平台
uView UI:为 uni-app 打造的组件库,覆盖 60+ 常用组件
SCSS:CSS 预处理器,提升样式开发效率
四、功能清单
4.1 平台管理端
平台端是系统运营的核心控制台,提供以下模块:
数据看板:核心经营指标(GMV、订单量、新增会员、转化率)实时展示,待办事项提醒
会员管理:会员列表、等级、积分、资金流水、充值记录、评价审核
订单管理:商品订单、虚拟订单、售后处理(退款/退货)、订单投诉、收退款流水
商品管理:商品上下架、审核、分类、品牌、规格参数、计量单位
促销引擎:优惠券(满减/折扣/随机)、限时秒杀、多人拼团、砍价活动、积分商城
店铺管理:入驻申请审核、店铺状态管理、结算对账、保证金管理
运营工具:页面装修(可视化拖拽)、分销员管理、文章/CMS、意见反馈、站内信、短信/邮件配置
统计报表:会员增长趋势、订单来源分析、流量漏斗、商品销售排行等多维度报表
系统设置:权限管理(RBAC)、角色、部门、操作日志、OSS对象存储、支付通道(微信/支付宝)、物流公司、敏感词过滤
4.2 商家端
商家端为入驻商户提供自主经营能力:
店铺看板:店铺今日/实时数据、待发货订单、待处理售后、系统公告
商品管理:商品发布(支持多规格、多图、视频)、店铺内分类、运费模板配置
订单处理:订单列表、发货处理、买家评价回复、投诉申诉、退款/退货审核
财务中心:店铺对账、结算记录、提现管理、发票申请
促销活动:店铺优惠券、满减活动、秒杀报名、拼团活动、分销商品设置
店铺统计:店铺订单统计、流量来源分析、商品销量排行
店铺设置:物流配送配置、自提点管理、店铺基本信息、PC/移动端店铺装修、店员账号与权限管理
4.3 商城端(用户端)
首页:轮播图、商品推荐、促销入口
搜索:关键词检索、筛选(价格/品牌/分类)、排序(销量/价格/综合)
商品详情:规格选择、加入购物车、立即购买、商品评价
购物车:商品增删改、凑单推荐
订单:提交订单、地址管理、支付(微信/支付宝/余额)、物流跟踪
个人中心:订单列表(全部/待付款/待发货/待收货/待评价)、收藏夹、优惠券、积分、余额、收货地址
五、快速部署实践
5.1 环境要求
JDK 17+
Docker & Docker Compose
Git
5.2 一键部署步骤
# 1. 克隆项目 git clone https://gitee.com/beijing_hongye_huicheng/lilishop.git cd lilishop # 2. 使用 Docker Compose 启动全部服务(MySQL、Redis、ES、RocketMQ、后端、前端) docker-compose -f docker/docker-compose.yml up -d # 3. 等待服务启动完成(约 2-3 分钟) # 4. 访问服务 # 平台管理端:http://localhost:8888 # 商家管理端:http://localhost:8889 # PC商城:http://localhost:100005.3 手动部署要点
若需手动部署,需依次完成:
MySQL 数据库初始化(执行 SQL 脚本)
Redis 启动
Elasticsearch 启动
RocketMQ 启动(NameServer + Broker)
修改后端配置文件(数据库连接、Redis、ES、RocketMQ)
打包后端服务:
mvn clean package运行各 jar 包:
java -jar lilishop-xxx.jar前端分别构建部署(PC、管理端、移动端)
六、商业模式与价值分析
6.1 适用场景
B2B2C 平台:传统企业转型电商平台,引入第三方商家入驻
区域电商:地方性综合商城,本地商家入驻
垂直行业电商:特定行业(如母婴、美妆、数码)的多商户平台
跨境/多语言电商:支持多语言、多币种扩展(需二次开发)
SaaS 服务商:基于 Lilishop 构建多租户 SAAS 电商系统
6.2 商业价值
开源节流:相比商业软件数十万起步的授权费用,Lilishop 零成本获取源码,仅需投入实施和定制开发成本。
自主可控:代码完全开放,企业可根据业务需求自由修改和扩展,不受厂商锁定。
快速上线:完善的文档和成熟的功能模块,可将上线周期从 6 个月缩短至 1-2 个月。
社区支持:活跃的开源社区提供问题解答和经验分享,降低技术风险。
6.3 企业级增强建议
虽然开源版本功能完善,但在生产环境中,企业可考虑以下增强方向:
接入 API 网关(Spring Cloud Gateway),实现统一鉴权、限流、熔断
引入 SkyWalking/Pinpoint 实现全链路监控
对接 Prometheus + Grafana 构建监控告警体系
配置 CDN 加速静态资源
启用 HTTPS 与 WAF 提升安全性
实施数据备份与异地多活方案
七、总结与展望
Lilishop 作为一款技术栈先进、功能完整、架构清晰的 B2B2C 开源商城系统,为中小企业快速构建电商平台提供了理想的基础框架。其全端覆盖的能力降低了多端开发成本,分布式架构保障了系统的可扩展性,容器化支持简化了运维复杂度。
当然,开源项目在实际落地时仍需结合具体业务场景进行二次开发,例如对接 ERP/WMS 系统、定制促销规则、优化移动端体验等。但对于绝大多数通用电商需求,Lilishop 已经提供了开箱即用的解决方案。
未来,随着电商行业向社交电商、直播带货、私域运营等方向演进,Lilishop 社区也在持续迭代。期待更多开发者参与到项目中,共同打造更加完善的国产开源电商生态。
参考资料:
Lilishop 官方文档:https://docs.pickmall.cn
Lilishop Gitee 仓库:https://gitee.com/beijing_hongye_huicheng/lilishop
Spring Boot 3 官方文档:https://docs.spring.io/spring-boot/docs/current/reference/html/
本文首发于微信公众号,欢迎关注获取更多技术干货。