SAP 电商云 Spartacus UI Cart ID 的数据源,什么时候从 current 转换成真实的 cart id

Spartacus UI 当前用户 的 cart id 存储在浏览器 local storage 里,如下图所示:

将这个 cache 清除后:


state 存储的不再是具体的 cart id,而是一个空值:


下图逻辑的语义是,如果这个 cart id 为空值 "", 就将其转换成硬编码 current.

通过这个 HTTP 请求读取 cart 数据:
/occ/v2/electronics-spa/users/current/carts?fields=carts(DEFAULT,potentialProductPromotions,appliedProductPromotions,potentialOrderPromotions,appliedOrderPromotions,entries(totalPrice(formattedValue),product(images(FULL),stock(FULL)),basePrice(formattedValue,value),updateable),totalPrice(formattedValue),totalItems,totalPriceWithTax(formattedValue),totalDiscounts(value,formattedValue),subTotal(formattedValue),deliveryItemsQuantity,deliveryCost(formattedValue),totalTax(formattedValue,%20value),pickupItemsQuantity,net,appliedVouchers,productDiscounts(formattedValue),user,saveTime,name,description)&lang=en&curr=USD


返回的 payload:

CartNotEmpty Guard

仅当 cart 成功加载后,才能通过第 22 行的 filter 操作。

这个 guard 在 module 里配置:


你可能感兴趣的:(SAP 电商云 Spartacus UI Cart ID 的数据源,什么时候从 current 转换成真实的 cart id)