基于nopcommerce b2c开源项目的精简版开发框架Nop.Framework

http://www.17ky.net/soft/70612.html?v=1#0-sqq-1-39009-9737f6f9e09dfaf5d3fd14d775bfee85

 

项目详细介绍

 

 该开源项目是博客园的网友 徐领 发布的的一款基于b2c开源项目nopCommerce的开发框架,名叫Nop.Framework,去除了电商业务,保留基础功能。

 .NET的开发人员应该都知道这个大名鼎鼎的高质量b2c开源项目-nopCommerce,基于EntityFramework和MVC开发,拥有透明且结构良好的解决方案,同时结合了开源和商业软件的最佳特性。官网地址:http://www.nopcommerce.com/,中文网:http://www.nopcn.com/。下载后前后端展示如下。如果你还未了解过该项目,建议从官网下载代码后在本地运行查看效果。

  作者使用该框架开发过不少项目,总的来说,方便简洁,集成了.NET开发许多常用的组件和功能。一直想将它分享出来,但忙于工作而没有达成,最近也是有时间来写这篇文章,本文将展示如何提取该源码的精简框架并附上源码(基于nopCommerce3.9版本)。如果你想了解框架结构,通过该框架来开发项目,那么看一遍该文章是有价值的。前排提示:本框架源码已上传到GitHub:https://github.com/dreling8/Nop.Framework,有兴趣的可以关注该项目,后续会将其它的一些通用模块添加进去,如用户管理(IWorkContext 工作上下文)、插件功能、任务模块(taskservice)、日志、缓存、本地化等。欢迎star给星星,你的支持是我的动力!

  

  

 

 一、了解项目结构

  从项目结构图中我们也可以看出Nop的层次划分非常清晰,先看我画的层次图

  

  

 

  1. 展现层(Presentation)

  也可称之为应用层,只关注前端的整合,不涉及任何领域逻辑实现。这一层只做展现,对我们框架来说是可有可无的,因此提取框架时会将该层删除。

  2. 业务服务层(Nop.Services)

  整个系统的服务层,提供了对每个领域的接口和实现。这一层非常重要,提供了程序内对展现层的接口服务,不论展现层使用mvc,还是使用winform,异或是给app调用的webapi接口,都需要该层服务。但该层的服务主要是电商的一些服务,对我们框架无用,因此在这个框架中会删除所有服务,只添加一个测试服务类和接口,应用到项目中你应该在该层添加接口和服务。

  3. 数据层(Nop.Data)

  nop在数据层的仓储实现中使用了ef和sqlserver数据库,如果你想扩展,也可以在该层使用其它的ORM映射库和数据库。这一层的大部分功能我们会在框架中将保留。

  4. 基础设施层(Nop.Core)

  包括缓存的实现、配置、领域模型等等。在框架中会保留一部分功能,并将Domain领域模型移出该层做单独项目,为什么要这样做,因为通常情况下,Domain层的调整会比较多,所以我一般将Domain做单独Project,当然你也可以不调整,但框架做了该调整。

  二、删除与业务相关的代码

  我们已经对Nop的整个代码层次结构有了了解,基于以下两点开始修改项目源码:1.框架足够精简,没有任何电商业务。2.核心功能保留。建议在开始前先copy一份源码保留。

  1. Test项目:Tests文件夹下面是测试项目,不是必需的,将它全部移除,开发具体业务,可以再单独添加测试项目。由于是测试项目,删除后整个项目还能跑起来。

  

  2. Presentation展现层:这里的三个项目,分别是前台,后端和两个项目共用的一些模块。和测试项目一样,这里我们也全部移除。

  

  3. Plugin项目:插件项目,同1、2一样,插件也不是必需的,移除所有的插件项目。现在只剩下三个项目了(欢迎关注该项目的github,后续我会专门写篇文章介绍如何添加插件)。

  

  Nop.Services:业务服务层,这一层是程序集内对外接口层,需要保留。删除所有相关的业务服务类,其中日志、帮助、任务等跟系统相关的都删除,目的是更好的展示整个系统的结构。添加一个测试类,暂时什么都不写。

  

  Nop.Data:数据层项目。这层基本不做调整,只删除EF的Mapping映射相关类。

  Nop.Core:基础设施层。删除电商业务相关的Domain,新建项目Nop.Domain。

  报错了,IWorkContext(工作上下文,用于获取用户信息等数据)依赖Domain,删除它。这个过程可能要删除不少文件,直到项目不再报错。完成后我们的项目结构如下,注意我们将Nop.Core中的实体基类移到了Nop.Domain中,到这一步,我们的基础框架结构已经大致出来了。

  

有关该项目的更多说明,请查看作者的博客介绍:http://www.cnblogs.com/dreling/p/6906688.html

作者表示后续将会添加以下这些模块和功能,有兴趣的朋友可关注项目
1.本地化模块 localization
2.用户模块 工作上下文 workcontext
3.任务模块 taskservice
4.日志模块 logservice
5.缓存模块 cache
6.配置模块 config
7.插件功能

 

 

标签: Nop

dreling8 / Nop.Framework

Watch 4 Star 20 Fork 5

c# .net base development framework from nopCommerce。 — More...

master分支代码最近更新:2017-05-25

转载于:https://www.cnblogs.com/webenh/p/6908640.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、店铺设置 2、商品管理 3、客户管理 4、网店促销 5、订单管理 6、支付与配送 7、报表统计 8、内容反馈 9、报表统计 10、内容反馈 1.店铺营业管理 1.1 最近七天销售统计 1.2 待处理事务 1.2.1等待发货订单 1.2.2申请退款订单 1.2.3未处理提现申请 1.2.4商品库存报警 1.2.5未回复商品咨询 1.2.6未查看订单留言 1.2.7未查看站内消息 1.2.8未回复客户留言 1.3 近两日业务量 1.3.1今日成交订单 1.3.2今日订单金额 1.3.3今日销售利润 1.3.4今日新增会员 1.3.5今日新增代理商 1.3.6今日过生日会员 1.3.7昨日成交订单 1.3.8昨日订单金额 1.3.9昨日销售利润 1.4 店铺信息 1.4.1会员总数 1.4.2代理商总数 1.4.3预付款总额 1.4.4已提现总额 1.4.5出售中的商品 1.4.6仓库里的商品 2.店铺管理 2.1 基本设置 2.1.1网店基本设置 基本信息:店铺名称、网店LOGO、简单介绍、店铺描述、搜索关键字、是否开启伪静态、默认货币、版权信息、页头标签、自定义页尾 客户设置:是否开放客户登录、是否允许用户注册、提现最小金额设定、最多允许添加的收货址数量设定、用户注册服务条款设置 商品设置:商品价格精确位数、商品缩略图的高宽设置、商品清晰图的高宽设置无图片时的暂无图片设置、搜索关键字 数量、搜索关键字长度、设置订单积分与金额的兑换率、您的价名称设置 订单设置:设置前台发货查询中显示最近几天内的已发货订单、设置订单发货后多少天将自动确认 2.1.2日期时间设置:设置系统所在的时区,以及系统默认使用的日期和时间格式 2.2 页面设置 2.2.1在线客服:管理员可以添加、删除、修改在线的QQ、MSN、旺旺客服号码 2.2.2 TQ客服:管理员可以设置TQ洽谈通,并可控制在前台的开启或关闭 2.2.3投票调查:管理员可以查看、添加、删除投票主题。 2.2.4广告管理:管理商城的广告位和广告内容,一个广告位可以设置多个广告 2.2.5友情链接:管理商城的所有友情链接,管理员可以添加、修改或删除友情链接 2.2.6样式管理:样式就是商城的页面风格,好比实体店面的装修,管理员可以单选自己喜欢的风格,保存后将即时改变商城的前台风格 2.2.7热门关键字:管理员可以添加、删除、修改店铺前台显示的热门关键字 2.3安全中心 2.3.1部门管理:可以添加多个部门,并为每个部分设置不同的管理权限 2.3.2管理员:可以添加、删除、修改管理员帐户,并可调整管理员所属的部门 2.3.3封存IP:设置哪些固定的IP地址禁止访问商城 2.3.4操作日志:查看各个管理员在后台的历史操作记录,允许按时间段及操作人查询 3.商品管理 3.1 商品分类 3.1.1商品类型:可添加、删除、修改商品类型。(商品类型是一系属性的组合,可以用来向顾客展示某些商品具有的特有的属性,比如服装类型的颜色,尺码;图书类型的作者,出版社等) 3.1.2添加商品分类:支持添加五级分类,添加分类时可关联商品类型,分类URL重写、设置分类关键字、分类描述 3.1.3商品分类管理:管理网店的商品分类,支持查看、添加、删除分类,也可批量转移分类的商品到另一个分类 3.1.4分类模板设置:可以为不同的商品顶级分类设置不同的模板风格,顶级分类下的子分类自动继承顶级分类的模板风格 3.1.5分类全局调价:管理员可以批量调整某一分类商品的市场价、成本价或销售价。系统会自动记录管理员每一次的调整明细 3.1.6未分类商品:统一管理删除分类后的商品,也可将现有的商品归属于多个分类 3.2 商品管理 3.2.1批量上传商品:管理员可在这里通过CSV文件批量将商品数据上传到网店里,这里也支持淘宝,拍拍的csv文件批量导入商品. 3.2.2上架新商品:管理员可以填写商品数据,上传到网店中。商品信息包括基本信息,商品规格设定、商品描述、对搜索引擎优化、配件、相关商品。这里添加的商品信息会出现在商品详细页面中,供客户查看 3.2.3 出售中的商品:管理员可查看上架出售中的商品,并可编辑、删除出售中的商品信息,查询修改商品商品库存、对商品进行排序,将商品设置推荐、特价、热卖、最新。并可选择商品下架到仓库里 3.2.3 仓库里的商品:管理员可查看下架的商品,并可编辑、删除仓库里的商品信息,查询修改商品库存、对商品进行排序,将商品设置推荐、特价、热卖、最新等。并可选择商品上架 3.2.4 品牌分类:管理员可添加、编辑、删除品牌。商品关联品牌后,客户在前台可按品牌浏览商品 3.2.5 供货商:管理员可添加、编辑、删除供货商。 4.客户管理 4.1 代理商 4.1.1代理等级管理 添加代理等级:管理员可以添加不同的代理等级,并为不同的代理等级设定不同的价格,以便代理商加盟时套用。代理等级无数量限制 调整代理等级价格:管理员可对代理等级对应的商品价格进行调整,支持批量调整,也支持手工一一设置商品的代理等级价格 编辑、删除代理商等级: 4.1.2添加代理商:管理员可以创建新的代理商账号,并设定其代理等级和有效期限 4.1.3代理商管理 支持批量调整代理商的等级 支持查看代理商提成 支持查看代理商下属会员个数 支持修改代理商代理等级 支持对代理绑定独立域名 支持修改代理商有效期 支持修改代理商个人资料 支持修改代理商登录密码及交易密码 支持为代理商站点赋予指定的模板,代理商站点在做模板设置时,只能从指定模板中选择 支持查看代理商下属会员等级及等级价格 支持删除代理商帐号 支持查看代理商帐户明细,包括:帐户总余额、查看明细、冻结金额、冻结金额明细、提现申请明细 支持对代理商预付款帐户进行后台加款操作 4.1.4代理商下属会员: 支持查看代理商下属会员积分 支持查看代理商下属会员订单数 支持修改代理商代理等级 支持修改代理商下属会员个人资料 支持修改代理商下属会员登录密码及交易密码 支持删除代理商下属会员帐号 支持查看代理商下属会员帐户明细,包括:帐户总余额、查看明细、冻结金额、冻结金额明细、提现申请明细 支持对代理商预付款帐户进行后台加款操作 4.2 会员 4.2.1会员等级管理: 使用会员等级区分买家的级别,不同级别的买家可以享受不同的折扣率 添加会员等级:管理员可以添加不同的会员等级,并为不同的代理等级设定不同的价格,以便会员套用。会员等级无数量限制 调整会员等级价格:管理员可对会员等级对应的商品价格进行调整,支持批量调整,也支持手工一一设置商品的会员等级价格 编辑、删除会员等级: 4.2.2添加会员:创建新的会员账号 4.2.3会员管理: 支持查看会员积分 支持查看会员订单数 支持修改会员等级 支持修改会员个人资料 支持修改会员登录密码及交易密码 支持删除会员帐号 支持查看会员帐户明细,包括:帐户总余额、查看明细、冻结金额、冻结金额明细、提现申请明细 支持对会员预付款帐户进行后台加款操作 4.3预付款账户 4.3.1预付款账户明细:查询客户预付款账户的明细资料 4.3.2提现申请明细:查询处理客户对预付款账户余额提现的操作 4.3.3冻结金额明细:冻结金额是指客户在进行某些特殊业务的操作时,预付款账户中暂时不能使用的那部分金额 5.订单管理 5.1订单管理 5.1.1订单管理:商城订单查询和管理 支持按用户名、订单号、收货人、订单状态、时间段、支付方式多条件查询订单 管理员可随时对订单进行留言,以便及时和客户就订单问题进行沟通 管理员可以随时对订单进行备注,以供自己或其它管理员查看 管理员可对订单进行确认收款、配货、发货、删除等操作 订单支付状态和第三方支付状态实时对接更新 5.1.2订单可选: 支持为订单设置可选项,并可为不同的选择设置相应的费用,供客户下单时选用 5.2支付设置 5.2.1支付币种:商城交易货币管理,管理员可以设置商城支持哪些类型的货币支付 5.2.2添加支付方式: 管理员可以添加网店需要的支付方式,可自主设定支付手续费率 支持预付款支付 支持货到付款支持 支持银行汇款支付 5.2.3支付方式管理: 管理员可编辑列表中的支付方式 管理员可删除列表中的支付方式 5.3配送设置 5.3.1 添加配送方式:每一个配送方式都是针对一个物流公司并且结合物流公司的到达地区和收费标准设置的 支持为网店添加多种配送方式 支持不同的地区设置不同的起重和续重价格 支持配送方式与支付方式的关联: 5.3.2 配送方式管理: 管理员可编辑列表中的配送方式 管理员可删除列表中的配送方式 5.3.3 配送地区:配送地区需要按照国家的行政区域逐级划分,在地区列表里面点击地区名称可以转到此地区的下级地区管理管理员可编辑、删除已 添加 好的配送地区 5.3.4地区分组:将配送地区分组可以在添加配送方式的时候方便的选择配送方式到达的地区 管理员可编辑、删除已添加好的地区分组 6.网店促销 6.1礼品 6.1.1添加礼品:管理员可添加礼品,配合促销活动中的满额赠送进行促销 6.1.2礼品管理:管理员可以编辑、删除礼品信息 6.2 促销活动 6.2.1促销活动列表:可以编辑、删除网店内已添加的促销活动信息 6.2.2 满额打折:可以添加当客户购物达到一定金额时对商品金额进行打折的促销活动 6.2.3 满额免费用:可以添加当客户购物达到一定金额时免支付费用、运费、订单选项费用的促销活动 6.2.4 满额赠送:可以添加当客户购物达到一定金额时赠送礼品的促销活动 6.2.5 买几送几:可以对商品设置买满几件送几件的促销活动 6.2.6 批发打折:可以对商品设置买满几件打折的促销活动 7.内容管理 7.1店铺公告 7.1.1 添加公告:管理员可以在此添加公告标题和内容,发布后显示在前台 7.1.2 公告管理:管理员可以编辑、删除已添加的公告 7.2 帮助中心 7.2.1帮助分类:可以添加帮助主题的分类,也可以编辑、删除帮助主题的分类 7.2.2 添加帮助:可以添加帮助主题,并归到对应的帮助分类 7.2.3 帮助管理:可以编辑、删除已添加的帮助主题 7.3 文章管理 7.3.1文章分类:可以添加文章分类,也可以编辑、删除文章分类 7.3.2添加文章:可以添加文章,并归到对应的文章分类 7.3.3文章管理:可以编辑、删除已添加的文章 8.客户反馈 8.1商品评论 8.1.1商品咨询管理:在此可查看、回复,删除前台客户对商品的咨询 8.1.2商品评论管理:在此查看、删除前台客户对商品的评论 8.2站内消息 8.2.1 收件箱:管理员可查看、回复、删除会员或代理商发来的站内消息 8.2.2 发件箱:管理员可查看、删除自己发出的站内消息 8.2.3 写新消息:管理员可写新的站内消息发给单个或多个指定用户 8.3 客户留言 8.3.1 客户留言管理:管理员可在此查看、回复、删除前台客户对网店的留言 9.网商工具 9.1电子邮件 9.1.1邮件设置:设置邮件服务器,以便支持邮件的发送 9.1.2邮件模板:邮件模板提供系统生成邮件所需的格式和样式,管理员可以结合每个邮件模板提供的标签自行修改邮件模板 9.1.3邮件群发:管理员可以自己定义邮件内容,并将邮件发送给符合查询条件的所有会员或代理商 9.2第三方插件管理 9.2.1 CNZZ统计配置:访问统计内置了中国站长联盟(CNZZ)站长统计功能,只需要点击开通,免费申请即可开始使用专业强大的站长统计 9.2.2 CNZZ站长统计:含中国站长联盟(CNZZ)站长统计VIP功能,免费使用 9.2.3 论坛系统整合:系统完美整合DISCUZ!NT论坛,会员注册、登录、退出通行 10.报表统计 10.1 销售统计 10.1.1 生意报告:查看店铺的生意情况,可以按月或按日分别查看店铺交易量、交易额和销售利润(需要设置商品成本价) 10.1.2 订单统计:查询有购买记录客户的订单统计,可以按时间查询客户的总订单数和总订单金额 10.1.3 销售明细:查询一段时间内每个订单内的商品销售量及销售价,默认排序为售出时间由新到旧 10.1.4 销售指标分析:查询网店的销售指标。 统计平均每位客户订单金额 统计平均每次访问订单金额 统计订单转化率 统计注册会员购买率 统计平均会员订单量 10.2 客户分析统计 10.2.1 预付款统计:查询一段时间内全站所有类型用户的预付款明细,默认为交易时间由新到旧。 10.2.2 提现统计:查询一段时间内全站所有类型用户的提现明细,默认为提现时间由近到远.同时也可查看单个用户的提现明细 10.2.3 会员排行:查询有成交记录的会员的订单数和购物金额,并按购物金额从高到低排行。 10.2.4 客户分布与增长:客户所在地的分布统计以及按月、日查看客户增长报表 10.3 商品分析统计 10.3.1 商品销售排行:查询一段时间内商品销售量和销售额,默认排序为销售额从高到低。 10.3.2 商品访问与购买次数:查询一段时间内商品的访问次数和和购买次数比,默认排序为访问购买率从高到低

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值