首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏编程进阶实战

    .NET开源免费功能最全商城项目

    前言 今天给大家推荐一个功能丰富、免费、灵活且可定制开源电子商务解决方案:nopCommerce。大家假如有商城需求可以直接使用该项目进行二次开发,省时省力。 项目介绍 nopCommerce在.NET 7上运行,并使用MS SQL 2012(或更高版本)后端数据库。 nopCommerce是跨平台,您可以在Windows、Linux或Mac上运行它。 nopCommerce中所有方法都是异步。 nopCommerce支持开箱即用多因素身份验证(提供了多种安全功能和措施,以保护商店和客户敏感信息)。 项目源码 项目截图 前端商城 后台管理 项目源码地址 https://github.com/nopSolutions/nopCommerce

    55030编辑于 2023-08-14
  • 来自专栏cwl_Java

    商城项目-商城介绍

    2.商城介绍 2.1.项目介绍 商城是一个全品类电商购物网站(B2C)。 2.2.系统架构 2.2.1.架构图 商城架构缩略图,大图请参考课前资料: ? 2.2.2.系统架构解读 整个商城可以分为两部分:后台管理系统、前台门户系统。 出于SEO优化考虑,我们将不采用单页应用。 ? 无论是前台还是后台系统,都共享相同微服务集群,包括: 商品微服务:商品及商品分类、品牌、库存等服务 搜索微服务:实现搜索功能 订单微服务:实现订单相关 购物车微服务:实现购物车相关功能 用户中心:用户登录注册等功能

    4.4K41发布于 2020-02-11
  • 来自专栏cwl_Java

    商城项目-项目搭建

    另外,使用帮助大家可以参考课前资料《idea使用指南.md》 3.3.域名 我们在开发过程中,为了保证以后生产、测试环境统一。尽量都采用域名来访问项目。 我们注册中心,起名为:ly-registry 这次我们就不Spring使用提供脚手架了。直接创建maven项目,自然会继承父类依赖: 选择新建module: ? 然后填写项目坐标,我们项目名称为ly-registry: ? 选择安装目录,因为是聚合项目,目录应该是在父工程leyou下面: ? 其中会包含对于商品相关一系列内容管理,包括: 商品分类管理 品牌管理 商品规格参数管理 商品管理 库存管理 我们先完成项目的搭建: 3.7.1.微服务结构 因为与商品品类相关,我们工程命名为ly-item 注意:接下来填写目录结构需要自己手动完成,保存到ly-item下ly-item-interface目录中: ? 点击Finish完成。 此时项目结构: ?

    1.4K30发布于 2020-02-11
  • 来自专栏cwl_Java

    商城项目-优化

    7.优化 搜索系统需要优化点: 查询规格参数部分可以添加缓存 聚合计算interval变化频率极低,所以可以设计为定时任务计算(周期为天),然后缓存起来。

    1.8K10发布于 2020-02-11
  • 来自专栏用户4661082的专栏

    免费开源项目】小程序商城系统 — 基于TP5开发

    CRMEB小程序商城打通版源码,公众号小程序数据互通! 免费开源下载地址:https://github.crmeb.net/u/gitee 简介: CRMEB系统就是集客户关系管理+营销电商系统,能够真正帮助企业基于微信公众号、小程序实现会员管理、数据分析, 精准营销电子商务管理系统。 layui.table自己封装快速二次开发; 8.一键安装 演示前台: 二维码.jpg 演示后台:http://demo25.crmeb.net 账号:demo 密码:crmeb.com 希望通过项目开源 感谢大家关注与参与!

    6.5K181发布于 2019-03-04
  • 来自专栏cwl_Java

    商城项目-排序

    4.排序 4.1.页面搜索排序条件 在搜索商品列表顶部,有这么一部分内容: ? 这是用来做排序,默认按照综合排序。点击新品,应该按照商品创建时间排序,点击价格应该按照价格排序。 因为我们没有统计销量和评价,这里咱们以新品和价格为例,进行讲解,做法是想通。 排序需要知道两个内容: 排序字段 排序方式 因此,我们首先在search中记录这两个信息,因为created钩子函数会对search进行覆盖,因此我们在钩子函数中对这两个信息进行初始化即可: ? 4.2.后台添加排序逻辑 接下来,后台需要接收请求参数中排序信息,然后在搜索中加入排序逻辑。 现在,我们请求参数对象SearchRequest中,只有page、key两个字段。 注意,因为我们存储在索引库中价格是一个数组,因此在按照价格排序时,会进行智能处理: 如果是价格降序,则会把数组中最大值拿来排序 如果是价格升序,则会把数组中最小值拿来排序 ?

    95911发布于 2020-02-11
  • 来自专栏cwl_Java

    商城项目-品牌新增

    这样选框,在Vuetify中并没有提供(它提供是基本下拉框)。因此我已经给大家编写了一个无限级联动下拉选框,能够满足我们需求。 ? 说明: 规则是一个数组 数组中元素是一个函数,该函数接收表单项值作为参数,函数返回值两种情况: 返回true,代表成功, 返回错误提示信息,代表失败 1.1.5.2.项目中代码 我们有四个字段: 其它存入params对象中 3、品牌和商品分类中间表只保存两者id,而brand.categories中保存数对象数组,里面有id和name属性,因此这里通过数组map功能转为id数组, 不过我们在项目中已经集成了,大家无需安装: ? 这个工具名字:QS,即Query String,请求参数字符串。 什么是请求参数字符串? 例如: name=jack&age=21 QS工具可以便捷实现 JSObject与QueryString转换。 在我们项目中,将QS注入到了Vue原型对象中,我们可以通过this.

    3.4K10发布于 2020-02-11
  • 来自专栏cwl_Java

    商城项目-队列改造项目

    3.项目改造 接下来,我们就改造项目,实现搜索服务、商品静态页数据同步。 3.1.思路分析 发送方:商品微服务 什么时候发? 对商品增删改时其它服务可能需要新商品数据,但是如果消息内容中包含全部商品信息,数据量太大,而且并不是每个服务都需要全部信息。 搜索微服务: 增/改:添加新数据到索引库 删:删除索引库数据 静态页微服务: 增:创建新静态页 删:删除原来静态页 改:创建新静态页并删除原来 3.2.商品服务发送消息 我们先在商品微服务 3.4.静态页服务接收消息 商品静态页服务接收到消息后处理: 增:创建新静态页 删:删除原来静态页 改:创建新静态页并删除原来 不过,我们编写创建静态页方法也具备覆盖以前页面的功能,因此: nginx-1.14.0\\html\\item\\", id + ".html"); file.deleteOnExit(); } 3.5.测试 3.5.1.查看RabbitMQ控制台 重新启动项目

    60220发布于 2020-02-11
  • 来自专栏cwl_Java

    商城项目-商品查询

    4.商品查询 4.1.效果预览 接下来,我们实现商品管理页面,先看下我们要实现效果: ? 可以看出整体是一个table,然后有新增按钮。是不是跟昨天写品牌管理很像? deep: true, // deep为true,会监视pagination属性及属性中对象属性变化 handler() { // 变化后回调函数 :getDataFromServer,请求路径进行了修改,另外去除了跟排序相关查询。 如果是多选,结果是一个数组;单选,结果是点击v-btn中value值,因此按钮组每个btn都需要指定value属性 改造页面: 首先在data中定义一个属性,记录按钮值。 要注意,页面展示是商品分类和品牌名称,而数据库中保存是id,怎么办?

    1.9K40发布于 2020-02-11
  • 来自专栏cwl_Java

    商城项目-授权中心

    2.授权中心 2.1.创建授权中心 授权中心主要职责: 用户鉴权: 接收用户登录请求,通过用户中心接口进行校验,通过后生成JWT 使用私钥生成JWT并返回 服务鉴权:微服务间调用不经过Zuul catch (Exception e) { e.printStackTrace(); } return null; } } 2.3.5.项目结构 它获取domain是通过服务器host来计算,然而我们地址竟然是:127.0.0.1:8087,因此后续运算,最终得到domain就变成了: ? 而后请求到达我们网关Zuul,Zuul就会根据路径匹配,我们请求是/api/auth,根据规则被转发到了 127.0.0.1:8087 ,即我们授权中心。 2.5.5.Zuul敏感头过滤 Zuul内部有默认过滤器,会对请求和响应头信息进行重组,过滤掉敏感头信息: ?

    74920发布于 2020-01-14
  • 来自专栏Java3y

    移动商城项目总结

    移动商城项目总结 移动商城项目是我第二个做得比较大项目,该项目系统来源于传智Java168期,十天视频课程(想要视频同学关注我公众号就可以直接获取了) 通过这次项目又再次开阔了我视野,自己练习完我将项目的代码放到了 该项目涉及到知识: SpringMVC(上传图片到服务器上,后台校验,拦截器) Spring Mybatis(逆向工程,动态SQL) JSP,FreeMarker JS组件(富文本编辑器) Maven AJAX Oracle WebService 对象模型设计理解 写这篇博文目的也是为了总结一下在这次项目中学到了什么东西,除了上面这些知识点大纲,还有很多实用小技巧: 项目可以分成后台模块、前台模块 SpringMVC【参数绑定、数据回显、文件上传】 SpringMVC【校验器、统一处理异常、RESTful、拦截器】 SpringBoot就是这么简单 SpringData JPA就是这么简单 SSM整合与阅读项目 : SSM【史上最详细整合】 Java高并发秒杀系统【观后总结】 阅读SSM项目之scm

    1.6K81发布于 2018-04-02
  • 来自专栏cwl_Java

    商城项目-商品新增

    现在card头部是弹框标题,card中间就是表单内容。如果我们把按钮放到底部,就可以实现悬停效果。 页面添加按钮 改造MyGoods对话框组件: ? 查看页面: ? 组件名:v-select 比较重要一些属性: item-text:选项中用来展示字段名,默认是text item-value:选项中用来作为value值字段名,默认是value items:待选项对象数组 因此,接下来应该由用户来对这4种sku信息进行详细填写,比如库存和价格等。而多种sku最佳展示方式,是表格(淘宝、京东都是这么做),如图: ? 而且这个表格应该随着用户选择不同而动态变化。 优化:这里生成是SKU数组。因此只包含SKU规格参数是不够。结合数据库知道,还需要有下面的字段: price:价格 stock:库存 enable:是否启用。 表格需要以下信息: items:表格内数据 headers:表头信息 刚才我们计算属性skus得到就是表格数据了。

    4.1K20发布于 2020-02-11
  • 来自专栏cwl_Java

    商城项目-商品修改

    点击这个按钮,就会打开一个商品编辑窗口,我们看下它所绑定点击事件: ? 对应方法: ? 可以看到这里发起了两个请求,在查询商品详情和sku信息。 因为在商品列表页面,只有spu基本信息:id、标题、品牌、商品分类等。比较复杂商品详情(spuDetail)和sku信息都没有,编辑页面要回显数据,就需要查询这些内容。 2.5.页面提交 这里保存按钮与新增其实是同一个,因此提交逻辑也是一样,这里不再赘述。 随便修改点数据,然后点击保存,可以看到浏览器已经发出请求: ? 现在已经不存在了,或者以前sku属性都不存在了。 因此这里直接删除以前SKU,然后新增即可。

    1.1K30发布于 2020-02-11
  • 来自专栏cwl_Java

    商城项目-商品详情

    ${server.port} 1.2.5.页面模板 我们从leyou-portal中复制item.html模板到当前项目resource目录下templates中: ? 我们应该跳转到对应商品详情页才对。 那么问题来了:商品详情页是一个SKU?还是多个SKU集合? ? 通过详情页预览,我们知道它是多个SKU集合,即SPU。 现在看到依然是静态数据。 我们接下来开始页面的渲染 1.4.封装模型数据 首先我们一起来分析一下,在这个页面中需要哪些数据 我们已知条件是传递来spuid,我们需要根据spuid查询到下面的数据: spu信息 spu详情 1.6.3.规格属性筛选 分析 规格参数格式是这样: ? 每一个规格项是数组中一个元素,因此我们只要保存被选择规格项索引,就能判断哪个是用户选择了!

    2.4K30发布于 2020-02-11
  • 来自专栏cwl_Java

    商城项目-过滤条件筛选

    4.过滤条件筛选 当我们点击页面的过滤项,要做哪些事情? 把过滤条件保存在search对象中(watch监控到search变化后就会发送到后台) 在页面顶部展示已选择过滤项 把商品分类展示到顶部面包屑 4.1.保存过滤项 4.1.1.定义属性 我们把已选择过滤项保存在 4.2.2.添加过滤条件 目前,我们基本查询是这样: ? 现在,我们要把页面传递过滤条件也进入进去。 因此不能在使用普通查询,而是要用到BooleanQuery,基本结构是这样: GET /heima/_search { "query":{ "bool":{ 得到结果: ?

    2.4K41发布于 2020-02-11
  • 来自专栏cwl_Java

    商城项目-注册功能

    被注释元素必须不为 null @AssertTrue 被注释元素必须为 true @AssertFalse 被注释元素必须为 false @Min(value) 被注释元素必须是一个数字,其值必须大于等于指定最小值 (value) 被注释元素必须是一个数字,其值必须小于等于指定最大值 @Size(max, min) 被注释元素大小必须在指定范围内 @Digits (integer, fraction ) 被注释元素必须是一个数字,其值必须在可接受范围内 @Past 被注释元素必须是一个过去日期 @Future 被注释元素必须是一个将来日期 @Pattern(value) 被注释元素必须符合指定正则表达式 @Email 被注释元素必须是电子邮箱地址 @Length 被注释字符串大小必须在指定范围内 @NotEmpty 被注释字符串必须非空 @Range 被注释元素必须在合适范围内 @NotBlank 被注释字符串必须非空 @URL(protocol=,host=, port=,regexp=, flags=) 被注释字符串必须是一个有效url @CreditCardNumber 被注释字符串必须通过

    1.2K10发布于 2020-01-14
  • 来自专栏开源部署

    基于 WooCommerce WordPress 免费商城主题:eStore

    eStore 简介 eStore 是一个干净,美丽,完全可定制响应 WooCommerce WordPress免费主题。 这个主题包许多高级功能和良好组织几个自定义小工具,这有助于使你网上商店专业。主题完全兼容 WooCommerce 和 YITH WooCommece Wishlist 插件。 分类颜色 - 自定义你文章分类和商品分类颜色,这个功能有助于创造美丽多彩网站。 模板集 - 模板可以让你展现不同产品分类/集合在一个单一页面。这会派上用场,如果想突出产品不同特点。 响应式设计 - 主题是移动友好。在iPhone,iPad和其他小型手持设备观看时自动适应。 10+小工具 - 包含10+个自定义小工具,让你可以设置处自己个性商城或杂志网站。 eStore 在线演示:http://demo.themegrill.com/estore/ eStore 帮助文档:http://docs.themegrill.com/estore/ WooCommece 商城插件

    4.3K20编辑于 2022-06-11
  • 来自专栏Java技术分享圈

    基于SSM框架手机商城项目

    15010编辑于 2025-05-17
  • 来自专栏小闫笔记

    美多商城项目(一)

    美多商城项目(一) 1.在给用户授权时候,用到了一个%,表示是任何ip都可以连接这个数据库。换句话说,如果你换了电脑,你也是可以进行连接数据库继续开发。 2.设计接口思路 我们在接到了工作任务时候,那么我们按照下面的思路来思考。 我们可以使用稍后介绍celery 2.1.3Celery异步任务队列 本质:通过提前创建进程调用函数来实现异步任务。 创建进程可以在不同服务器上。 优质文章推荐: 公众号使用指南 redis操作命令总结 前端中那些让你头疼英文单词 Flask框架重点知识总结回顾 项目重点知识点详解 难点理解&面试题问答 flask框架中一些常见问题 团队开发注意事项 浅谈密码加密 Django框架中英文单词 Django中数据库相关操作 DRF框架中英文单词

    1.8K31发布于 2019-07-18
  • 来自专栏cwl_Java

    商城项目-实现基本搜索

    我们删除多余,只保留一个li,然后利用vue循环来展示搜索到结果: ? 2.3.3.多sku展示 2.3.3.1.分析 接下来展示具体商品信息,来看图: ? 这里我们可以发现,一个商品位置,是多个sku信息集合。当用户鼠标选择某个sku,对应图片、价格、标题会随之改变! 我们先来实现sku选择,才能去展示不同sku数据。 ? 显然是遍历到goods对象自己内部,因为每一个goods都会有自己sku信息。 2.3.3.2.初始化sku 查询出结果集skus是一个json类型字符串,不是js对象 ? 看到又是一个无序列表,这里我们也一样删掉多余,保留一个li,需要注意选中项有一个样式类:selected 我们代码: <! 这是因为Vue自动渲染是基于对象属性变化。比如页面使用GoodsList进行渲染,如果GoodsList变化,或者其内部任何子对象变化,都会Vue感知,从而从新渲染页面。

    99711发布于 2020-02-11
领券