Saleor开源电商框架

由于项目需求,要做一个电商网站,但是要允许自定义支付(内部结算)。商品信息从另一个服务获取,有很多自定义的字段。由于个人便好,对比了各种电商框架,选了Saleor。

Saleor

  • 这是一款Headless的电商系统,也就是API-first的电商后端
  • 核心项目分成三个模块
    • Core。核心API服务,纯后台服务
    • Storefront。Saleor做的范例前端电商服务,纯前台服务
    • Dashboard。后台控制面板,纯前台服务
  • 核心API是用Python写的,GraphQL风格的API

Get Started

项目提供了一个很方便的启动项目saleor-platform,你可以用这个项目里内涵的教程很方便的创建一个自己的Saleor。这个启动项目是基于docker的,所以也需要docker-compose。

按照How to run it?部分运行就能启动起来大部分服务。但是我测试了很多遍,storefront的docker都没法启动起来。解决方法就是单独启storefront,其他的用docker-compose up就好了。

Environment

但是如果想正常用起来,还有不少配置需要的参数的。常见的有下面几个。但是这样的配置就会影响到比如创建mock数据之类的流程。

services:
  api: ...
  environment:
   - STOREFRONT_URL=http://xxx/
   - DASHBOARD_URL=http://yyy/
   - DEFAULT_CURRENCY=CNY
   - DEFAULT_COUNTRY=CN
   - ALLOWED_HOSTS=aa.bb.cc.dd
   - ALLOWED_CLIENT_HOSTS=aa.bb.cc.dd

版本

saleor-platform里的主版本现在还是2.x,2.x和3.x的API还是差别很大的。一个很大的区别是支持channel,也就是一个站可以支持不同的店铺。从API看起来,就是Saleor想要支持SaaS模式。

想要部署一个3.x的版本,需要的就是把每个项目Checkout成3.x(现在看起来都是3.0/3.1)。然后回到saleor-platform目录下build所有镜像。

GraphQL API

用这个项目比较有挑战的是,所有的核心API都是GraphQL形式的。可以看出Saleor的API文档写的还是很匆忙,每个版本的文档都各有差异,有些栏目只在某个版本的文档里有。所以如果你找不到内容,还是优先用搜索。

访问API的时候,一般都要在header里用token。这个流程按照User部分的文档里获取token部分,用tokenCreate这个mutation就可以。

总结

Saleor总体是个挺好的项目。相对比较傻瓜的headless的ecommerce。作为电商的起步也都没问题,还有一点点关于库存,支付,物流的定制流程。虽然没有测试过,但支撑大型的电商应该是需要很深度的开发的。


发表评论

%d 博主赞过: