【多商户开源-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(框架布局ÿ…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
