SAP Spartacus express checkout 设计
所謂 express checkout(快速結賬),是一種超快速結賬表格,通常為回頭客設計,可減少表單字段以確保更快的結賬流程。運輸、計費和付款信息在站點的一個包含區域中提交,從而為客戶提供簡單和高效的服務。快速結帳允許用戶跳過所有步驟,并在單擊“轉到結帳”后立即看到評論摘要頁面。
Angular Page Guard 將檢查用戶是否至少有 1 個送貨地址和 1 種付款方式 - 如果有更多,它將選擇默認值。 設置好地址后,會選擇當前配置的默認投遞方式。
如果一切都成功了,用戶應該被重定向到評論摘要。 否則,他將完成結帳步驟。
在評論摘要步驟中,用戶將看到預先設置的數據,也有可能更新步驟。
如何啟用
該功能由 2 個新的可選屬性控制:
- express 標記位:在默認運輸方式和付款方式可用時允許快速結帳。
- 數組 defaultDeliveryMode:i.a. 的默認交付模式。 用于快速結帳。 按一般偏好(例如 DeliveryModePreferences.LEAST_EXPENSIVE)或特定交付代碼的順序設置偏好。
Spartacus 支持下列幾種交貨模式的偏好設置:
enum DeliveryModePreferences {FREE = 'FREE',LEAST_EXPENSIVE = 'LEAST_EXPENSIVE', // but not freeMOST_EXPENSIVE = 'MOST_EXPENSIVE', }默認的配置:
checkout: {//...express: false,defaultDeliveryMode: [DeliveryModePreferences.FREE],};客戶可以使用下面的代碼讓自己的配置生效:
provideConfig({//...checkout: {//...express: true,defaultDeliveryMode: ['sample-code'],}, });express checkout 的實現代碼:
注意第 53 行 debounceTime(0) 的用法。
debounceTime 將源發出的值延遲給定的到期時間。 如果在此時間內有新值到達,則刪除先前的掛起值并重置計時器。 以這種方式 debounceTime 跟蹤最近的值并在給定的到期時間過去時發出該最近的值。
該算子多用于每秒可觸發數十次甚至數百次的事件。 最常見的例子是 DOM 事件,例如滾動、鼠標移動和按鍵。 使用 debouceTime 時,您只關心最終狀態。 例如,用戶停止滾動時的當前滾動位置,或用戶停止輸入字符后搜索框中的最終文本。 實際上,使用運算符允許將多個順序事件組合成一個事件,因此只執行一次回調。 這可以大大提高性能。
去抖動的常見場景是調整大小、滾動和 keyup/keydown 事件。 此外,您應該考慮將任何觸發過多計算或 API 調用的交互包含在去抖動中。
更多Jerry的原創文章,盡在:“汪子熙”:
總結
以上是生活随笔為你收集整理的SAP Spartacus express checkout 设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: steam备用码能改密码么(更新至170
- 下一篇: 契税什么时候交