购物车

vue实现购物车添加同样商品合并显示一条数据,和更新购物车

你离开我真会死。 提交于 2019-11-29 09:10:12
然后我们再选择此商品,选择尺码26和数量为2, 点击加入购物车,购物车页面的数据为: 购物车的效果便实现了。 实现思想是,首先定义一个存放购物车的cartInfo【】,然后往里添加数据。对购物车数据进行查找,如果返回的index == -1,说明购物车里没有这件商品,添加至购物车。否则,就更新对应下标商品的数据。 实现代码如下: 商品详情页(shoppingitem.vue) import storage from '../model/storage.js'; export default { data() { return { info:{}, value:'', num:1, currentSize:'', cartInfo:[] } },methods:{ doAdd(info){ //添加商品数据至购物车 查找购物车信息中有没有相同商品, 如果index == -1,代表没有找到相同商品,则添加至购物车 否则,更新商品信息 * */ var index = this.cartInfo.findIndex((item)=>{ return item.id == this.$route.query.id }) if(index == -1){ this.cartInfo.push( { id:this.$route.query.id, name:this.info.itme

vue 实现购物车

…衆ロ難τιáo~ 提交于 2019-11-29 09:06:28
购物车是电商必备的功能,可以展示出用户购买的多个商品以及价格信息。 最近在做一个电商的项目,使用了vue.框架,一个轻量级的mvvm,数据变化视图一起变化;为了响应式布局,使用了bootstrap 。 该购物车的主要功能有,增加购买数量,价格实时变化,可以单选,全选,不选。 页面全选按钮,如果下方按钮均选中则默认选中,有一个没选中就不选 代码的实现函数和注意写在注释和下面的介绍 html 单个商品金额使用{{good.price*good.num}} 数量框中加减的数字使用{{good.num}} 并且使用三元运算符,保证在数量大于0时可以点+ @click="good.num>0?good.num--:0",其他情况下-按钮不可以点 在实现时使用了两种该方法: 1.使用v-if指令来决定全选按钮的状态 <div class="col-lg-1 col-md-1" v-if="isAllselect()==true" @click="selectNone()"> <input type="checkbox" id="none" value="all" v-model="checkedNames" ref="checkBox_" > <label for="all">全选</label> </div> <div class="col-lg-1 col-md-1" v-else

Vue之简单购物车功能

五迷三道 提交于 2019-11-29 09:05:18
Vue之购物车功能 今天来看看vue怎么实现简单的购物车功能。 效果图: 我们都知道vue是数据驱动和组件化的模式。意思就是只要绑定的数据改变其他的变化由vue去完成,无须再去操作dom。 我们来看看简单的购物车功能怎么实现: 1.先完成数据绑定 代码: html: <tr v-for="(item,index) in productList"> <td><input type="checkBox" v-bind:checked="item.isSelect" @click="item.isSelect=!item.isSelect"/></td> <td>{{item.proName}}</td> <td><span><a href="#" @click="item.proNum>0?item.proNum--:''">-</a></span><strong>{{item.proNum}}</strong><span><a href="#" @click="item.proNum++">+</a></span></td> <td>{{item.proPrice}}</td> <td>{{item.proPrice*item.proNum}}</td> <td><a href="#" @click="deletePro(index)">删除</a></td> </tr> js:

电商项目测试核心内容

99封情书 提交于 2019-11-29 05:46:27
一、登陆功能怎么测试? 功能方面的测试:   1.输入正确的用户名和密码,点击提交按钮,验证是否能正确登录,能否能跳转到正确的页面   2.输入错误的用户名, 验证登录失败,并且提示相应的错误信息   3.输入错误的密码, 验证登录失败,并且提示相应的错误信息   4.用户名为空, 验证登录失败,并且提示相应的错误信息   5.密码为空, 验证登录失败,并且提示相应的错误信息   6.用户名和密码都为空,点击登陆   7.用户名和密码前后有空格的处理 性能方面的测试   1.打开登录页面,需要多长时间   2.输入正确的用户名和密码后,登录成功跳转到新页面,需要多长时间 安全性方面的测试   1.密码是否在前端加密,在网络传输的过程中是否加密   2.用户名和密码的输入框,能否防止SQL注入攻击   3.用户名和密码的输入框,能否防止XSS攻击   4.错误登陆的次数限制(防止暴力破解)   5.是否支持多用户在同一机器上登录   6.一个用户在不同终端上登陆   7.用户异地登陆 用户体验测试:   1.页面布局是否合理,输入框和按钮是否对齐   2.输入框的大小和按钮的长度,高度是否合理   3.是否可以全用键盘操作,是否有快捷键   4.输入用户名,密码后按回车,是否可以登陆   5. 牵扯到验证码的,还要考虑文字是否扭曲过度导致辨认难度大,考虑颜色(色盲使用者)

jQuery实现飞入购物车功能

喜欢而已 提交于 2019-11-28 23:17:30
要实现的效果: 思路:点击商品,图片就会飞入购物车,不但变小,而且加入到购物车后消失 了,不但如此,商品的图片还在,所以我们使用克隆的方法,加入到购物车后清除购物车即可,然后购物车+1 首先获取商品图片的位置及大小,并放到body上(否则飞入的时候看不到效果),然后获取购物车的方位,最后使用动画效果实现飞入效果。 注意 :怎么找商品的图片,先找父元素,再从父元素下找图片的位置 前提准备: html部分: <div id="dpros"> <div class="ditem"> <div class="dpic"><img src="img/1.jpg" /></div> <div class="dprice">¥3499.00</div> <div class="dInfor">LG 49LF5400-CA 49寸IPS硬屏富贵招财铜钱设计</div> <div class="dbtn"><a href="javascript:;">加入购物车</a></div> </div> <div class="ditem"> <div class="dpic"><img src="img/2.jpg" /></div> <div class="dprice">¥3499.00</div> <div class="dInfor">Hisense/海信 LED50T1A 海信电视官方旗舰店<

商城项目面试问题整理

人走茶凉 提交于 2019-11-28 22:23:33
1.网站并发数: 经过压力测试可以支持3000左右的并发,可以满足目前的业务需求。由于我们的系统是分布式架构,支持水平扩展,如果将来并发量提高的话,可以增加服务器来提高并发量。 2.人员配置 产品经理:3人,确定需求以及给出产品原型图。 项目经理:1人,项目管理。 前端团队:5人,根据产品经理给出的原型制作静态页面。 后端团队:20人,实现产品功能。 测试团队:5人,测试所有的功能。 运维团队:3人,项目的发布以及维护。 3.开发周期 采用迭代开发的方式进行,一般一次迭代的周期为一个月左右。 4.Sku/spu 最小库存量单位。 Sku==商品id 5.你说你用了redis缓存,你redis存的是什么格式的数据,是怎么存的 redis中存储的都是key-value格式的。拿商品数据来说,key就是商品id,value是商品相关信息的json数据。 6.你前台portal采用4台服务器集群部署,那能前台高并发访问性能提上去了,那数据库会不会造成一个瓶颈,这一块你是怎么处理的? portal系统在高并发的情况下如果每次请求都请求都查询数据库确实会出现数据库的瓶颈。为了降低数据库压力,在服务层会添加一个缓存,用redis实现,这样的话请求先到缓存中查找是否有缓存的内容,如果有直接从缓存中取数据,如果没有再到数据库中查询。这样数据库的压力就不会那么大了。 7.你购物车存cookie里边

项目进展08

ε祈祈猫儿з 提交于 2019-11-28 16:03:54
1.今日工作:   注册了Gitlab,学习用其进行代码管理;在主页添加了轮播图;   和队友一起实现菜品添加至购物车功能,选菜数量的加减,对应的购物车状态的改变,应付价格的变动,实现清空购物车功能   代码链接:http://202.119.84.104:8088/Ljy02/etb 2.明日计划:   设计提交订单页面,选择地址信息,显示已选菜品及订单总额 3.总结:   注册了Gitlib,建立完仓库在项目里添加组员时一直搜不到队友,后来考虑到我是用VPN从百度的网页注册的,连了校园网以后进入老师给的链接发现登录不上去,又重新注册之后才搜到了队友。   实现购物车的功能时有些吃力,在网上查看了别人的代码之后有了思路。购物车中更改菜品数量部分代码如下: // 减去菜单 if (way == 'cut') { order.num--; totalnum--; order.cost = order.perCost * order.num; if (!order.num) { let index; for (let i = 0; i < orderList.length; i++) { if (orderList[i].mid == mid) { index = i; break; } } // 如果num = 0 ,从orderlist删除 orderList.splice

利用事务消息实现分布式事务

前提是你 提交于 2019-11-28 15:29:56
一、消息事务 其实很多场景下,我们“发消息”这个过程,目的往往是 通知另外一个系统或者模块去更新数据 ,消息队列中的“事务”,主要解决 消息生产者和消息消费者的数据一致性问题 。 用户在电商APP上购物时,先把商品加到购物车里,然后几件商品一起下单,最后支付,完成购物流程。 这个过程中有一个需要用到消息队列的步骤,订单系统创建订单后,发消息给购物车系统,将已下单的商品从购物车中删除。因为从购物车删除已下单商品这个步骤,并不是用户下单支付这个主要流程中必要的步骤,使用消息队列来异步清理购物车是更加合理。 对于订单系统,它创建订单的过程实际执行了2个步骤的操作: 在订单库中插入一条订单数据,创建订单; 发消息给消息队列,消息的内容就是刚刚创建的订单 对于购物车系统: 订阅相应的主题,接收订单创建的消息,然后清理购物车,在购物车中删除订单的商品。 来源: https://www.cnblogs.com/chjxbt/p/11412727.html

前端微信小程序生鲜类仿爱鲜蜂微信小程序

元气小坏坏 提交于 2019-11-28 13:02:16
需求描述及交互分析 设计思路和相关知识点 首页界面布局设计 闪送超市纵向导航设计 商品添加到购物车设计 购物车商品显示设计 收货地址列表显示设计 新增收货地址设计 交互分析 (1)底部标签导航有首页、闪送超市、购物车、我的,单击不同底部标签导航显示对应的界面内容; (2)首页通过幻灯片轮播效果,动态展示商品广告信息; (3)首页商品可以动态添加到购物车里,数据保存到本地; (4)闪送超市通过纵向的导航方式,显示商品的类目,根据不同的导航名称显示对应的商品内容; (5)闪送超市里的商品可以动态添加到购物车里,数据保存到本地; (6)购物车可以动态展示订单信息,以及对商品的数量的增加、减少进行动态的操作; 首页界面布局设计 闪送超市纵向导航设计 添加商品到购物车设计 购物车商品显示设计 收货地址列表显示设计 新增收货地址设计 若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理。 请点赞!因为你们的赞同/鼓励是我写作的最大动力! 欢迎关注 达叔小生 的简书! 这是一个有质量,有态度的博客 来源: https://www.cnblogs.com/dashucoding/p/11408140.html