一、什么是购物车功能?
购物车指的是用户在选购商品的时候,用来将用户意向购买的商品存放的地方,从而方便用户后续找到这些商品并进行统一支付
购物车的主要元素有:
- 商品ID
- 商品数量
- 折扣
- 添加后的价格变化
- …
购物车的主要操作有:
- 下单
- 调整商品数量
- 加入/移出购物车
- …
二、购物车设计
购物车设计一般要分为未登录和已登录这两种场景
1、未登录
对于未登录用户使用购物车功能,他的购物车信息就没必要存储在后端了,只需要在客户端做临时缓存即可,比如Cookie等
存储的数据也不需要存用户信息,数据如下:
{
"cart": [
{
"goods_id": 123,
"quantity": 2,
"add_time": 123456789
},
{
"goods_id": 234,
"quantity": 3,
"add_time": 234567890
}
]
}
2、已登录
对于已登录用户使用购物车功能,由于用户数据可以会清理,或者更换设备导致数据丢失,就不能存储在客户端了,所以需要持久化到后端,比如MySQL、Redis等
存储的数据需要存用户信息,数据如下:
{
"uid": 123,
"cart": [
{
"goods_id": 123,
"quantity": 2,
"add_time": 123456789
},
{
"goods_id": 234,
"quantity": 3,
"add_time": 234567890
}
]
}
//TODO:后续优化补充