前端购物车怎么实现「电商购物车数据库设计」

互联网 2023-04-25 13:14:13

今天给大家普及一下前端购物车怎么实现「电商购物车数据库设计」相关知识,最近很多在问前端购物车怎么实现「电商购物车数据库设计」,希望能帮助到您。

这篇文章讲的是在电商网站购物流程中,用户将商品加入购物车时是否需要登录的一点思考。这是这个系列的第 2 篇文章。利用自己一点浅薄的电商产品经验,对电商产品设计中的一些内容与模块进行思考总结与输出。

互联网产品设计原则有一条很重要的原则——「在合适的时间、合适的地点、让合适的人、做合适的事儿」。

当然,「合适」这个词儿,不好定义。

以电商网站中的“登录”节点举个栗子,何时需要登录这个问题值得考量。

目前各大电商网站最大的区别在于——用户在加入商品到购物车这个动作的时候是否需要登录,转换一下问题也就是说,是否将登录前置到加入购物车时,或者后置到购物车提交订单时。

那么这就涉及到「合适」的定义了。不管你用哪种方式,你都能找出一堆理由来支撑你的观点,是个仁者见仁智者见智的问题。

大家都知道,用户在电商网站购物时,要完成整个交易是需要登录的,不登录无法确认用户账号信息,商品订单数据和配送地址等。

当然订单环节是一定要登录的。

承接上面栗子中的问题。用户将商品加入购物车时是否需要登录,还是在购物车环节提交订单时才提示用户需要登录态?

不同的网站有不同的处理方式,实际情况也确实是有两套不同的解决方案:

方案一:加入购物车时就要求用户登录。(比如某猫)

优点:可以记录到是哪个用户将哪个商品加入了购物车。缺点:将用户操作成本硬生生前置了,提高了获客门槛,对于一部分新用户甚至是冗余操作,体验不够友好。

方案二:当用户将商品加入购物车,实际提交订单(或去结算)的时候再提示用户需要登录态。(比如某东)

优点:降低用户心理预期,此时用户购物目的已经相当明确清晰,此时(合适的时机)提示用户登录,抗拒感接近于0。缺点:若没有登录态,我们就不知道这个商品是哪个用户加入了购物车。

说完以上两种方案各自的优缺点后,我们再来探讨一下「当用户将商品加入购物车,实际提交订单的时候再提示用户需要登录态」这种方案在具体应用中会碰到的问题。

背景介绍

如果加入购物车时不需要登录,这时我们需要先认识一个概念——「离线购物车」。

所谓离线购物车,是指用户在非登录态下将商品加入购物车的场景。通过设备号来记录哪个商品加入了哪个设备的购物车,等到用户在离线购物车真正提交订单的时候再提示需要登录。

这是一种比较好的体验。

那么问题是?

如果支持离线购物车——即用户在离线态下加入一批商品到车内,而后又在登录态下加入一批商品到车内,此时会碰到一个问题——离线购物车与在线购物车如何合并的问题。

举个栗子,

场景一:十三,2017年6月6日,在X猫网站购物,在未登录网站的情况下,加入了 A/B/C 共 3 件商品到购物车;场景二:十三,2017年6月7日,在X猫网站购物,在登录网站的情况下,加入了 D/E/F 共 3 件商品到购物车。

那么十三登录后,需要将他在未登录态下加车的 A/B/C 3件商品与登录态下加车的 D/E/F 3件商品进行合并,此时十三的车内总共应该有 A/B/C/D/E/F 共 6 件商品。

具体怎么做呢?

具体做法是,在用户登录后,程序会去判断该设备下是否有离线购物车的数据。

如果有离线购物车数据,我们就认为他在离线状态下有加入商品到购物车,此时会将离线购物车与在线购物车数据进行合并,一起展示在在线购物车内。

说完了数据合并的问题,还有一个数据删减的问题。

什么意思呢?

即我在登录态下,将离线购物车的数据删掉了,再退出登录(即回到离线态下),离线购物车数据是否还在呢?

举个栗子,

用户场景:十三,2017年6月6日,在某东购物时,在未登录网站的情况下,加入了 A/B/C 共 3 件商品到购物车;

他登录后购物车内有 A/B/C 3件商品,删掉 A和B,然后退出登录,此时离线购物车是有 A/B/C 3件商品,还是只有 C 这 1 件商品呢?

某东的做法是,按照上述方式操作后,最后只有 C 这 1 件商品。

我也稍微请教了一下我司开发,从技术实现和逻辑规则上看,所有支持离线购物车的电商网站应当都是这样的。

具体为什么,我突然有事忘记细问了,不过可能开发也不是特别清楚。

按照我个人的理解可能是,因为离线购物车数据终归是要跟在线购物车数据进行合并的,也就是说最终以在线购物车数据为准,那么在登录态下删掉离线状态下添加的商品数据,此时退出登录回到离线状态,这个数据应当是没有了的。

如果有懂的朋友,希望能给我指点一下。

以上,

本文完。