首页 > 资讯 > 正文
电商系统-购物车
来源:网络 阅读量:


“设计购物车”绝对不是说设计购物车的外观表现形式,而是它背后的东西——购物车的逻辑。
 
购物车存储用户精挑细选的商品、方便多个商品组合起来做促销;如果你看得长远一点就会发现,购物车甚至能帮助自营平台节省物流成本,把同类型商品提前归集,统一派分到同一仓库。
 
假设A书和B书在同一个仓库,如果没有购物车,A书和B书只能分两次结算,是不是意味着会生成两个订单?分配到仓库后,仓库管理员有这个能力合单?
 
两个重要的关乎用户体验的点:购物车中商品的分组和排序,即在购物车中,哪些商品需要归为一类?商品在购物车中怎么排列?
 
购物车中的计算、商品数量调整、促销活动修改、优惠券领取,甚至是商品选中等等操作,都是后台逻辑,前台只是获取服务器端的数据加以展示而已。
 
购物车中商品的分组和排序
 
说这个分组和排序问题之前,如果大家对这个概念还不太理解,建议先去淘宝或者京东这样的电商平台看看它们的购物车,特别是产品新人。
 
购物车中的商品是按照活动A和B以及未参加活动三个组来展示的,由此也可以看出层级关系为:(店铺 >>)活动 >> 商品(注:别忘了店铺是最大一级)。
 
基本上每个电商平台都有店铺的概念,也就是允许第三方商家来平台开店,丰富平台商品类目、sku。在这种情况下,购物车中的商品按照店铺分组无可厚非了,但是今天为了让模型更简单一点,假设平台只有一个店铺(或者是纯自营平台),这是大前提。所以,接下来要说的就只涉及到参与同一个活动的商品分到一组这种分组的形式(建议再回头看看上图)。
 
然后是关于排序,我们知道给任何一组数据排序都需要给定排序规则,不然就是随机紊乱呈现的。对于购物车中的商品,能作为排序依据的无疑是它的加车时间,每个商品加入购物车都会记录一个加车时间。
 
接下来需要解决三个问题:
 
①还原商品排序和分组的逻辑判断与过程;
②新加车商品D,该放在哪儿?
③如果修改某个商品参加的活动,购物车该如何变动?(第三点是最能体现用户体验的问题。)
 
商品排序和分组的逻辑判断与过程;
 
购物车的分组与排序是结构化的,程序员的思路也是结构化的,所以大家在考虑产品逻辑的时候,也要有结构化的思维,一个商品加入购物车首先第一步是判断(它是哪家店铺的?),它是哪个活动底下的?它的加车时间是什么?(从大到小的逻辑顺序)有了这个过程之后,这个商品的位置自然也确定了,如下表所示:
 
你可以看到商品B1加车比商品A2晚,但是却排在了商品A2之后,这是什么原因呢?
 
这里需要将排序问题分为三类:组与组之间排序、组内排序、组与非组(单个商品)之间排序。
 
先说第一类,有一个规则是组内最晚加车的商品为该组的加车时间,以组的加车时间为依据进行组与组之间排序。
再说第二类,按照组内后加车商品在上规则排序。
最后说第三类,组的加车时间与单个商品加车时间,后加车者在上规则排序,类似于第二类情况。
下面再解决第二个问题:新加车商品D(12:00加车),该放在哪儿?

如果D没有参加任何活动,很明显按照第三类规则,需要将D置于购物车第一位,这里不用表来展示了;但是如果D参加了活动B,那么当用户进入购物车页,他将看到什么呢? 注意,由于商品D参加了活动B,导致商品B1和B2都跟着往上移动了。
 
如果修改某个商品参加的活动,购物车该如何变动?
 
假设商品C参加了活动A或B(一开始只是用户故意选择不参加任何活动),那么当用户将商品C修改为参加活动A或B后,它的位置将如何变动?
 
补充说明一点,为什么会有不参加活动的选项?
 
大家思考一下这个问题:假设平台满30包邮,不满则出6元邮费,现在商品E(单价=30元)参加了满30减5的活动,用户购买一件E,问,该用户应该参加活动么?为什么? (这个问题有一个前提是,平台计算是否满包邮的条件是以优惠后应付金额为准)
 
另外在设计购物车的时候,还有一个影响体验的细节——购物车合并问题,当一个用户在未登录状态加车,在他下次登陆账户时,应该将未登录状态已加车商品并入已登录账户购物车中。这里也有一个前提是:默认未登录状态也可以加购物车。


电商系统
购物车
上一篇文案写作思路 下一篇saas的未来

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.link66.cn/news/3169.html