fancyecommerce/fecshop-app-advanced

Yii 2 高级项目模板

2.17.4 2021-09-02 09:55 UTC

README


Latest Stable Version Total Downloads Latest Unstable Version

项目状态:

正式版本已发布,后台(appadmin)和PC端(appfront)、WAP端(apphtml5),Vue端(appserver)已完成,完成了一些基本的API。

1、Fecmall介绍

Fecmall 全称是Fancy ECommerce Shop,是基于php Yii2框架之上开发的一款优秀的开源电商系统,Fecmall支持多语言、多货币,在架构上支持PC、手机web、手机app和ERP对接等入口,您可以免费快速地定制和部署属于您的电商系统。

详细查看地址:Fecmall介绍

Fecmall 官网:http://www.fecmall.com,您可以在这里提交bug,问题咨询等等。

Fecmall 【已完成】PC Web演示:http://fecshop.appfront.fancyecommerce.com/

Fecmall 【已完成】Mobile Web演示(WAP):http://fecshop.apphtml5.fancyecommerce.com

Fecmall 【已完成】Mobile VUE演示(Appserver,前后端完全分离模式):http://demo.fancyecommerce.com/#/

Fecmall 【已完成】微信小程序(Appserver,前后端完全分离模式):微信小程序搜索:Fecmall查看demo,或者扫下面的小程序码:

wx_xiaochengxu_fecmall

Fecmall 后台演示地址:加QQ群,在群公告里面有后台演示地址,账号密码等信息

Fecmall Fecmall QQ群(新):782387676,入群验证:fecmall

作者, Terry QQ 邮箱:2358269014@qq.com

Fecmall Github地址: https://github.com/fancyecommerce/yii2_fecshop

开源协议:Fecmall 授权协议

2、Fecmall文档和视频

二开以及安装文档: Fecmall 安装开发文档【撰写完成】

使用帮助说明文档: Fecmall 使用帮助文档【撰写完成】

安装开发帮助视频: Fecmall 安装开发视频【撰写完成】

前后端分离模式Api: Appserver VUE Api文档【撰写完成】

3、安装Fecmall

请务必按照说明安装,自行配置环境安装。

从基础的Linux一步步配置的方式,详细查看文档: Fecmall 安装

4、Fecmall 配置:

配置详细查看:Fecmall 配置

如果您使用vagrant box的安装方式,上面的这些步骤,在box里都已经配置好了。

5、架构特色

架构特色:详细参看介绍:Fecmall 架构特色

以下是简要说明:

Fecmall 全称是Fancy ECommerce Shop,是一款优秀的开源电商系统,遵循BSD-3-Clause协议(与Yii2框架一样的开源协议),目的是为了方便Yii2用户快速开发商城。Fecmall作为一款可以持续发展的商城系统,在框架层面有以下特性:

  1. 由于商城系统的复杂性,原始的框架MVC结构,显得有点力不从心,Fecmall框架加入了Block层,Controller层只负责调度,Model只负责数据库映射,中间的处理逻辑由block来完成,View层负责显示,这样各司其职,以免造成controller文件过于庞大。

  2. 加入独立功能块,有点类似Yii2的Widget,目的是为了让一些侧栏公用块可以通过配置的方式添加,同时,还可以具有设置缓存的功能,例如分类侧栏的产品推荐、newsletter等独立显示块可能在很多页面用到,通过独立功能块可以方便地加载。

  3. 在Model层的上层加入服务层Services,这样,Controller、Block、View层,在原则上不能直接调用Model,必须通过Services层以及子Services层,然后Services访问各个Model,组织数据,事务处理等操作,将数据结果返回给上层,这种设计可以方便以后业务发展后,进而根据业务特点进行重构,或者以后如果出现新技术、新方式,都重构为自己想要的样子,例如,将某个底层由mysql换成mongodb,或者为了应对高并发读写并且多事务性的功能部分,进行分库分表的设计方式。

  4. Fecmall多模板系统,Fecmall设置了多个模板路径,各个模板路径下的文件被加载的优先级不同,其中,Fecmall的模板路径下的文件最全面,但是优先级最低,第三方模板路径优先级其次,用户本地模板路径优先级最高,用户可以通过复制相应路径下的view或者js,css文件到本地模板路径,存在于高优先级模板路径的文件会被优先加载,这样用户可以通过多模板系统的原理进行模板的制作,同时,不影响Fecmall模板的升级,如果Fecmall view文件升级后被修改,那么用户可以比对本地模板文件与升级模板文件的代码的不同,复制更改的代码到本地模板路径即可。第三方的模板路径的优先级介于本地模板路径和Fecmall模板路径之间。

  5. 重写机制,Fecmall的功能基本都可以被用户重写,包括services层,Modules,Controller,Block,Views,View Layout,以及Js Css Img等,都可以被用户重写,其中Js,Css,Img,Views,View Layout是通过多模板路径优先级来实现的,其他的是通过配置文件的覆盖更改来实现重写,这样,用户就可以很方便重构Fecmall或者第三方的功能和模板。

  6. 升级最小化干扰,Fecmall的核心文件是放到vendor/fancyecommerce/fecshop路径下面,和第三方扩展,用户二次开发路径完全隔离开,Fecmall可以通过composer进行核心功能的升级,用户只需要通过composer升级即可。

  7. 快速高效,Fecmall Servises遵循Yii2的懒加载方式,只初始化使用到的组件服务,缓存方面有整页缓存,block部分缓存,动态数据ajax加载等方式,让您的网站快速响应。

  8. Fecmall多入口模式,分为appadmin(后台),appfront(PC前端),apphtml5(手机web),appserver(手机app服务),appapi(erp,或者其他接口对接),不同的业务,不同的设备,进入不同的入口,各个入口共用服务层services,但是modules部分独立,这样相互干扰最小,可以相互独立开发。

  9. 后台封装化,fec_admin扩展可以快速的实现增删改查类型的表单列表,方便用户快速的做增删改查。

鉴于以上特点,您可以下载安装Fecmall,然后更改Fecmall的模板和功能,扩展想要的功能,或者安装第三方开发好的扩展或者模板,来快速的组建起来您的网站。

6、捐赠

如果您认为这是一个不错的项目,对您有帮助,你可以通过下面的方式进行捐赠,这里感谢您对开源项目的支持。

支付宝:

微信:

捐赠历史:(捐助,建议写一下留言)