电商解密,购物车的设计可谓是重中之重

导语:对于电商来说 , 购物车的设计可谓是重中之重 。 有赠品时该如何根据库存信息对购物车进行设置?不同区域的不同邮费该如何设置?有活动时优惠券以及满减又该如何设置?接下来 , 本文就为我们揭示了购物车背后的那些逻辑 。
电商解密,购物车的设计可谓是重中之重
文章图片
在电商的核心交易流程中 , 购物车是一其中非常重要的一环 , 也是其中最复杂的一个环节 。
一、电商流程业务领域
电商流程中业务领域划分成两部分:
1. 底层支撑的模块
比如库存、会员 。
这些模块的特点是:所处理的业务流程相对单一、闭环 , 不需要太多依赖外部既可以完成领域内的逻辑 。
如:会员最重要的流程就是注册、登录、校验登录态 , 这几个流程基本只依赖会员自身 , 没有对外部产生强依赖 , 强耦合 。
2. 上层流程串流程的模块
比较复杂的是串业务流程的 , 这部分业务逻辑会相对更复杂些 , 比如商详或者购物车 。
因为商祥或者购物车所展示给用户看到的东西需要串联非常多的业务模块 , 将其中的信息进行封装组合展示给用户 , 这里的业务逻辑非常复杂 , 内部的交互非常多 。
我们以京东的购物车为例 , 简单的剖析一下京东的购物车大体背后的业务逻辑 , 实现方式 。
电商解密,购物车的设计可谓是重中之重
文章图片
购物车中所展示的东西 , 无非就是加入购物车中的商品以及一些促销信息 。 那么第一个问题是 , 这些购物车中的商品、促销信息是静态的还是动态获取的?
所谓静态就是指用户在将商品加入购物车的时候 , 在购物车中存储加入购物车的商品所需要展示的各种信息 , 例如上面展示的商品的主图文描、促销等等 。
动态获取就是在查看购车的时候 , 再去实时调用相应的获取最新的信息 。
答案是:购物车的数据只会存储必要的商品信息 , 其他的信息完全是动态获取的 。 因为在加入购物车的时候如果是静态存储的 , 那么在下一次查看购物车的时候 , 所展示的信息可能就不是最准确的 。
这中间可能商品信息会发生变化 , 比如商品被下架了、商品的主图被调整了、或者主题被修改了、商品的促销信息也可能会发生变化;在加入购物车的时候可能会命中一个促销 , 但是过了一段时间之后 , 这个促销可能结束了 。
所以比较精准的做法是在展示购物车的时候 , 再去实时拉取一次商品的详细信息以及当前的最新促销信息 。
但是购物车中还是会存储一部分数据 , 主要存储哪些数据呢?
电商解密,购物车的设计可谓是重中之重
文章图片
二、查看购物车背后到底有哪些逻辑
首先是校验会员的登录态 。
上面购物车存储的结构中 , 我们看到购物车的存储是以用户维度进行数据存储的 , 所以要展示购物车的时候 , 首先要拿到用户的ID 。
所以这里第一步就会校验登陆态—因为只有用户登录后才能识别当前的用户具体是谁 , 才可以从购物车的存储中获取响应的数据;购物车会根据取到的商品ID列表 , 实时调用商品并获取最新的商品信息 , 最终组装后进行展示 。
1. 获取库存信息
库存情况由于变更比较频繁 , 所以每次查看购物车的时候也需要实时的去查看当前商品的库存情况 。
如果购物车中的商品没有库存 , 那么就要进行提示 。 如下图所示 , 在购物车中将此商品置灰 , 提示此商品“无货”


推荐阅读