🐼 ZhangPanda

GoShop:用 Go 重写的开源电商系统

2026-04-29 · 技术 · 👁 98 · Go · 开源 · 电商 · GoShop

为什么做 GoShop

市面上成熟的开源电商系统大多基于 PHP(如 ShopXO、ECShop),Go 生态里一直缺少一个功能完整的电商方案。GoShop 就是为了填补这个空白——用 Go 重写一套完整的电商系统,对标 ShopXO v6.8.0 的功能覆盖度。

技术栈

  • 后端:Go + Gin + GORM + MySQL
  • 管理后台:Next.js + Ant Design,72 个管理页面
  • PC 前台:Next.js + Tailwind CSS,Apple 风格 UI
  • 手机端:兼容 shopxo-uniapp 社区项目
  • 缓存:Redis 可选,不配置自动用内存缓存

核心数据

指标 数值
Gin 路由数 392 条
ShopXO 功能对齐率 ~97%(人工核对)
uni-app 兼容动作数 82 个 s= 动作
管理后台页面数 72 个
支付驱动 12 种

功能亮点

完整的电商能力

商品管理(多规格、多SKU)、订单全流程、购物车、收货地址、商品收藏、浏览记录、商品评价、积分签到、消息通知——标准电商该有的都有。

营销工具

  • 秒杀:乐观锁 + 限购,防超卖
  • 拼团:自动成团机制
  • 优惠券:满减、折扣、新人券
  • 促销活动:限时折扣、满减活动

分销体系

三级分销、佣金自动计算、提现审核,开箱即用。

DIY 装修

集成 shopxo-diy 可视化拖拽编辑器,商城首页自由搭建,无需写代码。

ShopXO 兼容层

提供 /api.php 风格兼容入口,已实现 82 个 s= 动作。社区维护的 shopxo-uniapp 小程序可以直接对接,改个接口地址就能用。

和 ShopXO 的关系

GoShop 是独立编写的 Go 后端,不是 ShopXO 的 fork。对照 ShopXO v6.8.0 做数据模型和商家主路径的对齐,目的是让熟悉 ShopXO 的团队能低成本迁移。DIY 和 Form 编辑器复用了 ShopXO 官方的 MIT 开源子项目。

不做的事情:PHP 插件运行时、在线插件市场、在线升级。管理端应用商店 Tab 仅为兼容占位。

快速体验

在线演示:zhangpanda.com/goshop

本地启动只需三步:

git clone https://github.com/zhangpanda/goshop.git
cd goshop && cp config.yaml.example config.yaml
go build -o bin/goshop cmd/server/main.go && ./bin/goshop

首次启动自动建表、创建管理员(admin/admin123)、填充示例数据。

管理后台 cd admin && npm run dev,PC 前台 cd web && npm run dev

开源地址

GitHub:github.com/zhangpanda/goshop

欢迎 Star ⭐ 和 PR。

← Colima:Mac 上最简单的 Docker 替代方案
← 返回博客