【多商户开源-BSD- Fecmall 电商平台】
关于Fecmall
Fecmall 关于,Fecmall介绍
Fecbbc开源BSD多商户系统,真正开源,商用免费授权的多商户系统
Fecmall系统简介:
全称为Fancy ECommerce Shop, 着重于
电商架构
的研发优化
,全新定义
商城的架构体系
,是基于php Yii2框架之上开发的一款优秀的开源电商系统,易于系统升级,二次开发以及第三方扩展,代码100%开源,作为一款定位于商城框架
功能齐全的电商系统,您可以下载代码查看fecmall的代码结构,Fecmall开源商城是B2C类型
,不支持商家入驻(不是B2B2C,B2B2C请使用多商户版Fecbbc
系统), Fecmall支持多语言,多货币,架构上支持pc,手机web,手机app,微信小程序,和erp对接等入口,您可以免费快速的定制和部署属于您的电商系统。 详细参看地址:关于Fecmall,您可以点击这里查看Fecmall商城演示
Fecmall开源商城功能列表:
从
架构
,功能列表
,性能测评
等方面快速的了解fecmall,详细参看:Fecmall开源B2C商城功能列表
Fecmall授权协议:
详细参看地址:Fecmall授权协议
Fecmall技术支持
Terry从2015年一直维护到现在,提供技术支持,可以无后顾之忧的选择Fecmall,在电商项目中使用,详细参看:Fecmall开源项目历程时间线
前言:作为第一次接触fecmall,肯定有很多问题咨询,可以先看看下面两个问题以及回复:
1.Fecmall现在有人用于线上项目吗?可以参看地址: Fecmall 线上项目案例
2.Fecmall一系列的用户的咨询问答列表:Fecmall 各种疑问对应的回复
3.Fecmall Github地址:https://github.com/fecmall/yii2_fecmall
4.Fecmall 安装文档:http://www.fecmall.com/doc/fecmall-guide/develop/cn-1.0/guide-fecmall-about-hand-install.html
Fecmall发起人Terry:
Terry
,2010年进入跨境电商行业至今,从开始的玩magento
到 自建商城系统,积累了很多跨境电商业务经验,2015年开始筹划fecmall
开源项目,将多年的电商经验沉淀到fecmall,方便自己的项目使用,并分享给大家, 希望fecmall抛砖引玉,可以聚集一群电商技术人士,共同学习,提升,进步。Terry个人博客:YII2 教程
TerryCSDN博客:TerryWater-CSDN博客
Fecmall QQ群:782387676,入群验证:fecmall
Fecmall开发初衷:
目前市场上开源电商系统,生态和插件体制非常好, 譬如magento,zencart,可以很快的让公司有一个属于自己的电商系统, 但当公司业务晋升,需要大量二开,甚至想重构掉原有的模块,是一件非常令人头疼的事情, 譬如把magento的购物车模块由mysql换成redis,是非常费劲的事情, 另外,自从2010年至今,随着移动端的到来,多入口模式的电商系统, 以及新的编程思想, 新的软件工具的涌现, 在开源界几乎找不到适应当今模式的开源电商系统,为了满足自己的需求,顺便方便更多的人,从2015年开始筹划开发 支持多入口模式的fecmall,一直坚持到今天,简而言之,fecmall面向的群体是程序员,而非小白。 不过,小白也做不了电商,目前没听说过那个做自营电商的公司没有程序员, 小白还是去taobao,天猫,ebay,amazon,aliexpress等平台入驻比较好, 不适合做自营网站。
注:2019年8月份,fecmall-2版本的发布,以及fecmall入驻宝塔控制面板支持一键部署,让fecmall的安装难度大大降低,动手能力强一些的小白可以基于宝塔部署fecmall。
Fecmall现状:
Fecmall-1版本默认需要安装mongodb,xunsearch,redis等太多的软件,导致安装非常费劲,为了更好的方便用户安装 ,Fecmall-2版本,默认只需要安装mysql就可以了,但,这并不代表fecmall抛弃了mongodb,xunsearch,redis, 相反,Fecmall将这些存储方式,以配置的方式加入,您可以将产品分类存储由mysql切换成mongodb,购物车,session使用redis等 ,为了方便小白用户安装fecmall,Fecmall-2已经入驻宝塔控制面板,可以一键安装部署fecmall,另外Fecmall应用市场上线,所有的应用都是基于Fecmall基础上的扩展包,完善生态,方便更多的用户, 目前,应用市场有免费的模板插件,
中文B2C开源商用免费商城
,也有付费的多商户系统
,多商户分销
等。
Fecmall默认支持的支付方式:
1.Paypal支付。
2.支付宝pc扫码支付,手机web支付。
3.微信pc扫码支付,手机web支付,微信公众号JsApi支付。
Fecmall商城领域应用范围:
对于fecmall,很多人看到了演示,会先入为主的定性fecmall为做跨境电商,其实这是
错误
的,fecmall的定位是做一个电商框架
,基础功能
齐全 ,重在架构体系
,因此,作为基础设施
定位的fecmall,是可以做任意商城
的,国内国外商城都可以做,基础上面进行扩展即可, ,fecmall应用市场的所有的应用,都是以独立扩展包
的方式进行开发发布,因此具体领域的电商,可以在应用市场找到相应的扩展, 如果您做跨境电商
,建议您在应用市场找模板使用,譬如:http://addons.fecmall.com/75268544 ,如果您是做国内电商B2C
,可以用fecyo中文B2C
开源商城,非常适合做国内的点商户,并且商用免费授权
,详细参看:Fecyo - 中文国内电商商城系统(PC + H5双入口) ,如果您做国内的多商户
,可以使用fecbbc多商户
系统(付费授权),详细参看:Fecbbc 多商户电商系统(B2B2C) , 如果您做国内的多商户分销
,可以使用fecbdc多商户分销
系统,详细参看:fecbdc多商户分销扩展系统(三级分销)
Fecmall代码文件下载:
php已经告别了下载库包安装的时代,现在都是基于composer进行库包管理,fecmall的下载 是基于composer的方式,详细参看: fecmall 安装 ,文档的安装部分查看,如果您不熟悉composer,那么您需要好好学习了, 由于composer有时候被墙,因此,我们提供了百度网盘压缩包,下载地址为: fecshop 下载_免费高速下载|百度网盘-分享无限制 ,不过我们不推荐这种方式。强烈推荐使用composer 下载fecmall代码文件。
Fecmall环境搭建:
Fecmall-2.x版本:(2019-08-01发布) 在用户体验进行了提升,默认只需要php, mysql, nginx,如果您有性能需要,可以通过配置的方式添加mongodb,reids,xunsearch >等工具进行扩展(很多模块进行了多种数据库实现,您只需要后台配置相应的services即可), Fecmall-2.x 已经入驻
宝塔控制面板
支持一键部署
,小白安装fecmall的福音,详细参看: Fecmall-2.x 宝塔安装
Fecmall-1.x版本: Fecmall需要安装的软件比较多,需要php, mysql, nginx, mongodb, redis, 如果您 做中文,还需要安装中文的搜索引擎xunsearch。我们提供了详细的在linux下面搭建的 步骤:Fecmall 环境部署 , 对于该步骤配置过程比较繁琐,因此,我们强烈建议您使用docker compose来 搭建Fecmall的环境,安装过程比较快捷,详细参看: https://github.com/fecmall/yii2_fecmall_docker
Fecmall技术论坛:
在这里可以提问Fecmall安装开发扩展过程中,出现的bug, 您认为的优化,新功能的分享等等,详细参看地址:Fecmall论坛
Fecmall系统安装:
请参看安装文档:Fecmall安装文档 ,Yii2的安装是基于Composer在线安装的,如果您的网络被墙了, 文档里面有百度网盘下载完整文件包。
Fecmall-2.x开发文档:
Fecmall 安装开发文档【撰写完成】 ,这里是Fecmall安装,开发的一系列的文档,比较详细,您可以详细参看该文档
Fecmall-1.x开发文档:
Fecmall 安装开发文档【撰写完成】 ,这里是Fecmall安装,开发的一系列的文档,比较详细,您可以详细参看该文档
Fecmall帮助文档:
Fecmall 使用帮助文档【撰写完成】 里面有fecmall的功能的介绍,以及相应的视频,帮助您更好的了解fecmall的设置。
Fecmall DEMO演示:演示地址如下:
参看:Fecmall演示
Fecmall 多入口
Fecmall的底层功能是在Servcies层实现, 各个入口调用Servces里面的方法实现自己的逻辑,目前Fecmall的规划是6个入口:
appadmin
:后台端,在后台可以编辑产品查看订单等一系列的客服和编辑执行的部分
appfront
:前台PC端,电脑浏览器访问前端的部分,适用于pc电脑端
apphtml5
:前台WAP端,html5做的部分,适用于移动浏览器设备
appserver
:前台服务端,该端口提供api,适合于做前后端彻底 分离的应用,譬如:手机app,VUE类似的应用。目前已经支持的入口:VUE,微信小程序
appapi
:和第三方进行数据交互端,在该端口可以将fecmall系统的数据传递给其他 的系统,譬如将订单传递给ERP,利用产品刊登工具刊登产品等。
console
:在服务器后台执行批量线下脚本端
Fecmall商城支持场景
1.PC端浏览器商城入口,适合电脑计算机浏览器访问
2.Wap手机web端,Html5方式,可以使用手机浏览器,以及微信公众号商城
3.Wap手机web端,VUE方式,可以使用手机浏览器,以及微信公众号商城
4.微信小程序,可以做微信小程序商城。
Fecmall 贡献者:
Fecmall在开发到现在,虽然大多数代码是由Terry一人编写的, 但是,有很多的问题经过了别人的帮助,在这个页面可以参看详细: 贡献者
Fecmall 时间线:
Fecmall的开发历程
Fecmall 如何学习:
Fecmall的入手门槛稍微有点高,但也不难,需要您了解熟悉Yii2框架, 最好是熟悉Linux操作(非必须),能力弱一些的可以使用宝塔控制面板一键部署fecmall-2.x ,只要您肯花费时间,是没有问题的, Fecmall文档非常的详细,再加上去google搜索,基本没有问题的,在有问题,可以去论坛发帖, 100%回帖。
Fecmall 架构特色:
Fecmall 全称为Fancy ECommerce Shop,是一款优秀的开源电商系统,遵循BSD-3-Clause协议(和Yii2框架一样的开源协议), 目的是为了方便yii2用户快速的 开发商城,Fecmall作为一款可以持续性发展的商城系统, 在框架层面有以下特性:
由于商城系统的复杂性,原始的框架MVC结构,显的有点力不从心,Fecmall框架 加入了Block层, Controller层只负责调度, Model只负责数据库映射,中间的处理逻辑由block来完成,View层 负责显示,这样各司其职, 以免造成controller文件过于庞大。
加入独立功能块,有点类似Yii2的Widget,目的是为了让一些侧栏公用块 可以通过配置的方式 添加,同时,还可以具有设置缓存的功能,譬如分类侧栏的产品推荐, newsletter等独立显示块可能在很多 页面用到,通过独立功能块可以配置方便的载入。
在
Model
层的上层加入服务层Services
,这样,Controller
,Block
,View
层,在原则上 不能直接调用model
,必须通过Services
层以及子Services
层,然后Services
访问各个model
,然后组织处理数据, 将数据结果返回给上层,这种设计可以方便以后业务 发展后,进而根据业务特点进行重构,或者以后如果出现新技术,新方式, 都重构成自己想要的样子,譬如, 将某个底层由mysql
换成mongodb
,或者为了应付高并发读写并且多事务性的功能部分, 进行分库分表
的设计方式。 另外,作为一款强扩展性的商城,产品
,分类
等services
部分,实现了mongodb
和mysql
两套services
,用户可以在后台配置切换不同的底层存储
, 以及cart services
,通过配置将mysql cart
切换成redis cart
,Service
是公用层,前端pc,h5,小程序等入口公用services
,Service
是懒加载
模式,用到的时候才会实例化单例模式对象
,无论在应用扩展
,开发重构
,代码开发,性能加速
等方面,services
都是一把利器,Fecmall services
的实现方式参考了Yii2的组件
原理。Fecmall多模板系统,Fecmall设置了多个模板路径,各个模板路径下的文件被加载 的优先级不同,其中,Fecmall的模板路径下的文件最全面,但是优先级最低, ,第三方模板路径优先级其次,用户本地模板路径优先级最高, 用户可以通过 复制相应路径下的view或者js,css文件到本地模板路径,存在于高优先级 模板路径的文件会被优先加载,这样用户可以通过多模板系统的原理进行模板的 制作,同时,不影响Fecmall模板的升级,如果Fecmall view文件升级后被修改, 那么用户可以比对本地模板文件与升级模板文件的代码的不同, 复制更改的代码到本地模板路径 即可。第三方的模板路径的优先级介于本地模板路径和Fecmall 模板路径之间。
重写机制,Fecmall的功能基本都可以被用户重写,包括servies层,Modules, Controller,Block,Views,View Layout, 以及Js Css Img等,都可以被用户重写,其中 Js,Css,Img,Views,View Layout 是通过多模板 路径优先级来实现的,其他的是通过配置文件的覆盖更改来实现重写,这样,用户 就可以很方便重构Fecmall或者第三方的功能和模板。
升级最小化干扰,Fecmall的核心文件是放到
vendor/fancyecommerce/fecmall
路径下面,和第三方扩展,用户二次开发路径完全隔离开, Fecmall可以通过composer
进行核心功能的升级,用户只需要通过composer升级 即可。快速高效,Fecmall Servises遵循Yii2的懒加载方式,只初始化使用到的组件服务, 缓存方面有整页缓存,block部分缓存,动态数据ajax加载等方式,让您的网站快速响应。
Fecmall 多入口模式,分为 appadmin(后台), appfront(PC前端),apphtml5(手机web), appserver(手机app服务),appapi(erp,或者其他接口对接), 不同的业务,不同的设备,进入不同的入口,各个入口共用服务层services, 但是modules部分独立,这样相互干扰最小,可以相互独立开发。
后台封装化,fec_admin扩展可以快速的实现增删改查类型的表单列表, 方便用户快速的做增删改查。
相关文章:

【多商户开源-BSD- Fecmall 电商平台】
关于Fecmall Fecmall 关于,Fecmall介绍 Fecbbc开源BSD多商户系统,真正开源,商用免费授权的多商户系统 Fecmall系统简介: 全称为Fancy ECommerce Shop, 着重于电商架构的研发优化,全新定义商城的架构体系&…...

2023春秋杯冬季赛 --- Crypto wp
文章目录 前言Cryptonot_wiener 前言 比赛没打,赛后随便做一下题目 Crypto not_wiener task.py: from Crypto.Util.number import * from gmpy2 import * import random, os from hashlib import sha1 from random import randrange flagb x bytes_to_long(f…...

ImageMagick使用手册
ImageMagick使用手册 文章目录 ImageMagick使用手册ImageMagick是什么指令总结1.查看版本2.官网验证指令解读3.svg转png4.png转ico5.将指定文件夹中的所有PNG图像转换为ICO图标 本教程持续更新,我学到多少就更新多少。关于ffmpeg如何安装可以看上一篇博客win系统环境…...

嵌入式培训机构四个月实训课程笔记(完整版)-C++和QT编程第五天-Qt编程技巧若干解答(物联技术666)
链接:https://pan.baidu.com/s/1-u7GvgM0TLuiy9z7LYQ80Q?pwd1688 提取码:1688 QT在Windows下制作图表 QT是跨平台的程序设计库,在windows下的程序往往想要有一个好看的图标,方法如下: 1.准备个ICO图标。例如&…...

【蓝桥杯选拔赛真题59】python小写字母 第十五届青少年组蓝桥杯python 选拔赛比赛真题解析
目录 python小写字母 一、题目要求 1、编程实现 2、输入输出...

代码随想录算法训练营Day37|738.单调递增的数字、贪心算法总结
目录 738.单调递增的数字 方法一:暴力解法 方法二:贪心解法 贪心算法总结 738.单调递增的数字 题目链接 文章链接 方法一:暴力解法 class Solution { private:// 各位递增判断函数bool checkNum(int num) {int max 10;while (num) {int …...

笔记-影响力-对比,互惠,赌徒原理
笔记 From 《影响力》 目录 C1 影响力的武器 C2:互惠 C3 承诺和一致 C4:社会认同 C5:喜好 C6:权威 C7:稀缺 Ankie的笔记:对比,互惠,赌徒原理 C1 影响力的武器 人类在认知方面有个原理,叫“对比原理”。 假设有人走进一…...

PIL、cv2、numpy,和pytorch(torch)之间的转换
在图像处理和深度学习中,经常需要在PIL(Python Imaging Library)、OpenCV(cv2)、NumPy和PyTorch之间进行图像数据的转换。下面是这些库之间常见的转换方法。 1. PIL和numpy之间的转换 import numpy as np from PIL i…...

Java面试题50道
文章目录 1.谈谈你对Spring的理解2.Spring的常用注解有哪些3.Spring中的bean线程安全吗4.Spring中的设计模式有哪些5.Spring事务传播行为有几种6.Spring是怎么解决循环依赖的7.SpringBoot自动配置原理8.SpringBoot配置文件类型以及加载顺序9.SpringCloud的常用组件有哪些10.说一…...

电脑怎么剪辑视频?这些软件不可错过
电脑怎么剪辑视频?随着视频时代的到来,越来越多的人开始涉足视频制作。从Vlog到短片,再到专业级的影视作品,视频已经成为了我们生活中不可或缺的一部分。那么,如何才能快速掌握视频剪辑技巧,制作出令人惊叹…...

HBase学习七:Compaction
1、简介 Compaction是从一个Region的一个Store中选择部分HFile文件进行合并。其目的为了减少 HFile 的个数跟清理掉过期和删除的数据。 合并原理是,先从这些待合并的数据文件中依次读出KeyValue,再由小到大排序后写入一个新的文件。之后,这个新生成的文件就会取代之前已合…...

MySQL定期整理磁盘碎片
MySQL定期整理磁盘碎片:提升数据库性能的终极指南 MySQL作为一个强大的关系型数据库管理系统,在长时间运行后可能会产生磁盘碎片,影响数据库性能。本博客将深入讨论如何定期整理MySQL磁盘碎片,以确保数据库的高效运行。我们将介绍…...

【centos7安装docker】
背景: 学习docker,我是想做一个隔离环境,并且部署的话,希望实现自动化,不为安装软件而烦恼,保证每个人的环境一致。 2C4G内存 50G磁盘的虚拟机事先已经准备完毕。 1.查看下centos版本,docker要…...

四、Flask学习之JavaScript
四、Flask学习之JavaScript JavaScript,作为一种前端脚本语言,赋予网页生动的交互性和动态性。通过它,开发者能够操作DOM(文档对象模型)实现页面元素的动态改变、响应用户事件,并借助AJAX技术实现异步数据…...

IO 专题
使用try-with-resources语句块,可以自动关闭InputStream [实践总结] FileIUtils 共通方法最佳实践 [实践总结] java 获取在不同系统下的换行符 [实践总结] StreamIUtils 共通方法最佳实践 斜杠“/“和反斜杠“\“的区别 路径中“./”、“…/”、“/”代表的含义…...

MySql索引事务讲解和(经典面试题)
🎥 个人主页:Dikz12🔥个人专栏:MySql📕格言:那些在暗处执拗生长的花,终有一日会馥郁传香欢迎大家👍点赞✍评论⭐收藏 目录 索引 概念 索引的相关操作 索引内部数据结构 事务 为…...

《微信小程序开发从入门到实战》学习九十一
7.1 视图容器组件 7.1.2 scroll-view组件 scroll-view组件时是滚动的视图容器,可在竖直方向或水平方向上滚动,展示超出屏幕高度或宽度的内容。 使用竖直方向滚动时,需要通过wxss的height样式给scroll-view设置一个固定高度,超出…...

【立创EDA-PCB设计基础】6.布线铺铜实战及细节详解
前言:本文进行布线铺铜实战及详解布线铺铜的细节 在本专栏中【立创EDA-PCB设计基础】前面完成了布线铺铜前的设计规则的设置,接下来进行布线 布局原则是模块化布局(优先布局好确定位置的器件,例如排针、接口、主控芯片ÿ…...

Node.JS CreateWriteStream(大容量写入文件流优化)
Why I Need Node.JS Stream 如果你的程序收到以下错误,或者需要大容量写入很多内容(几十几百MB甚至GB级别),则必须使用Stream文件流甚至更高级的技术。 Error: EMFILE, too many open files 业务场景,我们有一个IntradayMissingRecord的补…...

安卓开发之自动缩放布局
AutoScalingLayout 适用于 Android 的自动缩放布局。 替换布局: 我们只需要替换根布局所需的自动缩放,子布局也将实现自动缩放。 原始布局AutoScalingLayout相对布局ASRelativeLayout线性布局ASLinearLayoutFrameLayout(框架布局ÿ…...

DDD系列 - 第9讲 实体、值对象
目录 引言一、实体1.1 数据库实体1.2 数据库实体 vs. DDD实体1.3 DDD实体的本质及其识别规则1.4 代码中如何定义实体二 、值对象2.1 值对象 vs. 附属属性2.2 值对象 vs. 实体2.3 代码中如何定义值对象2.4 何时使用值对象引言 之前我在《DDD系列 - 第4讲 从架构师的角度看待DDD…...

5分钟做自己的微信红包封面
文章目录 怎么制作自己的红包封面?开通红包封面的要求如下:收费情况制作具体网站:https://chatapi.onechat.fun/register?affYoU6 提交审核logo封面、挂件、气泡证明材料 发放红包封面其他 怎么制作自己的红包封面? 开通红包封面…...

pytorch中BCELoss 和 binary_cross_entropy_with_logits之间的区别
在PyTorch中,binary_cross_entropy_with_logits是一个函数,而BCELoss是一个类。它们都是用于二分类任务的损失函数。它们之间存在一些区别如下。 torch.nn.functional.binary_cross_entropy_with_logits: binary_cross_entropy_with_logits…...

无刷电机学习-方波电调 程序篇1(AM32)
一、AM32简介 AM32 固件专为 ARM 处理器设计,用于控制无刷电机 (BLDC)。该固件旨在安全、快速、平滑、快速启动和线性油门。它适用于多种车辆类型和飞行控制器。 AM32具有以下特点: 可通过 betaflight 直通、单线串行或 arduino 升级固件伺服 PWM、Dsh…...

如何自己制作一个属于自己的小程序?
在这个数字化时代,小程序已经成为了我们生活中不可或缺的一部分。它们方便快捷,无需下载安装,扫一扫就能使用。如果你想拥有一个属于自己的小程序,不论是为了个人兴趣,还是商业用途,都可以通过编程或者使用…...

HTML 入门手册(二)
目录 HTML 入门手册(一) 10-表单 11-input标签 11.1文本框 (text) 11.2密码框 (password) 11.3单选按钮 (radio) 11.4复选框 (checkbox) 11.5普通按钮 11.6提交按钮 (submit) 11.7重置按钮 (reset) 11.8隐藏域 (hidden) 11.9文件上传 (file) 11.10数字输入 (numbe…...

零基础学Python(5)— 基本数据类型
前言:Hello大家好,我是小哥谈。在内存中存储的数据可以有多种类型。例如:一个人的姓名可以用字符型存储,年龄可以使用数值型存储,婚姻状况可以使用布尔型存储。这里的字符型、数值型、布尔型都是Python语言中提供的基本…...

centos7安装Redis7.2.4
文章目录 下载Redis解压Redis安装gcc依赖(Redis是C语言编写的,编译需要)编译安装src目录下二进制文件安装到/usr/local/bin修改redis.conf文件启动redis服务外部连接测试 参考: 在centos中安装redis-5.0.7 Memory overcommit must…...

certificate-transparency-go用例
文章目录 证书的SCT列表验证SCT依赖包加载证书初始化log机构信息离线验证在线验证 证书的SCT列表 浏览器对证书链的合法性检查通过后,会再检查服务端证书附件里的SCT列表(Signed Certificate Timestamp); 浏览器内置了一批certif…...

前端上传大文件使用分片上传
前提:分片上传针对于一些大的文件、普通大小的文件使用element中的上传组件可以实现效果,例如几G的文件就会比较卡,所以这时候就需要用到分片上传~ 前端及后端分片上传笔记 效果:(上传进度展示) 效果:(上传成功的效果展示) 1、 新建一个上传组件 2、使用vue-simple-…...