系统架构
- 设计理念:简洁、易用、核心轻量、易于扩展
- 架构设计:模块化架构、插件化功能、开放接口
模块化架构
采用Composer包管理,利用Laravel ServiceProvider,实现系统核心功能模块化,支持灵活替换
- innoshop/common:通用功能模块
- innoshop/front:前端展示模块
- innoshop/panel:管理面板模块
- innoshop/plugin:插件管理模块
- innoshop/install:Web安装模块
- innoshop/restapi:RESTful API模块
- innoshop/devtools:开发者工具模块(开发中)
插件化功能
系统核心保持轻量,基础功能满足电商需求。其他功能通过插件形式实现,支持以下三种Hook:
- 数据Hook:处理数据相关逻辑
- 流程Hook:控制业务流程
- 模板Hook:自定义模板展示
开放接口
提供RESTful或GraphQL接口,方便与其他软件和服务实现无缝集成。接口分为C端商城API和B端管理API。
- C端商城API:支持客户注册、登录、商品浏览、购物车、结账等全套购物流程,可以用于 headless、APP、小程序等开发。
- B端管理API:提供商品管理、库存管理、订单管理、客户管理等后台必备接口,可以用于对接第三方 ERP、WMS 等系统。
通过这样的设计,系统既保持了核心的简洁和高效,又通过模块化和插件化,为扩展和定制提供了极大的灵活性。 同时,开放的API接口确保了系统可以与其他软件和服务无缝集成。